lancer-shared 1.2.6 → 1.2.8

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.
@@ -118,6 +118,1131 @@ export declare const scrapeJobActivityPayloadSchema: import("zod").ZodObject<{
118
118
  };
119
119
  offsetHour: 4 | 24;
120
120
  }>;
121
+ export declare const checkLeadStatusPayloadSchema: import("zod").ZodObject<{
122
+ userId: import("zod").ZodString;
123
+ campaignId: import("zod").ZodString;
124
+ organization: import("zod").ZodObject<{
125
+ id: import("zod").ZodString;
126
+ name: import("zod").ZodString;
127
+ type: import("zod").ZodEnum<["agency", "freelancer"]>;
128
+ tierId: import("zod").ZodEnum<["free", "premium"]>;
129
+ subscription: import("zod").ZodNullable<import("zod").ZodObject<{
130
+ tierId: import("zod").ZodString;
131
+ status: import("zod").ZodEnum<["active", "trialing", "cancelled", "paused"]>;
132
+ creditsRemaining: import("zod").ZodNumber;
133
+ startedAt: import("zod").ZodNumber;
134
+ currentPeriodEnd: import("zod").ZodNumber;
135
+ stripeSubscriptionId: import("zod").ZodString;
136
+ source: import("zod").ZodEnum<["stripe", "manual"]>;
137
+ }, "strip", import("zod").ZodTypeAny, {
138
+ status: "active" | "trialing" | "cancelled" | "paused";
139
+ tierId: string;
140
+ creditsRemaining: number;
141
+ startedAt: number;
142
+ currentPeriodEnd: number;
143
+ stripeSubscriptionId: string;
144
+ source: "stripe" | "manual";
145
+ }, {
146
+ status: "active" | "trialing" | "cancelled" | "paused";
147
+ tierId: string;
148
+ creditsRemaining: number;
149
+ startedAt: number;
150
+ currentPeriodEnd: number;
151
+ stripeSubscriptionId: string;
152
+ source: "stripe" | "manual";
153
+ }>>;
154
+ bidConfig: import("zod").ZodObject<{
155
+ agencyName: import("zod").ZodNullable<import("zod").ZodString>;
156
+ bidderId: import("zod").ZodNullable<import("zod").ZodString>;
157
+ contractorName: import("zod").ZodNullable<import("zod").ZodString>;
158
+ specialisedProfile: import("zod").ZodNullable<import("zod").ZodString>;
159
+ }, "strip", import("zod").ZodTypeAny, {
160
+ agencyName: string | null;
161
+ bidderId: string | null;
162
+ contractorName: string | null;
163
+ specialisedProfile: string | null;
164
+ }, {
165
+ agencyName: string | null;
166
+ bidderId: string | null;
167
+ contractorName: string | null;
168
+ specialisedProfile: string | null;
169
+ }>;
170
+ active: import("zod").ZodBoolean;
171
+ limits: import("zod").ZodObject<{
172
+ monthlyCredits: import("zod").ZodNumber;
173
+ usedCredits: import("zod").ZodNumber;
174
+ extraCredits: import("zod").ZodNumber;
175
+ }, "strip", import("zod").ZodTypeAny, {
176
+ monthlyCredits: number;
177
+ usedCredits: number;
178
+ extraCredits: number;
179
+ }, {
180
+ monthlyCredits: number;
181
+ usedCredits: number;
182
+ extraCredits: number;
183
+ }>;
184
+ billing: import("zod").ZodNullable<import("zod").ZodObject<{
185
+ stripeCustomerId: import("zod").ZodString;
186
+ savedCard: import("zod").ZodBoolean;
187
+ creditsRemaining: import("zod").ZodNumber;
188
+ }, "strip", import("zod").ZodTypeAny, {
189
+ creditsRemaining: number;
190
+ stripeCustomerId: string;
191
+ savedCard: boolean;
192
+ }, {
193
+ creditsRemaining: number;
194
+ stripeCustomerId: string;
195
+ savedCard: boolean;
196
+ }>>;
197
+ createdAt: import("zod").ZodNumber;
198
+ updatedAt: import("zod").ZodNumber;
199
+ }, "strip", import("zod").ZodTypeAny, {
200
+ type: "agency" | "freelancer";
201
+ id: string;
202
+ name: string;
203
+ tierId: "free" | "premium";
204
+ active: boolean;
205
+ subscription: {
206
+ status: "active" | "trialing" | "cancelled" | "paused";
207
+ tierId: string;
208
+ creditsRemaining: number;
209
+ startedAt: number;
210
+ currentPeriodEnd: number;
211
+ stripeSubscriptionId: string;
212
+ source: "stripe" | "manual";
213
+ } | null;
214
+ bidConfig: {
215
+ agencyName: string | null;
216
+ bidderId: string | null;
217
+ contractorName: string | null;
218
+ specialisedProfile: string | null;
219
+ };
220
+ limits: {
221
+ monthlyCredits: number;
222
+ usedCredits: number;
223
+ extraCredits: number;
224
+ };
225
+ billing: {
226
+ creditsRemaining: number;
227
+ stripeCustomerId: string;
228
+ savedCard: boolean;
229
+ } | null;
230
+ createdAt: number;
231
+ updatedAt: number;
232
+ }, {
233
+ type: "agency" | "freelancer";
234
+ id: string;
235
+ name: string;
236
+ tierId: "free" | "premium";
237
+ active: boolean;
238
+ subscription: {
239
+ status: "active" | "trialing" | "cancelled" | "paused";
240
+ tierId: string;
241
+ creditsRemaining: number;
242
+ startedAt: number;
243
+ currentPeriodEnd: number;
244
+ stripeSubscriptionId: string;
245
+ source: "stripe" | "manual";
246
+ } | null;
247
+ bidConfig: {
248
+ agencyName: string | null;
249
+ bidderId: string | null;
250
+ contractorName: string | null;
251
+ specialisedProfile: string | null;
252
+ };
253
+ limits: {
254
+ monthlyCredits: number;
255
+ usedCredits: number;
256
+ extraCredits: number;
257
+ };
258
+ billing: {
259
+ creditsRemaining: number;
260
+ stripeCustomerId: string;
261
+ savedCard: boolean;
262
+ } | null;
263
+ createdAt: number;
264
+ updatedAt: number;
265
+ }>;
266
+ lead: import("zod").ZodObject<Omit<import("zod").objectUtil.extendShape<{
267
+ id: import("zod").ZodNullable<import("zod").ZodString>;
268
+ uid: import("zod").ZodNullable<import("zod").ZodString>;
269
+ createdAt: import("zod").ZodNullable<import("zod").ZodNumber>;
270
+ title: import("zod").ZodNullable<import("zod").ZodString>;
271
+ category: import("zod").ZodNullable<import("zod").ZodString>;
272
+ skills: import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodObject<{
273
+ name: import("zod").ZodString;
274
+ }, "strip", import("zod").ZodTypeAny, {
275
+ name: string;
276
+ }, {
277
+ name: string;
278
+ }>, "many">>;
279
+ datetime: import("zod").ZodNullable<import("zod").ZodNumber>;
280
+ description: import("zod").ZodNullable<import("zod").ZodString>;
281
+ descriptionLength: import("zod").ZodNullable<import("zod").ZodNumber>;
282
+ connectsRequired: import("zod").ZodNullable<import("zod").ZodNumber>;
283
+ projectType: import("zod").ZodNullable<import("zod").ZodString>;
284
+ projectDuration: import("zod").ZodNullable<import("zod").ZodString>;
285
+ questions: import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodString, "many">>;
286
+ jobUrl: import("zod").ZodNullable<import("zod").ZodString>;
287
+ metadata: import("zod").ZodNullable<import("zod").ZodObject<{
288
+ hours: import("zod").ZodNullable<import("zod").ZodString>;
289
+ duration: import("zod").ZodNullable<import("zod").ZodString>;
290
+ experienceLevel: import("zod").ZodNullable<import("zod").ZodString>;
291
+ hourlyRate: import("zod").ZodNullable<import("zod").ZodObject<{
292
+ min: import("zod").ZodNullable<import("zod").ZodNumber>;
293
+ max: import("zod").ZodNullable<import("zod").ZodNumber>;
294
+ }, "strip", import("zod").ZodTypeAny, {
295
+ min: number | null;
296
+ max: number | null;
297
+ }, {
298
+ min: number | null;
299
+ max: number | null;
300
+ }>>;
301
+ paymentType: import("zod").ZodNullable<import("zod").ZodString>;
302
+ fixedPrice: import("zod").ZodNullable<import("zod").ZodNumber>;
303
+ }, "strip", import("zod").ZodTypeAny, {
304
+ hours: string | null;
305
+ duration: string | null;
306
+ experienceLevel: string | null;
307
+ hourlyRate: {
308
+ min: number | null;
309
+ max: number | null;
310
+ } | null;
311
+ paymentType: string | null;
312
+ fixedPrice: number | null;
313
+ }, {
314
+ hours: string | null;
315
+ duration: string | null;
316
+ experienceLevel: string | null;
317
+ hourlyRate: {
318
+ min: number | null;
319
+ max: number | null;
320
+ } | null;
321
+ paymentType: string | null;
322
+ fixedPrice: number | null;
323
+ }>>;
324
+ clientInfo: import("zod").ZodNullable<import("zod").ZodObject<{
325
+ isPaymentVerified: import("zod").ZodNullable<import("zod").ZodBoolean>;
326
+ isPhoneVerified: import("zod").ZodNullable<import("zod").ZodBoolean>;
327
+ numberOfReviews: import("zod").ZodNullable<import("zod").ZodNumber>;
328
+ rating: import("zod").ZodNullable<import("zod").ZodNumber>;
329
+ country: import("zod").ZodNullable<import("zod").ZodString>;
330
+ region: import("zod").ZodNullable<import("zod").ZodString>;
331
+ jobsPosted: import("zod").ZodNullable<import("zod").ZodNumber>;
332
+ totalSpent: import("zod").ZodNullable<import("zod").ZodNumber>;
333
+ numberOfHires: import("zod").ZodNullable<import("zod").ZodNumber>;
334
+ activeEngagements: import("zod").ZodNullable<import("zod").ZodNumber>;
335
+ openJobs: import("zod").ZodNullable<import("zod").ZodNumber>;
336
+ hireRate: import("zod").ZodNullable<import("zod").ZodNumber>;
337
+ memberSince: import("zod").ZodNullable<import("zod").ZodString>;
338
+ companyIndustry: import("zod").ZodNullable<import("zod").ZodString>;
339
+ companySize: import("zod").ZodNullable<import("zod").ZodString>;
340
+ enterpriseClient: import("zod").ZodNullable<import("zod").ZodBoolean>;
341
+ avgHourlyRatePaid: import("zod").ZodNullable<import("zod").ZodNumber>;
342
+ }, "strip", import("zod").ZodTypeAny, {
343
+ region: string | null;
344
+ isPaymentVerified: boolean | null;
345
+ isPhoneVerified: boolean | null;
346
+ numberOfReviews: number | null;
347
+ rating: number | null;
348
+ country: string | null;
349
+ jobsPosted: number | null;
350
+ totalSpent: number | null;
351
+ numberOfHires: number | null;
352
+ activeEngagements: number | null;
353
+ openJobs: number | null;
354
+ hireRate: number | null;
355
+ memberSince: string | null;
356
+ companyIndustry: string | null;
357
+ companySize: string | null;
358
+ enterpriseClient: boolean | null;
359
+ avgHourlyRatePaid: number | null;
360
+ }, {
361
+ region: string | null;
362
+ isPaymentVerified: boolean | null;
363
+ isPhoneVerified: boolean | null;
364
+ numberOfReviews: number | null;
365
+ rating: number | null;
366
+ country: string | null;
367
+ jobsPosted: number | null;
368
+ totalSpent: number | null;
369
+ numberOfHires: number | null;
370
+ activeEngagements: number | null;
371
+ openJobs: number | null;
372
+ hireRate: number | null;
373
+ memberSince: string | null;
374
+ companyIndustry: string | null;
375
+ companySize: string | null;
376
+ enterpriseClient: boolean | null;
377
+ avgHourlyRatePaid: number | null;
378
+ }>>;
379
+ vendorQualifications: import("zod").ZodNullable<import("zod").ZodObject<{
380
+ location: import("zod").ZodNullable<import("zod").ZodString>;
381
+ talentType: import("zod").ZodNullable<import("zod").ZodEnum<["Agency", "Independent", "unspecified"]>>;
382
+ englishLevel: import("zod").ZodNullable<import("zod").ZodString>;
383
+ minimumEarnings: import("zod").ZodNullable<import("zod").ZodNumber>;
384
+ jobSuccessScore: import("zod").ZodNullable<import("zod").ZodString>;
385
+ includeRisingTalent: import("zod").ZodNullable<import("zod").ZodString>;
386
+ }, "strip", import("zod").ZodTypeAny, {
387
+ location: string | null;
388
+ talentType: "Agency" | "Independent" | "unspecified" | null;
389
+ englishLevel: string | null;
390
+ minimumEarnings: number | null;
391
+ jobSuccessScore: string | null;
392
+ includeRisingTalent: string | null;
393
+ }, {
394
+ location: string | null;
395
+ talentType: "Agency" | "Independent" | "unspecified" | null;
396
+ englishLevel: string | null;
397
+ minimumEarnings: number | null;
398
+ jobSuccessScore: string | null;
399
+ includeRisingTalent: string | null;
400
+ }>>;
401
+ processed: import("zod").ZodNullable<import("zod").ZodBoolean>;
402
+ isFeatured: import("zod").ZodNullable<import("zod").ZodBoolean>;
403
+ clientReviews: import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodObject<{
404
+ jobTitle: import("zod").ZodNullable<import("zod").ZodString>;
405
+ freelancerName: import("zod").ZodNullable<import("zod").ZodString>;
406
+ freelancerRating: import("zod").ZodNullable<import("zod").ZodNumber>;
407
+ freelancerFeedback: import("zod").ZodNullable<import("zod").ZodString>;
408
+ clientFeedback: import("zod").ZodNullable<import("zod").ZodString>;
409
+ clientFeedbackRating: import("zod").ZodNullable<import("zod").ZodNumber>;
410
+ dateRange: import("zod").ZodNullable<import("zod").ZodString>;
411
+ paymentType: import("zod").ZodNullable<import("zod").ZodString>;
412
+ fixedPrice: import("zod").ZodNullable<import("zod").ZodNumber>;
413
+ hourlyRate: import("zod").ZodNullable<import("zod").ZodNumber>;
414
+ numHours: import("zod").ZodNullable<import("zod").ZodNumber>;
415
+ totalBilled: import("zod").ZodNullable<import("zod").ZodNumber>;
416
+ }, "strip", import("zod").ZodTypeAny, {
417
+ hourlyRate: number | null;
418
+ paymentType: string | null;
419
+ fixedPrice: number | null;
420
+ jobTitle: string | null;
421
+ freelancerName: string | null;
422
+ freelancerRating: number | null;
423
+ freelancerFeedback: string | null;
424
+ clientFeedback: string | null;
425
+ clientFeedbackRating: number | null;
426
+ dateRange: string | null;
427
+ numHours: number | null;
428
+ totalBilled: number | null;
429
+ }, {
430
+ hourlyRate: number | null;
431
+ paymentType: string | null;
432
+ fixedPrice: number | null;
433
+ jobTitle: string | null;
434
+ freelancerName: string | null;
435
+ freelancerRating: number | null;
436
+ freelancerFeedback: string | null;
437
+ clientFeedback: string | null;
438
+ clientFeedbackRating: number | null;
439
+ dateRange: string | null;
440
+ numHours: number | null;
441
+ totalBilled: number | null;
442
+ }>, "many">>;
443
+ region: import("zod").ZodNullable<import("zod").ZodUnion<[import("zod").ZodLiteral<"USOnly">, import("zod").ZodLiteral<"UKOnly">, import("zod").ZodLiteral<"Worldwide">]>>;
444
+ bidRange: import("zod").ZodNullable<import("zod").ZodObject<{
445
+ high: import("zod").ZodNullable<import("zod").ZodNumber>;
446
+ avg: import("zod").ZodNullable<import("zod").ZodNumber>;
447
+ low: import("zod").ZodNullable<import("zod").ZodNumber>;
448
+ }, "strip", import("zod").ZodTypeAny, {
449
+ high: number | null;
450
+ avg: number | null;
451
+ low: number | null;
452
+ }, {
453
+ high: number | null;
454
+ avg: number | null;
455
+ low: number | null;
456
+ }>>;
457
+ jobActivity: import("zod").ZodNullable<import("zod").ZodObject<{
458
+ proposals: import("zod").ZodObject<{
459
+ min: import("zod").ZodNullable<import("zod").ZodNumber>;
460
+ max: import("zod").ZodNullable<import("zod").ZodNumber>;
461
+ }, "strip", import("zod").ZodTypeAny, {
462
+ min: number | null;
463
+ max: number | null;
464
+ }, {
465
+ min: number | null;
466
+ max: number | null;
467
+ }>;
468
+ lastViewedByClient: import("zod").ZodNullable<import("zod").ZodString>;
469
+ lastViewedByClientTimestamp: import("zod").ZodNullable<import("zod").ZodNumber>;
470
+ hires: import("zod").ZodNullable<import("zod").ZodNumber>;
471
+ interviewing: import("zod").ZodNullable<import("zod").ZodNumber>;
472
+ invitesSent: import("zod").ZodNullable<import("zod").ZodNumber>;
473
+ unansweredInvites: import("zod").ZodNullable<import("zod").ZodNumber>;
474
+ updatedAt: import("zod").ZodNullable<import("zod").ZodNumber>;
475
+ }, "strip", import("zod").ZodTypeAny, {
476
+ updatedAt: number | null;
477
+ proposals: {
478
+ min: number | null;
479
+ max: number | null;
480
+ };
481
+ lastViewedByClient: string | null;
482
+ lastViewedByClientTimestamp: number | null;
483
+ hires: number | null;
484
+ interviewing: number | null;
485
+ invitesSent: number | null;
486
+ unansweredInvites: number | null;
487
+ }, {
488
+ updatedAt: number | null;
489
+ proposals: {
490
+ min: number | null;
491
+ max: number | null;
492
+ };
493
+ lastViewedByClient: string | null;
494
+ lastViewedByClientTimestamp: number | null;
495
+ hires: number | null;
496
+ interviewing: number | null;
497
+ invitesSent: number | null;
498
+ unansweredInvites: number | null;
499
+ }>>;
500
+ activityUpdates: import("zod").ZodNullable<import("zod").ZodUnion<[import("zod").ZodLiteral<1>, import("zod").ZodLiteral<2>, import("zod").ZodLiteral<3>]>>;
501
+ activity: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodEnum<["4h" | "24h"]>, import("zod").ZodObject<{
502
+ proposals: import("zod").ZodObject<{
503
+ min: import("zod").ZodNullable<import("zod").ZodNumber>;
504
+ max: import("zod").ZodNullable<import("zod").ZodNumber>;
505
+ }, "strip", import("zod").ZodTypeAny, {
506
+ min: number | null;
507
+ max: number | null;
508
+ }, {
509
+ min: number | null;
510
+ max: number | null;
511
+ }>;
512
+ lastViewedByClient: import("zod").ZodNullable<import("zod").ZodString>;
513
+ lastViewedByClientTimestamp: import("zod").ZodNullable<import("zod").ZodNumber>;
514
+ hires: import("zod").ZodNullable<import("zod").ZodNumber>;
515
+ interviewing: import("zod").ZodNullable<import("zod").ZodNumber>;
516
+ invitesSent: import("zod").ZodNullable<import("zod").ZodNumber>;
517
+ unansweredInvites: import("zod").ZodNullable<import("zod").ZodNumber>;
518
+ updatedAt: import("zod").ZodNullable<import("zod").ZodNumber>;
519
+ }, "strip", import("zod").ZodTypeAny, {
520
+ updatedAt: number | null;
521
+ proposals: {
522
+ min: number | null;
523
+ max: number | null;
524
+ };
525
+ lastViewedByClient: string | null;
526
+ lastViewedByClientTimestamp: number | null;
527
+ hires: number | null;
528
+ interviewing: number | null;
529
+ invitesSent: number | null;
530
+ unansweredInvites: number | null;
531
+ }, {
532
+ updatedAt: number | null;
533
+ proposals: {
534
+ min: number | null;
535
+ max: number | null;
536
+ };
537
+ lastViewedByClient: string | null;
538
+ lastViewedByClientTimestamp: number | null;
539
+ hires: number | null;
540
+ interviewing: number | null;
541
+ invitesSent: number | null;
542
+ unansweredInvites: number | null;
543
+ }>>>>;
544
+ activityDelta: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodObject<{
545
+ proposals: import("zod").ZodNumber;
546
+ interviewing: import("zod").ZodNumber;
547
+ hires: import("zod").ZodNumber;
548
+ invitesSent: import("zod").ZodNumber;
549
+ unansweredInvites: import("zod").ZodNumber;
550
+ }, "strip", import("zod").ZodTypeAny, {
551
+ proposals: number;
552
+ hires: number;
553
+ interviewing: number;
554
+ invitesSent: number;
555
+ unansweredInvites: number;
556
+ }, {
557
+ proposals: number;
558
+ hires: number;
559
+ interviewing: number;
560
+ invitesSent: number;
561
+ unansweredInvites: number;
562
+ }>>>;
563
+ }, {
564
+ jobId: import("zod").ZodString;
565
+ updatedAt: import("zod").ZodNullable<import("zod").ZodNumber>;
566
+ suitabilityRating: import("zod").ZodNullable<import("zod").ZodNumber>;
567
+ suitabilityReason: import("zod").ZodNullable<import("zod").ZodString>;
568
+ proposal: import("zod").ZodNullable<import("zod").ZodString>;
569
+ questionAnswerPairs: import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodObject<{
570
+ question: import("zod").ZodString;
571
+ answer: import("zod").ZodString;
572
+ }, "strip", import("zod").ZodTypeAny, {
573
+ question: string;
574
+ answer: string;
575
+ }, {
576
+ question: string;
577
+ answer: string;
578
+ }>, "many">>;
579
+ agentStatus: import("zod").ZodNullable<import("zod").ZodEnum<["suitabilityPending", "suitabilityProcessing", "suitabilityComplete", "suitabilityFailed", "proposalProcessing", "proposalComplete", "proposalFailed", "biddingProcessing", "biddingComplete", "biddingFailed", "jobArchived"]>>;
580
+ leadStatus: import("zod").ZodNullable<import("zod").ZodEnum<["leads", "contacted", "viewed", "replied", "negotiations", "won", "lost"]>>;
581
+ biddingAmount: import("zod").ZodNullable<import("zod").ZodNumber>;
582
+ boosted: import("zod").ZodNullable<import("zod").ZodBoolean>;
583
+ boostingAmount: import("zod").ZodNullable<import("zod").ZodNumber>;
584
+ biddingTaskScheduled: import("zod").ZodNullable<import("zod").ZodBoolean>;
585
+ scheduledBiddingTime: import("zod").ZodNullable<import("zod").ZodNumber>;
586
+ }>, "processed">, "strip", import("zod").ZodTypeAny, {
587
+ uid: string | null;
588
+ title: string | null;
589
+ jobUrl: string | null;
590
+ datetime: number | null;
591
+ isFeatured: boolean | null;
592
+ region: "USOnly" | "UKOnly" | "Worldwide" | null;
593
+ id: string | null;
594
+ createdAt: number | null;
595
+ updatedAt: number | null;
596
+ category: string | null;
597
+ skills: {
598
+ name: string;
599
+ }[] | null;
600
+ description: string | null;
601
+ descriptionLength: number | null;
602
+ connectsRequired: number | null;
603
+ projectType: string | null;
604
+ projectDuration: string | null;
605
+ questions: string[] | null;
606
+ metadata: {
607
+ hours: string | null;
608
+ duration: string | null;
609
+ experienceLevel: string | null;
610
+ hourlyRate: {
611
+ min: number | null;
612
+ max: number | null;
613
+ } | null;
614
+ paymentType: string | null;
615
+ fixedPrice: number | null;
616
+ } | null;
617
+ clientInfo: {
618
+ region: string | null;
619
+ isPaymentVerified: boolean | null;
620
+ isPhoneVerified: boolean | null;
621
+ numberOfReviews: number | null;
622
+ rating: number | null;
623
+ country: string | null;
624
+ jobsPosted: number | null;
625
+ totalSpent: number | null;
626
+ numberOfHires: number | null;
627
+ activeEngagements: number | null;
628
+ openJobs: number | null;
629
+ hireRate: number | null;
630
+ memberSince: string | null;
631
+ companyIndustry: string | null;
632
+ companySize: string | null;
633
+ enterpriseClient: boolean | null;
634
+ avgHourlyRatePaid: number | null;
635
+ } | null;
636
+ vendorQualifications: {
637
+ location: string | null;
638
+ talentType: "Agency" | "Independent" | "unspecified" | null;
639
+ englishLevel: string | null;
640
+ minimumEarnings: number | null;
641
+ jobSuccessScore: string | null;
642
+ includeRisingTalent: string | null;
643
+ } | null;
644
+ clientReviews: {
645
+ hourlyRate: number | null;
646
+ paymentType: string | null;
647
+ fixedPrice: number | null;
648
+ jobTitle: string | null;
649
+ freelancerName: string | null;
650
+ freelancerRating: number | null;
651
+ freelancerFeedback: string | null;
652
+ clientFeedback: string | null;
653
+ clientFeedbackRating: number | null;
654
+ dateRange: string | null;
655
+ numHours: number | null;
656
+ totalBilled: number | null;
657
+ }[] | null;
658
+ bidRange: {
659
+ high: number | null;
660
+ avg: number | null;
661
+ low: number | null;
662
+ } | null;
663
+ jobActivity: {
664
+ updatedAt: number | null;
665
+ proposals: {
666
+ min: number | null;
667
+ max: number | null;
668
+ };
669
+ lastViewedByClient: string | null;
670
+ lastViewedByClientTimestamp: number | null;
671
+ hires: number | null;
672
+ interviewing: number | null;
673
+ invitesSent: number | null;
674
+ unansweredInvites: number | null;
675
+ } | null;
676
+ activityUpdates: 1 | 2 | 3 | null;
677
+ jobId: string;
678
+ suitabilityRating: number | null;
679
+ suitabilityReason: string | null;
680
+ proposal: string | null;
681
+ questionAnswerPairs: {
682
+ question: string;
683
+ answer: string;
684
+ }[] | null;
685
+ agentStatus: "suitabilityPending" | "suitabilityProcessing" | "suitabilityComplete" | "suitabilityFailed" | "proposalProcessing" | "proposalComplete" | "proposalFailed" | "biddingProcessing" | "biddingComplete" | "biddingFailed" | "jobArchived" | null;
686
+ leadStatus: "leads" | "contacted" | "viewed" | "replied" | "negotiations" | "won" | "lost" | null;
687
+ biddingAmount: number | null;
688
+ boosted: boolean | null;
689
+ boostingAmount: number | null;
690
+ biddingTaskScheduled: boolean | null;
691
+ scheduledBiddingTime: number | null;
692
+ activity?: Partial<Record<"4h" | "24h", {
693
+ updatedAt: number | null;
694
+ proposals: {
695
+ min: number | null;
696
+ max: number | null;
697
+ };
698
+ lastViewedByClient: string | null;
699
+ lastViewedByClientTimestamp: number | null;
700
+ hires: number | null;
701
+ interviewing: number | null;
702
+ invitesSent: number | null;
703
+ unansweredInvites: number | null;
704
+ }>> | null | undefined;
705
+ activityDelta?: {
706
+ proposals: number;
707
+ hires: number;
708
+ interviewing: number;
709
+ invitesSent: number;
710
+ unansweredInvites: number;
711
+ } | null | undefined;
712
+ }, {
713
+ uid: string | null;
714
+ title: string | null;
715
+ jobUrl: string | null;
716
+ datetime: number | null;
717
+ isFeatured: boolean | null;
718
+ region: "USOnly" | "UKOnly" | "Worldwide" | null;
719
+ id: string | null;
720
+ createdAt: number | null;
721
+ updatedAt: number | null;
722
+ category: string | null;
723
+ skills: {
724
+ name: string;
725
+ }[] | null;
726
+ description: string | null;
727
+ descriptionLength: number | null;
728
+ connectsRequired: number | null;
729
+ projectType: string | null;
730
+ projectDuration: string | null;
731
+ questions: string[] | null;
732
+ metadata: {
733
+ hours: string | null;
734
+ duration: string | null;
735
+ experienceLevel: string | null;
736
+ hourlyRate: {
737
+ min: number | null;
738
+ max: number | null;
739
+ } | null;
740
+ paymentType: string | null;
741
+ fixedPrice: number | null;
742
+ } | null;
743
+ clientInfo: {
744
+ region: string | null;
745
+ isPaymentVerified: boolean | null;
746
+ isPhoneVerified: boolean | null;
747
+ numberOfReviews: number | null;
748
+ rating: number | null;
749
+ country: string | null;
750
+ jobsPosted: number | null;
751
+ totalSpent: number | null;
752
+ numberOfHires: number | null;
753
+ activeEngagements: number | null;
754
+ openJobs: number | null;
755
+ hireRate: number | null;
756
+ memberSince: string | null;
757
+ companyIndustry: string | null;
758
+ companySize: string | null;
759
+ enterpriseClient: boolean | null;
760
+ avgHourlyRatePaid: number | null;
761
+ } | null;
762
+ vendorQualifications: {
763
+ location: string | null;
764
+ talentType: "Agency" | "Independent" | "unspecified" | null;
765
+ englishLevel: string | null;
766
+ minimumEarnings: number | null;
767
+ jobSuccessScore: string | null;
768
+ includeRisingTalent: string | null;
769
+ } | null;
770
+ clientReviews: {
771
+ hourlyRate: number | null;
772
+ paymentType: string | null;
773
+ fixedPrice: number | null;
774
+ jobTitle: string | null;
775
+ freelancerName: string | null;
776
+ freelancerRating: number | null;
777
+ freelancerFeedback: string | null;
778
+ clientFeedback: string | null;
779
+ clientFeedbackRating: number | null;
780
+ dateRange: string | null;
781
+ numHours: number | null;
782
+ totalBilled: number | null;
783
+ }[] | null;
784
+ bidRange: {
785
+ high: number | null;
786
+ avg: number | null;
787
+ low: number | null;
788
+ } | null;
789
+ jobActivity: {
790
+ updatedAt: number | null;
791
+ proposals: {
792
+ min: number | null;
793
+ max: number | null;
794
+ };
795
+ lastViewedByClient: string | null;
796
+ lastViewedByClientTimestamp: number | null;
797
+ hires: number | null;
798
+ interviewing: number | null;
799
+ invitesSent: number | null;
800
+ unansweredInvites: number | null;
801
+ } | null;
802
+ activityUpdates: 1 | 2 | 3 | null;
803
+ jobId: string;
804
+ suitabilityRating: number | null;
805
+ suitabilityReason: string | null;
806
+ proposal: string | null;
807
+ questionAnswerPairs: {
808
+ question: string;
809
+ answer: string;
810
+ }[] | null;
811
+ agentStatus: "suitabilityPending" | "suitabilityProcessing" | "suitabilityComplete" | "suitabilityFailed" | "proposalProcessing" | "proposalComplete" | "proposalFailed" | "biddingProcessing" | "biddingComplete" | "biddingFailed" | "jobArchived" | null;
812
+ leadStatus: "leads" | "contacted" | "viewed" | "replied" | "negotiations" | "won" | "lost" | null;
813
+ biddingAmount: number | null;
814
+ boosted: boolean | null;
815
+ boostingAmount: number | null;
816
+ biddingTaskScheduled: boolean | null;
817
+ scheduledBiddingTime: number | null;
818
+ activity?: Partial<Record<"4h" | "24h", {
819
+ updatedAt: number | null;
820
+ proposals: {
821
+ min: number | null;
822
+ max: number | null;
823
+ };
824
+ lastViewedByClient: string | null;
825
+ lastViewedByClientTimestamp: number | null;
826
+ hires: number | null;
827
+ interviewing: number | null;
828
+ invitesSent: number | null;
829
+ unansweredInvites: number | null;
830
+ }>> | null | undefined;
831
+ activityDelta?: {
832
+ proposals: number;
833
+ hires: number;
834
+ interviewing: number;
835
+ invitesSent: number;
836
+ unansweredInvites: number;
837
+ } | null | undefined;
838
+ }>;
839
+ bidder: import("zod").ZodObject<{
840
+ id: import("zod").ZodString;
841
+ provider: import("zod").ZodEnum<["user-provided", "lancer-provided"]>;
842
+ email: import("zod").ZodString;
843
+ password: import("zod").ZodString;
844
+ cookies: import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodAny, "many">>;
845
+ status: import("zod").ZodEnum<["verification_required", "shadow_banned", "healthy", "banned", "suspended"]>;
846
+ verified: import("zod").ZodBoolean;
847
+ isActive: import("zod").ZodBoolean;
848
+ assignedOrganizations: import("zod").ZodArray<import("zod").ZodString, "many">;
849
+ lastUsed: import("zod").ZodNullable<import("zod").ZodNumber>;
850
+ multiLoginProfileId: import("zod").ZodNullable<import("zod").ZodString>;
851
+ proxyId: import("zod").ZodNullable<import("zod").ZodString>;
852
+ createdAt: import("zod").ZodNumber;
853
+ updatedAt: import("zod").ZodNumber;
854
+ }, "strip", import("zod").ZodTypeAny, {
855
+ status: "verification_required" | "shadow_banned" | "healthy" | "banned" | "suspended";
856
+ cookies: any[] | null;
857
+ password: string;
858
+ id: string;
859
+ createdAt: number;
860
+ updatedAt: number;
861
+ provider: "user-provided" | "lancer-provided";
862
+ email: string;
863
+ verified: boolean;
864
+ isActive: boolean;
865
+ assignedOrganizations: string[];
866
+ lastUsed: number | null;
867
+ multiLoginProfileId: string | null;
868
+ proxyId: string | null;
869
+ }, {
870
+ status: "verification_required" | "shadow_banned" | "healthy" | "banned" | "suspended";
871
+ cookies: any[] | null;
872
+ password: string;
873
+ id: string;
874
+ createdAt: number;
875
+ updatedAt: number;
876
+ provider: "user-provided" | "lancer-provided";
877
+ email: string;
878
+ verified: boolean;
879
+ isActive: boolean;
880
+ assignedOrganizations: string[];
881
+ lastUsed: number | null;
882
+ multiLoginProfileId: string | null;
883
+ proxyId: string | null;
884
+ }>;
885
+ }, "strip", import("zod").ZodTypeAny, {
886
+ userId: string;
887
+ campaignId: string;
888
+ organization: {
889
+ type: "agency" | "freelancer";
890
+ id: string;
891
+ name: string;
892
+ tierId: "free" | "premium";
893
+ active: boolean;
894
+ subscription: {
895
+ status: "active" | "trialing" | "cancelled" | "paused";
896
+ tierId: string;
897
+ creditsRemaining: number;
898
+ startedAt: number;
899
+ currentPeriodEnd: number;
900
+ stripeSubscriptionId: string;
901
+ source: "stripe" | "manual";
902
+ } | null;
903
+ bidConfig: {
904
+ agencyName: string | null;
905
+ bidderId: string | null;
906
+ contractorName: string | null;
907
+ specialisedProfile: string | null;
908
+ };
909
+ limits: {
910
+ monthlyCredits: number;
911
+ usedCredits: number;
912
+ extraCredits: number;
913
+ };
914
+ billing: {
915
+ creditsRemaining: number;
916
+ stripeCustomerId: string;
917
+ savedCard: boolean;
918
+ } | null;
919
+ createdAt: number;
920
+ updatedAt: number;
921
+ };
922
+ lead: {
923
+ uid: string | null;
924
+ title: string | null;
925
+ jobUrl: string | null;
926
+ datetime: number | null;
927
+ isFeatured: boolean | null;
928
+ region: "USOnly" | "UKOnly" | "Worldwide" | null;
929
+ id: string | null;
930
+ createdAt: number | null;
931
+ updatedAt: number | null;
932
+ category: string | null;
933
+ skills: {
934
+ name: string;
935
+ }[] | null;
936
+ description: string | null;
937
+ descriptionLength: number | null;
938
+ connectsRequired: number | null;
939
+ projectType: string | null;
940
+ projectDuration: string | null;
941
+ questions: string[] | null;
942
+ metadata: {
943
+ hours: string | null;
944
+ duration: string | null;
945
+ experienceLevel: string | null;
946
+ hourlyRate: {
947
+ min: number | null;
948
+ max: number | null;
949
+ } | null;
950
+ paymentType: string | null;
951
+ fixedPrice: number | null;
952
+ } | null;
953
+ clientInfo: {
954
+ region: string | null;
955
+ isPaymentVerified: boolean | null;
956
+ isPhoneVerified: boolean | null;
957
+ numberOfReviews: number | null;
958
+ rating: number | null;
959
+ country: string | null;
960
+ jobsPosted: number | null;
961
+ totalSpent: number | null;
962
+ numberOfHires: number | null;
963
+ activeEngagements: number | null;
964
+ openJobs: number | null;
965
+ hireRate: number | null;
966
+ memberSince: string | null;
967
+ companyIndustry: string | null;
968
+ companySize: string | null;
969
+ enterpriseClient: boolean | null;
970
+ avgHourlyRatePaid: number | null;
971
+ } | null;
972
+ vendorQualifications: {
973
+ location: string | null;
974
+ talentType: "Agency" | "Independent" | "unspecified" | null;
975
+ englishLevel: string | null;
976
+ minimumEarnings: number | null;
977
+ jobSuccessScore: string | null;
978
+ includeRisingTalent: string | null;
979
+ } | null;
980
+ clientReviews: {
981
+ hourlyRate: number | null;
982
+ paymentType: string | null;
983
+ fixedPrice: number | null;
984
+ jobTitle: string | null;
985
+ freelancerName: string | null;
986
+ freelancerRating: number | null;
987
+ freelancerFeedback: string | null;
988
+ clientFeedback: string | null;
989
+ clientFeedbackRating: number | null;
990
+ dateRange: string | null;
991
+ numHours: number | null;
992
+ totalBilled: number | null;
993
+ }[] | null;
994
+ bidRange: {
995
+ high: number | null;
996
+ avg: number | null;
997
+ low: number | null;
998
+ } | null;
999
+ jobActivity: {
1000
+ updatedAt: number | null;
1001
+ proposals: {
1002
+ min: number | null;
1003
+ max: number | null;
1004
+ };
1005
+ lastViewedByClient: string | null;
1006
+ lastViewedByClientTimestamp: number | null;
1007
+ hires: number | null;
1008
+ interviewing: number | null;
1009
+ invitesSent: number | null;
1010
+ unansweredInvites: number | null;
1011
+ } | null;
1012
+ activityUpdates: 1 | 2 | 3 | null;
1013
+ jobId: string;
1014
+ suitabilityRating: number | null;
1015
+ suitabilityReason: string | null;
1016
+ proposal: string | null;
1017
+ questionAnswerPairs: {
1018
+ question: string;
1019
+ answer: string;
1020
+ }[] | null;
1021
+ agentStatus: "suitabilityPending" | "suitabilityProcessing" | "suitabilityComplete" | "suitabilityFailed" | "proposalProcessing" | "proposalComplete" | "proposalFailed" | "biddingProcessing" | "biddingComplete" | "biddingFailed" | "jobArchived" | null;
1022
+ leadStatus: "leads" | "contacted" | "viewed" | "replied" | "negotiations" | "won" | "lost" | null;
1023
+ biddingAmount: number | null;
1024
+ boosted: boolean | null;
1025
+ boostingAmount: number | null;
1026
+ biddingTaskScheduled: boolean | null;
1027
+ scheduledBiddingTime: number | null;
1028
+ activity?: Partial<Record<"4h" | "24h", {
1029
+ updatedAt: number | null;
1030
+ proposals: {
1031
+ min: number | null;
1032
+ max: number | null;
1033
+ };
1034
+ lastViewedByClient: string | null;
1035
+ lastViewedByClientTimestamp: number | null;
1036
+ hires: number | null;
1037
+ interviewing: number | null;
1038
+ invitesSent: number | null;
1039
+ unansweredInvites: number | null;
1040
+ }>> | null | undefined;
1041
+ activityDelta?: {
1042
+ proposals: number;
1043
+ hires: number;
1044
+ interviewing: number;
1045
+ invitesSent: number;
1046
+ unansweredInvites: number;
1047
+ } | null | undefined;
1048
+ };
1049
+ bidder: {
1050
+ status: "verification_required" | "shadow_banned" | "healthy" | "banned" | "suspended";
1051
+ cookies: any[] | null;
1052
+ password: string;
1053
+ id: string;
1054
+ createdAt: number;
1055
+ updatedAt: number;
1056
+ provider: "user-provided" | "lancer-provided";
1057
+ email: string;
1058
+ verified: boolean;
1059
+ isActive: boolean;
1060
+ assignedOrganizations: string[];
1061
+ lastUsed: number | null;
1062
+ multiLoginProfileId: string | null;
1063
+ proxyId: string | null;
1064
+ };
1065
+ }, {
1066
+ userId: string;
1067
+ campaignId: string;
1068
+ organization: {
1069
+ type: "agency" | "freelancer";
1070
+ id: string;
1071
+ name: string;
1072
+ tierId: "free" | "premium";
1073
+ active: boolean;
1074
+ subscription: {
1075
+ status: "active" | "trialing" | "cancelled" | "paused";
1076
+ tierId: string;
1077
+ creditsRemaining: number;
1078
+ startedAt: number;
1079
+ currentPeriodEnd: number;
1080
+ stripeSubscriptionId: string;
1081
+ source: "stripe" | "manual";
1082
+ } | null;
1083
+ bidConfig: {
1084
+ agencyName: string | null;
1085
+ bidderId: string | null;
1086
+ contractorName: string | null;
1087
+ specialisedProfile: string | null;
1088
+ };
1089
+ limits: {
1090
+ monthlyCredits: number;
1091
+ usedCredits: number;
1092
+ extraCredits: number;
1093
+ };
1094
+ billing: {
1095
+ creditsRemaining: number;
1096
+ stripeCustomerId: string;
1097
+ savedCard: boolean;
1098
+ } | null;
1099
+ createdAt: number;
1100
+ updatedAt: number;
1101
+ };
1102
+ lead: {
1103
+ uid: string | null;
1104
+ title: string | null;
1105
+ jobUrl: string | null;
1106
+ datetime: number | null;
1107
+ isFeatured: boolean | null;
1108
+ region: "USOnly" | "UKOnly" | "Worldwide" | null;
1109
+ id: string | null;
1110
+ createdAt: number | null;
1111
+ updatedAt: number | null;
1112
+ category: string | null;
1113
+ skills: {
1114
+ name: string;
1115
+ }[] | null;
1116
+ description: string | null;
1117
+ descriptionLength: number | null;
1118
+ connectsRequired: number | null;
1119
+ projectType: string | null;
1120
+ projectDuration: string | null;
1121
+ questions: string[] | null;
1122
+ metadata: {
1123
+ hours: string | null;
1124
+ duration: string | null;
1125
+ experienceLevel: string | null;
1126
+ hourlyRate: {
1127
+ min: number | null;
1128
+ max: number | null;
1129
+ } | null;
1130
+ paymentType: string | null;
1131
+ fixedPrice: number | null;
1132
+ } | null;
1133
+ clientInfo: {
1134
+ region: string | null;
1135
+ isPaymentVerified: boolean | null;
1136
+ isPhoneVerified: boolean | null;
1137
+ numberOfReviews: number | null;
1138
+ rating: number | null;
1139
+ country: string | null;
1140
+ jobsPosted: number | null;
1141
+ totalSpent: number | null;
1142
+ numberOfHires: number | null;
1143
+ activeEngagements: number | null;
1144
+ openJobs: number | null;
1145
+ hireRate: number | null;
1146
+ memberSince: string | null;
1147
+ companyIndustry: string | null;
1148
+ companySize: string | null;
1149
+ enterpriseClient: boolean | null;
1150
+ avgHourlyRatePaid: number | null;
1151
+ } | null;
1152
+ vendorQualifications: {
1153
+ location: string | null;
1154
+ talentType: "Agency" | "Independent" | "unspecified" | null;
1155
+ englishLevel: string | null;
1156
+ minimumEarnings: number | null;
1157
+ jobSuccessScore: string | null;
1158
+ includeRisingTalent: string | null;
1159
+ } | null;
1160
+ clientReviews: {
1161
+ hourlyRate: number | null;
1162
+ paymentType: string | null;
1163
+ fixedPrice: number | null;
1164
+ jobTitle: string | null;
1165
+ freelancerName: string | null;
1166
+ freelancerRating: number | null;
1167
+ freelancerFeedback: string | null;
1168
+ clientFeedback: string | null;
1169
+ clientFeedbackRating: number | null;
1170
+ dateRange: string | null;
1171
+ numHours: number | null;
1172
+ totalBilled: number | null;
1173
+ }[] | null;
1174
+ bidRange: {
1175
+ high: number | null;
1176
+ avg: number | null;
1177
+ low: number | null;
1178
+ } | null;
1179
+ jobActivity: {
1180
+ updatedAt: number | null;
1181
+ proposals: {
1182
+ min: number | null;
1183
+ max: number | null;
1184
+ };
1185
+ lastViewedByClient: string | null;
1186
+ lastViewedByClientTimestamp: number | null;
1187
+ hires: number | null;
1188
+ interviewing: number | null;
1189
+ invitesSent: number | null;
1190
+ unansweredInvites: number | null;
1191
+ } | null;
1192
+ activityUpdates: 1 | 2 | 3 | null;
1193
+ jobId: string;
1194
+ suitabilityRating: number | null;
1195
+ suitabilityReason: string | null;
1196
+ proposal: string | null;
1197
+ questionAnswerPairs: {
1198
+ question: string;
1199
+ answer: string;
1200
+ }[] | null;
1201
+ agentStatus: "suitabilityPending" | "suitabilityProcessing" | "suitabilityComplete" | "suitabilityFailed" | "proposalProcessing" | "proposalComplete" | "proposalFailed" | "biddingProcessing" | "biddingComplete" | "biddingFailed" | "jobArchived" | null;
1202
+ leadStatus: "leads" | "contacted" | "viewed" | "replied" | "negotiations" | "won" | "lost" | null;
1203
+ biddingAmount: number | null;
1204
+ boosted: boolean | null;
1205
+ boostingAmount: number | null;
1206
+ biddingTaskScheduled: boolean | null;
1207
+ scheduledBiddingTime: number | null;
1208
+ activity?: Partial<Record<"4h" | "24h", {
1209
+ updatedAt: number | null;
1210
+ proposals: {
1211
+ min: number | null;
1212
+ max: number | null;
1213
+ };
1214
+ lastViewedByClient: string | null;
1215
+ lastViewedByClientTimestamp: number | null;
1216
+ hires: number | null;
1217
+ interviewing: number | null;
1218
+ invitesSent: number | null;
1219
+ unansweredInvites: number | null;
1220
+ }>> | null | undefined;
1221
+ activityDelta?: {
1222
+ proposals: number;
1223
+ hires: number;
1224
+ interviewing: number;
1225
+ invitesSent: number;
1226
+ unansweredInvites: number;
1227
+ } | null | undefined;
1228
+ };
1229
+ bidder: {
1230
+ status: "verification_required" | "shadow_banned" | "healthy" | "banned" | "suspended";
1231
+ cookies: any[] | null;
1232
+ password: string;
1233
+ id: string;
1234
+ createdAt: number;
1235
+ updatedAt: number;
1236
+ provider: "user-provided" | "lancer-provided";
1237
+ email: string;
1238
+ verified: boolean;
1239
+ isActive: boolean;
1240
+ assignedOrganizations: string[];
1241
+ lastUsed: number | null;
1242
+ multiLoginProfileId: string | null;
1243
+ proxyId: string | null;
1244
+ };
1245
+ }>;
121
1246
  export interface ScrapePayload extends infer<typeof scrapePayloadSchema> {
122
1247
  }
123
1248
  export interface ScrapeUserProfilePayload extends infer<typeof scrapeUserProfilePayloadSchema> {
@@ -126,3 +1251,5 @@ export interface ScrapeJobPayload extends infer<typeof scrapeJobPayloadSchema> {
126
1251
  }
127
1252
  export interface ScrapeJobActivityPayload extends infer<typeof scrapeJobActivityPayloadSchema> {
128
1253
  }
1254
+ export interface CheckLeadStatusPayload extends infer<typeof checkLeadStatusPayloadSchema> {
1255
+ }