@iveri/contracts 0.23.1 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist/cjs/api/mobility/index.d.ts +6 -0
  2. package/dist/cjs/api/mobility/index.d.ts.map +1 -1
  3. package/dist/cjs/api/mobility/index.js +6 -0
  4. package/dist/cjs/api/mobility/index.js.map +1 -1
  5. package/dist/cjs/api/mobility/mobility-assignment-status.enum.d.ts +6 -0
  6. package/dist/cjs/api/mobility/mobility-assignment-status.enum.d.ts.map +1 -0
  7. package/dist/cjs/api/mobility/mobility-assignment-status.enum.js +10 -0
  8. package/dist/cjs/api/mobility/mobility-assignment-status.enum.js.map +1 -0
  9. package/dist/cjs/api/mobility/mobility-assignment.type.d.ts +26 -0
  10. package/dist/cjs/api/mobility/mobility-assignment.type.d.ts.map +1 -0
  11. package/dist/cjs/api/mobility/mobility-assignment.type.js +3 -0
  12. package/dist/cjs/api/mobility/mobility-assignment.type.js.map +1 -0
  13. package/dist/cjs/api/mobility/mobility-dispatch-offer-status.enum.d.ts +9 -0
  14. package/dist/cjs/api/mobility/mobility-dispatch-offer-status.enum.d.ts.map +1 -0
  15. package/dist/cjs/api/mobility/mobility-dispatch-offer-status.enum.js +13 -0
  16. package/dist/cjs/api/mobility/mobility-dispatch-offer-status.enum.js.map +1 -0
  17. package/dist/cjs/api/mobility/mobility-dispatch-offer.type.d.ts +55 -0
  18. package/dist/cjs/api/mobility/mobility-dispatch-offer.type.d.ts.map +1 -0
  19. package/dist/cjs/api/mobility/mobility-dispatch-offer.type.js +3 -0
  20. package/dist/cjs/api/mobility/mobility-dispatch-offer.type.js.map +1 -0
  21. package/dist/cjs/api/mobility/mobility-dispatch-status.enum.d.ts +11 -0
  22. package/dist/cjs/api/mobility/mobility-dispatch-status.enum.d.ts.map +1 -0
  23. package/dist/cjs/api/mobility/mobility-dispatch-status.enum.js +15 -0
  24. package/dist/cjs/api/mobility/mobility-dispatch-status.enum.js.map +1 -0
  25. package/dist/cjs/api/mobility/mobility-dispatch.type.d.ts +35 -0
  26. package/dist/cjs/api/mobility/mobility-dispatch.type.d.ts.map +1 -0
  27. package/dist/cjs/api/mobility/mobility-dispatch.type.js +3 -0
  28. package/dist/cjs/api/mobility/mobility-dispatch.type.js.map +1 -0
  29. package/dist/cjs/enum/user-permission.enum.d.ts +11 -1
  30. package/dist/cjs/enum/user-permission.enum.d.ts.map +1 -1
  31. package/dist/cjs/enum/user-permission.enum.js +10 -0
  32. package/dist/cjs/enum/user-permission.enum.js.map +1 -1
  33. package/dist/esm/api/mobility/index.d.ts +6 -0
  34. package/dist/esm/api/mobility/index.d.ts.map +1 -1
  35. package/dist/esm/api/mobility/index.js +6 -0
  36. package/dist/esm/api/mobility/index.js.map +1 -1
  37. package/dist/esm/api/mobility/mobility-assignment-status.enum.d.ts +6 -0
  38. package/dist/esm/api/mobility/mobility-assignment-status.enum.d.ts.map +1 -0
  39. package/dist/esm/api/mobility/mobility-assignment-status.enum.js +7 -0
  40. package/dist/esm/api/mobility/mobility-assignment-status.enum.js.map +1 -0
  41. package/dist/esm/api/mobility/mobility-assignment.type.d.ts +26 -0
  42. package/dist/esm/api/mobility/mobility-assignment.type.d.ts.map +1 -0
  43. package/dist/esm/api/mobility/mobility-assignment.type.js +2 -0
  44. package/dist/esm/api/mobility/mobility-assignment.type.js.map +1 -0
  45. package/dist/esm/api/mobility/mobility-dispatch-offer-status.enum.d.ts +9 -0
  46. package/dist/esm/api/mobility/mobility-dispatch-offer-status.enum.d.ts.map +1 -0
  47. package/dist/esm/api/mobility/mobility-dispatch-offer-status.enum.js +10 -0
  48. package/dist/esm/api/mobility/mobility-dispatch-offer-status.enum.js.map +1 -0
  49. package/dist/esm/api/mobility/mobility-dispatch-offer.type.d.ts +55 -0
  50. package/dist/esm/api/mobility/mobility-dispatch-offer.type.d.ts.map +1 -0
  51. package/dist/esm/api/mobility/mobility-dispatch-offer.type.js +2 -0
  52. package/dist/esm/api/mobility/mobility-dispatch-offer.type.js.map +1 -0
  53. package/dist/esm/api/mobility/mobility-dispatch-status.enum.d.ts +11 -0
  54. package/dist/esm/api/mobility/mobility-dispatch-status.enum.d.ts.map +1 -0
  55. package/dist/esm/api/mobility/mobility-dispatch-status.enum.js +12 -0
  56. package/dist/esm/api/mobility/mobility-dispatch-status.enum.js.map +1 -0
  57. package/dist/esm/api/mobility/mobility-dispatch.type.d.ts +35 -0
  58. package/dist/esm/api/mobility/mobility-dispatch.type.d.ts.map +1 -0
  59. package/dist/esm/api/mobility/mobility-dispatch.type.js +2 -0
  60. package/dist/esm/api/mobility/mobility-dispatch.type.js.map +1 -0
  61. package/dist/esm/enum/user-permission.enum.d.ts +11 -1
  62. package/dist/esm/enum/user-permission.enum.d.ts.map +1 -1
  63. package/dist/esm/enum/user-permission.enum.js +10 -0
  64. package/dist/esm/enum/user-permission.enum.js.map +1 -1
  65. package/package.json +1 -1
@@ -1,4 +1,10 @@
1
1
  export * from './mobility-availability-status.enum.js';
2
+ export * from './mobility-assignment-status.enum.js';
3
+ export * from './mobility-assignment.type.js';
4
+ export * from './mobility-dispatch-offer-status.enum.js';
5
+ export * from './mobility-dispatch-offer.type.js';
6
+ export * from './mobility-dispatch-status.enum.js';
7
+ export * from './mobility-dispatch.type.js';
2
8
  export * from './mobility-service-type.enum.js';
3
9
  export * from './mobility-worker-status.enum.js';
4
10
  export * from './mobility-worker.type.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/mobility/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/mobility/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0CAA0C,CAAC;AACzD,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC"}
@@ -15,6 +15,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./mobility-availability-status.enum.js"), exports);
18
+ __exportStar(require("./mobility-assignment-status.enum.js"), exports);
19
+ __exportStar(require("./mobility-assignment.type.js"), exports);
20
+ __exportStar(require("./mobility-dispatch-offer-status.enum.js"), exports);
21
+ __exportStar(require("./mobility-dispatch-offer.type.js"), exports);
22
+ __exportStar(require("./mobility-dispatch-status.enum.js"), exports);
23
+ __exportStar(require("./mobility-dispatch.type.js"), exports);
18
24
  __exportStar(require("./mobility-service-type.enum.js"), exports);
19
25
  __exportStar(require("./mobility-worker-status.enum.js"), exports);
20
26
  __exportStar(require("./mobility-worker.type.js"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/mobility/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yEAAuD;AACvD,kEAAgD;AAChD,mEAAiD;AACjD,4DAA0C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/mobility/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yEAAuD;AACvD,uEAAqD;AACrD,gEAA8C;AAC9C,2EAAyD;AACzD,oEAAkD;AAClD,qEAAmD;AACnD,8DAA4C;AAC5C,kEAAgD;AAChD,mEAAiD;AACjD,4DAA0C"}
@@ -0,0 +1,6 @@
1
+ /** Whether an assignment still occupies its dispatch and counts toward worker capacity. */
2
+ export declare enum MobilityAssignmentStatus {
3
+ ACTIVE = "active",
4
+ RELEASED = "released"
5
+ }
6
+ //# sourceMappingURL=mobility-assignment-status.enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobility-assignment-status.enum.d.ts","sourceRoot":"","sources":["../../../../src/api/mobility/mobility-assignment-status.enum.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,oBAAY,wBAAwB;IAChC,MAAM,WAAW;IACjB,QAAQ,aAAa;CACxB"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MobilityAssignmentStatus = void 0;
4
+ /** Whether an assignment still occupies its dispatch and counts toward worker capacity. */
5
+ var MobilityAssignmentStatus;
6
+ (function (MobilityAssignmentStatus) {
7
+ MobilityAssignmentStatus["ACTIVE"] = "active";
8
+ MobilityAssignmentStatus["RELEASED"] = "released";
9
+ })(MobilityAssignmentStatus || (exports.MobilityAssignmentStatus = MobilityAssignmentStatus = {}));
10
+ //# sourceMappingURL=mobility-assignment-status.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobility-assignment-status.enum.js","sourceRoot":"","sources":["../../../../src/api/mobility/mobility-assignment-status.enum.ts"],"names":[],"mappings":";;;AAAA,2FAA2F;AAC3F,IAAY,wBAGX;AAHD,WAAY,wBAAwB;IAChC,6CAAiB,CAAA;IACjB,iDAAqB,CAAA;AACzB,CAAC,EAHW,wBAAwB,wCAAxB,wBAAwB,QAGnC"}
@@ -0,0 +1,26 @@
1
+ import type { IsoDateTime } from '../../type/iso-date-time.type.js';
2
+ import type { Nullable } from '../../type/nil.type.js';
3
+ import type { UUID } from '../../type/uuid.type.js';
4
+ import type { MobilityAssignmentStatus } from './mobility-assignment-status.enum.js';
5
+ /**
6
+ * The durable result of accepting a dispatch offer.
7
+ *
8
+ * A partial database unique constraint permits only one active assignment per dispatch. Worker
9
+ * capacity is policy rather than a uniqueness rule so Delivery can later support bounded batching.
10
+ * Releasing an assignment is a later explicit command; product completion never rewrites or
11
+ * deletes this evidence.
12
+ */
13
+ export interface MobilityAssignment {
14
+ id: UUID;
15
+ dispatchId: UUID;
16
+ offerId: UUID;
17
+ workerId: UUID;
18
+ status: MobilityAssignmentStatus;
19
+ assignedAt: IsoDateTime;
20
+ releasedAt: Nullable<IsoDateTime>;
21
+ /** Monotonic assignment aggregate version used for durable and realtime events. */
22
+ version: number;
23
+ createdAt: IsoDateTime;
24
+ updatedAt: IsoDateTime;
25
+ }
26
+ //# sourceMappingURL=mobility-assignment.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobility-assignment.type.d.ts","sourceRoot":"","sources":["../../../../src/api/mobility/mobility-assignment.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAErF;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IAC/B,EAAE,EAAE,IAAI,CAAC;IACT,UAAU,EAAE,IAAI,CAAC;IACjB,OAAO,EAAE,IAAI,CAAC;IACd,QAAQ,EAAE,IAAI,CAAC;IACf,MAAM,EAAE,wBAAwB,CAAC;IACjC,UAAU,EAAE,WAAW,CAAC;IACxB,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAClC,mFAAmF;IACnF,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,WAAW,CAAC;IACvB,SAAS,EAAE,WAAW,CAAC;CAC1B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=mobility-assignment.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobility-assignment.type.js","sourceRoot":"","sources":["../../../../src/api/mobility/mobility-assignment.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ /** Closed worker-response lifecycle for one dispatch candidate offer. */
2
+ export declare enum MobilityDispatchOfferStatus {
3
+ PENDING = "pending",
4
+ ACCEPTED = "accepted",
5
+ REJECTED = "rejected",
6
+ EXPIRED = "expired",
7
+ SUPERSEDED = "superseded"
8
+ }
9
+ //# sourceMappingURL=mobility-dispatch-offer-status.enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobility-dispatch-offer-status.enum.d.ts","sourceRoot":"","sources":["../../../../src/api/mobility/mobility-dispatch-offer-status.enum.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,oBAAY,2BAA2B;IACnC,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,UAAU,eAAe;CAC5B"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MobilityDispatchOfferStatus = void 0;
4
+ /** Closed worker-response lifecycle for one dispatch candidate offer. */
5
+ var MobilityDispatchOfferStatus;
6
+ (function (MobilityDispatchOfferStatus) {
7
+ MobilityDispatchOfferStatus["PENDING"] = "pending";
8
+ MobilityDispatchOfferStatus["ACCEPTED"] = "accepted";
9
+ MobilityDispatchOfferStatus["REJECTED"] = "rejected";
10
+ MobilityDispatchOfferStatus["EXPIRED"] = "expired";
11
+ MobilityDispatchOfferStatus["SUPERSEDED"] = "superseded";
12
+ })(MobilityDispatchOfferStatus || (exports.MobilityDispatchOfferStatus = MobilityDispatchOfferStatus = {}));
13
+ //# sourceMappingURL=mobility-dispatch-offer-status.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobility-dispatch-offer-status.enum.js","sourceRoot":"","sources":["../../../../src/api/mobility/mobility-dispatch-offer-status.enum.ts"],"names":[],"mappings":";;;AAAA,yEAAyE;AACzE,IAAY,2BAMX;AAND,WAAY,2BAA2B;IACnC,kDAAmB,CAAA;IACnB,oDAAqB,CAAA;IACrB,oDAAqB,CAAA;IACrB,kDAAmB,CAAA;IACnB,wDAAyB,CAAA;AAC7B,CAAC,EANW,2BAA2B,2CAA3B,2BAA2B,QAMtC"}
@@ -0,0 +1,55 @@
1
+ import type { CursorPage } from '../../type/cursor-page.type.js';
2
+ import type { IsoDateTime } from '../../type/iso-date-time.type.js';
3
+ import type { Nullable } from '../../type/nil.type.js';
4
+ import type { UUID } from '../../type/uuid.type.js';
5
+ import type { MobilityAssignment } from './mobility-assignment.type.js';
6
+ import type { MobilityDispatchOfferStatus } from './mobility-dispatch-offer-status.enum.js';
7
+ import type { MobilityDispatch } from './mobility-dispatch.type.js';
8
+ /**
9
+ * A time-bounded invitation for one eligible worker to accept one dispatch.
10
+ *
11
+ * The record contains identifiers and lifecycle evidence only. Product details remain in Taxi or
12
+ * Delivery, and no worker coordinate is copied into an offer or exposed through realtime.
13
+ */
14
+ export interface MobilityDispatchOffer {
15
+ id: UUID;
16
+ dispatchId: UUID;
17
+ workerId: UUID;
18
+ status: MobilityDispatchOfferStatus;
19
+ expiresAt: IsoDateTime;
20
+ respondedAt: Nullable<IsoDateTime>;
21
+ /** Monotonic offer aggregate version used for optimistic clients and durable events. */
22
+ version: number;
23
+ createdAt: IsoDateTime;
24
+ updatedAt: IsoDateTime;
25
+ }
26
+ /** `GET /api/v1/dispatch-offers`; always scoped to the authenticated caller's worker profile. */
27
+ export interface GetMobilityDispatchOffersQuery {
28
+ limit?: number;
29
+ /** Opaque cursor from the previous page's `nextCursor`. Never parse it. */
30
+ after?: Nullable<string>;
31
+ status?: Nullable<MobilityDispatchOfferStatus>;
32
+ }
33
+ export type MobilityDispatchOffersPage = CursorPage<MobilityDispatchOffer>;
34
+ /**
35
+ * `POST /api/v1/dispatch-offers/:offerId/accept`.
36
+ *
37
+ * The command has no body: the offer identifies both the dispatch and worker, while the tenant and
38
+ * person come from authentication. Retry safety is supplied by the required `Idempotency-Key`
39
+ * header. Acceptance either returns the one committed assignment or changes nothing.
40
+ */
41
+ export interface AcceptMobilityDispatchOfferResponse {
42
+ offer: MobilityDispatchOffer;
43
+ dispatch: MobilityDispatch;
44
+ assignment: MobilityAssignment;
45
+ isDuplicate: boolean;
46
+ }
47
+ /**
48
+ * `POST /api/v1/dispatch-offers/:offerId/reject`; retry safety is supplied by the required
49
+ * `Idempotency-Key` header.
50
+ */
51
+ export interface RejectMobilityDispatchOfferResponse {
52
+ offer: MobilityDispatchOffer;
53
+ isDuplicate: boolean;
54
+ }
55
+ //# sourceMappingURL=mobility-dispatch-offer.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobility-dispatch-offer.type.d.ts","sourceRoot":"","sources":["../../../../src/api/mobility/mobility-dispatch-offer.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AAC5F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IAClC,EAAE,EAAE,IAAI,CAAC;IACT,UAAU,EAAE,IAAI,CAAC;IACjB,QAAQ,EAAE,IAAI,CAAC;IACf,MAAM,EAAE,2BAA2B,CAAC;IACpC,SAAS,EAAE,WAAW,CAAC;IACvB,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IACnC,wFAAwF;IACxF,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,WAAW,CAAC;IACvB,SAAS,EAAE,WAAW,CAAC;CAC1B;AAED,iGAAiG;AACjG,MAAM,WAAW,8BAA8B;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,CAAC,EAAE,QAAQ,CAAC,2BAA2B,CAAC,CAAC;CAClD;AAED,MAAM,MAAM,0BAA0B,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;AAE3E;;;;;;GAMG;AACH,MAAM,WAAW,mCAAmC;IAChD,KAAK,EAAE,qBAAqB,CAAC;IAC7B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,mCAAmC;IAChD,KAAK,EAAE,qBAAqB,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;CACxB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=mobility-dispatch-offer.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobility-dispatch-offer.type.js","sourceRoot":"","sources":["../../../../src/api/mobility/mobility-dispatch-offer.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ /** Closed lifecycle owned by Mobility; vertical products never write this field directly. */
2
+ export declare enum MobilityDispatchStatus {
3
+ PENDING = "pending",
4
+ SEARCHING = "searching",
5
+ OFFERED = "offered",
6
+ ASSIGNED = "assigned",
7
+ EXPIRED = "expired",
8
+ CANCELLED = "cancelled",
9
+ FAILED = "failed"
10
+ }
11
+ //# sourceMappingURL=mobility-dispatch-status.enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobility-dispatch-status.enum.d.ts","sourceRoot":"","sources":["../../../../src/api/mobility/mobility-dispatch-status.enum.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,oBAAY,sBAAsB;IAC9B,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,MAAM,WAAW;CACpB"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MobilityDispatchStatus = void 0;
4
+ /** Closed lifecycle owned by Mobility; vertical products never write this field directly. */
5
+ var MobilityDispatchStatus;
6
+ (function (MobilityDispatchStatus) {
7
+ MobilityDispatchStatus["PENDING"] = "pending";
8
+ MobilityDispatchStatus["SEARCHING"] = "searching";
9
+ MobilityDispatchStatus["OFFERED"] = "offered";
10
+ MobilityDispatchStatus["ASSIGNED"] = "assigned";
11
+ MobilityDispatchStatus["EXPIRED"] = "expired";
12
+ MobilityDispatchStatus["CANCELLED"] = "cancelled";
13
+ MobilityDispatchStatus["FAILED"] = "failed";
14
+ })(MobilityDispatchStatus || (exports.MobilityDispatchStatus = MobilityDispatchStatus = {}));
15
+ //# sourceMappingURL=mobility-dispatch-status.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobility-dispatch-status.enum.js","sourceRoot":"","sources":["../../../../src/api/mobility/mobility-dispatch-status.enum.ts"],"names":[],"mappings":";;;AAAA,6FAA6F;AAC7F,IAAY,sBAQX;AARD,WAAY,sBAAsB;IAC9B,6CAAmB,CAAA;IACnB,iDAAuB,CAAA;IACvB,6CAAmB,CAAA;IACnB,+CAAqB,CAAA;IACrB,6CAAmB,CAAA;IACnB,iDAAuB,CAAA;IACvB,2CAAiB,CAAA;AACrB,CAAC,EARW,sBAAsB,sCAAtB,sBAAsB,QAQjC"}
@@ -0,0 +1,35 @@
1
+ import type { IsoDateTime } from '../../type/iso-date-time.type.js';
2
+ import type { UUID } from '../../type/uuid.type.js';
3
+ import type { MobilityDispatchStatus } from './mobility-dispatch-status.enum.js';
4
+ import type { MobilityServiceType } from './mobility-service-type.enum.js';
5
+ /**
6
+ * A provider-neutral request to find a worker for one vertical-owned resource.
7
+ *
8
+ * `subjectId` is opaque to Mobility: taxi owns a ride and delivery owns a job. Keeping it an id
9
+ * rather than copying either record prevents a generic dispatch table from becoming product state.
10
+ */
11
+ export interface MobilityDispatch {
12
+ id: UUID;
13
+ serviceType: MobilityServiceType;
14
+ subjectId: UUID;
15
+ status: MobilityDispatchStatus;
16
+ pickupLatitude: number;
17
+ pickupLongitude: number;
18
+ expiresAt: IsoDateTime;
19
+ /** Version of the dispatch state machine, not a worker or location version. */
20
+ version: number;
21
+ createdAt: IsoDateTime;
22
+ updatedAt: IsoDateTime;
23
+ }
24
+ /** `POST /api/v1/dispatches`; retry safety is supplied by the `Idempotency-Key` header. */
25
+ export interface CreateMobilityDispatchBody {
26
+ serviceType: MobilityServiceType;
27
+ subjectId: UUID;
28
+ pickupLatitude: number;
29
+ pickupLongitude: number;
30
+ }
31
+ export interface CreateMobilityDispatchResponse {
32
+ dispatch: MobilityDispatch;
33
+ isDuplicate: boolean;
34
+ }
35
+ //# sourceMappingURL=mobility-dispatch.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobility-dispatch.type.d.ts","sourceRoot":"","sources":["../../../../src/api/mobility/mobility-dispatch.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,IAAI,CAAC;IACT,WAAW,EAAE,mBAAmB,CAAC;IACjC,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,WAAW,CAAC;IACvB,+EAA+E;IAC/E,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,WAAW,CAAC;IACvB,SAAS,EAAE,WAAW,CAAC;CAC1B;AAED,2FAA2F;AAC3F,MAAM,WAAW,0BAA0B;IACvC,WAAW,EAAE,mBAAmB,CAAC;IACjC,SAAS,EAAE,IAAI,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,8BAA8B;IAC3C,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;CACxB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=mobility-dispatch.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobility-dispatch.type.js","sourceRoot":"","sources":["../../../../src/api/mobility/mobility-dispatch.type.ts"],"names":[],"mappings":""}
@@ -346,7 +346,17 @@ export declare enum UserPermission {
346
346
  /** Read a worker's latest raw coordinate. Separate because location is sensitive operational data. */
347
347
  MOBILITY_WORKER_LOCATION_READ = "mobility:worker:location:read",
348
348
  /** Submit the caller's own device heartbeat; a worker may never update somebody else's location. */
349
- MOBILITY_WORKER_LOCATION_UPDATE = "mobility:worker:location:update"
349
+ MOBILITY_WORKER_LOCATION_UPDATE = "mobility:worker:location:update",
350
+ /** Read dispatch aggregate state and its pickup coordinate inside the caller's tenant. */
351
+ MOBILITY_DISPATCH_READ = "mobility:dispatch:read",
352
+ /** Submit a dispatch request for a vertical-owned ride or delivery job. */
353
+ MOBILITY_DISPATCH_CREATE = "mobility:dispatch:create",
354
+ /** Cancel, expire, or manually operate a dispatch; intentionally not granted to ordinary submitters. */
355
+ MOBILITY_DISPATCH_OPERATE = "mobility:dispatch:operate",
356
+ /** Read only the dispatch offers addressed to the caller's own worker profile. */
357
+ MOBILITY_DISPATCH_OFFER_READ = "mobility:dispatch-offer:read",
358
+ /** Accept or reject only an offer addressed to the caller's own worker profile. */
359
+ MOBILITY_DISPATCH_OFFER_RESPOND = "mobility:dispatch-offer:respond"
350
360
  }
351
361
  /**
352
362
  * Every member, for seeding the owner role and validating custom-role input.
@@ -1 +1 @@
1
- {"version":3,"file":"user-permission.enum.d.ts","sourceRoot":"","sources":["../../../src/enum/user-permission.enum.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user-permission.enum.d.ts","sourceRoot":"","sources":["../../../src/enum/user-permission.enum.ts"],"names":[],"mappings":"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"}
@@ -397,6 +397,16 @@ var UserPermission;
397
397
  UserPermission["MOBILITY_WORKER_LOCATION_READ"] = "mobility:worker:location:read";
398
398
  /** Submit the caller's own device heartbeat; a worker may never update somebody else's location. */
399
399
  UserPermission["MOBILITY_WORKER_LOCATION_UPDATE"] = "mobility:worker:location:update";
400
+ /** Read dispatch aggregate state and its pickup coordinate inside the caller's tenant. */
401
+ UserPermission["MOBILITY_DISPATCH_READ"] = "mobility:dispatch:read";
402
+ /** Submit a dispatch request for a vertical-owned ride or delivery job. */
403
+ UserPermission["MOBILITY_DISPATCH_CREATE"] = "mobility:dispatch:create";
404
+ /** Cancel, expire, or manually operate a dispatch; intentionally not granted to ordinary submitters. */
405
+ UserPermission["MOBILITY_DISPATCH_OPERATE"] = "mobility:dispatch:operate";
406
+ /** Read only the dispatch offers addressed to the caller's own worker profile. */
407
+ UserPermission["MOBILITY_DISPATCH_OFFER_READ"] = "mobility:dispatch-offer:read";
408
+ /** Accept or reject only an offer addressed to the caller's own worker profile. */
409
+ UserPermission["MOBILITY_DISPATCH_OFFER_RESPOND"] = "mobility:dispatch-offer:respond";
400
410
  })(UserPermission || (exports.UserPermission = UserPermission = {}));
401
411
  /**
402
412
  * Every member, for seeding the owner role and validating custom-role input.
@@ -1 +1 @@
1
- {"version":3,"file":"user-permission.enum.js","sourceRoot":"","sources":["../../../src/enum/user-permission.enum.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user-permission.enum.js","sourceRoot":"","sources":["../../../src/enum/user-permission.enum.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,10 @@
1
1
  export * from './mobility-availability-status.enum.js';
2
+ export * from './mobility-assignment-status.enum.js';
3
+ export * from './mobility-assignment.type.js';
4
+ export * from './mobility-dispatch-offer-status.enum.js';
5
+ export * from './mobility-dispatch-offer.type.js';
6
+ export * from './mobility-dispatch-status.enum.js';
7
+ export * from './mobility-dispatch.type.js';
2
8
  export * from './mobility-service-type.enum.js';
3
9
  export * from './mobility-worker-status.enum.js';
4
10
  export * from './mobility-worker.type.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/mobility/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/mobility/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0CAA0C,CAAC;AACzD,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC"}
@@ -1,4 +1,10 @@
1
1
  export * from './mobility-availability-status.enum.js';
2
+ export * from './mobility-assignment-status.enum.js';
3
+ export * from './mobility-assignment.type.js';
4
+ export * from './mobility-dispatch-offer-status.enum.js';
5
+ export * from './mobility-dispatch-offer.type.js';
6
+ export * from './mobility-dispatch-status.enum.js';
7
+ export * from './mobility-dispatch.type.js';
2
8
  export * from './mobility-service-type.enum.js';
3
9
  export * from './mobility-worker-status.enum.js';
4
10
  export * from './mobility-worker.type.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/mobility/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/mobility/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0CAA0C,CAAC;AACzD,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC"}
@@ -0,0 +1,6 @@
1
+ /** Whether an assignment still occupies its dispatch and counts toward worker capacity. */
2
+ export declare enum MobilityAssignmentStatus {
3
+ ACTIVE = "active",
4
+ RELEASED = "released"
5
+ }
6
+ //# sourceMappingURL=mobility-assignment-status.enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobility-assignment-status.enum.d.ts","sourceRoot":"","sources":["../../../../src/api/mobility/mobility-assignment-status.enum.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,oBAAY,wBAAwB;IAChC,MAAM,WAAW;IACjB,QAAQ,aAAa;CACxB"}
@@ -0,0 +1,7 @@
1
+ /** Whether an assignment still occupies its dispatch and counts toward worker capacity. */
2
+ export var MobilityAssignmentStatus;
3
+ (function (MobilityAssignmentStatus) {
4
+ MobilityAssignmentStatus["ACTIVE"] = "active";
5
+ MobilityAssignmentStatus["RELEASED"] = "released";
6
+ })(MobilityAssignmentStatus || (MobilityAssignmentStatus = {}));
7
+ //# sourceMappingURL=mobility-assignment-status.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobility-assignment-status.enum.js","sourceRoot":"","sources":["../../../../src/api/mobility/mobility-assignment-status.enum.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,MAAM,CAAN,IAAY,wBAGX;AAHD,WAAY,wBAAwB;IAChC,6CAAiB,CAAA;IACjB,iDAAqB,CAAA;AACzB,CAAC,EAHW,wBAAwB,KAAxB,wBAAwB,QAGnC"}
@@ -0,0 +1,26 @@
1
+ import type { IsoDateTime } from '../../type/iso-date-time.type.js';
2
+ import type { Nullable } from '../../type/nil.type.js';
3
+ import type { UUID } from '../../type/uuid.type.js';
4
+ import type { MobilityAssignmentStatus } from './mobility-assignment-status.enum.js';
5
+ /**
6
+ * The durable result of accepting a dispatch offer.
7
+ *
8
+ * A partial database unique constraint permits only one active assignment per dispatch. Worker
9
+ * capacity is policy rather than a uniqueness rule so Delivery can later support bounded batching.
10
+ * Releasing an assignment is a later explicit command; product completion never rewrites or
11
+ * deletes this evidence.
12
+ */
13
+ export interface MobilityAssignment {
14
+ id: UUID;
15
+ dispatchId: UUID;
16
+ offerId: UUID;
17
+ workerId: UUID;
18
+ status: MobilityAssignmentStatus;
19
+ assignedAt: IsoDateTime;
20
+ releasedAt: Nullable<IsoDateTime>;
21
+ /** Monotonic assignment aggregate version used for durable and realtime events. */
22
+ version: number;
23
+ createdAt: IsoDateTime;
24
+ updatedAt: IsoDateTime;
25
+ }
26
+ //# sourceMappingURL=mobility-assignment.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobility-assignment.type.d.ts","sourceRoot":"","sources":["../../../../src/api/mobility/mobility-assignment.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAErF;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IAC/B,EAAE,EAAE,IAAI,CAAC;IACT,UAAU,EAAE,IAAI,CAAC;IACjB,OAAO,EAAE,IAAI,CAAC;IACd,QAAQ,EAAE,IAAI,CAAC;IACf,MAAM,EAAE,wBAAwB,CAAC;IACjC,UAAU,EAAE,WAAW,CAAC;IACxB,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAClC,mFAAmF;IACnF,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,WAAW,CAAC;IACvB,SAAS,EAAE,WAAW,CAAC;CAC1B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mobility-assignment.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobility-assignment.type.js","sourceRoot":"","sources":["../../../../src/api/mobility/mobility-assignment.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ /** Closed worker-response lifecycle for one dispatch candidate offer. */
2
+ export declare enum MobilityDispatchOfferStatus {
3
+ PENDING = "pending",
4
+ ACCEPTED = "accepted",
5
+ REJECTED = "rejected",
6
+ EXPIRED = "expired",
7
+ SUPERSEDED = "superseded"
8
+ }
9
+ //# sourceMappingURL=mobility-dispatch-offer-status.enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobility-dispatch-offer-status.enum.d.ts","sourceRoot":"","sources":["../../../../src/api/mobility/mobility-dispatch-offer-status.enum.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,oBAAY,2BAA2B;IACnC,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,UAAU,eAAe;CAC5B"}
@@ -0,0 +1,10 @@
1
+ /** Closed worker-response lifecycle for one dispatch candidate offer. */
2
+ export var MobilityDispatchOfferStatus;
3
+ (function (MobilityDispatchOfferStatus) {
4
+ MobilityDispatchOfferStatus["PENDING"] = "pending";
5
+ MobilityDispatchOfferStatus["ACCEPTED"] = "accepted";
6
+ MobilityDispatchOfferStatus["REJECTED"] = "rejected";
7
+ MobilityDispatchOfferStatus["EXPIRED"] = "expired";
8
+ MobilityDispatchOfferStatus["SUPERSEDED"] = "superseded";
9
+ })(MobilityDispatchOfferStatus || (MobilityDispatchOfferStatus = {}));
10
+ //# sourceMappingURL=mobility-dispatch-offer-status.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobility-dispatch-offer-status.enum.js","sourceRoot":"","sources":["../../../../src/api/mobility/mobility-dispatch-offer-status.enum.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,MAAM,CAAN,IAAY,2BAMX;AAND,WAAY,2BAA2B;IACnC,kDAAmB,CAAA;IACnB,oDAAqB,CAAA;IACrB,oDAAqB,CAAA;IACrB,kDAAmB,CAAA;IACnB,wDAAyB,CAAA;AAC7B,CAAC,EANW,2BAA2B,KAA3B,2BAA2B,QAMtC"}
@@ -0,0 +1,55 @@
1
+ import type { CursorPage } from '../../type/cursor-page.type.js';
2
+ import type { IsoDateTime } from '../../type/iso-date-time.type.js';
3
+ import type { Nullable } from '../../type/nil.type.js';
4
+ import type { UUID } from '../../type/uuid.type.js';
5
+ import type { MobilityAssignment } from './mobility-assignment.type.js';
6
+ import type { MobilityDispatchOfferStatus } from './mobility-dispatch-offer-status.enum.js';
7
+ import type { MobilityDispatch } from './mobility-dispatch.type.js';
8
+ /**
9
+ * A time-bounded invitation for one eligible worker to accept one dispatch.
10
+ *
11
+ * The record contains identifiers and lifecycle evidence only. Product details remain in Taxi or
12
+ * Delivery, and no worker coordinate is copied into an offer or exposed through realtime.
13
+ */
14
+ export interface MobilityDispatchOffer {
15
+ id: UUID;
16
+ dispatchId: UUID;
17
+ workerId: UUID;
18
+ status: MobilityDispatchOfferStatus;
19
+ expiresAt: IsoDateTime;
20
+ respondedAt: Nullable<IsoDateTime>;
21
+ /** Monotonic offer aggregate version used for optimistic clients and durable events. */
22
+ version: number;
23
+ createdAt: IsoDateTime;
24
+ updatedAt: IsoDateTime;
25
+ }
26
+ /** `GET /api/v1/dispatch-offers`; always scoped to the authenticated caller's worker profile. */
27
+ export interface GetMobilityDispatchOffersQuery {
28
+ limit?: number;
29
+ /** Opaque cursor from the previous page's `nextCursor`. Never parse it. */
30
+ after?: Nullable<string>;
31
+ status?: Nullable<MobilityDispatchOfferStatus>;
32
+ }
33
+ export type MobilityDispatchOffersPage = CursorPage<MobilityDispatchOffer>;
34
+ /**
35
+ * `POST /api/v1/dispatch-offers/:offerId/accept`.
36
+ *
37
+ * The command has no body: the offer identifies both the dispatch and worker, while the tenant and
38
+ * person come from authentication. Retry safety is supplied by the required `Idempotency-Key`
39
+ * header. Acceptance either returns the one committed assignment or changes nothing.
40
+ */
41
+ export interface AcceptMobilityDispatchOfferResponse {
42
+ offer: MobilityDispatchOffer;
43
+ dispatch: MobilityDispatch;
44
+ assignment: MobilityAssignment;
45
+ isDuplicate: boolean;
46
+ }
47
+ /**
48
+ * `POST /api/v1/dispatch-offers/:offerId/reject`; retry safety is supplied by the required
49
+ * `Idempotency-Key` header.
50
+ */
51
+ export interface RejectMobilityDispatchOfferResponse {
52
+ offer: MobilityDispatchOffer;
53
+ isDuplicate: boolean;
54
+ }
55
+ //# sourceMappingURL=mobility-dispatch-offer.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobility-dispatch-offer.type.d.ts","sourceRoot":"","sources":["../../../../src/api/mobility/mobility-dispatch-offer.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AAC5F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IAClC,EAAE,EAAE,IAAI,CAAC;IACT,UAAU,EAAE,IAAI,CAAC;IACjB,QAAQ,EAAE,IAAI,CAAC;IACf,MAAM,EAAE,2BAA2B,CAAC;IACpC,SAAS,EAAE,WAAW,CAAC;IACvB,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IACnC,wFAAwF;IACxF,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,WAAW,CAAC;IACvB,SAAS,EAAE,WAAW,CAAC;CAC1B;AAED,iGAAiG;AACjG,MAAM,WAAW,8BAA8B;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,CAAC,EAAE,QAAQ,CAAC,2BAA2B,CAAC,CAAC;CAClD;AAED,MAAM,MAAM,0BAA0B,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;AAE3E;;;;;;GAMG;AACH,MAAM,WAAW,mCAAmC;IAChD,KAAK,EAAE,qBAAqB,CAAC;IAC7B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,mCAAmC;IAChD,KAAK,EAAE,qBAAqB,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;CACxB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mobility-dispatch-offer.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobility-dispatch-offer.type.js","sourceRoot":"","sources":["../../../../src/api/mobility/mobility-dispatch-offer.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ /** Closed lifecycle owned by Mobility; vertical products never write this field directly. */
2
+ export declare enum MobilityDispatchStatus {
3
+ PENDING = "pending",
4
+ SEARCHING = "searching",
5
+ OFFERED = "offered",
6
+ ASSIGNED = "assigned",
7
+ EXPIRED = "expired",
8
+ CANCELLED = "cancelled",
9
+ FAILED = "failed"
10
+ }
11
+ //# sourceMappingURL=mobility-dispatch-status.enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobility-dispatch-status.enum.d.ts","sourceRoot":"","sources":["../../../../src/api/mobility/mobility-dispatch-status.enum.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,oBAAY,sBAAsB;IAC9B,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,MAAM,WAAW;CACpB"}
@@ -0,0 +1,12 @@
1
+ /** Closed lifecycle owned by Mobility; vertical products never write this field directly. */
2
+ export var MobilityDispatchStatus;
3
+ (function (MobilityDispatchStatus) {
4
+ MobilityDispatchStatus["PENDING"] = "pending";
5
+ MobilityDispatchStatus["SEARCHING"] = "searching";
6
+ MobilityDispatchStatus["OFFERED"] = "offered";
7
+ MobilityDispatchStatus["ASSIGNED"] = "assigned";
8
+ MobilityDispatchStatus["EXPIRED"] = "expired";
9
+ MobilityDispatchStatus["CANCELLED"] = "cancelled";
10
+ MobilityDispatchStatus["FAILED"] = "failed";
11
+ })(MobilityDispatchStatus || (MobilityDispatchStatus = {}));
12
+ //# sourceMappingURL=mobility-dispatch-status.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobility-dispatch-status.enum.js","sourceRoot":"","sources":["../../../../src/api/mobility/mobility-dispatch-status.enum.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,MAAM,CAAN,IAAY,sBAQX;AARD,WAAY,sBAAsB;IAC9B,6CAAmB,CAAA;IACnB,iDAAuB,CAAA;IACvB,6CAAmB,CAAA;IACnB,+CAAqB,CAAA;IACrB,6CAAmB,CAAA;IACnB,iDAAuB,CAAA;IACvB,2CAAiB,CAAA;AACrB,CAAC,EARW,sBAAsB,KAAtB,sBAAsB,QAQjC"}
@@ -0,0 +1,35 @@
1
+ import type { IsoDateTime } from '../../type/iso-date-time.type.js';
2
+ import type { UUID } from '../../type/uuid.type.js';
3
+ import type { MobilityDispatchStatus } from './mobility-dispatch-status.enum.js';
4
+ import type { MobilityServiceType } from './mobility-service-type.enum.js';
5
+ /**
6
+ * A provider-neutral request to find a worker for one vertical-owned resource.
7
+ *
8
+ * `subjectId` is opaque to Mobility: taxi owns a ride and delivery owns a job. Keeping it an id
9
+ * rather than copying either record prevents a generic dispatch table from becoming product state.
10
+ */
11
+ export interface MobilityDispatch {
12
+ id: UUID;
13
+ serviceType: MobilityServiceType;
14
+ subjectId: UUID;
15
+ status: MobilityDispatchStatus;
16
+ pickupLatitude: number;
17
+ pickupLongitude: number;
18
+ expiresAt: IsoDateTime;
19
+ /** Version of the dispatch state machine, not a worker or location version. */
20
+ version: number;
21
+ createdAt: IsoDateTime;
22
+ updatedAt: IsoDateTime;
23
+ }
24
+ /** `POST /api/v1/dispatches`; retry safety is supplied by the `Idempotency-Key` header. */
25
+ export interface CreateMobilityDispatchBody {
26
+ serviceType: MobilityServiceType;
27
+ subjectId: UUID;
28
+ pickupLatitude: number;
29
+ pickupLongitude: number;
30
+ }
31
+ export interface CreateMobilityDispatchResponse {
32
+ dispatch: MobilityDispatch;
33
+ isDuplicate: boolean;
34
+ }
35
+ //# sourceMappingURL=mobility-dispatch.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobility-dispatch.type.d.ts","sourceRoot":"","sources":["../../../../src/api/mobility/mobility-dispatch.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,IAAI,CAAC;IACT,WAAW,EAAE,mBAAmB,CAAC;IACjC,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,WAAW,CAAC;IACvB,+EAA+E;IAC/E,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,WAAW,CAAC;IACvB,SAAS,EAAE,WAAW,CAAC;CAC1B;AAED,2FAA2F;AAC3F,MAAM,WAAW,0BAA0B;IACvC,WAAW,EAAE,mBAAmB,CAAC;IACjC,SAAS,EAAE,IAAI,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,8BAA8B;IAC3C,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;CACxB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mobility-dispatch.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobility-dispatch.type.js","sourceRoot":"","sources":["../../../../src/api/mobility/mobility-dispatch.type.ts"],"names":[],"mappings":""}
@@ -346,7 +346,17 @@ export declare enum UserPermission {
346
346
  /** Read a worker's latest raw coordinate. Separate because location is sensitive operational data. */
347
347
  MOBILITY_WORKER_LOCATION_READ = "mobility:worker:location:read",
348
348
  /** Submit the caller's own device heartbeat; a worker may never update somebody else's location. */
349
- MOBILITY_WORKER_LOCATION_UPDATE = "mobility:worker:location:update"
349
+ MOBILITY_WORKER_LOCATION_UPDATE = "mobility:worker:location:update",
350
+ /** Read dispatch aggregate state and its pickup coordinate inside the caller's tenant. */
351
+ MOBILITY_DISPATCH_READ = "mobility:dispatch:read",
352
+ /** Submit a dispatch request for a vertical-owned ride or delivery job. */
353
+ MOBILITY_DISPATCH_CREATE = "mobility:dispatch:create",
354
+ /** Cancel, expire, or manually operate a dispatch; intentionally not granted to ordinary submitters. */
355
+ MOBILITY_DISPATCH_OPERATE = "mobility:dispatch:operate",
356
+ /** Read only the dispatch offers addressed to the caller's own worker profile. */
357
+ MOBILITY_DISPATCH_OFFER_READ = "mobility:dispatch-offer:read",
358
+ /** Accept or reject only an offer addressed to the caller's own worker profile. */
359
+ MOBILITY_DISPATCH_OFFER_RESPOND = "mobility:dispatch-offer:respond"
350
360
  }
351
361
  /**
352
362
  * Every member, for seeding the owner role and validating custom-role input.
@@ -1 +1 @@
1
- {"version":3,"file":"user-permission.enum.d.ts","sourceRoot":"","sources":["../../../src/enum/user-permission.enum.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user-permission.enum.d.ts","sourceRoot":"","sources":["../../../src/enum/user-permission.enum.ts"],"names":[],"mappings":"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"}
@@ -394,6 +394,16 @@ export var UserPermission;
394
394
  UserPermission["MOBILITY_WORKER_LOCATION_READ"] = "mobility:worker:location:read";
395
395
  /** Submit the caller's own device heartbeat; a worker may never update somebody else's location. */
396
396
  UserPermission["MOBILITY_WORKER_LOCATION_UPDATE"] = "mobility:worker:location:update";
397
+ /** Read dispatch aggregate state and its pickup coordinate inside the caller's tenant. */
398
+ UserPermission["MOBILITY_DISPATCH_READ"] = "mobility:dispatch:read";
399
+ /** Submit a dispatch request for a vertical-owned ride or delivery job. */
400
+ UserPermission["MOBILITY_DISPATCH_CREATE"] = "mobility:dispatch:create";
401
+ /** Cancel, expire, or manually operate a dispatch; intentionally not granted to ordinary submitters. */
402
+ UserPermission["MOBILITY_DISPATCH_OPERATE"] = "mobility:dispatch:operate";
403
+ /** Read only the dispatch offers addressed to the caller's own worker profile. */
404
+ UserPermission["MOBILITY_DISPATCH_OFFER_READ"] = "mobility:dispatch-offer:read";
405
+ /** Accept or reject only an offer addressed to the caller's own worker profile. */
406
+ UserPermission["MOBILITY_DISPATCH_OFFER_RESPOND"] = "mobility:dispatch-offer:respond";
397
407
  })(UserPermission || (UserPermission = {}));
398
408
  /**
399
409
  * Every member, for seeding the owner role and validating custom-role input.
@@ -1 +1 @@
1
- {"version":3,"file":"user-permission.enum.js","sourceRoot":"","sources":["../../../src/enum/user-permission.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAN,IAAY,cAmbX;AAnbD,WAAY,cAAc;IACtB,4EAA4E;IAE5E,2EAA2E;IAC3E,6CAA2B,CAAA;IAC3B,iDAA+B,CAAA;IAC/B,sFAAsF;IACtF,iDAA+B,CAAA;IAE/B,2EAA2E;IAC3E,yCAAuB,CAAA;IACvB,6CAA2B,CAAA;IAC3B,6CAA2B,CAAA;IAC3B,6CAA2B,CAAA;IAE3B,2EAA2E;IAC3E,qDAAmC,CAAA;IACnC,6EAA6E;IAC7E,yDAAuC,CAAA;IACvC;;;OAGG;IACH,mEAAiD,CAAA;IAEjD,2EAA2E;IAC3E,yCAAuB,CAAA;IACvB,6CAA2B,CAAA;IAC3B,6CAA2B,CAAA;IAC3B,6CAA2B,CAAA;IAE3B,2EAA2E;IAC3E,+CAA6B,CAAA;IAC7B,iDAA+B,CAAA;IAC/B,mDAAiC,CAAA;IAEjC,4EAA4E;IAE5E,2EAA2E;IAC3E,qEAAqE;IACrE,iEAA+C,CAAA;IAC/C,qEAAmD,CAAA;IACnD,qEAAmD,CAAA;IACnD,qEAAmD,CAAA;IAEnD,2EAA2E;IAC3E;;;;OAIG;IACH,+DAA6C,CAAA;IAC7C,mEAAiD,CAAA;IAEjD,2EAA2E;IAC3E;;;;OAIG;IACH,mEAAiD,CAAA;IAEjD,2EAA2E;IAC3E,iEAA+C,CAAA;IAC/C,yFAAyF;IACzF,qEAAmD,CAAA;IAEnD,2EAA2E;IAC3E,mEAAmE;IACnE,uEAAqD,CAAA;IACrD;;;;;;;OAOG;IACH,2EAAyD,CAAA;IAEzD,2EAA2E;IAC3E,2DAAyC,CAAA;IACzC,2DAA2D;IAC3D,+DAA6C,CAAA;IAE7C,2EAA2E;IAC3E;;;;;OAKG;IACH,iEAA+C,CAAA;IAC/C;;;;;;OAMG;IACH,uEAAqD,CAAA;IAErD,2EAA2E;IAC3E,wFAAwF;IACxF,mEAAiD,CAAA;IACjD;;;;;;;;OAQG;IACH,uEAAqD,CAAA;IAErD,2EAA2E;IAC3E,sEAAsE;IACtE,qEAAmD,CAAA;IACnD;;;;;OAKG;IACH,yEAAuD,CAAA;IAEvD,2EAA2E;IAC3E;;;;;OAKG;IACH,iEAA+C,CAAA;IAC/C;;;;;;;OAOG;IACH,iEAA+C,CAAA;IAC/C,qEAAqE;IACrE,uEAAqD,CAAA;IAErD,4EAA4E;IAE5E,2EAA2E;IAC3E,4EAA4E;IAC5E,iEAA+C,CAAA;IAC/C,yEAAyE;IACzE,qEAAmD,CAAA;IAEnD,2EAA2E;IAE3E,iEAAiE;IACjE,mEAAiD,CAAA;IACjD,mDAAmD;IACnD,mEAAiD,CAAA;IACjD,qEAAqE;IACrE,2DAAyC,CAAA;IACzC,uEAAuE;IACvE,iEAA+C,CAAA;IAC/C,yFAAyF;IACzF,qEAAmD,CAAA;IAEnD,4EAA4E;IAE5E,2EAA2E;IAC3E,kFAAkF;IAClF,6DAA2C,CAAA;IAC3C;;;;;;OAMG;IACH,iEAA+C,CAAA;IAE/C,2EAA2E;IAC3E,2FAA2F;IAC3F,6DAA2C,CAAA;IAC3C,gDAAgD;IAChD,iEAA+C,CAAA;IAE/C,2EAA2E;IAC3E;;;;;;;OAOG;IACH,uEAAqD,CAAA;IACrD,yFAAyF;IACzF,2EAAyD,CAAA;IACzD;;;;;;OAMG;IACH,2EAAyD,CAAA;IAEzD,2EAA2E;IAC3E;;;;;;OAMG;IACH,6DAA2C,CAAA;IAE3C,2EAA2E;IAC3E,uDAAqC,CAAA;IACrC,8FAA8F;IAC9F,2DAAyC,CAAA;IAEzC,2EAA2E;IAC3E,uEAAqD,CAAA;IACrD,oEAAoE;IACpE,2EAAyD,CAAA;IAEzD,2EAA2E;IAC3E;;;;;;;;;;;OAWG;IACH,qEAAmD,CAAA;IAEnD,2EAA2E;IAC3E,gGAAgG;IAChG,iDAA+B,CAAA;IAE/B,2EAA2E;IAC3E,6EAA6E;IAC7E,qDAAmC,CAAA;IACnC,wDAAwD;IACxD,yDAAuC,CAAA;IAEvC,2EAA2E;IAE3E,0EAA0E;IAC1E,8CAA8C;IAC9C,yDAAuC,CAAA;IACvC,sDAAsD;IACtD,6DAA2C,CAAA;IAE3C,yEAAyE;IACzE,6DAA6D;IAC7D,yEAAuD,CAAA;IACvD,qDAAqD;IACrD,6EAA2D,CAAA;IAE3D,0EAA0E;IAC1E,yCAAyC;IACzC,2DAAyC,CAAA;IACzC,2DAA2D;IAC3D,+DAA6C,CAAA;IAE7C,0EAA0E;IAC1E,+DAA+D;IAC/D,+DAA6C,CAAA;IAC7C,+EAA+E;IAC/E,mEAAiD,CAAA;IAEjD,0EAA0E;IAC1E,2DAA2D;IAC3D,+DAA6C,CAAA;IAC7C,gDAAgD;IAChD,mEAAiD,CAAA;IAEjD,2EAA2E;IAC3E,EAAE;IACF,sFAAsF;IACtF,wFAAwF;IACxF,6FAA6F;IAC7F,0FAA0F;IAC1F,mEAAmE;IAEnE;;;;;;;OAOG;IACH,yDAAuC,CAAA;IAEvC;;;;;;;OAOG;IACH,6EAA2D,CAAA;IAE3D;;;;;;;OAOG;IACH,mEAAiD,CAAA;IAEjD;;;;;;OAMG;IACH,+DAA6C,CAAA;IAE7C;;;;;;OAMG;IACH,6DAA2C,CAAA;IAE3C,2EAA2E;IAE3E;;;;;;;;;;;;;;;OAeG;IACH,yDAAuC,CAAA;IAEvC;;;;;;;;OAQG;IACH,yDAAuC,CAAA;IAEvC,iFAAiF;IACjF,2EAAyD,CAAA;IAEzD;;;;;;;OAOG;IACH,+EAA6D,CAAA;IAE7D;;;;;OAKG;IACH,2EAAyD,CAAA;IAEzD;;;;;;OAMG;IACH,iFAA+D,CAAA;IAE/D,2EAA2E;IAE3E;;;;OAIG;IACH,yFAAuE,CAAA;IAEvE;;;;OAIG;IACH,mEAAiD,CAAA;IAEjD,2EAA2E;IAE3E,oFAAoF;IACpF,+DAA6C,CAAA;IAE7C,+EAA+E;IAC/E,mEAAiD,CAAA;IAEjD,4FAA4F;IAC5F,6FAA2E,CAAA;IAE3E,sGAAsG;IACtG,iFAA+D,CAAA;IAE/D,oGAAoG;IACpG,qFAAmE,CAAA;AACvE,CAAC,EAnbW,cAAc,KAAd,cAAc,QAmbzB;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA8B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"user-permission.enum.js","sourceRoot":"","sources":["../../../src/enum/user-permission.enum.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iveri/contracts",
3
- "version": "0.23.1",
3
+ "version": "0.25.0",
4
4
  "description": "Wire contracts shared by every Iveri backend and frontend. Zero runtime dependencies.",
5
5
  "license": "MIT",
6
6
  "repository": {