lancer-shared 1.2.123 → 1.2.125
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/bundle.cjs.js +551 -566
- package/dist/constants/job-filter-options.d.ts +2 -2
- package/dist/schemas/agent/index.d.ts +132 -38
- package/dist/schemas/bid/bid.d.ts +2623 -1
- package/dist/schemas/bid/exceptions/index.d.ts +3 -1
- package/dist/schemas/bid/exceptions/proposal-generation-failed.exception.d.ts +5 -0
- package/dist/schemas/campaign/campaign-analytics.d.ts +80 -80
- package/dist/schemas/campaign/campaign.d.ts +42 -42
- package/dist/schemas/job/index.d.ts +1 -1
- package/dist/schemas/job/job-filters.d.ts +14 -13
- package/dist/schemas/job/job-listing.d.ts +866 -0
- package/dist/schemas/logger/index.d.ts +2 -1
- package/dist/schemas/logger/log-event.d.ts +14 -1513
- package/dist/schemas/logger/scraper-events.d.ts +1535 -0
- package/dist/schemas/organization/index.d.ts +7 -7
- package/dist/schemas/scraper/exceptions.d.ts +11 -0
- package/dist/schemas/scraper/scrape-payload.d.ts +372 -102
- package/dist/schemas/usage-event/index.d.ts +1 -1
- package/package.json +1 -1
package/dist/bundle.cjs.js
CHANGED
|
@@ -66,274 +66,276 @@ const invoiceStatusNames = {
|
|
|
66
66
|
};
|
|
67
67
|
|
|
68
68
|
const JOB_FILTER_OPTIONS = {
|
|
69
|
-
REGIONS: [
|
|
69
|
+
REGIONS: ['Worldwide', 'USOnly', 'UKOnly'],
|
|
70
70
|
PROJECT_DURATION: [
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
71
|
+
'Less than 1 month',
|
|
72
|
+
'1 to 3 months',
|
|
73
|
+
'3 to 6 months',
|
|
74
|
+
'More than 6 months',
|
|
75
|
+
'Unspecified',
|
|
76
76
|
],
|
|
77
77
|
ENGAGEMENT_TYPE: [
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
78
|
+
'Less than 30 hrs/week',
|
|
79
|
+
'More than 30 hrs/week',
|
|
80
|
+
'Unspecified',
|
|
81
81
|
],
|
|
82
|
-
VENDOR_TYPE: [
|
|
83
|
-
PAYMENT_TYPE: [
|
|
84
|
-
TALENT_TYPE: [
|
|
82
|
+
VENDOR_TYPE: ['Independent', 'Agency', 'Unspecified'],
|
|
83
|
+
PAYMENT_TYPE: ['Unspecified', 'Hourly', 'Fixed-price'],
|
|
84
|
+
TALENT_TYPE: ['Agency', 'Independent', 'Unspecified'],
|
|
85
85
|
ENGLISH_LEVELS: [
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
86
|
+
'Fluent',
|
|
87
|
+
'Conversational',
|
|
88
|
+
'Native or Bilingual',
|
|
89
|
+
'Unspecified',
|
|
90
90
|
],
|
|
91
|
-
EXPERIENCE_LEVELS: [
|
|
91
|
+
EXPERIENCE_LEVELS: ['Entry level', 'Intermediate', 'Expert'],
|
|
92
92
|
REQUIRED_EARNINGS: [100, 1000, 10000],
|
|
93
|
-
REQUIRED_JSS: [
|
|
93
|
+
REQUIRED_JSS: ['>80%', '>90%', '100%', 'RT'],
|
|
94
94
|
HIERARCHICAL_CATEGORIES: [
|
|
95
95
|
{
|
|
96
|
-
label:
|
|
97
|
-
value:
|
|
96
|
+
label: 'Accounting & Consulting',
|
|
97
|
+
value: 'accounting-consulting',
|
|
98
98
|
children: [
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
99
|
+
'Accounting & Bookkeeping',
|
|
100
|
+
'Financial Planning',
|
|
101
|
+
'Management Consulting & Analysis',
|
|
102
|
+
'Other - Accounting & Consulting',
|
|
103
|
+
'Personal & Professional Coaching',
|
|
104
|
+
'Recruiting & Human Resources',
|
|
105
105
|
],
|
|
106
106
|
},
|
|
107
107
|
{
|
|
108
|
-
label:
|
|
109
|
-
value:
|
|
108
|
+
label: 'Admin Support',
|
|
109
|
+
value: 'admin-support',
|
|
110
110
|
children: [
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
111
|
+
'Data Entry & Transcription Services',
|
|
112
|
+
'Market Research & Product Reviews',
|
|
113
|
+
'Project Management',
|
|
114
|
+
'Virtual Assistance',
|
|
115
115
|
],
|
|
116
116
|
},
|
|
117
117
|
{
|
|
118
|
-
label:
|
|
119
|
-
value:
|
|
118
|
+
label: 'Customer Service',
|
|
119
|
+
value: 'customer-service',
|
|
120
120
|
children: [
|
|
121
|
-
|
|
122
|
-
|
|
121
|
+
'Community Management & Tagging',
|
|
122
|
+
'Customer Service & Tech Support',
|
|
123
123
|
],
|
|
124
124
|
},
|
|
125
125
|
{
|
|
126
|
-
label:
|
|
127
|
-
value:
|
|
126
|
+
label: 'Data Science & Analytics',
|
|
127
|
+
value: 'data-science-analytics',
|
|
128
128
|
children: [
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
129
|
+
'AI & Machine Learning',
|
|
130
|
+
'Data Analysis & Testing',
|
|
131
|
+
'Data Extraction/ETL',
|
|
132
|
+
'Data Mining & Management',
|
|
133
133
|
],
|
|
134
134
|
},
|
|
135
135
|
{
|
|
136
|
-
label:
|
|
137
|
-
value:
|
|
136
|
+
label: 'Design & Creative',
|
|
137
|
+
value: 'design-creative',
|
|
138
138
|
children: [
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
139
|
+
'Art & Illustration',
|
|
140
|
+
'Audio & Music Production',
|
|
141
|
+
'Branding & Logo Design',
|
|
142
|
+
'Graphic, Editorial & Presentation Design',
|
|
143
|
+
'NFT, AR/VR & Game Art',
|
|
144
|
+
'Performing Arts',
|
|
145
|
+
'Photography',
|
|
146
|
+
'Product Design',
|
|
147
|
+
'Video & Animation',
|
|
148
148
|
],
|
|
149
149
|
},
|
|
150
150
|
{
|
|
151
|
-
label:
|
|
152
|
-
value:
|
|
151
|
+
label: 'Engineering & Architecture',
|
|
152
|
+
value: 'engineering-architecture',
|
|
153
153
|
children: [
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
154
|
+
'3D Modeling & CAD',
|
|
155
|
+
'Building & Landscape Architecture',
|
|
156
|
+
'Chemical Engineering',
|
|
157
|
+
'Civil & Structural Engineering',
|
|
158
|
+
'Contract Manufacturing',
|
|
159
|
+
'Electrical & Electronic Engineering',
|
|
160
|
+
'Energy & Mechanical Engineering',
|
|
161
161
|
],
|
|
162
162
|
},
|
|
163
163
|
{
|
|
164
|
-
label:
|
|
165
|
-
value:
|
|
164
|
+
label: 'IT & Networking',
|
|
165
|
+
value: 'it-networking',
|
|
166
166
|
children: [
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
167
|
+
'Database Management & Administration',
|
|
168
|
+
'DevOps & Solution Architecture',
|
|
169
|
+
'ERP/CRM Software',
|
|
170
|
+
'Information Security & Compliance',
|
|
171
|
+
'Network & System Administration',
|
|
172
172
|
],
|
|
173
173
|
},
|
|
174
174
|
{
|
|
175
|
-
label:
|
|
176
|
-
value:
|
|
175
|
+
label: 'Legal',
|
|
176
|
+
value: 'legal',
|
|
177
177
|
children: [
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
178
|
+
'Corporate & Contract Law',
|
|
179
|
+
'Finance & Tax Law',
|
|
180
|
+
'International & Immigration Law',
|
|
181
|
+
'Public Law',
|
|
182
182
|
],
|
|
183
183
|
},
|
|
184
184
|
{
|
|
185
|
-
label:
|
|
186
|
-
value:
|
|
185
|
+
label: 'Sales & Marketing',
|
|
186
|
+
value: 'sales-marketing',
|
|
187
187
|
children: [
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
188
|
+
'Digital Marketing',
|
|
189
|
+
'Lead Generation & Telemarketing',
|
|
190
|
+
'Marketing, PR & Brand Strategy',
|
|
191
191
|
],
|
|
192
192
|
},
|
|
193
193
|
{
|
|
194
|
-
label:
|
|
195
|
-
value:
|
|
194
|
+
label: 'Translation',
|
|
195
|
+
value: 'translation',
|
|
196
196
|
children: [
|
|
197
|
-
|
|
198
|
-
|
|
197
|
+
'Language Tutoring & Interpretation',
|
|
198
|
+
'Translation & Localization Services',
|
|
199
199
|
],
|
|
200
200
|
},
|
|
201
201
|
{
|
|
202
|
-
label:
|
|
203
|
-
value:
|
|
202
|
+
label: 'Software Development',
|
|
203
|
+
value: 'software-development',
|
|
204
204
|
children: [
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
205
|
+
'AI Apps & Integration',
|
|
206
|
+
'Blockchain, NFT & Cryptocurrency',
|
|
207
|
+
'Desktop Application Development',
|
|
208
|
+
'Ecommerce Development',
|
|
209
|
+
'Game Design & Development',
|
|
210
|
+
'Mobile Development',
|
|
211
|
+
'Other - Software Development',
|
|
212
|
+
'Product Management & Scrum',
|
|
213
|
+
'QA Testing',
|
|
214
|
+
'Scripts & Utilities',
|
|
215
|
+
'Web & Mobile Design',
|
|
216
|
+
'Web Development',
|
|
217
217
|
],
|
|
218
218
|
},
|
|
219
219
|
{
|
|
220
|
-
label:
|
|
221
|
-
value:
|
|
220
|
+
label: 'Writing',
|
|
221
|
+
value: 'writing',
|
|
222
222
|
children: [
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
223
|
+
'Content Writing',
|
|
224
|
+
'Editing & Proofreading Services',
|
|
225
|
+
'Professional & Business Writing',
|
|
226
|
+
'Sales & Marketing Copywriting',
|
|
227
227
|
],
|
|
228
228
|
},
|
|
229
229
|
],
|
|
230
230
|
CATEGORIES: [
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
231
|
+
'Interior & Trade Show Design',
|
|
232
|
+
'Physical Sciences',
|
|
233
|
+
'Personal & Professional Coaching',
|
|
234
|
+
'Accounting & Bookkeeping',
|
|
235
|
+
'Financial Planning',
|
|
236
|
+
'Recruiting & Human Resources',
|
|
237
|
+
'Management Consulting & Analysis',
|
|
238
|
+
'Other - Accounting & Consulting',
|
|
239
|
+
'Data Entry & Transcription Services',
|
|
240
|
+
'Virtual Assistance',
|
|
241
|
+
'Project Management',
|
|
242
|
+
'Market Research & Product Reviews',
|
|
243
|
+
'Community Management & Tagging',
|
|
244
|
+
'Customer Service & Tech Support',
|
|
245
|
+
'Data Analysis & Testing',
|
|
246
|
+
'Data Extraction/ETL',
|
|
247
|
+
'Data Mining & Management',
|
|
248
|
+
'AI & Machine Learning',
|
|
249
|
+
'Art & Illustration',
|
|
250
|
+
'Audio & Music Production',
|
|
251
|
+
'Branding & Logo Design',
|
|
252
|
+
'NFT, AR/VR & Game Art',
|
|
253
|
+
'Graphic, Editorial & Presentation Design',
|
|
254
|
+
'Performing Arts',
|
|
255
|
+
'Photography',
|
|
256
|
+
'Product Design',
|
|
257
|
+
'Video & Animation',
|
|
258
|
+
'Building & Landscape Architecture',
|
|
259
|
+
'Chemical Engineering',
|
|
260
|
+
'Civil & Structural Engineering',
|
|
261
|
+
'Contract Manufacturing',
|
|
262
|
+
'Electrical & Electronic Engineering',
|
|
263
|
+
'Energy & Mechanical Engineering',
|
|
264
|
+
'3D Modeling & CAD',
|
|
265
|
+
'Database Management & Administration',
|
|
266
|
+
'ERP/CRM Software',
|
|
267
|
+
'Information Security & Compliance',
|
|
268
|
+
'Network & System Administration',
|
|
269
|
+
'DevOps & Solution Architecture',
|
|
270
|
+
'Corporate & Contract Law',
|
|
271
|
+
'International & Immigration Law',
|
|
272
|
+
'Finance & Tax Law',
|
|
273
|
+
'Public Law',
|
|
274
|
+
'Digital Marketing',
|
|
275
|
+
'Lead Generation & Telemarketing',
|
|
276
|
+
'Marketing, PR & Brand Strategy',
|
|
277
|
+
'Language Tutoring & Interpretation',
|
|
278
|
+
'Translation & Localization Services',
|
|
279
|
+
'Blockchain, NFT & Cryptocurrency',
|
|
280
|
+
'AI Apps & Integration',
|
|
281
|
+
'Desktop Application Development',
|
|
282
|
+
'Ecommerce Development',
|
|
283
|
+
'Game Design & Development',
|
|
284
|
+
'Mobile Development',
|
|
285
|
+
'Other - Software Development',
|
|
286
|
+
'Product Management & Scrum',
|
|
287
|
+
'QA Testing',
|
|
288
|
+
'Scripts & Utilities',
|
|
289
|
+
'Web & Mobile Design',
|
|
290
|
+
'Web Development',
|
|
291
|
+
'Sales & Marketing Copywriting',
|
|
292
|
+
'Content Writing',
|
|
293
|
+
'Editing & Proofreading Services',
|
|
294
|
+
'Professional & Business Writing',
|
|
293
295
|
],
|
|
294
296
|
CLIENT_INDUSTRY: [
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
297
|
+
'Aerospace',
|
|
298
|
+
'Agriculture & Forestry',
|
|
299
|
+
'Art & Design',
|
|
300
|
+
'Automotive',
|
|
301
|
+
'Aviation',
|
|
302
|
+
'Education',
|
|
303
|
+
'Energy & Utilities',
|
|
304
|
+
'Engineering & Architecture',
|
|
305
|
+
'Fashion & Beauty',
|
|
306
|
+
'Finance & Accounting',
|
|
307
|
+
'Food & Beverage',
|
|
308
|
+
'Government & Public Sector',
|
|
309
|
+
'Health & Fitness',
|
|
310
|
+
'HR & Business Services',
|
|
311
|
+
'Legal',
|
|
312
|
+
'Manufacturing & Construction',
|
|
313
|
+
'Media & Entertainment',
|
|
314
|
+
'Military & Defense',
|
|
315
|
+
'Mining',
|
|
316
|
+
'Real Estate',
|
|
317
|
+
'Retail & Consumer Goods',
|
|
318
|
+
'Sales & Marketing',
|
|
319
|
+
'Science & Medicine',
|
|
320
|
+
'Sports & Recreation',
|
|
321
|
+
'Supply Chain & Logistics',
|
|
322
|
+
'Tech & IT',
|
|
323
|
+
'Transportation & Warehousing',
|
|
324
|
+
'Travel & Hospitality',
|
|
323
325
|
],
|
|
324
326
|
CLIENT_SIZE: [
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
327
|
+
'Individual client',
|
|
328
|
+
'Small company (2-9 people)',
|
|
329
|
+
'Mid-sized company (10-99 people)',
|
|
330
|
+
'Large company (100-1,000 people)',
|
|
331
|
+
'Large company (1,000+ people)',
|
|
332
|
+
'Unspecified',
|
|
331
333
|
],
|
|
332
334
|
};
|
|
333
335
|
const regionNames = {
|
|
334
|
-
Worldwide:
|
|
335
|
-
USOnly:
|
|
336
|
-
UKOnly:
|
|
336
|
+
Worldwide: 'Worldwide',
|
|
337
|
+
USOnly: 'US Only',
|
|
338
|
+
UKOnly: 'UK Only',
|
|
337
339
|
};
|
|
338
340
|
|
|
339
341
|
const jobStatusOrder = [
|
|
@@ -11094,16 +11096,16 @@ const clientSizeEnum = z.enum(JOB_FILTER_OPTIONS.CLIENT_SIZE);
|
|
|
11094
11096
|
const talentTypeEnum = z.enum(JOB_FILTER_OPTIONS.TALENT_TYPE);
|
|
11095
11097
|
const englishLevelEnum = z.enum(JOB_FILTER_OPTIONS.ENGLISH_LEVELS);
|
|
11096
11098
|
const experienceLevelEnum = z.enum(JOB_FILTER_OPTIONS.EXPERIENCE_LEVELS);
|
|
11097
|
-
const regionEnum = z.enum([
|
|
11099
|
+
const regionEnum = z.enum(['all', 'Worldwide', 'UKOnly', 'USOnly']);
|
|
11098
11100
|
const requiredEarningsEnum = z.union([
|
|
11099
11101
|
z.literal(100),
|
|
11100
11102
|
z.literal(1000),
|
|
11101
11103
|
z.literal(10000),
|
|
11102
11104
|
]);
|
|
11103
11105
|
const requiredJSSEnum = z.enum(JOB_FILTER_OPTIONS.REQUIRED_JSS);
|
|
11104
|
-
const isPaymentVerifiedEnum = z.enum([
|
|
11105
|
-
const isPhoneVerifiedEnum = z.enum([
|
|
11106
|
-
const hasQuestionsEnum = z.enum([
|
|
11106
|
+
const isPaymentVerifiedEnum = z.enum(['all', 'true', 'false']);
|
|
11107
|
+
const isPhoneVerifiedEnum = z.enum(['all', 'true', 'false']);
|
|
11108
|
+
const hasQuestionsEnum = z.enum(['all', 'yes', 'no']);
|
|
11107
11109
|
// Main job filters schema
|
|
11108
11110
|
const jobFiltersSchema = z.object({
|
|
11109
11111
|
keywords: z
|
|
@@ -11112,7 +11114,7 @@ const jobFiltersSchema = z.object({
|
|
|
11112
11114
|
excludes: z.string().nullable(),
|
|
11113
11115
|
})
|
|
11114
11116
|
.nullable(),
|
|
11115
|
-
isFeatured: z.enum([
|
|
11117
|
+
isFeatured: z.enum(['all', 'true', 'false']).nullable(),
|
|
11116
11118
|
regions: z.array(regionEnum).nullable(),
|
|
11117
11119
|
categories: z
|
|
11118
11120
|
.object({
|
|
@@ -11139,9 +11141,9 @@ const jobFiltersSchema = z.object({
|
|
|
11139
11141
|
engagementType: z.array(engagementTypeEnum).nullable(),
|
|
11140
11142
|
clientInfo: z
|
|
11141
11143
|
.object({
|
|
11142
|
-
isPaymentVerified: isPaymentVerifiedEnum.default(
|
|
11143
|
-
isPhoneVerified: isPhoneVerifiedEnum.default(
|
|
11144
|
-
enterpriseClient: z.enum([
|
|
11144
|
+
isPaymentVerified: isPaymentVerifiedEnum.default('all'),
|
|
11145
|
+
isPhoneVerified: isPhoneVerifiedEnum.default('all'),
|
|
11146
|
+
enterpriseClient: z.enum(['all', 'true', 'false']).default('all'),
|
|
11145
11147
|
clientLocationIncludes: z.array(z.string()).nullable(),
|
|
11146
11148
|
clientLocationExcludes: z.array(z.string()).nullable(),
|
|
11147
11149
|
minReviewScore: z.number().min(0).max(5).nullable(),
|
|
@@ -11982,7 +11984,7 @@ const hourlyBudgetSchema$1 = objectType({
|
|
|
11982
11984
|
min: numberType(),
|
|
11983
11985
|
max: numberType(),
|
|
11984
11986
|
});
|
|
11985
|
-
const
|
|
11987
|
+
const jobListingSchema = objectType({
|
|
11986
11988
|
uid: stringType(),
|
|
11987
11989
|
ciphertext: stringType(),
|
|
11988
11990
|
title: stringType(),
|
|
@@ -12022,7 +12024,7 @@ const jobsSearchSchema = objectType({
|
|
|
12022
12024
|
loaded: booleanType(),
|
|
12023
12025
|
failed: booleanType(),
|
|
12024
12026
|
}),
|
|
12025
|
-
jobs: arrayType(
|
|
12027
|
+
jobs: arrayType(jobListingSchema),
|
|
12026
12028
|
paging: pagingSchema,
|
|
12027
12029
|
abortController: anyType().nullable(),
|
|
12028
12030
|
currentPage: numberType(),
|
|
@@ -12034,90 +12036,6 @@ const nuxtStateJobsSearchSchema = objectType({
|
|
|
12034
12036
|
jobsSearch: jobsSearchSchema,
|
|
12035
12037
|
}),
|
|
12036
12038
|
});
|
|
12037
|
-
// import { any, array, boolean, number, object, record, string, z } from 'zod';
|
|
12038
|
-
// import { Region } from '../shared';
|
|
12039
|
-
// // This schema is now more lenient to handle null values for visitor data.
|
|
12040
|
-
// const clientSchema = object({
|
|
12041
|
-
// location: object({
|
|
12042
|
-
// country: string().nullable(),
|
|
12043
|
-
// }),
|
|
12044
|
-
// isPaymentVerified: boolean(),
|
|
12045
|
-
// totalSpent: string().nullable(),
|
|
12046
|
-
// totalReviews: number().nullable(), // Changed from number()
|
|
12047
|
-
// totalFeedback: number().nullable(), // Changed from number()
|
|
12048
|
-
// hasFinancialPrivacy: boolean().nullable(), // Changed from boolean()
|
|
12049
|
-
// });
|
|
12050
|
-
// const attrsSchema = object({
|
|
12051
|
-
// uid: string(),
|
|
12052
|
-
// parentSkillUid: string().nullable(),
|
|
12053
|
-
// prefLabel: string(),
|
|
12054
|
-
// prettyName: string(),
|
|
12055
|
-
// freeText: any().nullable(),
|
|
12056
|
-
// highlighted: boolean(),
|
|
12057
|
-
// });
|
|
12058
|
-
// const amountSchema = object({
|
|
12059
|
-
// amount: number(),
|
|
12060
|
-
// });
|
|
12061
|
-
// const hourlyBudgetSchema = object({
|
|
12062
|
-
// min: number(),
|
|
12063
|
-
// max: number(),
|
|
12064
|
-
// });
|
|
12065
|
-
// export const feedJobSchemaV2 = object({
|
|
12066
|
-
// uid: string(),
|
|
12067
|
-
// ciphertext: string(),
|
|
12068
|
-
// title: string(),
|
|
12069
|
-
// description: string(),
|
|
12070
|
-
// createdOn: string(),
|
|
12071
|
-
// publishedOn: string(),
|
|
12072
|
-
// renewedOn: string().nullable(),
|
|
12073
|
-
// type: number(),
|
|
12074
|
-
// durationLabel: string().nullable(),
|
|
12075
|
-
// engagement: string().nullable(),
|
|
12076
|
-
// amount: amountSchema,
|
|
12077
|
-
// connectPrice: number().nullable(),
|
|
12078
|
-
// client: clientSchema, // Uses the updated clientSchema above
|
|
12079
|
-
// clientRelation: any().nullable(),
|
|
12080
|
-
// freelancersToHire: number().nullable(), // Changed from number()
|
|
12081
|
-
// relevanceEncoded: string(),
|
|
12082
|
-
// enterpriseJob: boolean().nullable(), // Changed from boolean()
|
|
12083
|
-
// tierText: z.string().nullable(),
|
|
12084
|
-
// isApplied: boolean(),
|
|
12085
|
-
// proposalsTier: string().nullable(),
|
|
12086
|
-
// premium: boolean(),
|
|
12087
|
-
// attrs: array(attrsSchema),
|
|
12088
|
-
// hourlyBudget: hourlyBudgetSchema,
|
|
12089
|
-
// weeklyBudget: amountSchema,
|
|
12090
|
-
// isSTSVectorSearchResult: boolean().optional(), // Changed from boolean()
|
|
12091
|
-
// });
|
|
12092
|
-
// const pagingSchema = object({
|
|
12093
|
-
// total: number(),
|
|
12094
|
-
// offset: number(),
|
|
12095
|
-
// count: number(),
|
|
12096
|
-
// });
|
|
12097
|
-
// const jobsSearchSchema = object({
|
|
12098
|
-
// status: object({
|
|
12099
|
-
// loading: boolean(),
|
|
12100
|
-
// loaded: boolean(),
|
|
12101
|
-
// failed: boolean(),
|
|
12102
|
-
// }),
|
|
12103
|
-
// jobs: array(feedJobSchemaV2),
|
|
12104
|
-
// paging: pagingSchema,
|
|
12105
|
-
// abortController: any().nullable(),
|
|
12106
|
-
// currentPage: number(),
|
|
12107
|
-
// jobsPerPage: number(),
|
|
12108
|
-
// searchQueryCache: record(string()),
|
|
12109
|
-
// });
|
|
12110
|
-
// export const nuxtStateJobsSearchSchema = object({
|
|
12111
|
-
// state: object({
|
|
12112
|
-
// jobsSearch: jobsSearchSchema,
|
|
12113
|
-
// }),
|
|
12114
|
-
// });
|
|
12115
|
-
// export interface NuxtStateJobsSearch
|
|
12116
|
-
// extends z.infer<typeof nuxtStateJobsSearchSchema> {}
|
|
12117
|
-
// export interface FeedJobV2 extends z.infer<typeof feedJobSchemaV2> {
|
|
12118
|
-
// jobUrl: string;
|
|
12119
|
-
// region: Region;
|
|
12120
|
-
// }
|
|
12121
12039
|
|
|
12122
12040
|
// Field mapping from feed-job to job-details for the missing fields that were added
|
|
12123
12041
|
const FEED_JOB_TO_JOB_DETAILS_FIELD_MAPPING = {
|
|
@@ -12816,6 +12734,9 @@ const agencyBidProposalDataSchema = bidPayloadProposalDataSchema.extend({
|
|
|
12816
12734
|
specializedProfile: z.string().nullable(),
|
|
12817
12735
|
});
|
|
12818
12736
|
const bidPayloadSchema = z.object({
|
|
12737
|
+
organizationId: z.string(),
|
|
12738
|
+
campaignId: z.string(),
|
|
12739
|
+
lead: leadSchema,
|
|
12819
12740
|
jobUrl: z.string(),
|
|
12820
12741
|
username: z.string(),
|
|
12821
12742
|
password: z.string(),
|
|
@@ -13025,6 +12946,14 @@ function proposalFormWarningAlertException(message) {
|
|
|
13025
12946
|
return new ProposalFormWarningAlertException(message);
|
|
13026
12947
|
}
|
|
13027
12948
|
|
|
12949
|
+
class ProposalGenerationFailedException extends Error {
|
|
12950
|
+
code = 'PROPOSAL_GENERATION_FAILED_EXCEPTION';
|
|
12951
|
+
constructor(message, organizationId, campaignId, leadId) {
|
|
12952
|
+
super(`Proposal generation failed for lead ${leadId} in campaign ${campaignId} in organization ${organizationId}\n\n${message}`);
|
|
12953
|
+
}
|
|
12954
|
+
}
|
|
12955
|
+
const proposalGenerationFailed = (message, leadId, campaignId, organizationId) => new ProposalGenerationFailedException(message, organizationId, campaignId, leadId);
|
|
12956
|
+
|
|
13028
12957
|
class ProposalSubmitFailedException extends Error {
|
|
13029
12958
|
code = 'PROPOSAL_SUBMIT_FAILED';
|
|
13030
12959
|
constructor(message) {
|
|
@@ -13109,250 +13038,10 @@ class WaitForFunctionTimeoutError extends Error {
|
|
|
13109
13038
|
}
|
|
13110
13039
|
const waitForFunctionTimeoutError = (fn, timeout) => new WaitForFunctionTimeoutError(fn, timeout);
|
|
13111
13040
|
|
|
13112
|
-
const
|
|
13113
|
-
coverLetter: z.string(),
|
|
13114
|
-
questionAnswerPairs: questionAnswerPairSchema.array(),
|
|
13115
|
-
});
|
|
13116
|
-
|
|
13117
|
-
const LogEventTypeEnum = z.enum([
|
|
13118
|
-
// Scraper Events
|
|
13119
|
-
'scraperStarted',
|
|
13120
|
-
'scraperCompleted',
|
|
13121
|
-
'scrapeJobStarted',
|
|
13122
|
-
'jobScraped',
|
|
13123
|
-
'jobScrapeFailed',
|
|
13124
|
-
'scrapeJobDetailsStarted',
|
|
13125
|
-
'scrapeJobDetailsCompleted',
|
|
13126
|
-
'scrapeJobDetailsFailed',
|
|
13127
|
-
'jobsIndexed',
|
|
13128
|
-
'jobDuplicateSkipped',
|
|
13129
|
-
'scraperFailed',
|
|
13130
|
-
'jobActivityScraped',
|
|
13131
|
-
'jobActivityScrapeFailed',
|
|
13132
|
-
'leadStatusCheckFailed',
|
|
13133
|
-
'leadStatusUpdated',
|
|
13134
|
-
// Feed Scraper Events
|
|
13135
|
-
'feedScrapeStarted',
|
|
13136
|
-
'feedScrapeCompleted',
|
|
13137
|
-
'feedScrapeFailed',
|
|
13138
|
-
'jobListingScraped',
|
|
13139
|
-
// Job Sync & Campaign Matching
|
|
13140
|
-
'jobSyncPublished',
|
|
13141
|
-
'jobSyncReceived',
|
|
13142
|
-
'leadsCreatedAndSynced',
|
|
13143
|
-
// Suitability Events
|
|
13144
|
-
'suitabilityPending',
|
|
13145
|
-
'suitabilityProcessing',
|
|
13041
|
+
const usageEventTypeEnum = z.enum([
|
|
13146
13042
|
'suitabilityComplete',
|
|
13147
|
-
'suitabilityFailed',
|
|
13148
|
-
'manualSuitabilityAnalyzed',
|
|
13149
|
-
// Proposal Events
|
|
13150
|
-
'proposalProcessing',
|
|
13151
13043
|
'proposalComplete',
|
|
13152
|
-
'proposalFailed',
|
|
13153
|
-
'manualProposalGenerated',
|
|
13154
|
-
// Bidding Events
|
|
13155
|
-
'biddingProcessing',
|
|
13156
13044
|
'biddingComplete',
|
|
13157
|
-
'biddingFailed',
|
|
13158
|
-
'biddingSkipped',
|
|
13159
|
-
'biddingPending',
|
|
13160
|
-
'biddingRetry',
|
|
13161
|
-
'biddingInsufficientConnects',
|
|
13162
|
-
'biddingWarningAlert',
|
|
13163
|
-
'biddingRejected',
|
|
13164
|
-
'biddingRejectedWithFeedback',
|
|
13165
|
-
'checkSuitableLeadFeedbackStatus',
|
|
13166
|
-
'biddingApproved',
|
|
13167
|
-
// System/Generic Events
|
|
13168
|
-
'errorLogged',
|
|
13169
|
-
'cloudTaskRetry',
|
|
13170
|
-
'manualLeadEdited',
|
|
13171
|
-
'leadArchived',
|
|
13172
|
-
'auditTrailLogged',
|
|
13173
|
-
// Account Events
|
|
13174
|
-
'scraperAccountError',
|
|
13175
|
-
]);
|
|
13176
|
-
const logEventSchema = z.object({
|
|
13177
|
-
// The type of event (use a z.enum if possible)
|
|
13178
|
-
type: LogEventTypeEnum, // e.g. "suitability-failed", "proposal-generated"
|
|
13179
|
-
// The service that triggered the event
|
|
13180
|
-
source: z.string(), // e.g. "lancer-agents", "lancer-bidding"
|
|
13181
|
-
// Optional: Allow logging non-lead events in the future
|
|
13182
|
-
resourceType: z.string().default('lead'), // e.g. "lead", "campaign", "user"
|
|
13183
|
-
// ID of the resource (primary entity affected)
|
|
13184
|
-
resourceId: z.string().nullable(), // fallback if leadId is not applicable
|
|
13185
|
-
// Lead-level metadata
|
|
13186
|
-
organizationId: z.string().nullable(),
|
|
13187
|
-
userId: z.string().nullable(),
|
|
13188
|
-
campaignId: z.string().nullable(),
|
|
13189
|
-
leadId: z.string().nullable(),
|
|
13190
|
-
// Reason or message for the event
|
|
13191
|
-
reason: z.string().nullable(),
|
|
13192
|
-
// Generic metadata (stacktrace, score, raw request, etc.)
|
|
13193
|
-
metadata: z.record(z.unknown()).nullable(),
|
|
13194
|
-
// Optional timestamp override
|
|
13195
|
-
timestamp: z.number(),
|
|
13196
|
-
});
|
|
13197
|
-
const listingScrapedEventMetadata = objectType({
|
|
13198
|
-
listing: feedJobSchemaV2,
|
|
13199
|
-
region: regionSchema,
|
|
13200
|
-
});
|
|
13201
|
-
const scrapeFeedEventMetadata = objectType({
|
|
13202
|
-
region: regionSchema,
|
|
13203
|
-
error: stringType(),
|
|
13204
|
-
});
|
|
13205
|
-
const scrapeFeedJobsDetailsStartedEventMetadata = objectType({
|
|
13206
|
-
region: regionSchema,
|
|
13207
|
-
accounts: z.array(z.object({
|
|
13208
|
-
id: stringType(),
|
|
13209
|
-
email: stringType(),
|
|
13210
|
-
})),
|
|
13211
|
-
feedJobsCount: numberType(),
|
|
13212
|
-
chunksSize: numberType(),
|
|
13213
|
-
});
|
|
13214
|
-
const scrapeFeedJobsDetailsCompletedEventMetadata = objectType({
|
|
13215
|
-
region: regionSchema,
|
|
13216
|
-
accountId: stringType(),
|
|
13217
|
-
accountEmail: stringType(),
|
|
13218
|
-
feedJobsCount: numberType(),
|
|
13219
|
-
duration: stringType(),
|
|
13220
|
-
});
|
|
13221
|
-
const scrapeFeedJobsDetailsFailedEventMetadata = objectType({
|
|
13222
|
-
region: regionSchema,
|
|
13223
|
-
accountId: stringType(),
|
|
13224
|
-
accountEmail: stringType(),
|
|
13225
|
-
error: stringType(),
|
|
13226
|
-
duration: stringType(),
|
|
13227
|
-
});
|
|
13228
|
-
const scrapeJobStartedEventMetadata = objectType({
|
|
13229
|
-
listing: feedJobSchemaV2,
|
|
13230
|
-
region: regionSchema,
|
|
13231
|
-
accountId: stringType(),
|
|
13232
|
-
accountEmail: stringType(),
|
|
13233
|
-
});
|
|
13234
|
-
const scrapeJobFailedEventMetadata = objectType({
|
|
13235
|
-
listing: feedJobSchemaV2,
|
|
13236
|
-
region: regionSchema,
|
|
13237
|
-
error: stringType(),
|
|
13238
|
-
});
|
|
13239
|
-
const jobActivityScrapedEventMetadata = objectType({
|
|
13240
|
-
activity: jobActivitySchema,
|
|
13241
|
-
region: regionSchema,
|
|
13242
|
-
offsetHour: jobActivityOffsetHourSchema,
|
|
13243
|
-
scrapedAt: numberType(),
|
|
13244
|
-
});
|
|
13245
|
-
const jobActivityScrapeFailedEventMetadata = objectType({
|
|
13246
|
-
listing: feedJobSchemaV2,
|
|
13247
|
-
region: regionSchema,
|
|
13248
|
-
offsetHour: jobActivityOffsetHourSchema,
|
|
13249
|
-
});
|
|
13250
|
-
const feedScrapeStartedEventMetadata = objectType({
|
|
13251
|
-
id: stringType(),
|
|
13252
|
-
startTime: numberType(),
|
|
13253
|
-
region: regionSchema,
|
|
13254
|
-
});
|
|
13255
|
-
const feedScrapeCompletedEventMetadata = objectType({
|
|
13256
|
-
id: stringType(),
|
|
13257
|
-
endTime: numberType(),
|
|
13258
|
-
listingCount: numberType(),
|
|
13259
|
-
duration: stringType(),
|
|
13260
|
-
accountEmail: stringType(),
|
|
13261
|
-
region: regionSchema,
|
|
13262
|
-
durationMillis: numberType().nullish(),
|
|
13263
|
-
});
|
|
13264
|
-
const biddingCompletedEventMetadata = objectType({
|
|
13265
|
-
biddingAmount: numberType(),
|
|
13266
|
-
boosted: booleanType(),
|
|
13267
|
-
boostingAmount: numberType(),
|
|
13268
|
-
});
|
|
13269
|
-
const biddingFailedEventMetadata = objectType({
|
|
13270
|
-
error: z.any(),
|
|
13271
|
-
});
|
|
13272
|
-
const userAccountBiddingExceptionEventMetadata = objectType({
|
|
13273
|
-
errorType: z.enum(['insufficientConnects', 'proposalFormWarningAlert']),
|
|
13274
|
-
context: z.string().optional(),
|
|
13275
|
-
});
|
|
13276
|
-
const lancerBiddingExceptionEventMetadata = objectType({
|
|
13277
|
-
errorType: z.string(),
|
|
13278
|
-
errorMessage: z.string(),
|
|
13279
|
-
context: z.string().optional(),
|
|
13280
|
-
});
|
|
13281
|
-
const leadStatusEventMetadata = objectType({
|
|
13282
|
-
campaignId: stringType(),
|
|
13283
|
-
organizationId: stringType(),
|
|
13284
|
-
leadId: stringType(),
|
|
13285
|
-
userId: stringType(),
|
|
13286
|
-
metadata: z
|
|
13287
|
-
.object({
|
|
13288
|
-
status: leadStatusSchema,
|
|
13289
|
-
proposalId: stringType().nullable(),
|
|
13290
|
-
})
|
|
13291
|
-
.optional(),
|
|
13292
|
-
reason: z.string().optional(),
|
|
13293
|
-
});
|
|
13294
|
-
const scraperAccountErrorEventMetadata = objectType({
|
|
13295
|
-
accountId: stringType(),
|
|
13296
|
-
accountEmail: stringType(),
|
|
13297
|
-
errorCode: stringType(),
|
|
13298
|
-
errorMessage: stringType(),
|
|
13299
|
-
});
|
|
13300
|
-
const biddingRejectedWithFeedbackEventMetadata = objectType({
|
|
13301
|
-
feedback: z.string(),
|
|
13302
|
-
});
|
|
13303
|
-
const suitabilityPendingEventMetadataSchema = objectType({
|
|
13304
|
-
jobId: z.string(),
|
|
13305
|
-
jobUrl: z.string(),
|
|
13306
|
-
title: z.string(),
|
|
13307
|
-
timestamp: z.number(),
|
|
13308
|
-
applyToLeads: z.array(z.object({ leadId: z.string(), campaignId: z.string() })),
|
|
13309
|
-
});
|
|
13310
|
-
const suitabilityCompleteEventMetadataSchema = objectType({
|
|
13311
|
-
suitabilityRating: z.number(),
|
|
13312
|
-
suitabilityReason: z.string(),
|
|
13313
|
-
agentStatus: z.string().optional(),
|
|
13314
|
-
model: z.string().optional(),
|
|
13315
|
-
provider: z.string().optional(),
|
|
13316
|
-
promptTokens: z.number().optional(),
|
|
13317
|
-
completionTokens: z.number().optional(),
|
|
13318
|
-
messages: z
|
|
13319
|
-
.array(objectType({
|
|
13320
|
-
role: z.string(),
|
|
13321
|
-
content: z.string(),
|
|
13322
|
-
}))
|
|
13323
|
-
.optional(),
|
|
13324
|
-
jobId: z.string(),
|
|
13325
|
-
applyToLeads: z.array(z.object({ leadId: z.string(), campaignId: z.string() })),
|
|
13326
|
-
});
|
|
13327
|
-
const suitabilityFailedEventMetadataSchema = objectType({
|
|
13328
|
-
agentStatus: z.string(),
|
|
13329
|
-
reason: z.string(),
|
|
13330
|
-
});
|
|
13331
|
-
const proposalCompleteEventMetadataSchema = objectType({
|
|
13332
|
-
proposal: proposalSchema,
|
|
13333
|
-
model: z.string().optional(),
|
|
13334
|
-
provider: z.string().optional(),
|
|
13335
|
-
promptTokens: z.number().optional(),
|
|
13336
|
-
completionTokens: z.number().optional(),
|
|
13337
|
-
messages: z
|
|
13338
|
-
.array(objectType({
|
|
13339
|
-
role: z.string(),
|
|
13340
|
-
content: z.string(),
|
|
13341
|
-
}))
|
|
13342
|
-
.optional(),
|
|
13343
|
-
jobId: z.string(),
|
|
13344
|
-
isOverallHighestPriorityCampaign: z.boolean(),
|
|
13345
|
-
applyToLeads: z.array(z.object({ leadId: z.string(), campaignId: z.string() })),
|
|
13346
|
-
});
|
|
13347
|
-
const eventLoggerPayloadSchema = unionType([
|
|
13348
|
-
logEventSchema,
|
|
13349
|
-
arrayType(logEventSchema),
|
|
13350
|
-
]);
|
|
13351
|
-
|
|
13352
|
-
const usageEventTypeEnum = LogEventTypeEnum.extract([
|
|
13353
|
-
"suitabilityComplete",
|
|
13354
|
-
"proposalComplete",
|
|
13355
|
-
"biddingComplete",
|
|
13356
13045
|
]);
|
|
13357
13046
|
const usageEventMetadataSchema = objectType({
|
|
13358
13047
|
campaignId: stringType().nullable(),
|
|
@@ -13438,8 +13127,8 @@ const onboardingProgressSchema = z.object({
|
|
|
13438
13127
|
startCampaign: z.boolean(),
|
|
13439
13128
|
});
|
|
13440
13129
|
|
|
13441
|
-
const organizationTypeSchema = z.enum([
|
|
13442
|
-
const organizationTierEnum = z.enum([
|
|
13130
|
+
const organizationTypeSchema = z.enum(['agency', 'freelancer']);
|
|
13131
|
+
const organizationTierEnum = z.enum(['free', 'premium']);
|
|
13443
13132
|
const limitsSchema = objectType({
|
|
13444
13133
|
monthlyCredits: numberType(),
|
|
13445
13134
|
usedCredits: numberType(),
|
|
@@ -13467,7 +13156,7 @@ const caseStudySchema = objectType({
|
|
|
13467
13156
|
description: stringType(),
|
|
13468
13157
|
});
|
|
13469
13158
|
z.object({
|
|
13470
|
-
type: z.enum([
|
|
13159
|
+
type: z.enum(['freelancer', 'agency']),
|
|
13471
13160
|
name: z.string(),
|
|
13472
13161
|
summary: z.string(),
|
|
13473
13162
|
coreServices: z.string(),
|
|
@@ -13487,10 +13176,10 @@ const createOrganizationSchema = organizationSchema.pick({
|
|
|
13487
13176
|
name: true,
|
|
13488
13177
|
type: true,
|
|
13489
13178
|
});
|
|
13490
|
-
const trackUsageEventTypeEnum =
|
|
13491
|
-
|
|
13492
|
-
|
|
13493
|
-
|
|
13179
|
+
const trackUsageEventTypeEnum = z.enum([
|
|
13180
|
+
'suitabilityComplete',
|
|
13181
|
+
'proposalComplete',
|
|
13182
|
+
'biddingComplete',
|
|
13494
13183
|
]);
|
|
13495
13184
|
const trackUsagePayloadSchema = objectType({
|
|
13496
13185
|
event: usageEventTypeEnum,
|
|
@@ -13521,8 +13210,8 @@ const organizationSettingsSchema = objectType({
|
|
|
13521
13210
|
aiConfig: aiConfigSchema,
|
|
13522
13211
|
});
|
|
13523
13212
|
const subscribePayloadSchema = objectType({
|
|
13524
|
-
planId: stringType().min(1,
|
|
13525
|
-
paymentMethodId: stringType().min(1,
|
|
13213
|
+
planId: stringType().min(1, 'Plan id is required.'),
|
|
13214
|
+
paymentMethodId: stringType().min(1, 'Payment method is required.'),
|
|
13526
13215
|
toltReferral: stringType().optional(),
|
|
13527
13216
|
couponCode: stringType().nullish(),
|
|
13528
13217
|
});
|
|
@@ -13859,7 +13548,35 @@ const invoiceSchema = objectType({
|
|
|
13859
13548
|
updatedAt: numberType(),
|
|
13860
13549
|
});
|
|
13861
13550
|
|
|
13862
|
-
const
|
|
13551
|
+
const proposalSchema = z.object({
|
|
13552
|
+
coverLetter: z.string(),
|
|
13553
|
+
questionAnswerPairs: questionAnswerPairSchema.array(),
|
|
13554
|
+
});
|
|
13555
|
+
|
|
13556
|
+
const agentGenerateProposalRequestSchema = z.object({
|
|
13557
|
+
userId: z.string().nullable(),
|
|
13558
|
+
organizationId: z.string(),
|
|
13559
|
+
campaignId: z.string(),
|
|
13560
|
+
job: z.object({
|
|
13561
|
+
id: z.string(),
|
|
13562
|
+
title: z.string(),
|
|
13563
|
+
description: z.string(),
|
|
13564
|
+
questions: z.array(z.string()),
|
|
13565
|
+
clientCountry: z.string(),
|
|
13566
|
+
}),
|
|
13567
|
+
isOverallHighestPriorityCampaign: z.boolean().optional(),
|
|
13568
|
+
applyToLeads: z
|
|
13569
|
+
.array(z.object({ leadId: z.string(), campaignId: z.string() }))
|
|
13570
|
+
.optional(),
|
|
13571
|
+
});
|
|
13572
|
+
const agentGenerateProposalResponseSchema = z.object({
|
|
13573
|
+
coverLetter: z.string(),
|
|
13574
|
+
questionAnswerPairs: z.array(z.object({
|
|
13575
|
+
question: z.string(),
|
|
13576
|
+
answer: z.string(),
|
|
13577
|
+
})),
|
|
13578
|
+
});
|
|
13579
|
+
const agentCalculateSuitabilityRequestSchema = z.object({
|
|
13863
13580
|
userId: z.string().nullable(),
|
|
13864
13581
|
organizationId: z.string(),
|
|
13865
13582
|
campaignId: z.string(),
|
|
@@ -13885,6 +13602,247 @@ const agentTaskResponseSchema = z.object({
|
|
|
13885
13602
|
completionTokens: z.number(),
|
|
13886
13603
|
});
|
|
13887
13604
|
|
|
13605
|
+
const LogEventTypeEnum = z.enum([
|
|
13606
|
+
// Lead Status Events
|
|
13607
|
+
'leadStatusCheckFailed',
|
|
13608
|
+
'leadStatusUpdated',
|
|
13609
|
+
// Job Sync & Campaign Matching
|
|
13610
|
+
'jobSyncPublished',
|
|
13611
|
+
'jobSyncReceived',
|
|
13612
|
+
'jobsIndexed',
|
|
13613
|
+
'leadsCreatedAndSynced',
|
|
13614
|
+
'jobDuplicateSkipped',
|
|
13615
|
+
// Suitability Events
|
|
13616
|
+
'suitabilityPending',
|
|
13617
|
+
'suitabilityProcessing',
|
|
13618
|
+
'suitabilityComplete',
|
|
13619
|
+
'suitabilityFailed',
|
|
13620
|
+
'manualSuitabilityAnalyzed',
|
|
13621
|
+
// Proposal Events
|
|
13622
|
+
'proposalProcessing',
|
|
13623
|
+
'proposalComplete',
|
|
13624
|
+
'proposalFailed',
|
|
13625
|
+
'manualProposalGenerated',
|
|
13626
|
+
// Bidding Events
|
|
13627
|
+
'biddingProcessing',
|
|
13628
|
+
'biddingComplete',
|
|
13629
|
+
'biddingFailed',
|
|
13630
|
+
'biddingSkipped',
|
|
13631
|
+
'biddingPending',
|
|
13632
|
+
'biddingRetry',
|
|
13633
|
+
'biddingInsufficientConnects',
|
|
13634
|
+
'biddingWarningAlert',
|
|
13635
|
+
'biddingRejected',
|
|
13636
|
+
'biddingRejectedWithFeedback',
|
|
13637
|
+
'checkSuitableLeadFeedbackStatus',
|
|
13638
|
+
'biddingApproved',
|
|
13639
|
+
// System/Generic Events
|
|
13640
|
+
'errorLogged',
|
|
13641
|
+
'cloudTaskRetry',
|
|
13642
|
+
'manualLeadEdited',
|
|
13643
|
+
'leadArchived',
|
|
13644
|
+
'auditTrailLogged',
|
|
13645
|
+
// Scraper Events
|
|
13646
|
+
'scrapeFeedStarted',
|
|
13647
|
+
'scrapeFeedCompleted',
|
|
13648
|
+
'scrapeFeedFailed',
|
|
13649
|
+
'scrapeJobDetailsStarted',
|
|
13650
|
+
'jobScraped',
|
|
13651
|
+
'scrapeJobDetailsFailed',
|
|
13652
|
+
'scrapeJobsDetailsStarted',
|
|
13653
|
+
'scrapeJobsDetailsCompleted',
|
|
13654
|
+
'scrapeJobsDetailsFailed',
|
|
13655
|
+
'scrapeJobsCompleted',
|
|
13656
|
+
'scraperAccountError',
|
|
13657
|
+
]);
|
|
13658
|
+
const logEventSchema = z.object({
|
|
13659
|
+
// The type of event (use a z.enum if possible)
|
|
13660
|
+
type: LogEventTypeEnum, // e.g. "suitability-failed", "proposal-generated"
|
|
13661
|
+
// The service that triggered the event
|
|
13662
|
+
source: z.string(), // e.g. "lancer-agents", "lancer-bidding"
|
|
13663
|
+
// Optional: Allow logging non-lead events in the future
|
|
13664
|
+
resourceType: z.string().default('lead'), // e.g. "lead", "campaign", "user"
|
|
13665
|
+
// ID of the resource (primary entity affected)
|
|
13666
|
+
resourceId: z.string().nullable(), // fallback if leadId is not applicable
|
|
13667
|
+
// Lead-level metadata
|
|
13668
|
+
organizationId: z.string().nullable(),
|
|
13669
|
+
userId: z.string().nullable(),
|
|
13670
|
+
campaignId: z.string().nullable(),
|
|
13671
|
+
leadId: z.string().nullable(),
|
|
13672
|
+
// Reason or message for the event
|
|
13673
|
+
reason: z.string().nullable(),
|
|
13674
|
+
// Generic metadata (stacktrace, score, raw request, etc.)
|
|
13675
|
+
metadata: z.record(z.unknown()).nullable(),
|
|
13676
|
+
// Optional timestamp override
|
|
13677
|
+
timestamp: z.number(),
|
|
13678
|
+
});
|
|
13679
|
+
const biddingCompletedEventMetadata = objectType({
|
|
13680
|
+
biddingAmount: numberType(),
|
|
13681
|
+
boosted: booleanType(),
|
|
13682
|
+
boostingAmount: numberType(),
|
|
13683
|
+
});
|
|
13684
|
+
const biddingFailedEventMetadata = objectType({
|
|
13685
|
+
error: z.any(),
|
|
13686
|
+
});
|
|
13687
|
+
const userAccountBiddingExceptionEventMetadata = objectType({
|
|
13688
|
+
errorType: z.enum(['insufficientConnects', 'proposalFormWarningAlert']),
|
|
13689
|
+
context: z.string().optional(),
|
|
13690
|
+
});
|
|
13691
|
+
const lancerBiddingExceptionEventMetadata = objectType({
|
|
13692
|
+
errorType: z.string(),
|
|
13693
|
+
errorMessage: z.string(),
|
|
13694
|
+
context: z.string().optional(),
|
|
13695
|
+
});
|
|
13696
|
+
const leadStatusEventMetadata = objectType({
|
|
13697
|
+
campaignId: stringType(),
|
|
13698
|
+
organizationId: stringType(),
|
|
13699
|
+
leadId: stringType(),
|
|
13700
|
+
userId: stringType(),
|
|
13701
|
+
metadata: z
|
|
13702
|
+
.object({
|
|
13703
|
+
status: leadStatusSchema,
|
|
13704
|
+
proposalId: stringType().nullable(),
|
|
13705
|
+
})
|
|
13706
|
+
.optional(),
|
|
13707
|
+
reason: z.string().optional(),
|
|
13708
|
+
});
|
|
13709
|
+
const biddingRejectedWithFeedbackEventMetadata = objectType({
|
|
13710
|
+
feedback: z.string(),
|
|
13711
|
+
});
|
|
13712
|
+
const suitabilityPendingEventMetadataSchema = objectType({
|
|
13713
|
+
jobId: z.string(),
|
|
13714
|
+
jobUrl: z.string(),
|
|
13715
|
+
title: z.string(),
|
|
13716
|
+
timestamp: z.number(),
|
|
13717
|
+
applyToLeads: z.array(z.object({ leadId: z.string(), campaignId: z.string() })),
|
|
13718
|
+
});
|
|
13719
|
+
const suitabilityCompleteEventMetadataSchema = objectType({
|
|
13720
|
+
suitabilityRating: z.number(),
|
|
13721
|
+
suitabilityReason: z.string(),
|
|
13722
|
+
agentStatus: z.string().optional(),
|
|
13723
|
+
model: z.string().optional(),
|
|
13724
|
+
provider: z.string().optional(),
|
|
13725
|
+
promptTokens: z.number().optional(),
|
|
13726
|
+
completionTokens: z.number().optional(),
|
|
13727
|
+
messages: z
|
|
13728
|
+
.array(objectType({
|
|
13729
|
+
role: z.string(),
|
|
13730
|
+
content: z.string(),
|
|
13731
|
+
}))
|
|
13732
|
+
.optional(),
|
|
13733
|
+
jobId: z.string(),
|
|
13734
|
+
applyToLeads: z.array(z.object({ leadId: z.string(), campaignId: z.string() })),
|
|
13735
|
+
});
|
|
13736
|
+
const suitabilityFailedEventMetadataSchema = objectType({
|
|
13737
|
+
agentStatus: z.string(),
|
|
13738
|
+
reason: z.string(),
|
|
13739
|
+
});
|
|
13740
|
+
const proposalCompleteEventMetadataSchema = objectType({
|
|
13741
|
+
proposal: proposalSchema,
|
|
13742
|
+
model: z.string().optional(),
|
|
13743
|
+
provider: z.string().optional(),
|
|
13744
|
+
promptTokens: z.number().optional(),
|
|
13745
|
+
completionTokens: z.number().optional(),
|
|
13746
|
+
messages: z
|
|
13747
|
+
.array(objectType({
|
|
13748
|
+
role: z.string(),
|
|
13749
|
+
content: z.string(),
|
|
13750
|
+
}))
|
|
13751
|
+
.optional(),
|
|
13752
|
+
jobId: z.string(),
|
|
13753
|
+
isOverallHighestPriorityCampaign: z.boolean(),
|
|
13754
|
+
applyToLeads: z.array(z.object({ leadId: z.string(), campaignId: z.string() })),
|
|
13755
|
+
});
|
|
13756
|
+
const eventLoggerPayloadSchema = unionType([
|
|
13757
|
+
logEventSchema,
|
|
13758
|
+
arrayType(logEventSchema),
|
|
13759
|
+
]);
|
|
13760
|
+
|
|
13761
|
+
const scrapeFeedStartedEventMetadata = objectType({
|
|
13762
|
+
region: regionSchema,
|
|
13763
|
+
accountId: stringType(),
|
|
13764
|
+
accountEmail: stringType(),
|
|
13765
|
+
});
|
|
13766
|
+
const scrapeFeedCompletedEventMetadata = objectType({
|
|
13767
|
+
region: regionSchema,
|
|
13768
|
+
accountId: stringType(),
|
|
13769
|
+
accountEmail: stringType(),
|
|
13770
|
+
listingsCount: numberType(),
|
|
13771
|
+
duration: stringType(),
|
|
13772
|
+
});
|
|
13773
|
+
const scrapeFeedFailedEventMetadata = objectType({
|
|
13774
|
+
region: regionSchema,
|
|
13775
|
+
accountId: stringType(),
|
|
13776
|
+
accountEmail: stringType(),
|
|
13777
|
+
errorMessage: stringType(),
|
|
13778
|
+
errorCode: stringType(),
|
|
13779
|
+
errorStack: stringType(),
|
|
13780
|
+
});
|
|
13781
|
+
const scrapeJobDetailsStartedEventMetadata = objectType({
|
|
13782
|
+
listing: jobListingSchema,
|
|
13783
|
+
region: regionSchema,
|
|
13784
|
+
accountId: stringType(),
|
|
13785
|
+
accountEmail: stringType(),
|
|
13786
|
+
});
|
|
13787
|
+
const jobScrapedEventMetadata = objectType({
|
|
13788
|
+
job: jobListingSchema,
|
|
13789
|
+
region: regionSchema,
|
|
13790
|
+
duration: stringType(),
|
|
13791
|
+
});
|
|
13792
|
+
const scrapeJobDetailsFailedEventMetadata = objectType({
|
|
13793
|
+
listing: jobListingSchema,
|
|
13794
|
+
region: regionSchema,
|
|
13795
|
+
error: stringType(),
|
|
13796
|
+
});
|
|
13797
|
+
const scrapeJobsDetailsStartedEventMetadata = objectType({
|
|
13798
|
+
region: regionSchema,
|
|
13799
|
+
accountIds: arrayType(stringType()),
|
|
13800
|
+
accountEmails: arrayType(stringType()),
|
|
13801
|
+
jobListingsCount: numberType(),
|
|
13802
|
+
});
|
|
13803
|
+
const scrapeJobsDetailsCompletedEventMetadata = objectType({
|
|
13804
|
+
region: regionSchema,
|
|
13805
|
+
feedScraperAccountId: stringType(),
|
|
13806
|
+
feedScraperAccountEmail: stringType(),
|
|
13807
|
+
uniqueJobsFound: numberType(),
|
|
13808
|
+
duration: stringType(),
|
|
13809
|
+
successfullyScrapedJobsCount: numberType(),
|
|
13810
|
+
failedToScrapeJobsCount: numberType(),
|
|
13811
|
+
});
|
|
13812
|
+
const scrapeJobsDetailsFailedEventMetadata = objectType({
|
|
13813
|
+
region: regionSchema,
|
|
13814
|
+
accountId: stringType(),
|
|
13815
|
+
accountEmail: stringType(),
|
|
13816
|
+
errorMessage: stringType(),
|
|
13817
|
+
errorCode: stringType(),
|
|
13818
|
+
errorStack: stringType(),
|
|
13819
|
+
});
|
|
13820
|
+
const scrapeJobsCompletedEventMetadata = objectType({
|
|
13821
|
+
region: regionSchema,
|
|
13822
|
+
feedScraperAccountId: stringType(),
|
|
13823
|
+
feedScraperAccountEmail: stringType(),
|
|
13824
|
+
uniqueJobsFound: numberType(),
|
|
13825
|
+
duration: stringType(),
|
|
13826
|
+
successfullyScrapedJobsCount: numberType(),
|
|
13827
|
+
failedToScrapeJobsCount: numberType(),
|
|
13828
|
+
});
|
|
13829
|
+
const jobActivityScrapedEventMetadata = objectType({
|
|
13830
|
+
activity: jobActivitySchema,
|
|
13831
|
+
region: regionSchema,
|
|
13832
|
+
offsetHour: jobActivityOffsetHourSchema,
|
|
13833
|
+
scrapedAt: numberType(),
|
|
13834
|
+
});
|
|
13835
|
+
const jobActivityScrapeFailedEventMetadata = objectType({
|
|
13836
|
+
listing: jobListingSchema,
|
|
13837
|
+
region: regionSchema,
|
|
13838
|
+
offsetHour: jobActivityOffsetHourSchema,
|
|
13839
|
+
});
|
|
13840
|
+
const scraperAccountErrorEventMetadata = objectType({
|
|
13841
|
+
errorStack: stringType(),
|
|
13842
|
+
errorCode: stringType(),
|
|
13843
|
+
errorMessage: stringType(),
|
|
13844
|
+
});
|
|
13845
|
+
|
|
13888
13846
|
const planStripeMetadataSchema = objectType({
|
|
13889
13847
|
id: stringType().regex(/^prod_[a-zA-Z0-9]+$/),
|
|
13890
13848
|
name: stringType(),
|
|
@@ -13929,7 +13887,7 @@ const scrapeUserProfileRequestSchema = objectType({
|
|
|
13929
13887
|
profileUrl: stringType(),
|
|
13930
13888
|
});
|
|
13931
13889
|
const scrapeJobPayloadSchema = objectType({
|
|
13932
|
-
listing:
|
|
13890
|
+
listing: jobListingSchema,
|
|
13933
13891
|
});
|
|
13934
13892
|
const processFeedPayloadSchema = objectType({
|
|
13935
13893
|
region: regionSchema,
|
|
@@ -13983,8 +13941,8 @@ const upworkProfileSchema = objectType({
|
|
|
13983
13941
|
});
|
|
13984
13942
|
|
|
13985
13943
|
class NoScraperAccountAvailableException extends Error {
|
|
13986
|
-
code =
|
|
13987
|
-
constructor(message =
|
|
13944
|
+
code = 'NO_SCRAPER_ACCOUNT_AVAILABLE';
|
|
13945
|
+
constructor(message = 'No scraper account available.') {
|
|
13988
13946
|
super(message);
|
|
13989
13947
|
}
|
|
13990
13948
|
}
|
|
@@ -13992,8 +13950,8 @@ const noScraperAccountAvailableException = (message) => {
|
|
|
13992
13950
|
return new NoScraperAccountAvailableException(message);
|
|
13993
13951
|
};
|
|
13994
13952
|
class OpenPageException extends Error {
|
|
13995
|
-
code =
|
|
13996
|
-
constructor(message =
|
|
13953
|
+
code = 'OPEN_PAGE_FAILED';
|
|
13954
|
+
constructor(message = 'Failed to open page.') {
|
|
13997
13955
|
super(message);
|
|
13998
13956
|
}
|
|
13999
13957
|
}
|
|
@@ -14001,14 +13959,32 @@ const openPageException = (message) => {
|
|
|
14001
13959
|
return new OpenPageException(message);
|
|
14002
13960
|
};
|
|
14003
13961
|
class FeedScrapeException extends Error {
|
|
14004
|
-
code =
|
|
14005
|
-
constructor(message =
|
|
13962
|
+
code = 'FEED_SCRAPE_FAILED';
|
|
13963
|
+
constructor(message = 'Feed scrape failed.') {
|
|
14006
13964
|
super(message);
|
|
14007
13965
|
}
|
|
14008
13966
|
}
|
|
14009
13967
|
const feedScrapeException = (message) => {
|
|
14010
13968
|
return new FeedScrapeException(message);
|
|
14011
13969
|
};
|
|
13970
|
+
class ParseJobListingsException extends Error {
|
|
13971
|
+
code = 'PARSE_JOB_LISTINGS_FAILED';
|
|
13972
|
+
constructor(message = 'Failed to parse job listings.') {
|
|
13973
|
+
super(message);
|
|
13974
|
+
}
|
|
13975
|
+
}
|
|
13976
|
+
const parseJobListingsException = (message) => {
|
|
13977
|
+
return new ParseJobListingsException(message);
|
|
13978
|
+
};
|
|
13979
|
+
class ScrapeJobDetailsException extends Error {
|
|
13980
|
+
code = 'SCRAPE_JOB_DETAILS_FAILED';
|
|
13981
|
+
constructor(jobListing) {
|
|
13982
|
+
super(`Failed to scrape job details for ${JSON.stringify(jobListing)}.`);
|
|
13983
|
+
}
|
|
13984
|
+
}
|
|
13985
|
+
const scrapeJobDetailsException = (jobListing) => {
|
|
13986
|
+
return new ScrapeJobDetailsException(jobListing);
|
|
13987
|
+
};
|
|
14012
13988
|
|
|
14013
13989
|
const systemPromptSchema = objectType({
|
|
14014
13990
|
suitability: stringType(),
|
|
@@ -14552,12 +14528,15 @@ exports.NoGoogleOAuthTokensFoundException = NoGoogleOAuthTokensFoundException;
|
|
|
14552
14528
|
exports.NoScraperAccountAvailableException = NoScraperAccountAvailableException;
|
|
14553
14529
|
exports.OpenPageException = OpenPageException;
|
|
14554
14530
|
exports.ParseConnectsException = ParseConnectsException;
|
|
14531
|
+
exports.ParseJobListingsException = ParseJobListingsException;
|
|
14555
14532
|
exports.ProposalErrorAlertException = ProposalErrorAlertException;
|
|
14556
14533
|
exports.ProposalFormWarningAlertException = ProposalFormWarningAlertException;
|
|
14534
|
+
exports.ProposalGenerationFailedException = ProposalGenerationFailedException;
|
|
14557
14535
|
exports.ProposalSubmitFailedException = ProposalSubmitFailedException;
|
|
14558
14536
|
exports.PuppeteerConnectionErrorException = PuppeteerConnectionErrorException;
|
|
14559
14537
|
exports.QuestionPairNotMatchingException = QuestionPairNotMatchingException;
|
|
14560
14538
|
exports.ROUTES = ROUTES;
|
|
14539
|
+
exports.ScrapeJobDetailsException = ScrapeJobDetailsException;
|
|
14561
14540
|
exports.SelectAgencyException = SelectAgencyException;
|
|
14562
14541
|
exports.SelectContractorException = SelectContractorException;
|
|
14563
14542
|
exports.SelectorNotFoundError = SelectorNotFoundError;
|
|
@@ -14571,8 +14550,10 @@ exports.accountStatusOrder = accountStatusOrder;
|
|
|
14571
14550
|
exports.accountStatusSchema = accountStatusSchema;
|
|
14572
14551
|
exports.agencyBidPayloadSchema = agencyBidPayloadSchema;
|
|
14573
14552
|
exports.agencyBidProposalDataSchema = agencyBidProposalDataSchema;
|
|
14553
|
+
exports.agentCalculateSuitabilityRequestSchema = agentCalculateSuitabilityRequestSchema;
|
|
14554
|
+
exports.agentGenerateProposalRequestSchema = agentGenerateProposalRequestSchema;
|
|
14555
|
+
exports.agentGenerateProposalResponseSchema = agentGenerateProposalResponseSchema;
|
|
14574
14556
|
exports.agentStatusSchema = agentStatusSchema;
|
|
14575
|
-
exports.agentTaskRequestSchema = agentTaskRequestSchema;
|
|
14576
14557
|
exports.agentTaskResponseSchema = agentTaskResponseSchema;
|
|
14577
14558
|
exports.aiConfigSchema = aiConfigSchema;
|
|
14578
14559
|
exports.bidConfigSchema = bidConfigSchema;
|
|
@@ -14644,10 +14625,7 @@ exports.experienceLevelEnum = experienceLevelEnum;
|
|
|
14644
14625
|
exports.externalProxySchema = externalProxySchema;
|
|
14645
14626
|
exports.failedToParseNuxtJobException = failedToParseNuxtJobException;
|
|
14646
14627
|
exports.feedJobSchema = feedJobSchema;
|
|
14647
|
-
exports.feedJobSchemaV2 = feedJobSchemaV2;
|
|
14648
|
-
exports.feedScrapeCompletedEventMetadata = feedScrapeCompletedEventMetadata;
|
|
14649
14628
|
exports.feedScrapeException = feedScrapeException;
|
|
14650
|
-
exports.feedScrapeStartedEventMetadata = feedScrapeStartedEventMetadata;
|
|
14651
14629
|
exports.filterOptionItemSchema = filterOptionItemSchema;
|
|
14652
14630
|
exports.filterOptionsResponseSchema = filterOptionsResponseSchema;
|
|
14653
14631
|
exports.findLeadsRequestSchema = findLeadsRequestSchema;
|
|
@@ -14691,7 +14669,9 @@ exports.jobActivityUpdateSchema = jobActivityUpdateSchema;
|
|
|
14691
14669
|
exports.jobDetailsStateSchema = jobDetailsStateSchema;
|
|
14692
14670
|
exports.jobFiltersSchema = jobFiltersSchema;
|
|
14693
14671
|
exports.jobIsPrivateException = jobIsPrivateException;
|
|
14672
|
+
exports.jobListingSchema = jobListingSchema;
|
|
14694
14673
|
exports.jobQualityScoreSchema = jobQualityScoreSchema;
|
|
14674
|
+
exports.jobScrapedEventMetadata = jobScrapedEventMetadata;
|
|
14695
14675
|
exports.jobSkillsSchema = jobSkillsSchema;
|
|
14696
14676
|
exports.jobStatusOrder = jobStatusOrder;
|
|
14697
14677
|
exports.lancerBiddingExceptionEventMetadata = lancerBiddingExceptionEventMetadata;
|
|
@@ -14702,7 +14682,6 @@ exports.leadStatusActivitySchema = leadStatusActivitySchema;
|
|
|
14702
14682
|
exports.leadStatusEventMetadata = leadStatusEventMetadata;
|
|
14703
14683
|
exports.leadStatusSchema = leadStatusSchema;
|
|
14704
14684
|
exports.limitsSchema = limitsSchema;
|
|
14705
|
-
exports.listingScrapedEventMetadata = listingScrapedEventMetadata;
|
|
14706
14685
|
exports.logEventSchema = logEventSchema;
|
|
14707
14686
|
exports.loginFailedException = loginFailedException;
|
|
14708
14687
|
exports.loginSchema = loginSchema;
|
|
@@ -14728,6 +14707,7 @@ exports.organizationSettingsSchema = organizationSettingsSchema;
|
|
|
14728
14707
|
exports.organizationTierEnum = organizationTierEnum;
|
|
14729
14708
|
exports.organizationTypeSchema = organizationTypeSchema;
|
|
14730
14709
|
exports.parseConnectsException = parseConnectsException;
|
|
14710
|
+
exports.parseJobListingsException = parseJobListingsException;
|
|
14731
14711
|
exports.passwordSchema = passwordSchema;
|
|
14732
14712
|
exports.paymentTypeEnum = paymentTypeEnum;
|
|
14733
14713
|
exports.periodTypeSchema = periodTypeSchema;
|
|
@@ -14742,6 +14722,7 @@ exports.projectDurationEnum = projectDurationEnum;
|
|
|
14742
14722
|
exports.proposalCompleteEventMetadataSchema = proposalCompleteEventMetadataSchema;
|
|
14743
14723
|
exports.proposalErrorAlertException = proposalErrorAlertException;
|
|
14744
14724
|
exports.proposalFormWarningAlertException = proposalFormWarningAlertException;
|
|
14725
|
+
exports.proposalGenerationFailed = proposalGenerationFailed;
|
|
14745
14726
|
exports.proposalSchema = proposalSchema;
|
|
14746
14727
|
exports.proposalSentActivitySchema = proposalSentActivitySchema;
|
|
14747
14728
|
exports.proposalSubmitFailedException = proposalSubmitFailedException;
|
|
@@ -14763,15 +14744,19 @@ exports.registerSchema = registerSchema;
|
|
|
14763
14744
|
exports.requiredEarningsEnum = requiredEarningsEnum;
|
|
14764
14745
|
exports.requiredJSSEnum = requiredJSSEnum;
|
|
14765
14746
|
exports.savedSearchSchema = savedSearchSchema;
|
|
14766
|
-
exports.
|
|
14767
|
-
exports.
|
|
14768
|
-
exports.scrapeFeedJobsDetailsFailedEventMetadata = scrapeFeedJobsDetailsFailedEventMetadata;
|
|
14769
|
-
exports.scrapeFeedJobsDetailsStartedEventMetadata = scrapeFeedJobsDetailsStartedEventMetadata;
|
|
14747
|
+
exports.scrapeFeedCompletedEventMetadata = scrapeFeedCompletedEventMetadata;
|
|
14748
|
+
exports.scrapeFeedFailedEventMetadata = scrapeFeedFailedEventMetadata;
|
|
14770
14749
|
exports.scrapeFeedResultSchema = scrapeFeedResultSchema;
|
|
14750
|
+
exports.scrapeFeedStartedEventMetadata = scrapeFeedStartedEventMetadata;
|
|
14771
14751
|
exports.scrapeJobActivityPayloadSchema = scrapeJobActivityPayloadSchema;
|
|
14772
|
-
exports.
|
|
14752
|
+
exports.scrapeJobDetailsException = scrapeJobDetailsException;
|
|
14753
|
+
exports.scrapeJobDetailsFailedEventMetadata = scrapeJobDetailsFailedEventMetadata;
|
|
14754
|
+
exports.scrapeJobDetailsStartedEventMetadata = scrapeJobDetailsStartedEventMetadata;
|
|
14773
14755
|
exports.scrapeJobPayloadSchema = scrapeJobPayloadSchema;
|
|
14774
|
-
exports.
|
|
14756
|
+
exports.scrapeJobsCompletedEventMetadata = scrapeJobsCompletedEventMetadata;
|
|
14757
|
+
exports.scrapeJobsDetailsCompletedEventMetadata = scrapeJobsDetailsCompletedEventMetadata;
|
|
14758
|
+
exports.scrapeJobsDetailsFailedEventMetadata = scrapeJobsDetailsFailedEventMetadata;
|
|
14759
|
+
exports.scrapeJobsDetailsStartedEventMetadata = scrapeJobsDetailsStartedEventMetadata;
|
|
14775
14760
|
exports.scrapePayloadSchema = scrapePayloadSchema;
|
|
14776
14761
|
exports.scrapeResultSchema = scrapeResultSchema;
|
|
14777
14762
|
exports.scrapeUserProfileRequestSchema = scrapeUserProfileRequestSchema;
|