@dakkitor/api-contracts 1.6.0 → 1.7.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 (28) hide show
  1. package/dist/curated-worker-leads/candidate-edit-session.contract.d.ts +12 -12
  2. package/dist/curated-worker-leads/consent-queue.contract.d.ts +28 -28
  3. package/dist/index.d.ts +6 -0
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +6 -0
  6. package/dist/outreach/__tests__/outreach-requests.contract.spec.js +37 -0
  7. package/dist/outreach/lab-outreach.contract.d.ts +1110 -0
  8. package/dist/outreach/lab-outreach.contract.d.ts.map +1 -0
  9. package/dist/outreach/lab-outreach.contract.js +174 -0
  10. package/dist/outreach/lab-outreach.contract.spec.d.ts +2 -0
  11. package/dist/outreach/lab-outreach.contract.spec.d.ts.map +1 -0
  12. package/dist/outreach/lab-outreach.contract.spec.js +90 -0
  13. package/dist/outreach/outreach-requests.contract.d.ts +84 -0
  14. package/dist/outreach/outreach-requests.contract.d.ts.map +1 -1
  15. package/dist/outreach/outreach-requests.schemas.d.ts +9 -0
  16. package/dist/outreach/outreach-requests.schemas.d.ts.map +1 -1
  17. package/dist/outreach/outreach-requests.schemas.js +3 -0
  18. package/dist/outreach/outreach.contract.spec.js +3 -0
  19. package/dist/relay-pods/relay-lab-fleet.contract.d.ts +829 -0
  20. package/dist/relay-pods/relay-lab-fleet.contract.d.ts.map +1 -0
  21. package/dist/relay-pods/relay-lab-fleet.contract.js +79 -0
  22. package/dist/relay-pods/relay-lab-fleet.contract.spec.d.ts +2 -0
  23. package/dist/relay-pods/relay-lab-fleet.contract.spec.d.ts.map +1 -0
  24. package/dist/relay-pods/relay-lab-fleet.contract.spec.js +146 -0
  25. package/dist/relay-pods/relay-lab-fleet.schemas.d.ts +443 -0
  26. package/dist/relay-pods/relay-lab-fleet.schemas.d.ts.map +1 -0
  27. package/dist/relay-pods/relay-lab-fleet.schemas.js +138 -0
  28. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lab-outreach.contract.d.ts","sourceRoot":"","sources":["../../contracts/outreach/lab-outreach.contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;EAOhB,CAAC;AAEZ,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;IAiBxC,CAAC;AAEL,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMlC,CAAC;AAEZ,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ3B,CAAC;AAEZ,eAAO,MAAM,yBAAyB;;;;;;;;;EAK3B,CAAC;AAEZ,eAAO,MAAM,uBAAuB;;;;;;EAIzB,CAAC;AAEZ,eAAO,MAAM,2BAA2B;;;;;;EAI7B,CAAC;AAEZ,eAAO,MAAM,4BAA4B;;;;;;;;;;;;EAM9B,CAAC;AAqBZ;;;GAGG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI1B,CAAC;AAEZ,eAAO,MAAM,4BAA4B;;;;;;;;;EAK9B,CAAC;AAEZ,eAAO,MAAM,kCAAkC;;;;;;EAIpC,CAAC;AAEZ,eAAO,MAAM,mCAAmC;;;;;;;;;;EAGnC,CAAC;AAEd,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgE/B,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,gCAAgC,CACxC,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.labOutreachContract = exports.LabRunAuthorizationPathParamsSchema = exports.LabOutreachRequestPathParamsSchema = exports.CompleteLabRunResponseSchema = exports.CompleteLabRunBodySchema = exports.LabRunDeliveryEvidenceSchema = exports.AbandonLabRunResponseSchema = exports.AbandonLabRunBodySchema = exports.StartLabRunResponseSchema = exports.LabRunAuthorizationSchema = exports.LabRunAuthorizationRequestSchema = exports.LabRunAuthorizationRoutesSchema = exports.LabRouteSchema = void 0;
4
+ const core_1 = require("@ts-rest/core");
5
+ const zod_1 = require("zod");
6
+ const error_schemas_1 = require("../common/error-schemas");
7
+ const c = (0, core_1.initContract)();
8
+ const Sha256Schema = zod_1.z.string().regex(/^[a-f0-9]{64}$/);
9
+ exports.LabRouteSchema = zod_1.z
10
+ .object({
11
+ senderLocalDeviceKey: zod_1.z.string().min(1),
12
+ targetLabDeviceId: zod_1.z.string().uuid(),
13
+ targetIdentityVersion: zod_1.z.number().int().positive(),
14
+ renderedBodySha256: Sha256Schema,
15
+ })
16
+ .strict();
17
+ exports.LabRunAuthorizationRoutesSchema = zod_1.z
18
+ .array(exports.LabRouteSchema)
19
+ .min(1)
20
+ .max(10)
21
+ .superRefine((routes, context) => {
22
+ const seenSenders = new Set();
23
+ for (const [index, route] of routes.entries()) {
24
+ if (seenSenders.has(route.senderLocalDeviceKey)) {
25
+ context.addIssue({
26
+ code: zod_1.z.ZodIssueCode.custom,
27
+ message: 'Authorization route senders must be unique',
28
+ path: [index, 'senderLocalDeviceKey'],
29
+ });
30
+ }
31
+ seenSenders.add(route.senderLocalDeviceKey);
32
+ }
33
+ });
34
+ exports.LabRunAuthorizationRequestSchema = zod_1.z
35
+ .object({
36
+ campaignId: zod_1.z.string().uuid(),
37
+ fleetRevision: zod_1.z.number().int().nonnegative(),
38
+ routes: exports.LabRunAuthorizationRoutesSchema,
39
+ })
40
+ .strict();
41
+ exports.LabRunAuthorizationSchema = zod_1.z
42
+ .object({
43
+ authorizationId: zod_1.z.string().uuid(),
44
+ campaignId: zod_1.z.string().uuid(),
45
+ fleetRevision: zod_1.z.number().int().nonnegative(),
46
+ routes: exports.LabRunAuthorizationRoutesSchema,
47
+ expiresAt: zod_1.z.string().datetime(),
48
+ })
49
+ .strict();
50
+ exports.StartLabRunResponseSchema = zod_1.z
51
+ .object({
52
+ authorizationId: zod_1.z.string().uuid(),
53
+ startedAt: zod_1.z.string().datetime(),
54
+ })
55
+ .strict();
56
+ exports.AbandonLabRunBodySchema = zod_1.z
57
+ .object({
58
+ reason: zod_1.z.enum(['FAILED', 'CANCELED', 'START_TIMEOUT']),
59
+ })
60
+ .strict();
61
+ exports.AbandonLabRunResponseSchema = zod_1.z
62
+ .object({
63
+ abandoned: zod_1.z.literal(true),
64
+ })
65
+ .strict();
66
+ exports.LabRunDeliveryEvidenceSchema = zod_1.z
67
+ .object({
68
+ routeIndex: zod_1.z.number().int().nonnegative(),
69
+ deliveryJournalId: zod_1.z.string().uuid(),
70
+ evidenceSha256: Sha256Schema,
71
+ })
72
+ .strict();
73
+ const CompleteLabRunEvidenceSchema = zod_1.z
74
+ .array(exports.LabRunDeliveryEvidenceSchema)
75
+ .min(1)
76
+ .max(10)
77
+ .superRefine((evidence, context) => {
78
+ const seenRouteIndexes = new Set();
79
+ for (const [index, item] of evidence.entries()) {
80
+ if (seenRouteIndexes.has(item.routeIndex)) {
81
+ context.addIssue({
82
+ code: zod_1.z.ZodIssueCode.custom,
83
+ message: 'Delivery evidence route indexes must be unique',
84
+ path: [index, 'routeIndex'],
85
+ });
86
+ }
87
+ seenRouteIndexes.add(item.routeIndex);
88
+ }
89
+ });
90
+ /**
91
+ * The service verifies that this contains exactly one item for each authorized
92
+ * route, because that count and route set are authorization-owned state.
93
+ */
94
+ exports.CompleteLabRunBodySchema = zod_1.z
95
+ .object({
96
+ evidence: CompleteLabRunEvidenceSchema,
97
+ })
98
+ .strict();
99
+ exports.CompleteLabRunResponseSchema = zod_1.z
100
+ .object({
101
+ completed: zod_1.z.literal(true),
102
+ completedAt: zod_1.z.string().datetime(),
103
+ })
104
+ .strict();
105
+ exports.LabOutreachRequestPathParamsSchema = zod_1.z
106
+ .object({
107
+ id: zod_1.z.string().uuid(),
108
+ })
109
+ .strict();
110
+ exports.LabRunAuthorizationPathParamsSchema = exports.LabOutreachRequestPathParamsSchema.extend({
111
+ authorizationId: zod_1.z.string().uuid(),
112
+ }).strict();
113
+ exports.labOutreachContract = c.router({
114
+ authorize: {
115
+ method: 'POST',
116
+ path: '/outreach/requests/:id/lab-authorizations',
117
+ pathParams: exports.LabOutreachRequestPathParamsSchema,
118
+ body: exports.LabRunAuthorizationRequestSchema,
119
+ responses: {
120
+ 201: exports.LabRunAuthorizationSchema,
121
+ 404: error_schemas_1.ErrorResponseSchema,
122
+ 409: error_schemas_1.ErrorResponseSchema,
123
+ },
124
+ summary: 'Authorize a bounded Relay Lab run',
125
+ metadata: { tags: ['Outreach'] },
126
+ },
127
+ start: {
128
+ method: 'POST',
129
+ path: '/outreach/requests/:id/lab-authorizations/:authorizationId/start',
130
+ pathParams: exports.LabRunAuthorizationPathParamsSchema,
131
+ body: zod_1.z.object({}).strict(),
132
+ responses: {
133
+ 200: exports.StartLabRunResponseSchema,
134
+ 404: error_schemas_1.ErrorResponseSchema,
135
+ 409: error_schemas_1.ErrorResponseSchema,
136
+ },
137
+ summary: 'Mark an authorized Relay Lab run as started',
138
+ metadata: { tags: ['Outreach'] },
139
+ },
140
+ abandon: {
141
+ method: 'POST',
142
+ path: '/outreach/requests/:id/lab-authorizations/:authorizationId/abandon',
143
+ pathParams: exports.LabRunAuthorizationPathParamsSchema,
144
+ body: exports.AbandonLabRunBodySchema,
145
+ responses: {
146
+ 200: exports.AbandonLabRunResponseSchema,
147
+ 404: error_schemas_1.ErrorResponseSchema,
148
+ 409: error_schemas_1.ErrorResponseSchema,
149
+ },
150
+ summary: 'Abandon an uncompleted Relay Lab run',
151
+ metadata: { tags: ['Outreach'] },
152
+ },
153
+ complete: {
154
+ method: 'POST',
155
+ path: '/outreach/requests/:id/lab-authorizations/:authorizationId/complete',
156
+ pathParams: exports.LabRunAuthorizationPathParamsSchema,
157
+ body: exports.CompleteLabRunBodySchema,
158
+ responses: {
159
+ 200: exports.CompleteLabRunResponseSchema,
160
+ 404: error_schemas_1.ErrorResponseSchema,
161
+ 409: error_schemas_1.ErrorResponseSchema,
162
+ },
163
+ summary: 'Complete a Relay Lab run with delivery evidence',
164
+ metadata: { tags: ['Outreach'] },
165
+ },
166
+ }, {
167
+ pathPrefix: '/v2',
168
+ commonResponses: {
169
+ 400: error_schemas_1.ErrorResponseSchema,
170
+ 401: error_schemas_1.ErrorResponseSchema,
171
+ 403: error_schemas_1.ErrorResponseSchema,
172
+ 500: error_schemas_1.ErrorResponseSchema,
173
+ },
174
+ });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=lab-outreach.contract.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lab-outreach.contract.spec.d.ts","sourceRoot":"","sources":["../../contracts/outreach/lab-outreach.contract.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const bun_test_1 = require("bun:test");
4
+ const lab_outreach_contract_1 = require("./lab-outreach.contract");
5
+ const index_1 = require("../index");
6
+ const requestId = '11111111-1111-4111-8111-111111111111';
7
+ const campaignId = '22222222-2222-4222-8222-222222222222';
8
+ const authorizationId = '33333333-3333-4333-8333-333333333333';
9
+ const labDeviceId = '44444444-4444-4444-8444-444444444444';
10
+ const route = {
11
+ senderLocalDeviceKey: 'phone-01',
12
+ targetLabDeviceId: labDeviceId,
13
+ targetIdentityVersion: 1,
14
+ renderedBodySha256: 'a'.repeat(64),
15
+ };
16
+ (0, bun_test_1.describe)('Lab outreach authorization schemas', () => {
17
+ (0, bun_test_1.it)('requires between one and ten Lab-only routes', () => {
18
+ (0, bun_test_1.expect)(lab_outreach_contract_1.LabRunAuthorizationRequestSchema.safeParse({
19
+ campaignId,
20
+ fleetRevision: 43,
21
+ routes: [],
22
+ }).success).toBe(false);
23
+ (0, bun_test_1.expect)(lab_outreach_contract_1.LabRunAuthorizationRequestSchema.safeParse({
24
+ campaignId,
25
+ fleetRevision: 43,
26
+ routes: Array.from({ length: 11 }, () => route),
27
+ }).success).toBe(false);
28
+ (0, bun_test_1.expect)(lab_outreach_contract_1.LabRunAuthorizationRequestSchema.parse({
29
+ campaignId,
30
+ fleetRevision: 43,
31
+ routes: [route],
32
+ }).routes).toEqual([route]);
33
+ });
34
+ (0, bun_test_1.it)('does not permit worker fields on a Lab route', () => {
35
+ (0, bun_test_1.expect)(lab_outreach_contract_1.LabRouteSchema.safeParse({ ...route, workerId: requestId }).success).toBe(false);
36
+ });
37
+ (0, bun_test_1.it)('requires distinct local senders in every authorization route array', () => {
38
+ const duplicateSenderRoutes = [
39
+ route,
40
+ {
41
+ ...route,
42
+ targetLabDeviceId: requestId,
43
+ targetIdentityVersion: 2,
44
+ },
45
+ ];
46
+ (0, bun_test_1.expect)(lab_outreach_contract_1.LabRunAuthorizationRequestSchema.safeParse({
47
+ campaignId,
48
+ fleetRevision: 43,
49
+ routes: duplicateSenderRoutes,
50
+ }).success).toBe(false);
51
+ (0, bun_test_1.expect)(lab_outreach_contract_1.LabRunAuthorizationSchema.safeParse({
52
+ authorizationId,
53
+ campaignId,
54
+ fleetRevision: 43,
55
+ routes: duplicateSenderRoutes,
56
+ expiresAt: '2026-08-02T09:00:00.000Z',
57
+ }).success).toBe(false);
58
+ });
59
+ (0, bun_test_1.it)('requires distinct delivery evidence for each authorized route index', () => {
60
+ (0, bun_test_1.expect)(lab_outreach_contract_1.CompleteLabRunBodySchema.safeParse({
61
+ evidence: [
62
+ {
63
+ routeIndex: 0,
64
+ deliveryJournalId: requestId,
65
+ evidenceSha256: 'b'.repeat(64),
66
+ },
67
+ {
68
+ routeIndex: 0,
69
+ deliveryJournalId: campaignId,
70
+ evidenceSha256: 'c'.repeat(64),
71
+ },
72
+ ],
73
+ }).success).toBe(false);
74
+ });
75
+ });
76
+ (0, bun_test_1.describe)('labOutreachContract routes', () => {
77
+ (0, bun_test_1.it)('uses the request and authorization identifiers consistently', () => {
78
+ (0, bun_test_1.expect)(lab_outreach_contract_1.labOutreachContract.authorize.path).toBe('/v2/outreach/requests/:id/lab-authorizations');
79
+ (0, bun_test_1.expect)(lab_outreach_contract_1.labOutreachContract.start.path).toBe('/v2/outreach/requests/:id/lab-authorizations/:authorizationId/start');
80
+ (0, bun_test_1.expect)(lab_outreach_contract_1.labOutreachContract.abandon.path).toBe('/v2/outreach/requests/:id/lab-authorizations/:authorizationId/abandon');
81
+ (0, bun_test_1.expect)(lab_outreach_contract_1.labOutreachContract.complete.path).toBe('/v2/outreach/requests/:id/lab-authorizations/:authorizationId/complete');
82
+ (0, bun_test_1.expect)(lab_outreach_contract_1.labOutreachContract.start.pathParams).toBe(lab_outreach_contract_1.labOutreachContract.complete.pathParams);
83
+ (0, bun_test_1.expect)(lab_outreach_contract_1.labOutreachContract.authorize.pathParams.parse({ id: requestId })).toEqual({ id: requestId });
84
+ (0, bun_test_1.expect)(lab_outreach_contract_1.labOutreachContract.complete.pathParams.parse({
85
+ id: requestId,
86
+ authorizationId,
87
+ })).toEqual({ id: requestId, authorizationId });
88
+ (0, bun_test_1.expect)(index_1.apiContractRouter.LabOutreach.authorize.path).toBe('/v2/outreach/requests/:id/lab-authorizations');
89
+ });
90
+ });
@@ -37,6 +37,9 @@ export declare const OutreachRequestQueueItemSchema: z.ZodObject<{
37
37
  ownerName: string | null;
38
38
  publicBaseUrl: string;
39
39
  }>>;
40
+ terminalReason: z.ZodNullable<z.ZodLiteral<"LAB_RUN_COMPLETED">>;
41
+ terminalCampaignId: z.ZodNullable<z.ZodString>;
42
+ terminalAt: z.ZodNullable<z.ZodString>;
40
43
  } & {
41
44
  job: z.ZodObject<{
42
45
  title: z.ZodString;
@@ -77,6 +80,9 @@ export declare const OutreachRequestQueueItemSchema: z.ZodObject<{
77
80
  ownerName: string | null;
78
81
  publicBaseUrl: string;
79
82
  } | null;
83
+ terminalReason: "LAB_RUN_COMPLETED" | null;
84
+ terminalCampaignId: string | null;
85
+ terminalAt: string | null;
80
86
  job: {
81
87
  title: string;
82
88
  trade: string | null;
@@ -104,6 +110,9 @@ export declare const OutreachRequestQueueItemSchema: z.ZodObject<{
104
110
  ownerName: string | null;
105
111
  publicBaseUrl: string;
106
112
  } | null;
113
+ terminalReason: "LAB_RUN_COMPLETED" | null;
114
+ terminalCampaignId: string | null;
115
+ terminalAt: string | null;
107
116
  job: {
108
117
  title: string;
109
118
  trade: string | null;
@@ -161,6 +170,9 @@ export declare const ListOutreachRequestsResponseSchema: z.ZodObject<{
161
170
  ownerName: string | null;
162
171
  publicBaseUrl: string;
163
172
  }>>;
173
+ terminalReason: z.ZodNullable<z.ZodLiteral<"LAB_RUN_COMPLETED">>;
174
+ terminalCampaignId: z.ZodNullable<z.ZodString>;
175
+ terminalAt: z.ZodNullable<z.ZodString>;
164
176
  } & {
165
177
  job: z.ZodObject<{
166
178
  title: z.ZodString;
@@ -201,6 +213,9 @@ export declare const ListOutreachRequestsResponseSchema: z.ZodObject<{
201
213
  ownerName: string | null;
202
214
  publicBaseUrl: string;
203
215
  } | null;
216
+ terminalReason: "LAB_RUN_COMPLETED" | null;
217
+ terminalCampaignId: string | null;
218
+ terminalAt: string | null;
204
219
  job: {
205
220
  title: string;
206
221
  trade: string | null;
@@ -228,6 +243,9 @@ export declare const ListOutreachRequestsResponseSchema: z.ZodObject<{
228
243
  ownerName: string | null;
229
244
  publicBaseUrl: string;
230
245
  } | null;
246
+ terminalReason: "LAB_RUN_COMPLETED" | null;
247
+ terminalCampaignId: string | null;
248
+ terminalAt: string | null;
231
249
  job: {
232
250
  title: string;
233
251
  trade: string | null;
@@ -257,6 +275,9 @@ export declare const ListOutreachRequestsResponseSchema: z.ZodObject<{
257
275
  ownerName: string | null;
258
276
  publicBaseUrl: string;
259
277
  } | null;
278
+ terminalReason: "LAB_RUN_COMPLETED" | null;
279
+ terminalCampaignId: string | null;
280
+ terminalAt: string | null;
260
281
  job: {
261
282
  title: string;
262
283
  trade: string | null;
@@ -286,6 +307,9 @@ export declare const ListOutreachRequestsResponseSchema: z.ZodObject<{
286
307
  ownerName: string | null;
287
308
  publicBaseUrl: string;
288
309
  } | null;
310
+ terminalReason: "LAB_RUN_COMPLETED" | null;
311
+ terminalCampaignId: string | null;
312
+ terminalAt: string | null;
289
313
  job: {
290
314
  title: string;
291
315
  trade: string | null;
@@ -452,6 +476,9 @@ export declare const outreachRequestsContract: {
452
476
  ownerName: string | null;
453
477
  publicBaseUrl: string;
454
478
  }>>;
479
+ terminalReason: z.ZodNullable<z.ZodLiteral<"LAB_RUN_COMPLETED">>;
480
+ terminalCampaignId: z.ZodNullable<z.ZodString>;
481
+ terminalAt: z.ZodNullable<z.ZodString>;
455
482
  }, "strip", z.ZodTypeAny, {
456
483
  id: string;
457
484
  jobId: string;
@@ -472,6 +499,9 @@ export declare const outreachRequestsContract: {
472
499
  ownerName: string | null;
473
500
  publicBaseUrl: string;
474
501
  } | null;
502
+ terminalReason: "LAB_RUN_COMPLETED" | null;
503
+ terminalCampaignId: string | null;
504
+ terminalAt: string | null;
475
505
  }, {
476
506
  id: string;
477
507
  jobId: string;
@@ -492,6 +522,9 @@ export declare const outreachRequestsContract: {
492
522
  ownerName: string | null;
493
523
  publicBaseUrl: string;
494
524
  } | null;
525
+ terminalReason: "LAB_RUN_COMPLETED" | null;
526
+ terminalCampaignId: string | null;
527
+ terminalAt: string | null;
495
528
  }>;
496
529
  404: z.ZodObject<{
497
530
  statusCode: z.ZodNumber;
@@ -673,6 +706,9 @@ export declare const outreachRequestsContract: {
673
706
  ownerName: string | null;
674
707
  publicBaseUrl: string;
675
708
  }>>;
709
+ terminalReason: z.ZodNullable<z.ZodLiteral<"LAB_RUN_COMPLETED">>;
710
+ terminalCampaignId: z.ZodNullable<z.ZodString>;
711
+ terminalAt: z.ZodNullable<z.ZodString>;
676
712
  }, "strip", z.ZodTypeAny, {
677
713
  id: string;
678
714
  jobId: string;
@@ -693,6 +729,9 @@ export declare const outreachRequestsContract: {
693
729
  ownerName: string | null;
694
730
  publicBaseUrl: string;
695
731
  } | null;
732
+ terminalReason: "LAB_RUN_COMPLETED" | null;
733
+ terminalCampaignId: string | null;
734
+ terminalAt: string | null;
696
735
  }, {
697
736
  id: string;
698
737
  jobId: string;
@@ -713,6 +752,9 @@ export declare const outreachRequestsContract: {
713
752
  ownerName: string | null;
714
753
  publicBaseUrl: string;
715
754
  } | null;
755
+ terminalReason: "LAB_RUN_COMPLETED" | null;
756
+ terminalCampaignId: string | null;
757
+ terminalAt: string | null;
716
758
  }>;
717
759
  404: z.ZodObject<{
718
760
  statusCode: z.ZodNumber;
@@ -925,6 +967,9 @@ export declare const outreachRequestsContract: {
925
967
  ownerName: string | null;
926
968
  publicBaseUrl: string;
927
969
  }>>;
970
+ terminalReason: z.ZodNullable<z.ZodLiteral<"LAB_RUN_COMPLETED">>;
971
+ terminalCampaignId: z.ZodNullable<z.ZodString>;
972
+ terminalAt: z.ZodNullable<z.ZodString>;
928
973
  }, "strip", z.ZodTypeAny, {
929
974
  id: string;
930
975
  jobId: string;
@@ -945,6 +990,9 @@ export declare const outreachRequestsContract: {
945
990
  ownerName: string | null;
946
991
  publicBaseUrl: string;
947
992
  } | null;
993
+ terminalReason: "LAB_RUN_COMPLETED" | null;
994
+ terminalCampaignId: string | null;
995
+ terminalAt: string | null;
948
996
  }, {
949
997
  id: string;
950
998
  jobId: string;
@@ -965,6 +1013,9 @@ export declare const outreachRequestsContract: {
965
1013
  ownerName: string | null;
966
1014
  publicBaseUrl: string;
967
1015
  } | null;
1016
+ terminalReason: "LAB_RUN_COMPLETED" | null;
1017
+ terminalCampaignId: string | null;
1018
+ terminalAt: string | null;
968
1019
  }>;
969
1020
  404: z.ZodObject<{
970
1021
  statusCode: z.ZodNumber;
@@ -1171,6 +1222,9 @@ export declare const outreachRequestsContract: {
1171
1222
  ownerName: string | null;
1172
1223
  publicBaseUrl: string;
1173
1224
  }>>;
1225
+ terminalReason: z.ZodNullable<z.ZodLiteral<"LAB_RUN_COMPLETED">>;
1226
+ terminalCampaignId: z.ZodNullable<z.ZodString>;
1227
+ terminalAt: z.ZodNullable<z.ZodString>;
1174
1228
  } & {
1175
1229
  job: z.ZodObject<{
1176
1230
  title: z.ZodString;
@@ -1211,6 +1265,9 @@ export declare const outreachRequestsContract: {
1211
1265
  ownerName: string | null;
1212
1266
  publicBaseUrl: string;
1213
1267
  } | null;
1268
+ terminalReason: "LAB_RUN_COMPLETED" | null;
1269
+ terminalCampaignId: string | null;
1270
+ terminalAt: string | null;
1214
1271
  job: {
1215
1272
  title: string;
1216
1273
  trade: string | null;
@@ -1238,6 +1295,9 @@ export declare const outreachRequestsContract: {
1238
1295
  ownerName: string | null;
1239
1296
  publicBaseUrl: string;
1240
1297
  } | null;
1298
+ terminalReason: "LAB_RUN_COMPLETED" | null;
1299
+ terminalCampaignId: string | null;
1300
+ terminalAt: string | null;
1241
1301
  job: {
1242
1302
  title: string;
1243
1303
  trade: string | null;
@@ -1267,6 +1327,9 @@ export declare const outreachRequestsContract: {
1267
1327
  ownerName: string | null;
1268
1328
  publicBaseUrl: string;
1269
1329
  } | null;
1330
+ terminalReason: "LAB_RUN_COMPLETED" | null;
1331
+ terminalCampaignId: string | null;
1332
+ terminalAt: string | null;
1270
1333
  job: {
1271
1334
  title: string;
1272
1335
  trade: string | null;
@@ -1296,6 +1359,9 @@ export declare const outreachRequestsContract: {
1296
1359
  ownerName: string | null;
1297
1360
  publicBaseUrl: string;
1298
1361
  } | null;
1362
+ terminalReason: "LAB_RUN_COMPLETED" | null;
1363
+ terminalCampaignId: string | null;
1364
+ terminalAt: string | null;
1299
1365
  job: {
1300
1366
  title: string;
1301
1367
  trade: string | null;
@@ -1460,6 +1526,9 @@ export declare const outreachRequestsContract: {
1460
1526
  ownerName: string | null;
1461
1527
  publicBaseUrl: string;
1462
1528
  }>>;
1529
+ terminalReason: z.ZodNullable<z.ZodLiteral<"LAB_RUN_COMPLETED">>;
1530
+ terminalCampaignId: z.ZodNullable<z.ZodString>;
1531
+ terminalAt: z.ZodNullable<z.ZodString>;
1463
1532
  }, "strip", z.ZodTypeAny, {
1464
1533
  id: string;
1465
1534
  jobId: string;
@@ -1480,6 +1549,9 @@ export declare const outreachRequestsContract: {
1480
1549
  ownerName: string | null;
1481
1550
  publicBaseUrl: string;
1482
1551
  } | null;
1552
+ terminalReason: "LAB_RUN_COMPLETED" | null;
1553
+ terminalCampaignId: string | null;
1554
+ terminalAt: string | null;
1483
1555
  }, {
1484
1556
  id: string;
1485
1557
  jobId: string;
@@ -1500,6 +1572,9 @@ export declare const outreachRequestsContract: {
1500
1572
  ownerName: string | null;
1501
1573
  publicBaseUrl: string;
1502
1574
  } | null;
1575
+ terminalReason: "LAB_RUN_COMPLETED" | null;
1576
+ terminalCampaignId: string | null;
1577
+ terminalAt: string | null;
1503
1578
  }>;
1504
1579
  404: z.ZodObject<{
1505
1580
  statusCode: z.ZodNumber;
@@ -1681,6 +1756,9 @@ export declare const outreachRequestsContract: {
1681
1756
  ownerName: string | null;
1682
1757
  publicBaseUrl: string;
1683
1758
  }>>;
1759
+ terminalReason: z.ZodNullable<z.ZodLiteral<"LAB_RUN_COMPLETED">>;
1760
+ terminalCampaignId: z.ZodNullable<z.ZodString>;
1761
+ terminalAt: z.ZodNullable<z.ZodString>;
1684
1762
  }, "strip", z.ZodTypeAny, {
1685
1763
  id: string;
1686
1764
  jobId: string;
@@ -1701,6 +1779,9 @@ export declare const outreachRequestsContract: {
1701
1779
  ownerName: string | null;
1702
1780
  publicBaseUrl: string;
1703
1781
  } | null;
1782
+ terminalReason: "LAB_RUN_COMPLETED" | null;
1783
+ terminalCampaignId: string | null;
1784
+ terminalAt: string | null;
1704
1785
  }, {
1705
1786
  id: string;
1706
1787
  jobId: string;
@@ -1721,6 +1802,9 @@ export declare const outreachRequestsContract: {
1721
1802
  ownerName: string | null;
1722
1803
  publicBaseUrl: string;
1723
1804
  } | null;
1805
+ terminalReason: "LAB_RUN_COMPLETED" | null;
1806
+ terminalCampaignId: string | null;
1807
+ terminalAt: string | null;
1724
1808
  }>;
1725
1809
  404: z.ZodObject<{
1726
1810
  statusCode: z.ZodNumber;
@@ -1 +1 @@
1
- {"version":3,"file":"outreach-requests.contract.d.ts","sourceRoot":"","sources":["../../contracts/outreach/outreach-requests.contract.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,cAAc,6BAA6B,CAAC;AAI5C,2EAA2E;AAC3E,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEM,CAAC;AAElD,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAC5C,OAAO,8BAA8B,CACtC,CAAC;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;EASM,CAAC;AAEnD,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,+BAA+B,CACvC,CAAC;AAEF,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIM,CAAC;AAEtD,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAChD,OAAO,kCAAkC,CAC1C,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8GpC,CAAC"}
1
+ {"version":3,"file":"outreach-requests.contract.d.ts","sourceRoot":"","sources":["../../contracts/outreach/outreach-requests.contract.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,cAAc,6BAA6B,CAAC;AAI5C,2EAA2E;AAC3E,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEM,CAAC;AAElD,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAC5C,OAAO,8BAA8B,CACtC,CAAC;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;EASM,CAAC;AAEnD,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,+BAA+B,CACvC,CAAC;AAEF,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIM,CAAC;AAEtD,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAChD,OAAO,kCAAkC,CAC1C,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8GpC,CAAC"}
@@ -50,6 +50,9 @@ export declare const OutreachRequestSchema: z.ZodObject<{
50
50
  ownerName: string | null;
51
51
  publicBaseUrl: string;
52
52
  }>>;
53
+ terminalReason: z.ZodNullable<z.ZodLiteral<"LAB_RUN_COMPLETED">>;
54
+ terminalCampaignId: z.ZodNullable<z.ZodString>;
55
+ terminalAt: z.ZodNullable<z.ZodString>;
53
56
  }, "strip", z.ZodTypeAny, {
54
57
  id: string;
55
58
  jobId: string;
@@ -70,6 +73,9 @@ export declare const OutreachRequestSchema: z.ZodObject<{
70
73
  ownerName: string | null;
71
74
  publicBaseUrl: string;
72
75
  } | null;
76
+ terminalReason: "LAB_RUN_COMPLETED" | null;
77
+ terminalCampaignId: string | null;
78
+ terminalAt: string | null;
73
79
  }, {
74
80
  id: string;
75
81
  jobId: string;
@@ -90,6 +96,9 @@ export declare const OutreachRequestSchema: z.ZodObject<{
90
96
  ownerName: string | null;
91
97
  publicBaseUrl: string;
92
98
  } | null;
99
+ terminalReason: "LAB_RUN_COMPLETED" | null;
100
+ terminalCampaignId: string | null;
101
+ terminalAt: string | null;
93
102
  }>;
94
103
  export type OutreachRequest = z.infer<typeof OutreachRequestSchema>;
95
104
  //# sourceMappingURL=outreach-requests.schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"outreach-requests.schemas.d.ts","sourceRoot":"","sources":["../../contracts/outreach/outreach-requests.schemas.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,6DAEM,CAAC;AAE/C,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBM,CAAC;AAEzC,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"outreach-requests.schemas.d.ts","sourceRoot":"","sources":["../../contracts/outreach/outreach-requests.schemas.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,6DAEM,CAAC;AAE/C,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BM,CAAC;AAEzC,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -59,5 +59,8 @@ exports.OutreachRequestSchema = zod_1.z
59
59
  startedAt: zod_1.z.string().datetime().nullable(),
60
60
  completedAt: zod_1.z.string().datetime().nullable(),
61
61
  assignedPod: relay_pods_schemas_1.RelayPodSummarySchema.nullable(),
62
+ terminalReason: zod_1.z.literal('LAB_RUN_COMPLETED').nullable(),
63
+ terminalCampaignId: zod_1.z.string().uuid().nullable(),
64
+ terminalAt: zod_1.z.string().datetime().nullable(),
62
65
  })
63
66
  .openapi({ title: 'OutreachRequest' });
@@ -48,6 +48,9 @@ const outreach_contract_1 = require("./outreach.contract");
48
48
  startedAt: null,
49
49
  completedAt: null,
50
50
  assignedPod: null,
51
+ terminalReason: null,
52
+ terminalCampaignId: null,
53
+ terminalAt: null,
51
54
  });
52
55
  (0, bun_test_1.expect)(parsed.assignedPod).toBeNull();
53
56
  });