@livdot-tech/contracts 1.8.0 → 1.9.0

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 (65) 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 +28 -1
  4. package/dist/booking/index.d.ts +28 -1
  5. package/dist/booking/index.js +1 -1
  6. package/dist/booking/index.mjs +1 -1
  7. package/dist/chunk-3MXER4II.mjs +2 -0
  8. package/dist/chunk-3MXER4II.mjs.map +1 -0
  9. package/dist/chunk-6DKE37U5.mjs +2 -0
  10. package/dist/chunk-6DKE37U5.mjs.map +1 -0
  11. package/dist/{chunk-LCQCSVAX.mjs → chunk-6OG6ZWUT.mjs} +2 -2
  12. package/dist/chunk-6OG6ZWUT.mjs.map +1 -0
  13. package/dist/{chunk-EET64Y24.js → chunk-AG43ASLS.js} +2 -2
  14. package/dist/{chunk-EET64Y24.js.map → chunk-AG43ASLS.js.map} +1 -1
  15. package/dist/{chunk-OOTLPODZ.mjs → chunk-BDTBSEQZ.mjs} +2 -2
  16. package/dist/{chunk-OOTLPODZ.mjs.map → chunk-BDTBSEQZ.mjs.map} +1 -1
  17. package/dist/{chunk-MB4RXU3H.js → chunk-FFD65TAN.js} +2 -2
  18. package/dist/{chunk-MB4RXU3H.js.map → chunk-FFD65TAN.js.map} +1 -1
  19. package/dist/{chunk-SKS4KTTT.mjs → chunk-MDARXITS.mjs} +2 -2
  20. package/dist/{chunk-SKS4KTTT.mjs.map → chunk-MDARXITS.mjs.map} +1 -1
  21. package/dist/{chunk-X2I2OKNI.js → chunk-OQ5IXPUN.js} +2 -2
  22. package/dist/chunk-OQ5IXPUN.js.map +1 -0
  23. package/dist/{chunk-JD5MUCP6.mjs → chunk-OZAE7JGN.mjs} +2 -2
  24. package/dist/{chunk-JD5MUCP6.mjs.map → chunk-OZAE7JGN.mjs.map} +1 -1
  25. package/dist/{chunk-SC6R26OW.mjs → chunk-POWB7OM6.mjs} +2 -2
  26. package/dist/chunk-POWB7OM6.mjs.map +1 -0
  27. package/dist/{chunk-VGRYDR45.js → chunk-QFHRE5PT.js} +2 -2
  28. package/dist/chunk-QFHRE5PT.js.map +1 -0
  29. package/dist/chunk-TO3WFEGT.js +2 -0
  30. package/dist/chunk-TO3WFEGT.js.map +1 -0
  31. package/dist/{chunk-QZIEFL2M.js → chunk-VSHMWWJD.js} +2 -2
  32. package/dist/{chunk-QZIEFL2M.js.map → chunk-VSHMWWJD.js.map} +1 -1
  33. package/dist/chunk-W2P52PTE.js +2 -0
  34. package/dist/chunk-W2P52PTE.js.map +1 -0
  35. package/dist/errors/index.d.mts +2 -0
  36. package/dist/errors/index.d.ts +2 -0
  37. package/dist/errors/index.js +1 -1
  38. package/dist/errors/index.mjs +1 -1
  39. package/dist/event/index.d.mts +5 -1
  40. package/dist/event/index.d.ts +5 -1
  41. package/dist/event/index.js +1 -1
  42. package/dist/event/index.mjs +1 -1
  43. package/dist/index.d.mts +2 -2
  44. package/dist/index.d.ts +2 -2
  45. package/dist/index.js +1 -1
  46. package/dist/index.js.map +1 -1
  47. package/dist/index.mjs +1 -1
  48. package/dist/index.mjs.map +1 -1
  49. package/dist/marketplace/index.d.mts +5 -0
  50. package/dist/marketplace/index.d.ts +5 -0
  51. package/dist/marketplace/index.js +1 -1
  52. package/dist/marketplace/index.mjs +1 -1
  53. package/dist/payment/index.js +1 -1
  54. package/dist/payment/index.mjs +1 -1
  55. package/dist/user/index.js +1 -1
  56. package/dist/user/index.mjs +1 -1
  57. package/package.json +1 -1
  58. package/dist/chunk-4BSZOBBY.mjs +0 -2
  59. package/dist/chunk-4BSZOBBY.mjs.map +0 -1
  60. package/dist/chunk-IRSWXAQZ.js +0 -2
  61. package/dist/chunk-IRSWXAQZ.js.map +0 -1
  62. package/dist/chunk-LCQCSVAX.mjs.map +0 -1
  63. package/dist/chunk-SC6R26OW.mjs.map +0 -1
  64. package/dist/chunk-VGRYDR45.js.map +0 -1
  65. package/dist/chunk-X2I2OKNI.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import {d as d$1,e}from'./chunk-KPEKHJVS.mjs';import {a}from'./chunk-GAZT5E62.mjs';import {z}from'zod';var s={EVENT_DIRECT:"EVENT_DIRECT",MARKETPLACE_DIRECT:"MARKETPLACE_DIRECT",JOB_LISTING:"JOB_LISTING"},t={REQUESTED:"REQUESTED",AWAITING_PRODUCER_RESPONSE:"AWAITING_PRODUCER_RESPONSE",IN_NEGOTIATION:"IN_NEGOTIATION",ACCEPTED:"ACCEPTED",REJECTED:"REJECTED",CANCELLED:"CANCELLED",AWAITING_ESCROW_FUNDING:"AWAITING_ESCROW_FUNDING",CONFIRMED:"CONFIRMED",IN_PROGRESS:"IN_PROGRESS",SERVICE_COMPLETED:"SERVICE_COMPLETED",IN_DISPUTE:"IN_DISPUTE",CLOSED:"CLOSED"},c={OPEN:"OPEN",CLOSED:"CLOSED",SUSPENDED:"SUSPENDED"},m={OPEN:"OPEN",WITHDRAWN:"WITHDRAWN",SELECTED:"SELECTED",REJECTED:"REJECTED"},l={PENDING:"PENDING",ESCROW_FUNDED:"ESCROW_FUNDED",RELEASED:"RELEASED",REFUNDED:"REFUNDED",FAILED:"FAILED"},i={HOST:"HOST",PRODUCER:"PRODUCER",ADMIN:"ADMIN",SYSTEM:"SYSTEM"};var C=[t.REJECTED,t.CANCELLED,t.CLOSED],R=[...C,t.IN_DISPUTE],b={[t.REQUESTED]:[t.AWAITING_PRODUCER_RESPONSE,t.CANCELLED],[t.AWAITING_PRODUCER_RESPONSE]:[t.IN_NEGOTIATION,t.REJECTED,t.CANCELLED],[t.IN_NEGOTIATION]:[t.ACCEPTED,t.REJECTED,t.CANCELLED],[t.ACCEPTED]:[t.AWAITING_ESCROW_FUNDING,t.CANCELLED],[t.AWAITING_ESCROW_FUNDING]:[t.CONFIRMED,t.CANCELLED],[t.CONFIRMED]:[t.IN_PROGRESS],[t.IN_PROGRESS]:[t.SERVICE_COMPLETED,t.CANCELLED],[t.SERVICE_COMPLETED]:[t.CLOSED],[t.IN_DISPUTE]:[t.CLOSED],[t.REJECTED]:[],[t.CANCELLED]:[],[t.CLOSED]:[]},A={[`${t.REQUESTED}->${t.AWAITING_PRODUCER_RESPONSE}`]:[i.HOST,i.SYSTEM],[`${t.REQUESTED}->${t.CANCELLED}`]:[i.HOST],[`${t.AWAITING_PRODUCER_RESPONSE}->${t.IN_NEGOTIATION}`]:[i.PRODUCER],[`${t.AWAITING_PRODUCER_RESPONSE}->${t.REJECTED}`]:[i.PRODUCER],[`${t.AWAITING_PRODUCER_RESPONSE}->${t.CANCELLED}`]:[i.HOST,i.PRODUCER],[`${t.IN_NEGOTIATION}->${t.ACCEPTED}`]:[i.HOST,i.PRODUCER],[`${t.IN_NEGOTIATION}->${t.REJECTED}`]:[i.HOST,i.PRODUCER],[`${t.IN_NEGOTIATION}->${t.CANCELLED}`]:[i.HOST,i.PRODUCER],[`${t.ACCEPTED}->${t.AWAITING_ESCROW_FUNDING}`]:[i.HOST,i.SYSTEM],[`${t.ACCEPTED}->${t.CANCELLED}`]:[i.HOST,i.PRODUCER],[`${t.AWAITING_ESCROW_FUNDING}->${t.CONFIRMED}`]:[i.SYSTEM,i.ADMIN],[`${t.AWAITING_ESCROW_FUNDING}->${t.CANCELLED}`]:[i.HOST,i.ADMIN],[`${t.CONFIRMED}->${t.IN_PROGRESS}`]:[i.HOST,i.PRODUCER,i.ADMIN],[`${t.IN_PROGRESS}->${t.SERVICE_COMPLETED}`]:[i.PRODUCER,i.SYSTEM,i.ADMIN],[`${t.IN_PROGRESS}->${t.CANCELLED}`]:[i.HOST,i.ADMIN],[`${t.SERVICE_COMPLETED}->${t.CLOSED}`]:[i.HOST,i.ADMIN,i.SYSTEM],[`${t.IN_DISPUTE}->${t.CLOSED}`]:[i.ADMIN,i.HOST]},O=[t.REJECTED,t.CANCELLED,t.IN_DISPUTE];function k(r,a){return `${r}->${a}`}function L(r){let a=b[r]??[];return R.includes(r)?a:[...a,t.IN_DISPUTE]}function G(r,a){return L(r).includes(a)}function P(r,a){return a===t.IN_DISPUTE&&!R.includes(r)?[i.HOST,i.PRODUCER]:A[k(r,a)]??[]}function U(r,a,g){return P(r,a).includes(g)}function v(r,a){return O.includes(a)}var H=z.object({origin:z.enum(s),eventId:z.uuid().optional(),producerId:z.uuid(),agreedAmount:z.number().min(0)}),W=z.object({escrowReference:z.string()}),q=z.object({id:z.uuid(),eventId:z.uuid().optional(),hostId:z.uuid(),producerId:z.uuid(),quotedPrice:z.number(),currency:z.string(),scopeOfWork:z.record(z.string(),z.any()).optional(),requiredStartAt:z.iso.datetime(),requiredEndAt:z.iso.datetime(),bookingState:z.enum(t),paymentStatus:z.enum(l),escrowReference:z.string().optional(),completedAt:z.iso.datetime().optional(),hostRating:z.number().optional(),hostReview:z.string().optional(),producerRating:z.number().optional(),producerReview:z.string().optional(),createdAt:z.iso.datetime(),updatedAt:z.iso.datetime()}),F=z.object({title:z.string().max(255),description:z.string(),requiredDate:z.iso.datetime(),estimatedDurationHrs:z.number().optional(),location:z.string(),budgetRangeMin:z.number().optional(),budgetRangeMax:z.number().optional()}),w=z.object({id:z.uuid(),hostProfileId:z.uuid(),eventId:z.uuid().optional(),title:z.string(),description:z.string(),requiredDate:z.iso.datetime(),estimatedDurationHrs:z.number().optional(),location:z.string(),budgetRangeMin:z.number().optional(),budgetRangeMax:z.number().optional(),state:z.enum(c),proposalCount:z.number(),createdAt:z.iso.datetime()}),V=z.object({coverMessage:z.string().optional(),proposedAmount:z.number().min(0).optional(),availabilityNotes:z.string().optional()}),K=z.object({id:z.uuid(),jobListingId:z.uuid(),producerProfileId:z.uuid(),coverMessage:z.string().optional(),proposedAmount:z.number().optional(),state:z.enum(m),createdAt:z.iso.datetime()});var p={ONSITE:"ONSITE",REMOTE:"REMOTE"};var T=z.record(z.string(),z.unknown()),oe=z.object({producerId:z.uuid(),origin:z.enum(s),eventId:z.uuid().optional(),jobListingId:z.uuid().optional(),sourceIoiId:z.uuid().optional(),agreedAmount:z.coerce.number().nonnegative().optional(),scopeOfWork:z.string().max(5e3).optional()}).superRefine((r,a)=>{r.origin===s.EVENT_DIRECT&&!r.eventId&&a.addIssue({code:"custom",message:"eventId is required when origin is EVENT_DIRECT",path:["eventId"]}),r.origin===s.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===s.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!==s.JOB_LISTING&&a.addIssue({code:"custom",message:"sourceIoiId is only allowed when origin is JOB_LISTING",path:["sourceIoiId"]});}),d=z.object({id:z.uuid(),eventId:z.uuid().nullable(),eventLinked:z.boolean(),hostProfileId:z.uuid(),producerProfileId:z.uuid(),origin:z.enum(s),jobListingId:z.uuid().nullable(),sourceIoiId:z.uuid().nullable(),state:z.enum(t),agreedAmount:z.number().nullable(),scopeOfWork:z.string().nullable(),createdAt:z.string(),updatedAt:z.string()}),ne=z.object({bookingId:z.uuid(),booking:d}),_=z.string().trim().min(5).max(500),ie=z.object({targetState:z.enum(t),reason:_.optional()}).superRefine((r,a)=>{(r.targetState===t.REJECTED||r.targetState===t.CANCELLED||r.targetState===t.IN_DISPUTE)&&r.reason===void 0&&a.addIssue({code:"custom",message:"reason is required for this transition",path:["reason"]});}),re=z.object({booking:d}),ae=z.object({notes:z.string().max(2e3).optional()}),se=z.object({notes:z.string().max(2e3).optional()}),Ee=z.object({booking:d,hostAcked:z.boolean(),producerAcked:z.boolean(),completed:z.boolean(),forced:z.boolean().optional()}),D=z.object({title:z.string().min(1).max(200),description:z.string().min(1).max(5e3),responsibilities:z.string().min(1),requirements:z.string().min(1),role:z.string().min(1).max(120),requiredDate:z.iso.datetime().optional(),estimatedDurationHours:z.coerce.number().int().positive().optional(),location:z.enum(p),notes:z.string().max(2e3).optional(),compensation:z.coerce.number().nonnegative().optional(),attachments:T.optional(),eventId:z.uuid().optional()}),ue=D,ce=D.partial(),pe=z.object({...d$1.shape,location:z.enum(p).optional()}),de=z.object({id:z.uuid(),hostProfileId:z.uuid(),eventId:z.uuid().nullable(),title:z.string(),notes:z.string().nullable(),description:z.string(),responsibilities:z.string(),requirements:z.string(),role:z.string(),requiredDate:z.string().nullable(),estimatedDurationHours:z.number().int().nullable(),location:z.enum(p),compensation:z.number().nullable(),attachments:z.unknown().nullable(),state:z.enum(c),proposalCount:z.number().int(),createdAt:z.string(),updatedAt:z.string()}),Ie=z.object({coverMessage:z.string().min(1).max(2e3).optional(),proposedAmount:z.coerce.number().nonnegative().optional(),availabilityNotes:z.string().max(2e3).optional(),attachments:T.optional()}),M=z.object({id:z.uuid(),jobListingId:z.uuid(),producerProfileId:z.uuid(),coverMessage:z.string().nullable(),proposedAmount:z.number().nullable(),availabilityNotes:z.string().nullable(),state:z.enum(a),resultingBookingId:z.uuid().nullable(),withdrawnAt:z.string().nullable(),selectedAt:z.string().nullable(),createdAt:z.string(),updatedAt:z.string()}),ge=M.extend({producerCompanyName:z.string().nullable()});var N={SENT:"SENT",DELIVERED:"DELIVERED",READ:"READ"};var f=z.object({id:z.uuid(),bookingId:z.uuid(),hostProfileId:z.uuid(),producerProfileId:z.uuid(),createdAt:z.string(),updatedAt:z.string()}),h=z.object({id:z.uuid(),url:z.string(),mimeType:z.string(),sizeBytes:z.number().int(),createdAt:z.string()}),I=z.object({id:z.uuid(),threadId:z.uuid(),senderUserId:z.uuid(),body:z.string(),sentAt:z.string(),deliveryStatus:z.enum(N),readAt:z.string().nullable(),attachments:z.array(h)}),Ne=d$1,Ce=z.object({messages:z.array(I),...e.shape}),be=z.object({thread:f,messages:z.array(I),...e.shape}),Ae=z.object({body:z.string().trim().min(1).max(5e3),attachments:z.array(z.object({url:z.string().url(),mimeType:z.string().min(1).max(120),sizeBytes:z.number().int().positive()})).max(10).optional()}),Oe=z.object({message:I}),ke=z.object({upToMessageId:z.uuid().optional()}),Le=z.object({markedCount:z.number().int().nonnegative()}),x=z.object({threadId:z.uuid(),bookingId:z.uuid(),title:z.string(),lastMessagePreview:z.string().nullable(),lastMessageAt:z.string().nullable(),lastSenderUserId:z.uuid().nullable(),lastSenderDisplayName:z.string().nullable(),unreadCount:z.number().int().nonnegative(),bookingState:z.enum(t)}),Pe=z.object({items:z.array(x),...e.shape});export{ne as A,ie as B,re as C,ae as D,se as E,Ee as F,ue as G,ce as H,pe as I,de as J,Ie as K,M as L,ge as M,N,f as O,h as P,I as Q,Ne as R,Ce as S,be as T,Ae as U,Oe as V,ke as W,Le as X,x as Y,Pe as Z,s as a,t as b,c,m as d,l as e,i as f,C as g,b as h,A as i,O as j,k,L as l,G as m,P as n,U as o,v as p,H as q,W as r,q as s,F as t,w as u,V as v,K as w,p as x,oe as y,d as z};//# sourceMappingURL=chunk-OOTLPODZ.mjs.map
2
- //# sourceMappingURL=chunk-OOTLPODZ.mjs.map
1
+ import {d as d$1,e}from'./chunk-KPEKHJVS.mjs';import {a}from'./chunk-GAZT5E62.mjs';import {z}from'zod';var s={EVENT_DIRECT:"EVENT_DIRECT",MARKETPLACE_DIRECT:"MARKETPLACE_DIRECT",JOB_LISTING:"JOB_LISTING"},t={REQUESTED:"REQUESTED",AWAITING_PRODUCER_RESPONSE:"AWAITING_PRODUCER_RESPONSE",IN_NEGOTIATION:"IN_NEGOTIATION",ACCEPTED:"ACCEPTED",REJECTED:"REJECTED",CANCELLED:"CANCELLED",AWAITING_ESCROW_FUNDING:"AWAITING_ESCROW_FUNDING",CONFIRMED:"CONFIRMED",IN_PROGRESS:"IN_PROGRESS",SERVICE_COMPLETED:"SERVICE_COMPLETED",IN_DISPUTE:"IN_DISPUTE",CLOSED:"CLOSED"},c={OPEN:"OPEN",CLOSED:"CLOSED",SUSPENDED:"SUSPENDED"},m={OPEN:"OPEN",WITHDRAWN:"WITHDRAWN",SELECTED:"SELECTED",REJECTED:"REJECTED"},l={PENDING:"PENDING",ESCROW_FUNDED:"ESCROW_FUNDED",RELEASED:"RELEASED",REFUNDED:"REFUNDED",FAILED:"FAILED"},i={HOST:"HOST",PRODUCER:"PRODUCER",ADMIN:"ADMIN",SYSTEM:"SYSTEM"};var C=[t.REJECTED,t.CANCELLED,t.CLOSED],R=[...C,t.IN_DISPUTE],b={[t.REQUESTED]:[t.AWAITING_PRODUCER_RESPONSE,t.CANCELLED],[t.AWAITING_PRODUCER_RESPONSE]:[t.IN_NEGOTIATION,t.REJECTED,t.CANCELLED],[t.IN_NEGOTIATION]:[t.ACCEPTED,t.REJECTED,t.CANCELLED],[t.ACCEPTED]:[t.AWAITING_ESCROW_FUNDING,t.CANCELLED],[t.AWAITING_ESCROW_FUNDING]:[t.CONFIRMED,t.CANCELLED],[t.CONFIRMED]:[t.IN_PROGRESS],[t.IN_PROGRESS]:[t.SERVICE_COMPLETED,t.CANCELLED],[t.SERVICE_COMPLETED]:[t.CLOSED],[t.IN_DISPUTE]:[t.CLOSED],[t.REJECTED]:[],[t.CANCELLED]:[],[t.CLOSED]:[]},A={[`${t.REQUESTED}->${t.AWAITING_PRODUCER_RESPONSE}`]:[i.HOST,i.SYSTEM],[`${t.REQUESTED}->${t.CANCELLED}`]:[i.HOST],[`${t.AWAITING_PRODUCER_RESPONSE}->${t.IN_NEGOTIATION}`]:[i.PRODUCER],[`${t.AWAITING_PRODUCER_RESPONSE}->${t.REJECTED}`]:[i.PRODUCER],[`${t.AWAITING_PRODUCER_RESPONSE}->${t.CANCELLED}`]:[i.HOST,i.PRODUCER],[`${t.IN_NEGOTIATION}->${t.ACCEPTED}`]:[i.HOST,i.PRODUCER],[`${t.IN_NEGOTIATION}->${t.REJECTED}`]:[i.HOST,i.PRODUCER],[`${t.IN_NEGOTIATION}->${t.CANCELLED}`]:[i.HOST,i.PRODUCER],[`${t.ACCEPTED}->${t.AWAITING_ESCROW_FUNDING}`]:[i.HOST,i.SYSTEM],[`${t.ACCEPTED}->${t.CANCELLED}`]:[i.HOST,i.PRODUCER],[`${t.AWAITING_ESCROW_FUNDING}->${t.CONFIRMED}`]:[i.SYSTEM,i.ADMIN],[`${t.AWAITING_ESCROW_FUNDING}->${t.CANCELLED}`]:[i.HOST,i.ADMIN],[`${t.CONFIRMED}->${t.IN_PROGRESS}`]:[i.HOST,i.PRODUCER,i.ADMIN],[`${t.IN_PROGRESS}->${t.SERVICE_COMPLETED}`]:[i.PRODUCER,i.SYSTEM,i.ADMIN],[`${t.IN_PROGRESS}->${t.CANCELLED}`]:[i.HOST,i.ADMIN],[`${t.SERVICE_COMPLETED}->${t.CLOSED}`]:[i.HOST,i.ADMIN,i.SYSTEM],[`${t.IN_DISPUTE}->${t.CLOSED}`]:[i.ADMIN,i.HOST]},O=[t.REJECTED,t.CANCELLED,t.IN_DISPUTE];function k(r,a){return `${r}->${a}`}function L(r){let a=b[r]??[];return R.includes(r)?a:[...a,t.IN_DISPUTE]}function G(r,a){return L(r).includes(a)}function P(r,a){return a===t.IN_DISPUTE&&!R.includes(r)?[i.HOST,i.PRODUCER]:A[k(r,a)]??[]}function U(r,a,g){return P(r,a).includes(g)}function v(r,a){return O.includes(a)}var H=z.object({origin:z.enum(s),eventId:z.uuid().optional(),producerId:z.uuid(),agreedAmount:z.number().min(0)}),W=z.object({escrowReference:z.string()}),q=z.object({id:z.uuid(),eventId:z.uuid().optional(),hostId:z.uuid(),producerId:z.uuid(),quotedPrice:z.number(),currency:z.string(),scopeOfWork:z.record(z.string(),z.any()).optional(),requiredStartAt:z.iso.datetime(),requiredEndAt:z.iso.datetime(),bookingState:z.enum(t),paymentStatus:z.enum(l),escrowReference:z.string().optional(),completedAt:z.iso.datetime().optional(),hostRating:z.number().optional(),hostReview:z.string().optional(),producerRating:z.number().optional(),producerReview:z.string().optional(),createdAt:z.iso.datetime(),updatedAt:z.iso.datetime()}),F=z.object({title:z.string().max(255),description:z.string(),requiredDate:z.iso.datetime(),estimatedDurationHrs:z.number().optional(),location:z.string(),budgetRangeMin:z.number().optional(),budgetRangeMax:z.number().optional()}),w=z.object({id:z.uuid(),hostProfileId:z.uuid(),eventId:z.uuid().optional(),title:z.string(),description:z.string(),requiredDate:z.iso.datetime(),estimatedDurationHrs:z.number().optional(),location:z.string(),budgetRangeMin:z.number().optional(),budgetRangeMax:z.number().optional(),state:z.enum(c),proposalCount:z.number(),createdAt:z.iso.datetime()}),V=z.object({coverMessage:z.string().optional(),proposedAmount:z.number().min(0).optional(),availabilityNotes:z.string().optional()}),K=z.object({id:z.uuid(),jobListingId:z.uuid(),producerProfileId:z.uuid(),coverMessage:z.string().optional(),proposedAmount:z.number().optional(),state:z.enum(m),createdAt:z.iso.datetime()});var p={ONSITE:"ONSITE",REMOTE:"REMOTE"};var T=z.record(z.string(),z.unknown()),oe=z.object({producerId:z.uuid(),origin:z.enum(s),eventId:z.uuid().optional(),jobListingId:z.uuid().optional(),sourceIoiId:z.uuid().optional(),agreedAmount:z.coerce.number().nonnegative().optional(),scopeOfWork:z.string().max(5e3).optional()}).superRefine((r,a)=>{r.origin===s.EVENT_DIRECT&&!r.eventId&&a.addIssue({code:"custom",message:"eventId is required when origin is EVENT_DIRECT",path:["eventId"]}),r.origin===s.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===s.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!==s.JOB_LISTING&&a.addIssue({code:"custom",message:"sourceIoiId is only allowed when origin is JOB_LISTING",path:["sourceIoiId"]});}),d=z.object({id:z.uuid(),eventId:z.uuid().nullable(),eventLinked:z.boolean(),hostProfileId:z.uuid(),producerProfileId:z.uuid(),origin:z.enum(s),jobListingId:z.uuid().nullable(),sourceIoiId:z.uuid().nullable(),state:z.enum(t),agreedAmount:z.number().nullable(),scopeOfWork:z.string().nullable(),createdAt:z.string(),updatedAt:z.string()}),ne=z.object({bookingId:z.uuid(),booking:d}),_=z.string().trim().min(5).max(500),ie=z.object({targetState:z.enum(t),reason:_.optional()}).superRefine((r,a)=>{(r.targetState===t.REJECTED||r.targetState===t.CANCELLED||r.targetState===t.IN_DISPUTE)&&r.reason===void 0&&a.addIssue({code:"custom",message:"reason is required for this transition",path:["reason"]});}),re=z.object({booking:d}),ae=z.object({notes:z.string().max(2e3).optional()}),se=z.object({notes:z.string().max(2e3).optional()}),Ee=z.object({booking:d,hostAcked:z.boolean(),producerAcked:z.boolean(),completed:z.boolean(),forced:z.boolean().optional()}),D=z.object({title:z.string().min(1).max(200),description:z.string().min(1).max(5e3),responsibilities:z.string().min(1),requirements:z.string().min(1),role:z.string().min(1).max(120),requiredDate:z.iso.datetime().optional(),estimatedDurationHours:z.coerce.number().int().positive().optional(),location:z.enum(p),notes:z.string().max(2e3).optional(),compensation:z.coerce.number().nonnegative().optional(),attachments:T.optional(),eventId:z.uuid().optional()}),ue=D,ce=D.partial(),pe=z.object({...d$1.shape,location:z.enum(p).optional()}),de=z.object({id:z.uuid(),hostProfileId:z.uuid(),eventId:z.uuid().nullable(),title:z.string(),notes:z.string().nullable(),description:z.string(),responsibilities:z.string(),requirements:z.string(),role:z.string(),requiredDate:z.string().nullable(),estimatedDurationHours:z.number().int().nullable(),location:z.enum(p),compensation:z.number().nullable(),attachments:z.unknown().nullable(),state:z.enum(c),proposalCount:z.number().int(),createdAt:z.string(),updatedAt:z.string()}),Ie=z.object({coverMessage:z.string().min(1).max(2e3).optional(),proposedAmount:z.coerce.number().nonnegative().optional(),availabilityNotes:z.string().max(2e3).optional(),attachments:T.optional()}),M=z.object({id:z.uuid(),jobListingId:z.uuid(),producerProfileId:z.uuid(),coverMessage:z.string().nullable(),proposedAmount:z.number().nullable(),availabilityNotes:z.string().nullable(),state:z.enum(a),resultingBookingId:z.uuid().nullable(),withdrawnAt:z.string().nullable(),selectedAt:z.string().nullable(),createdAt:z.string(),updatedAt:z.string()}),ge=M.extend({producerCompanyName:z.string().nullable()});var N={SENT:"SENT",DELIVERED:"DELIVERED",READ:"READ"};var f=z.object({id:z.uuid(),bookingId:z.uuid(),hostProfileId:z.uuid(),producerProfileId:z.uuid(),createdAt:z.string(),updatedAt:z.string()}),h=z.object({id:z.uuid(),url:z.string(),mimeType:z.string(),sizeBytes:z.number().int(),createdAt:z.string()}),I=z.object({id:z.uuid(),threadId:z.uuid(),senderUserId:z.uuid(),body:z.string(),sentAt:z.string(),deliveryStatus:z.enum(N),readAt:z.string().nullable(),attachments:z.array(h)}),Ne=d$1,Ce=z.object({messages:z.array(I),...e.shape}),be=z.object({thread:f,messages:z.array(I),...e.shape}),Ae=z.object({body:z.string().trim().min(1).max(5e3),attachments:z.array(z.object({url:z.string().url(),mimeType:z.string().min(1).max(120),sizeBytes:z.number().int().positive()})).max(10).optional()}),Oe=z.object({message:I}),ke=z.object({upToMessageId:z.uuid().optional()}),Le=z.object({markedCount:z.number().int().nonnegative()}),x=z.object({threadId:z.uuid(),bookingId:z.uuid(),title:z.string(),lastMessagePreview:z.string().nullable(),lastMessageAt:z.string().nullable(),lastSenderUserId:z.uuid().nullable(),lastSenderDisplayName:z.string().nullable(),unreadCount:z.number().int().nonnegative(),bookingState:z.enum(t)}),Pe=z.object({items:z.array(x),...e.shape});export{ne as A,ie as B,re as C,ae as D,se as E,Ee as F,ue as G,ce as H,pe as I,de as J,Ie as K,M as L,ge as M,N,f as O,h as P,I as Q,Ne as R,Ce as S,be as T,Ae as U,Oe as V,ke as W,Le as X,x as Y,Pe as Z,s as a,t as b,c,m as d,l as e,i as f,C as g,b as h,A as i,O as j,k,L as l,G as m,P as n,U as o,v as p,H as q,W as r,q as s,F as t,w as u,V as v,K as w,p as x,oe as y,d as z};//# sourceMappingURL=chunk-BDTBSEQZ.mjs.map
2
+ //# sourceMappingURL=chunk-BDTBSEQZ.mjs.map
@@ -1 +1 @@
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","data","ctx","MarketplaceBookingResponseSchema","CreateMarketplaceBookingResponseSchema","bookingTransitionReasonSchema","TransitionMarketplaceBookingRequestSchema","TransitionMarketplaceBookingResponseSchema","CompleteMarketplaceBookingRequestSchema","ForceCompleteMarketplaceBookingRequestSchema","CompleteMarketplaceBookingResponseSchema","MarketplaceJobListingBodySchema","CreateMarketplaceJobListingRequestSchema","UpdateMarketplaceJobListingRequestSchema","ListMarketplaceJobListingsQuerySchema","PaginationParamsSchema","MarketplaceJobListingResponseSchema","SubmitMarketplaceIndicationOfInterestRequestSchema","MarketplaceIndicationOfInterestResponseSchema","JobInterestState","MarketplaceIndicationOfInterestHostItemSchema","MessageDeliveryStatus","MarketplaceHiringThreadSchema","MarketplaceHiringMessageAttachmentSchema","MarketplaceHiringMessageSchema","ListMarketplaceHiringThreadMessagesQuerySchema","ListMarketplaceHiringThreadMessagesResponseSchema","PaginationResponseSchema","GetMarketplaceHiringThreadResponseSchema","PostMarketplaceHiringThreadMessageRequestSchema","PostMarketplaceHiringThreadMessageResponseSchema","MarkMarketplaceHiringThreadReadRequestSchema","MarkMarketplaceHiringThreadReadResponseSchema","MarketplaceHiringThreadInboxItemSchema","ListMarketplaceHiringThreadsResponseSchema"],"mappings":"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","file":"chunk-OOTLPODZ.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 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 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});\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\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 agreedAmount: z.number().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 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 { 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\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});\n\nexport const ListMarketplaceHiringThreadsResponseSchema = z.object({\n items: z.array(MarketplaceHiringThreadInboxItemSchema),\n ...PaginationResponseSchema.shape,\n});\n"]}
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","data","ctx","MarketplaceBookingResponseSchema","CreateMarketplaceBookingResponseSchema","bookingTransitionReasonSchema","TransitionMarketplaceBookingRequestSchema","TransitionMarketplaceBookingResponseSchema","CompleteMarketplaceBookingRequestSchema","ForceCompleteMarketplaceBookingRequestSchema","CompleteMarketplaceBookingResponseSchema","MarketplaceJobListingBodySchema","CreateMarketplaceJobListingRequestSchema","UpdateMarketplaceJobListingRequestSchema","ListMarketplaceJobListingsQuerySchema","PaginationParamsSchema","MarketplaceJobListingResponseSchema","SubmitMarketplaceIndicationOfInterestRequestSchema","MarketplaceIndicationOfInterestResponseSchema","JobInterestState","MarketplaceIndicationOfInterestHostItemSchema","MessageDeliveryStatus","MarketplaceHiringThreadSchema","MarketplaceHiringMessageAttachmentSchema","MarketplaceHiringMessageSchema","ListMarketplaceHiringThreadMessagesQuerySchema","ListMarketplaceHiringThreadMessagesResponseSchema","PaginationResponseSchema","GetMarketplaceHiringThreadResponseSchema","PostMarketplaceHiringThreadMessageRequestSchema","PostMarketplaceHiringThreadMessageResponseSchema","MarkMarketplaceHiringThreadReadRequestSchema","MarkMarketplaceHiringThreadReadResponseSchema","MarketplaceHiringThreadInboxItemSchema","ListMarketplaceHiringThreadsResponseSchema"],"mappings":"uGAAO,IAAMA,CAAAA,CAAgB,CAC3B,YAAA,CAAc,cAAA,CACd,kBAAA,CAAoB,oBAAA,CACpB,WAAA,CAAa,aACf,CAAA,CAGaC,CAAAA,CAAe,CAC1B,SAAA,CAAW,WAAA,CACX,2BAA4B,4BAAA,CAC5B,cAAA,CAAgB,gBAAA,CAChB,QAAA,CAAU,UAAA,CACV,QAAA,CAAU,UAAA,CACV,SAAA,CAAW,WAAA,CACX,uBAAA,CAAyB,yBAAA,CACzB,SAAA,CAAW,WAAA,CACX,WAAA,CAAa,cACb,iBAAA,CAAmB,mBAAA,CACnB,UAAA,CAAY,YAAA,CACZ,MAAA,CAAQ,QACV,CAAA,CAGaC,CAAAA,CAAkB,CAC7B,IAAA,CAAM,MAAA,CACN,MAAA,CAAQ,QAAA,CACR,SAAA,CAAW,WACb,CAAA,CAGaC,CAAAA,CAAW,CACtB,IAAA,CAAM,MAAA,CACN,SAAA,CAAW,WAAA,CACX,QAAA,CAAU,UAAA,CACV,QAAA,CAAU,UACZ,CAAA,CAMaC,CAAAA,CAAuB,CAClC,OAAA,CAAS,UACT,aAAA,CAAe,eAAA,CACf,QAAA,CAAU,UAAA,CACV,QAAA,CAAU,UAAA,CACV,MAAA,CAAQ,QACV,CAAA,CAIaC,CAAAA,CAAyB,CACpC,IAAA,CAAM,MAAA,CACN,QAAA,CAAU,WACV,KAAA,CAAO,OAAA,CACP,MAAA,CAAQ,QACV,ECpDO,IAAMC,CAAAA,CAAmD,CAC9DL,CAAAA,CAAa,QAAA,CACbA,CAAAA,CAAa,SAAA,CACbA,CAAAA,CAAa,MACf,EAEMM,CAAAA,CAAiD,CACrD,GAAGD,CAAAA,CACHL,CAAAA,CAAa,UACf,CAAA,CAGaO,CAAAA,CAA2E,CACtF,CAACP,CAAAA,CAAa,SAAS,EAAG,CAACA,CAAAA,CAAa,0BAAA,CAA4BA,CAAAA,CAAa,SAAS,CAAA,CAC1F,CAACA,CAAAA,CAAa,0BAA0B,EAAG,CACzCA,CAAAA,CAAa,cAAA,CACbA,CAAAA,CAAa,QAAA,CACbA,CAAAA,CAAa,SACf,EACA,CAACA,CAAAA,CAAa,cAAc,EAAG,CAC7BA,CAAAA,CAAa,QAAA,CACbA,CAAAA,CAAa,QAAA,CACbA,CAAAA,CAAa,SACf,CAAA,CACA,CAACA,CAAAA,CAAa,QAAQ,EAAG,CAACA,CAAAA,CAAa,uBAAA,CAAyBA,CAAAA,CAAa,SAAS,CAAA,CACtF,CAACA,CAAAA,CAAa,uBAAuB,EAAG,CAACA,CAAAA,CAAa,SAAA,CAAWA,EAAa,SAAS,CAAA,CACvF,CAACA,CAAAA,CAAa,SAAS,EAAG,CAACA,CAAAA,CAAa,WAAW,CAAA,CACnD,CAACA,CAAAA,CAAa,WAAW,EAAG,CAACA,CAAAA,CAAa,iBAAA,CAAmBA,CAAAA,CAAa,SAAS,CAAA,CACnF,CAACA,CAAAA,CAAa,iBAAiB,EAAG,CAACA,CAAAA,CAAa,MAAM,CAAA,CACtD,CAACA,CAAAA,CAAa,UAAU,EAAG,CAACA,CAAAA,CAAa,MAAM,CAAA,CAC/C,CAACA,CAAAA,CAAa,QAAQ,EAAG,EAAC,CAC1B,CAACA,CAAAA,CAAa,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,CAAA,CAAE,EAAG,CACzEI,CAAAA,CAAuB,IAAA,CACvBA,CAAAA,CAAuB,MACzB,CAAA,CACA,CAAC,CAAA,EAAGJ,CAAAA,CAAa,SAAS,CAAA,EAAA,EAAKA,CAAAA,CAAa,SAAS,CAAA,CAAE,EAAG,CAACI,CAAAA,CAAuB,IAAI,CAAA,CACtF,CAAC,CAAA,EAAGJ,CAAAA,CAAa,0BAA0B,CAAA,EAAA,EAAKA,CAAAA,CAAa,cAAc,CAAA,CAAE,EAAG,CAC9EI,CAAAA,CAAuB,QACzB,CAAA,CACA,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,CAAA,CAAE,EAAG,CACzEI,EAAuB,IAAA,CACvBA,CAAAA,CAAuB,QACzB,CAAA,CACA,CAAC,CAAA,EAAGJ,CAAAA,CAAa,cAAc,CAAA,EAAA,EAAKA,CAAAA,CAAa,QAAQ,CAAA,CAAE,EAAG,CAC5DI,CAAAA,CAAuB,IAAA,CACvBA,CAAAA,CAAuB,QACzB,CAAA,CACA,CAAC,CAAA,EAAGJ,CAAAA,CAAa,cAAc,CAAA,EAAA,EAAKA,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,CAAAA,CAAuB,KACvBA,CAAAA,CAAuB,QACzB,CAAA,CACA,CAAC,CAAA,EAAGJ,CAAAA,CAAa,QAAQ,CAAA,EAAA,EAAKA,CAAAA,CAAa,uBAAuB,CAAA,CAAE,EAAG,CACrEI,CAAAA,CAAuB,KACvBA,CAAAA,CAAuB,MACzB,CAAA,CACA,CAAC,CAAA,EAAGJ,CAAAA,CAAa,QAAQ,CAAA,EAAA,EAAKA,CAAAA,CAAa,SAAS,CAAA,CAAE,EAAG,CACvDI,CAAAA,CAAuB,IAAA,CACvBA,CAAAA,CAAuB,QACzB,CAAA,CACA,CAAC,CAAA,EAAGJ,CAAAA,CAAa,uBAAuB,CAAA,EAAA,EAAKA,CAAAA,CAAa,SAAS,CAAA,CAAE,EAAG,CACtEI,CAAAA,CAAuB,MAAA,CACvBA,EAAuB,KACzB,CAAA,CACA,CAAC,CAAA,EAAGJ,CAAAA,CAAa,uBAAuB,CAAA,EAAA,EAAKA,CAAAA,CAAa,SAAS,CAAA,CAAE,EAAG,CACtEI,CAAAA,CAAuB,IAAA,CACvBA,EAAuB,KACzB,CAAA,CACA,CAAC,CAAA,EAAGJ,CAAAA,CAAa,SAAS,CAAA,EAAA,EAAKA,CAAAA,CAAa,WAAW,CAAA,CAAE,EAAG,CAC1DI,CAAAA,CAAuB,IAAA,CACvBA,EAAuB,QAAA,CACvBA,CAAAA,CAAuB,KACzB,CAAA,CACA,CAAC,CAAA,EAAGJ,CAAAA,CAAa,WAAW,CAAA,EAAA,EAAKA,CAAAA,CAAa,iBAAiB,CAAA,CAAE,EAAG,CAClEI,CAAAA,CAAuB,QAAA,CACvBA,CAAAA,CAAuB,MAAA,CACvBA,CAAAA,CAAuB,KACzB,CAAA,CACA,CAAC,CAAA,EAAGJ,CAAAA,CAAa,WAAW,CAAA,EAAA,EAAKA,CAAAA,CAAa,SAAS,CAAA,CAAE,EAAG,CAC1DI,CAAAA,CAAuB,IAAA,CACvBA,CAAAA,CAAuB,KACzB,CAAA,CACA,CAAC,CAAA,EAAGJ,CAAAA,CAAa,iBAAiB,CAAA,EAAA,EAAKA,CAAAA,CAAa,MAAM,CAAA,CAAE,EAAG,CAC7DI,CAAAA,CAAuB,IAAA,CACvBA,CAAAA,CAAuB,KAAA,CACvBA,CAAAA,CAAuB,MACzB,CAAA,CACA,CAAC,CAAA,EAAGJ,CAAAA,CAAa,UAAU,CAAA,EAAA,EAAKA,CAAAA,CAAa,MAAM,EAAE,EAAG,CACtDI,CAAAA,CAAuB,KAAA,CACvBA,CAAAA,CAAuB,IACzB,CACF,CAAA,CAGaK,CAAAA,CAAuE,CAClFT,CAAAA,CAAa,QAAA,CACbA,CAAAA,CAAa,SAAA,CACbA,CAAAA,CAAa,UACf,EAEO,SAASU,CAAAA,CAAqBC,CAAAA,CAAoBC,CAAAA,CAAwC,CAC/F,OAAO,CAAA,EAAGD,CAAI,CAAA,EAAA,EAAKC,CAAE,CAAA,CACvB,CAEO,SAASC,EAA8BF,CAAAA,CAA6C,CACzF,IAAMG,CAAAA,CAAOP,CAAAA,CAA0BI,CAAI,CAAA,EAAK,EAAC,CACjD,OAAKL,CAAAA,CAAsB,QAAA,CAASK,CAAI,CAAA,CAGjCG,EAFE,CAAC,GAAGA,CAAAA,CAAMd,CAAAA,CAAa,UAAU,CAG5C,CAEO,SAASe,CAAAA,CAAyBJ,CAAAA,CAAoBC,CAAAA,CAA2B,CACtF,OAAOC,CAAAA,CAA8BF,CAAI,CAAA,CAAE,QAAA,CAASC,CAAE,CACxD,CAEO,SAASI,CAAAA,CACdL,CAAAA,CACAC,CAAAA,CACmC,CACnC,OAAIA,CAAAA,GAAOZ,CAAAA,CAAa,UAAA,EAAc,CAACM,CAAAA,CAAsB,QAAA,CAASK,CAAI,CAAA,CACjE,CAACP,CAAAA,CAAuB,IAAA,CAAMA,CAAAA,CAAuB,QAAQ,CAAA,CAE/DI,CAAAA,CAA0BE,CAAAA,CAAqBC,CAAAA,CAAMC,CAAE,CAAC,GAAK,EACtE,CAEO,SAASK,CAAAA,CACdN,CAAAA,CACAC,CAAAA,CACAM,CAAAA,CACS,CACT,OAAOF,CAAAA,CAA2BL,CAAAA,CAAMC,CAAE,CAAA,CAAE,SAASM,CAAK,CAC5D,CAEO,SAASC,CAAAA,CAAgCC,CAAAA,CAAqBR,CAAAA,CAA2B,CAC9F,OAAOH,CAAAA,CAA4C,QAAA,CAASG,CAAE,CAChE,CCjJO,IAAMS,CAAAA,CAA6BC,CAAAA,CAAE,MAAA,CAAO,CACjD,MAAA,CAAQA,CAAAA,CAAE,IAAA,CAAKvB,CAAa,CAAA,CAC5B,OAAA,CAASuB,CAAAA,CAAE,IAAA,EAAK,CAAE,QAAA,EAAS,CAC3B,UAAA,CAAYA,CAAAA,CAAE,IAAA,EAAK,CACnB,YAAA,CAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAChC,CAAC,CAAA,CAEYC,CAAAA,CAA8BD,CAAAA,CAAE,MAAA,CAAO,CAClD,eAAA,CAAiBA,CAAAA,CAAE,MAAA,EACrB,CAAC,CAAA,CAEYE,CAAAA,CAAwBF,CAAAA,CAAE,MAAA,CAAO,CAC5C,EAAA,CAAIA,CAAAA,CAAE,IAAA,EAAK,CACX,OAAA,CAASA,CAAAA,CAAE,IAAA,EAAK,CAAE,QAAA,EAAS,CAC3B,MAAA,CAAQA,CAAAA,CAAE,IAAA,EAAK,CACf,WAAYA,CAAAA,CAAE,IAAA,EAAK,CACnB,WAAA,CAAaA,CAAAA,CAAE,MAAA,EAAO,CACtB,QAAA,CAAUA,CAAAA,CAAE,MAAA,EAAO,CACnB,WAAA,CAAaA,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,CAAGA,CAAAA,CAAE,GAAA,EAAK,CAAA,CAAE,QAAA,EAAS,CACpD,eAAA,CAAiBA,CAAAA,CAAE,GAAA,CAAI,QAAA,EAAS,CAChC,aAAA,CAAeA,CAAAA,CAAE,IAAI,QAAA,EAAS,CAC9B,YAAA,CAAcA,CAAAA,CAAE,IAAA,CAAKtB,CAAY,CAAA,CACjC,aAAA,CAAesB,CAAAA,CAAE,IAAA,CAAKnB,CAAoB,CAAA,CAC1C,eAAA,CAAiBmB,CAAAA,CAAE,QAAO,CAAE,QAAA,EAAS,CACrC,WAAA,CAAaA,CAAAA,CAAE,GAAA,CAAI,QAAA,EAAS,CAAE,QAAA,EAAS,CACvC,UAAA,CAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,UAAS,CAChC,UAAA,CAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CAChC,cAAA,CAAgBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CACpC,cAAA,CAAgBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CACpC,SAAA,CAAWA,CAAAA,CAAE,GAAA,CAAI,QAAA,EAAS,CAC1B,SAAA,CAAWA,CAAAA,CAAE,GAAA,CAAI,QAAA,EACnB,CAAC,EAEYG,CAAAA,CAAgCH,CAAAA,CAAE,MAAA,CAAO,CACpD,KAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,GAAG,CAAA,CACzB,WAAA,CAAaA,CAAAA,CAAE,MAAA,GACf,YAAA,CAAcA,CAAAA,CAAE,GAAA,CAAI,QAAA,EAAS,CAC7B,oBAAA,CAAsBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CAC1C,QAAA,CAAUA,CAAAA,CAAE,MAAA,GACZ,cAAA,CAAgBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CACpC,cAAA,CAAgBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAC7B,CAAC,CAAA,CAEYI,CAAAA,CAA2BJ,CAAAA,CAAE,MAAA,CAAO,CAC/C,EAAA,CAAIA,CAAAA,CAAE,IAAA,EAAK,CACX,aAAA,CAAeA,CAAAA,CAAE,IAAA,EAAK,CACtB,OAAA,CAASA,CAAAA,CAAE,IAAA,EAAK,CAAE,UAAS,CAC3B,KAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,CAChB,WAAA,CAAaA,CAAAA,CAAE,MAAA,EAAO,CACtB,YAAA,CAAcA,CAAAA,CAAE,GAAA,CAAI,QAAA,EAAS,CAC7B,qBAAsBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CAC1C,QAAA,CAAUA,CAAAA,CAAE,MAAA,EAAO,CACnB,cAAA,CAAgBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAC3B,cAAA,CAAgBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CACpC,KAAA,CAAOA,CAAAA,CAAE,IAAA,CAAKrB,CAAe,CAAA,CAC7B,aAAA,CAAeqB,CAAAA,CAAE,MAAA,EAAO,CACxB,SAAA,CAAWA,CAAAA,CAAE,GAAA,CAAI,QAAA,EACnB,CAAC,CAAA,CAEYK,CAAAA,CAA0CL,CAAAA,CAAE,MAAA,CAAO,CAC9D,YAAA,CAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,UAAS,CAClC,cAAA,CAAgBA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,EAAS,CAC3C,iBAAA,CAAmBA,CAAAA,CAAE,MAAA,EAAO,CAAE,UAChC,CAAC,CAAA,CAEYM,CAAAA,CAAqCN,CAAAA,CAAE,MAAA,CAAO,CACzD,EAAA,CAAIA,CAAAA,CAAE,IAAA,EAAK,CACX,YAAA,CAAcA,CAAAA,CAAE,IAAA,GAChB,iBAAA,CAAmBA,CAAAA,CAAE,IAAA,EAAK,CAC1B,YAAA,CAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CAClC,cAAA,CAAgBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CACpC,KAAA,CAAOA,CAAAA,CAAE,IAAA,CAAKpB,CAAQ,CAAA,CACtB,SAAA,CAAWoB,CAAAA,CAAE,GAAA,CAAI,QAAA,EACnB,CAAC,EClFM,IAAMO,CAAAA,CAAc,CACzB,MAAA,CAAQ,QAAA,CACR,MAAA,CAAQ,QACV,ECGA,IAAMC,CAAAA,CAAmBR,CAAAA,CAAE,MAAA,CAAOA,CAAAA,CAAE,QAAO,CAAGA,CAAAA,CAAE,OAAA,EAAS,CAAA,CAG5CS,EAAAA,CAAwCT,CAAAA,CAClD,MAAA,CAAO,CACN,UAAA,CAAYA,CAAAA,CAAE,IAAA,EAAK,CACnB,MAAA,CAAQA,EAAE,IAAA,CAAKvB,CAAa,CAAA,CAC5B,OAAA,CAASuB,CAAAA,CAAE,IAAA,EAAK,CAAE,QAAA,EAAS,CAC3B,YAAA,CAAcA,CAAAA,CAAE,IAAA,EAAK,CAAE,QAAA,EAAS,CAChC,WAAA,CAAaA,CAAAA,CAAE,IAAA,EAAK,CAAE,QAAA,EAAS,CAC/B,YAAA,CAAcA,CAAAA,CAAE,MAAA,CAAO,MAAA,EAAO,CAAE,WAAA,EAAY,CAAE,QAAA,EAAS,CACvD,YAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,GAAI,CAAA,CAAE,QAAA,EACpC,CAAC,CAAA,CACA,WAAA,CAAY,CAACU,CAAAA,CAAMC,CAAAA,GAAQ,CACtBD,CAAAA,CAAK,MAAA,GAAWjC,CAAAA,CAAc,YAAA,EAAgB,CAACiC,CAAAA,CAAK,OAAA,EACtDC,CAAAA,CAAI,QAAA,CAAS,CACX,IAAA,CAAM,QAAA,CACN,OAAA,CAAS,iDAAA,CACT,KAAM,CAAC,SAAS,CAClB,CAAC,CAAA,CAECD,CAAAA,CAAK,MAAA,GAAWjC,CAAAA,CAAc,kBAAA,GAC5BiC,CAAAA,CAAK,OAAA,EACPC,CAAAA,CAAI,QAAA,CAAS,CACX,IAAA,CAAM,QAAA,CACN,OAAA,CAAS,2DAAA,CACT,IAAA,CAAM,CAAC,SAAS,CAClB,CAAC,CAAA,CAECD,CAAAA,CAAK,WAAA,EACPC,CAAAA,CAAI,QAAA,CAAS,CACX,IAAA,CAAM,SACN,OAAA,CAAS,+DAAA,CACT,IAAA,CAAM,CAAC,aAAa,CACtB,CAAC,CAAA,CAAA,CAGDD,CAAAA,CAAK,MAAA,GAAWjC,CAAAA,CAAc,WAAA,GAC3BiC,CAAAA,CAAK,WAAA,EACRC,EAAI,QAAA,CAAS,CACX,IAAA,CAAM,QAAA,CACN,OAAA,CAAS,oDAAA,CACT,IAAA,CAAM,CAAC,aAAa,CACtB,CAAC,CAAA,CAECD,CAAAA,CAAK,OAAA,EACPC,EAAI,QAAA,CAAS,CACX,IAAA,CAAM,QAAA,CACN,OAAA,CAAS,oDAAA,CACT,IAAA,CAAM,CAAC,SAAS,CAClB,CAAC,CAAA,CAAA,CAGDD,CAAAA,CAAK,WAAA,EAAeA,CAAAA,CAAK,MAAA,GAAWjC,CAAAA,CAAc,WAAA,EACpDkC,CAAAA,CAAI,QAAA,CAAS,CACX,IAAA,CAAM,QAAA,CACN,OAAA,CAAS,wDAAA,CACT,IAAA,CAAM,CAAC,aAAa,CACtB,CAAC,EAEL,CAAC,CAAA,CAEUC,CAAAA,CAAmCZ,CAAAA,CAAE,MAAA,CAAO,CACvD,EAAA,CAAIA,CAAAA,CAAE,IAAA,EAAK,CACX,OAAA,CAASA,CAAAA,CAAE,IAAA,EAAK,CAAE,UAAS,CAC3B,WAAA,CAAaA,CAAAA,CAAE,OAAA,EAAQ,CACvB,aAAA,CAAeA,CAAAA,CAAE,IAAA,EAAK,CACtB,iBAAA,CAAmBA,CAAAA,CAAE,IAAA,EAAK,CAC1B,MAAA,CAAQA,EAAE,IAAA,CAAKvB,CAAa,CAAA,CAC5B,YAAA,CAAcuB,CAAAA,CAAE,IAAA,EAAK,CAAE,QAAA,EAAS,CAChC,WAAA,CAAaA,CAAAA,CAAE,IAAA,EAAK,CAAE,QAAA,EAAS,CAC/B,KAAA,CAAOA,CAAAA,CAAE,IAAA,CAAKtB,CAAY,CAAA,CAC1B,YAAA,CAAcsB,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CAClC,WAAA,CAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,UAAS,CACjC,SAAA,CAAWA,CAAAA,CAAE,MAAA,EAAO,CACpB,SAAA,CAAWA,CAAAA,CAAE,MAAA,EACf,CAAC,CAAA,CAGYa,EAAAA,CAAyCb,CAAAA,CAAE,MAAA,CAAO,CAC7D,SAAA,CAAWA,CAAAA,CAAE,IAAA,EAAK,CAClB,OAAA,CAASY,CACX,CAAC,CAAA,CAEKE,CAAAA,CAAgCd,CAAAA,CAAE,MAAA,EAAO,CAAE,IAAA,EAAK,CAAE,IAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAGzDe,EAAAA,CAA4Cf,CAAAA,CACtD,MAAA,CAAO,CACN,WAAA,CAAaA,CAAAA,CAAE,IAAA,CAAKtB,CAAY,CAAA,CAChC,MAAA,CAAQoC,CAAAA,CAA8B,QAAA,EACxC,CAAC,CAAA,CACA,WAAA,CAAY,CAACJ,CAAAA,CAAMC,CAAAA,GAAQ,CAAA,CAExBD,CAAAA,CAAK,WAAA,GAAgBhC,CAAAA,CAAa,QAAA,EAClCgC,CAAAA,CAAK,cAAgBhC,CAAAA,CAAa,SAAA,EAClCgC,CAAAA,CAAK,WAAA,GAAgBhC,CAAAA,CAAa,UAAA,GACdgC,CAAAA,CAAK,MAAA,GAAW,MAAA,EACpCC,CAAAA,CAAI,QAAA,CAAS,CACX,IAAA,CAAM,QAAA,CACN,QAAS,wCAAA,CACT,IAAA,CAAM,CAAC,QAAQ,CACjB,CAAC,EAEL,CAAC,CAAA,CAEUK,EAAAA,CAA6ChB,CAAAA,CAAE,MAAA,CAAO,CACjE,OAAA,CAASY,CACX,CAAC,CAAA,CAGYK,EAAAA,CAA0CjB,CAAAA,CAAE,MAAA,CAAO,CAC9D,KAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,GAAI,CAAA,CAAE,QAAA,EAC9B,CAAC,CAAA,CAGYkB,EAAAA,CAA+ClB,CAAAA,CAAE,MAAA,CAAO,CACnE,KAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,GAAI,CAAA,CAAE,QAAA,EAC9B,CAAC,CAAA,CAEYmB,EAAAA,CAA2CnB,CAAAA,CAAE,MAAA,CAAO,CAC/D,OAAA,CAASY,CAAAA,CACT,SAAA,CAAWZ,CAAAA,CAAE,OAAA,EAAQ,CACrB,aAAA,CAAeA,CAAAA,CAAE,OAAA,GACjB,SAAA,CAAWA,CAAAA,CAAE,OAAA,EAAQ,CACrB,MAAA,CAAQA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EACtB,CAAC,CAAA,CAEKoB,CAAAA,CAAkCpB,CAAAA,CAAE,OAAO,CAC/C,KAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAChC,WAAA,CAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAI,CAAA,CACvC,gBAAA,CAAkBA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAClC,YAAA,CAAcA,CAAAA,CAAE,QAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAC9B,IAAA,CAAMA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAC/B,aAAcA,CAAAA,CAAE,GAAA,CAAI,QAAA,EAAS,CAAE,QAAA,EAAS,CACxC,sBAAA,CAAwBA,CAAAA,CAAE,MAAA,CAAO,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,QAAA,GAAW,QAAA,EAAS,CACpE,QAAA,CAAUA,CAAAA,CAAE,IAAA,CAAKO,CAAW,CAAA,CAC5B,KAAA,CAAOP,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,GAAI,CAAA,CAAE,QAAA,EAAS,CACrC,YAAA,CAAcA,CAAAA,CAAE,MAAA,CAAO,MAAA,EAAO,CAAE,WAAA,EAAY,CAAE,QAAA,EAAS,CACvD,WAAA,CAAaQ,CAAAA,CAAiB,QAAA,EAAS,CACvC,OAAA,CAASR,EAAE,IAAA,EAAK,CAAE,QAAA,EACpB,CAAC,CAAA,CAGYqB,EAAAA,CAA2CD,CAAAA,CAE3CE,EAAAA,CAA2CF,CAAAA,CAAgC,OAAA,EAAQ,CAEnFG,EAAAA,CAAwCvB,CAAAA,CAAE,OAAO,CAC5D,GAAGwB,GAAAA,CAAuB,KAAA,CAC1B,QAAA,CAAUxB,CAAAA,CAAE,IAAA,CAAKO,CAAW,CAAA,CAAE,QAAA,EAChC,CAAC,CAAA,CAEYkB,EAAAA,CAAsCzB,EAAE,MAAA,CAAO,CAC1D,EAAA,CAAIA,CAAAA,CAAE,IAAA,EAAK,CACX,aAAA,CAAeA,CAAAA,CAAE,IAAA,EAAK,CACtB,OAAA,CAASA,CAAAA,CAAE,IAAA,EAAK,CAAE,QAAA,EAAS,CAC3B,KAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,CAChB,KAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CAC3B,WAAA,CAAaA,CAAAA,CAAE,MAAA,EAAO,CACtB,iBAAkBA,CAAAA,CAAE,MAAA,EAAO,CAC3B,YAAA,CAAcA,CAAAA,CAAE,MAAA,EAAO,CACvB,IAAA,CAAMA,CAAAA,CAAE,MAAA,EAAO,CACf,YAAA,CAAcA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAClC,sBAAA,CAAwBA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS,CAClD,QAAA,CAAUA,CAAAA,CAAE,IAAA,CAAKO,CAAW,EAC5B,YAAA,CAAcP,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CAClC,WAAA,CAAaA,CAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS,CAClC,KAAA,CAAOA,CAAAA,CAAE,IAAA,CAAKrB,CAAe,CAAA,CAC7B,aAAA,CAAeqB,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAC9B,SAAA,CAAWA,CAAAA,CAAE,MAAA,EAAO,CACpB,SAAA,CAAWA,CAAAA,CAAE,MAAA,EACf,CAAC,CAAA,CAGY0B,EAAAA,CAAqD1B,CAAAA,CAAE,MAAA,CAAO,CACzE,YAAA,CAAcA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAI,CAAA,CAAE,QAAA,EAAS,CACnD,cAAA,CAAgBA,CAAAA,CAAE,MAAA,CAAO,MAAA,EAAO,CAAE,WAAA,EAAY,CAAE,QAAA,EAAS,CACzD,iBAAA,CAAmBA,CAAAA,CAAE,QAAO,CAAE,GAAA,CAAI,GAAI,CAAA,CAAE,QAAA,EAAS,CACjD,WAAA,CAAaQ,CAAAA,CAAiB,QAAA,EAChC,CAAC,CAAA,CAEYmB,CAAAA,CAAgD3B,CAAAA,CAAE,MAAA,CAAO,CACpE,EAAA,CAAIA,CAAAA,CAAE,IAAA,EAAK,CACX,YAAA,CAAcA,CAAAA,CAAE,IAAA,EAAK,CACrB,iBAAA,CAAmBA,CAAAA,CAAE,IAAA,EAAK,CAC1B,YAAA,CAAcA,CAAAA,CAAE,QAAO,CAAE,QAAA,EAAS,CAClC,cAAA,CAAgBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CACpC,iBAAA,CAAmBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAC9B,KAAA,CAAOA,CAAAA,CAAE,IAAA,CAAK4B,CAAgB,CAAA,CAC9B,kBAAA,CAAoB5B,CAAAA,CAAE,IAAA,EAAK,CAAE,QAAA,EAAS,CACtC,WAAA,CAAaA,CAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CACjC,UAAA,CAAYA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CAChC,SAAA,CAAWA,CAAAA,CAAE,MAAA,EAAO,CACpB,SAAA,CAAWA,CAAAA,CAAE,MAAA,EACf,CAAC,CAAA,CAGY6B,EAAAA,CACXF,CAAAA,CAA8C,MAAA,CAAO,CACnD,mBAAA,CAAqB3B,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAClC,CAAC,MC/MU8B,CAAAA,CAAwB,CACnC,IAAA,CAAM,MAAA,CACN,SAAA,CAAW,WAAA,CACX,IAAA,CAAM,MACR,ECCO,IAAMC,EAAgC/B,CAAAA,CAAE,MAAA,CAAO,CACpD,EAAA,CAAIA,CAAAA,CAAE,IAAA,EAAK,CACX,SAAA,CAAWA,CAAAA,CAAE,IAAA,EAAK,CAClB,aAAA,CAAeA,CAAAA,CAAE,IAAA,GACjB,iBAAA,CAAmBA,CAAAA,CAAE,IAAA,EAAK,CAC1B,SAAA,CAAWA,CAAAA,CAAE,MAAA,EAAO,CACpB,SAAA,CAAWA,CAAAA,CAAE,MAAA,EACf,CAAC,CAAA,CAEYgC,CAAAA,CAA2ChC,CAAAA,CAAE,MAAA,CAAO,CAC/D,EAAA,CAAIA,CAAAA,CAAE,IAAA,EAAK,CACX,GAAA,CAAKA,CAAAA,CAAE,MAAA,EAAO,CACd,QAAA,CAAUA,CAAAA,CAAE,MAAA,EAAO,CACnB,UAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAC1B,SAAA,CAAWA,CAAAA,CAAE,MAAA,EACf,CAAC,CAAA,CAEYiC,CAAAA,CAAiCjC,CAAAA,CAAE,MAAA,CAAO,CACrD,EAAA,CAAIA,CAAAA,CAAE,IAAA,EAAK,CACX,QAAA,CAAUA,CAAAA,CAAE,IAAA,EAAK,CACjB,YAAA,CAAcA,CAAAA,CAAE,IAAA,EAAK,CACrB,IAAA,CAAMA,CAAAA,CAAE,QAAO,CACf,MAAA,CAAQA,CAAAA,CAAE,MAAA,EAAO,CACjB,cAAA,CAAgBA,CAAAA,CAAE,IAAA,CAAK8B,CAAqB,CAAA,CAC5C,MAAA,CAAQ9B,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CAC5B,WAAA,CAAaA,CAAAA,CAAE,KAAA,CAAMgC,CAAwC,CAC/D,CAAC,CAAA,CAEYE,EAAAA,CAAiDV,GAAAA,CAEjDW,EAAAA,CAAoDnC,CAAAA,CAAE,MAAA,CAAO,CACxE,QAAA,CAAUA,EAAE,KAAA,CAAMiC,CAA8B,CAAA,CAChD,GAAGG,CAAAA,CAAyB,KAC9B,CAAC,CAAA,CAEYC,EAAAA,CAA2CrC,CAAAA,CAAE,MAAA,CAAO,CAC/D,MAAA,CAAQ+B,CAAAA,CACR,SAAU/B,CAAAA,CAAE,KAAA,CAAMiC,CAA8B,CAAA,CAChD,GAAGG,CAAAA,CAAyB,KAC9B,CAAC,CAAA,CAEYE,EAAAA,CAAkDtC,CAAAA,CAAE,MAAA,CAAO,CACtE,IAAA,CAAMA,EAAE,MAAA,EAAO,CAAE,IAAA,EAAK,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAI,CAAA,CACvC,WAAA,CAAaA,CAAAA,CACV,KAAA,CACCA,CAAAA,CAAE,MAAA,CAAO,CACP,GAAA,CAAKA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CACpB,QAAA,CAAUA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CACnC,SAAA,CAAWA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,QAAA,EAC9B,CAAC,CACH,CAAA,CACC,GAAA,CAAI,EAAE,EACN,QAAA,EACL,CAAC,CAAA,CAEYuC,EAAAA,CAAmDvC,CAAAA,CAAE,MAAA,CAAO,CACvE,OAAA,CAASiC,CACX,CAAC,CAAA,CAEYO,EAAAA,CAA+CxC,CAAAA,CAAE,OAAO,CACnE,aAAA,CAAeA,CAAAA,CAAE,IAAA,EAAK,CAAE,QAAA,EAC1B,CAAC,CAAA,CAEYyC,EAAAA,CAAgDzC,CAAAA,CAAE,MAAA,CAAO,CACpE,WAAA,CAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,WAAA,EAChC,CAAC,CAAA,CAGY0C,CAAAA,CAAyC1C,CAAAA,CAAE,MAAA,CAAO,CAC7D,QAAA,CAAUA,CAAAA,CAAE,IAAA,GACZ,SAAA,CAAWA,CAAAA,CAAE,IAAA,EAAK,CAClB,KAAA,CAAOA,CAAAA,CAAE,MAAA,EAAO,CAChB,kBAAA,CAAoBA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CACxC,aAAA,CAAeA,CAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CACnC,gBAAA,CAAkBA,CAAAA,CAAE,IAAA,EAAK,CAAE,QAAA,EAAS,CACpC,qBAAA,CAAuBA,CAAAA,CAAE,MAAA,EAAO,CAAE,UAAS,CAC3C,WAAA,CAAaA,CAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,WAAA,EAAY,CAC1C,YAAA,CAAcA,CAAAA,CAAE,IAAA,CAAKtB,CAAY,CACnC,CAAC,CAAA,CAEYiE,EAAAA,CAA6C3C,CAAAA,CAAE,MAAA,CAAO,CACjE,KAAA,CAAOA,CAAAA,CAAE,KAAA,CAAM0C,CAAsC,CAAA,CACrD,GAAGN,CAAAA,CAAyB,KAC9B,CAAC","file":"chunk-BDTBSEQZ.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 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 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});\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\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 agreedAmount: z.number().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 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 { 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\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});\n\nexport const ListMarketplaceHiringThreadsResponseSchema = z.object({\n items: z.array(MarketplaceHiringThreadInboxItemSchema),\n ...PaginationResponseSchema.shape,\n});\n"]}
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkIRSWXAQZ_js=require('./chunk-IRSWXAQZ.js'),zod=require('zod');var r={GOOGLE:"GOOGLE",APPLE:"APPLE",FACEBOOK:"FACEBOOK",TWITTER:"TWITTER"},s={EMAIL_MATCH:"email_match",EMAIL_MISS:"email_missing"},p={SIGNED_IN:"signed_in",SIGNED_UP:"signed_up",LINK_REQUIRED:"link_required"};var i=new RegExp("^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[ !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~]).{8,}$"),a="Password must be at least 8 characters and include an uppercase letter, a lowercase letter, a number, and a special character.",t=zod.z.string().min(8,a).regex(i,a),R=zod.z.object({email:zod.z.email().toLowerCase(),password:t,firstName:zod.z.string(),lastName:zod.z.string(),role:zod.z.enum(chunkIRSWXAQZ_js.a).optional()}),h=zod.z.object({username:zod.z.string(),reference:zod.z.string(),role:zod.z.enum(chunkIRSWXAQZ_js.a).optional()}),g=zod.z.object({email:zod.z.email().toLowerCase(),password:t,role:zod.z.enum(chunkIRSWXAQZ_js.a).optional()}),x=zod.z.object({otp:zod.z.string().length(4),reference:zod.z.string(),type:zod.z.enum(["registration","passwordReset"])}),f=zod.z.object({reference:zod.z.string(),type:zod.z.enum(["registration","passwordReset"])}),S=zod.z.object({isValid:zod.z.boolean(),message:zod.z.string(),reference:zod.z.string().optional()}),b=zod.z.object({AccessToken:zod.z.string(),RefreshToken:zod.z.string(),IdToken:zod.z.string(),ExpiresIn:zod.z.number(),TokenType:zod.z.literal("Bearer")}),k=zod.z.object({refreshToken:zod.z.string()}),j=zod.z.object({refreshToken:zod.z.string(),accessToken:zod.z.string()}),E=zod.z.object({email:zod.z.email().toLowerCase()}),O=zod.z.object({destination:zod.z.string(),deliveryMedium:zod.z.string(),attributeName:zod.z.string()}),w=zod.z.object({token:zod.z.string(),newPassword:t}),y=zod.z.object({currentPassword:t,newPassword:t}),L=zod.z.object({redirectTo:zod.z.string().min(1).max(2048).optional()}),P=zod.z.object({authorizeUrl:zod.z.url()}),q=zod.z.object({handoff:zod.z.string().min(16).max(128)}),T=zod.z.object({idToken:zod.z.string().min(1).max(8192),nonce:zod.z.string().min(8).max(256),authorizationCode:zod.z.string().min(1).max(1024).optional(),user:zod.z.object({name:zod.z.object({firstName:zod.z.string().max(128).nullable().optional(),lastName:zod.z.string().max(128).nullable().optional()}).optional()}).optional()}),I=zod.z.object({linkHandoff:zod.z.string().min(16).max(128),password:t.optional(),otpReference:zod.z.string().min(1).max(128).optional(),otp:zod.z.string().length(4).optional()}).refine(n=>n.password?true:n.otpReference&&n.otp,"either `password` OR (`otpReference` AND `otp`) must be provided"),A=zod.z.object({linkHandoff:zod.z.string().min(16).max(128)}),_=zod.z.object({kind:zod.z.literal("link_required"),reason:zod.z.enum(s),linkHandoff:zod.z.string(),maskedEmail:zod.z.string(),hasPassword:zod.z.boolean(),provider:zod.z.enum(r)}),v=zod.z.object({otpReference:zod.z.string()}),c=zod.z.object({name:zod.z.enum(r),enabled:zod.z.boolean(),canSignUp:zod.z.boolean()}),C=zod.z.object({providers:zod.z.array(c)}),N=zod.z.object({linkHandoff:zod.z.string().min(16).max(128),email:zod.z.email().max(320)}),G=zod.z.object({password:t}),D=zod.z.object({reauthToken:zod.z.string(),expiresAt:zod.z.iso.datetime()});exports.A=C;exports.B=N;exports.C=G;exports.D=D;exports.a=r;exports.b=s;exports.c=p;exports.d=t;exports.e=R;exports.f=h;exports.g=g;exports.h=x;exports.i=f;exports.j=S;exports.k=b;exports.l=k;exports.m=j;exports.n=E;exports.o=O;exports.p=w;exports.q=y;exports.r=L;exports.s=P;exports.t=q;exports.u=T;exports.v=I;exports.w=A;exports.x=_;exports.y=v;exports.z=c;//# sourceMappingURL=chunk-MB4RXU3H.js.map
2
- //# sourceMappingURL=chunk-MB4RXU3H.js.map
1
+ 'use strict';var chunkW2P52PTE_js=require('./chunk-W2P52PTE.js'),zod=require('zod');var r={GOOGLE:"GOOGLE",APPLE:"APPLE",FACEBOOK:"FACEBOOK",TWITTER:"TWITTER"},s={EMAIL_MATCH:"email_match",EMAIL_MISS:"email_missing"},p={SIGNED_IN:"signed_in",SIGNED_UP:"signed_up",LINK_REQUIRED:"link_required"};var i=new RegExp("^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[ !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~]).{8,}$"),a="Password must be at least 8 characters and include an uppercase letter, a lowercase letter, a number, and a special character.",t=zod.z.string().min(8,a).regex(i,a),R=zod.z.object({email:zod.z.email().toLowerCase(),password:t,firstName:zod.z.string(),lastName:zod.z.string(),role:zod.z.enum(chunkW2P52PTE_js.a).optional()}),h=zod.z.object({username:zod.z.string(),reference:zod.z.string(),role:zod.z.enum(chunkW2P52PTE_js.a).optional()}),g=zod.z.object({email:zod.z.email().toLowerCase(),password:t,role:zod.z.enum(chunkW2P52PTE_js.a).optional()}),x=zod.z.object({otp:zod.z.string().length(4),reference:zod.z.string(),type:zod.z.enum(["registration","passwordReset"])}),f=zod.z.object({reference:zod.z.string(),type:zod.z.enum(["registration","passwordReset"])}),S=zod.z.object({isValid:zod.z.boolean(),message:zod.z.string(),reference:zod.z.string().optional()}),b=zod.z.object({AccessToken:zod.z.string(),RefreshToken:zod.z.string(),IdToken:zod.z.string(),ExpiresIn:zod.z.number(),TokenType:zod.z.literal("Bearer")}),k=zod.z.object({refreshToken:zod.z.string()}),j=zod.z.object({refreshToken:zod.z.string(),accessToken:zod.z.string()}),E=zod.z.object({email:zod.z.email().toLowerCase()}),O=zod.z.object({destination:zod.z.string(),deliveryMedium:zod.z.string(),attributeName:zod.z.string()}),w=zod.z.object({token:zod.z.string(),newPassword:t}),y=zod.z.object({currentPassword:t,newPassword:t}),L=zod.z.object({redirectTo:zod.z.string().min(1).max(2048).optional()}),P=zod.z.object({authorizeUrl:zod.z.url()}),q=zod.z.object({handoff:zod.z.string().min(16).max(128)}),T=zod.z.object({idToken:zod.z.string().min(1).max(8192),nonce:zod.z.string().min(8).max(256),authorizationCode:zod.z.string().min(1).max(1024).optional(),user:zod.z.object({name:zod.z.object({firstName:zod.z.string().max(128).nullable().optional(),lastName:zod.z.string().max(128).nullable().optional()}).optional()}).optional()}),I=zod.z.object({linkHandoff:zod.z.string().min(16).max(128),password:t.optional(),otpReference:zod.z.string().min(1).max(128).optional(),otp:zod.z.string().length(4).optional()}).refine(n=>n.password?true:n.otpReference&&n.otp,"either `password` OR (`otpReference` AND `otp`) must be provided"),A=zod.z.object({linkHandoff:zod.z.string().min(16).max(128)}),_=zod.z.object({kind:zod.z.literal("link_required"),reason:zod.z.enum(s),linkHandoff:zod.z.string(),maskedEmail:zod.z.string(),hasPassword:zod.z.boolean(),provider:zod.z.enum(r)}),v=zod.z.object({otpReference:zod.z.string()}),c=zod.z.object({name:zod.z.enum(r),enabled:zod.z.boolean(),canSignUp:zod.z.boolean()}),C=zod.z.object({providers:zod.z.array(c)}),N=zod.z.object({linkHandoff:zod.z.string().min(16).max(128),email:zod.z.email().max(320)}),G=zod.z.object({password:t}),D=zod.z.object({reauthToken:zod.z.string(),expiresAt:zod.z.iso.datetime()});exports.A=C;exports.B=N;exports.C=G;exports.D=D;exports.a=r;exports.b=s;exports.c=p;exports.d=t;exports.e=R;exports.f=h;exports.g=g;exports.h=x;exports.i=f;exports.j=S;exports.k=b;exports.l=k;exports.m=j;exports.n=E;exports.o=O;exports.p=w;exports.q=y;exports.r=L;exports.s=P;exports.t=q;exports.u=T;exports.v=I;exports.w=A;exports.x=_;exports.y=v;exports.z=c;//# sourceMappingURL=chunk-FFD65TAN.js.map
2
+ //# sourceMappingURL=chunk-FFD65TAN.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/auth/auth.enums.ts","../src/auth/auth.schemas.ts"],"names":["IdentityProvider","LinkRequiredReasonEnum","OauthResolveKind","PASSWORD_REGEX","PASSWORD_MESSAGE","PasswordSchema","z","RegisterRequestSchema","UserRole","RegisterResponseSchema","LoginRequestSchema","VerifyOtpRequestSchema","ResendOtpRequestSchema","VerifyOtpResponseSchema","LoginResponseSchema","RefreshTokenRequestSchema","LogoutRequestSchema","ForgotPasswordRequestSchema","ForgotPasswordResponseSchema","ResetPasswordRequestSchema","ChangePasswordRequestSchema","OauthStartQuerySchema","OauthStartResponseSchema","OauthExchangeRequestSchema","OauthDirectTokenRequestSchema","OauthLinkCompleteRequestSchema","v","OauthLinkSendOtpRequestSchema","LinkRequiredResponseSchema","OauthLinkSendOtpResponseSchema","ProvidersListItemSchema","ProvidersListResponseSchema","OauthLinkCompleteEmailRequestSchema","ConfirmPasswordSchema","ReauthTokenResponseSchema"],"mappings":"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","file":"chunk-MB4RXU3H.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\nconst PASSWORD_MESSAGE =\n 'Password must be at least 8 characters and include an uppercase letter, a lowercase letter, a number, and a special character.';\n\nexport const PasswordSchema = z\n .string()\n .min(8, PASSWORD_MESSAGE)\n .regex(PASSWORD_REGEX, PASSWORD_MESSAGE);\n\n/**\n * Zod schema for registration request.\n */\nexport const RegisterRequestSchema = z.object({\n email: z.email().toLowerCase(),\n password: PasswordSchema,\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: PasswordSchema,\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: PasswordSchema,\n});\n\n/**\n * Zod schema for change password request.\n */\nexport const ChangePasswordRequestSchema = z.object({\n currentPassword: PasswordSchema,\n newPassword: PasswordSchema,\n});\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: PasswordSchema.optional(),\n otpReference: z.string().min(1).max(128).optional(),\n otp: z.string().length(4).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: PasswordSchema,\n});\n\nexport const ReauthTokenResponseSchema = z.object({\n reauthToken: z.string(),\n expiresAt: z.iso.datetime(), // ISO date string ;\n});\n"]}
1
+ {"version":3,"sources":["../src/auth/auth.enums.ts","../src/auth/auth.schemas.ts"],"names":["IdentityProvider","LinkRequiredReasonEnum","OauthResolveKind","PASSWORD_REGEX","PASSWORD_MESSAGE","PasswordSchema","z","RegisterRequestSchema","UserRole","RegisterResponseSchema","LoginRequestSchema","VerifyOtpRequestSchema","ResendOtpRequestSchema","VerifyOtpResponseSchema","LoginResponseSchema","RefreshTokenRequestSchema","LogoutRequestSchema","ForgotPasswordRequestSchema","ForgotPasswordResponseSchema","ResetPasswordRequestSchema","ChangePasswordRequestSchema","OauthStartQuerySchema","OauthStartResponseSchema","OauthExchangeRequestSchema","OauthDirectTokenRequestSchema","OauthLinkCompleteRequestSchema","v","OauthLinkSendOtpRequestSchema","LinkRequiredResponseSchema","OauthLinkSendOtpResponseSchema","ProvidersListItemSchema","ProvidersListResponseSchema","OauthLinkCompleteEmailRequestSchema","ConfirmPasswordSchema","ReauthTokenResponseSchema"],"mappings":"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","file":"chunk-FFD65TAN.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\nconst PASSWORD_MESSAGE =\n 'Password must be at least 8 characters and include an uppercase letter, a lowercase letter, a number, and a special character.';\n\nexport const PasswordSchema = z\n .string()\n .min(8, PASSWORD_MESSAGE)\n .regex(PASSWORD_REGEX, PASSWORD_MESSAGE);\n\n/**\n * Zod schema for registration request.\n */\nexport const RegisterRequestSchema = z.object({\n email: z.email().toLowerCase(),\n password: PasswordSchema,\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: PasswordSchema,\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: PasswordSchema,\n});\n\n/**\n * Zod schema for change password request.\n */\nexport const ChangePasswordRequestSchema = z.object({\n currentPassword: PasswordSchema,\n newPassword: PasswordSchema,\n});\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: PasswordSchema.optional(),\n otpReference: z.string().min(1).max(128).optional(),\n otp: z.string().length(4).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: PasswordSchema,\n});\n\nexport const ReauthTokenResponseSchema = z.object({\n reauthToken: z.string(),\n expiresAt: z.iso.datetime(), // ISO date string ;\n});\n"]}
@@ -1,2 +1,2 @@
1
- import {g as g$2,n,h as h$1,c,b as b$1,f,e}from'./chunk-4BSZOBBY.mjs';import {g as g$1}from'./chunk-LCQCSVAX.mjs';import {z}from'zod';var p=z.object({id:z.uuid(),userId:z.uuid(),businessName:z.string(),totalEvents:z.number(),totalSpent:z.number(),averageRating:z.number(),defaultCurrency:z.string(),description:z.string().optional(),category:z.array(z.enum(g$1)),logoUrl:z.url().optional(),businessRegNumber:z.string().optional(),taxId:z.string().optional(),settlementBankCode:z.string().optional(),settlementAccountNumber:z.string().optional(),settlementAccountName:z.string().optional(),paystackSubaccountCode:z.string().optional(),createdAt:z.iso.datetime()}),u=z.object({id:z.uuid(),userId:z.uuid(),companyName:z.string(),bio:z.string(),yearsExperience:z.number().optional(),experienceLevel:z.enum(h$1),equipmentManifest:z.array(z.record(z.string(),z.any())),serviceCategories:z.array(n),equipmentItems:z.array(n),verificationStatus:z.enum(g$2),averageRating:z.number().positive().multipleOf(.01),totalReviews:z.number(),completionRate:z.number(),isAvailable:z.boolean(),createdAt:z.iso.datetime()}),h=z.object({id:z.uuid(),email:z.email().toLowerCase(),emailVerified:z.boolean(),emailVerifiedAt:z.iso.datetime().optional(),phoneNumber:z.string().optional(),firstName:z.string().optional(),lastName:z.string().optional(),displayName:z.string().optional(),avatarUrl:z.url().optional(),role:z.number().min(1).max(15),accountStatus:z.enum(b$1),kycStatus:z.enum(c),hostProfile:p.optional(),producerProfile:u.optional(),createdAt:z.iso.datetime(),updatedAt:z.iso.datetime(),eventCategory:z.array(z.enum(g$1)).optional()}),v=z.object({firstName:z.string().optional(),lastName:z.string().optional(),displayName:z.string().optional(),avatarUrl:z.url().optional(),phoneNumber:z.string().optional(),eventCategory:z.array(z.enum(g$1)).optional()}),C=z.object({businessName:z.string(),description:z.string().optional(),logoUrl:z.string().optional(),category:z.array(z.enum(g$1)).min(1),pin:z.string().length(5)}),N=z.object({companyName:z.string(),bio:z.string(),logoUrl:z.string().optional(),serviceCategoryIds:z.array(z.uuid()).optional(),serviceCategoryCodes:z.array(z.string().min(1).max(64)).optional(),equipmentItemIds:z.array(z.uuid()).optional(),equipmentItemCodes:z.array(z.string().min(1).max(64)).optional(),yearsExperience:z.number(),experienceLevel:z.enum(h$1),minFee:z.number(),maxFee:z.number(),pin:z.string().length(5),isAvailable:z.boolean()}),d=new Set(["admin","support","livdot","host","producer","system","null","undefined","me","settings","viewer","auth","events","streaming","producers","marketplace","users"]),g=z.string().trim().toLowerCase().min(3,"Display name must be at least 3 characters").max(30,"Display name must be at most 30 characters").regex(/^[a-z0-9_]+$/,"Display name may only contain lowercase letters, digits, and underscores").refine(r=>!d.has(r),{message:"This display name is reserved"}),R=z.object({displayName:g}).strict(),P=z.object({preferredCurrency:z.string().trim().toUpperCase().length(3).regex(/^[A-Z]{3}$/)}).strict(),b=z.object({category:z.enum(f),enabled:z.boolean()}),j=z.object({preferences:z.array(b).min(1).max(10).refine(r=>new Set(r.map(l=>l.category)).size===r.length,{message:"Duplicate category in preferences"})}).strict(),A=z.object({category:z.enum(e),message:z.string().trim().min(10).max(2e3)}).strict(),U=z.object({id:z.uuid(),email:z.email(),emailVerified:z.boolean(),displayName:z.string().nullable(),avatarUrl:z.url().nullable(),roles:z.number().int(),preferredCurrency:z.string(),notificationsEnabledCount:z.number().int()}),q=z.object({preferences:z.record(z.enum(f),z.boolean())}),w=z.object({id:z.uuid()});export{p as a,u as b,h as c,v as d,C as e,N as f,d as g,g as h,R as i,P as j,b as k,j as l,A as m,U as n,q as o,w as p};//# sourceMappingURL=chunk-SKS4KTTT.mjs.map
2
- //# sourceMappingURL=chunk-SKS4KTTT.mjs.map
1
+ import {g as g$2,n,h as h$1,c,b as b$1,f,e}from'./chunk-3MXER4II.mjs';import {g as g$1}from'./chunk-6OG6ZWUT.mjs';import {z}from'zod';var p=z.object({id:z.uuid(),userId:z.uuid(),businessName:z.string(),totalEvents:z.number(),totalSpent:z.number(),averageRating:z.number(),defaultCurrency:z.string(),description:z.string().optional(),category:z.array(z.enum(g$1)),logoUrl:z.url().optional(),businessRegNumber:z.string().optional(),taxId:z.string().optional(),settlementBankCode:z.string().optional(),settlementAccountNumber:z.string().optional(),settlementAccountName:z.string().optional(),paystackSubaccountCode:z.string().optional(),createdAt:z.iso.datetime()}),u=z.object({id:z.uuid(),userId:z.uuid(),companyName:z.string(),bio:z.string(),yearsExperience:z.number().optional(),experienceLevel:z.enum(h$1),equipmentManifest:z.array(z.record(z.string(),z.any())),serviceCategories:z.array(n),equipmentItems:z.array(n),verificationStatus:z.enum(g$2),averageRating:z.number().positive().multipleOf(.01),totalReviews:z.number(),completionRate:z.number(),isAvailable:z.boolean(),createdAt:z.iso.datetime()}),h=z.object({id:z.uuid(),email:z.email().toLowerCase(),emailVerified:z.boolean(),emailVerifiedAt:z.iso.datetime().optional(),phoneNumber:z.string().optional(),firstName:z.string().optional(),lastName:z.string().optional(),displayName:z.string().optional(),avatarUrl:z.url().optional(),role:z.number().min(1).max(15),accountStatus:z.enum(b$1),kycStatus:z.enum(c),hostProfile:p.optional(),producerProfile:u.optional(),createdAt:z.iso.datetime(),updatedAt:z.iso.datetime(),eventCategory:z.array(z.enum(g$1)).optional()}),v=z.object({firstName:z.string().optional(),lastName:z.string().optional(),displayName:z.string().optional(),avatarUrl:z.url().optional(),phoneNumber:z.string().optional(),eventCategory:z.array(z.enum(g$1)).optional()}),C=z.object({businessName:z.string(),description:z.string().optional(),logoUrl:z.string().optional(),category:z.array(z.enum(g$1)).min(1),pin:z.string().length(5)}),N=z.object({companyName:z.string(),bio:z.string(),logoUrl:z.string().optional(),serviceCategoryIds:z.array(z.uuid()).optional(),serviceCategoryCodes:z.array(z.string().min(1).max(64)).optional(),equipmentItemIds:z.array(z.uuid()).optional(),equipmentItemCodes:z.array(z.string().min(1).max(64)).optional(),yearsExperience:z.number(),experienceLevel:z.enum(h$1),minFee:z.number(),maxFee:z.number(),pin:z.string().length(5),isAvailable:z.boolean()}),d=new Set(["admin","support","livdot","host","producer","system","null","undefined","me","settings","viewer","auth","events","streaming","producers","marketplace","users"]),g=z.string().trim().toLowerCase().min(3,"Display name must be at least 3 characters").max(30,"Display name must be at most 30 characters").regex(/^[a-z0-9_]+$/,"Display name may only contain lowercase letters, digits, and underscores").refine(r=>!d.has(r),{message:"This display name is reserved"}),R=z.object({displayName:g}).strict(),P=z.object({preferredCurrency:z.string().trim().toUpperCase().length(3).regex(/^[A-Z]{3}$/)}).strict(),b=z.object({category:z.enum(f),enabled:z.boolean()}),j=z.object({preferences:z.array(b).min(1).max(10).refine(r=>new Set(r.map(l=>l.category)).size===r.length,{message:"Duplicate category in preferences"})}).strict(),A=z.object({category:z.enum(e),message:z.string().trim().min(10).max(2e3)}).strict(),U=z.object({id:z.uuid(),email:z.email(),emailVerified:z.boolean(),displayName:z.string().nullable(),avatarUrl:z.url().nullable(),roles:z.number().int(),preferredCurrency:z.string(),notificationsEnabledCount:z.number().int()}),q=z.object({preferences:z.record(z.enum(f),z.boolean())}),w=z.object({id:z.uuid()});export{p as a,u as b,h as c,v as d,C as e,N as f,d as g,g as h,R as i,P as j,b as k,j as l,A as m,U as n,q as o,w as p};//# sourceMappingURL=chunk-MDARXITS.mjs.map
2
+ //# sourceMappingURL=chunk-MDARXITS.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/user/user.schemas.ts"],"names":["HostProfileResponseSchema","z","EventCategory","ProducerProfileResponseSchema","ProducerExperienceLevel","PublicProducerListCategorySchema","ProducerVerificationStatus","UserResponseSchema","AccountStatus","KycStatus","UpdateUserRequestSchema","CreateHostProfileRequestSchema","CreateProducerProfileRequestSchema","RESERVED_DISPLAY_NAMES","DisplayNameSchema","v","UpdateViewerProfileRequestSchema","UpdateViewerCurrencyRequestSchema","NotificationPreferenceItemSchema","NotificationCategory","UpdateNotificationPreferencesRequestSchema","items","i","SendFeedbackRequestSchema","FeedbackCategory","ViewerMeResponseSchema","NotificationPreferencesResponseSchema","SendFeedbackResponseSchema"],"mappings":"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","file":"chunk-SKS4KTTT.mjs","sourcesContent":["import { z } from 'zod';\nimport {\n AccountStatus,\n FeedbackCategory,\n KycStatus,\n NotificationCategory,\n ProducerExperienceLevel,\n ProducerVerificationStatus,\n} from './user.enums';\nimport { EventCategory } from '../event';\nimport { PublicProducerListCategorySchema } from '../marketplace';\n\nexport const HostProfileResponseSchema = z.object({\n id: z.uuid(),\n userId: z.uuid(),\n businessName: z.string(),\n totalEvents: z.number(),\n totalSpent: z.number(),\n averageRating: z.number(),\n defaultCurrency: z.string(),\n description: z.string().optional(),\n category: z.array(z.enum(EventCategory)),\n logoUrl: z.url().optional(),\n businessRegNumber: z.string().optional(),\n taxId: z.string().optional(),\n settlementBankCode: z.string().optional(),\n settlementAccountNumber: z.string().optional(),\n settlementAccountName: z.string().optional(),\n paystackSubaccountCode: z.string().optional(),\n createdAt: z.iso.datetime(),\n});\n\nexport const ProducerProfileResponseSchema = z.object({\n id: z.uuid(),\n userId: z.uuid(),\n companyName: z.string(),\n bio: z.string(),\n yearsExperience: z.number().optional(),\n experienceLevel: z.enum(ProducerExperienceLevel),\n equipmentManifest: z.array(z.record(z.string(), z.any())),\n serviceCategories: z.array(PublicProducerListCategorySchema),\n equipmentItems: z.array(PublicProducerListCategorySchema),\n verificationStatus: z.enum(ProducerVerificationStatus),\n averageRating: z.number().positive().multipleOf(0.01),\n totalReviews: z.number(),\n completionRate: z.number(),\n isAvailable: z.boolean(),\n createdAt: z.iso.datetime(),\n});\n\nexport const UserResponseSchema = z.object({\n id: z.uuid(),\n email: z.email().toLowerCase(),\n emailVerified: z.boolean(),\n emailVerifiedAt: z.iso.datetime().optional(),\n phoneNumber: z.string().optional(),\n firstName: z.string().optional(),\n lastName: z.string().optional(),\n displayName: z.string().optional(),\n avatarUrl: z.url().optional(),\n role: z.number().min(1).max(15),\n accountStatus: z.enum(AccountStatus),\n kycStatus: z.enum(KycStatus),\n hostProfile: HostProfileResponseSchema.optional(),\n producerProfile: ProducerProfileResponseSchema.optional(),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n eventCategory: z.array(z.enum(EventCategory)).optional(),\n});\n\nexport const UpdateUserRequestSchema = z.object({\n firstName: z.string().optional(),\n lastName: z.string().optional(),\n displayName: z.string().optional(),\n avatarUrl: z.url().optional(),\n phoneNumber: z.string().optional(),\n eventCategory: z.array(z.enum(EventCategory)).optional(),\n});\n\nexport const CreateHostProfileRequestSchema = z.object({\n businessName: z.string(),\n description: z.string().optional(),\n logoUrl: z.string().optional(),\n category: z.array(z.enum(EventCategory)).min(1),\n pin: z.string().length(5),\n});\n\nexport const CreateProducerProfileRequestSchema = z.object({\n companyName: z.string(),\n bio: z.string(),\n logoUrl: z.string().optional(),\n serviceCategoryIds: z.array(z.uuid()).optional(),\n serviceCategoryCodes: z.array(z.string().min(1).max(64)).optional(),\n equipmentItemIds: z.array(z.uuid()).optional(),\n equipmentItemCodes: z.array(z.string().min(1).max(64)).optional(),\n yearsExperience: z.number(),\n experienceLevel: z.enum(ProducerExperienceLevel),\n minFee: z.number(),\n maxFee: z.number(),\n pin: z.string().length(5),\n isAvailable: z.boolean(),\n});\n\nexport const RESERVED_DISPLAY_NAMES: ReadonlySet<string> = new Set([\n 'admin',\n 'support',\n 'livdot',\n 'host',\n 'producer',\n 'system',\n 'null',\n 'undefined',\n 'me',\n 'settings',\n 'viewer',\n 'auth',\n 'events',\n 'streaming',\n 'producers',\n 'marketplace',\n 'users',\n]);\n\n/** Handle constraints — see viewer-settings.md §3.1. */\nexport const DisplayNameSchema = z\n .string()\n .trim()\n .toLowerCase()\n .min(3, 'Display name must be at least 3 characters')\n .max(30, 'Display name must be at most 30 characters')\n .regex(/^[a-z0-9_]+$/, 'Display name may only contain lowercase letters, digits, and underscores')\n .refine((v) => !RESERVED_DISPLAY_NAMES.has(v), {\n message: 'This display name is reserved',\n });\n\nexport const UpdateViewerProfileRequestSchema = z\n .object({\n displayName: DisplayNameSchema,\n })\n .strict();\n\nexport const UpdateViewerCurrencyRequestSchema = z\n .object({\n preferredCurrency: z\n .string()\n .trim()\n .toUpperCase()\n .length(3)\n .regex(/^[A-Z]{3}$/),\n })\n .strict();\n\nexport const NotificationPreferenceItemSchema = z.object({\n category: z.enum(NotificationCategory),\n enabled: z.boolean(),\n});\n\nexport const UpdateNotificationPreferencesRequestSchema = z\n .object({\n preferences: z\n .array(NotificationPreferenceItemSchema)\n .min(1)\n .max(10)\n .refine((items) => new Set(items.map((i) => i.category)).size === items.length, {\n message: 'Duplicate category in preferences',\n }),\n })\n .strict();\n\nexport const SendFeedbackRequestSchema = z\n .object({\n category: z.enum(FeedbackCategory),\n message: z.string().trim().min(10).max(2000),\n })\n .strict();\n\nexport const ViewerMeResponseSchema = z.object({\n id: z.uuid(),\n email: z.email(),\n emailVerified: z.boolean(),\n displayName: z.string().nullable(),\n avatarUrl: z.url().nullable(),\n roles: z.number().int(),\n preferredCurrency: z.string(),\n notificationsEnabledCount: z.number().int(),\n});\n\nexport const NotificationPreferencesResponseSchema = z.object({\n preferences: z.record(z.enum(NotificationCategory), z.boolean()),\n});\n\nexport const SendFeedbackResponseSchema = z.object({\n id: z.uuid(),\n});\n"]}
1
+ {"version":3,"sources":["../src/user/user.schemas.ts"],"names":["HostProfileResponseSchema","z","EventCategory","ProducerProfileResponseSchema","ProducerExperienceLevel","PublicProducerListCategorySchema","ProducerVerificationStatus","UserResponseSchema","AccountStatus","KycStatus","UpdateUserRequestSchema","CreateHostProfileRequestSchema","CreateProducerProfileRequestSchema","RESERVED_DISPLAY_NAMES","DisplayNameSchema","v","UpdateViewerProfileRequestSchema","UpdateViewerCurrencyRequestSchema","NotificationPreferenceItemSchema","NotificationCategory","UpdateNotificationPreferencesRequestSchema","items","i","SendFeedbackRequestSchema","FeedbackCategory","ViewerMeResponseSchema","NotificationPreferencesResponseSchema","SendFeedbackResponseSchema"],"mappings":"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","file":"chunk-MDARXITS.mjs","sourcesContent":["import { z } from 'zod';\nimport {\n AccountStatus,\n FeedbackCategory,\n KycStatus,\n NotificationCategory,\n ProducerExperienceLevel,\n ProducerVerificationStatus,\n} from './user.enums';\nimport { EventCategory } from '../event';\nimport { PublicProducerListCategorySchema } from '../marketplace';\n\nexport const HostProfileResponseSchema = z.object({\n id: z.uuid(),\n userId: z.uuid(),\n businessName: z.string(),\n totalEvents: z.number(),\n totalSpent: z.number(),\n averageRating: z.number(),\n defaultCurrency: z.string(),\n description: z.string().optional(),\n category: z.array(z.enum(EventCategory)),\n logoUrl: z.url().optional(),\n businessRegNumber: z.string().optional(),\n taxId: z.string().optional(),\n settlementBankCode: z.string().optional(),\n settlementAccountNumber: z.string().optional(),\n settlementAccountName: z.string().optional(),\n paystackSubaccountCode: z.string().optional(),\n createdAt: z.iso.datetime(),\n});\n\nexport const ProducerProfileResponseSchema = z.object({\n id: z.uuid(),\n userId: z.uuid(),\n companyName: z.string(),\n bio: z.string(),\n yearsExperience: z.number().optional(),\n experienceLevel: z.enum(ProducerExperienceLevel),\n equipmentManifest: z.array(z.record(z.string(), z.any())),\n serviceCategories: z.array(PublicProducerListCategorySchema),\n equipmentItems: z.array(PublicProducerListCategorySchema),\n verificationStatus: z.enum(ProducerVerificationStatus),\n averageRating: z.number().positive().multipleOf(0.01),\n totalReviews: z.number(),\n completionRate: z.number(),\n isAvailable: z.boolean(),\n createdAt: z.iso.datetime(),\n});\n\nexport const UserResponseSchema = z.object({\n id: z.uuid(),\n email: z.email().toLowerCase(),\n emailVerified: z.boolean(),\n emailVerifiedAt: z.iso.datetime().optional(),\n phoneNumber: z.string().optional(),\n firstName: z.string().optional(),\n lastName: z.string().optional(),\n displayName: z.string().optional(),\n avatarUrl: z.url().optional(),\n role: z.number().min(1).max(15),\n accountStatus: z.enum(AccountStatus),\n kycStatus: z.enum(KycStatus),\n hostProfile: HostProfileResponseSchema.optional(),\n producerProfile: ProducerProfileResponseSchema.optional(),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n eventCategory: z.array(z.enum(EventCategory)).optional(),\n});\n\nexport const UpdateUserRequestSchema = z.object({\n firstName: z.string().optional(),\n lastName: z.string().optional(),\n displayName: z.string().optional(),\n avatarUrl: z.url().optional(),\n phoneNumber: z.string().optional(),\n eventCategory: z.array(z.enum(EventCategory)).optional(),\n});\n\nexport const CreateHostProfileRequestSchema = z.object({\n businessName: z.string(),\n description: z.string().optional(),\n logoUrl: z.string().optional(),\n category: z.array(z.enum(EventCategory)).min(1),\n pin: z.string().length(5),\n});\n\nexport const CreateProducerProfileRequestSchema = z.object({\n companyName: z.string(),\n bio: z.string(),\n logoUrl: z.string().optional(),\n serviceCategoryIds: z.array(z.uuid()).optional(),\n serviceCategoryCodes: z.array(z.string().min(1).max(64)).optional(),\n equipmentItemIds: z.array(z.uuid()).optional(),\n equipmentItemCodes: z.array(z.string().min(1).max(64)).optional(),\n yearsExperience: z.number(),\n experienceLevel: z.enum(ProducerExperienceLevel),\n minFee: z.number(),\n maxFee: z.number(),\n pin: z.string().length(5),\n isAvailable: z.boolean(),\n});\n\nexport const RESERVED_DISPLAY_NAMES: ReadonlySet<string> = new Set([\n 'admin',\n 'support',\n 'livdot',\n 'host',\n 'producer',\n 'system',\n 'null',\n 'undefined',\n 'me',\n 'settings',\n 'viewer',\n 'auth',\n 'events',\n 'streaming',\n 'producers',\n 'marketplace',\n 'users',\n]);\n\n/** Handle constraints — see viewer-settings.md §3.1. */\nexport const DisplayNameSchema = z\n .string()\n .trim()\n .toLowerCase()\n .min(3, 'Display name must be at least 3 characters')\n .max(30, 'Display name must be at most 30 characters')\n .regex(/^[a-z0-9_]+$/, 'Display name may only contain lowercase letters, digits, and underscores')\n .refine((v) => !RESERVED_DISPLAY_NAMES.has(v), {\n message: 'This display name is reserved',\n });\n\nexport const UpdateViewerProfileRequestSchema = z\n .object({\n displayName: DisplayNameSchema,\n })\n .strict();\n\nexport const UpdateViewerCurrencyRequestSchema = z\n .object({\n preferredCurrency: z\n .string()\n .trim()\n .toUpperCase()\n .length(3)\n .regex(/^[A-Z]{3}$/),\n })\n .strict();\n\nexport const NotificationPreferenceItemSchema = z.object({\n category: z.enum(NotificationCategory),\n enabled: z.boolean(),\n});\n\nexport const UpdateNotificationPreferencesRequestSchema = z\n .object({\n preferences: z\n .array(NotificationPreferenceItemSchema)\n .min(1)\n .max(10)\n .refine((items) => new Set(items.map((i) => i.category)).size === items.length, {\n message: 'Duplicate category in preferences',\n }),\n })\n .strict();\n\nexport const SendFeedbackRequestSchema = z\n .object({\n category: z.enum(FeedbackCategory),\n message: z.string().trim().min(10).max(2000),\n })\n .strict();\n\nexport const ViewerMeResponseSchema = z.object({\n id: z.uuid(),\n email: z.email(),\n emailVerified: z.boolean(),\n displayName: z.string().nullable(),\n avatarUrl: z.url().nullable(),\n roles: z.number().int(),\n preferredCurrency: z.string(),\n notificationsEnabledCount: z.number().int(),\n});\n\nexport const NotificationPreferencesResponseSchema = z.object({\n preferences: z.record(z.enum(NotificationCategory), z.boolean()),\n});\n\nexport const SendFeedbackResponseSchema = z.object({\n id: z.uuid(),\n});\n"]}
@@ -1,2 +1,2 @@
1
- 'use strict';var e={INVALID_CREDENTIALS:"auth/invalid-credentials",TOKEN_EXPIRED:"auth/token-expired",TOKEN_INVALID:"auth/token-invalid",TOKEN_MISSING:"auth/token-missing",UNAUTHORIZED:"auth/unauthorized",FORBIDDEN:"auth/forbidden",EMAIL_NOT_VERIFIED:"auth/email-not-verified",EMAIL_ALREADY_EXISTS:"auth/email-already-exists",COGNITO_ERROR:"auth/cognito-error",USER_NOT_FOUND:"user/user-not-found",HOST_PROFILE_NOT_FOUND:"user/host-profile-not-found",HOST_PROFILE_ALREADY_EXISTS:"user/host-profile-already-exists",PRODUCER_PROFILE_NOT_FOUND:"user/producer-profile-not-found",PRODUCER_PROFILE_ALREADY_EXISTS:"user/producer-profile-already-exists",PRODUCER_NOT_VERIFIED:"user/producer-not-verified",INVALID_STATE_TRANSITION:"marketplace/invalid-state-transition",REASON_REQUIRED:"marketplace/reason-required",ACCOUNT_SUSPENDED:"user/account-suspended",KYC_REQUIRED:"user/kyc-required",EVENT_NOT_FOUND:"event/event-not-found",EVENT_NOT_PUBLISHED:"event/event-not-published",EVENT_ALREADY_LIVE:"event/event-already-live",EVENT_CANCELLED:"event/event-cancelled",EVENT_ENDED:"event/event-ended",EVENT_STATE_TRANSITION_INVALID:"event/state-transition-invalid",EVENT_PREFLIGHT_FAILED:"event/preflight-failed",EVENT_MAX_TICKETS_REACHED:"event/max-tickets-reached",EVENT_GEO_RESTRICTED:"event/geo-restricted",EVENT_NOT_ACCESSIBLE:"event/not-accessible",BOOKING_NOT_FOUND:"booking/booking-not-found",BOOKING_STATE_TRANSITION_INVALID:"booking/state-transition-invalid",PRODUCER_UNAVAILABLE:"booking/producer-unavailable",ESCROW_FUNDING_FAILED:"booking/escrow-funding-failed",BOOKING_ALREADY_EXISTS:"booking/booking-already-exists",JOB_LISTING_NOT_FOUND:"booking/job-listing-not-found",JOB_LISTING_CLOSED:"booking/job-listing-closed",INDICATION_OF_INTEREST_DUPLICATE:"booking/ioi-duplicate",INDICATION_OF_INTEREST_NOT_FOUND:"booking/ioi-not-found",HIRING_THREAD_NOT_FOUND:"booking/hiring-thread-not-found",HIRING_THREAD_FORBIDDEN:"booking/hiring-thread-forbidden",STREAM_NOT_ACTIVE:"stream/stream-not-active",ENTITLEMENT_NOT_FOUND:"stream/entitlement-not-found",ENTITLEMENT_EXPIRED:"stream/entitlement-expired",ENTITLEMENT_REVOKED:"stream/entitlement-revoked",STREAM_CREDENTIALS_UNAVAILABLE:"stream/credentials-unavailable",IVS_ERROR:"stream/ivs-error",PAYMENT_NOT_FOUND:"payment/payment-not-found",PAYMENT_ALREADY_PROCESSED:"payment/already-processed",PAYMENT_FAILED:"payment/payment-failed",REFUND_NOT_ELIGIBLE:"payment/refund-not-eligible",PAYOUT_FAILED:"payment/payout-failed",INVALID_AMOUNT:"payment/invalid-amount",PROVIDER_ERROR:"payment/provider-error",DISPUTE_NOT_FOUND:"dispute/dispute-not-found",DISPUTE_ALREADY_EXISTS:"dispute/dispute-already-exists",DISPUTE_DEADLINE_EXCEEDED:"dispute/deadline-exceeded",VALIDATION_ERROR:"general/validation-error",RESOURCE_NOT_FOUND:"general/resource-not-found",CONFLICT:"general/conflict",RATE_LIMITED:"general/rate-limited",INTERNAL_SERVER_ERROR:"general/internal-server-error",SERVICE_UNAVAILABLE:"general/service-unavailable"};exports.a=e;//# sourceMappingURL=chunk-X2I2OKNI.js.map
2
- //# sourceMappingURL=chunk-X2I2OKNI.js.map
1
+ 'use strict';var e={INVALID_CREDENTIALS:"auth/invalid-credentials",TOKEN_EXPIRED:"auth/token-expired",TOKEN_INVALID:"auth/token-invalid",TOKEN_MISSING:"auth/token-missing",UNAUTHORIZED:"auth/unauthorized",FORBIDDEN:"auth/forbidden",EMAIL_NOT_VERIFIED:"auth/email-not-verified",EMAIL_ALREADY_EXISTS:"auth/email-already-exists",COGNITO_ERROR:"auth/cognito-error",USER_NOT_FOUND:"user/user-not-found",HOST_PROFILE_NOT_FOUND:"user/host-profile-not-found",HOST_PROFILE_ALREADY_EXISTS:"user/host-profile-already-exists",PRODUCER_PROFILE_NOT_FOUND:"user/producer-profile-not-found",PRODUCER_PROFILE_ALREADY_EXISTS:"user/producer-profile-already-exists",PRODUCER_NOT_VERIFIED:"user/producer-not-verified",INVALID_STATE_TRANSITION:"marketplace/invalid-state-transition",REASON_REQUIRED:"marketplace/reason-required",ACCOUNT_SUSPENDED:"user/account-suspended",KYC_REQUIRED:"user/kyc-required",EVENT_NOT_FOUND:"event/event-not-found",EVENT_NOT_PUBLISHED:"event/event-not-published",EVENT_ALREADY_LIVE:"event/event-already-live",EVENT_CANCELLED:"event/event-cancelled",EVENT_ENDED:"event/event-ended",EVENT_STATE_TRANSITION_INVALID:"event/state-transition-invalid",EVENT_PREFLIGHT_FAILED:"event/preflight-failed",EVENT_MAX_TICKETS_REACHED:"event/max-tickets-reached",EVENT_GEO_RESTRICTED:"event/geo-restricted",EVENT_NOT_ACCESSIBLE:"event/not-accessible",BOOKING_NOT_FOUND:"booking/booking-not-found",BOOKING_STATE_TRANSITION_INVALID:"booking/state-transition-invalid",PRODUCER_UNAVAILABLE:"booking/producer-unavailable",ESCROW_FUNDING_FAILED:"booking/escrow-funding-failed",BOOKING_ALREADY_EXISTS:"booking/booking-already-exists",JOB_LISTING_NOT_FOUND:"booking/job-listing-not-found",JOB_LISTING_CLOSED:"booking/job-listing-closed",INDICATION_OF_INTEREST_DUPLICATE:"booking/ioi-duplicate",INDICATION_OF_INTEREST_NOT_FOUND:"booking/ioi-not-found",HIRING_THREAD_NOT_FOUND:"booking/hiring-thread-not-found",HIRING_THREAD_FORBIDDEN:"booking/hiring-thread-forbidden",REVIEW_ALREADY_EXISTS:"booking/review-already-exists",BOOKING_NOT_REVIEWABLE:"booking/not-reviewable",STREAM_NOT_ACTIVE:"stream/stream-not-active",ENTITLEMENT_NOT_FOUND:"stream/entitlement-not-found",ENTITLEMENT_EXPIRED:"stream/entitlement-expired",ENTITLEMENT_REVOKED:"stream/entitlement-revoked",STREAM_CREDENTIALS_UNAVAILABLE:"stream/credentials-unavailable",IVS_ERROR:"stream/ivs-error",PAYMENT_NOT_FOUND:"payment/payment-not-found",PAYMENT_ALREADY_PROCESSED:"payment/already-processed",PAYMENT_FAILED:"payment/payment-failed",REFUND_NOT_ELIGIBLE:"payment/refund-not-eligible",PAYOUT_FAILED:"payment/payout-failed",INVALID_AMOUNT:"payment/invalid-amount",PROVIDER_ERROR:"payment/provider-error",DISPUTE_NOT_FOUND:"dispute/dispute-not-found",DISPUTE_ALREADY_EXISTS:"dispute/dispute-already-exists",DISPUTE_DEADLINE_EXCEEDED:"dispute/deadline-exceeded",VALIDATION_ERROR:"general/validation-error",RESOURCE_NOT_FOUND:"general/resource-not-found",CONFLICT:"general/conflict",RATE_LIMITED:"general/rate-limited",INTERNAL_SERVER_ERROR:"general/internal-server-error",SERVICE_UNAVAILABLE:"general/service-unavailable"};exports.a=e;//# sourceMappingURL=chunk-OQ5IXPUN.js.map
2
+ //# sourceMappingURL=chunk-OQ5IXPUN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/errors/error-codes.ts"],"names":["ApiErrorCode"],"mappings":"aAIO,IAAMA,CAAAA,CAAe,CAE1B,mBAAA,CAAqB,0BAAA,CACrB,aAAA,CAAe,oBAAA,CACf,aAAA,CAAe,oBAAA,CACf,aAAA,CAAe,oBAAA,CACf,YAAA,CAAc,mBAAA,CACd,SAAA,CAAW,gBAAA,CACX,kBAAA,CAAoB,yBAAA,CACpB,oBAAA,CAAsB,2BAAA,CACtB,aAAA,CAAe,oBAAA,CAGf,cAAA,CAAgB,qBAAA,CAChB,sBAAA,CAAwB,6BAAA,CACxB,2BAAA,CAA6B,kCAAA,CAC7B,0BAAA,CAA4B,iCAAA,CAC5B,gCAAiC,sCAAA,CACjC,qBAAA,CAAuB,4BAAA,CACvB,wBAAA,CAA0B,sCAAA,CAC1B,eAAA,CAAiB,6BAAA,CACjB,iBAAA,CAAmB,wBAAA,CACnB,YAAA,CAAc,mBAAA,CAGd,eAAA,CAAiB,uBAAA,CACjB,mBAAA,CAAqB,2BAAA,CACrB,kBAAA,CAAoB,0BAAA,CACpB,eAAA,CAAiB,uBAAA,CACjB,WAAA,CAAa,mBAAA,CACb,8BAAA,CAAgC,gCAAA,CAChC,sBAAA,CAAwB,wBAAA,CACxB,yBAAA,CAA2B,2BAAA,CAC3B,oBAAA,CAAsB,sBAAA,CACtB,oBAAA,CAAsB,sBAAA,CAGtB,iBAAA,CAAmB,4BACnB,gCAAA,CAAkC,kCAAA,CAClC,oBAAA,CAAsB,8BAAA,CACtB,qBAAA,CAAuB,+BAAA,CACvB,sBAAA,CAAwB,gCAAA,CACxB,qBAAA,CAAuB,+BAAA,CACvB,kBAAA,CAAoB,4BAAA,CACpB,gCAAA,CAAkC,uBAAA,CAClC,gCAAA,CAAkC,uBAAA,CAClC,uBAAA,CAAyB,iCAAA,CACzB,uBAAA,CAAyB,iCAAA,CACzB,qBAAA,CAAuB,+BAAA,CACvB,sBAAA,CAAwB,wBAAA,CAGxB,iBAAA,CAAmB,0BAAA,CACnB,qBAAA,CAAuB,8BAAA,CACvB,mBAAA,CAAqB,4BAAA,CACrB,mBAAA,CAAqB,4BAAA,CACrB,+BAAgC,gCAAA,CAChC,SAAA,CAAW,kBAAA,CAGX,iBAAA,CAAmB,2BAAA,CACnB,yBAAA,CAA2B,2BAAA,CAC3B,cAAA,CAAgB,wBAAA,CAChB,mBAAA,CAAqB,6BAAA,CACrB,aAAA,CAAe,uBAAA,CACf,cAAA,CAAgB,wBAAA,CAChB,cAAA,CAAgB,yBAGhB,iBAAA,CAAmB,2BAAA,CACnB,sBAAA,CAAwB,gCAAA,CACxB,yBAAA,CAA2B,2BAAA,CAG3B,gBAAA,CAAkB,0BAAA,CAClB,kBAAA,CAAoB,4BAAA,CACpB,QAAA,CAAU,kBAAA,CACV,YAAA,CAAc,sBAAA,CACd,qBAAA,CAAuB,+BAAA,CACvB,oBAAqB,6BACvB","file":"chunk-OQ5IXPUN.js","sourcesContent":["/**\n * Canonical machine-readable error codes for the LivDot platform.\n * These codes are mapped to string slugs used in ApiError.type URLs.\n */\nexport const ApiErrorCode = {\n // AUTH errors\n INVALID_CREDENTIALS: 'auth/invalid-credentials',\n TOKEN_EXPIRED: 'auth/token-expired',\n TOKEN_INVALID: 'auth/token-invalid',\n TOKEN_MISSING: 'auth/token-missing',\n UNAUTHORIZED: 'auth/unauthorized',\n FORBIDDEN: 'auth/forbidden',\n EMAIL_NOT_VERIFIED: 'auth/email-not-verified',\n EMAIL_ALREADY_EXISTS: 'auth/email-already-exists',\n COGNITO_ERROR: 'auth/cognito-error',\n\n // USER errors\n USER_NOT_FOUND: 'user/user-not-found',\n HOST_PROFILE_NOT_FOUND: 'user/host-profile-not-found',\n HOST_PROFILE_ALREADY_EXISTS: 'user/host-profile-already-exists',\n PRODUCER_PROFILE_NOT_FOUND: 'user/producer-profile-not-found',\n PRODUCER_PROFILE_ALREADY_EXISTS: 'user/producer-profile-already-exists',\n PRODUCER_NOT_VERIFIED: 'user/producer-not-verified',\n INVALID_STATE_TRANSITION: 'marketplace/invalid-state-transition',\n REASON_REQUIRED: 'marketplace/reason-required',\n ACCOUNT_SUSPENDED: 'user/account-suspended',\n KYC_REQUIRED: 'user/kyc-required',\n\n // EVENT errors\n EVENT_NOT_FOUND: 'event/event-not-found',\n EVENT_NOT_PUBLISHED: 'event/event-not-published',\n EVENT_ALREADY_LIVE: 'event/event-already-live',\n EVENT_CANCELLED: 'event/event-cancelled',\n EVENT_ENDED: 'event/event-ended',\n EVENT_STATE_TRANSITION_INVALID: 'event/state-transition-invalid',\n EVENT_PREFLIGHT_FAILED: 'event/preflight-failed',\n EVENT_MAX_TICKETS_REACHED: 'event/max-tickets-reached',\n EVENT_GEO_RESTRICTED: 'event/geo-restricted',\n EVENT_NOT_ACCESSIBLE: 'event/not-accessible',\n\n // BOOKING errors\n BOOKING_NOT_FOUND: 'booking/booking-not-found',\n BOOKING_STATE_TRANSITION_INVALID: 'booking/state-transition-invalid',\n PRODUCER_UNAVAILABLE: 'booking/producer-unavailable',\n ESCROW_FUNDING_FAILED: 'booking/escrow-funding-failed',\n BOOKING_ALREADY_EXISTS: 'booking/booking-already-exists',\n JOB_LISTING_NOT_FOUND: 'booking/job-listing-not-found',\n JOB_LISTING_CLOSED: 'booking/job-listing-closed',\n INDICATION_OF_INTEREST_DUPLICATE: 'booking/ioi-duplicate',\n INDICATION_OF_INTEREST_NOT_FOUND: 'booking/ioi-not-found',\n HIRING_THREAD_NOT_FOUND: 'booking/hiring-thread-not-found',\n HIRING_THREAD_FORBIDDEN: 'booking/hiring-thread-forbidden',\n REVIEW_ALREADY_EXISTS: 'booking/review-already-exists',\n BOOKING_NOT_REVIEWABLE: 'booking/not-reviewable',\n\n // STREAM errors\n STREAM_NOT_ACTIVE: 'stream/stream-not-active',\n ENTITLEMENT_NOT_FOUND: 'stream/entitlement-not-found',\n ENTITLEMENT_EXPIRED: 'stream/entitlement-expired',\n ENTITLEMENT_REVOKED: 'stream/entitlement-revoked',\n STREAM_CREDENTIALS_UNAVAILABLE: 'stream/credentials-unavailable',\n IVS_ERROR: 'stream/ivs-error',\n\n // PAYMENT errors\n PAYMENT_NOT_FOUND: 'payment/payment-not-found',\n PAYMENT_ALREADY_PROCESSED: 'payment/already-processed',\n PAYMENT_FAILED: 'payment/payment-failed',\n REFUND_NOT_ELIGIBLE: 'payment/refund-not-eligible',\n PAYOUT_FAILED: 'payment/payout-failed',\n INVALID_AMOUNT: 'payment/invalid-amount',\n PROVIDER_ERROR: 'payment/provider-error',\n\n // DISPUTE errors\n DISPUTE_NOT_FOUND: 'dispute/dispute-not-found',\n DISPUTE_ALREADY_EXISTS: 'dispute/dispute-already-exists',\n DISPUTE_DEADLINE_EXCEEDED: 'dispute/deadline-exceeded',\n\n // GENERAL errors\n VALIDATION_ERROR: 'general/validation-error',\n RESOURCE_NOT_FOUND: 'general/resource-not-found',\n CONFLICT: 'general/conflict',\n RATE_LIMITED: 'general/rate-limited',\n INTERNAL_SERVER_ERROR: 'general/internal-server-error',\n SERVICE_UNAVAILABLE: 'general/service-unavailable',\n} as const;\n\nexport type ApiErrorCode = (typeof ApiErrorCode)[keyof typeof ApiErrorCode];\n"]}
@@ -1,2 +1,2 @@
1
- import {a as a$1}from'./chunk-4BSZOBBY.mjs';import {z}from'zod';var r={GOOGLE:"GOOGLE",APPLE:"APPLE",FACEBOOK:"FACEBOOK",TWITTER:"TWITTER"},s={EMAIL_MATCH:"email_match",EMAIL_MISS:"email_missing"},p={SIGNED_IN:"signed_in",SIGNED_UP:"signed_up",LINK_REQUIRED:"link_required"};var i=new RegExp("^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[ !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~]).{8,}$"),a="Password must be at least 8 characters and include an uppercase letter, a lowercase letter, a number, and a special character.",t=z.string().min(8,a).regex(i,a),R=z.object({email:z.email().toLowerCase(),password:t,firstName:z.string(),lastName:z.string(),role:z.enum(a$1).optional()}),h=z.object({username:z.string(),reference:z.string(),role:z.enum(a$1).optional()}),g=z.object({email:z.email().toLowerCase(),password:t,role:z.enum(a$1).optional()}),x=z.object({otp:z.string().length(4),reference:z.string(),type:z.enum(["registration","passwordReset"])}),f=z.object({reference:z.string(),type:z.enum(["registration","passwordReset"])}),S=z.object({isValid:z.boolean(),message:z.string(),reference:z.string().optional()}),b=z.object({AccessToken:z.string(),RefreshToken:z.string(),IdToken:z.string(),ExpiresIn:z.number(),TokenType:z.literal("Bearer")}),k=z.object({refreshToken:z.string()}),j=z.object({refreshToken:z.string(),accessToken:z.string()}),E=z.object({email:z.email().toLowerCase()}),O=z.object({destination:z.string(),deliveryMedium:z.string(),attributeName:z.string()}),w=z.object({token:z.string(),newPassword:t}),y=z.object({currentPassword:t,newPassword:t}),L=z.object({redirectTo:z.string().min(1).max(2048).optional()}),P=z.object({authorizeUrl:z.url()}),q=z.object({handoff:z.string().min(16).max(128)}),T=z.object({idToken:z.string().min(1).max(8192),nonce:z.string().min(8).max(256),authorizationCode:z.string().min(1).max(1024).optional(),user:z.object({name:z.object({firstName:z.string().max(128).nullable().optional(),lastName:z.string().max(128).nullable().optional()}).optional()}).optional()}),I=z.object({linkHandoff:z.string().min(16).max(128),password:t.optional(),otpReference:z.string().min(1).max(128).optional(),otp:z.string().length(4).optional()}).refine(n=>n.password?true:n.otpReference&&n.otp,"either `password` OR (`otpReference` AND `otp`) must be provided"),A=z.object({linkHandoff:z.string().min(16).max(128)}),_=z.object({kind:z.literal("link_required"),reason:z.enum(s),linkHandoff:z.string(),maskedEmail:z.string(),hasPassword:z.boolean(),provider:z.enum(r)}),v=z.object({otpReference:z.string()}),c=z.object({name:z.enum(r),enabled:z.boolean(),canSignUp:z.boolean()}),C=z.object({providers:z.array(c)}),N=z.object({linkHandoff:z.string().min(16).max(128),email:z.email().max(320)}),G=z.object({password:t}),D=z.object({reauthToken:z.string(),expiresAt:z.iso.datetime()});export{C as A,N as B,G as C,D,r as a,s as b,p as c,t as d,R as e,h as f,g,x as h,f as i,S as j,b as k,k as l,j as m,E as n,O as o,w as p,y as q,L as r,P as s,q as t,T as u,I as v,A as w,_ as x,v as y,c as z};//# sourceMappingURL=chunk-JD5MUCP6.mjs.map
2
- //# sourceMappingURL=chunk-JD5MUCP6.mjs.map
1
+ import {a as a$1}from'./chunk-3MXER4II.mjs';import {z}from'zod';var r={GOOGLE:"GOOGLE",APPLE:"APPLE",FACEBOOK:"FACEBOOK",TWITTER:"TWITTER"},s={EMAIL_MATCH:"email_match",EMAIL_MISS:"email_missing"},p={SIGNED_IN:"signed_in",SIGNED_UP:"signed_up",LINK_REQUIRED:"link_required"};var i=new RegExp("^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[ !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~]).{8,}$"),a="Password must be at least 8 characters and include an uppercase letter, a lowercase letter, a number, and a special character.",t=z.string().min(8,a).regex(i,a),R=z.object({email:z.email().toLowerCase(),password:t,firstName:z.string(),lastName:z.string(),role:z.enum(a$1).optional()}),h=z.object({username:z.string(),reference:z.string(),role:z.enum(a$1).optional()}),g=z.object({email:z.email().toLowerCase(),password:t,role:z.enum(a$1).optional()}),x=z.object({otp:z.string().length(4),reference:z.string(),type:z.enum(["registration","passwordReset"])}),f=z.object({reference:z.string(),type:z.enum(["registration","passwordReset"])}),S=z.object({isValid:z.boolean(),message:z.string(),reference:z.string().optional()}),b=z.object({AccessToken:z.string(),RefreshToken:z.string(),IdToken:z.string(),ExpiresIn:z.number(),TokenType:z.literal("Bearer")}),k=z.object({refreshToken:z.string()}),j=z.object({refreshToken:z.string(),accessToken:z.string()}),E=z.object({email:z.email().toLowerCase()}),O=z.object({destination:z.string(),deliveryMedium:z.string(),attributeName:z.string()}),w=z.object({token:z.string(),newPassword:t}),y=z.object({currentPassword:t,newPassword:t}),L=z.object({redirectTo:z.string().min(1).max(2048).optional()}),P=z.object({authorizeUrl:z.url()}),q=z.object({handoff:z.string().min(16).max(128)}),T=z.object({idToken:z.string().min(1).max(8192),nonce:z.string().min(8).max(256),authorizationCode:z.string().min(1).max(1024).optional(),user:z.object({name:z.object({firstName:z.string().max(128).nullable().optional(),lastName:z.string().max(128).nullable().optional()}).optional()}).optional()}),I=z.object({linkHandoff:z.string().min(16).max(128),password:t.optional(),otpReference:z.string().min(1).max(128).optional(),otp:z.string().length(4).optional()}).refine(n=>n.password?true:n.otpReference&&n.otp,"either `password` OR (`otpReference` AND `otp`) must be provided"),A=z.object({linkHandoff:z.string().min(16).max(128)}),_=z.object({kind:z.literal("link_required"),reason:z.enum(s),linkHandoff:z.string(),maskedEmail:z.string(),hasPassword:z.boolean(),provider:z.enum(r)}),v=z.object({otpReference:z.string()}),c=z.object({name:z.enum(r),enabled:z.boolean(),canSignUp:z.boolean()}),C=z.object({providers:z.array(c)}),N=z.object({linkHandoff:z.string().min(16).max(128),email:z.email().max(320)}),G=z.object({password:t}),D=z.object({reauthToken:z.string(),expiresAt:z.iso.datetime()});export{C as A,N as B,G as C,D,r as a,s as b,p as c,t as d,R as e,h as f,g,x as h,f as i,S as j,b as k,k as l,j as m,E as n,O as o,w as p,y as q,L as r,P as s,q as t,T as u,I as v,A as w,_ as x,v as y,c as z};//# sourceMappingURL=chunk-OZAE7JGN.mjs.map
2
+ //# sourceMappingURL=chunk-OZAE7JGN.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/auth/auth.enums.ts","../src/auth/auth.schemas.ts"],"names":["IdentityProvider","LinkRequiredReasonEnum","OauthResolveKind","PASSWORD_REGEX","PASSWORD_MESSAGE","PasswordSchema","z","RegisterRequestSchema","UserRole","RegisterResponseSchema","LoginRequestSchema","VerifyOtpRequestSchema","ResendOtpRequestSchema","VerifyOtpResponseSchema","LoginResponseSchema","RefreshTokenRequestSchema","LogoutRequestSchema","ForgotPasswordRequestSchema","ForgotPasswordResponseSchema","ResetPasswordRequestSchema","ChangePasswordRequestSchema","OauthStartQuerySchema","OauthStartResponseSchema","OauthExchangeRequestSchema","OauthDirectTokenRequestSchema","OauthLinkCompleteRequestSchema","v","OauthLinkSendOtpRequestSchema","LinkRequiredResponseSchema","OauthLinkSendOtpResponseSchema","ProvidersListItemSchema","ProvidersListResponseSchema","OauthLinkCompleteEmailRequestSchema","ConfirmPasswordSchema","ReauthTokenResponseSchema"],"mappings":"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","file":"chunk-JD5MUCP6.mjs","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\nconst PASSWORD_MESSAGE =\n 'Password must be at least 8 characters and include an uppercase letter, a lowercase letter, a number, and a special character.';\n\nexport const PasswordSchema = z\n .string()\n .min(8, PASSWORD_MESSAGE)\n .regex(PASSWORD_REGEX, PASSWORD_MESSAGE);\n\n/**\n * Zod schema for registration request.\n */\nexport const RegisterRequestSchema = z.object({\n email: z.email().toLowerCase(),\n password: PasswordSchema,\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: PasswordSchema,\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: PasswordSchema,\n});\n\n/**\n * Zod schema for change password request.\n */\nexport const ChangePasswordRequestSchema = z.object({\n currentPassword: PasswordSchema,\n newPassword: PasswordSchema,\n});\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: PasswordSchema.optional(),\n otpReference: z.string().min(1).max(128).optional(),\n otp: z.string().length(4).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: PasswordSchema,\n});\n\nexport const ReauthTokenResponseSchema = z.object({\n reauthToken: z.string(),\n expiresAt: z.iso.datetime(), // ISO date string ;\n});\n"]}
1
+ {"version":3,"sources":["../src/auth/auth.enums.ts","../src/auth/auth.schemas.ts"],"names":["IdentityProvider","LinkRequiredReasonEnum","OauthResolveKind","PASSWORD_REGEX","PASSWORD_MESSAGE","PasswordSchema","z","RegisterRequestSchema","UserRole","RegisterResponseSchema","LoginRequestSchema","VerifyOtpRequestSchema","ResendOtpRequestSchema","VerifyOtpResponseSchema","LoginResponseSchema","RefreshTokenRequestSchema","LogoutRequestSchema","ForgotPasswordRequestSchema","ForgotPasswordResponseSchema","ResetPasswordRequestSchema","ChangePasswordRequestSchema","OauthStartQuerySchema","OauthStartResponseSchema","OauthExchangeRequestSchema","OauthDirectTokenRequestSchema","OauthLinkCompleteRequestSchema","v","OauthLinkSendOtpRequestSchema","LinkRequiredResponseSchema","OauthLinkSendOtpResponseSchema","ProvidersListItemSchema","ProvidersListResponseSchema","OauthLinkCompleteEmailRequestSchema","ConfirmPasswordSchema","ReauthTokenResponseSchema"],"mappings":"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","file":"chunk-OZAE7JGN.mjs","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\nconst PASSWORD_MESSAGE =\n 'Password must be at least 8 characters and include an uppercase letter, a lowercase letter, a number, and a special character.';\n\nexport const PasswordSchema = z\n .string()\n .min(8, PASSWORD_MESSAGE)\n .regex(PASSWORD_REGEX, PASSWORD_MESSAGE);\n\n/**\n * Zod schema for registration request.\n */\nexport const RegisterRequestSchema = z.object({\n email: z.email().toLowerCase(),\n password: PasswordSchema,\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: PasswordSchema,\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: PasswordSchema,\n});\n\n/**\n * Zod schema for change password request.\n */\nexport const ChangePasswordRequestSchema = z.object({\n currentPassword: PasswordSchema,\n newPassword: PasswordSchema,\n});\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: PasswordSchema.optional(),\n otpReference: z.string().min(1).max(128).optional(),\n otp: z.string().length(4).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: PasswordSchema,\n});\n\nexport const ReauthTokenResponseSchema = z.object({\n reauthToken: z.string(),\n expiresAt: z.iso.datetime(), // ISO date string ;\n});\n"]}
@@ -1,2 +1,2 @@
1
- var e={INVALID_CREDENTIALS:"auth/invalid-credentials",TOKEN_EXPIRED:"auth/token-expired",TOKEN_INVALID:"auth/token-invalid",TOKEN_MISSING:"auth/token-missing",UNAUTHORIZED:"auth/unauthorized",FORBIDDEN:"auth/forbidden",EMAIL_NOT_VERIFIED:"auth/email-not-verified",EMAIL_ALREADY_EXISTS:"auth/email-already-exists",COGNITO_ERROR:"auth/cognito-error",USER_NOT_FOUND:"user/user-not-found",HOST_PROFILE_NOT_FOUND:"user/host-profile-not-found",HOST_PROFILE_ALREADY_EXISTS:"user/host-profile-already-exists",PRODUCER_PROFILE_NOT_FOUND:"user/producer-profile-not-found",PRODUCER_PROFILE_ALREADY_EXISTS:"user/producer-profile-already-exists",PRODUCER_NOT_VERIFIED:"user/producer-not-verified",INVALID_STATE_TRANSITION:"marketplace/invalid-state-transition",REASON_REQUIRED:"marketplace/reason-required",ACCOUNT_SUSPENDED:"user/account-suspended",KYC_REQUIRED:"user/kyc-required",EVENT_NOT_FOUND:"event/event-not-found",EVENT_NOT_PUBLISHED:"event/event-not-published",EVENT_ALREADY_LIVE:"event/event-already-live",EVENT_CANCELLED:"event/event-cancelled",EVENT_ENDED:"event/event-ended",EVENT_STATE_TRANSITION_INVALID:"event/state-transition-invalid",EVENT_PREFLIGHT_FAILED:"event/preflight-failed",EVENT_MAX_TICKETS_REACHED:"event/max-tickets-reached",EVENT_GEO_RESTRICTED:"event/geo-restricted",EVENT_NOT_ACCESSIBLE:"event/not-accessible",BOOKING_NOT_FOUND:"booking/booking-not-found",BOOKING_STATE_TRANSITION_INVALID:"booking/state-transition-invalid",PRODUCER_UNAVAILABLE:"booking/producer-unavailable",ESCROW_FUNDING_FAILED:"booking/escrow-funding-failed",BOOKING_ALREADY_EXISTS:"booking/booking-already-exists",JOB_LISTING_NOT_FOUND:"booking/job-listing-not-found",JOB_LISTING_CLOSED:"booking/job-listing-closed",INDICATION_OF_INTEREST_DUPLICATE:"booking/ioi-duplicate",INDICATION_OF_INTEREST_NOT_FOUND:"booking/ioi-not-found",HIRING_THREAD_NOT_FOUND:"booking/hiring-thread-not-found",HIRING_THREAD_FORBIDDEN:"booking/hiring-thread-forbidden",STREAM_NOT_ACTIVE:"stream/stream-not-active",ENTITLEMENT_NOT_FOUND:"stream/entitlement-not-found",ENTITLEMENT_EXPIRED:"stream/entitlement-expired",ENTITLEMENT_REVOKED:"stream/entitlement-revoked",STREAM_CREDENTIALS_UNAVAILABLE:"stream/credentials-unavailable",IVS_ERROR:"stream/ivs-error",PAYMENT_NOT_FOUND:"payment/payment-not-found",PAYMENT_ALREADY_PROCESSED:"payment/already-processed",PAYMENT_FAILED:"payment/payment-failed",REFUND_NOT_ELIGIBLE:"payment/refund-not-eligible",PAYOUT_FAILED:"payment/payout-failed",INVALID_AMOUNT:"payment/invalid-amount",PROVIDER_ERROR:"payment/provider-error",DISPUTE_NOT_FOUND:"dispute/dispute-not-found",DISPUTE_ALREADY_EXISTS:"dispute/dispute-already-exists",DISPUTE_DEADLINE_EXCEEDED:"dispute/deadline-exceeded",VALIDATION_ERROR:"general/validation-error",RESOURCE_NOT_FOUND:"general/resource-not-found",CONFLICT:"general/conflict",RATE_LIMITED:"general/rate-limited",INTERNAL_SERVER_ERROR:"general/internal-server-error",SERVICE_UNAVAILABLE:"general/service-unavailable"};export{e as a};//# sourceMappingURL=chunk-SC6R26OW.mjs.map
2
- //# sourceMappingURL=chunk-SC6R26OW.mjs.map
1
+ var e={INVALID_CREDENTIALS:"auth/invalid-credentials",TOKEN_EXPIRED:"auth/token-expired",TOKEN_INVALID:"auth/token-invalid",TOKEN_MISSING:"auth/token-missing",UNAUTHORIZED:"auth/unauthorized",FORBIDDEN:"auth/forbidden",EMAIL_NOT_VERIFIED:"auth/email-not-verified",EMAIL_ALREADY_EXISTS:"auth/email-already-exists",COGNITO_ERROR:"auth/cognito-error",USER_NOT_FOUND:"user/user-not-found",HOST_PROFILE_NOT_FOUND:"user/host-profile-not-found",HOST_PROFILE_ALREADY_EXISTS:"user/host-profile-already-exists",PRODUCER_PROFILE_NOT_FOUND:"user/producer-profile-not-found",PRODUCER_PROFILE_ALREADY_EXISTS:"user/producer-profile-already-exists",PRODUCER_NOT_VERIFIED:"user/producer-not-verified",INVALID_STATE_TRANSITION:"marketplace/invalid-state-transition",REASON_REQUIRED:"marketplace/reason-required",ACCOUNT_SUSPENDED:"user/account-suspended",KYC_REQUIRED:"user/kyc-required",EVENT_NOT_FOUND:"event/event-not-found",EVENT_NOT_PUBLISHED:"event/event-not-published",EVENT_ALREADY_LIVE:"event/event-already-live",EVENT_CANCELLED:"event/event-cancelled",EVENT_ENDED:"event/event-ended",EVENT_STATE_TRANSITION_INVALID:"event/state-transition-invalid",EVENT_PREFLIGHT_FAILED:"event/preflight-failed",EVENT_MAX_TICKETS_REACHED:"event/max-tickets-reached",EVENT_GEO_RESTRICTED:"event/geo-restricted",EVENT_NOT_ACCESSIBLE:"event/not-accessible",BOOKING_NOT_FOUND:"booking/booking-not-found",BOOKING_STATE_TRANSITION_INVALID:"booking/state-transition-invalid",PRODUCER_UNAVAILABLE:"booking/producer-unavailable",ESCROW_FUNDING_FAILED:"booking/escrow-funding-failed",BOOKING_ALREADY_EXISTS:"booking/booking-already-exists",JOB_LISTING_NOT_FOUND:"booking/job-listing-not-found",JOB_LISTING_CLOSED:"booking/job-listing-closed",INDICATION_OF_INTEREST_DUPLICATE:"booking/ioi-duplicate",INDICATION_OF_INTEREST_NOT_FOUND:"booking/ioi-not-found",HIRING_THREAD_NOT_FOUND:"booking/hiring-thread-not-found",HIRING_THREAD_FORBIDDEN:"booking/hiring-thread-forbidden",REVIEW_ALREADY_EXISTS:"booking/review-already-exists",BOOKING_NOT_REVIEWABLE:"booking/not-reviewable",STREAM_NOT_ACTIVE:"stream/stream-not-active",ENTITLEMENT_NOT_FOUND:"stream/entitlement-not-found",ENTITLEMENT_EXPIRED:"stream/entitlement-expired",ENTITLEMENT_REVOKED:"stream/entitlement-revoked",STREAM_CREDENTIALS_UNAVAILABLE:"stream/credentials-unavailable",IVS_ERROR:"stream/ivs-error",PAYMENT_NOT_FOUND:"payment/payment-not-found",PAYMENT_ALREADY_PROCESSED:"payment/already-processed",PAYMENT_FAILED:"payment/payment-failed",REFUND_NOT_ELIGIBLE:"payment/refund-not-eligible",PAYOUT_FAILED:"payment/payout-failed",INVALID_AMOUNT:"payment/invalid-amount",PROVIDER_ERROR:"payment/provider-error",DISPUTE_NOT_FOUND:"dispute/dispute-not-found",DISPUTE_ALREADY_EXISTS:"dispute/dispute-already-exists",DISPUTE_DEADLINE_EXCEEDED:"dispute/deadline-exceeded",VALIDATION_ERROR:"general/validation-error",RESOURCE_NOT_FOUND:"general/resource-not-found",CONFLICT:"general/conflict",RATE_LIMITED:"general/rate-limited",INTERNAL_SERVER_ERROR:"general/internal-server-error",SERVICE_UNAVAILABLE:"general/service-unavailable"};export{e as a};//# sourceMappingURL=chunk-POWB7OM6.mjs.map
2
+ //# sourceMappingURL=chunk-POWB7OM6.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/errors/error-codes.ts"],"names":["ApiErrorCode"],"mappings":"AAIO,IAAMA,CAAAA,CAAe,CAE1B,mBAAA,CAAqB,0BAAA,CACrB,aAAA,CAAe,oBAAA,CACf,aAAA,CAAe,oBAAA,CACf,aAAA,CAAe,oBAAA,CACf,YAAA,CAAc,mBAAA,CACd,SAAA,CAAW,gBAAA,CACX,kBAAA,CAAoB,yBAAA,CACpB,oBAAA,CAAsB,2BAAA,CACtB,aAAA,CAAe,oBAAA,CAGf,cAAA,CAAgB,qBAAA,CAChB,sBAAA,CAAwB,6BAAA,CACxB,2BAAA,CAA6B,kCAAA,CAC7B,0BAAA,CAA4B,iCAAA,CAC5B,gCAAiC,sCAAA,CACjC,qBAAA,CAAuB,4BAAA,CACvB,wBAAA,CAA0B,sCAAA,CAC1B,eAAA,CAAiB,6BAAA,CACjB,iBAAA,CAAmB,wBAAA,CACnB,YAAA,CAAc,mBAAA,CAGd,eAAA,CAAiB,uBAAA,CACjB,mBAAA,CAAqB,2BAAA,CACrB,kBAAA,CAAoB,0BAAA,CACpB,eAAA,CAAiB,uBAAA,CACjB,WAAA,CAAa,mBAAA,CACb,8BAAA,CAAgC,gCAAA,CAChC,sBAAA,CAAwB,wBAAA,CACxB,yBAAA,CAA2B,2BAAA,CAC3B,oBAAA,CAAsB,sBAAA,CACtB,oBAAA,CAAsB,sBAAA,CAGtB,iBAAA,CAAmB,4BACnB,gCAAA,CAAkC,kCAAA,CAClC,oBAAA,CAAsB,8BAAA,CACtB,qBAAA,CAAuB,+BAAA,CACvB,sBAAA,CAAwB,gCAAA,CACxB,qBAAA,CAAuB,+BAAA,CACvB,kBAAA,CAAoB,4BAAA,CACpB,gCAAA,CAAkC,uBAAA,CAClC,gCAAA,CAAkC,uBAAA,CAClC,uBAAA,CAAyB,iCAAA,CACzB,uBAAA,CAAyB,iCAAA,CACzB,qBAAA,CAAuB,+BAAA,CACvB,sBAAA,CAAwB,wBAAA,CAGxB,iBAAA,CAAmB,0BAAA,CACnB,qBAAA,CAAuB,8BAAA,CACvB,mBAAA,CAAqB,4BAAA,CACrB,mBAAA,CAAqB,4BAAA,CACrB,+BAAgC,gCAAA,CAChC,SAAA,CAAW,kBAAA,CAGX,iBAAA,CAAmB,2BAAA,CACnB,yBAAA,CAA2B,2BAAA,CAC3B,cAAA,CAAgB,wBAAA,CAChB,mBAAA,CAAqB,6BAAA,CACrB,aAAA,CAAe,uBAAA,CACf,cAAA,CAAgB,wBAAA,CAChB,cAAA,CAAgB,yBAGhB,iBAAA,CAAmB,2BAAA,CACnB,sBAAA,CAAwB,gCAAA,CACxB,yBAAA,CAA2B,2BAAA,CAG3B,gBAAA,CAAkB,0BAAA,CAClB,kBAAA,CAAoB,4BAAA,CACpB,QAAA,CAAU,kBAAA,CACV,YAAA,CAAc,sBAAA,CACd,qBAAA,CAAuB,+BAAA,CACvB,oBAAqB,6BACvB","file":"chunk-POWB7OM6.mjs","sourcesContent":["/**\n * Canonical machine-readable error codes for the LivDot platform.\n * These codes are mapped to string slugs used in ApiError.type URLs.\n */\nexport const ApiErrorCode = {\n // AUTH errors\n INVALID_CREDENTIALS: 'auth/invalid-credentials',\n TOKEN_EXPIRED: 'auth/token-expired',\n TOKEN_INVALID: 'auth/token-invalid',\n TOKEN_MISSING: 'auth/token-missing',\n UNAUTHORIZED: 'auth/unauthorized',\n FORBIDDEN: 'auth/forbidden',\n EMAIL_NOT_VERIFIED: 'auth/email-not-verified',\n EMAIL_ALREADY_EXISTS: 'auth/email-already-exists',\n COGNITO_ERROR: 'auth/cognito-error',\n\n // USER errors\n USER_NOT_FOUND: 'user/user-not-found',\n HOST_PROFILE_NOT_FOUND: 'user/host-profile-not-found',\n HOST_PROFILE_ALREADY_EXISTS: 'user/host-profile-already-exists',\n PRODUCER_PROFILE_NOT_FOUND: 'user/producer-profile-not-found',\n PRODUCER_PROFILE_ALREADY_EXISTS: 'user/producer-profile-already-exists',\n PRODUCER_NOT_VERIFIED: 'user/producer-not-verified',\n INVALID_STATE_TRANSITION: 'marketplace/invalid-state-transition',\n REASON_REQUIRED: 'marketplace/reason-required',\n ACCOUNT_SUSPENDED: 'user/account-suspended',\n KYC_REQUIRED: 'user/kyc-required',\n\n // EVENT errors\n EVENT_NOT_FOUND: 'event/event-not-found',\n EVENT_NOT_PUBLISHED: 'event/event-not-published',\n EVENT_ALREADY_LIVE: 'event/event-already-live',\n EVENT_CANCELLED: 'event/event-cancelled',\n EVENT_ENDED: 'event/event-ended',\n EVENT_STATE_TRANSITION_INVALID: 'event/state-transition-invalid',\n EVENT_PREFLIGHT_FAILED: 'event/preflight-failed',\n EVENT_MAX_TICKETS_REACHED: 'event/max-tickets-reached',\n EVENT_GEO_RESTRICTED: 'event/geo-restricted',\n EVENT_NOT_ACCESSIBLE: 'event/not-accessible',\n\n // BOOKING errors\n BOOKING_NOT_FOUND: 'booking/booking-not-found',\n BOOKING_STATE_TRANSITION_INVALID: 'booking/state-transition-invalid',\n PRODUCER_UNAVAILABLE: 'booking/producer-unavailable',\n ESCROW_FUNDING_FAILED: 'booking/escrow-funding-failed',\n BOOKING_ALREADY_EXISTS: 'booking/booking-already-exists',\n JOB_LISTING_NOT_FOUND: 'booking/job-listing-not-found',\n JOB_LISTING_CLOSED: 'booking/job-listing-closed',\n INDICATION_OF_INTEREST_DUPLICATE: 'booking/ioi-duplicate',\n INDICATION_OF_INTEREST_NOT_FOUND: 'booking/ioi-not-found',\n HIRING_THREAD_NOT_FOUND: 'booking/hiring-thread-not-found',\n HIRING_THREAD_FORBIDDEN: 'booking/hiring-thread-forbidden',\n REVIEW_ALREADY_EXISTS: 'booking/review-already-exists',\n BOOKING_NOT_REVIEWABLE: 'booking/not-reviewable',\n\n // STREAM errors\n STREAM_NOT_ACTIVE: 'stream/stream-not-active',\n ENTITLEMENT_NOT_FOUND: 'stream/entitlement-not-found',\n ENTITLEMENT_EXPIRED: 'stream/entitlement-expired',\n ENTITLEMENT_REVOKED: 'stream/entitlement-revoked',\n STREAM_CREDENTIALS_UNAVAILABLE: 'stream/credentials-unavailable',\n IVS_ERROR: 'stream/ivs-error',\n\n // PAYMENT errors\n PAYMENT_NOT_FOUND: 'payment/payment-not-found',\n PAYMENT_ALREADY_PROCESSED: 'payment/already-processed',\n PAYMENT_FAILED: 'payment/payment-failed',\n REFUND_NOT_ELIGIBLE: 'payment/refund-not-eligible',\n PAYOUT_FAILED: 'payment/payout-failed',\n INVALID_AMOUNT: 'payment/invalid-amount',\n PROVIDER_ERROR: 'payment/provider-error',\n\n // DISPUTE errors\n DISPUTE_NOT_FOUND: 'dispute/dispute-not-found',\n DISPUTE_ALREADY_EXISTS: 'dispute/dispute-already-exists',\n DISPUTE_DEADLINE_EXCEEDED: 'dispute/deadline-exceeded',\n\n // GENERAL errors\n VALIDATION_ERROR: 'general/validation-error',\n RESOURCE_NOT_FOUND: 'general/resource-not-found',\n CONFLICT: 'general/conflict',\n RATE_LIMITED: 'general/rate-limited',\n INTERNAL_SERVER_ERROR: 'general/internal-server-error',\n SERVICE_UNAVAILABLE: 'general/service-unavailable',\n} as const;\n\nexport type ApiErrorCode = (typeof ApiErrorCode)[keyof typeof ApiErrorCode];\n"]}