@livdot-tech/contracts 1.9.12 → 1.9.13
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.
- package/dist/booking/index.d.mts +12 -3
- package/dist/booking/index.d.ts +12 -3
- package/dist/booking/index.js +1 -1
- package/dist/booking/index.mjs +1 -1
- package/dist/chunk-DIGMDWL4.js +2 -0
- package/dist/chunk-DIGMDWL4.js.map +1 -0
- package/dist/chunk-EJYBQ36M.mjs +2 -0
- package/dist/chunk-EJYBQ36M.mjs.map +1 -0
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
- package/dist/chunk-2GHQK4DE.js +0 -2
- package/dist/chunk-2GHQK4DE.js.map +0 -1
- package/dist/chunk-TXSGI7M5.mjs +0 -2
- package/dist/chunk-TXSGI7M5.mjs.map +0 -1
package/dist/booking/index.d.mts
CHANGED
|
@@ -394,11 +394,13 @@ declare const CompleteMarketplaceBookingResponseSchema: z.ZodObject<{
|
|
|
394
394
|
}, z.core.$strip>;
|
|
395
395
|
/** `POST /marketplace/job-listings` — publish immediately unless `saveAsDraft` */
|
|
396
396
|
declare const CreateMarketplaceJobListingRequestSchema: z.ZodObject<{
|
|
397
|
-
|
|
397
|
+
eventTitle: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
398
|
+
title: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
398
399
|
description: z.ZodOptional<z.ZodString>;
|
|
399
400
|
responsibilities: z.ZodOptional<z.ZodString>;
|
|
400
401
|
requirements: z.ZodOptional<z.ZodString>;
|
|
401
402
|
role: z.ZodOptional<z.ZodString>;
|
|
403
|
+
requiredCount: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
|
|
402
404
|
requiredDate: z.ZodOptional<z.ZodOptional<z.ZodISODateTime>>;
|
|
403
405
|
estimatedDurationMinutes: z.ZodOptional<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
|
|
404
406
|
location: z.ZodOptional<z.ZodEnum<{
|
|
@@ -412,11 +414,13 @@ declare const CreateMarketplaceJobListingRequestSchema: z.ZodObject<{
|
|
|
412
414
|
saveAsDraft: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
413
415
|
}, z.core.$strip>;
|
|
414
416
|
declare const UpdateMarketplaceJobListingRequestSchema: z.ZodObject<{
|
|
415
|
-
|
|
417
|
+
eventTitle: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
418
|
+
title: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
416
419
|
description: z.ZodOptional<z.ZodString>;
|
|
417
420
|
responsibilities: z.ZodOptional<z.ZodString>;
|
|
418
421
|
requirements: z.ZodOptional<z.ZodString>;
|
|
419
422
|
role: z.ZodOptional<z.ZodString>;
|
|
423
|
+
requiredCount: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
|
|
420
424
|
requiredDate: z.ZodOptional<z.ZodOptional<z.ZodISODateTime>>;
|
|
421
425
|
estimatedDurationMinutes: z.ZodOptional<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
|
|
422
426
|
location: z.ZodOptional<z.ZodEnum<{
|
|
@@ -451,15 +455,18 @@ declare const ListHostMarketplaceJobListingsQuerySchema: z.ZodObject<{
|
|
|
451
455
|
}, z.core.$strip>;
|
|
452
456
|
/** Required persisted fields before a DRAFT job listing can be published */
|
|
453
457
|
declare const PublishReadyJobListingSchema: z.ZodObject<{
|
|
454
|
-
|
|
458
|
+
eventTitle: z.ZodOptional<z.ZodString>;
|
|
459
|
+
title: z.ZodOptional<z.ZodString>;
|
|
455
460
|
description: z.ZodString;
|
|
456
461
|
responsibilities: z.ZodString;
|
|
457
462
|
requirements: z.ZodString;
|
|
458
463
|
role: z.ZodString;
|
|
464
|
+
requiredCount: z.ZodCoercedNumber<unknown>;
|
|
459
465
|
location: z.ZodEnum<{
|
|
460
466
|
readonly ONSITE: "ONSITE";
|
|
461
467
|
readonly REMOTE: "REMOTE";
|
|
462
468
|
}>;
|
|
469
|
+
eventId: z.ZodOptional<z.ZodUUID>;
|
|
463
470
|
}, z.core.$strip>;
|
|
464
471
|
/** `POST /marketplace/job-listings/:id/publish` (host owner) */
|
|
465
472
|
declare const PublishMarketplaceJobListingResponseSchema: z.ZodObject<{
|
|
@@ -471,11 +478,13 @@ declare const MarketplaceJobListingResponseSchema: z.ZodObject<{
|
|
|
471
478
|
hostProfileId: z.ZodUUID;
|
|
472
479
|
eventId: z.ZodNullable<z.ZodUUID>;
|
|
473
480
|
title: z.ZodString;
|
|
481
|
+
eventTitle: z.ZodNullable<z.ZodString>;
|
|
474
482
|
notes: z.ZodNullable<z.ZodString>;
|
|
475
483
|
description: z.ZodString;
|
|
476
484
|
responsibilities: z.ZodString;
|
|
477
485
|
requirements: z.ZodString;
|
|
478
486
|
role: z.ZodString;
|
|
487
|
+
requiredCount: z.ZodNumber;
|
|
479
488
|
requiredDate: z.ZodNullable<z.ZodString>;
|
|
480
489
|
estimatedDurationMinutes: z.ZodNullable<z.ZodNumber>;
|
|
481
490
|
location: z.ZodEnum<{
|
package/dist/booking/index.d.ts
CHANGED
|
@@ -394,11 +394,13 @@ declare const CompleteMarketplaceBookingResponseSchema: z.ZodObject<{
|
|
|
394
394
|
}, z.core.$strip>;
|
|
395
395
|
/** `POST /marketplace/job-listings` — publish immediately unless `saveAsDraft` */
|
|
396
396
|
declare const CreateMarketplaceJobListingRequestSchema: z.ZodObject<{
|
|
397
|
-
|
|
397
|
+
eventTitle: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
398
|
+
title: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
398
399
|
description: z.ZodOptional<z.ZodString>;
|
|
399
400
|
responsibilities: z.ZodOptional<z.ZodString>;
|
|
400
401
|
requirements: z.ZodOptional<z.ZodString>;
|
|
401
402
|
role: z.ZodOptional<z.ZodString>;
|
|
403
|
+
requiredCount: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
|
|
402
404
|
requiredDate: z.ZodOptional<z.ZodOptional<z.ZodISODateTime>>;
|
|
403
405
|
estimatedDurationMinutes: z.ZodOptional<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
|
|
404
406
|
location: z.ZodOptional<z.ZodEnum<{
|
|
@@ -412,11 +414,13 @@ declare const CreateMarketplaceJobListingRequestSchema: z.ZodObject<{
|
|
|
412
414
|
saveAsDraft: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
413
415
|
}, z.core.$strip>;
|
|
414
416
|
declare const UpdateMarketplaceJobListingRequestSchema: z.ZodObject<{
|
|
415
|
-
|
|
417
|
+
eventTitle: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
418
|
+
title: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
416
419
|
description: z.ZodOptional<z.ZodString>;
|
|
417
420
|
responsibilities: z.ZodOptional<z.ZodString>;
|
|
418
421
|
requirements: z.ZodOptional<z.ZodString>;
|
|
419
422
|
role: z.ZodOptional<z.ZodString>;
|
|
423
|
+
requiredCount: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
|
|
420
424
|
requiredDate: z.ZodOptional<z.ZodOptional<z.ZodISODateTime>>;
|
|
421
425
|
estimatedDurationMinutes: z.ZodOptional<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
|
|
422
426
|
location: z.ZodOptional<z.ZodEnum<{
|
|
@@ -451,15 +455,18 @@ declare const ListHostMarketplaceJobListingsQuerySchema: z.ZodObject<{
|
|
|
451
455
|
}, z.core.$strip>;
|
|
452
456
|
/** Required persisted fields before a DRAFT job listing can be published */
|
|
453
457
|
declare const PublishReadyJobListingSchema: z.ZodObject<{
|
|
454
|
-
|
|
458
|
+
eventTitle: z.ZodOptional<z.ZodString>;
|
|
459
|
+
title: z.ZodOptional<z.ZodString>;
|
|
455
460
|
description: z.ZodString;
|
|
456
461
|
responsibilities: z.ZodString;
|
|
457
462
|
requirements: z.ZodString;
|
|
458
463
|
role: z.ZodString;
|
|
464
|
+
requiredCount: z.ZodCoercedNumber<unknown>;
|
|
459
465
|
location: z.ZodEnum<{
|
|
460
466
|
readonly ONSITE: "ONSITE";
|
|
461
467
|
readonly REMOTE: "REMOTE";
|
|
462
468
|
}>;
|
|
469
|
+
eventId: z.ZodOptional<z.ZodUUID>;
|
|
463
470
|
}, z.core.$strip>;
|
|
464
471
|
/** `POST /marketplace/job-listings/:id/publish` (host owner) */
|
|
465
472
|
declare const PublishMarketplaceJobListingResponseSchema: z.ZodObject<{
|
|
@@ -471,11 +478,13 @@ declare const MarketplaceJobListingResponseSchema: z.ZodObject<{
|
|
|
471
478
|
hostProfileId: z.ZodUUID;
|
|
472
479
|
eventId: z.ZodNullable<z.ZodUUID>;
|
|
473
480
|
title: z.ZodString;
|
|
481
|
+
eventTitle: z.ZodNullable<z.ZodString>;
|
|
474
482
|
notes: z.ZodNullable<z.ZodString>;
|
|
475
483
|
description: z.ZodString;
|
|
476
484
|
responsibilities: z.ZodString;
|
|
477
485
|
requirements: z.ZodString;
|
|
478
486
|
role: z.ZodString;
|
|
487
|
+
requiredCount: z.ZodNumber;
|
|
479
488
|
requiredDate: z.ZodNullable<z.ZodString>;
|
|
480
489
|
estimatedDurationMinutes: z.ZodNullable<z.ZodNumber>;
|
|
481
490
|
location: z.ZodEnum<{
|
package/dist/booking/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkDIGMDWL4_js=require('../chunk-DIGMDWL4.js'),chunkTO3WFEGT_js=require('../chunk-TO3WFEGT.js');require('../chunk-244RJ2YJ.js'),require('../chunk-DQG37GYU.js'),require('../chunk-EAKBQ5VD.js');Object.defineProperty(exports,"AdminBookingAuditEntrySchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.oa}});Object.defineProperty(exports,"AdminBookingAuditResponseSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.pa}});Object.defineProperty(exports,"BOOKING_TERMINAL_STATES",{enumerable:true,get:function(){return chunkDIGMDWL4_js.h}});Object.defineProperty(exports,"BOOKING_TRANSITION_ACTORS",{enumerable:true,get:function(){return chunkDIGMDWL4_js.j}});Object.defineProperty(exports,"BOOKING_TRANSITION_TARGETS_REQUIRING_REASON",{enumerable:true,get:function(){return chunkDIGMDWL4_js.k}});Object.defineProperty(exports,"BookingAuditAction",{enumerable:true,get:function(){return chunkDIGMDWL4_js.g}});Object.defineProperty(exports,"BookingAuditActorSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.ia}});Object.defineProperty(exports,"BookingAuditAttachmentAddedDetailsSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.na}});Object.defineProperty(exports,"BookingAuditMessageSentDetailsSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.ma}});Object.defineProperty(exports,"BookingAuditRequestMetadataSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.ja}});Object.defineProperty(exports,"BookingAuditSnapshotSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.ka}});Object.defineProperty(exports,"BookingAuditStateTransitionDetailsSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.la}});Object.defineProperty(exports,"BookingOrigin",{enumerable:true,get:function(){return chunkDIGMDWL4_js.a}});Object.defineProperty(exports,"BookingPaymentStatus",{enumerable:true,get:function(){return chunkDIGMDWL4_js.e}});Object.defineProperty(exports,"BookingResponseSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.t}});Object.defineProperty(exports,"BookingState",{enumerable:true,get:function(){return chunkDIGMDWL4_js.b}});Object.defineProperty(exports,"BookingTransitionActor",{enumerable:true,get:function(){return chunkDIGMDWL4_js.f}});Object.defineProperty(exports,"CancelMarketplaceJobListingRequestSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.O}});Object.defineProperty(exports,"CancelMarketplaceJobListingResponseSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.P}});Object.defineProperty(exports,"CompleteMarketplaceBookingRequestSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.E}});Object.defineProperty(exports,"CompleteMarketplaceBookingResponseSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.G}});Object.defineProperty(exports,"ConfirmBookingRequestSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.s}});Object.defineProperty(exports,"CreateBookingRequestSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.r}});Object.defineProperty(exports,"CreateJobListingRequestSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.u}});Object.defineProperty(exports,"CreateMarketplaceBookingRequestSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.z}});Object.defineProperty(exports,"CreateMarketplaceBookingResponseSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.B}});Object.defineProperty(exports,"CreateMarketplaceJobListingRequestSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.H}});Object.defineProperty(exports,"ForceCompleteMarketplaceBookingRequestSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.F}});Object.defineProperty(exports,"GetMarketplaceHiringThreadResponseSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.ba}});Object.defineProperty(exports,"HostIndicationOfInterestSortBy",{enumerable:true,get:function(){return chunkDIGMDWL4_js.T}});Object.defineProperty(exports,"IndicationOfInterestResponseSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.x}});Object.defineProperty(exports,"IoiState",{enumerable:true,get:function(){return chunkDIGMDWL4_js.d}});Object.defineProperty(exports,"JobListingResponseSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.v}});Object.defineProperty(exports,"JobListingState",{enumerable:true,get:function(){return chunkDIGMDWL4_js.c}});Object.defineProperty(exports,"JobLocation",{enumerable:true,get:function(){return chunkDIGMDWL4_js.y}});Object.defineProperty(exports,"ListHostMarketplaceIndicationsQuerySchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.V}});Object.defineProperty(exports,"ListHostMarketplaceJobListingsQuerySchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.K}});Object.defineProperty(exports,"ListMarketplaceHiringThreadMessagesQuerySchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.$}});Object.defineProperty(exports,"ListMarketplaceHiringThreadMessagesResponseSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.aa}});Object.defineProperty(exports,"ListMarketplaceHiringThreadsResponseSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.ha}});Object.defineProperty(exports,"ListMarketplaceJobListingsQuerySchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.J}});Object.defineProperty(exports,"MarkMarketplaceHiringThreadReadRequestSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.ea}});Object.defineProperty(exports,"MarkMarketplaceHiringThreadReadResponseSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.fa}});Object.defineProperty(exports,"MarketplaceBookingResponseSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.A}});Object.defineProperty(exports,"MarketplaceHiringMessageAttachmentSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.Z}});Object.defineProperty(exports,"MarketplaceHiringMessageSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js._}});Object.defineProperty(exports,"MarketplaceHiringThreadInboxItemSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.ga}});Object.defineProperty(exports,"MarketplaceHiringThreadSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.Y}});Object.defineProperty(exports,"MarketplaceHostIndicationOfInterestInboxItemSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.W}});Object.defineProperty(exports,"MarketplaceIndicationOfInterestHostItemSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.S}});Object.defineProperty(exports,"MarketplaceIndicationOfInterestResponseSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.R}});Object.defineProperty(exports,"MarketplaceJobListingResponseSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.N}});Object.defineProperty(exports,"MessageDeliveryStatus",{enumerable:true,get:function(){return chunkDIGMDWL4_js.X}});Object.defineProperty(exports,"PostMarketplaceHiringThreadMessageRequestSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.ca}});Object.defineProperty(exports,"PostMarketplaceHiringThreadMessageResponseSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.da}});Object.defineProperty(exports,"PublishMarketplaceJobListingResponseSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.M}});Object.defineProperty(exports,"PublishReadyJobListingSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.L}});Object.defineProperty(exports,"SortOrder",{enumerable:true,get:function(){return chunkDIGMDWL4_js.U}});Object.defineProperty(exports,"SubmitIndicationOfInterestRequestSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.w}});Object.defineProperty(exports,"SubmitMarketplaceIndicationOfInterestRequestSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.Q}});Object.defineProperty(exports,"TransitionMarketplaceBookingRequestSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.C}});Object.defineProperty(exports,"TransitionMarketplaceBookingResponseSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.D}});Object.defineProperty(exports,"UpdateMarketplaceJobListingRequestSchema",{enumerable:true,get:function(){return chunkDIGMDWL4_js.I}});Object.defineProperty(exports,"VALID_BOOKING_TRANSITIONS",{enumerable:true,get:function(){return chunkDIGMDWL4_js.i}});Object.defineProperty(exports,"bookingTransitionKey",{enumerable:true,get:function(){return chunkDIGMDWL4_js.l}});Object.defineProperty(exports,"bookingTransitionRequiresReason",{enumerable:true,get:function(){return chunkDIGMDWL4_js.q}});Object.defineProperty(exports,"canActorPerformBookingTransition",{enumerable:true,get:function(){return chunkDIGMDWL4_js.p}});Object.defineProperty(exports,"getAllowedBookingTargetStates",{enumerable:true,get:function(){return chunkDIGMDWL4_js.m}});Object.defineProperty(exports,"getBookingTransitionActors",{enumerable:true,get:function(){return chunkDIGMDWL4_js.o}});Object.defineProperty(exports,"isValidBookingTransition",{enumerable:true,get:function(){return chunkDIGMDWL4_js.n}});Object.defineProperty(exports,"CreateMarketplaceReviewRequestSchema",{enumerable:true,get:function(){return chunkTO3WFEGT_js.a}});Object.defineProperty(exports,"MarketplaceReviewResponseSchema",{enumerable:true,get:function(){return chunkTO3WFEGT_js.b}});Object.defineProperty(exports,"ProducerRecentReviewSchema",{enumerable:true,get:function(){return chunkTO3WFEGT_js.c}});//# sourceMappingURL=index.js.map
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/booking/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{oa as AdminBookingAuditEntrySchema,pa as AdminBookingAuditResponseSchema,h as BOOKING_TERMINAL_STATES,j as BOOKING_TRANSITION_ACTORS,k as BOOKING_TRANSITION_TARGETS_REQUIRING_REASON,g as BookingAuditAction,ia as BookingAuditActorSchema,na as BookingAuditAttachmentAddedDetailsSchema,ma as BookingAuditMessageSentDetailsSchema,ja as BookingAuditRequestMetadataSchema,ka as BookingAuditSnapshotSchema,la as BookingAuditStateTransitionDetailsSchema,a as BookingOrigin,e as BookingPaymentStatus,t as BookingResponseSchema,b as BookingState,f as BookingTransitionActor,O as CancelMarketplaceJobListingRequestSchema,P as CancelMarketplaceJobListingResponseSchema,E as CompleteMarketplaceBookingRequestSchema,G as CompleteMarketplaceBookingResponseSchema,s as ConfirmBookingRequestSchema,r as CreateBookingRequestSchema,u as CreateJobListingRequestSchema,z as CreateMarketplaceBookingRequestSchema,B as CreateMarketplaceBookingResponseSchema,H as CreateMarketplaceJobListingRequestSchema,F as ForceCompleteMarketplaceBookingRequestSchema,ba as GetMarketplaceHiringThreadResponseSchema,T as HostIndicationOfInterestSortBy,x as IndicationOfInterestResponseSchema,d as IoiState,v as JobListingResponseSchema,c as JobListingState,y as JobLocation,V as ListHostMarketplaceIndicationsQuerySchema,K as ListHostMarketplaceJobListingsQuerySchema,$ as ListMarketplaceHiringThreadMessagesQuerySchema,aa as ListMarketplaceHiringThreadMessagesResponseSchema,ha as ListMarketplaceHiringThreadsResponseSchema,J as ListMarketplaceJobListingsQuerySchema,ea as MarkMarketplaceHiringThreadReadRequestSchema,fa as MarkMarketplaceHiringThreadReadResponseSchema,A as MarketplaceBookingResponseSchema,Z as MarketplaceHiringMessageAttachmentSchema,_ as MarketplaceHiringMessageSchema,ga as MarketplaceHiringThreadInboxItemSchema,Y as MarketplaceHiringThreadSchema,W as MarketplaceHostIndicationOfInterestInboxItemSchema,S as MarketplaceIndicationOfInterestHostItemSchema,R as MarketplaceIndicationOfInterestResponseSchema,N as MarketplaceJobListingResponseSchema,X as MessageDeliveryStatus,ca as PostMarketplaceHiringThreadMessageRequestSchema,da as PostMarketplaceHiringThreadMessageResponseSchema,M as PublishMarketplaceJobListingResponseSchema,L as PublishReadyJobListingSchema,U as SortOrder,w as SubmitIndicationOfInterestRequestSchema,Q as SubmitMarketplaceIndicationOfInterestRequestSchema,C as TransitionMarketplaceBookingRequestSchema,D as TransitionMarketplaceBookingResponseSchema,I as UpdateMarketplaceJobListingRequestSchema,i as VALID_BOOKING_TRANSITIONS,l as bookingTransitionKey,q as bookingTransitionRequiresReason,p as canActorPerformBookingTransition,m as getAllowedBookingTargetStates,o as getBookingTransitionActors,n as isValidBookingTransition}from'../chunk-
|
|
1
|
+
export{oa as AdminBookingAuditEntrySchema,pa as AdminBookingAuditResponseSchema,h as BOOKING_TERMINAL_STATES,j as BOOKING_TRANSITION_ACTORS,k as BOOKING_TRANSITION_TARGETS_REQUIRING_REASON,g as BookingAuditAction,ia as BookingAuditActorSchema,na as BookingAuditAttachmentAddedDetailsSchema,ma as BookingAuditMessageSentDetailsSchema,ja as BookingAuditRequestMetadataSchema,ka as BookingAuditSnapshotSchema,la as BookingAuditStateTransitionDetailsSchema,a as BookingOrigin,e as BookingPaymentStatus,t as BookingResponseSchema,b as BookingState,f as BookingTransitionActor,O as CancelMarketplaceJobListingRequestSchema,P as CancelMarketplaceJobListingResponseSchema,E as CompleteMarketplaceBookingRequestSchema,G as CompleteMarketplaceBookingResponseSchema,s as ConfirmBookingRequestSchema,r as CreateBookingRequestSchema,u as CreateJobListingRequestSchema,z as CreateMarketplaceBookingRequestSchema,B as CreateMarketplaceBookingResponseSchema,H as CreateMarketplaceJobListingRequestSchema,F as ForceCompleteMarketplaceBookingRequestSchema,ba as GetMarketplaceHiringThreadResponseSchema,T as HostIndicationOfInterestSortBy,x as IndicationOfInterestResponseSchema,d as IoiState,v as JobListingResponseSchema,c as JobListingState,y as JobLocation,V as ListHostMarketplaceIndicationsQuerySchema,K as ListHostMarketplaceJobListingsQuerySchema,$ as ListMarketplaceHiringThreadMessagesQuerySchema,aa as ListMarketplaceHiringThreadMessagesResponseSchema,ha as ListMarketplaceHiringThreadsResponseSchema,J as ListMarketplaceJobListingsQuerySchema,ea as MarkMarketplaceHiringThreadReadRequestSchema,fa as MarkMarketplaceHiringThreadReadResponseSchema,A as MarketplaceBookingResponseSchema,Z as MarketplaceHiringMessageAttachmentSchema,_ as MarketplaceHiringMessageSchema,ga as MarketplaceHiringThreadInboxItemSchema,Y as MarketplaceHiringThreadSchema,W as MarketplaceHostIndicationOfInterestInboxItemSchema,S as MarketplaceIndicationOfInterestHostItemSchema,R as MarketplaceIndicationOfInterestResponseSchema,N as MarketplaceJobListingResponseSchema,X as MessageDeliveryStatus,ca as PostMarketplaceHiringThreadMessageRequestSchema,da as PostMarketplaceHiringThreadMessageResponseSchema,M as PublishMarketplaceJobListingResponseSchema,L as PublishReadyJobListingSchema,U as SortOrder,w as SubmitIndicationOfInterestRequestSchema,Q as SubmitMarketplaceIndicationOfInterestRequestSchema,C as TransitionMarketplaceBookingRequestSchema,D as TransitionMarketplaceBookingResponseSchema,I as UpdateMarketplaceJobListingRequestSchema,i as VALID_BOOKING_TRANSITIONS,l as bookingTransitionKey,q as bookingTransitionRequiresReason,p as canActorPerformBookingTransition,m as getAllowedBookingTargetStates,o as getBookingTransitionActors,n as isValidBookingTransition}from'../chunk-EJYBQ36M.mjs';export{a as CreateMarketplaceReviewRequestSchema,b as MarketplaceReviewResponseSchema,c as ProducerRecentReviewSchema}from'../chunk-6DKE37U5.mjs';import'../chunk-73FCZRSF.mjs';import'../chunk-KPEKHJVS.mjs';import'../chunk-ASVBPXYH.mjs';//# sourceMappingURL=index.mjs.map
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunk244RJ2YJ_js=require('./chunk-244RJ2YJ.js'),chunkDQG37GYU_js=require('./chunk-DQG37GYU.js'),chunkEAKBQ5VD_js=require('./chunk-EAKBQ5VD.js'),zod=require('zod');var c={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",AWAITING_PRODUCER_RECONFIRM:"AWAITING_PRODUCER_RECONFIRM"},g={DRAFT:"DRAFT",OPEN:"OPEN",SUSPENDED:"SUSPENDED",CLOSED:"CLOSED",CANCELLED:"CANCELLED"},N={OPEN:"OPEN",SHORTLISTED:"SHORTLISTED",WITHDRAWN:"WITHDRAWN",SELECTED:"SELECTED",REJECTED:"REJECTED",LISTING_CANCELLED:"LISTING_CANCELLED"},O={PENDING:"PENDING",ESCROW_FUNDED:"ESCROW_FUNDED",RELEASED:"RELEASED",REFUNDED:"REFUNDED",FAILED:"FAILED"},i={HOST:"HOST",PRODUCER:"PRODUCER",ADMIN:"ADMIN",SYSTEM:"SYSTEM"},E={STATE_CHANGED:"STATE_CHANGED",TERMS_MODIFIED:"TERMS_MODIFIED",MESSAGE_SENT:"MESSAGE_SENT",ATTACHMENT_ADDED:"ATTACHMENT_ADDED",BOOKING_CREATED:"BOOKING_CREATED",BOOKING_COMPLETED:"BOOKING_COMPLETED",BOOKING_CANCELLED:"BOOKING_CANCELLED",BOOKING_ACCEPTED:"BOOKING_ACCEPTED",BOOKING_REJECTED:"BOOKING_REJECTED"};var x=[t.REJECTED,t.CANCELLED,t.CLOSED],b=[...x,t.IN_DISPUTE],P={[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.AWAITING_PRODUCER_RECONFIRM],[t.AWAITING_PRODUCER_RECONFIRM]:[t.CONFIRMED,t.CANCELLED],[t.IN_PROGRESS]:[t.SERVICE_COMPLETED,t.CANCELLED],[t.SERVICE_COMPLETED]:[t.CLOSED],[t.IN_DISPUTE]:[t.CLOSED],[t.REJECTED]:[],[t.CANCELLED]:[],[t.CLOSED]:[]},B={[`${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.CONFIRMED}->${t.AWAITING_PRODUCER_RECONFIRM}`]:[i.HOST,i.SYSTEM,i.ADMIN],[`${t.AWAITING_PRODUCER_RECONFIRM}->${t.CONFIRMED}`]:[i.PRODUCER,i.ADMIN],[`${t.AWAITING_PRODUCER_RECONFIRM}->${t.CANCELLED}`]:[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]},y=[t.REJECTED,t.CANCELLED,t.IN_DISPUTE];function G(r,s){return `${r}->${s}`}function v(r){let s=P[r]??[];return b.includes(r)?s:[...s,t.IN_DISPUTE]}function oe(r,s){return v(r).includes(s)}function U(r,s){return s===t.IN_DISPUTE&&!b.includes(r)?[i.HOST,i.PRODUCER]:B[G(r,s)]??[]}function ne(r,s,u){return U(r,s).includes(u)}function ie(r,s){return y.includes(s)}var Ee=zod.z.object({origin:zod.z.enum(c),eventId:zod.z.uuid().optional(),producerId:zod.z.uuid(),agreedAmount:zod.z.number().min(0)}),ce=zod.z.object({escrowReference:zod.z.string()}),ue=zod.z.object({id:zod.z.uuid(),eventId:zod.z.uuid().optional(),hostId:zod.z.uuid(),producerId:zod.z.uuid(),quotedPrice:zod.z.number(),currency:zod.z.string(),scopeOfWork:zod.z.record(zod.z.string(),zod.z.any()).optional(),requiredStartAt:zod.z.iso.datetime(),requiredEndAt:zod.z.iso.datetime(),bookingState:zod.z.enum(t),paymentStatus:zod.z.enum(O),escrowReference:zod.z.string().optional(),completedAt:zod.z.iso.datetime().optional(),hostRating:zod.z.number().optional(),hostReview:zod.z.string().optional(),producerRating:zod.z.number().optional(),producerReview:zod.z.string().optional(),createdAt:zod.z.iso.datetime(),updatedAt:zod.z.iso.datetime()}),de=zod.z.object({title:zod.z.string().max(255),description:zod.z.string(),requiredDate:zod.z.iso.datetime(),estimatedDurationMinutes:zod.z.number().int().positive().optional(),location:zod.z.string(),budgetRangeMin:zod.z.number().optional(),budgetRangeMax:zod.z.number().optional()}),pe=zod.z.object({id:zod.z.uuid(),hostProfileId:zod.z.uuid(),eventId:zod.z.uuid().optional(),title:zod.z.string(),description:zod.z.string(),requiredDate:zod.z.iso.datetime(),estimatedDurationMinutes:zod.z.number().int().nullable().optional(),location:zod.z.string(),budgetRangeMin:zod.z.number().optional(),budgetRangeMax:zod.z.number().optional(),state:zod.z.enum(g),proposalCount:zod.z.number(),createdAt:zod.z.iso.datetime()}),le=zod.z.object({coverMessage:zod.z.string().optional(),proposedAmount:zod.z.number().min(0).optional(),availabilityNotes:zod.z.string().optional()}),ge=zod.z.object({id:zod.z.uuid(),jobListingId:zod.z.uuid(),producerProfileId:zod.z.uuid(),coverMessage:zod.z.string().optional(),proposedAmount:zod.z.number().optional(),state:zod.z.enum(N),createdAt:zod.z.iso.datetime()});var m={ONSITE:"ONSITE",REMOTE:"REMOTE"};var _=zod.z.record(zod.z.string(),zod.z.unknown()),Ce=zod.z.object({producerId:zod.z.uuid(),origin:zod.z.enum(c),eventId:zod.z.uuid().optional(),jobListingId:zod.z.uuid().optional(),sourceIoiId:zod.z.uuid().optional(),agreedAmount:zod.z.coerce.number().nonnegative().optional(),scopeOfWork:zod.z.string().max(5e3).optional()}).superRefine((r,s)=>{r.origin===c.EVENT_DIRECT&&!r.eventId&&s.addIssue({code:"custom",message:"eventId is required when origin is EVENT_DIRECT",path:["eventId"]}),r.origin===c.MARKETPLACE_DIRECT&&(r.eventId&&s.addIssue({code:"custom",message:"eventId must not be set when origin is MARKETPLACE_DIRECT",path:["eventId"]}),r.sourceIoiId&&s.addIssue({code:"custom",message:"sourceIoiId must not be set when origin is MARKETPLACE_DIRECT",path:["sourceIoiId"]})),r.origin===c.JOB_LISTING&&(r.sourceIoiId||s.addIssue({code:"custom",message:"sourceIoiId is required when origin is JOB_LISTING",path:["sourceIoiId"]}),r.eventId&&s.addIssue({code:"custom",message:"eventId must not be set when origin is JOB_LISTING",path:["eventId"]})),r.sourceIoiId&&r.origin!==c.JOB_LISTING&&s.addIssue({code:"custom",message:"sourceIoiId is only allowed when origin is JOB_LISTING",path:["sourceIoiId"]});}),S=zod.z.object({id:zod.z.uuid(),eventId:zod.z.uuid().nullable(),eventLinked:zod.z.boolean(),hostProfileId:zod.z.uuid(),producerProfileId:zod.z.uuid(),origin:zod.z.enum(c),jobListingId:zod.z.uuid().nullable(),sourceIoiId:zod.z.uuid().nullable(),state:zod.z.enum(t),agreedAmount:zod.z.number().nullable(),scopeOfWork:zod.z.string().nullable(),createdAt:zod.z.string(),updatedAt:zod.z.string()}),Ne=zod.z.object({bookingId:zod.z.uuid(),booking:S}),j=zod.z.string().trim().min(5).max(500),Oe=zod.z.object({targetState:zod.z.enum(t),reason:j.optional()}).superRefine((r,s)=>{(r.targetState===t.REJECTED||r.targetState===t.CANCELLED||r.targetState===t.IN_DISPUTE)&&r.reason===void 0&&s.addIssue({code:"custom",message:"reason is required for this transition",path:["reason"]});}),be=zod.z.object({booking:S}),Le=zod.z.object({notes:zod.z.string().max(2e3).optional()}),ke=zod.z.object({notes:zod.z.string().max(2e3).optional()}),_e=zod.z.object({booking:S,hostAcked:zod.z.boolean(),producerAcked:zod.z.boolean(),completed:zod.z.boolean(),forced:zod.z.boolean().optional()}),J=(r,s)=>{if(r.eventId)return;r.eventTitle?.trim()||r.title?.trim()||s.addIssue({code:"custom",message:"eventTitle is required when eventId is not provided",path:["eventTitle"]});},R=zod.z.object({eventTitle:zod.z.string().min(1).max(200).optional(),title:zod.z.string().min(1).max(200).optional(),description:zod.z.string().min(1).max(5e3),responsibilities:zod.z.string().min(1),requirements:zod.z.string().min(1),role:zod.z.string().min(1).max(120),requiredCount:zod.z.coerce.number().int().min(1),requiredDate:zod.z.iso.datetime().optional(),estimatedDurationMinutes:zod.z.coerce.number().int().positive().optional(),location:zod.z.enum(m),notes:zod.z.string().max(2e3).optional(),compensation:zod.z.coerce.number().nonnegative().optional(),attachments:_.optional(),eventId:zod.z.uuid().optional()}),H=R.superRefine(J),$=zod.z.object({eventTitle:zod.z.string().min(1).max(200).optional(),title:zod.z.string().min(1).max(200).optional(),description:zod.z.string().min(1).max(5e3),responsibilities:zod.z.string().min(1),requirements:zod.z.string().min(1),role:zod.z.string().min(1).max(120),requiredCount:zod.z.coerce.number().int().min(1),location:zod.z.enum(m),eventId:zod.z.uuid().optional()}),F=$,Me=R.partial().extend({saveAsDraft:zod.z.boolean().optional().default(false)}).superRefine((r,s)=>{if(r.saveAsDraft)return;let u=H.safeParse(r);u.success||s.addIssue({code:"custom",message:u.error.issues.map(h=>h.message).join("; ")});}),fe=R.partial(),he=zod.z.object({...chunkDQG37GYU_js.d.shape,location:zod.z.enum(m).optional()}),xe=zod.z.object({...chunkDQG37GYU_js.d.shape,state:zod.z.enum(g).optional(),search:zod.z.string().trim().min(2).max(100).optional()}),Pe=F.superRefine((r,s)=>{if(r.eventId)return;r.eventTitle?.trim()||r.title?.trim()||s.addIssue({code:"custom",message:"eventTitle is required for standalone job listings",path:["eventTitle"]});}),Be=zod.z.object({id:zod.z.uuid(),state:zod.z.literal("OPEN")}),ye=zod.z.object({id:zod.z.uuid(),hostProfileId:zod.z.uuid(),eventId:zod.z.uuid().nullable(),title:zod.z.string(),eventTitle:zod.z.string().nullable(),notes:zod.z.string().nullable(),description:zod.z.string(),responsibilities:zod.z.string(),requirements:zod.z.string(),role:zod.z.string(),requiredCount:zod.z.number().int().min(1),requiredDate:zod.z.string().nullable(),estimatedDurationMinutes:zod.z.number().int().nullable(),location:zod.z.enum(m),compensation:zod.z.number().nullable(),attachments:zod.z.unknown().nullable(),state:zod.z.enum(g),proposalCount:zod.z.number().int(),cancelledAt:zod.z.string().nullable(),cancelledReason:zod.z.string().nullable(),createdAt:zod.z.string(),updatedAt:zod.z.string()}),Ge=zod.z.object({reason:zod.z.string().trim().min(5).max(500).optional()}),ve=zod.z.object({id:zod.z.uuid(),state:zod.z.literal("CANCELLED"),cancelledAt:zod.z.iso.datetime().nullable()}),Ue=zod.z.object({coverMessage:zod.z.string().min(1).max(2e3).optional(),proposedAmount:zod.z.coerce.number().nonnegative().optional(),availabilityNotes:zod.z.string().max(2e3).optional(),attachments:_.optional()}),W=zod.z.object({id:zod.z.uuid(),jobListingId:zod.z.uuid(),producerProfileId:zod.z.uuid(),coverMessage:zod.z.string().nullable(),proposedAmount:zod.z.number().nullable(),availabilityNotes:zod.z.string().nullable(),state:zod.z.enum(chunkEAKBQ5VD_js.a),resultingBookingId:zod.z.uuid().nullable(),withdrawnAt:zod.z.string().nullable(),selectedAt:zod.z.string().nullable(),createdAt:zod.z.string(),updatedAt:zod.z.string()}),q=W.extend({producerCompanyName:zod.z.string().nullable()}),L={CREATED_AT:"createdAt",UPDATED_AT:"updatedAt",PROPOSED_AMOUNT:"proposedAmount"},k={ASC:"asc",DESC:"desc"},je=zod.z.object({...chunkDQG37GYU_js.d.shape,jobListingId:zod.z.uuid().optional(),state:zod.z.enum(chunkEAKBQ5VD_js.a).optional(),search:zod.z.string().trim().min(2).max(100).optional(),sortBy:zod.z.enum(L).default(L.CREATED_AT),sortOrder:zod.z.enum(k).default(k.DESC)}),Je=q.extend({producerDisplayName:zod.z.string(),producerAvatarUrl:zod.z.url().nullable(),producerServiceCategoryLabels:zod.z.array(zod.z.string()),producerEquipmentLabels:zod.z.array(zod.z.string()),producerIsVerified:zod.z.boolean(),jobListingTitle:zod.z.string(),jobListingRole:zod.z.string(),jobListingState:zod.z.enum(g),jobListingLocation:zod.z.enum(m),jobListingEventId:zod.z.uuid().nullable(),jobListingEventTitle:zod.z.string().nullable()});var M={SENT:"SENT",DELIVERED:"DELIVERED",READ:"READ"};var K=zod.z.object({id:zod.z.uuid(),bookingId:zod.z.uuid(),hostProfileId:zod.z.uuid(),producerProfileId:zod.z.uuid(),createdAt:zod.z.string(),updatedAt:zod.z.string()}),w=zod.z.object({id:zod.z.uuid(),url:zod.z.string(),mimeType:zod.z.string(),sizeBytes:zod.z.number().int(),createdAt:zod.z.string()}),T=zod.z.object({id:zod.z.uuid(),threadId:zod.z.uuid(),senderUserId:zod.z.uuid(),body:zod.z.string(),sentAt:zod.z.string(),deliveryStatus:zod.z.enum(M),readAt:zod.z.string().nullable(),attachments:zod.z.array(w)}),we=chunkDQG37GYU_js.d,Ve=zod.z.object({messages:zod.z.array(T),...chunkDQG37GYU_js.e.shape}),Qe=zod.z.object({thread:K,messages:zod.z.array(T),...chunkDQG37GYU_js.e.shape}),ze=zod.z.object({body:zod.z.string().trim().min(1).max(5e3),attachments:zod.z.array(zod.z.object({url:zod.z.string().url(),mimeType:zod.z.string().min(1).max(120),sizeBytes:zod.z.number().int().positive()})).max(10).optional()}),Ye=zod.z.object({message:T}),Xe=zod.z.object({upToMessageId:zod.z.uuid().optional()}),Ze=zod.z.object({markedCount:zod.z.number().int().nonnegative()}),V=zod.z.object({threadId:zod.z.uuid(),bookingId:zod.z.uuid(),title:zod.z.string(),lastMessagePreview:zod.z.string().nullable(),lastMessageAt:zod.z.string().nullable(),lastSenderUserId:zod.z.uuid().nullable(),lastSenderDisplayName:zod.z.string().nullable(),unreadCount:zod.z.number().int().nonnegative(),bookingState:zod.z.enum(t)}),et=zod.z.object({items:zod.z.array(V),...chunkDQG37GYU_js.e.shape});var Q=zod.z.object({id:zod.z.string(),role:chunk244RJ2YJ_js.b}),D=zod.z.object({reason:zod.z.string().optional(),ipAddress:zod.z.string().optional(),userAgent:zod.z.string().optional(),traceId:zod.z.string().optional()}),f=zod.z.record(zod.z.string(),zod.z.unknown()),z=D.extend({beforeState:f.optional(),afterState:f.optional()}),Y=D.extend({messageId:zod.z.string(),bodyPreview:zod.z.string(),attachmentCount:zod.z.number().int().nonnegative().optional()}),X=D.extend({messageId:zod.z.string(),attachmentId:zod.z.string(),url:zod.z.string(),mimeType:zod.z.string(),sizeBytes:zod.z.number().int().nonnegative()}),A={timestamp:zod.z.string().datetime(),actor:Q};function d(r){return zod.z.object({...A,action:zod.z.literal(r),details:z})}var Z=zod.z.discriminatedUnion("action",[d(E.STATE_CHANGED),d(E.TERMS_MODIFIED),d(E.BOOKING_CREATED),d(E.BOOKING_COMPLETED),d(E.BOOKING_CANCELLED),d(E.BOOKING_ACCEPTED),d(E.BOOKING_REJECTED),zod.z.object({...A,action:zod.z.literal(E.MESSAGE_SENT),details:Y}),zod.z.object({...A,action:zod.z.literal(E.ATTACHMENT_ADDED),details:X})]),st=zod.z.object({items:zod.z.array(Z),...chunkDQG37GYU_js.e.shape});exports.$=we;exports.A=S;exports.B=Ne;exports.C=Oe;exports.D=be;exports.E=Le;exports.F=ke;exports.G=_e;exports.H=Me;exports.I=fe;exports.J=he;exports.K=xe;exports.L=Pe;exports.M=Be;exports.N=ye;exports.O=Ge;exports.P=ve;exports.Q=Ue;exports.R=W;exports.S=q;exports.T=L;exports.U=k;exports.V=je;exports.W=Je;exports.X=M;exports.Y=K;exports.Z=w;exports._=T;exports.a=c;exports.aa=Ve;exports.b=t;exports.ba=Qe;exports.c=g;exports.ca=ze;exports.d=N;exports.da=Ye;exports.e=O;exports.ea=Xe;exports.f=i;exports.fa=Ze;exports.g=E;exports.ga=V;exports.h=x;exports.ha=et;exports.i=P;exports.ia=Q;exports.j=B;exports.ja=D;exports.k=y;exports.ka=f;exports.l=G;exports.la=z;exports.m=v;exports.ma=Y;exports.n=oe;exports.na=X;exports.o=U;exports.oa=Z;exports.p=ne;exports.pa=st;exports.q=ie;exports.r=Ee;exports.s=ce;exports.t=ue;exports.u=de;exports.v=pe;exports.w=le;exports.x=ge;exports.y=m;exports.z=Ce;//# sourceMappingURL=chunk-DIGMDWL4.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-DIGMDWL4.js.map
|
|
@@ -0,0 +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","../src/booking/booking-audit.schemas.ts"],"names":["BookingOrigin","BookingState","JobListingState","IoiState","BookingPaymentStatus","BookingTransitionActor","BookingAuditAction","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","jobListingEventTitleRefine","MarketplaceJobListingBodyFieldsSchema","MarketplaceJobListingBodySchema","PublishableJobListingBodyFieldsSchema","PublishableJobListingBodySchema","CreateMarketplaceJobListingRequestSchema","result","issue","UpdateMarketplaceJobListingRequestSchema","ListMarketplaceJobListingsQuerySchema","PaginationParamsSchema","ListHostMarketplaceJobListingsQuerySchema","PublishReadyJobListingSchema","PublishMarketplaceJobListingResponseSchema","MarketplaceJobListingResponseSchema","CancelMarketplaceJobListingRequestSchema","CancelMarketplaceJobListingResponseSchema","SubmitMarketplaceIndicationOfInterestRequestSchema","MarketplaceIndicationOfInterestResponseSchema","JobInterestState","MarketplaceIndicationOfInterestHostItemSchema","HostIndicationOfInterestSortBy","SortOrder","ListHostMarketplaceIndicationsQuerySchema","MarketplaceHostIndicationOfInterestInboxItemSchema","MessageDeliveryStatus","MarketplaceHiringThreadSchema","MarketplaceHiringMessageAttachmentSchema","MarketplaceHiringMessageSchema","ListMarketplaceHiringThreadMessagesQuerySchema","ListMarketplaceHiringThreadMessagesResponseSchema","PaginationResponseSchema","GetMarketplaceHiringThreadResponseSchema","PostMarketplaceHiringThreadMessageRequestSchema","PostMarketplaceHiringThreadMessageResponseSchema","MarkMarketplaceHiringThreadReadRequestSchema","MarkMarketplaceHiringThreadReadResponseSchema","MarketplaceHiringThreadInboxItemSchema","ListMarketplaceHiringThreadsResponseSchema","BookingAuditActorSchema","AuditActorRoleSchema","BookingAuditRequestMetadataSchema","BookingAuditSnapshotSchema","BookingAuditStateTransitionDetailsSchema","BookingAuditMessageSentDetailsSchema","BookingAuditAttachmentAddedDetailsSchema","auditEntryBase","stateTransitionAuditEntry","action","AdminBookingAuditEntrySchema","AdminBookingAuditResponseSchema"],"mappings":"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","file":"chunk-DIGMDWL4.js","sourcesContent":["export const BookingOrigin = {\n EVENT_DIRECT: 'EVENT_DIRECT',\n MARKETPLACE_DIRECT: 'MARKETPLACE_DIRECT',\n JOB_LISTING: 'JOB_LISTING',\n} as const;\nexport type BookingOrigin = (typeof BookingOrigin)[keyof typeof BookingOrigin];\n\nexport const BookingState = {\n REQUESTED: 'REQUESTED',\n AWAITING_PRODUCER_RESPONSE: 'AWAITING_PRODUCER_RESPONSE',\n IN_NEGOTIATION: 'IN_NEGOTIATION',\n ACCEPTED: 'ACCEPTED',\n REJECTED: 'REJECTED',\n CANCELLED: 'CANCELLED',\n AWAITING_ESCROW_FUNDING: 'AWAITING_ESCROW_FUNDING',\n CONFIRMED: 'CONFIRMED',\n IN_PROGRESS: 'IN_PROGRESS',\n SERVICE_COMPLETED: 'SERVICE_COMPLETED',\n IN_DISPUTE: 'IN_DISPUTE',\n CLOSED: 'CLOSED',\n AWAITING_PRODUCER_RECONFIRM: 'AWAITING_PRODUCER_RECONFIRM',\n} as const;\nexport type BookingState = (typeof BookingState)[keyof typeof BookingState];\n\nexport const JobListingState = {\n DRAFT: 'DRAFT',\n OPEN: 'OPEN',\n SUSPENDED: 'SUSPENDED',\n CLOSED: 'CLOSED',\n CANCELLED: 'CANCELLED',\n} as const;\nexport type JobListingState = (typeof JobListingState)[keyof typeof JobListingState];\n\nexport const IoiState = {\n OPEN: 'OPEN',\n SHORTLISTED: 'SHORTLISTED',\n WITHDRAWN: 'WITHDRAWN',\n SELECTED: 'SELECTED',\n REJECTED: 'REJECTED',\n LISTING_CANCELLED: 'LISTING_CANCELLED',\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\n/** Canonical booking audit action names (admin dispute-evidence API). */\nexport const BookingAuditAction = {\n STATE_CHANGED: 'STATE_CHANGED',\n TERMS_MODIFIED: 'TERMS_MODIFIED',\n MESSAGE_SENT: 'MESSAGE_SENT',\n ATTACHMENT_ADDED: 'ATTACHMENT_ADDED',\n BOOKING_CREATED: 'BOOKING_CREATED',\n BOOKING_COMPLETED: 'BOOKING_COMPLETED',\n BOOKING_CANCELLED: 'BOOKING_CANCELLED',\n BOOKING_ACCEPTED: 'BOOKING_ACCEPTED',\n BOOKING_REJECTED: 'BOOKING_REJECTED',\n} as const;\nexport type BookingAuditAction = (typeof BookingAuditAction)[keyof typeof BookingAuditAction];\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, BookingState.AWAITING_PRODUCER_RECONFIRM],\n [BookingState.AWAITING_PRODUCER_RECONFIRM]: [BookingState.CONFIRMED, BookingState.CANCELLED],\n [BookingState.IN_PROGRESS]: [BookingState.SERVICE_COMPLETED, BookingState.CANCELLED],\n [BookingState.SERVICE_COMPLETED]: [BookingState.CLOSED],\n [BookingState.IN_DISPUTE]: [BookingState.CLOSED],\n [BookingState.REJECTED]: [],\n [BookingState.CANCELLED]: [],\n [BookingState.CLOSED]: [],\n};\n\n/** RBAC: which actor may perform each transition (dispute edges merged at runtime). */\nexport const BOOKING_TRANSITION_ACTORS: Partial<\n Record<BookingTransitionKey, readonly BookingTransitionActor[]>\n> = {\n [`${BookingState.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.CONFIRMED}->${BookingState.AWAITING_PRODUCER_RECONFIRM}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.SYSTEM,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.AWAITING_PRODUCER_RECONFIRM}->${BookingState.CONFIRMED}`]: [\n BookingTransitionActor.PRODUCER,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.AWAITING_PRODUCER_RECONFIRM}->${BookingState.CANCELLED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.PRODUCER,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.IN_PROGRESS}->${BookingState.SERVICE_COMPLETED}`]: [\n BookingTransitionActor.PRODUCER,\n BookingTransitionActor.SYSTEM,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.IN_PROGRESS}->${BookingState.CANCELLED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.SERVICE_COMPLETED}->${BookingState.CLOSED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.ADMIN,\n BookingTransitionActor.SYSTEM,\n ],\n [`${BookingState.IN_DISPUTE}->${BookingState.CLOSED}`]: [\n BookingTransitionActor.ADMIN,\n BookingTransitionActor.HOST,\n ],\n};\n\n/** Target states that require a `reason` on the transition request. */\nexport const BOOKING_TRANSITION_TARGETS_REQUIRING_REASON: readonly BookingState[] = [\n BookingState.REJECTED,\n BookingState.CANCELLED,\n BookingState.IN_DISPUTE,\n];\n\nexport function bookingTransitionKey(from: BookingState, to: BookingState): BookingTransitionKey {\n return `${from}->${to}`;\n}\n\nexport function getAllowedBookingTargetStates(from: BookingState): readonly BookingState[] {\n const base = VALID_BOOKING_TRANSITIONS[from] ?? [];\n if (!DISPUTE_EXCLUDED_FROM.includes(from)) {\n return [...base, BookingState.IN_DISPUTE];\n }\n return base;\n}\n\nexport function isValidBookingTransition(from: BookingState, to: BookingState): boolean {\n return getAllowedBookingTargetStates(from).includes(to);\n}\n\nexport function getBookingTransitionActors(\n from: BookingState,\n to: BookingState,\n): readonly BookingTransitionActor[] {\n if (to === BookingState.IN_DISPUTE && !DISPUTE_EXCLUDED_FROM.includes(from)) {\n return [BookingTransitionActor.HOST, BookingTransitionActor.PRODUCER];\n }\n return BOOKING_TRANSITION_ACTORS[bookingTransitionKey(from, to)] ?? [];\n}\n\nexport function canActorPerformBookingTransition(\n from: BookingState,\n to: BookingState,\n actor: BookingTransitionActor,\n): boolean {\n return getBookingTransitionActors(from, to).includes(actor);\n}\n\nexport function bookingTransitionRequiresReason(_from: BookingState, to: BookingState): boolean {\n return BOOKING_TRANSITION_TARGETS_REQUIRING_REASON.includes(to);\n}\n","import { z } from 'zod';\nimport {\n BookingOrigin,\n BookingState,\n JobListingState,\n 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 estimatedDurationMinutes: z.number().int().positive().optional(),\n location: z.string(),\n budgetRangeMin: z.number().optional(),\n budgetRangeMax: z.number().optional(),\n});\n\nexport const JobListingResponseSchema = z.object({\n id: z.uuid(),\n hostProfileId: z.uuid(),\n eventId: z.uuid().optional(),\n title: z.string(),\n description: z.string(),\n requiredDate: z.iso.datetime(),\n estimatedDurationMinutes: z.number().int().nullable().optional(),\n location: z.string(),\n budgetRangeMin: z.number().optional(),\n budgetRangeMax: z.number().optional(),\n state: z.enum(JobListingState),\n proposalCount: z.number(),\n createdAt: z.iso.datetime(),\n});\n\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 jobListingEventTitleRefine = (\n data: {\n eventId?: string | undefined;\n eventTitle?: string | undefined;\n title?: string | undefined;\n },\n ctx: z.RefinementCtx,\n) => {\n if (data.eventId) {\n return;\n }\n const standaloneTitle = data.eventTitle?.trim() || data.title?.trim();\n if (!standaloneTitle) {\n ctx.addIssue({\n code: 'custom',\n message: 'eventTitle is required when eventId is not provided',\n path: ['eventTitle'],\n });\n }\n};\n\nconst MarketplaceJobListingBodyFieldsSchema = z.object({\n /** Standalone event title — required when `eventId` is absent. Ignored when linked. */\n eventTitle: z.string().min(1).max(200).optional(),\n /** @deprecated Use `eventTitle`. Kept for backward compatibility. */\n title: z.string().min(1).max(200).optional(),\n description: z.string().min(1).max(5000),\n responsibilities: z.string().min(1),\n requirements: z.string().min(1),\n role: z.string().min(1).max(120),\n requiredCount: z.coerce.number().int().min(1),\n requiredDate: z.iso.datetime().optional(),\n estimatedDurationMinutes: z.coerce.number().int().positive().optional(),\n location: z.enum(JobLocation),\n notes: z.string().max(2000).optional(),\n compensation: z.coerce.number().nonnegative().optional(),\n attachments: jsonRecordSchema.optional(),\n eventId: z.uuid().optional(),\n});\n\nconst MarketplaceJobListingBodySchema = MarketplaceJobListingBodyFieldsSchema.superRefine(\n jobListingEventTitleRefine,\n);\n\n/** Publish/create body without event-title guard (linked listings resolve title at read time). */\nconst PublishableJobListingBodyFieldsSchema = z.object({\n eventTitle: z.string().min(1).max(200).optional(),\n title: z.string().min(1).max(200).optional(),\n description: z.string().min(1).max(5000),\n responsibilities: z.string().min(1),\n requirements: z.string().min(1),\n role: z.string().min(1).max(120),\n requiredCount: z.coerce.number().int().min(1),\n location: z.enum(JobLocation),\n eventId: z.uuid().optional(),\n});\n\nconst PublishableJobListingBodySchema = PublishableJobListingBodyFieldsSchema;\n\n/** `POST /marketplace/job-listings` — publish immediately unless `saveAsDraft` */\nexport const CreateMarketplaceJobListingRequestSchema =\n MarketplaceJobListingBodyFieldsSchema.partial()\n .extend({\n saveAsDraft: z.boolean().optional().default(false),\n })\n .superRefine((data, ctx) => {\n if (data.saveAsDraft) {\n return;\n }\n const result = MarketplaceJobListingBodySchema.safeParse(data);\n if (!result.success) {\n ctx.addIssue({\n code: 'custom',\n message: result.error.issues.map((issue) => issue.message).join('; '),\n });\n }\n });\n\nexport const UpdateMarketplaceJobListingRequestSchema =\n MarketplaceJobListingBodyFieldsSchema.partial();\n\nexport const ListMarketplaceJobListingsQuerySchema = z.object({\n ...PaginationParamsSchema.shape,\n location: z.enum(JobLocation).optional(),\n});\n\n/** `GET /marketplace/job-listings/mine` (host) */\nexport const ListHostMarketplaceJobListingsQuerySchema = z.object({\n ...PaginationParamsSchema.shape,\n state: z.enum(JobListingState).optional(),\n /** Case-insensitive match on listing title, role, or linked event title */\n search: z.string().trim().min(2).max(100).optional(),\n});\n\n/** Required persisted fields before a DRAFT job listing can be published */\nexport const PublishReadyJobListingSchema = PublishableJobListingBodySchema.superRefine(\n (data, ctx) => {\n if (data.eventId) {\n return;\n }\n const standaloneTitle = data.eventTitle?.trim() || data.title?.trim();\n if (!standaloneTitle) {\n ctx.addIssue({\n code: 'custom',\n message: 'eventTitle is required for standalone job listings',\n path: ['eventTitle'],\n });\n }\n },\n);\n\n/** `POST /marketplace/job-listings/:id/publish` (host owner) */\nexport const PublishMarketplaceJobListingResponseSchema = z.object({\n id: z.uuid(),\n state: z.literal('OPEN'),\n});\n\nexport const MarketplaceJobListingResponseSchema = z.object({\n id: z.uuid(),\n hostProfileId: z.uuid(),\n eventId: z.uuid().nullable(),\n /** Resolved display title — linked events use the current Event title. */\n title: z.string(),\n eventTitle: z.string().nullable(),\n notes: z.string().nullable(),\n description: z.string(),\n responsibilities: z.string(),\n requirements: z.string(),\n role: z.string(),\n requiredCount: z.number().int().min(1),\n requiredDate: z.string().nullable(),\n estimatedDurationMinutes: 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 cancelledAt: z.string().nullable(),\n cancelledReason: z.string().nullable(),\n createdAt: z.string(),\n updatedAt: z.string(),\n});\n\n/** `POST /marketplace/job-listings/:id/cancel` (host owner) — mirrors HostEventCancelResponseSchema shape */\nexport const CancelMarketplaceJobListingRequestSchema = z.object({\n reason: z.string().trim().min(5).max(500).optional(),\n});\n\nexport const CancelMarketplaceJobListingResponseSchema = z.object({\n id: z.uuid(),\n state: z.literal('CANCELLED'),\n cancelledAt: z.iso.datetime().nullable(),\n});\n\n/** `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\nexport const HostIndicationOfInterestSortBy = {\n CREATED_AT: 'createdAt',\n UPDATED_AT: 'updatedAt',\n PROPOSED_AMOUNT: 'proposedAmount',\n} as const;\n\nexport const SortOrder = {\n ASC: 'asc',\n DESC: 'desc',\n} as const;\n\n/** `GET /marketplace/job-listings/indications-of-interest/mine` (host inbox) */\nexport const ListHostMarketplaceIndicationsQuerySchema = z.object({\n ...PaginationParamsSchema.shape,\n jobListingId: z.uuid().optional(),\n state: z.enum(JobInterestState).optional(),\n /** Case-insensitive match on job listing title or linked event title */\n search: z.string().trim().min(2).max(100).optional(),\n sortBy: z.enum(HostIndicationOfInterestSortBy).default(HostIndicationOfInterestSortBy.CREATED_AT),\n sortOrder: z.enum(SortOrder).default(SortOrder.DESC),\n});\n\n/** Host inbox row — IoI with applicant + parent job listing summary */\nexport const MarketplaceHostIndicationOfInterestInboxItemSchema =\n MarketplaceIndicationOfInterestHostItemSchema.extend({\n producerDisplayName: z.string(),\n producerAvatarUrl: z.url().nullable(),\n producerServiceCategoryLabels: z.array(z.string()),\n producerEquipmentLabels: z.array(z.string()),\n producerIsVerified: z.boolean(),\n jobListingTitle: z.string(),\n jobListingRole: z.string(),\n jobListingState: z.enum(JobListingState),\n jobListingLocation: z.enum(JobLocation),\n jobListingEventId: z.uuid().nullable(),\n jobListingEventTitle: z.string().nullable(),\n });\n","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","import { z } from 'zod';\nimport { AuditActorRoleSchema } from '../common/audit.enums';\nimport { PaginationResponseSchema } from '../common/common.schemas';\nimport { BookingAuditAction } from './booking.enums';\n\nexport const BookingAuditActorSchema = z.object({\n id: z.string(),\n role: AuditActorRoleSchema,\n});\n\n/** Optional request metadata copied into admin `details` when present. */\nexport const BookingAuditRequestMetadataSchema = z.object({\n reason: z.string().optional(),\n ipAddress: z.string().optional(),\n userAgent: z.string().optional(),\n traceId: z.string().optional(),\n});\n\n/** Snapshot blob stored in audit `before` / `after` JSON columns. */\nexport const BookingAuditSnapshotSchema = z.record(z.string(), z.unknown());\n\n/**\n * STATE_CHANGED, TERMS_MODIFIED, and booking lifecycle actions surface\n * `beforeState` / `afterState` via admin formatters.\n */\nexport const BookingAuditStateTransitionDetailsSchema = BookingAuditRequestMetadataSchema.extend({\n beforeState: BookingAuditSnapshotSchema.optional(),\n afterState: BookingAuditSnapshotSchema.optional(),\n});\n\nexport const BookingAuditMessageSentDetailsSchema = BookingAuditRequestMetadataSchema.extend({\n messageId: z.string(),\n bodyPreview: z.string(),\n attachmentCount: z.number().int().nonnegative().optional(),\n});\n\nexport const BookingAuditAttachmentAddedDetailsSchema = BookingAuditRequestMetadataSchema.extend({\n messageId: z.string(),\n attachmentId: z.string(),\n url: z.string(),\n mimeType: z.string(),\n sizeBytes: z.number().int().nonnegative(),\n});\n\nconst auditEntryBase = {\n timestamp: z.string().datetime(),\n actor: BookingAuditActorSchema,\n};\n\nfunction stateTransitionAuditEntry<\n A extends (typeof BookingAuditAction)[keyof typeof BookingAuditAction],\n>(action: A) {\n return z.object({\n ...auditEntryBase,\n action: z.literal(action),\n details: BookingAuditStateTransitionDetailsSchema,\n });\n}\n\n/** One audit row in `GET /admin/bookings/:id/audit` — discriminated by `action`. */\nexport const AdminBookingAuditEntrySchema = z.discriminatedUnion('action', [\n stateTransitionAuditEntry(BookingAuditAction.STATE_CHANGED),\n stateTransitionAuditEntry(BookingAuditAction.TERMS_MODIFIED),\n stateTransitionAuditEntry(BookingAuditAction.BOOKING_CREATED),\n stateTransitionAuditEntry(BookingAuditAction.BOOKING_COMPLETED),\n stateTransitionAuditEntry(BookingAuditAction.BOOKING_CANCELLED),\n stateTransitionAuditEntry(BookingAuditAction.BOOKING_ACCEPTED),\n stateTransitionAuditEntry(BookingAuditAction.BOOKING_REJECTED),\n z.object({\n ...auditEntryBase,\n action: z.literal(BookingAuditAction.MESSAGE_SENT),\n details: BookingAuditMessageSentDetailsSchema,\n }),\n z.object({\n ...auditEntryBase,\n action: z.literal(BookingAuditAction.ATTACHMENT_ADDED),\n details: BookingAuditAttachmentAddedDetailsSchema,\n }),\n]);\n\nexport const AdminBookingAuditResponseSchema = z.object({\n items: z.array(AdminBookingAuditEntrySchema),\n ...PaginationResponseSchema.shape,\n});\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {b as b$1}from'./chunk-73FCZRSF.mjs';import {d as d$1,e}from'./chunk-KPEKHJVS.mjs';import {a}from'./chunk-ASVBPXYH.mjs';import {z as z$1}from'zod';var c={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",AWAITING_PRODUCER_RECONFIRM:"AWAITING_PRODUCER_RECONFIRM"},g={DRAFT:"DRAFT",OPEN:"OPEN",SUSPENDED:"SUSPENDED",CLOSED:"CLOSED",CANCELLED:"CANCELLED"},N={OPEN:"OPEN",SHORTLISTED:"SHORTLISTED",WITHDRAWN:"WITHDRAWN",SELECTED:"SELECTED",REJECTED:"REJECTED",LISTING_CANCELLED:"LISTING_CANCELLED"},O={PENDING:"PENDING",ESCROW_FUNDED:"ESCROW_FUNDED",RELEASED:"RELEASED",REFUNDED:"REFUNDED",FAILED:"FAILED"},i={HOST:"HOST",PRODUCER:"PRODUCER",ADMIN:"ADMIN",SYSTEM:"SYSTEM"},E={STATE_CHANGED:"STATE_CHANGED",TERMS_MODIFIED:"TERMS_MODIFIED",MESSAGE_SENT:"MESSAGE_SENT",ATTACHMENT_ADDED:"ATTACHMENT_ADDED",BOOKING_CREATED:"BOOKING_CREATED",BOOKING_COMPLETED:"BOOKING_COMPLETED",BOOKING_CANCELLED:"BOOKING_CANCELLED",BOOKING_ACCEPTED:"BOOKING_ACCEPTED",BOOKING_REJECTED:"BOOKING_REJECTED"};var x=[t.REJECTED,t.CANCELLED,t.CLOSED],b=[...x,t.IN_DISPUTE],P={[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.AWAITING_PRODUCER_RECONFIRM],[t.AWAITING_PRODUCER_RECONFIRM]:[t.CONFIRMED,t.CANCELLED],[t.IN_PROGRESS]:[t.SERVICE_COMPLETED,t.CANCELLED],[t.SERVICE_COMPLETED]:[t.CLOSED],[t.IN_DISPUTE]:[t.CLOSED],[t.REJECTED]:[],[t.CANCELLED]:[],[t.CLOSED]:[]},B={[`${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.CONFIRMED}->${t.AWAITING_PRODUCER_RECONFIRM}`]:[i.HOST,i.SYSTEM,i.ADMIN],[`${t.AWAITING_PRODUCER_RECONFIRM}->${t.CONFIRMED}`]:[i.PRODUCER,i.ADMIN],[`${t.AWAITING_PRODUCER_RECONFIRM}->${t.CANCELLED}`]:[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]},y=[t.REJECTED,t.CANCELLED,t.IN_DISPUTE];function G(r,s){return `${r}->${s}`}function v(r){let s=P[r]??[];return b.includes(r)?s:[...s,t.IN_DISPUTE]}function oe(r,s){return v(r).includes(s)}function U(r,s){return s===t.IN_DISPUTE&&!b.includes(r)?[i.HOST,i.PRODUCER]:B[G(r,s)]??[]}function ne(r,s,u){return U(r,s).includes(u)}function ie(r,s){return y.includes(s)}var Ee=z$1.object({origin:z$1.enum(c),eventId:z$1.uuid().optional(),producerId:z$1.uuid(),agreedAmount:z$1.number().min(0)}),ce=z$1.object({escrowReference:z$1.string()}),ue=z$1.object({id:z$1.uuid(),eventId:z$1.uuid().optional(),hostId:z$1.uuid(),producerId:z$1.uuid(),quotedPrice:z$1.number(),currency:z$1.string(),scopeOfWork:z$1.record(z$1.string(),z$1.any()).optional(),requiredStartAt:z$1.iso.datetime(),requiredEndAt:z$1.iso.datetime(),bookingState:z$1.enum(t),paymentStatus:z$1.enum(O),escrowReference:z$1.string().optional(),completedAt:z$1.iso.datetime().optional(),hostRating:z$1.number().optional(),hostReview:z$1.string().optional(),producerRating:z$1.number().optional(),producerReview:z$1.string().optional(),createdAt:z$1.iso.datetime(),updatedAt:z$1.iso.datetime()}),de=z$1.object({title:z$1.string().max(255),description:z$1.string(),requiredDate:z$1.iso.datetime(),estimatedDurationMinutes:z$1.number().int().positive().optional(),location:z$1.string(),budgetRangeMin:z$1.number().optional(),budgetRangeMax:z$1.number().optional()}),pe=z$1.object({id:z$1.uuid(),hostProfileId:z$1.uuid(),eventId:z$1.uuid().optional(),title:z$1.string(),description:z$1.string(),requiredDate:z$1.iso.datetime(),estimatedDurationMinutes:z$1.number().int().nullable().optional(),location:z$1.string(),budgetRangeMin:z$1.number().optional(),budgetRangeMax:z$1.number().optional(),state:z$1.enum(g),proposalCount:z$1.number(),createdAt:z$1.iso.datetime()}),le=z$1.object({coverMessage:z$1.string().optional(),proposedAmount:z$1.number().min(0).optional(),availabilityNotes:z$1.string().optional()}),ge=z$1.object({id:z$1.uuid(),jobListingId:z$1.uuid(),producerProfileId:z$1.uuid(),coverMessage:z$1.string().optional(),proposedAmount:z$1.number().optional(),state:z$1.enum(N),createdAt:z$1.iso.datetime()});var m={ONSITE:"ONSITE",REMOTE:"REMOTE"};var _=z$1.record(z$1.string(),z$1.unknown()),Ce=z$1.object({producerId:z$1.uuid(),origin:z$1.enum(c),eventId:z$1.uuid().optional(),jobListingId:z$1.uuid().optional(),sourceIoiId:z$1.uuid().optional(),agreedAmount:z$1.coerce.number().nonnegative().optional(),scopeOfWork:z$1.string().max(5e3).optional()}).superRefine((r,s)=>{r.origin===c.EVENT_DIRECT&&!r.eventId&&s.addIssue({code:"custom",message:"eventId is required when origin is EVENT_DIRECT",path:["eventId"]}),r.origin===c.MARKETPLACE_DIRECT&&(r.eventId&&s.addIssue({code:"custom",message:"eventId must not be set when origin is MARKETPLACE_DIRECT",path:["eventId"]}),r.sourceIoiId&&s.addIssue({code:"custom",message:"sourceIoiId must not be set when origin is MARKETPLACE_DIRECT",path:["sourceIoiId"]})),r.origin===c.JOB_LISTING&&(r.sourceIoiId||s.addIssue({code:"custom",message:"sourceIoiId is required when origin is JOB_LISTING",path:["sourceIoiId"]}),r.eventId&&s.addIssue({code:"custom",message:"eventId must not be set when origin is JOB_LISTING",path:["eventId"]})),r.sourceIoiId&&r.origin!==c.JOB_LISTING&&s.addIssue({code:"custom",message:"sourceIoiId is only allowed when origin is JOB_LISTING",path:["sourceIoiId"]});}),S=z$1.object({id:z$1.uuid(),eventId:z$1.uuid().nullable(),eventLinked:z$1.boolean(),hostProfileId:z$1.uuid(),producerProfileId:z$1.uuid(),origin:z$1.enum(c),jobListingId:z$1.uuid().nullable(),sourceIoiId:z$1.uuid().nullable(),state:z$1.enum(t),agreedAmount:z$1.number().nullable(),scopeOfWork:z$1.string().nullable(),createdAt:z$1.string(),updatedAt:z$1.string()}),Ne=z$1.object({bookingId:z$1.uuid(),booking:S}),j=z$1.string().trim().min(5).max(500),Oe=z$1.object({targetState:z$1.enum(t),reason:j.optional()}).superRefine((r,s)=>{(r.targetState===t.REJECTED||r.targetState===t.CANCELLED||r.targetState===t.IN_DISPUTE)&&r.reason===void 0&&s.addIssue({code:"custom",message:"reason is required for this transition",path:["reason"]});}),be=z$1.object({booking:S}),Le=z$1.object({notes:z$1.string().max(2e3).optional()}),ke=z$1.object({notes:z$1.string().max(2e3).optional()}),_e=z$1.object({booking:S,hostAcked:z$1.boolean(),producerAcked:z$1.boolean(),completed:z$1.boolean(),forced:z$1.boolean().optional()}),J=(r,s)=>{if(r.eventId)return;r.eventTitle?.trim()||r.title?.trim()||s.addIssue({code:"custom",message:"eventTitle is required when eventId is not provided",path:["eventTitle"]});},R=z$1.object({eventTitle:z$1.string().min(1).max(200).optional(),title:z$1.string().min(1).max(200).optional(),description:z$1.string().min(1).max(5e3),responsibilities:z$1.string().min(1),requirements:z$1.string().min(1),role:z$1.string().min(1).max(120),requiredCount:z$1.coerce.number().int().min(1),requiredDate:z$1.iso.datetime().optional(),estimatedDurationMinutes:z$1.coerce.number().int().positive().optional(),location:z$1.enum(m),notes:z$1.string().max(2e3).optional(),compensation:z$1.coerce.number().nonnegative().optional(),attachments:_.optional(),eventId:z$1.uuid().optional()}),H=R.superRefine(J),$=z$1.object({eventTitle:z$1.string().min(1).max(200).optional(),title:z$1.string().min(1).max(200).optional(),description:z$1.string().min(1).max(5e3),responsibilities:z$1.string().min(1),requirements:z$1.string().min(1),role:z$1.string().min(1).max(120),requiredCount:z$1.coerce.number().int().min(1),location:z$1.enum(m),eventId:z$1.uuid().optional()}),F=$,Me=R.partial().extend({saveAsDraft:z$1.boolean().optional().default(false)}).superRefine((r,s)=>{if(r.saveAsDraft)return;let u=H.safeParse(r);u.success||s.addIssue({code:"custom",message:u.error.issues.map(h=>h.message).join("; ")});}),fe=R.partial(),he=z$1.object({...d$1.shape,location:z$1.enum(m).optional()}),xe=z$1.object({...d$1.shape,state:z$1.enum(g).optional(),search:z$1.string().trim().min(2).max(100).optional()}),Pe=F.superRefine((r,s)=>{if(r.eventId)return;r.eventTitle?.trim()||r.title?.trim()||s.addIssue({code:"custom",message:"eventTitle is required for standalone job listings",path:["eventTitle"]});}),Be=z$1.object({id:z$1.uuid(),state:z$1.literal("OPEN")}),ye=z$1.object({id:z$1.uuid(),hostProfileId:z$1.uuid(),eventId:z$1.uuid().nullable(),title:z$1.string(),eventTitle:z$1.string().nullable(),notes:z$1.string().nullable(),description:z$1.string(),responsibilities:z$1.string(),requirements:z$1.string(),role:z$1.string(),requiredCount:z$1.number().int().min(1),requiredDate:z$1.string().nullable(),estimatedDurationMinutes:z$1.number().int().nullable(),location:z$1.enum(m),compensation:z$1.number().nullable(),attachments:z$1.unknown().nullable(),state:z$1.enum(g),proposalCount:z$1.number().int(),cancelledAt:z$1.string().nullable(),cancelledReason:z$1.string().nullable(),createdAt:z$1.string(),updatedAt:z$1.string()}),Ge=z$1.object({reason:z$1.string().trim().min(5).max(500).optional()}),ve=z$1.object({id:z$1.uuid(),state:z$1.literal("CANCELLED"),cancelledAt:z$1.iso.datetime().nullable()}),Ue=z$1.object({coverMessage:z$1.string().min(1).max(2e3).optional(),proposedAmount:z$1.coerce.number().nonnegative().optional(),availabilityNotes:z$1.string().max(2e3).optional(),attachments:_.optional()}),W=z$1.object({id:z$1.uuid(),jobListingId:z$1.uuid(),producerProfileId:z$1.uuid(),coverMessage:z$1.string().nullable(),proposedAmount:z$1.number().nullable(),availabilityNotes:z$1.string().nullable(),state:z$1.enum(a),resultingBookingId:z$1.uuid().nullable(),withdrawnAt:z$1.string().nullable(),selectedAt:z$1.string().nullable(),createdAt:z$1.string(),updatedAt:z$1.string()}),q=W.extend({producerCompanyName:z$1.string().nullable()}),L={CREATED_AT:"createdAt",UPDATED_AT:"updatedAt",PROPOSED_AMOUNT:"proposedAmount"},k={ASC:"asc",DESC:"desc"},je=z$1.object({...d$1.shape,jobListingId:z$1.uuid().optional(),state:z$1.enum(a).optional(),search:z$1.string().trim().min(2).max(100).optional(),sortBy:z$1.enum(L).default(L.CREATED_AT),sortOrder:z$1.enum(k).default(k.DESC)}),Je=q.extend({producerDisplayName:z$1.string(),producerAvatarUrl:z$1.url().nullable(),producerServiceCategoryLabels:z$1.array(z$1.string()),producerEquipmentLabels:z$1.array(z$1.string()),producerIsVerified:z$1.boolean(),jobListingTitle:z$1.string(),jobListingRole:z$1.string(),jobListingState:z$1.enum(g),jobListingLocation:z$1.enum(m),jobListingEventId:z$1.uuid().nullable(),jobListingEventTitle:z$1.string().nullable()});var M={SENT:"SENT",DELIVERED:"DELIVERED",READ:"READ"};var K=z$1.object({id:z$1.uuid(),bookingId:z$1.uuid(),hostProfileId:z$1.uuid(),producerProfileId:z$1.uuid(),createdAt:z$1.string(),updatedAt:z$1.string()}),w=z$1.object({id:z$1.uuid(),url:z$1.string(),mimeType:z$1.string(),sizeBytes:z$1.number().int(),createdAt:z$1.string()}),T=z$1.object({id:z$1.uuid(),threadId:z$1.uuid(),senderUserId:z$1.uuid(),body:z$1.string(),sentAt:z$1.string(),deliveryStatus:z$1.enum(M),readAt:z$1.string().nullable(),attachments:z$1.array(w)}),we=d$1,Ve=z$1.object({messages:z$1.array(T),...e.shape}),Qe=z$1.object({thread:K,messages:z$1.array(T),...e.shape}),ze=z$1.object({body:z$1.string().trim().min(1).max(5e3),attachments:z$1.array(z$1.object({url:z$1.string().url(),mimeType:z$1.string().min(1).max(120),sizeBytes:z$1.number().int().positive()})).max(10).optional()}),Ye=z$1.object({message:T}),Xe=z$1.object({upToMessageId:z$1.uuid().optional()}),Ze=z$1.object({markedCount:z$1.number().int().nonnegative()}),V=z$1.object({threadId:z$1.uuid(),bookingId:z$1.uuid(),title:z$1.string(),lastMessagePreview:z$1.string().nullable(),lastMessageAt:z$1.string().nullable(),lastSenderUserId:z$1.uuid().nullable(),lastSenderDisplayName:z$1.string().nullable(),unreadCount:z$1.number().int().nonnegative(),bookingState:z$1.enum(t)}),et=z$1.object({items:z$1.array(V),...e.shape});var Q=z$1.object({id:z$1.string(),role:b$1}),D=z$1.object({reason:z$1.string().optional(),ipAddress:z$1.string().optional(),userAgent:z$1.string().optional(),traceId:z$1.string().optional()}),f=z$1.record(z$1.string(),z$1.unknown()),z=D.extend({beforeState:f.optional(),afterState:f.optional()}),Y=D.extend({messageId:z$1.string(),bodyPreview:z$1.string(),attachmentCount:z$1.number().int().nonnegative().optional()}),X=D.extend({messageId:z$1.string(),attachmentId:z$1.string(),url:z$1.string(),mimeType:z$1.string(),sizeBytes:z$1.number().int().nonnegative()}),A={timestamp:z$1.string().datetime(),actor:Q};function d(r){return z$1.object({...A,action:z$1.literal(r),details:z})}var Z=z$1.discriminatedUnion("action",[d(E.STATE_CHANGED),d(E.TERMS_MODIFIED),d(E.BOOKING_CREATED),d(E.BOOKING_COMPLETED),d(E.BOOKING_CANCELLED),d(E.BOOKING_ACCEPTED),d(E.BOOKING_REJECTED),z$1.object({...A,action:z$1.literal(E.MESSAGE_SENT),details:Y}),z$1.object({...A,action:z$1.literal(E.ATTACHMENT_ADDED),details:X})]),st=z$1.object({items:z$1.array(Z),...e.shape});export{we as $,S as A,Ne as B,Oe as C,be as D,Le as E,ke as F,_e as G,Me as H,fe as I,he as J,xe as K,Pe as L,Be as M,ye as N,Ge as O,ve as P,Ue as Q,W as R,q as S,L as T,k as U,je as V,Je as W,M as X,K as Y,w as Z,T as _,c as a,Ve as aa,t as b,Qe as ba,g as c,ze as ca,N as d,Ye as da,O as e,Xe as ea,i as f,Ze as fa,E as g,V as ga,x as h,et as ha,P as i,Q as ia,B as j,D as ja,y as k,f as ka,G as l,z as la,v as m,Y as ma,oe as n,X as na,U as o,Z as oa,ne as p,st as pa,ie as q,Ee as r,ce as s,ue as t,de as u,pe as v,le as w,ge as x,m as y,Ce as z};//# sourceMappingURL=chunk-EJYBQ36M.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-EJYBQ36M.mjs.map
|
|
@@ -0,0 +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","../src/booking/booking-audit.schemas.ts"],"names":["BookingOrigin","BookingState","JobListingState","IoiState","BookingPaymentStatus","BookingTransitionActor","BookingAuditAction","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","jobListingEventTitleRefine","MarketplaceJobListingBodyFieldsSchema","MarketplaceJobListingBodySchema","PublishableJobListingBodyFieldsSchema","PublishableJobListingBodySchema","CreateMarketplaceJobListingRequestSchema","result","issue","UpdateMarketplaceJobListingRequestSchema","ListMarketplaceJobListingsQuerySchema","PaginationParamsSchema","ListHostMarketplaceJobListingsQuerySchema","PublishReadyJobListingSchema","PublishMarketplaceJobListingResponseSchema","MarketplaceJobListingResponseSchema","CancelMarketplaceJobListingRequestSchema","CancelMarketplaceJobListingResponseSchema","SubmitMarketplaceIndicationOfInterestRequestSchema","MarketplaceIndicationOfInterestResponseSchema","JobInterestState","MarketplaceIndicationOfInterestHostItemSchema","HostIndicationOfInterestSortBy","SortOrder","ListHostMarketplaceIndicationsQuerySchema","MarketplaceHostIndicationOfInterestInboxItemSchema","MessageDeliveryStatus","MarketplaceHiringThreadSchema","MarketplaceHiringMessageAttachmentSchema","MarketplaceHiringMessageSchema","ListMarketplaceHiringThreadMessagesQuerySchema","ListMarketplaceHiringThreadMessagesResponseSchema","PaginationResponseSchema","GetMarketplaceHiringThreadResponseSchema","PostMarketplaceHiringThreadMessageRequestSchema","PostMarketplaceHiringThreadMessageResponseSchema","MarkMarketplaceHiringThreadReadRequestSchema","MarkMarketplaceHiringThreadReadResponseSchema","MarketplaceHiringThreadInboxItemSchema","ListMarketplaceHiringThreadsResponseSchema","BookingAuditActorSchema","AuditActorRoleSchema","BookingAuditRequestMetadataSchema","BookingAuditSnapshotSchema","BookingAuditStateTransitionDetailsSchema","BookingAuditMessageSentDetailsSchema","BookingAuditAttachmentAddedDetailsSchema","auditEntryBase","stateTransitionAuditEntry","action","AdminBookingAuditEntrySchema","AdminBookingAuditResponseSchema"],"mappings":"0JAAO,IAAMA,EAAgB,CAC3B,YAAA,CAAc,cAAA,CACd,kBAAA,CAAoB,qBACpB,WAAA,CAAa,aACf,CAAA,CAGaC,CAAAA,CAAe,CAC1B,SAAA,CAAW,WAAA,CACX,2BAA4B,4BAAA,CAC5B,cAAA,CAAgB,iBAChB,QAAA,CAAU,UAAA,CACV,QAAA,CAAU,UAAA,CACV,UAAW,WAAA,CACX,uBAAA,CAAyB,0BACzB,SAAA,CAAW,WAAA,CACX,YAAa,aAAA,CACb,iBAAA,CAAmB,mBAAA,CACnB,UAAA,CAAY,aACZ,MAAA,CAAQ,QAAA,CACR,4BAA6B,6BAC/B,CAAA,CAGaC,EAAkB,CAC7B,KAAA,CAAO,OAAA,CACP,IAAA,CAAM,OACN,SAAA,CAAW,WAAA,CACX,MAAA,CAAQ,QAAA,CACR,UAAW,WACb,CAAA,CAGaC,CAAAA,CAAW,CACtB,KAAM,MAAA,CACN,WAAA,CAAa,cACb,SAAA,CAAW,WAAA,CACX,SAAU,UAAA,CACV,QAAA,CAAU,UAAA,CACV,iBAAA,CAAmB,mBACrB,CAAA,CAMaC,CAAAA,CAAuB,CAClC,OAAA,CAAS,SAAA,CACT,cAAe,eAAA,CACf,QAAA,CAAU,UAAA,CACV,QAAA,CAAU,WACV,MAAA,CAAQ,QACV,EAIaC,CAAAA,CAAyB,CACpC,KAAM,MAAA,CACN,QAAA,CAAU,UAAA,CACV,KAAA,CAAO,QACP,MAAA,CAAQ,QACV,CAAA,CAKaC,CAAAA,CAAqB,CAChC,aAAA,CAAe,eAAA,CACf,cAAA,CAAgB,gBAAA,CAChB,aAAc,cAAA,CACd,gBAAA,CAAkB,mBAClB,eAAA,CAAiB,iBAAA,CACjB,kBAAmB,mBAAA,CACnB,iBAAA,CAAmB,mBAAA,CACnB,gBAAA,CAAkB,mBAClB,gBAAA,CAAkB,kBACpB,ECxEO,IAAMC,CAAAA,CAAmD,CAC9DN,CAAAA,CAAa,QAAA,CACbA,CAAAA,CAAa,SAAA,CACbA,EAAa,MACf,CAAA,CAEMO,EAAiD,CACrD,GAAGD,EACHN,CAAAA,CAAa,UACf,CAAA,CAGaQ,CAAAA,CAA2E,CACtF,CAACR,CAAAA,CAAa,SAAS,EAAG,CAACA,EAAa,0BAAA,CAA4BA,CAAAA,CAAa,SAAS,CAAA,CAC1F,CAACA,CAAAA,CAAa,0BAA0B,EAAG,CACzCA,CAAAA,CAAa,eACbA,CAAAA,CAAa,QAAA,CACbA,CAAAA,CAAa,SACf,EACA,CAACA,CAAAA,CAAa,cAAc,EAAG,CAC7BA,EAAa,QAAA,CACbA,CAAAA,CAAa,QAAA,CACbA,CAAAA,CAAa,SACf,CAAA,CACA,CAACA,EAAa,QAAQ,EAAG,CAACA,CAAAA,CAAa,uBAAA,CAAyBA,CAAAA,CAAa,SAAS,EACtF,CAACA,CAAAA,CAAa,uBAAuB,EAAG,CAACA,CAAAA,CAAa,SAAA,CAAWA,CAAAA,CAAa,SAAS,EACvF,CAACA,CAAAA,CAAa,SAAS,EAAG,CAACA,EAAa,WAAA,CAAaA,CAAAA,CAAa,2BAA2B,CAAA,CAC7F,CAACA,CAAAA,CAAa,2BAA2B,EAAG,CAACA,CAAAA,CAAa,UAAWA,CAAAA,CAAa,SAAS,CAAA,CAC3F,CAACA,EAAa,WAAW,EAAG,CAACA,CAAAA,CAAa,iBAAA,CAAmBA,EAAa,SAAS,CAAA,CACnF,CAACA,CAAAA,CAAa,iBAAiB,EAAG,CAACA,CAAAA,CAAa,MAAM,EACtD,CAACA,CAAAA,CAAa,UAAU,EAAG,CAACA,CAAAA,CAAa,MAAM,EAC/C,CAACA,CAAAA,CAAa,QAAQ,EAAG,EAAC,CAC1B,CAACA,EAAa,SAAS,EAAG,EAAC,CAC3B,CAACA,EAAa,MAAM,EAAG,EACzB,EAGaS,CAAAA,CAET,CACF,CAAC,CAAA,EAAGT,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,GAAGJ,CAAAA,CAAa,0BAA0B,KAAKA,CAAAA,CAAa,cAAc,EAAE,EAAG,CAC9EI,CAAAA,CAAuB,QACzB,EACA,CAAC,CAAA,EAAGJ,EAAa,0BAA0B,CAAA,EAAA,EAAKA,EAAa,QAAQ,CAAA,CAAE,EAAG,CACxEI,EAAuB,QACzB,CAAA,CACA,CAAC,CAAA,EAAGJ,CAAAA,CAAa,0BAA0B,CAAA,EAAA,EAAKA,CAAAA,CAAa,SAAS,CAAA,CAAE,EAAG,CACzEI,CAAAA,CAAuB,KACvBA,CAAAA,CAAuB,QACzB,EACA,CAAC,CAAA,EAAGJ,CAAAA,CAAa,cAAc,KAAKA,CAAAA,CAAa,QAAQ,EAAE,EAAG,CAC5DI,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,KACvBA,CAAAA,CAAuB,QACzB,CAAA,CACA,CAAC,GAAGJ,CAAAA,CAAa,cAAc,CAAA,EAAA,EAAKA,CAAAA,CAAa,SAAS,CAAA,CAAE,EAAG,CAC7DI,CAAAA,CAAuB,IAAA,CACvBA,EAAuB,QACzB,CAAA,CACA,CAAC,CAAA,EAAGJ,EAAa,QAAQ,CAAA,EAAA,EAAKA,EAAa,uBAAuB,CAAA,CAAE,EAAG,CACrEI,CAAAA,CAAuB,IAAA,CACvBA,CAAAA,CAAuB,MACzB,CAAA,CACA,CAAC,GAAGJ,CAAAA,CAAa,QAAQ,KAAKA,CAAAA,CAAa,SAAS,CAAA,CAAE,EAAG,CACvDI,CAAAA,CAAuB,IAAA,CACvBA,CAAAA,CAAuB,QACzB,EACA,CAAC,CAAA,EAAGJ,CAAAA,CAAa,uBAAuB,KAAKA,CAAAA,CAAa,SAAS,EAAE,EAAG,CACtEI,EAAuB,MAAA,CACvBA,CAAAA,CAAuB,KACzB,CAAA,CACA,CAAC,CAAA,EAAGJ,CAAAA,CAAa,uBAAuB,CAAA,EAAA,EAAKA,CAAAA,CAAa,SAAS,CAAA,CAAE,EAAG,CACtEI,CAAAA,CAAuB,KACvBA,CAAAA,CAAuB,KACzB,EACA,CAAC,CAAA,EAAGJ,EAAa,SAAS,CAAA,EAAA,EAAKA,CAAAA,CAAa,WAAW,EAAE,EAAG,CAC1DI,CAAAA,CAAuB,IAAA,CACvBA,EAAuB,QAAA,CACvBA,CAAAA,CAAuB,KACzB,CAAA,CACA,CAAC,CAAA,EAAGJ,CAAAA,CAAa,SAAS,CAAA,EAAA,EAAKA,CAAAA,CAAa,2BAA2B,CAAA,CAAE,EAAG,CAC1EI,CAAAA,CAAuB,KACvBA,CAAAA,CAAuB,MAAA,CACvBA,EAAuB,KACzB,CAAA,CACA,CAAC,CAAA,EAAGJ,CAAAA,CAAa,2BAA2B,CAAA,EAAA,EAAKA,EAAa,SAAS,CAAA,CAAE,EAAG,CAC1EI,CAAAA,CAAuB,SACvBA,CAAAA,CAAuB,KACzB,CAAA,CACA,CAAC,GAAGJ,CAAAA,CAAa,2BAA2B,KAAKA,CAAAA,CAAa,SAAS,EAAE,EAAG,CAC1EI,CAAAA,CAAuB,IAAA,CACvBA,EAAuB,QAAA,CACvBA,CAAAA,CAAuB,KACzB,CAAA,CACA,CAAC,GAAGJ,CAAAA,CAAa,WAAW,CAAA,EAAA,EAAKA,CAAAA,CAAa,iBAAiB,CAAA,CAAE,EAAG,CAClEI,CAAAA,CAAuB,QAAA,CACvBA,EAAuB,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,KACvBA,CAAAA,CAAuB,KACzB,CAAA,CACA,CAAC,GAAGJ,CAAAA,CAAa,iBAAiB,CAAA,EAAA,EAAKA,CAAAA,CAAa,MAAM,CAAA,CAAE,EAAG,CAC7DI,CAAAA,CAAuB,IAAA,CACvBA,EAAuB,KAAA,CACvBA,CAAAA,CAAuB,MACzB,CAAA,CACA,CAAC,CAAA,EAAGJ,CAAAA,CAAa,UAAU,CAAA,EAAA,EAAKA,CAAAA,CAAa,MAAM,CAAA,CAAE,EAAG,CACtDI,CAAAA,CAAuB,MACvBA,CAAAA,CAAuB,IACzB,CACF,CAAA,CAGaM,CAAAA,CAAuE,CAClFV,CAAAA,CAAa,QAAA,CACbA,CAAAA,CAAa,SAAA,CACbA,EAAa,UACf,EAEO,SAASW,CAAAA,CAAqBC,EAAoBC,CAAAA,CAAwC,CAC/F,OAAO,CAAA,EAAGD,CAAI,CAAA,EAAA,EAAKC,CAAE,EACvB,CAEO,SAASC,EAA8BF,CAAAA,CAA6C,CACzF,IAAMG,CAAAA,CAAOP,EAA0BI,CAAI,CAAA,EAAK,EAAC,CACjD,OAAKL,EAAsB,QAAA,CAASK,CAAI,CAAA,CAGjCG,CAAAA,CAFE,CAAC,GAAGA,CAAAA,CAAMf,EAAa,UAAU,CAG5C,CAEO,SAASgB,EAAAA,CAAyBJ,CAAAA,CAAoBC,CAAAA,CAA2B,CACtF,OAAOC,CAAAA,CAA8BF,CAAI,CAAA,CAAE,SAASC,CAAE,CACxD,CAEO,SAASI,EACdL,CAAAA,CACAC,CAAAA,CACmC,CACnC,OAAIA,CAAAA,GAAOb,EAAa,UAAA,EAAc,CAACO,CAAAA,CAAsB,QAAA,CAASK,CAAI,CAAA,CACjE,CAACR,EAAuB,IAAA,CAAMA,CAAAA,CAAuB,QAAQ,CAAA,CAE/DK,CAAAA,CAA0BE,CAAAA,CAAqBC,CAAAA,CAAMC,CAAE,CAAC,CAAA,EAAK,EACtE,CAEO,SAASK,EAAAA,CACdN,CAAAA,CACAC,CAAAA,CACAM,CAAAA,CACS,CACT,OAAOF,CAAAA,CAA2BL,EAAMC,CAAE,CAAA,CAAE,SAASM,CAAK,CAC5D,CAEO,SAASC,GAAgCC,CAAAA,CAAqBR,CAAAA,CAA2B,CAC9F,OAAOH,CAAAA,CAA4C,SAASG,CAAE,CAChE,KChKaS,EAAAA,CAA6BC,GAAAA,CAAE,OAAO,CACjD,MAAA,CAAQA,GAAAA,CAAE,IAAA,CAAKxB,CAAa,CAAA,CAC5B,OAAA,CAASwB,IAAE,IAAA,EAAK,CAAE,UAAS,CAC3B,UAAA,CAAYA,GAAAA,CAAE,IAAA,GACd,YAAA,CAAcA,GAAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAChC,CAAC,CAAA,CAEYC,GAA8BD,GAAAA,CAAE,MAAA,CAAO,CAClD,eAAA,CAAiBA,GAAAA,CAAE,QACrB,CAAC,CAAA,CAEYE,EAAAA,CAAwBF,IAAE,MAAA,CAAO,CAC5C,GAAIA,GAAAA,CAAE,IAAA,GACN,OAAA,CAASA,GAAAA,CAAE,IAAA,EAAK,CAAE,UAAS,CAC3B,MAAA,CAAQA,IAAE,IAAA,EAAK,CACf,WAAYA,GAAAA,CAAE,IAAA,EAAK,CACnB,WAAA,CAAaA,IAAE,MAAA,EAAO,CACtB,QAAA,CAAUA,GAAAA,CAAE,QAAO,CACnB,WAAA,CAAaA,GAAAA,CAAE,MAAA,CAAOA,IAAE,MAAA,EAAO,CAAGA,IAAE,GAAA,EAAK,EAAE,QAAA,EAAS,CACpD,eAAA,CAAiBA,GAAAA,CAAE,IAAI,QAAA,EAAS,CAChC,cAAeA,GAAAA,CAAE,GAAA,CAAI,UAAS,CAC9B,YAAA,CAAcA,GAAAA,CAAE,IAAA,CAAKvB,CAAY,CAAA,CACjC,aAAA,CAAeuB,IAAE,IAAA,CAAKpB,CAAoB,EAC1C,eAAA,CAAiBoB,GAAAA,CAAE,MAAA,EAAO,CAAE,UAAS,CACrC,WAAA,CAAaA,GAAAA,CAAE,GAAA,CAAI,UAAS,CAAE,QAAA,EAAS,CACvC,UAAA,CAAYA,IAAE,MAAA,EAAO,CAAE,UAAS,CAChC,UAAA,CAAYA,IAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CAChC,eAAgBA,GAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CACpC,eAAgBA,GAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAC3B,SAAA,CAAWA,GAAAA,CAAE,IAAI,QAAA,EAAS,CAC1B,UAAWA,GAAAA,CAAE,GAAA,CAAI,QAAA,EACnB,CAAC,CAAA,CAEYG,EAAAA,CAAgCH,IAAE,MAAA,CAAO,CACpD,MAAOA,GAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,GAAG,CAAA,CACzB,WAAA,CAAaA,IAAE,MAAA,EAAO,CACtB,aAAcA,GAAAA,CAAE,GAAA,CAAI,QAAA,EAAS,CAC7B,yBAA0BA,GAAAA,CAAE,MAAA,GAAS,GAAA,EAAI,CAAE,UAAS,CAAE,QAAA,EAAS,CAC/D,QAAA,CAAUA,IAAE,MAAA,EAAO,CACnB,eAAgBA,GAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CACpC,cAAA,CAAgBA,GAAAA,CAAE,QAAO,CAAE,QAAA,EAC7B,CAAC,EAEYI,EAAAA,CAA2BJ,GAAAA,CAAE,MAAA,CAAO,CAC/C,GAAIA,GAAAA,CAAE,IAAA,GACN,aAAA,CAAeA,GAAAA,CAAE,MAAK,CACtB,OAAA,CAASA,GAAAA,CAAE,IAAA,GAAO,QAAA,EAAS,CAC3B,MAAOA,GAAAA,CAAE,MAAA,GACT,WAAA,CAAaA,GAAAA,CAAE,MAAA,EAAO,CACtB,aAAcA,GAAAA,CAAE,GAAA,CAAI,UAAS,CAC7B,wBAAA,CAA0BA,IAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,UAAS,CAAE,QAAA,EAAS,CAC/D,QAAA,CAAUA,IAAE,MAAA,EAAO,CACnB,cAAA,CAAgBA,GAAAA,CAAE,QAAO,CAAE,QAAA,GAC3B,cAAA,CAAgBA,GAAAA,CAAE,QAAO,CAAE,QAAA,EAAS,CACpC,KAAA,CAAOA,IAAE,IAAA,CAAKtB,CAAe,EAC7B,aAAA,CAAesB,GAAAA,CAAE,QAAO,CACxB,SAAA,CAAWA,GAAAA,CAAE,GAAA,CAAI,UACnB,CAAC,EAEYK,EAAAA,CAA0CL,GAAAA,CAAE,OAAO,CAC9D,YAAA,CAAcA,GAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAClC,cAAA,CAAgBA,GAAAA,CAAE,QAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,UAAS,CAC3C,iBAAA,CAAmBA,IAAE,MAAA,EAAO,CAAE,UAChC,CAAC,CAAA,CAEYM,EAAAA,CAAqCN,IAAE,MAAA,CAAO,CACzD,GAAIA,GAAAA,CAAE,IAAA,GACN,YAAA,CAAcA,GAAAA,CAAE,IAAA,EAAK,CACrB,kBAAmBA,GAAAA,CAAE,IAAA,GACrB,YAAA,CAAcA,GAAAA,CAAE,QAAO,CAAE,QAAA,EAAS,CAClC,cAAA,CAAgBA,IAAE,MAAA,EAAO,CAAE,UAAS,CACpC,KAAA,CAAOA,IAAE,IAAA,CAAKrB,CAAQ,CAAA,CACtB,SAAA,CAAWqB,IAAE,GAAA,CAAI,QAAA,EACnB,CAAC,MClFYO,CAAAA,CAAc,CACzB,MAAA,CAAQ,QAAA,CACR,OAAQ,QACV,ECGA,IAAMC,CAAAA,CAAmBR,GAAAA,CAAE,MAAA,CAAOA,IAAE,MAAA,EAAO,CAAGA,IAAE,OAAA,EAAS,EAG5CS,EAAAA,CAAwCT,GAAAA,CAClD,MAAA,CAAO,CACN,WAAYA,GAAAA,CAAE,IAAA,EAAK,CACnB,MAAA,CAAQA,IAAE,IAAA,CAAKxB,CAAa,CAAA,CAC5B,OAAA,CAASwB,IAAE,IAAA,EAAK,CAAE,UAAS,CAC3B,YAAA,CAAcA,IAAE,IAAA,EAAK,CAAE,QAAA,EAAS,CAChC,YAAaA,GAAAA,CAAE,IAAA,GAAO,QAAA,EAAS,CAC/B,aAAcA,GAAAA,CAAE,MAAA,CAAO,MAAA,EAAO,CAAE,aAAY,CAAE,QAAA,GAC9C,WAAA,CAAaA,GAAAA,CAAE,QAAO,CAAE,GAAA,CAAI,GAAI,CAAA,CAAE,UACpC,CAAC,CAAA,CACA,WAAA,CAAY,CAACU,CAAAA,CAAMC,CAAAA,GAAQ,CACtBD,CAAAA,CAAK,SAAWlC,CAAAA,CAAc,YAAA,EAAgB,CAACkC,CAAAA,CAAK,OAAA,EACtDC,EAAI,QAAA,CAAS,CACX,IAAA,CAAM,QAAA,CACN,QAAS,iDAAA,CACT,IAAA,CAAM,CAAC,SAAS,CAClB,CAAC,CAAA,CAECD,CAAAA,CAAK,MAAA,GAAWlC,CAAAA,CAAc,qBAC5BkC,CAAAA,CAAK,OAAA,EACPC,EAAI,QAAA,CAAS,CACX,KAAM,QAAA,CACN,OAAA,CAAS,2DAAA,CACT,IAAA,CAAM,CAAC,SAAS,CAClB,CAAC,CAAA,CAECD,EAAK,WAAA,EACPC,CAAAA,CAAI,QAAA,CAAS,CACX,KAAM,QAAA,CACN,OAAA,CAAS,gEACT,IAAA,CAAM,CAAC,aAAa,CACtB,CAAC,CAAA,CAAA,CAGDD,CAAAA,CAAK,SAAWlC,CAAAA,CAAc,WAAA,GAC3BkC,EAAK,WAAA,EACRC,CAAAA,CAAI,SAAS,CACX,IAAA,CAAM,QAAA,CACN,OAAA,CAAS,qDACT,IAAA,CAAM,CAAC,aAAa,CACtB,CAAC,EAECD,CAAAA,CAAK,OAAA,EACPC,CAAAA,CAAI,QAAA,CAAS,CACX,IAAA,CAAM,QAAA,CACN,QAAS,oDAAA,CACT,IAAA,CAAM,CAAC,SAAS,CAClB,CAAC,CAAA,CAAA,CAGDD,EAAK,WAAA,EAAeA,CAAAA,CAAK,SAAWlC,CAAAA,CAAc,WAAA,EACpDmC,EAAI,QAAA,CAAS,CACX,IAAA,CAAM,QAAA,CACN,QAAS,wDAAA,CACT,IAAA,CAAM,CAAC,aAAa,CACtB,CAAC,EAEL,CAAC,CAAA,CAEUC,CAAAA,CAAmCZ,IAAE,MAAA,CAAO,CACvD,GAAIA,GAAAA,CAAE,IAAA,GACN,OAAA,CAASA,GAAAA,CAAE,IAAA,EAAK,CAAE,UAAS,CAC3B,WAAA,CAAaA,GAAAA,CAAE,OAAA,GACf,aAAA,CAAeA,GAAAA,CAAE,IAAA,EAAK,CACtB,kBAAmBA,GAAAA,CAAE,IAAA,GACrB,MAAA,CAAQA,GAAAA,CAAE,KAAKxB,CAAa,CAAA,CAC5B,YAAA,CAAcwB,GAAAA,CAAE,MAAK,CAAE,QAAA,GACvB,WAAA,CAAaA,GAAAA,CAAE,MAAK,CAAE,QAAA,EAAS,CAC/B,KAAA,CAAOA,IAAE,IAAA,CAAKvB,CAAY,EAC1B,YAAA,CAAcuB,GAAAA,CAAE,QAAO,CAAE,QAAA,EAAS,CAClC,WAAA,CAAaA,IAAE,MAAA,EAAO,CAAE,UAAS,CACjC,SAAA,CAAWA,IAAE,MAAA,EAAO,CACpB,SAAA,CAAWA,GAAAA,CAAE,QACf,CAAC,EAGYa,EAAAA,CAAyCb,GAAAA,CAAE,OAAO,CAC7D,SAAA,CAAWA,GAAAA,CAAE,IAAA,GACb,OAAA,CAASY,CACX,CAAC,CAAA,CAEKE,CAAAA,CAAgCd,IAAE,MAAA,EAAO,CAAE,IAAA,EAAK,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,GAAG,CAAA,CAGzDe,GAA4Cf,GAAAA,CACtD,MAAA,CAAO,CACN,WAAA,CAAaA,IAAE,IAAA,CAAKvB,CAAY,CAAA,CAChC,MAAA,CAAQqC,EAA8B,QAAA,EACxC,CAAC,CAAA,CACA,YAAY,CAACJ,CAAAA,CAAMC,IAAQ,CAAA,CAExBD,CAAAA,CAAK,cAAgBjC,CAAAA,CAAa,QAAA,EAClCiC,CAAAA,CAAK,WAAA,GAAgBjC,EAAa,SAAA,EAClCiC,CAAAA,CAAK,cAAgBjC,CAAAA,CAAa,UAAA,GACdiC,EAAK,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,IAAE,MAAA,CAAO,CACjE,QAASY,CACX,CAAC,CAAA,CAGYK,EAAAA,CAA0CjB,IAAE,MAAA,CAAO,CAC9D,MAAOA,GAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAI,CAAA,CAAE,QAAA,EAC9B,CAAC,CAAA,CAGYkB,GAA+ClB,GAAAA,CAAE,MAAA,CAAO,CACnE,KAAA,CAAOA,GAAAA,CAAE,MAAA,EAAO,CAAE,IAAI,GAAI,CAAA,CAAE,UAC9B,CAAC,EAEYmB,EAAAA,CAA2CnB,GAAAA,CAAE,MAAA,CAAO,CAC/D,QAASY,CAAAA,CACT,SAAA,CAAWZ,GAAAA,CAAE,OAAA,GACb,aAAA,CAAeA,GAAAA,CAAE,OAAA,EAAQ,CACzB,UAAWA,GAAAA,CAAE,OAAA,GACb,MAAA,CAAQA,GAAAA,CAAE,SAAQ,CAAE,QAAA,EACtB,CAAC,EAEKoB,CAAAA,CAA6B,CACjCV,EAKAC,CAAAA,GACG,CACH,GAAID,CAAAA,CAAK,OAAA,CACP,OAEsBA,CAAAA,CAAK,YAAY,IAAA,EAAK,EAAKA,EAAK,KAAA,EAAO,IAAA,IAE7DC,CAAAA,CAAI,QAAA,CAAS,CACX,IAAA,CAAM,SACN,OAAA,CAAS,qDAAA,CACT,IAAA,CAAM,CAAC,YAAY,CACrB,CAAC,EAEL,CAAA,CAEMU,EAAwCrB,GAAAA,CAAE,MAAA,CAAO,CAErD,UAAA,CAAYA,GAAAA,CAAE,QAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,IAAI,GAAG,CAAA,CAAE,UAAS,CAEhD,KAAA,CAAOA,IAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,EAAE,GAAA,CAAI,GAAG,EAAE,QAAA,EAAS,CAC3C,YAAaA,GAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAI,CAAA,CACvC,iBAAkBA,GAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAClC,YAAA,CAAcA,IAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAC9B,IAAA,CAAMA,GAAAA,CAAE,QAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAC/B,aAAA,CAAeA,GAAAA,CAAE,MAAA,CAAO,QAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,EAC5C,YAAA,CAAcA,GAAAA,CAAE,GAAA,CAAI,QAAA,GAAW,QAAA,EAAS,CACxC,yBAA0BA,GAAAA,CAAE,MAAA,CAAO,QAAO,CAAE,GAAA,EAAI,CAAE,QAAA,GAAW,QAAA,EAAS,CACtE,SAAUA,GAAAA,CAAE,IAAA,CAAKO,CAAW,CAAA,CAC5B,KAAA,CAAOP,GAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,GAAI,EAAE,QAAA,EAAS,CACrC,aAAcA,GAAAA,CAAE,MAAA,CAAO,MAAA,EAAO,CAAE,aAAY,CAAE,QAAA,GAC9C,WAAA,CAAaQ,CAAAA,CAAiB,UAAS,CACvC,OAAA,CAASR,GAAAA,CAAE,IAAA,GAAO,QAAA,EACpB,CAAC,CAAA,CAEKsB,EAAkCD,CAAAA,CAAsC,WAAA,CAC5ED,CACF,CAAA,CAGMG,EAAwCvB,GAAAA,CAAE,MAAA,CAAO,CACrD,UAAA,CAAYA,GAAAA,CAAE,QAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,IAAI,GAAG,CAAA,CAAE,UAAS,CAChD,KAAA,CAAOA,IAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,EAAE,GAAA,CAAI,GAAG,EAAE,QAAA,EAAS,CAC3C,YAAaA,GAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAI,CAAA,CACvC,iBAAkBA,GAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAClC,YAAA,CAAcA,IAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAC9B,IAAA,CAAMA,GAAAA,CAAE,QAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAC/B,aAAA,CAAeA,GAAAA,CAAE,MAAA,CAAO,QAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,EAC5C,QAAA,CAAUA,GAAAA,CAAE,IAAA,CAAKO,CAAW,EAC5B,OAAA,CAASP,GAAAA,CAAE,IAAA,EAAK,CAAE,UACpB,CAAC,CAAA,CAEKwB,CAAAA,CAAkCD,EAG3BE,EAAAA,CACXJ,CAAAA,CAAsC,SAAQ,CAC3C,MAAA,CAAO,CACN,WAAA,CAAarB,GAAAA,CAAE,OAAA,EAAQ,CAAE,UAAS,CAAE,OAAA,CAAQ,KAAK,CACnD,CAAC,EACA,WAAA,CAAY,CAACU,CAAAA,CAAMC,CAAAA,GAAQ,CAC1B,GAAID,CAAAA,CAAK,YACP,OAEF,IAAMgB,EAASJ,CAAAA,CAAgC,SAAA,CAAUZ,CAAI,CAAA,CACxDgB,EAAO,OAAA,EACVf,CAAAA,CAAI,SAAS,CACX,IAAA,CAAM,SACN,OAAA,CAASe,CAAAA,CAAO,KAAA,CAAM,MAAA,CAAO,IAAKC,CAAAA,EAAUA,CAAAA,CAAM,OAAO,CAAA,CAAE,IAAA,CAAK,IAAI,CACtE,CAAC,EAEL,CAAC,EAEQC,EAAAA,CACXP,CAAAA,CAAsC,SAAQ,CAEnCQ,EAAAA,CAAwC7B,IAAE,MAAA,CAAO,CAC5D,GAAG8B,GAAAA,CAAuB,MAC1B,QAAA,CAAU9B,GAAAA,CAAE,KAAKO,CAAW,CAAA,CAAE,UAChC,CAAC,CAAA,CAGYwB,EAAAA,CAA4C/B,IAAE,MAAA,CAAO,CAChE,GAAG8B,GAAAA,CAAuB,MAC1B,KAAA,CAAO9B,GAAAA,CAAE,IAAA,CAAKtB,CAAe,EAAE,QAAA,EAAS,CAExC,OAAQsB,GAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,GAAA,CAAI,CAAC,EAAE,GAAA,CAAI,GAAG,EAAE,QAAA,EAC5C,CAAC,CAAA,CAGYgC,EAAAA,CAA+BR,CAAAA,CAAgC,WAAA,CAC1E,CAACd,CAAAA,CAAMC,CAAAA,GAAQ,CACb,GAAID,CAAAA,CAAK,QACP,OAEsBA,CAAAA,CAAK,UAAA,EAAY,IAAA,IAAUA,CAAAA,CAAK,KAAA,EAAO,IAAA,EAAK,EAElEC,EAAI,QAAA,CAAS,CACX,IAAA,CAAM,QAAA,CACN,QAAS,oDAAA,CACT,IAAA,CAAM,CAAC,YAAY,CACrB,CAAC,EAEL,CACF,CAAA,CAGasB,EAAAA,CAA6CjC,IAAE,MAAA,CAAO,CACjE,GAAIA,GAAAA,CAAE,IAAA,GACN,KAAA,CAAOA,GAAAA,CAAE,OAAA,CAAQ,MAAM,CACzB,CAAC,CAAA,CAEYkC,GAAsClC,GAAAA,CAAE,MAAA,CAAO,CAC1D,EAAA,CAAIA,GAAAA,CAAE,IAAA,EAAK,CACX,cAAeA,GAAAA,CAAE,IAAA,EAAK,CACtB,OAAA,CAASA,IAAE,IAAA,EAAK,CAAE,QAAA,EAAS,CAE3B,MAAOA,GAAAA,CAAE,MAAA,GACT,UAAA,CAAYA,GAAAA,CAAE,QAAO,CAAE,QAAA,EAAS,CAChC,KAAA,CAAOA,IAAE,MAAA,EAAO,CAAE,UAAS,CAC3B,WAAA,CAAaA,IAAE,MAAA,EAAO,CACtB,gBAAA,CAAkBA,GAAAA,CAAE,QAAO,CAC3B,YAAA,CAAcA,IAAE,MAAA,EAAO,CACvB,KAAMA,GAAAA,CAAE,MAAA,EAAO,CACf,aAAA,CAAeA,IAAE,MAAA,EAAO,CAAE,KAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CACrC,YAAA,CAAcA,GAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAClC,yBAA0BA,GAAAA,CAAE,MAAA,GAAS,GAAA,EAAI,CAAE,QAAA,EAAS,CACpD,SAAUA,GAAAA,CAAE,IAAA,CAAKO,CAAW,CAAA,CAC5B,YAAA,CAAcP,IAAE,MAAA,EAAO,CAAE,QAAA,EAAS,CAClC,YAAaA,GAAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAClC,MAAOA,GAAAA,CAAE,IAAA,CAAKtB,CAAe,CAAA,CAC7B,cAAesB,GAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAC1B,WAAA,CAAaA,GAAAA,CAAE,MAAA,EAAO,CAAE,UAAS,CACjC,eAAA,CAAiBA,IAAE,MAAA,EAAO,CAAE,UAAS,CACrC,SAAA,CAAWA,GAAAA,CAAE,MAAA,GACb,SAAA,CAAWA,GAAAA,CAAE,QACf,CAAC,EAGYmC,EAAAA,CAA2CnC,GAAAA,CAAE,MAAA,CAAO,CAC/D,OAAQA,GAAAA,CAAE,MAAA,GAAS,IAAA,EAAK,CAAE,IAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,EAAE,QAAA,EAC5C,CAAC,CAAA,CAEYoC,EAAAA,CAA4CpC,IAAE,MAAA,CAAO,CAChE,EAAA,CAAIA,GAAAA,CAAE,MAAK,CACX,KAAA,CAAOA,IAAE,OAAA,CAAQ,WAAW,EAC5B,WAAA,CAAaA,GAAAA,CAAE,GAAA,CAAI,QAAA,GAAW,QAAA,EAChC,CAAC,CAAA,CAGYqC,EAAAA,CAAqDrC,IAAE,MAAA,CAAO,CACzE,YAAA,CAAcA,GAAAA,CAAE,QAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAI,CAAA,CAAE,QAAA,EAAS,CACnD,cAAA,CAAgBA,IAAE,MAAA,CAAO,MAAA,EAAO,CAAE,WAAA,GAAc,QAAA,EAAS,CACzD,iBAAA,CAAmBA,GAAAA,CAAE,QAAO,CAAE,GAAA,CAAI,GAAI,CAAA,CAAE,QAAA,GACxC,WAAA,CAAaQ,CAAAA,CAAiB,QAAA,EAChC,CAAC,CAAA,CAEY8B,CAAAA,CAAgDtC,IAAE,MAAA,CAAO,CACpE,GAAIA,GAAAA,CAAE,IAAA,EAAK,CACX,YAAA,CAAcA,IAAE,IAAA,EAAK,CACrB,kBAAmBA,GAAAA,CAAE,IAAA,GACrB,YAAA,CAAcA,GAAAA,CAAE,MAAA,EAAO,CAAE,UAAS,CAClC,cAAA,CAAgBA,IAAE,MAAA,EAAO,CAAE,UAAS,CACpC,iBAAA,CAAmBA,GAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CACvC,MAAOA,GAAAA,CAAE,IAAA,CAAKuC,CAAgB,CAAA,CAC9B,kBAAA,CAAoBvC,GAAAA,CAAE,IAAA,GAAO,QAAA,EAAS,CACtC,YAAaA,GAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CACjC,UAAA,CAAYA,GAAAA,CAAE,QAAO,CAAE,QAAA,GACvB,SAAA,CAAWA,GAAAA,CAAE,QAAO,CACpB,SAAA,CAAWA,GAAAA,CAAE,MAAA,EACf,CAAC,CAAA,CAGYwC,CAAAA,CACXF,CAAAA,CAA8C,OAAO,CACnD,mBAAA,CAAqBtC,GAAAA,CAAE,MAAA,GAAS,QAAA,EAClC,CAAC,CAAA,CAEUyC,CAAAA,CAAiC,CAC5C,UAAA,CAAY,WAAA,CACZ,UAAA,CAAY,WAAA,CACZ,gBAAiB,gBACnB,CAAA,CAEaC,EAAY,CACvB,GAAA,CAAK,MACL,IAAA,CAAM,MACR,CAAA,CAGaC,EAAAA,CAA4C3C,IAAE,MAAA,CAAO,CAChE,GAAG8B,GAAAA,CAAuB,KAAA,CAC1B,aAAc9B,GAAAA,CAAE,IAAA,EAAK,CAAE,QAAA,GACvB,KAAA,CAAOA,GAAAA,CAAE,IAAA,CAAKuC,CAAgB,EAAE,QAAA,EAAS,CAEzC,MAAA,CAAQvC,GAAAA,CAAE,QAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,EAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,GAC1C,MAAA,CAAQA,GAAAA,CAAE,KAAKyC,CAA8B,CAAA,CAAE,QAAQA,CAAAA,CAA+B,UAAU,CAAA,CAChG,SAAA,CAAWzC,IAAE,IAAA,CAAK0C,CAAS,EAAE,OAAA,CAAQA,CAAAA,CAAU,IAAI,CACrD,CAAC,CAAA,CAGYE,EAAAA,CACXJ,EAA8C,MAAA,CAAO,CACnD,mBAAA,CAAqBxC,GAAAA,CAAE,QAAO,CAC9B,iBAAA,CAAmBA,GAAAA,CAAE,GAAA,GAAM,QAAA,EAAS,CACpC,8BAA+BA,GAAAA,CAAE,KAAA,CAAMA,IAAE,MAAA,EAAQ,CAAA,CACjD,uBAAA,CAAyBA,IAAE,KAAA,CAAMA,GAAAA,CAAE,QAAQ,CAAA,CAC3C,mBAAoBA,GAAAA,CAAE,OAAA,EAAQ,CAC9B,eAAA,CAAiBA,IAAE,MAAA,EAAO,CAC1B,eAAgBA,GAAAA,CAAE,MAAA,GAClB,eAAA,CAAiBA,GAAAA,CAAE,IAAA,CAAKtB,CAAe,EACvC,kBAAA,CAAoBsB,GAAAA,CAAE,KAAKO,CAAW,CAAA,CACtC,kBAAmBP,GAAAA,CAAE,IAAA,EAAK,CAAE,QAAA,GAC5B,oBAAA,CAAsBA,GAAAA,CAAE,QAAO,CAAE,QAAA,EACnC,CAAC,ECjWI,IAAM6C,CAAAA,CAAwB,CACnC,IAAA,CAAM,MAAA,CACN,UAAW,WAAA,CACX,IAAA,CAAM,MACR,ECCO,IAAMC,CAAAA,CAAgC9C,IAAE,MAAA,CAAO,CACpD,GAAIA,GAAAA,CAAE,IAAA,EAAK,CACX,SAAA,CAAWA,IAAE,IAAA,EAAK,CAClB,aAAA,CAAeA,GAAAA,CAAE,MAAK,CACtB,iBAAA,CAAmBA,GAAAA,CAAE,IAAA,GACrB,SAAA,CAAWA,GAAAA,CAAE,QAAO,CACpB,SAAA,CAAWA,IAAE,MAAA,EACf,CAAC,CAAA,CAEY+C,EAA2C/C,GAAAA,CAAE,MAAA,CAAO,CAC/D,EAAA,CAAIA,GAAAA,CAAE,MAAK,CACX,GAAA,CAAKA,GAAAA,CAAE,MAAA,GACP,QAAA,CAAUA,GAAAA,CAAE,QAAO,CACnB,SAAA,CAAWA,IAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAC1B,UAAWA,GAAAA,CAAE,MAAA,EACf,CAAC,EAEYgD,CAAAA,CAAiChD,GAAAA,CAAE,MAAA,CAAO,CACrD,GAAIA,GAAAA,CAAE,IAAA,GACN,QAAA,CAAUA,GAAAA,CAAE,MAAK,CACjB,YAAA,CAAcA,GAAAA,CAAE,IAAA,GAChB,IAAA,CAAMA,GAAAA,CAAE,QAAO,CACf,MAAA,CAAQA,IAAE,MAAA,EAAO,CACjB,cAAA,CAAgBA,GAAAA,CAAE,KAAK6C,CAAqB,CAAA,CAC5C,OAAQ7C,GAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAC5B,WAAA,CAAaA,GAAAA,CAAE,MAAM+C,CAAwC,CAC/D,CAAC,CAAA,CAEYE,GAAiDnB,GAAAA,CAEjDoB,EAAAA,CAAoDlD,GAAAA,CAAE,MAAA,CAAO,CACxE,QAAA,CAAUA,GAAAA,CAAE,MAAMgD,CAA8B,CAAA,CAChD,GAAGG,CAAAA,CAAyB,KAC9B,CAAC,CAAA,CAEYC,GAA2CpD,GAAAA,CAAE,MAAA,CAAO,CAC/D,MAAA,CAAQ8C,CAAAA,CACR,SAAU9C,GAAAA,CAAE,KAAA,CAAMgD,CAA8B,CAAA,CAChD,GAAGG,CAAAA,CAAyB,KAC9B,CAAC,CAAA,CAEYE,EAAAA,CAAkDrD,IAAE,MAAA,CAAO,CACtE,IAAA,CAAMA,GAAAA,CAAE,QAAO,CAAE,IAAA,GAAO,GAAA,CAAI,CAAC,EAAE,GAAA,CAAI,GAAI,CAAA,CACvC,WAAA,CAAaA,IACV,KAAA,CACCA,GAAAA,CAAE,OAAO,CACP,GAAA,CAAKA,IAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CACpB,SAAUA,GAAAA,CAAE,MAAA,GAAS,GAAA,CAAI,CAAC,EAAE,GAAA,CAAI,GAAG,CAAA,CACnC,SAAA,CAAWA,IAAE,MAAA,EAAO,CAAE,KAAI,CAAE,QAAA,EAC9B,CAAC,CACH,CAAA,CACC,GAAA,CAAI,EAAE,CAAA,CACN,QAAA,EACL,CAAC,EAEYsD,EAAAA,CAAmDtD,GAAAA,CAAE,MAAA,CAAO,CACvE,QAASgD,CACX,CAAC,EAEYO,EAAAA,CAA+CvD,GAAAA,CAAE,OAAO,CACnE,aAAA,CAAeA,GAAAA,CAAE,IAAA,GAAO,QAAA,EAC1B,CAAC,CAAA,CAEYwD,EAAAA,CAAgDxD,IAAE,MAAA,CAAO,CACpE,WAAA,CAAaA,GAAAA,CAAE,QAAO,CAAE,GAAA,GAAM,WAAA,EAChC,CAAC,CAAA,CAGYyD,CAAAA,CAAyCzD,GAAAA,CAAE,MAAA,CAAO,CAC7D,QAAA,CAAUA,GAAAA,CAAE,IAAA,EAAK,CACjB,UAAWA,GAAAA,CAAE,IAAA,EAAK,CAClB,KAAA,CAAOA,IAAE,MAAA,EAAO,CAChB,mBAAoBA,GAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CACxC,aAAA,CAAeA,GAAAA,CAAE,QAAO,CAAE,QAAA,GAC1B,gBAAA,CAAkBA,GAAAA,CAAE,MAAK,CAAE,QAAA,EAAS,CACpC,qBAAA,CAAuBA,IAAE,MAAA,EAAO,CAAE,UAAS,CAC3C,WAAA,CAAaA,IAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,aAAY,CAC1C,YAAA,CAAcA,GAAAA,CAAE,IAAA,CAAKvB,CAAY,CACnC,CAAC,CAAA,CAEYiF,EAAAA,CAA6C1D,IAAE,MAAA,CAAO,CACjE,MAAOA,GAAAA,CAAE,KAAA,CAAMyD,CAAsC,CAAA,CACrD,GAAGN,CAAAA,CAAyB,KAC9B,CAAC,MCnFYQ,CAAAA,CAA0B3D,GAAAA,CAAE,MAAA,CAAO,CAC9C,GAAIA,GAAAA,CAAE,MAAA,GACN,IAAA,CAAM4D,GACR,CAAC,CAAA,CAGYC,CAAAA,CAAoC7D,GAAAA,CAAE,MAAA,CAAO,CACxD,MAAA,CAAQA,GAAAA,CAAE,QAAO,CAAE,QAAA,GACnB,SAAA,CAAWA,GAAAA,CAAE,MAAA,EAAO,CAAE,UAAS,CAC/B,SAAA,CAAWA,IAAE,MAAA,EAAO,CAAE,UAAS,CAC/B,OAAA,CAASA,GAAAA,CAAE,MAAA,GAAS,QAAA,EACtB,CAAC,CAAA,CAGY8D,CAAAA,CAA6B9D,IAAE,MAAA,CAAOA,GAAAA,CAAE,MAAA,EAAO,CAAGA,IAAE,OAAA,EAAS,EAM7D+D,CAAAA,CAA2CF,CAAAA,CAAkC,OAAO,CAC/F,WAAA,CAAaC,CAAAA,CAA2B,QAAA,GACxC,UAAA,CAAYA,CAAAA,CAA2B,QAAA,EACzC,CAAC,CAAA,CAEYE,CAAAA,CAAuCH,CAAAA,CAAkC,MAAA,CAAO,CAC3F,SAAA,CAAW7D,GAAAA,CAAE,QAAO,CACpB,WAAA,CAAaA,IAAE,MAAA,EAAO,CACtB,eAAA,CAAiBA,GAAAA,CAAE,QAAO,CAAE,GAAA,GAAM,WAAA,EAAY,CAAE,UAClD,CAAC,CAAA,CAEYiE,CAAAA,CAA2CJ,EAAkC,MAAA,CAAO,CAC/F,UAAW7D,GAAAA,CAAE,MAAA,GACb,YAAA,CAAcA,GAAAA,CAAE,MAAA,EAAO,CACvB,IAAKA,GAAAA,CAAE,MAAA,GACP,QAAA,CAAUA,GAAAA,CAAE,QAAO,CACnB,SAAA,CAAWA,GAAAA,CAAE,MAAA,GAAS,GAAA,EAAI,CAAE,aAC9B,CAAC,EAEKkE,CAAAA,CAAiB,CACrB,SAAA,CAAWlE,GAAAA,CAAE,QAAO,CAAE,QAAA,GACtB,KAAA,CAAO2D,CACT,EAEA,SAASQ,CAAAA,CAEPC,CAAAA,CAAW,CACX,OAAOpE,GAAAA,CAAE,MAAA,CAAO,CACd,GAAGkE,CAAAA,CACH,OAAQlE,GAAAA,CAAE,OAAA,CAAQoE,CAAM,CAAA,CACxB,QAASL,CACX,CAAC,CACH,KAGaM,CAAAA,CAA+BrE,GAAAA,CAAE,kBAAA,CAAmB,QAAA,CAAU,CACzEmE,CAAAA,CAA0BrF,CAAAA,CAAmB,aAAa,CAAA,CAC1DqF,CAAAA,CAA0BrF,EAAmB,cAAc,CAAA,CAC3DqF,CAAAA,CAA0BrF,CAAAA,CAAmB,eAAe,CAAA,CAC5DqF,CAAAA,CAA0BrF,EAAmB,iBAAiB,CAAA,CAC9DqF,EAA0BrF,CAAAA,CAAmB,iBAAiB,CAAA,CAC9DqF,CAAAA,CAA0BrF,EAAmB,gBAAgB,CAAA,CAC7DqF,EAA0BrF,CAAAA,CAAmB,gBAAgB,EAC7DkB,GAAAA,CAAE,MAAA,CAAO,CACP,GAAGkE,EACH,MAAA,CAAQlE,GAAAA,CAAE,QAAQlB,CAAAA,CAAmB,YAAY,EACjD,OAAA,CAASkF,CACX,CAAC,CAAA,CACDhE,IAAE,MAAA,CAAO,CACP,GAAGkE,CAAAA,CACH,MAAA,CAAQlE,IAAE,OAAA,CAAQlB,CAAAA,CAAmB,gBAAgB,CAAA,CACrD,QAASmF,CACX,CAAC,CACH,CAAC,CAAA,CAEYK,GAAkCtE,GAAAA,CAAE,MAAA,CAAO,CACtD,KAAA,CAAOA,IAAE,KAAA,CAAMqE,CAA4B,EAC3C,GAAGlB,CAAAA,CAAyB,KAC9B,CAAC","file":"chunk-EJYBQ36M.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 AWAITING_PRODUCER_RECONFIRM: 'AWAITING_PRODUCER_RECONFIRM',\n} as const;\nexport type BookingState = (typeof BookingState)[keyof typeof BookingState];\n\nexport const JobListingState = {\n DRAFT: 'DRAFT',\n OPEN: 'OPEN',\n SUSPENDED: 'SUSPENDED',\n CLOSED: 'CLOSED',\n CANCELLED: 'CANCELLED',\n} as const;\nexport type JobListingState = (typeof JobListingState)[keyof typeof JobListingState];\n\nexport const IoiState = {\n OPEN: 'OPEN',\n SHORTLISTED: 'SHORTLISTED',\n WITHDRAWN: 'WITHDRAWN',\n SELECTED: 'SELECTED',\n REJECTED: 'REJECTED',\n LISTING_CANCELLED: 'LISTING_CANCELLED',\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\n/** Canonical booking audit action names (admin dispute-evidence API). */\nexport const BookingAuditAction = {\n STATE_CHANGED: 'STATE_CHANGED',\n TERMS_MODIFIED: 'TERMS_MODIFIED',\n MESSAGE_SENT: 'MESSAGE_SENT',\n ATTACHMENT_ADDED: 'ATTACHMENT_ADDED',\n BOOKING_CREATED: 'BOOKING_CREATED',\n BOOKING_COMPLETED: 'BOOKING_COMPLETED',\n BOOKING_CANCELLED: 'BOOKING_CANCELLED',\n BOOKING_ACCEPTED: 'BOOKING_ACCEPTED',\n BOOKING_REJECTED: 'BOOKING_REJECTED',\n} as const;\nexport type BookingAuditAction = (typeof BookingAuditAction)[keyof typeof BookingAuditAction];\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, BookingState.AWAITING_PRODUCER_RECONFIRM],\n [BookingState.AWAITING_PRODUCER_RECONFIRM]: [BookingState.CONFIRMED, BookingState.CANCELLED],\n [BookingState.IN_PROGRESS]: [BookingState.SERVICE_COMPLETED, BookingState.CANCELLED],\n [BookingState.SERVICE_COMPLETED]: [BookingState.CLOSED],\n [BookingState.IN_DISPUTE]: [BookingState.CLOSED],\n [BookingState.REJECTED]: [],\n [BookingState.CANCELLED]: [],\n [BookingState.CLOSED]: [],\n};\n\n/** RBAC: which actor may perform each transition (dispute edges merged at runtime). */\nexport const BOOKING_TRANSITION_ACTORS: Partial<\n Record<BookingTransitionKey, readonly BookingTransitionActor[]>\n> = {\n [`${BookingState.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.CONFIRMED}->${BookingState.AWAITING_PRODUCER_RECONFIRM}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.SYSTEM,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.AWAITING_PRODUCER_RECONFIRM}->${BookingState.CONFIRMED}`]: [\n BookingTransitionActor.PRODUCER,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.AWAITING_PRODUCER_RECONFIRM}->${BookingState.CANCELLED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.PRODUCER,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.IN_PROGRESS}->${BookingState.SERVICE_COMPLETED}`]: [\n BookingTransitionActor.PRODUCER,\n BookingTransitionActor.SYSTEM,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.IN_PROGRESS}->${BookingState.CANCELLED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.ADMIN,\n ],\n [`${BookingState.SERVICE_COMPLETED}->${BookingState.CLOSED}`]: [\n BookingTransitionActor.HOST,\n BookingTransitionActor.ADMIN,\n BookingTransitionActor.SYSTEM,\n ],\n [`${BookingState.IN_DISPUTE}->${BookingState.CLOSED}`]: [\n BookingTransitionActor.ADMIN,\n BookingTransitionActor.HOST,\n ],\n};\n\n/** Target states that require a `reason` on the transition request. */\nexport const BOOKING_TRANSITION_TARGETS_REQUIRING_REASON: readonly BookingState[] = [\n BookingState.REJECTED,\n BookingState.CANCELLED,\n BookingState.IN_DISPUTE,\n];\n\nexport function bookingTransitionKey(from: BookingState, to: BookingState): BookingTransitionKey {\n return `${from}->${to}`;\n}\n\nexport function getAllowedBookingTargetStates(from: BookingState): readonly BookingState[] {\n const base = VALID_BOOKING_TRANSITIONS[from] ?? [];\n if (!DISPUTE_EXCLUDED_FROM.includes(from)) {\n return [...base, BookingState.IN_DISPUTE];\n }\n return base;\n}\n\nexport function isValidBookingTransition(from: BookingState, to: BookingState): boolean {\n return getAllowedBookingTargetStates(from).includes(to);\n}\n\nexport function getBookingTransitionActors(\n from: BookingState,\n to: BookingState,\n): readonly BookingTransitionActor[] {\n if (to === BookingState.IN_DISPUTE && !DISPUTE_EXCLUDED_FROM.includes(from)) {\n return [BookingTransitionActor.HOST, BookingTransitionActor.PRODUCER];\n }\n return BOOKING_TRANSITION_ACTORS[bookingTransitionKey(from, to)] ?? [];\n}\n\nexport function canActorPerformBookingTransition(\n from: BookingState,\n to: BookingState,\n actor: BookingTransitionActor,\n): boolean {\n return getBookingTransitionActors(from, to).includes(actor);\n}\n\nexport function bookingTransitionRequiresReason(_from: BookingState, to: BookingState): boolean {\n return BOOKING_TRANSITION_TARGETS_REQUIRING_REASON.includes(to);\n}\n","import { z } from 'zod';\nimport {\n BookingOrigin,\n BookingState,\n JobListingState,\n 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 estimatedDurationMinutes: z.number().int().positive().optional(),\n location: z.string(),\n budgetRangeMin: z.number().optional(),\n budgetRangeMax: z.number().optional(),\n});\n\nexport const JobListingResponseSchema = z.object({\n id: z.uuid(),\n hostProfileId: z.uuid(),\n eventId: z.uuid().optional(),\n title: z.string(),\n description: z.string(),\n requiredDate: z.iso.datetime(),\n estimatedDurationMinutes: z.number().int().nullable().optional(),\n location: z.string(),\n budgetRangeMin: z.number().optional(),\n budgetRangeMax: z.number().optional(),\n state: z.enum(JobListingState),\n proposalCount: z.number(),\n createdAt: z.iso.datetime(),\n});\n\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 jobListingEventTitleRefine = (\n data: {\n eventId?: string | undefined;\n eventTitle?: string | undefined;\n title?: string | undefined;\n },\n ctx: z.RefinementCtx,\n) => {\n if (data.eventId) {\n return;\n }\n const standaloneTitle = data.eventTitle?.trim() || data.title?.trim();\n if (!standaloneTitle) {\n ctx.addIssue({\n code: 'custom',\n message: 'eventTitle is required when eventId is not provided',\n path: ['eventTitle'],\n });\n }\n};\n\nconst MarketplaceJobListingBodyFieldsSchema = z.object({\n /** Standalone event title — required when `eventId` is absent. Ignored when linked. */\n eventTitle: z.string().min(1).max(200).optional(),\n /** @deprecated Use `eventTitle`. Kept for backward compatibility. */\n title: z.string().min(1).max(200).optional(),\n description: z.string().min(1).max(5000),\n responsibilities: z.string().min(1),\n requirements: z.string().min(1),\n role: z.string().min(1).max(120),\n requiredCount: z.coerce.number().int().min(1),\n requiredDate: z.iso.datetime().optional(),\n estimatedDurationMinutes: z.coerce.number().int().positive().optional(),\n location: z.enum(JobLocation),\n notes: z.string().max(2000).optional(),\n compensation: z.coerce.number().nonnegative().optional(),\n attachments: jsonRecordSchema.optional(),\n eventId: z.uuid().optional(),\n});\n\nconst MarketplaceJobListingBodySchema = MarketplaceJobListingBodyFieldsSchema.superRefine(\n jobListingEventTitleRefine,\n);\n\n/** Publish/create body without event-title guard (linked listings resolve title at read time). */\nconst PublishableJobListingBodyFieldsSchema = z.object({\n eventTitle: z.string().min(1).max(200).optional(),\n title: z.string().min(1).max(200).optional(),\n description: z.string().min(1).max(5000),\n responsibilities: z.string().min(1),\n requirements: z.string().min(1),\n role: z.string().min(1).max(120),\n requiredCount: z.coerce.number().int().min(1),\n location: z.enum(JobLocation),\n eventId: z.uuid().optional(),\n});\n\nconst PublishableJobListingBodySchema = PublishableJobListingBodyFieldsSchema;\n\n/** `POST /marketplace/job-listings` — publish immediately unless `saveAsDraft` */\nexport const CreateMarketplaceJobListingRequestSchema =\n MarketplaceJobListingBodyFieldsSchema.partial()\n .extend({\n saveAsDraft: z.boolean().optional().default(false),\n })\n .superRefine((data, ctx) => {\n if (data.saveAsDraft) {\n return;\n }\n const result = MarketplaceJobListingBodySchema.safeParse(data);\n if (!result.success) {\n ctx.addIssue({\n code: 'custom',\n message: result.error.issues.map((issue) => issue.message).join('; '),\n });\n }\n });\n\nexport const UpdateMarketplaceJobListingRequestSchema =\n MarketplaceJobListingBodyFieldsSchema.partial();\n\nexport const ListMarketplaceJobListingsQuerySchema = z.object({\n ...PaginationParamsSchema.shape,\n location: z.enum(JobLocation).optional(),\n});\n\n/** `GET /marketplace/job-listings/mine` (host) */\nexport const ListHostMarketplaceJobListingsQuerySchema = z.object({\n ...PaginationParamsSchema.shape,\n state: z.enum(JobListingState).optional(),\n /** Case-insensitive match on listing title, role, or linked event title */\n search: z.string().trim().min(2).max(100).optional(),\n});\n\n/** Required persisted fields before a DRAFT job listing can be published */\nexport const PublishReadyJobListingSchema = PublishableJobListingBodySchema.superRefine(\n (data, ctx) => {\n if (data.eventId) {\n return;\n }\n const standaloneTitle = data.eventTitle?.trim() || data.title?.trim();\n if (!standaloneTitle) {\n ctx.addIssue({\n code: 'custom',\n message: 'eventTitle is required for standalone job listings',\n path: ['eventTitle'],\n });\n }\n },\n);\n\n/** `POST /marketplace/job-listings/:id/publish` (host owner) */\nexport const PublishMarketplaceJobListingResponseSchema = z.object({\n id: z.uuid(),\n state: z.literal('OPEN'),\n});\n\nexport const MarketplaceJobListingResponseSchema = z.object({\n id: z.uuid(),\n hostProfileId: z.uuid(),\n eventId: z.uuid().nullable(),\n /** Resolved display title — linked events use the current Event title. */\n title: z.string(),\n eventTitle: z.string().nullable(),\n notes: z.string().nullable(),\n description: z.string(),\n responsibilities: z.string(),\n requirements: z.string(),\n role: z.string(),\n requiredCount: z.number().int().min(1),\n requiredDate: z.string().nullable(),\n estimatedDurationMinutes: 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 cancelledAt: z.string().nullable(),\n cancelledReason: z.string().nullable(),\n createdAt: z.string(),\n updatedAt: z.string(),\n});\n\n/** `POST /marketplace/job-listings/:id/cancel` (host owner) — mirrors HostEventCancelResponseSchema shape */\nexport const CancelMarketplaceJobListingRequestSchema = z.object({\n reason: z.string().trim().min(5).max(500).optional(),\n});\n\nexport const CancelMarketplaceJobListingResponseSchema = z.object({\n id: z.uuid(),\n state: z.literal('CANCELLED'),\n cancelledAt: z.iso.datetime().nullable(),\n});\n\n/** `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\nexport const HostIndicationOfInterestSortBy = {\n CREATED_AT: 'createdAt',\n UPDATED_AT: 'updatedAt',\n PROPOSED_AMOUNT: 'proposedAmount',\n} as const;\n\nexport const SortOrder = {\n ASC: 'asc',\n DESC: 'desc',\n} as const;\n\n/** `GET /marketplace/job-listings/indications-of-interest/mine` (host inbox) */\nexport const ListHostMarketplaceIndicationsQuerySchema = z.object({\n ...PaginationParamsSchema.shape,\n jobListingId: z.uuid().optional(),\n state: z.enum(JobInterestState).optional(),\n /** Case-insensitive match on job listing title or linked event title */\n search: z.string().trim().min(2).max(100).optional(),\n sortBy: z.enum(HostIndicationOfInterestSortBy).default(HostIndicationOfInterestSortBy.CREATED_AT),\n sortOrder: z.enum(SortOrder).default(SortOrder.DESC),\n});\n\n/** Host inbox row — IoI with applicant + parent job listing summary */\nexport const MarketplaceHostIndicationOfInterestInboxItemSchema =\n MarketplaceIndicationOfInterestHostItemSchema.extend({\n producerDisplayName: z.string(),\n producerAvatarUrl: z.url().nullable(),\n producerServiceCategoryLabels: z.array(z.string()),\n producerEquipmentLabels: z.array(z.string()),\n producerIsVerified: z.boolean(),\n jobListingTitle: z.string(),\n jobListingRole: z.string(),\n jobListingState: z.enum(JobListingState),\n jobListingLocation: z.enum(JobLocation),\n jobListingEventId: z.uuid().nullable(),\n jobListingEventTitle: z.string().nullable(),\n });\n","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","import { z } from 'zod';\nimport { AuditActorRoleSchema } from '../common/audit.enums';\nimport { PaginationResponseSchema } from '../common/common.schemas';\nimport { BookingAuditAction } from './booking.enums';\n\nexport const BookingAuditActorSchema = z.object({\n id: z.string(),\n role: AuditActorRoleSchema,\n});\n\n/** Optional request metadata copied into admin `details` when present. */\nexport const BookingAuditRequestMetadataSchema = z.object({\n reason: z.string().optional(),\n ipAddress: z.string().optional(),\n userAgent: z.string().optional(),\n traceId: z.string().optional(),\n});\n\n/** Snapshot blob stored in audit `before` / `after` JSON columns. */\nexport const BookingAuditSnapshotSchema = z.record(z.string(), z.unknown());\n\n/**\n * STATE_CHANGED, TERMS_MODIFIED, and booking lifecycle actions surface\n * `beforeState` / `afterState` via admin formatters.\n */\nexport const BookingAuditStateTransitionDetailsSchema = BookingAuditRequestMetadataSchema.extend({\n beforeState: BookingAuditSnapshotSchema.optional(),\n afterState: BookingAuditSnapshotSchema.optional(),\n});\n\nexport const BookingAuditMessageSentDetailsSchema = BookingAuditRequestMetadataSchema.extend({\n messageId: z.string(),\n bodyPreview: z.string(),\n attachmentCount: z.number().int().nonnegative().optional(),\n});\n\nexport const BookingAuditAttachmentAddedDetailsSchema = BookingAuditRequestMetadataSchema.extend({\n messageId: z.string(),\n attachmentId: z.string(),\n url: z.string(),\n mimeType: z.string(),\n sizeBytes: z.number().int().nonnegative(),\n});\n\nconst auditEntryBase = {\n timestamp: z.string().datetime(),\n actor: BookingAuditActorSchema,\n};\n\nfunction stateTransitionAuditEntry<\n A extends (typeof BookingAuditAction)[keyof typeof BookingAuditAction],\n>(action: A) {\n return z.object({\n ...auditEntryBase,\n action: z.literal(action),\n details: BookingAuditStateTransitionDetailsSchema,\n });\n}\n\n/** One audit row in `GET /admin/bookings/:id/audit` — discriminated by `action`. */\nexport const AdminBookingAuditEntrySchema = z.discriminatedUnion('action', [\n stateTransitionAuditEntry(BookingAuditAction.STATE_CHANGED),\n stateTransitionAuditEntry(BookingAuditAction.TERMS_MODIFIED),\n stateTransitionAuditEntry(BookingAuditAction.BOOKING_CREATED),\n stateTransitionAuditEntry(BookingAuditAction.BOOKING_COMPLETED),\n stateTransitionAuditEntry(BookingAuditAction.BOOKING_CANCELLED),\n stateTransitionAuditEntry(BookingAuditAction.BOOKING_ACCEPTED),\n stateTransitionAuditEntry(BookingAuditAction.BOOKING_REJECTED),\n z.object({\n ...auditEntryBase,\n action: z.literal(BookingAuditAction.MESSAGE_SENT),\n details: BookingAuditMessageSentDetailsSchema,\n }),\n z.object({\n ...auditEntryBase,\n action: z.literal(BookingAuditAction.ATTACHMENT_ADDED),\n details: BookingAuditAttachmentAddedDetailsSchema,\n }),\n]);\n\nexport const AdminBookingAuditResponseSchema = z.object({\n items: z.array(AdminBookingAuditEntrySchema),\n ...PaginationResponseSchema.shape,\n});\n"]}
|