lancer-shared 1.0.169 → 1.0.171

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