@dakkitor/api-contracts 1.5.0 → 1.6.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 (129) hide show
  1. package/dist/abilities/abilities.contract.d.ts +6 -2
  2. package/dist/abilities/abilities.contract.d.ts.map +1 -1
  3. package/dist/abilities/abilities.contract.js +45 -1
  4. package/dist/abilities/abilities.contract.spec.js +98 -0
  5. package/dist/abilities/first-agent.abilities.json +8 -14
  6. package/dist/abilities/outreach.abilities.json +25 -0
  7. package/dist/abilities/second-agent.abilities.json +4 -13
  8. package/dist/actives/actives.contract.d.ts +3618 -3479
  9. package/dist/actives/actives.contract.d.ts.map +1 -1
  10. package/dist/actives/actives.contract.js +2 -0
  11. package/dist/actives/actives.contract.spec.d.ts +2 -0
  12. package/dist/actives/actives.contract.spec.d.ts.map +1 -0
  13. package/dist/actives/actives.contract.spec.js +35 -0
  14. package/dist/agent-client-links/agent-client-links.contract.d.ts +1087 -1087
  15. package/dist/auth/auth.contract.d.ts +108 -108
  16. package/dist/bookings/bookings.contract.d.ts +6644 -6452
  17. package/dist/bookings/bookings.contract.d.ts.map +1 -1
  18. package/dist/call-history/call-history.contract.d.ts +718 -718
  19. package/dist/calls-feed/calls-feed.contract.d.ts +86 -86
  20. package/dist/client-contacts/client-contacts.contract.d.ts +469 -469
  21. package/dist/clients/clients.contract.d.ts +203 -203
  22. package/dist/collaboration-checkings/collaboration-checkings.contract.d.ts +2713 -2713
  23. package/dist/collaborations/collaborations.contract.d.ts +2270 -2270
  24. package/dist/common/common-schemas.d.ts +12 -12
  25. package/dist/companies/companies.contract.d.ts +74 -74
  26. package/dist/crews/crews.contract.d.ts +253 -253
  27. package/dist/cron-executions/cron-executions.contract.d.ts +182 -182
  28. package/dist/curated-worker-leads/candidate-coordination.contract.d.ts +2723 -2723
  29. package/dist/curated-worker-leads/candidate-edit-session.contract.d.ts +378 -378
  30. package/dist/curated-worker-leads/consent-queue.contract.d.ts +1137 -1107
  31. package/dist/curated-worker-leads/consent-queue.contract.d.ts.map +1 -1
  32. package/dist/curated-worker-leads/curated-worker-lead-config.contract.d.ts +16 -16
  33. package/dist/curated-worker-leads/curated-worker-leads.contract.d.ts +2 -2
  34. package/dist/curated-worker-leads/jobs-tab.contract.d.ts +5818 -5372
  35. package/dist/curated-worker-leads/jobs-tab.contract.d.ts.map +1 -1
  36. package/dist/curated-worker-leads/jobs-tab.contract.js +34 -1
  37. package/dist/curated-worker-leads/lead-agent-area.contract.d.ts +4 -4
  38. package/dist/curated-worker-leads/outreach-pool-summary.contract.spec.d.ts +2 -0
  39. package/dist/curated-worker-leads/outreach-pool-summary.contract.spec.d.ts.map +1 -0
  40. package/dist/curated-worker-leads/outreach-pool-summary.contract.spec.js +39 -0
  41. package/dist/curated-worker-leads/owned-jobs-tab.contract.d.ts +148 -148
  42. package/dist/curated-workers/curated-workers.contract.d.ts +789 -789
  43. package/dist/dashboards/agent-daily-metrics.contract.d.ts +2 -2
  44. package/dist/dashboards/dashboard-widgets.contract.d.ts +180 -180
  45. package/dist/dashboards/dashboard.contract.d.ts +12 -12
  46. package/dist/document-intake/document-intake.contract.d.ts +601 -601
  47. package/dist/export-jobs/export-jobs.contract.d.ts +694 -694
  48. package/dist/exports-events/exports-events.schemas.d.ts +4 -4
  49. package/dist/files/files.contract.d.ts +74 -74
  50. package/dist/index.d.ts +6 -0
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +6 -0
  53. package/dist/interactions/interactions.contract.d.ts +6 -6
  54. package/dist/job-clusters/job-clusters.contract.d.ts +112 -112
  55. package/dist/jobs/job-moderation-fields.spec.d.ts +2 -0
  56. package/dist/jobs/job-moderation-fields.spec.d.ts.map +1 -0
  57. package/dist/jobs/job-moderation-fields.spec.js +72 -0
  58. package/dist/jobs/jobs.contract.d.ts +4773 -4525
  59. package/dist/jobs/jobs.contract.d.ts.map +1 -1
  60. package/dist/jobs/jobs.contract.js +48 -0
  61. package/dist/kpi-impersonation/kpi-impersonation.contract.d.ts +141 -141
  62. package/dist/lead-assignments/lead-assignments.contract.d.ts +911 -911
  63. package/dist/lead-distribution/agent-lead-distribution.contract.d.ts +209 -209
  64. package/dist/lead-distribution/lead-distribution-config.contract.d.ts +77 -77
  65. package/dist/leads/leads.contract.d.ts +283 -283
  66. package/dist/locations/locations.contract.d.ts +49 -49
  67. package/dist/notifications/notifications.contract.d.ts +67 -67
  68. package/dist/offices/offices.contract.d.ts +34 -34
  69. package/dist/outreach/__tests__/outreach-contract-additions.spec.js +11 -0
  70. package/dist/outreach/__tests__/outreach-requests.contract.spec.js +13 -0
  71. package/dist/outreach/__tests__/outreach-routes.test.js +14 -3
  72. package/dist/outreach/outreach-requests.contract.d.ts +862 -217
  73. package/dist/outreach/outreach-requests.contract.d.ts.map +1 -1
  74. package/dist/outreach/outreach-requests.contract.js +23 -3
  75. package/dist/outreach/outreach-requests.schemas.d.ts +56 -10
  76. package/dist/outreach/outreach-requests.schemas.d.ts.map +1 -1
  77. package/dist/outreach/outreach-requests.schemas.js +3 -0
  78. package/dist/outreach/outreach.contract.d.ts +300 -38
  79. package/dist/outreach/outreach.contract.d.ts.map +1 -1
  80. package/dist/outreach/outreach.contract.js +18 -0
  81. package/dist/outreach/outreach.contract.spec.d.ts +2 -0
  82. package/dist/outreach/outreach.contract.spec.d.ts.map +1 -0
  83. package/dist/outreach/outreach.contract.spec.js +54 -0
  84. package/dist/outreach/outreach.schemas.d.ts +2 -2
  85. package/dist/own-research/own-research.contract.d.ts +775 -775
  86. package/dist/postcodes/postcodes.contract.d.ts +24 -24
  87. package/dist/proofs/proof-type.enum.d.ts +4 -4
  88. package/dist/proofs/proofs.contract.d.ts +363 -363
  89. package/dist/proofs/proofs.dtos.d.ts +124 -124
  90. package/dist/qualifications/qualifications.contract.d.ts +38 -38
  91. package/dist/relay-pods/relay-pod-sessions.contract.d.ts +680 -0
  92. package/dist/relay-pods/relay-pod-sessions.contract.d.ts.map +1 -0
  93. package/dist/relay-pods/relay-pod-sessions.contract.js +67 -0
  94. package/dist/relay-pods/relay-pod-sessions.contract.spec.d.ts +2 -0
  95. package/dist/relay-pods/relay-pod-sessions.contract.spec.d.ts.map +1 -0
  96. package/dist/relay-pods/relay-pod-sessions.contract.spec.js +129 -0
  97. package/dist/relay-pods/relay-pods.contract.d.ts +1569 -0
  98. package/dist/relay-pods/relay-pods.contract.d.ts.map +1 -0
  99. package/dist/relay-pods/relay-pods.contract.js +188 -0
  100. package/dist/relay-pods/relay-pods.contract.spec.d.ts +2 -0
  101. package/dist/relay-pods/relay-pods.contract.spec.d.ts.map +1 -0
  102. package/dist/relay-pods/relay-pods.contract.spec.js +141 -0
  103. package/dist/relay-pods/relay-pods.schemas.d.ts +415 -0
  104. package/dist/relay-pods/relay-pods.schemas.d.ts.map +1 -0
  105. package/dist/relay-pods/relay-pods.schemas.js +112 -0
  106. package/dist/shared/live-booking.schema.d.ts +4 -4
  107. package/dist/shared/summary-schemas.d.ts +6 -6
  108. package/dist/sheets-sync/sheets-sync.contract.d.ts +939 -939
  109. package/dist/telegram/telegram.contract.d.ts +22 -22
  110. package/dist/trades/trades.contract.d.ts +90 -90
  111. package/dist/user-access-grants/user-access-grants.contract.d.ts +165 -165
  112. package/dist/users/__tests__/assignable-roles.spec.d.ts +2 -0
  113. package/dist/users/__tests__/assignable-roles.spec.d.ts.map +1 -0
  114. package/dist/users/__tests__/assignable-roles.spec.js +41 -0
  115. package/dist/users/users.contract.d.ts +399 -393
  116. package/dist/users/users.contract.d.ts.map +1 -1
  117. package/dist/users/users.contract.js +11 -0
  118. package/dist/worker-identity-cases/worker-identity-cases.contract.d.ts +585 -527
  119. package/dist/worker-identity-cases/worker-identity-cases.contract.d.ts.map +1 -1
  120. package/dist/worker-merge-proposals/worker-merge-proposals.contract.d.ts +278 -236
  121. package/dist/worker-merge-proposals/worker-merge-proposals.contract.d.ts.map +1 -1
  122. package/dist/worker-merge-proposals/worker-merge-proposals.contract.js +1 -0
  123. package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.contract.d.ts +153 -153
  124. package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.schemas.d.ts +59 -59
  125. package/dist/workers/workers.contract.d.ts +2919 -2919
  126. package/package.json +1 -1
  127. package/dist/bookings/bookings.contract.spec.d.ts +0 -2
  128. package/dist/bookings/bookings.contract.spec.d.ts.map +0 -1
  129. package/dist/bookings/bookings.contract.spec.js +0 -11
@@ -8,28 +8,28 @@ export declare const OfficeSchema: z.ZodObject<{
8
8
  lastName: z.ZodString;
9
9
  }, "strip", z.ZodTypeAny, {
10
10
  id: string;
11
- lastName: string;
12
11
  firstName: string;
12
+ lastName: string;
13
13
  }, {
14
14
  id: string;
15
- lastName: string;
16
15
  firstName: string;
16
+ lastName: string;
17
17
  }>, "many">>;
18
18
  }, "strip", z.ZodTypeAny, {
19
19
  id: string;
20
20
  name: string;
21
21
  managers?: {
22
22
  id: string;
23
- lastName: string;
24
23
  firstName: string;
24
+ lastName: string;
25
25
  }[] | undefined;
26
26
  }, {
27
27
  id: string;
28
28
  name: string;
29
29
  managers?: {
30
30
  id: string;
31
- lastName: string;
32
31
  firstName: string;
32
+ lastName: string;
33
33
  }[] | undefined;
34
34
  }>;
35
35
  export declare const CreateOfficeSchema: z.ZodObject<{
@@ -61,28 +61,28 @@ export declare const OfficeArraySchema: z.ZodArray<z.ZodObject<{
61
61
  lastName: z.ZodString;
62
62
  }, "strip", z.ZodTypeAny, {
63
63
  id: string;
64
- lastName: string;
65
64
  firstName: string;
65
+ lastName: string;
66
66
  }, {
67
67
  id: string;
68
- lastName: string;
69
68
  firstName: string;
69
+ lastName: string;
70
70
  }>, "many">>;
71
71
  }, "strip", z.ZodTypeAny, {
72
72
  id: string;
73
73
  name: string;
74
74
  managers?: {
75
75
  id: string;
76
- lastName: string;
77
76
  firstName: string;
77
+ lastName: string;
78
78
  }[] | undefined;
79
79
  }, {
80
80
  id: string;
81
81
  name: string;
82
82
  managers?: {
83
83
  id: string;
84
- lastName: string;
85
84
  firstName: string;
85
+ lastName: string;
86
86
  }[] | undefined;
87
87
  }>, "many">;
88
88
  export type Office = z.infer<typeof OfficeSchema>;
@@ -108,7 +108,7 @@ export declare const officesContract: {
108
108
  }>;
109
109
  path: "/v2/offices";
110
110
  responses: {
111
- 401: z.ZodObject<{
111
+ 400: z.ZodObject<{
112
112
  statusCode: z.ZodNumber;
113
113
  message: z.ZodString;
114
114
  code: z.ZodString;
@@ -133,7 +133,7 @@ export declare const officesContract: {
133
133
  details?: unknown;
134
134
  correlationId?: string | undefined;
135
135
  }>;
136
- 400: z.ZodObject<{
136
+ 401: z.ZodObject<{
137
137
  statusCode: z.ZodNumber;
138
138
  message: z.ZodString;
139
139
  code: z.ZodString;
@@ -217,28 +217,28 @@ export declare const officesContract: {
217
217
  lastName: z.ZodString;
218
218
  }, "strip", z.ZodTypeAny, {
219
219
  id: string;
220
- lastName: string;
221
220
  firstName: string;
221
+ lastName: string;
222
222
  }, {
223
223
  id: string;
224
- lastName: string;
225
224
  firstName: string;
225
+ lastName: string;
226
226
  }>, "many">>;
227
227
  }, "strip", z.ZodTypeAny, {
228
228
  id: string;
229
229
  name: string;
230
230
  managers?: {
231
231
  id: string;
232
- lastName: string;
233
232
  firstName: string;
233
+ lastName: string;
234
234
  }[] | undefined;
235
235
  }, {
236
236
  id: string;
237
237
  name: string;
238
238
  managers?: {
239
239
  id: string;
240
- lastName: string;
241
240
  firstName: string;
241
+ lastName: string;
242
242
  }[] | undefined;
243
243
  }>;
244
244
  409: z.ZodObject<{
@@ -276,7 +276,7 @@ export declare const officesContract: {
276
276
  method: "GET";
277
277
  path: "/v2/offices";
278
278
  responses: {
279
- 401: z.ZodObject<{
279
+ 400: z.ZodObject<{
280
280
  statusCode: z.ZodNumber;
281
281
  message: z.ZodString;
282
282
  code: z.ZodString;
@@ -301,7 +301,7 @@ export declare const officesContract: {
301
301
  details?: unknown;
302
302
  correlationId?: string | undefined;
303
303
  }>;
304
- 400: z.ZodObject<{
304
+ 401: z.ZodObject<{
305
305
  statusCode: z.ZodNumber;
306
306
  message: z.ZodString;
307
307
  code: z.ZodString;
@@ -385,28 +385,28 @@ export declare const officesContract: {
385
385
  lastName: z.ZodString;
386
386
  }, "strip", z.ZodTypeAny, {
387
387
  id: string;
388
- lastName: string;
389
388
  firstName: string;
389
+ lastName: string;
390
390
  }, {
391
391
  id: string;
392
- lastName: string;
393
392
  firstName: string;
393
+ lastName: string;
394
394
  }>, "many">>;
395
395
  }, "strip", z.ZodTypeAny, {
396
396
  id: string;
397
397
  name: string;
398
398
  managers?: {
399
399
  id: string;
400
- lastName: string;
401
400
  firstName: string;
401
+ lastName: string;
402
402
  }[] | undefined;
403
403
  }, {
404
404
  id: string;
405
405
  name: string;
406
406
  managers?: {
407
407
  id: string;
408
- lastName: string;
409
408
  firstName: string;
409
+ lastName: string;
410
410
  }[] | undefined;
411
411
  }>, "many">;
412
412
  };
@@ -426,7 +426,7 @@ export declare const officesContract: {
426
426
  method: "GET";
427
427
  path: "/v2/offices/:id";
428
428
  responses: {
429
- 401: z.ZodObject<{
429
+ 400: z.ZodObject<{
430
430
  statusCode: z.ZodNumber;
431
431
  message: z.ZodString;
432
432
  code: z.ZodString;
@@ -451,7 +451,7 @@ export declare const officesContract: {
451
451
  details?: unknown;
452
452
  correlationId?: string | undefined;
453
453
  }>;
454
- 400: z.ZodObject<{
454
+ 401: z.ZodObject<{
455
455
  statusCode: z.ZodNumber;
456
456
  message: z.ZodString;
457
457
  code: z.ZodString;
@@ -535,28 +535,28 @@ export declare const officesContract: {
535
535
  lastName: z.ZodString;
536
536
  }, "strip", z.ZodTypeAny, {
537
537
  id: string;
538
- lastName: string;
539
538
  firstName: string;
539
+ lastName: string;
540
540
  }, {
541
541
  id: string;
542
- lastName: string;
543
542
  firstName: string;
543
+ lastName: string;
544
544
  }>, "many">>;
545
545
  }, "strip", z.ZodTypeAny, {
546
546
  id: string;
547
547
  name: string;
548
548
  managers?: {
549
549
  id: string;
550
- lastName: string;
551
550
  firstName: string;
551
+ lastName: string;
552
552
  }[] | undefined;
553
553
  }, {
554
554
  id: string;
555
555
  name: string;
556
556
  managers?: {
557
557
  id: string;
558
- lastName: string;
559
558
  firstName: string;
559
+ lastName: string;
560
560
  }[] | undefined;
561
561
  }>;
562
562
  404: z.ZodObject<{
@@ -611,7 +611,7 @@ export declare const officesContract: {
611
611
  }>;
612
612
  path: "/v2/offices/:id";
613
613
  responses: {
614
- 401: z.ZodObject<{
614
+ 400: z.ZodObject<{
615
615
  statusCode: z.ZodNumber;
616
616
  message: z.ZodString;
617
617
  code: z.ZodString;
@@ -636,7 +636,7 @@ export declare const officesContract: {
636
636
  details?: unknown;
637
637
  correlationId?: string | undefined;
638
638
  }>;
639
- 400: z.ZodObject<{
639
+ 401: z.ZodObject<{
640
640
  statusCode: z.ZodNumber;
641
641
  message: z.ZodString;
642
642
  code: z.ZodString;
@@ -720,28 +720,28 @@ export declare const officesContract: {
720
720
  lastName: z.ZodString;
721
721
  }, "strip", z.ZodTypeAny, {
722
722
  id: string;
723
- lastName: string;
724
723
  firstName: string;
724
+ lastName: string;
725
725
  }, {
726
726
  id: string;
727
- lastName: string;
728
727
  firstName: string;
728
+ lastName: string;
729
729
  }>, "many">>;
730
730
  }, "strip", z.ZodTypeAny, {
731
731
  id: string;
732
732
  name: string;
733
733
  managers?: {
734
734
  id: string;
735
- lastName: string;
736
735
  firstName: string;
736
+ lastName: string;
737
737
  }[] | undefined;
738
738
  }, {
739
739
  id: string;
740
740
  name: string;
741
741
  managers?: {
742
742
  id: string;
743
- lastName: string;
744
743
  firstName: string;
744
+ lastName: string;
745
745
  }[] | undefined;
746
746
  }>;
747
747
  404: z.ZodObject<{
@@ -787,7 +787,7 @@ export declare const officesContract: {
787
787
  body: typeof import("@ts-rest/core").ContractNoBody;
788
788
  path: "/v2/offices/:id";
789
789
  responses: {
790
- 401: z.ZodObject<{
790
+ 400: z.ZodObject<{
791
791
  statusCode: z.ZodNumber;
792
792
  message: z.ZodString;
793
793
  code: z.ZodString;
@@ -812,7 +812,7 @@ export declare const officesContract: {
812
812
  details?: unknown;
813
813
  correlationId?: string | undefined;
814
814
  }>;
815
- 400: z.ZodObject<{
815
+ 401: z.ZodObject<{
816
816
  statusCode: z.ZodNumber;
817
817
  message: z.ZodString;
818
818
  code: z.ZodString;
@@ -35,12 +35,23 @@ const jobs_tab_contract_1 = require("../../curated-worker-leads/jobs-tab.contrac
35
35
  outreachRequest: {
36
36
  id: '22222222-2222-4222-8222-222222222222',
37
37
  status: 'RUNNING',
38
+ requestedByUserId: '33333333-3333-4333-8333-333333333333',
38
39
  requestedByName: 'Priya Shah',
39
40
  contactedCount: 142,
41
+ assignedPod: {
42
+ id: '44444444-4444-4444-8444-444444444444',
43
+ slug: 'north-pod',
44
+ displayName: 'North Pod',
45
+ ownerUserId: '55555555-5555-4555-8555-555555555555',
46
+ ownerName: 'Relay Owner',
47
+ publicBaseUrl: 'https://north.example.test',
48
+ status: 'ACTIVE',
49
+ },
40
50
  },
41
51
  });
42
52
  (0, bun_test_1.expect)(parsed.outreachRequest?.contactedCount).toBe(142);
43
53
  (0, bun_test_1.expect)(parsed.outreachRequest?.id).toBe('22222222-2222-4222-8222-222222222222');
54
+ (0, bun_test_1.expect)(parsed.outreachRequest?.requestedByUserId).toBe('33333333-3333-4333-8333-333333333333');
44
55
  });
45
56
  (0, bun_test_1.it)('rejects an open request without an id', () => {
46
57
  // The id is REQUIRED inside the object (the object itself stays nullable
@@ -15,6 +15,7 @@ const outreach_requests_contract_1 = require("../outreach-requests.contract");
15
15
  const parsed = outreach_requests_contract_1.OutreachRequestSchema.parse({
16
16
  id: '11111111-1111-4111-8111-111111111111',
17
17
  jobId: '22222222-2222-4222-8222-222222222222',
18
+ requestedByUserId: '33333333-3333-4333-8333-333333333333',
18
19
  status: 'PENDING',
19
20
  eligibleAtRequest: 214,
20
21
  requestedByName: 'Priya Shah',
@@ -22,13 +23,16 @@ const outreach_requests_contract_1 = require("../outreach-requests.contract");
22
23
  createdAt: '2026-07-29T09:00:00.000Z',
23
24
  startedAt: null,
24
25
  completedAt: null,
26
+ assignedPod: null,
25
27
  });
26
28
  (0, bun_test_1.expect)(parsed.status).toBe('PENDING');
29
+ (0, bun_test_1.expect)(parsed.requestedByUserId).toBe('33333333-3333-4333-8333-333333333333');
27
30
  });
28
31
  (0, bun_test_1.it)('carries job facts on a queue item so the rack can label a campaign', () => {
29
32
  const item = outreach_requests_contract_1.OutreachRequestQueueItemSchema.parse({
30
33
  id: '11111111-1111-4111-8111-111111111111',
31
34
  jobId: '22222222-2222-4222-8222-222222222222',
35
+ requestedByUserId: '33333333-3333-4333-8333-333333333333',
32
36
  status: 'RUNNING',
33
37
  eligibleAtRequest: 12,
34
38
  requestedByName: null,
@@ -36,6 +40,15 @@ const outreach_requests_contract_1 = require("../outreach-requests.contract");
36
40
  createdAt: '2026-07-29T09:00:00.000Z',
37
41
  startedAt: '2026-07-29T09:05:00.000Z',
38
42
  completedAt: null,
43
+ assignedPod: {
44
+ id: '33333333-3333-4333-8333-333333333333',
45
+ slug: 'pod-01',
46
+ displayName: 'Pod 01',
47
+ ownerUserId: '44444444-4444-4444-8444-444444444444',
48
+ ownerName: 'Relay Owner',
49
+ publicBaseUrl: 'https://pod.test',
50
+ status: 'ACTIVE',
51
+ },
39
52
  job: {
40
53
  title: 'Need 1 x bricklayer',
41
54
  trade: 'Bricklayer',
@@ -8,7 +8,9 @@ const index_1 = require("../../index");
8
8
  const outreach_contract_1 = require("../outreach.contract");
9
9
  // `pathPrefix: '/v2'` is applied by c.router, so the runtime paths are absolute.
10
10
  node_assert_1.default.equal(outreach_contract_1.outreachContract.claimNext.method, 'POST');
11
- node_assert_1.default.equal(outreach_contract_1.outreachContract.claimNext.path, '/v2/outreach/jobs/:jobId/claim-next');
11
+ node_assert_1.default.equal(outreach_contract_1.outreachContract.claimNext.path, '/v2/outreach/requests/:requestId/claim-next');
12
+ node_assert_1.default.equal(outreach_contract_1.outreachContract.claimNextLegacy.method, 'POST');
13
+ node_assert_1.default.equal(outreach_contract_1.outreachContract.claimNextLegacy.path, '/v2/outreach/jobs/:jobId/claim-next');
12
14
  node_assert_1.default.equal(outreach_contract_1.outreachContract.confirmSent.method, 'POST');
13
15
  node_assert_1.default.equal(outreach_contract_1.outreachContract.confirmSent.path, '/v2/outreach/leases/:leaseId/sent');
14
16
  node_assert_1.default.equal(outreach_contract_1.outreachContract.release.method, 'POST');
@@ -17,12 +19,16 @@ node_assert_1.default.equal(outreach_contract_1.outreachContract.release.path, '
17
19
  // 410 is not used anywhere: a late confirm succeeds. `commonResponses` are
18
20
  // merged into every route's `responses` by c.router, so 400, 401, 403 and 500
19
21
  // appear here.
20
- const declared = (route) => Object.keys(route.responses).map(Number).sort((a, b) => a - b);
22
+ const declared = (route) => Object.keys(route.responses)
23
+ .map(Number)
24
+ .sort((a, b) => a - b);
21
25
  node_assert_1.default.deepStrictEqual(declared(outreach_contract_1.outreachContract.claimNext), [200, 400, 401, 403, 409, 500]);
26
+ node_assert_1.default.deepStrictEqual(declared(outreach_contract_1.outreachContract.claimNextLegacy), [200, 400, 401, 403, 409, 500]);
22
27
  node_assert_1.default.deepStrictEqual(declared(outreach_contract_1.outreachContract.confirmSent), [200, 400, 401, 403, 404, 500]);
23
28
  node_assert_1.default.deepStrictEqual(declared(outreach_contract_1.outreachContract.release), [200, 400, 401, 403, 404, 500]);
24
29
  for (const route of [
25
30
  outreach_contract_1.outreachContract.claimNext,
31
+ outreach_contract_1.outreachContract.claimNextLegacy,
26
32
  outreach_contract_1.outreachContract.confirmSent,
27
33
  outreach_contract_1.outreachContract.release,
28
34
  ]) {
@@ -30,9 +36,13 @@ for (const route of [
30
36
  }
31
37
  // Path params are validated as uuids.
32
38
  node_assert_1.default.ok(outreach_contract_1.outreachContract.claimNext.pathParams.safeParse({
39
+ requestId: '6ba7b810-9dad-11d1-80b4-00c04fd430c8',
40
+ }).success);
41
+ node_assert_1.default.ok(!outreach_contract_1.outreachContract.claimNext.pathParams.safeParse({ requestId: 'nope' })
42
+ .success);
43
+ node_assert_1.default.ok(outreach_contract_1.outreachContract.claimNextLegacy.pathParams.safeParse({
33
44
  jobId: '6ba7b810-9dad-11d1-80b4-00c04fd430c8',
34
45
  }).success);
35
- node_assert_1.default.ok(!outreach_contract_1.outreachContract.claimNext.pathParams.safeParse({ jobId: 'nope' }).success);
36
46
  node_assert_1.default.ok(outreach_contract_1.outreachContract.confirmSent.pathParams.safeParse({
37
47
  leaseId: '3f2504e0-4f89-41d3-9a0c-0305e82c3301',
38
48
  }).success);
@@ -46,6 +56,7 @@ node_assert_1.default.ok(outreach_contract_1.outreachContract.confirmSent.pathPa
46
56
  const headersOf = (route) => route.headers;
47
57
  for (const route of [
48
58
  outreach_contract_1.outreachContract.claimNext,
59
+ outreach_contract_1.outreachContract.claimNextLegacy,
49
60
  outreach_contract_1.outreachContract.confirmSent,
50
61
  outreach_contract_1.outreachContract.release,
51
62
  ]) {