lancer-shared 1.0.170 → 1.0.172

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/dist/bundle.cjs.js +410 -136
  2. package/dist/constants/collections.js +1 -4
  3. package/dist/constants/common-questions.js +1 -4
  4. package/dist/constants/index.d.ts +3 -4
  5. package/dist/constants/index.js +10 -32
  6. package/dist/constants/job-filter-options.js +1 -4
  7. package/dist/constants/job-status.js +7 -12
  8. package/dist/constants/mappings/countryMapping.js +1 -3
  9. package/dist/constants/mappings/regionMapping.js +1 -3
  10. package/dist/constants/routes.d.ts +3 -2
  11. package/dist/constants/routes.js +39 -37
  12. package/dist/constants/upwork-accounts.js +3 -6
  13. package/dist/index.js +4 -20
  14. package/dist/schemas/account/account-status.js +2 -5
  15. package/dist/schemas/account/bidder-account.d.ts +1 -8
  16. package/dist/schemas/account/bidder-account.js +19 -22
  17. package/dist/schemas/account/index.js +3 -19
  18. package/dist/schemas/account/scraper-account.js +21 -24
  19. package/dist/schemas/ai/ai-config.js +8 -11
  20. package/dist/schemas/ai/index.js +3 -19
  21. package/dist/schemas/ai/proposal.js +10 -13
  22. package/dist/schemas/ai/suitability.js +8 -11
  23. package/dist/schemas/bid/bid-result.js +10 -13
  24. package/dist/schemas/bid/bid.d.ts +12 -12
  25. package/dist/schemas/bid/bid.js +27 -30
  26. package/dist/schemas/bid/index.js +2 -18
  27. package/dist/schemas/campaign/campaign-ai-metrics.js +5 -8
  28. package/dist/schemas/campaign/campaign-analytics.js +28 -31
  29. package/dist/schemas/campaign/campaign-expenses.js +5 -8
  30. package/dist/schemas/campaign/campaign-insights.js +30 -30
  31. package/dist/schemas/campaign/campaign-integrations.js +10 -13
  32. package/dist/schemas/campaign/campaign-job-count.js +3 -6
  33. package/dist/schemas/campaign/campaign.js +32 -35
  34. package/dist/schemas/campaign/index.js +7 -23
  35. package/dist/schemas/chat-message/chat-message.js +7 -10
  36. package/dist/schemas/chat-message/index.js +1 -17
  37. package/dist/schemas/config/agency-config.js +6 -9
  38. package/dist/schemas/config/index.js +1 -17
  39. package/dist/schemas/event/index.d.ts +58 -0
  40. package/dist/schemas/index.js +16 -32
  41. package/dist/schemas/job/index.d.ts +95 -3
  42. package/dist/schemas/job-filters/index.js +1 -17
  43. package/dist/schemas/job-filters/job-filters.js +62 -65
  44. package/dist/schemas/lead/index.d.ts +6 -6
  45. package/dist/schemas/lead/index.js +166 -19
  46. package/dist/schemas/lead/lead-note.js +13 -16
  47. package/dist/schemas/lead/lead-status.js +3 -6
  48. package/dist/schemas/logger/index.js +1 -17
  49. package/dist/schemas/logger/log-event.d.ts +29 -0
  50. package/dist/schemas/logger/log-event.js +38 -19
  51. package/dist/schemas/organization/index.js +1 -17
  52. package/dist/schemas/organization/organization.js +14 -17
  53. package/dist/schemas/proxy/index.d.ts +2 -0
  54. package/dist/schemas/proxy/index.js +1 -17
  55. package/dist/schemas/proxy/proxy-available-replacements.d.ts +4 -0
  56. package/dist/schemas/proxy/proxy-country.d.ts +2 -0
  57. package/dist/schemas/proxy/proxy.d.ts +22 -15
  58. package/dist/schemas/proxy/proxy.js +14 -19
  59. package/dist/schemas/saved-search/index.js +8 -11
  60. package/dist/schemas/scraper/index.js +2 -18
  61. package/dist/schemas/scraper/scrape-payload.js +19 -14
  62. package/dist/schemas/scraper/scrape-result.js +21 -21
  63. package/dist/schemas/shared.js +12 -9
  64. package/dist/schemas/time-filter/index.js +5 -8
  65. package/dist/schemas/user/index.js +38 -41
  66. package/dist/types/account/account-status.js +1 -2
  67. package/dist/types/account/bidder-account.js +1 -2
  68. package/dist/types/account/index.js +3 -19
  69. package/dist/types/account/scraper-account.js +1 -2
  70. package/dist/types/ai/ai-config.js +1 -2
  71. package/dist/types/ai/index.js +3 -19
  72. package/dist/types/ai/proposal.js +1 -2
  73. package/dist/types/ai/suitability.js +1 -2
  74. package/dist/types/bid/bid-result.js +1 -2
  75. package/dist/types/bid/bid.js +1 -2
  76. package/dist/types/bid/index.js +2 -18
  77. package/dist/types/campaign/campaign-analytics.js +1 -2
  78. package/dist/types/campaign/campaign-expenses.js +1 -2
  79. package/dist/types/campaign/campaign-insights.js +1 -2
  80. package/dist/types/campaign/campaign-integrations.js +1 -2
  81. package/dist/types/campaign/campaign-job-count.js +1 -2
  82. package/dist/types/campaign/campaign.js +1 -2
  83. package/dist/types/campaign/index.js +6 -22
  84. package/dist/types/chat-message/chat-message.js +1 -2
  85. package/dist/types/chat-message/index.js +1 -17
  86. package/dist/types/config/agency-config.js +1 -2
  87. package/dist/types/config/index.js +1 -17
  88. package/dist/types/index.js +14 -29
  89. package/dist/types/job/index.js +2 -19
  90. package/dist/types/job/job-note.js +1 -2
  91. package/dist/types/job/job-status.js +1 -4
  92. package/dist/types/job-filters/index.js +1 -17
  93. package/dist/types/job-filters/job-filters.js +1 -2
  94. package/dist/types/logger/index.js +1 -17
  95. package/dist/types/logger/log-event.d.ts +3 -1
  96. package/dist/types/logger/log-event.js +1 -2
  97. package/dist/types/saved-search/index.js +1 -2
  98. package/dist/types/scraper/index.js +2 -18
  99. package/dist/types/scraper/scrape-payload.js +1 -2
  100. package/dist/types/scraper/scrape-result.js +1 -2
  101. package/dist/types/shared.js +1 -0
  102. package/dist/types/time-filter/index.js +1 -2
  103. package/dist/types/user/index.js +1 -2
  104. package/dist/utils/index.js +1 -17
  105. package/dist/utils/try-catch.js +8 -23
  106. package/package.json +1 -1
  107. package/dist/constants/account-status.d.ts +0 -3
  108. package/dist/constants/account-status.js +0 -17
  109. package/dist/constants/upwork-filters.d.ts +0 -5
  110. package/dist/constants/upwork-filters.js +0 -75
  111. package/dist/schemas/account/manager-account.d.ts +0 -116
  112. package/dist/schemas/account/manager-account.js +0 -38
  113. package/dist/schemas/ai-config/ai-config.d.ts +0 -39
  114. package/dist/schemas/ai-config/ai-config.js +0 -12
  115. package/dist/schemas/ai-config/index.d.ts +0 -1
  116. package/dist/schemas/ai-config/index.js +0 -17
  117. package/dist/schemas/bid/bid-status.d.ts +0 -30
  118. package/dist/schemas/bid/bid-status.js +0 -15
  119. package/dist/schemas/bidding/index.d.ts +0 -1
  120. package/dist/schemas/bidding/index.js +0 -17
  121. package/dist/schemas/bidding/proposal-bidding-status.d.ts +0 -26
  122. package/dist/schemas/bidding/proposal-bidding-status.js +0 -18
  123. package/dist/schemas/bidding/proposal-dto.d.ts +0 -26
  124. package/dist/schemas/bidding/proposal-dto.js +0 -18
  125. package/dist/schemas/job/index.js +0 -19
  126. package/dist/schemas/job/job-details.d.ts +0 -335
  127. package/dist/schemas/job/job-details.js +0 -29
  128. package/dist/schemas/job/job-note.d.ts +0 -83
  129. package/dist/schemas/job/job-note.js +0 -30
  130. package/dist/schemas/job/job-pipeline.d.ts +0 -74
  131. package/dist/schemas/job/job-pipeline.js +0 -29
  132. package/dist/schemas/job/job-status.d.ts +0 -3
  133. package/dist/schemas/job/job-status.js +0 -27
  134. package/dist/schemas/job/job-suitability.d.ts +0 -12
  135. package/dist/schemas/job/job-suitability.js +0 -13
  136. package/dist/schemas/job/job.d.ts +0 -1160
  137. package/dist/schemas/job/job.js +0 -90
  138. package/dist/schemas/job/pipeline-job.d.ts +0 -608
  139. package/dist/schemas/job/pipeline-job.js +0 -43
  140. package/dist/schemas/job/upwork-job.d.ts +0 -334
  141. package/dist/schemas/job/upwork-job.js +0 -60
  142. package/dist/schemas/knowledge-object/index.d.ts +0 -1
  143. package/dist/schemas/knowledge-object/index.js +0 -17
  144. package/dist/schemas/knowledge-object/knowledge-object.d.ts +0 -128
  145. package/dist/schemas/knowledge-object/knowledge-object.js +0 -47
  146. package/dist/schemas/lead/lead.d.ts +0 -1897
  147. package/dist/schemas/lead/lead.js +0 -143
  148. package/dist/schemas/scraper/scrape-response.d.ts +0 -345
  149. package/dist/schemas/scraper/scrape-response.js +0 -9
  150. package/dist/schemas/upwork-account/index.d.ts +0 -3
  151. package/dist/schemas/upwork-account/index.js +0 -19
  152. package/dist/schemas/upwork-account/upwork-account-status.d.ts +0 -2
  153. package/dist/schemas/upwork-account/upwork-account-status.js +0 -11
  154. package/dist/schemas/upwork-account/upwork-business-manager-account.d.ts +0 -95
  155. package/dist/schemas/upwork-account/upwork-business-manager-account.js +0 -35
  156. package/dist/schemas/upwork-account/upwork-scraper-account.d.ts +0 -92
  157. package/dist/schemas/upwork-account/upwork-scraper-account.js +0 -31
  158. package/dist/schemas/upwork-account/upwork-scraping-account.d.ts +0 -90
  159. package/dist/schemas/upwork-account/upwork-scraping-account.js +0 -30
  160. package/dist/types/account/manager-account.d.ts +0 -7
  161. package/dist/types/account/manager-account.js +0 -2
  162. package/dist/types/ai-config/ai-config.d.ts +0 -6
  163. package/dist/types/ai-config/ai-config.js +0 -2
  164. package/dist/types/ai-config/index.d.ts +0 -1
  165. package/dist/types/ai-config/index.js +0 -17
  166. package/dist/types/bid/bid-status.d.ts +0 -5
  167. package/dist/types/bid/bid-status.js +0 -2
  168. package/dist/types/bidding/index.d.ts +0 -1
  169. package/dist/types/bidding/index.js +0 -17
  170. package/dist/types/bidding/proposal-bidding-status.d.ts +0 -3
  171. package/dist/types/bidding/proposal-bidding-status.js +0 -2
  172. package/dist/types/bidding/proposal-dto.d.ts +0 -3
  173. package/dist/types/bidding/proposal-dto.js +0 -2
  174. package/dist/types/job/job-details.d.ts +0 -36
  175. package/dist/types/job/job-details.js +0 -2
  176. package/dist/types/job/job-pipeline.d.ts +0 -4
  177. package/dist/types/job/job-pipeline.js +0 -2
  178. package/dist/types/job/job-suitability.d.ts +0 -3
  179. package/dist/types/job/job-suitability.js +0 -2
  180. package/dist/types/job/job.d.ts +0 -36
  181. package/dist/types/job/job.js +0 -2
  182. package/dist/types/knowledge-object/index.d.ts +0 -1
  183. package/dist/types/knowledge-object/index.js +0 -17
  184. package/dist/types/knowledge-object/knowledge-object.d.ts +0 -4
  185. package/dist/types/knowledge-object/knowledge-object.js +0 -2
  186. package/dist/types/scraper/scrape-response.d.ts +0 -4
  187. package/dist/types/scraper/scrape-response.js +0 -2
  188. package/dist/types/upwork-account/index.d.ts +0 -3
  189. package/dist/types/upwork-account/index.js +0 -19
  190. package/dist/types/upwork-account/upwork-account-status.d.ts +0 -3
  191. package/dist/types/upwork-account/upwork-account-status.js +0 -2
  192. package/dist/types/upwork-account/upwork-business-manager-account.d.ts +0 -7
  193. package/dist/types/upwork-account/upwork-business-manager-account.js +0 -2
  194. package/dist/types/upwork-account/upwork-scraping-account.d.ts +0 -5
  195. package/dist/types/upwork-account/upwork-scraping-account.js +0 -2
@@ -4410,8 +4410,8 @@ const accountStatusSchema = z.enum([
4410
4410
  ]);
4411
4411
 
4412
4412
  const bidderAccountProvider = z.enum([
4413
- "user-provided",
4414
- "lancer-provided",
4413
+ 'user-provided',
4414
+ 'lancer-provided',
4415
4415
  ]);
4416
4416
  const bidderAccountSchema = z.object({
4417
4417
  id: z.string(),
@@ -4425,7 +4425,6 @@ const bidderAccountSchema = z.object({
4425
4425
  assignedOrganizations: z.array(z.string()),
4426
4426
  lastUsed: z.number().nullable(),
4427
4427
  multiLoginProfileId: z.string().nullable(),
4428
- proxy: stringType().nullable(),
4429
4428
  createdAt: z.number(),
4430
4429
  updatedAt: z.number(),
4431
4430
  });
@@ -5363,6 +5362,17 @@ const jobActivityScrapeFailedEventMetadata = objectType({
5363
5362
  region: regionSchema,
5364
5363
  offsetHour: jobActivityOffsetHourSchema,
5365
5364
  });
5365
+ const feedScrapeStartedEventMetadata = objectType({
5366
+ id: stringType(),
5367
+ startTime: numberType(),
5368
+ region: regionSchema,
5369
+ });
5370
+ const feedScrapeCompletedEventMetadata = objectType({
5371
+ id: stringType(),
5372
+ endTime: numberType(),
5373
+ region: regionSchema,
5374
+ accountUsername: stringType(),
5375
+ });
5366
5376
 
5367
5377
  const bidConfigSchema = z.object({
5368
5378
  agencyName: z.string().nullable(),
@@ -5380,9 +5390,262 @@ const organizationSchema = z.object({
5380
5390
  updatedAt: z.date(),
5381
5391
  });
5382
5392
 
5383
- const proxyStatusSchema = z.enum(['ready', 'pending', 'to_replace']);
5393
+ const proxyCountrySchema = z.enum([
5394
+ 'US',
5395
+ 'CA',
5396
+ 'GB',
5397
+ 'AF',
5398
+ 'AX',
5399
+ 'AL',
5400
+ 'DZ',
5401
+ 'AS',
5402
+ 'AD',
5403
+ 'AO',
5404
+ 'AI',
5405
+ 'AQ',
5406
+ 'AG',
5407
+ 'AR',
5408
+ 'AM',
5409
+ 'AW',
5410
+ 'AU',
5411
+ 'AT',
5412
+ 'AZ',
5413
+ 'BS',
5414
+ 'BH',
5415
+ 'BD',
5416
+ 'BB',
5417
+ 'BY',
5418
+ 'BE',
5419
+ 'BZ',
5420
+ 'BJ',
5421
+ 'BM',
5422
+ 'BT',
5423
+ 'BO',
5424
+ 'BA',
5425
+ 'BW',
5426
+ 'BV',
5427
+ 'BR',
5428
+ 'IO',
5429
+ 'BN',
5430
+ 'BG',
5431
+ 'BF',
5432
+ 'BI',
5433
+ 'KH',
5434
+ 'CM',
5435
+ 'CV',
5436
+ 'KY',
5437
+ 'CF',
5438
+ 'TD',
5439
+ 'CL',
5440
+ 'CN',
5441
+ 'CX',
5442
+ 'CC',
5443
+ 'CO',
5444
+ 'KM',
5445
+ 'CG',
5446
+ 'CD',
5447
+ 'CK',
5448
+ 'CR',
5449
+ 'CI',
5450
+ 'HR',
5451
+ 'CU',
5452
+ 'CY',
5453
+ 'CZ',
5454
+ 'DK',
5455
+ 'DJ',
5456
+ 'DM',
5457
+ 'DO',
5458
+ 'EC',
5459
+ 'EG',
5460
+ 'SV',
5461
+ 'GQ',
5462
+ 'ER',
5463
+ 'EE',
5464
+ 'ET',
5465
+ 'FK',
5466
+ 'FO',
5467
+ 'FJ',
5468
+ 'FI',
5469
+ 'FR',
5470
+ 'GF',
5471
+ 'PF',
5472
+ 'TF',
5473
+ 'GA',
5474
+ 'GM',
5475
+ 'GE',
5476
+ 'DE',
5477
+ 'GH',
5478
+ 'GI',
5479
+ 'GR',
5480
+ 'GL',
5481
+ 'GD',
5482
+ 'GP',
5483
+ 'GU',
5484
+ 'GT',
5485
+ 'GG',
5486
+ 'GN',
5487
+ 'GW',
5488
+ 'GY',
5489
+ 'HT',
5490
+ 'HM',
5491
+ 'VA',
5492
+ 'HN',
5493
+ 'HK',
5494
+ 'HU',
5495
+ 'IS',
5496
+ 'IN',
5497
+ 'ID',
5498
+ 'IR',
5499
+ 'IQ',
5500
+ 'IE',
5501
+ 'IM',
5502
+ 'IL',
5503
+ 'IT',
5504
+ 'JM',
5505
+ 'JP',
5506
+ 'JE',
5507
+ 'JO',
5508
+ 'KZ',
5509
+ 'KE',
5510
+ 'KI',
5511
+ 'KP',
5512
+ 'KR',
5513
+ 'KW',
5514
+ 'KG',
5515
+ 'LA',
5516
+ 'LV',
5517
+ 'LB',
5518
+ 'LS',
5519
+ 'LR',
5520
+ 'LY',
5521
+ 'LI',
5522
+ 'LT',
5523
+ 'LU',
5524
+ 'MO',
5525
+ 'MK',
5526
+ 'MG',
5527
+ 'MW',
5528
+ 'MY',
5529
+ 'MV',
5530
+ 'ML',
5531
+ 'MT',
5532
+ 'MH',
5533
+ 'MQ',
5534
+ 'MR',
5535
+ 'MU',
5536
+ 'YT',
5537
+ 'MX',
5538
+ 'FM',
5539
+ 'MD',
5540
+ 'MC',
5541
+ 'MN',
5542
+ 'ME',
5543
+ 'MS',
5544
+ 'MA',
5545
+ 'MZ',
5546
+ 'MM',
5547
+ 'NA',
5548
+ 'NR',
5549
+ 'NP',
5550
+ 'NL',
5551
+ 'AN',
5552
+ 'NC',
5553
+ 'NZ',
5554
+ 'NI',
5555
+ 'NE',
5556
+ 'NG',
5557
+ 'NU',
5558
+ 'NF',
5559
+ 'MP',
5560
+ 'NO',
5561
+ 'OM',
5562
+ 'PK',
5563
+ 'PW',
5564
+ 'PS',
5565
+ 'PA',
5566
+ 'PG',
5567
+ 'PY',
5568
+ 'PE',
5569
+ 'PH',
5570
+ 'PN',
5571
+ 'PL',
5572
+ 'PT',
5573
+ 'PR',
5574
+ 'QA',
5575
+ 'RE',
5576
+ 'RO',
5577
+ 'RU',
5578
+ 'RW',
5579
+ 'BL',
5580
+ 'SH',
5581
+ 'KN',
5582
+ 'LC',
5583
+ 'MF',
5584
+ 'PM',
5585
+ 'VC',
5586
+ 'WS',
5587
+ 'SM',
5588
+ 'ST',
5589
+ 'SA',
5590
+ 'SN',
5591
+ 'RS',
5592
+ 'SC',
5593
+ 'SL',
5594
+ 'SG',
5595
+ 'SK',
5596
+ 'SI',
5597
+ 'SB',
5598
+ 'SO',
5599
+ 'ZA',
5600
+ 'GS',
5601
+ 'ES',
5602
+ 'LK',
5603
+ 'SD',
5604
+ 'SR',
5605
+ 'SJ',
5606
+ 'SZ',
5607
+ 'SE',
5608
+ 'CH',
5609
+ 'SY',
5610
+ 'TW',
5611
+ 'TJ',
5612
+ 'TZ',
5613
+ 'TH',
5614
+ 'TL',
5615
+ 'TG',
5616
+ 'TK',
5617
+ 'TO',
5618
+ 'TT',
5619
+ 'TN',
5620
+ 'TR',
5621
+ 'TM',
5622
+ 'TC',
5623
+ 'TV',
5624
+ 'UG',
5625
+ 'UA',
5626
+ 'AE',
5627
+ 'UM',
5628
+ 'UY',
5629
+ 'UZ',
5630
+ 'VU',
5631
+ 'VE',
5632
+ 'VN',
5633
+ 'VG',
5634
+ 'VI',
5635
+ 'WF',
5636
+ 'EH',
5637
+ 'YE',
5638
+ 'ZM',
5639
+ 'ZW',
5640
+ ]);
5641
+
5642
+ const proxyStatusSchema = z.enum([
5643
+ 'ready',
5644
+ 'not_processed',
5645
+ 'processed',
5646
+ 'flagged',
5647
+ ]);
5384
5648
  const proxyProviderSchema = z.enum(['webshare']);
5385
- const proxyCountrySchema = z.enum(['USA']);
5386
5649
  const proxySchema = z.object({
5387
5650
  id: z.string(),
5388
5651
  externalId: z.string(),
@@ -5391,15 +5654,22 @@ const proxySchema = z.object({
5391
5654
  username: z.string(),
5392
5655
  password: z.string(),
5393
5656
  provider: proxyProviderSchema,
5394
- country: proxyCountrySchema,
5657
+ fraudScore: z.number().nullable(),
5658
+ claimedCountry: proxyCountrySchema,
5395
5659
  status: proxyStatusSchema,
5660
+ country: proxyCountrySchema.nullable(),
5396
5661
  bidderId: z.string().nullable(),
5397
5662
  });
5398
5663
  const externalProxySchema = proxySchema.omit({
5399
5664
  id: true,
5400
5665
  bidderId: true,
5666
+ status: true,
5667
+ country: true,
5668
+ fraudScore: true,
5401
5669
  });
5402
5670
 
5671
+ const proxyAvailableReplacementsSchema = z.record(proxyProviderSchema, z.number());
5672
+
5403
5673
  const savedSearchSchema = objectType({
5404
5674
  id: numberType().int(),
5405
5675
  name: stringType(),
@@ -5515,6 +5785,100 @@ const leadStatusDisplayMap = {
5515
5785
  lost: "Lost",
5516
5786
  };
5517
5787
 
5788
+ // Base collection names
5789
+ const COLLECTIONS = {
5790
+ USERS: 'users',
5791
+ SETTINGS: 'settings',
5792
+ CAMPAIGNS: 'campaigns',
5793
+ LEADS: 'leads',
5794
+ EVENTS: 'events',
5795
+ SCRAPER_ACCOUNTS: 'scrapers',
5796
+ BIDDER_ACCOUNTS: 'bidders',
5797
+ CAMPAIGN_ACTIVITIES: (userId, campaignId) => `users/${userId}/campaigns/${campaignId}/activities`,
5798
+ ORGANIZATIONS: 'organizations',
5799
+ PROXIES: 'proxies',
5800
+ };
5801
+
5802
+ const commonQuestions = [
5803
+ {
5804
+ id: 'similar_experience',
5805
+ question: 'Describe your recent experience with similar projects',
5806
+ placeholder: 'ex: [Answer the question based on case studies, if not certain ask to discuss in DMs]',
5807
+ },
5808
+ {
5809
+ id: 'profile_links',
5810
+ question: 'Include a link to your GitHub profile and/or website',
5811
+ placeholder: 'ex: [https://github.com/yourusername or https://yourwebsite.com]',
5812
+ },
5813
+ {
5814
+ id: 'frameworks',
5815
+ question: 'What frameworks have you worked with?',
5816
+ placeholder: 'ex: [NextJS, React, TailwindCSS, etc...]',
5817
+ },
5818
+ {
5819
+ id: 'testing_approach',
5820
+ question: 'Describe your approach to testing and improving QA',
5821
+ placeholder: 'ex: [We are using test-driven development, and we are using Jest for testing]',
5822
+ },
5823
+ {
5824
+ id: 'certifications',
5825
+ question: 'Please list any certifications related to this project',
5826
+ placeholder: 'ex: [Certification in React, Certification in NextJS, etc...]',
5827
+ },
5828
+ {
5829
+ id: 'similar_project',
5830
+ question: 'What past project or job have you had that is most like this one and why?',
5831
+ placeholder: "ex: [Describe a similar project and explain the key similarities... If you can't answer based on the case studies, ask to discuss in DMs]",
5832
+ },
5833
+ {
5834
+ id: 'project_fit',
5835
+ question: 'Why do you think you are a good fit for this particular project?',
5836
+ placeholder: 'ex: [Explain how your skills and experience match the project requirements...]',
5837
+ },
5838
+ {
5839
+ id: 'job_questions',
5840
+ question: 'Do you have any questions about the job description?',
5841
+ placeholder: 'ex: [Ask for any clarifications needed about the role or requirements...]',
5842
+ },
5843
+ {
5844
+ id: 'project_questions',
5845
+ question: 'What questions do you have about the project?',
5846
+ placeholder: 'ex: [Ask about project scope, timeline, team structure...]',
5847
+ },
5848
+ {
5849
+ id: 'project_suggestions',
5850
+ question: 'Do you have suggestions to make this project run successfully?',
5851
+ placeholder: 'ex: [Ask to discuss in DMs]',
5852
+ },
5853
+ {
5854
+ id: 'company_info',
5855
+ question: 'What is your company website URL? . . . Company size?',
5856
+ placeholder: 'ex: [https://company.com | Number of employees: ...]',
5857
+ },
5858
+ ];
5859
+
5860
+ const jobStatusOrder = [
5861
+ "leads",
5862
+ "contacted",
5863
+ "viewed",
5864
+ "replied",
5865
+ "negotiations",
5866
+ "won",
5867
+ "lost",
5868
+ ];
5869
+ const getPreviousStatus = (status) => {
5870
+ if (status === "won")
5871
+ return "negotiations";
5872
+ if (status === "lost")
5873
+ return "negotiations";
5874
+ const index = jobStatusOrder.indexOf(status);
5875
+ return index > 0 ? jobStatusOrder[index - 1] : null;
5876
+ };
5877
+ const getNextStatus = (status) => {
5878
+ const index = jobStatusOrder.indexOf(status);
5879
+ return index < jobStatusOrder.length - 1 ? jobStatusOrder[index + 1] : null;
5880
+ };
5881
+
5518
5882
  const countryMapping = {
5519
5883
  USA: "United States",
5520
5884
  GBR: "United Kingdom",
@@ -5875,97 +6239,17 @@ const regionMapping = {
5875
6239
  ],
5876
6240
  };
5877
6241
 
5878
- const commonQuestions = [
5879
- {
5880
- id: 'similar_experience',
5881
- question: 'Describe your recent experience with similar projects',
5882
- placeholder: 'ex: [Answer the question based on case studies, if not certain ask to discuss in DMs]',
5883
- },
5884
- {
5885
- id: 'profile_links',
5886
- question: 'Include a link to your GitHub profile and/or website',
5887
- placeholder: 'ex: [https://github.com/yourusername or https://yourwebsite.com]',
5888
- },
5889
- {
5890
- id: 'frameworks',
5891
- question: 'What frameworks have you worked with?',
5892
- placeholder: 'ex: [NextJS, React, TailwindCSS, etc...]',
5893
- },
5894
- {
5895
- id: 'testing_approach',
5896
- question: 'Describe your approach to testing and improving QA',
5897
- placeholder: 'ex: [We are using test-driven development, and we are using Jest for testing]',
5898
- },
5899
- {
5900
- id: 'certifications',
5901
- question: 'Please list any certifications related to this project',
5902
- placeholder: 'ex: [Certification in React, Certification in NextJS, etc...]',
5903
- },
5904
- {
5905
- id: 'similar_project',
5906
- question: 'What past project or job have you had that is most like this one and why?',
5907
- placeholder: "ex: [Describe a similar project and explain the key similarities... If you can't answer based on the case studies, ask to discuss in DMs]",
5908
- },
5909
- {
5910
- id: 'project_fit',
5911
- question: 'Why do you think you are a good fit for this particular project?',
5912
- placeholder: 'ex: [Explain how your skills and experience match the project requirements...]',
5913
- },
5914
- {
5915
- id: 'job_questions',
5916
- question: 'Do you have any questions about the job description?',
5917
- placeholder: 'ex: [Ask for any clarifications needed about the role or requirements...]',
5918
- },
5919
- {
5920
- id: 'project_questions',
5921
- question: 'What questions do you have about the project?',
5922
- placeholder: 'ex: [Ask about project scope, timeline, team structure...]',
5923
- },
5924
- {
5925
- id: 'project_suggestions',
5926
- question: 'Do you have suggestions to make this project run successfully?',
5927
- placeholder: 'ex: [Ask to discuss in DMs]',
5928
- },
5929
- {
5930
- id: 'company_info',
5931
- question: 'What is your company website URL? . . . Company size?',
5932
- placeholder: 'ex: [https://company.com | Number of employees: ...]',
5933
- },
5934
- ];
5935
-
5936
- const jobStatusOrder = [
5937
- "leads",
5938
- "contacted",
5939
- "viewed",
5940
- "replied",
5941
- "negotiations",
5942
- "won",
5943
- "lost",
5944
- ];
5945
- const getPreviousStatus = (status) => {
5946
- if (status === "won")
5947
- return "negotiations";
5948
- if (status === "lost")
5949
- return "negotiations";
5950
- const index = jobStatusOrder.indexOf(status);
5951
- return index > 0 ? jobStatusOrder[index - 1] : null;
5952
- };
5953
- const getNextStatus = (status) => {
5954
- const index = jobStatusOrder.indexOf(status);
5955
- return index < jobStatusOrder.length - 1 ? jobStatusOrder[index + 1] : null;
5956
- };
5957
-
5958
6242
  const ROUTES = {
5959
6243
  AUTH: {
5960
- BASE: "auth",
5961
- REGISTER: "auth/register",
6244
+ BASE: 'auth',
6245
+ REGISTER: 'auth/register',
5962
6246
  },
5963
6247
  EVENTS: {
5964
- BASE: "events",
6248
+ BASE: 'events',
5965
6249
  BY_ID: (id) => `events/${id}`,
5966
6250
  },
5967
6251
  CAMPAIGNS: {
5968
- BASE: "campaigns",
6252
+ BASE: 'campaigns',
5969
6253
  BY_ID: (id) => `campaigns/${id}`,
5970
6254
  LEADS: {
5971
6255
  BASE: (campaignId) => `campaigns/${campaignId}/leads`,
@@ -5998,68 +6282,69 @@ const ROUTES = {
5998
6282
  },
5999
6283
  },
6000
6284
  JOBS: {
6001
- BASE: "jobs",
6285
+ BASE: 'jobs',
6002
6286
  BY_ID: (id) => `jobs/${id}`,
6003
6287
  BY_URL: (url) => `jobs/${encodeURIComponent(url)}`,
6004
- IMPORT: "jobs/import",
6005
- FILTER_OPTIONS: "jobs/filter-options",
6006
- TOTAL_JOBS: "jobs/total-jobs",
6288
+ IMPORT: 'jobs/import',
6289
+ FILTER_OPTIONS: 'jobs/filter-options',
6290
+ TOTAL_JOBS: 'jobs/total-jobs',
6007
6291
  GET_JOB_TITLE: (jobId) => `jobs/get-job-title/${jobId}`,
6008
- SEARCH: "jobs/search",
6292
+ SEARCH: 'jobs/search',
6009
6293
  },
6010
6294
  USERS: {
6011
- BASE: "users",
6295
+ BASE: 'users',
6012
6296
  BY_ID: (id) => `users/${id}`,
6013
6297
  },
6014
6298
  AI_CONFIG: {
6015
- BASE: "ai-config",
6016
- GENERATE_KNOWLEDGE_BASE: "ai-config/generate-knowledge-base",
6299
+ BASE: 'ai-config',
6300
+ GENERATE_KNOWLEDGE_BASE: 'ai-config/generate-knowledge-base',
6017
6301
  },
6018
6302
  COOKIES: {
6019
- BASE: "cookies",
6020
- SCRAPE: "cookies/scrape-cookies",
6303
+ BASE: 'cookies',
6304
+ SCRAPE: 'cookies/scrape-cookies',
6021
6305
  },
6022
6306
  SCRAPING: {
6023
- BASE: "scraping",
6024
- START_SCRAPING: "scraping/start",
6025
- START_WORLDWIDE_SCRAPING: "scraping/start-worldwide",
6026
- START_US_SCRAPING: "scraping/start-us",
6027
- START_UK_SCRAPING: "scraping/start-uk",
6028
- UPDATE_ACTIVITY_4H_WORLDWIDE: "scraping/update-activity/4h",
6029
- UPDATE_ACTIVITY_4H_UK: "scraping/update-activity/4h/uk",
6030
- UPDATE_ACTIVITY_4H_US: "scraping/update-activity/4h/us",
6031
- UPDATE_ACTIVITY_24H_WORLDWIDE: "scraping/update-activity/24h",
6032
- UPDATE_ACTIVITY_24H_UK: "scraping/update-activity/24h/uk",
6033
- UPDATE_ACTIVITY_24H_US: "scraping/update-activity/24h/us",
6034
- SCRAPE_FEED_WORLDWIDE: "scraping/feed-worldwide",
6035
- SCRAPE_FEED_UK: "scraping/feed-uk",
6036
- SCRAPE_FEED_US: "scraping/feed-us",
6037
- SCRAPE_JOB: "scraping/job",
6038
- SCRAPE_JOB_ACTIVITY: "scraping/job-activity",
6307
+ BASE: 'scraping',
6308
+ START_SCRAPING: 'scraping/start',
6309
+ START_WORLDWIDE_SCRAPING: 'scraping/start-worldwide',
6310
+ START_US_SCRAPING: 'scraping/start-us',
6311
+ START_UK_SCRAPING: 'scraping/start-uk',
6312
+ UPDATE_ACTIVITY_4H_WORLDWIDE: 'scraping/update-activity/4h',
6313
+ UPDATE_ACTIVITY_4H_UK: 'scraping/update-activity/4h/uk',
6314
+ UPDATE_ACTIVITY_4H_US: 'scraping/update-activity/4h/us',
6315
+ UPDATE_ACTIVITY_24H_WORLDWIDE: 'scraping/update-activity/24h',
6316
+ UPDATE_ACTIVITY_24H_UK: 'scraping/update-activity/24h/uk',
6317
+ UPDATE_ACTIVITY_24H_US: 'scraping/update-activity/24h/us',
6318
+ SCRAPE_FEED_WORLDWIDE: 'scraping/feed-worldwide',
6319
+ SCRAPE_FEED_UK: 'scraping/feed-uk',
6320
+ SCRAPE_FEED_US: 'scraping/feed-us',
6321
+ SCRAPE_JOB: 'scraping/job',
6322
+ SCRAPE_JOB_ACTIVITY: 'scraping/job-activity',
6039
6323
  },
6040
6324
  ADMIN: {
6041
- BASE: "admin",
6325
+ BASE: 'admin',
6042
6326
  BIDDER_ACCOUNTS: {
6043
- BASE: "admin/bidder-accounts",
6327
+ BASE: 'admin/bidder-accounts',
6044
6328
  BY_ID: (id) => `admin/bidder-accounts/${id}`,
6045
6329
  BY_PROVIDER: (provider) => `admin/bidder-accounts/${provider}`,
6046
6330
  BY_PROVIDER_AND_ID: (provider, id) => `admin/bidder-accounts/${provider}/${id}`,
6047
6331
  },
6048
6332
  SCRAPER_ACCOUNTS: {
6049
- BASE: "admin/scraper-accounts",
6333
+ BASE: 'admin/scraper-accounts',
6050
6334
  BY_ID: (id) => `admin/scraper-accounts/${id}`,
6051
6335
  BY_PROVIDER: (provider) => `admin/scraper-accounts/${provider}`,
6052
6336
  BY_PROVIDER_AND_ID: (provider, id) => `admin/scraper-accounts/${provider}/${id}`,
6053
6337
  },
6054
6338
  PROXIES: {
6055
- BASE: "admin/proxies",
6339
+ BASE: 'admin/proxies',
6056
6340
  BY_ID: (id) => `admin/proxies/${id}`,
6057
6341
  REPLACE_PROXY: (id) => `admin/proxies/${id}/replace`,
6058
- SYNC: "admin/proxies/sync",
6342
+ SYNC: 'admin/proxies/sync',
6343
+ AVAILABLE_REPLACEMENTS: 'admin/proxies/available-replacements',
6059
6344
  },
6060
6345
  },
6061
6346
  BID: {
6062
- BASE: "bid",
6347
+ BASE: 'bid',
6063
6348
  BID_ON_JOB: (userId, campaignId, leadId) => `bid/${userId}/${campaignId}/${leadId}`,
6064
6349
  },
6065
6350
  };
@@ -6072,20 +6357,6 @@ const buildRoute = (route, params = {}) => {
6072
6357
  return builtRoute;
6073
6358
  };
6074
6359
 
6075
- // Base collection names
6076
- const COLLECTIONS = {
6077
- USERS: 'users',
6078
- SETTINGS: 'settings',
6079
- CAMPAIGNS: 'campaigns',
6080
- LEADS: 'leads',
6081
- EVENTS: 'events',
6082
- SCRAPER_ACCOUNTS: 'scrapers',
6083
- BIDDER_ACCOUNTS: 'bidders',
6084
- CAMPAIGN_ACTIVITIES: (userId, campaignId) => `users/${userId}/campaigns/${campaignId}/activities`,
6085
- ORGANIZATIONS: 'organizations',
6086
- PROXIES: 'proxies',
6087
- };
6088
-
6089
6360
  const accountStatusOrder = [
6090
6361
  'verification_required',
6091
6362
  'shadow_banned',
@@ -6179,6 +6450,8 @@ exports.engagementTypeEnum = engagementTypeEnum;
6179
6450
  exports.englishLevelEnum = englishLevelEnum;
6180
6451
  exports.experienceLevelEnum = experienceLevelEnum;
6181
6452
  exports.externalProxySchema = externalProxySchema;
6453
+ exports.feedScrapeCompletedEventMetadata = feedScrapeCompletedEventMetadata;
6454
+ exports.feedScrapeStartedEventMetadata = feedScrapeStartedEventMetadata;
6182
6455
  exports.freelancerBidPayloadSchema = freelancerBidPayloadSchema;
6183
6456
  exports.freelancerBidProposalDataSchema = freelancerBidProposalDataSchema;
6184
6457
  exports.getNextStatus = getNextStatus;
@@ -6214,6 +6487,7 @@ exports.paymentTypeEnum = paymentTypeEnum;
6214
6487
  exports.projectDurationEnum = projectDurationEnum;
6215
6488
  exports.proposalResponseSchema = proposalResponseSchema;
6216
6489
  exports.proposalSchema = proposalSchema;
6490
+ exports.proxyAvailableReplacementsSchema = proxyAvailableReplacementsSchema;
6217
6491
  exports.proxyCountrySchema = proxyCountrySchema;
6218
6492
  exports.proxyProviderSchema = proxyProviderSchema;
6219
6493
  exports.proxySchema = proxySchema;
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.COLLECTIONS = void 0;
4
1
  // Base collection names
5
- exports.COLLECTIONS = {
2
+ export const COLLECTIONS = {
6
3
  USERS: 'users',
7
4
  SETTINGS: 'settings',
8
5
  CAMPAIGNS: 'campaigns',
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.commonQuestions = void 0;
4
- exports.commonQuestions = [
1
+ export const commonQuestions = [
5
2
  {
6
3
  id: 'similar_experience',
7
4
  question: 'Describe your recent experience with similar projects',
@@ -7,12 +7,11 @@ export declare const paths: {
7
7
  details: (id: string) => string;
8
8
  };
9
9
  };
10
+ export * from './collections';
11
+ export * from './common-questions';
10
12
  export * from './job-filter-options';
13
+ export * from './job-status';
11
14
  export { default as countryMapping } from './mappings/countryMapping';
12
15
  export { default as regionMapping } from './mappings/regionMapping';
13
- export * from './job-filter-options';
14
- export * from './common-questions';
15
- export * from './job-status';
16
16
  export * from './routes';
17
- export * from './collections';
18
17
  export * from './upwork-accounts';