@dakkitor/api-contracts 1.4.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.
- package/dist/abilities/abilities.contract.d.ts +8 -2
- package/dist/abilities/abilities.contract.d.ts.map +1 -1
- package/dist/abilities/abilities.contract.js +48 -1
- package/dist/abilities/abilities.contract.spec.js +98 -0
- package/dist/abilities/first-agent.abilities.json +9 -2
- package/dist/abilities/outreach-service.abilities.json +14 -0
- package/dist/abilities/outreach.abilities.json +25 -0
- package/dist/abilities/second-agent.abilities.json +5 -1
- package/dist/actives/actives.contract.d.ts +7160 -7021
- package/dist/actives/actives.contract.d.ts.map +1 -1
- package/dist/actives/actives.contract.js +2 -0
- package/dist/actives/actives.contract.spec.d.ts +2 -0
- package/dist/actives/actives.contract.spec.d.ts.map +1 -0
- package/dist/actives/actives.contract.spec.js +35 -0
- package/dist/agent-client-links/agent-client-links.contract.d.ts +1087 -1087
- package/dist/auth/auth.contract.d.ts +108 -108
- package/dist/bookings/bookings.contract.d.ts +10131 -9939
- package/dist/bookings/bookings.contract.d.ts.map +1 -1
- package/dist/call-history/call-history.contract.d.ts +718 -718
- package/dist/calls-feed/calls-feed.contract.d.ts +86 -86
- package/dist/client-contacts/client-contacts.contract.d.ts +469 -469
- package/dist/clients/clients.contract.d.ts +203 -203
- package/dist/collaboration-checkings/collaboration-checkings.contract.d.ts +2713 -2713
- package/dist/collaborations/collaborations.contract.d.ts +2270 -2270
- package/dist/common/common-schemas.d.ts +12 -12
- package/dist/companies/companies.contract.d.ts +74 -74
- package/dist/crews/crews.contract.d.ts +253 -253
- package/dist/cron-executions/cron-executions.contract.d.ts +182 -182
- package/dist/curated-worker-leads/candidate-coordination.contract.d.ts +3353 -3353
- package/dist/curated-worker-leads/candidate-edit-session.contract.d.ts +20 -20
- package/dist/curated-worker-leads/consent-queue.contract.d.ts +196 -166
- package/dist/curated-worker-leads/consent-queue.contract.d.ts.map +1 -1
- package/dist/curated-worker-leads/curated-worker-lead-config.contract.d.ts +16 -16
- package/dist/curated-worker-leads/curated-worker-leads.contract.d.ts +2 -2
- package/dist/curated-worker-leads/jobs-tab.contract.d.ts +1192 -564
- package/dist/curated-worker-leads/jobs-tab.contract.d.ts.map +1 -1
- package/dist/curated-worker-leads/jobs-tab.contract.js +65 -2
- package/dist/curated-worker-leads/lead-agent-area.contract.d.ts +4 -4
- package/dist/curated-worker-leads/outreach-pool-summary.contract.spec.d.ts +2 -0
- package/dist/curated-worker-leads/outreach-pool-summary.contract.spec.d.ts.map +1 -0
- package/dist/curated-worker-leads/outreach-pool-summary.contract.spec.js +39 -0
- package/dist/curated-worker-leads/owned-jobs-tab.contract.d.ts +46 -46
- package/dist/curated-workers/curated-workers.contract.d.ts +789 -789
- package/dist/dashboards/agent-daily-metrics.contract.d.ts +2 -2
- package/dist/dashboards/dashboard-widgets.contract.d.ts +292 -292
- package/dist/dashboards/dashboard.contract.d.ts +12 -12
- package/dist/document-intake/document-intake.contract.d.ts +601 -601
- package/dist/export-jobs/export-jobs.contract.d.ts +572 -562
- package/dist/export-jobs/export-jobs.contract.d.ts.map +1 -1
- package/dist/exports-events/exports-events.schemas.d.ts +6 -6
- package/dist/files/files.contract.d.ts +74 -74
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -0
- package/dist/interactions/interactions.contract.d.ts +6 -6
- package/dist/job-clusters/job-clusters.contract.d.ts +112 -112
- package/dist/jobs/job-moderation-fields.spec.d.ts +2 -0
- package/dist/jobs/job-moderation-fields.spec.d.ts.map +1 -0
- package/dist/jobs/job-moderation-fields.spec.js +72 -0
- package/dist/jobs/jobs.contract.d.ts +7734 -7474
- package/dist/jobs/jobs.contract.d.ts.map +1 -1
- package/dist/jobs/jobs.contract.js +57 -0
- package/dist/kpi-impersonation/kpi-impersonation.contract.d.ts +141 -141
- package/dist/lead-assignments/lead-assignments.contract.d.ts +911 -911
- package/dist/lead-distribution/agent-lead-distribution.contract.d.ts +209 -209
- package/dist/lead-distribution/lead-distribution-config.contract.d.ts +77 -77
- package/dist/leads/leads.contract.d.ts +283 -283
- package/dist/locations/locations.contract.d.ts +49 -49
- package/dist/notifications/notifications.contract.d.ts +49 -49
- package/dist/offices/offices.contract.d.ts +34 -34
- package/dist/outreach/__tests__/outreach-claim.test.js +1 -0
- package/dist/outreach/__tests__/outreach-contract-additions.spec.d.ts +2 -0
- package/dist/outreach/__tests__/outreach-contract-additions.spec.d.ts.map +1 -0
- package/dist/outreach/__tests__/outreach-contract-additions.spec.js +89 -0
- package/dist/outreach/__tests__/outreach-requests.contract.spec.d.ts +2 -0
- package/dist/outreach/__tests__/outreach-requests.contract.spec.d.ts.map +1 -0
- package/dist/outreach/__tests__/outreach-requests.contract.spec.js +77 -0
- package/dist/outreach/__tests__/outreach-routes.test.js +14 -3
- package/dist/outreach/__tests__/outreach.schemas.test.js +5 -1
- package/dist/outreach/outreach-requests.contract.d.ts +1753 -0
- package/dist/outreach/outreach-requests.contract.d.ts.map +1 -0
- package/dist/outreach/outreach-requests.contract.js +154 -0
- package/dist/outreach/outreach-requests.schemas.d.ts +95 -0
- package/dist/outreach/outreach-requests.schemas.d.ts.map +1 -0
- package/dist/outreach/outreach-requests.schemas.js +63 -0
- package/dist/outreach/outreach.contract.d.ts +373 -101
- package/dist/outreach/outreach.contract.d.ts.map +1 -1
- package/dist/outreach/outreach.contract.js +18 -0
- package/dist/outreach/outreach.contract.spec.d.ts +2 -0
- package/dist/outreach/outreach.contract.spec.d.ts.map +1 -0
- package/dist/outreach/outreach.contract.spec.js +54 -0
- package/dist/outreach/outreach.schemas.d.ts +15 -10
- package/dist/outreach/outreach.schemas.d.ts.map +1 -1
- package/dist/outreach/outreach.schemas.js +5 -2
- package/dist/own-research/own-research.contract.d.ts +775 -775
- package/dist/postcodes/postcodes.contract.d.ts +24 -24
- package/dist/proofs/proof-type.enum.d.ts +4 -4
- package/dist/proofs/proofs.contract.d.ts +363 -363
- package/dist/proofs/proofs.dtos.d.ts +124 -124
- package/dist/qualifications/qualifications.contract.d.ts +38 -38
- package/dist/relay-pods/relay-pod-sessions.contract.d.ts +680 -0
- package/dist/relay-pods/relay-pod-sessions.contract.d.ts.map +1 -0
- package/dist/relay-pods/relay-pod-sessions.contract.js +67 -0
- package/dist/relay-pods/relay-pod-sessions.contract.spec.d.ts +2 -0
- package/dist/relay-pods/relay-pod-sessions.contract.spec.d.ts.map +1 -0
- package/dist/relay-pods/relay-pod-sessions.contract.spec.js +129 -0
- package/dist/relay-pods/relay-pods.contract.d.ts +1569 -0
- package/dist/relay-pods/relay-pods.contract.d.ts.map +1 -0
- package/dist/relay-pods/relay-pods.contract.js +188 -0
- package/dist/relay-pods/relay-pods.contract.spec.d.ts +2 -0
- package/dist/relay-pods/relay-pods.contract.spec.d.ts.map +1 -0
- package/dist/relay-pods/relay-pods.contract.spec.js +141 -0
- package/dist/relay-pods/relay-pods.schemas.d.ts +415 -0
- package/dist/relay-pods/relay-pods.schemas.d.ts.map +1 -0
- package/dist/relay-pods/relay-pods.schemas.js +112 -0
- package/dist/shared/live-booking.schema.d.ts +4 -4
- package/dist/shared/summary-schemas.d.ts +6 -6
- package/dist/sheets-sync/sheets-sync.contract.d.ts +939 -939
- package/dist/telegram/telegram.contract.d.ts +22 -22
- package/dist/trades/trades.contract.d.ts +90 -90
- package/dist/user-access-grants/user-access-grants.contract.d.ts +165 -165
- package/dist/users/__tests__/assignable-roles.spec.d.ts +2 -0
- package/dist/users/__tests__/assignable-roles.spec.d.ts.map +1 -0
- package/dist/users/__tests__/assignable-roles.spec.js +41 -0
- package/dist/users/users.contract.d.ts +399 -393
- package/dist/users/users.contract.d.ts.map +1 -1
- package/dist/users/users.contract.js +11 -0
- package/dist/worker-identity-cases/worker-identity-cases.contract.d.ts +585 -527
- package/dist/worker-identity-cases/worker-identity-cases.contract.d.ts.map +1 -1
- package/dist/worker-merge-proposals/worker-merge-proposals.contract.d.ts +278 -236
- package/dist/worker-merge-proposals/worker-merge-proposals.contract.d.ts.map +1 -1
- package/dist/worker-merge-proposals/worker-merge-proposals.contract.js +1 -0
- package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.contract.d.ts +153 -153
- package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.schemas.d.ts +59 -59
- package/dist/workers/workers.contract.d.ts +2919 -2919
- package/package.json +1 -1
- package/dist/bookings/bookings.contract.spec.d.ts +0 -2
- package/dist/bookings/bookings.contract.spec.d.ts.map +0 -1
- package/dist/bookings/bookings.contract.spec.js +0 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outreach.contract.d.ts","sourceRoot":"","sources":["../../contracts/outreach/outreach.contract.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,EAAG,EAAW,CAAC;AAEtD;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B;;;;;;EAIM,CAAC;AAE/C,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF;;;;;;;GAOG;AACH,eAAO,MAAM,+BAA+B
|
|
1
|
+
{"version":3,"file":"outreach.contract.d.ts","sourceRoot":"","sources":["../../contracts/outreach/outreach.contract.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,EAAG,EAAW,CAAC;AAEtD;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B;;;;;;EAIM,CAAC;AAE/C,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF;;;;;;;GAOG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYM,CAAC;AAEnD,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,+BAA+B,CACvC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;EAoBM,CAAC;AAEjD,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;;EAOM,CAAC;AAErD,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAC/C,OAAO,iCAAiC,CACzC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;EAUM,CAAC;AAElD,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAC5C,OAAO,8BAA8B,CACtC,CAAC;AAEF,eAAO,MAAM,kCAAkC;;;;;;EAIM,CAAC;AAEtD,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAChD,OAAO,kCAAkC,CAC1C,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyF5B,CAAC"}
|
|
@@ -130,6 +130,24 @@ exports.ReleaseOutreachLeaseResponseSchema = zod_1.z
|
|
|
130
130
|
.openapi({ title: 'ReleaseOutreachLeaseResponse' });
|
|
131
131
|
exports.outreachContract = c.router({
|
|
132
132
|
claimNext: {
|
|
133
|
+
method: 'POST',
|
|
134
|
+
path: '/outreach/requests/:requestId/claim-next',
|
|
135
|
+
pathParams: zod_1.z.object({
|
|
136
|
+
requestId: zod_1.z
|
|
137
|
+
.string()
|
|
138
|
+
.uuid()
|
|
139
|
+
.describe('Authorized request to claim a candidate for'),
|
|
140
|
+
}),
|
|
141
|
+
body: exports.ClaimNextOutreachBodySchema,
|
|
142
|
+
responses: {
|
|
143
|
+
200: exports.ClaimNextOutreachResponseSchema,
|
|
144
|
+
409: error_schemas_1.ErrorResponseSchema,
|
|
145
|
+
},
|
|
146
|
+
summary: 'Claim the next eligible candidate for an outreach request',
|
|
147
|
+
description: 'Derives the job from the pod-owned request. Idempotent per device: a device that already holds an active lease gets that lease back.',
|
|
148
|
+
metadata: { tags: ['Outreach'] },
|
|
149
|
+
},
|
|
150
|
+
claimNextLegacy: {
|
|
133
151
|
method: 'POST',
|
|
134
152
|
path: '/outreach/jobs/:jobId/claim-next',
|
|
135
153
|
pathParams: zod_1.z.object({
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outreach.contract.spec.d.ts","sourceRoot":"","sources":["../../contracts/outreach/outreach.contract.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const bun_test_1 = require("bun:test");
|
|
4
|
+
const outreach_requests_contract_1 = require("./outreach-requests.contract");
|
|
5
|
+
const outreach_contract_1 = require("./outreach.contract");
|
|
6
|
+
(0, bun_test_1.describe)('pod-routed outreach contracts', () => {
|
|
7
|
+
(0, bun_test_1.it)('uses a request-based primary claim route and retains the legacy route', () => {
|
|
8
|
+
(0, bun_test_1.expect)(outreach_contract_1.outreachContract.claimNext.path).toBe('/v2/outreach/requests/:requestId/claim-next');
|
|
9
|
+
(0, bun_test_1.expect)(outreach_contract_1.outreachContract.claimNextLegacy.path).toBe('/v2/outreach/jobs/:jobId/claim-next');
|
|
10
|
+
});
|
|
11
|
+
(0, bun_test_1.it)('publishes pending-request reassignment', () => {
|
|
12
|
+
(0, bun_test_1.expect)(outreach_requests_contract_1.outreachRequestsContract.reassign.path).toBe('/v2/outreach/requests/:id/reassign');
|
|
13
|
+
(0, bun_test_1.expect)(outreach_requests_contract_1.outreachRequestsContract.reassign.method).toBe('POST');
|
|
14
|
+
(0, bun_test_1.expect)(outreach_requests_contract_1.outreachRequestsContract.reassign.body.parse({
|
|
15
|
+
targetPodId: '22222222-2222-4222-8222-222222222222',
|
|
16
|
+
}).targetPodId).toBe('22222222-2222-4222-8222-222222222222');
|
|
17
|
+
});
|
|
18
|
+
(0, bun_test_1.it)('does not advertise completing a pending request', () => {
|
|
19
|
+
(0, bun_test_1.expect)(outreach_requests_contract_1.outreachRequestsContract.complete.description).toContain('RUNNING -> COMPLETED');
|
|
20
|
+
(0, bun_test_1.expect)(outreach_requests_contract_1.outreachRequestsContract.complete.description).not.toContain('PENDING or RUNNING');
|
|
21
|
+
});
|
|
22
|
+
bun_test_1.it.each([
|
|
23
|
+
['cancel', outreach_requests_contract_1.outreachRequestsContract.cancel],
|
|
24
|
+
['reassign', outreach_requests_contract_1.outreachRequestsContract.reassign],
|
|
25
|
+
])('%s rejects non-PENDING requests with a conflict response', (_operation, route) => {
|
|
26
|
+
(0, bun_test_1.expect)(route.responses).toHaveProperty('409');
|
|
27
|
+
(0, bun_test_1.expect)(route.responses).toHaveProperty('404');
|
|
28
|
+
(0, bun_test_1.expect)(route.description).toContain('Rejects non-PENDING requests');
|
|
29
|
+
});
|
|
30
|
+
(0, bun_test_1.it)('keeps an explicit target optional for ordinary request creation', () => {
|
|
31
|
+
const jobId = '11111111-1111-4111-8111-111111111111';
|
|
32
|
+
(0, bun_test_1.expect)(outreach_requests_contract_1.CreateOutreachRequestBodySchema.parse({ jobId }).targetPodId).toBeUndefined();
|
|
33
|
+
(0, bun_test_1.expect)(outreach_requests_contract_1.CreateOutreachRequestBodySchema.parse({
|
|
34
|
+
jobId,
|
|
35
|
+
targetPodId: '22222222-2222-4222-8222-222222222222',
|
|
36
|
+
}).targetPodId).toBe('22222222-2222-4222-8222-222222222222');
|
|
37
|
+
});
|
|
38
|
+
(0, bun_test_1.it)('represents migration-era requests without an assigned pod', () => {
|
|
39
|
+
const parsed = outreach_requests_contract_1.OutreachRequestSchema.parse({
|
|
40
|
+
id: '11111111-1111-4111-8111-111111111111',
|
|
41
|
+
jobId: '22222222-2222-4222-8222-222222222222',
|
|
42
|
+
requestedByUserId: '33333333-3333-4333-8333-333333333333',
|
|
43
|
+
status: 'PENDING',
|
|
44
|
+
eligibleAtRequest: 12,
|
|
45
|
+
requestedByName: 'Relay Owner',
|
|
46
|
+
contactedCount: 0,
|
|
47
|
+
createdAt: '2026-08-01T09:00:00.000Z',
|
|
48
|
+
startedAt: null,
|
|
49
|
+
completedAt: null,
|
|
50
|
+
assignedPod: null,
|
|
51
|
+
});
|
|
52
|
+
(0, bun_test_1.expect)(parsed.assignedPod).toBeNull();
|
|
53
|
+
});
|
|
54
|
+
});
|
|
@@ -52,11 +52,11 @@ export declare const OutreachLeaseSchema: z.ZodObject<{
|
|
|
52
52
|
leaseId: z.ZodString;
|
|
53
53
|
expiresAt: z.ZodString;
|
|
54
54
|
}, "strip", z.ZodTypeAny, {
|
|
55
|
-
leaseId: string;
|
|
56
55
|
expiresAt: string;
|
|
57
|
-
}, {
|
|
58
56
|
leaseId: string;
|
|
57
|
+
}, {
|
|
59
58
|
expiresAt: string;
|
|
59
|
+
leaseId: string;
|
|
60
60
|
}>;
|
|
61
61
|
export type OutreachLease = z.infer<typeof OutreachLeaseSchema>;
|
|
62
62
|
export declare const OutreachCandidateSchema: z.ZodObject<{
|
|
@@ -69,41 +69,46 @@ export declare const OutreachCandidateSchema: z.ZodObject<{
|
|
|
69
69
|
commuteMinutes: z.ZodNumber;
|
|
70
70
|
transportMode: z.ZodEnum<["DRIVE", "PUBLIC_TRANSPORT"]>;
|
|
71
71
|
}, "strip", z.ZodTypeAny, {
|
|
72
|
+
phoneNumber: string;
|
|
73
|
+
name: string;
|
|
72
74
|
subjectKind: "OWNED" | "CURATED";
|
|
73
75
|
subjectId: string;
|
|
74
76
|
canonicalKind: "WORKER" | "CURATED_WORKER";
|
|
75
77
|
canonicalId: string;
|
|
76
|
-
name: string;
|
|
77
|
-
phoneNumber: string;
|
|
78
78
|
commuteMinutes: number;
|
|
79
|
-
transportMode: "
|
|
79
|
+
transportMode: "PUBLIC_TRANSPORT" | "DRIVE";
|
|
80
80
|
}, {
|
|
81
|
+
phoneNumber: string;
|
|
82
|
+
name: string;
|
|
81
83
|
subjectKind: "OWNED" | "CURATED";
|
|
82
84
|
subjectId: string;
|
|
83
85
|
canonicalKind: "WORKER" | "CURATED_WORKER";
|
|
84
86
|
canonicalId: string;
|
|
85
|
-
name: string;
|
|
86
|
-
phoneNumber: string;
|
|
87
87
|
commuteMinutes: number;
|
|
88
|
-
transportMode: "
|
|
88
|
+
transportMode: "PUBLIC_TRANSPORT" | "DRIVE";
|
|
89
89
|
}>;
|
|
90
90
|
export type OutreachCandidate = z.infer<typeof OutreachCandidateSchema>;
|
|
91
91
|
/**
|
|
92
92
|
* Enough of the job to compose a message. Everything but the title is nullable
|
|
93
|
-
* because real jobs routinely lack pay
|
|
94
|
-
* not make a candidate unclaimable
|
|
93
|
+
* because real jobs routinely lack pay, trade text, or a raising agent, and a
|
|
94
|
+
* missing field must not make a candidate unclaimable — createdByName is
|
|
95
|
+
* nullable for the same reason: a job with no createdById must not make a
|
|
96
|
+
* candidate unclaimable.
|
|
95
97
|
*/
|
|
96
98
|
export declare const OutreachJobSchema: z.ZodObject<{
|
|
97
99
|
title: z.ZodString;
|
|
98
100
|
trade: z.ZodNullable<z.ZodString>;
|
|
99
101
|
payText: z.ZodNullable<z.ZodString>;
|
|
100
102
|
locationText: z.ZodNullable<z.ZodString>;
|
|
103
|
+
createdByName: z.ZodNullable<z.ZodString>;
|
|
101
104
|
}, "strip", z.ZodTypeAny, {
|
|
105
|
+
createdByName: string | null;
|
|
102
106
|
title: string;
|
|
103
107
|
trade: string | null;
|
|
104
108
|
payText: string | null;
|
|
105
109
|
locationText: string | null;
|
|
106
110
|
}, {
|
|
111
|
+
createdByName: string | null;
|
|
107
112
|
title: string;
|
|
108
113
|
trade: string | null;
|
|
109
114
|
payText: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outreach.schemas.d.ts","sourceRoot":"","sources":["../../contracts/outreach/outreach.schemas.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB,iCAEM,CAAC;AAE7C,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,yCAEM,CAAC;AAE/C,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,2BAA2B,0CAEM,CAAC;AAE/C,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,aAIkC,CAAC;AAEtE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;GAGG;AACH,eAAO,MAAM,2BAA2B,mFAEM,CAAC;AAE/C,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,mBAAmB;;;;;;;;;EAQM,CAAC;AAEvC,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmCM,CAAC;AAE3C,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE
|
|
1
|
+
{"version":3,"file":"outreach.schemas.d.ts","sourceRoot":"","sources":["../../contracts/outreach/outreach.schemas.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB,iCAEM,CAAC;AAE7C,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,yCAEM,CAAC;AAE/C,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,2BAA2B,0CAEM,CAAC;AAE/C,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,aAIkC,CAAC;AAEtE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;GAGG;AACH,eAAO,MAAM,2BAA2B,mFAEM,CAAC;AAE/C,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,mBAAmB;;;;;;;;;EAQM,CAAC;AAEvC,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmCM,CAAC;AAE3C,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;EAQM,CAAC;AAErC,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -119,8 +119,10 @@ exports.OutreachCandidateSchema = zod_1.z
|
|
|
119
119
|
.openapi({ title: 'OutreachCandidate' });
|
|
120
120
|
/**
|
|
121
121
|
* Enough of the job to compose a message. Everything but the title is nullable
|
|
122
|
-
* because real jobs routinely lack pay
|
|
123
|
-
* not make a candidate unclaimable
|
|
122
|
+
* because real jobs routinely lack pay, trade text, or a raising agent, and a
|
|
123
|
+
* missing field must not make a candidate unclaimable — createdByName is
|
|
124
|
+
* nullable for the same reason: a job with no createdById must not make a
|
|
125
|
+
* candidate unclaimable.
|
|
124
126
|
*/
|
|
125
127
|
exports.OutreachJobSchema = zod_1.z
|
|
126
128
|
.object({
|
|
@@ -128,5 +130,6 @@ exports.OutreachJobSchema = zod_1.z
|
|
|
128
130
|
trade: zod_1.z.string().nullable().describe('Trade label, if known'),
|
|
129
131
|
payText: zod_1.z.string().nullable().describe('Pay as displayed, if known'),
|
|
130
132
|
locationText: zod_1.z.string().nullable().describe('Location as displayed'),
|
|
133
|
+
createdByName: zod_1.z.string().nullable().describe('Agent who raised the job'),
|
|
131
134
|
})
|
|
132
135
|
.openapi({ title: 'OutreachJob' });
|