lancer-shared 1.2.34 → 1.2.35

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 (204) hide show
  1. package/dist/bundle.cjs.js +51 -19
  2. package/dist/constants/account-status.d.ts +3 -0
  3. package/dist/constants/account-status.js +17 -0
  4. package/dist/constants/collections.d.ts +13 -0
  5. package/dist/constants/collections.js +16 -0
  6. package/dist/constants/common-questions.js +60 -0
  7. package/dist/constants/index.js +40 -0
  8. package/dist/constants/job-filter-options.js +268 -0
  9. package/dist/constants/job-status.js +26 -0
  10. package/dist/constants/mappings/countryMapping.js +122 -0
  11. package/dist/constants/mappings/regionMapping.js +242 -0
  12. package/dist/constants/organization.d.ts +2 -0
  13. package/dist/constants/routes.js +108 -0
  14. package/dist/constants/upwork-accounts.js +21 -0
  15. package/dist/index.js +20 -0
  16. package/dist/schemas/account/account-status.js +11 -0
  17. package/dist/schemas/account/bidder-account.js +37 -0
  18. package/dist/schemas/account/index.js +19 -0
  19. package/dist/schemas/account/manager-account.d.ts +116 -0
  20. package/dist/schemas/account/manager-account.js +38 -0
  21. package/dist/schemas/account/scraper-account.js +37 -0
  22. package/dist/schemas/agent/index.d.ts +20 -10
  23. package/dist/schemas/ai/ai-config.d.ts +36 -0
  24. package/dist/schemas/ai/ai-config.js +12 -0
  25. package/dist/schemas/ai/index.d.ts +3 -0
  26. package/dist/schemas/ai/index.js +19 -0
  27. package/dist/schemas/ai/proposal.d.ts +82 -0
  28. package/dist/schemas/ai/proposal.js +16 -0
  29. package/dist/schemas/ai/suitability.d.ts +37 -0
  30. package/dist/schemas/ai/suitability.js +17 -0
  31. package/dist/schemas/bid/bid-result.js +15 -0
  32. package/dist/schemas/bid/bid.js +36 -0
  33. package/dist/schemas/bid/index.js +18 -0
  34. package/dist/schemas/bidding/index.d.ts +1 -0
  35. package/dist/schemas/bidding/index.js +17 -0
  36. package/dist/schemas/bidding/proposal-bidding-status.d.ts +26 -0
  37. package/dist/schemas/bidding/proposal-bidding-status.js +18 -0
  38. package/dist/schemas/campaign/campaign-ai-metrics.js +9 -0
  39. package/dist/schemas/campaign/campaign-analytics.d.ts +3975 -206
  40. package/dist/schemas/campaign/campaign-analytics.js +41 -0
  41. package/dist/schemas/campaign/campaign-expenses.js +9 -0
  42. package/dist/schemas/campaign/campaign-insights.js +31 -0
  43. package/dist/schemas/campaign/campaign-integrations.d.ts +87 -0
  44. package/dist/schemas/campaign/campaign-integrations.js +16 -0
  45. package/dist/schemas/campaign/campaign-job-count.d.ts +2 -0
  46. package/dist/schemas/campaign/campaign-job-count.js +6 -0
  47. package/dist/schemas/campaign/campaign.d.ts +9 -9
  48. package/dist/schemas/campaign/campaign.js +44 -0
  49. package/dist/schemas/campaign/index.js +23 -0
  50. package/dist/schemas/chat-message/chat-message.d.ts +31 -0
  51. package/dist/schemas/chat-message/chat-message.js +13 -0
  52. package/dist/schemas/chat-message/index.d.ts +1 -0
  53. package/dist/schemas/chat-message/index.js +17 -0
  54. package/dist/schemas/config/agency-config.d.ts +17 -0
  55. package/dist/schemas/config/agency-config.js +10 -0
  56. package/dist/schemas/config/index.d.ts +1 -0
  57. package/dist/schemas/config/index.js +17 -0
  58. package/dist/schemas/dashboard/index.d.ts +0 -20
  59. package/dist/schemas/index.d.ts +0 -1
  60. package/dist/schemas/index.js +32 -0
  61. package/dist/schemas/job/index.js +19 -0
  62. package/dist/schemas/job/job-details.d.ts +335 -0
  63. package/dist/schemas/job/job-details.js +29 -0
  64. package/dist/schemas/job/job-note.d.ts +83 -0
  65. package/dist/schemas/job/job-note.js +30 -0
  66. package/dist/schemas/job/job-status.d.ts +3 -0
  67. package/dist/schemas/job/job-status.js +27 -0
  68. package/dist/schemas/job/job.d.ts +1160 -0
  69. package/dist/schemas/job/job.js +90 -0
  70. package/dist/schemas/job/pipeline-job.d.ts +602 -0
  71. package/dist/schemas/job/pipeline-job.js +42 -0
  72. package/dist/schemas/job/upwork-job.d.ts +334 -0
  73. package/dist/schemas/job/upwork-job.js +60 -0
  74. package/dist/schemas/job-filters/index.d.ts +1 -0
  75. package/dist/schemas/job-filters/index.js +17 -0
  76. package/dist/schemas/job-filters/job-filters.d.ts +241 -0
  77. package/dist/schemas/job-filters/job-filters.js +87 -0
  78. package/dist/schemas/lead/index.d.ts +856 -14
  79. package/dist/schemas/lead/index.js +19 -0
  80. package/dist/schemas/lead/lead-note.d.ts +83 -0
  81. package/dist/schemas/lead/lead-note.js +30 -0
  82. package/dist/schemas/lead/lead-status.d.ts +10 -7
  83. package/dist/schemas/lead/lead-status.js +26 -0
  84. package/dist/schemas/lead/lead.d.ts +1897 -0
  85. package/dist/schemas/lead/lead.js +143 -0
  86. package/dist/schemas/lead/nuxt.d.ts +1664 -0
  87. package/dist/schemas/logger/index.js +17 -0
  88. package/dist/schemas/logger/log-event.d.ts +5 -5
  89. package/dist/schemas/logger/log-event.js +66 -0
  90. package/dist/schemas/organization/index.js +17 -0
  91. package/dist/schemas/organization/organization.d.ts +70 -0
  92. package/dist/schemas/organization/organization.js +19 -0
  93. package/dist/schemas/proxy/index.js +17 -0
  94. package/dist/schemas/proxy/proxy.js +21 -0
  95. package/dist/schemas/saved-search/index.js +12 -0
  96. package/dist/schemas/scraper/index.js +18 -0
  97. package/dist/schemas/scraper/scrape-payload.d.ts +15 -10
  98. package/dist/schemas/scraper/scrape-payload.js +16 -0
  99. package/dist/schemas/scraper/scrape-result.js +23 -0
  100. package/dist/schemas/shared.d.ts +20 -0
  101. package/dist/schemas/shared.js +16 -0
  102. package/dist/schemas/time-filter/index.js +9 -0
  103. package/dist/schemas/upwork-account/index.d.ts +3 -0
  104. package/dist/schemas/upwork-account/index.js +19 -0
  105. package/dist/schemas/upwork-account/upwork-account-status.d.ts +2 -0
  106. package/dist/schemas/upwork-account/upwork-account-status.js +11 -0
  107. package/dist/schemas/upwork-account/upwork-business-manager-account.d.ts +95 -0
  108. package/dist/schemas/upwork-account/upwork-business-manager-account.js +35 -0
  109. package/dist/schemas/upwork-account/upwork-scraping-account.d.ts +90 -0
  110. package/dist/schemas/upwork-account/upwork-scraping-account.js +29 -0
  111. package/dist/schemas/user/index.js +55 -0
  112. package/dist/types/account/account-status.d.ts +3 -0
  113. package/dist/types/account/account-status.js +2 -0
  114. package/dist/types/account/bidder-account.d.ts +7 -0
  115. package/dist/types/account/bidder-account.js +2 -0
  116. package/dist/types/account/index.d.ts +3 -0
  117. package/dist/types/account/index.js +19 -0
  118. package/dist/types/account/manager-account.d.ts +7 -0
  119. package/dist/types/account/manager-account.js +2 -0
  120. package/dist/types/account/scraper-account.d.ts +5 -0
  121. package/dist/types/account/scraper-account.js +2 -0
  122. package/dist/types/ai/ai-config.d.ts +6 -0
  123. package/dist/types/ai/ai-config.js +2 -0
  124. package/dist/types/ai/index.d.ts +3 -0
  125. package/dist/types/ai/index.js +19 -0
  126. package/dist/types/ai/proposal.d.ts +10 -0
  127. package/dist/types/ai/proposal.js +2 -0
  128. package/dist/types/ai/suitability.d.ts +6 -0
  129. package/dist/types/ai/suitability.js +2 -0
  130. package/dist/types/bid/bid-result.d.ts +5 -0
  131. package/dist/types/bid/bid-result.js +2 -0
  132. package/dist/types/bid/bid.d.ts +9 -0
  133. package/dist/types/bid/bid.js +2 -0
  134. package/dist/types/bid/index.d.ts +2 -0
  135. package/dist/types/bid/index.js +18 -0
  136. package/dist/types/bidding/index.d.ts +1 -0
  137. package/dist/types/bidding/index.js +17 -0
  138. package/dist/types/bidding/proposal-bidding-status.d.ts +3 -0
  139. package/dist/types/bidding/proposal-bidding-status.js +2 -0
  140. package/dist/types/campaign/campaign-analytics.d.ts +7 -0
  141. package/dist/types/campaign/campaign-analytics.js +2 -0
  142. package/dist/types/campaign/campaign-expenses.d.ts +3 -0
  143. package/dist/types/campaign/campaign-expenses.js +2 -0
  144. package/dist/types/campaign/campaign-insights.js +2 -0
  145. package/dist/types/campaign/campaign-integrations.d.ts +6 -0
  146. package/dist/types/campaign/campaign-integrations.js +2 -0
  147. package/dist/types/campaign/campaign-job-count.d.ts +4 -0
  148. package/dist/types/campaign/campaign-job-count.js +2 -0
  149. package/dist/types/campaign/campaign.js +2 -0
  150. package/dist/types/campaign/index.js +22 -0
  151. package/dist/types/chat-message/chat-message.d.ts +4 -0
  152. package/dist/types/chat-message/chat-message.js +2 -0
  153. package/dist/types/chat-message/index.d.ts +1 -0
  154. package/dist/types/chat-message/index.js +17 -0
  155. package/dist/types/config/agency-config.d.ts +4 -0
  156. package/dist/types/config/agency-config.js +2 -0
  157. package/dist/types/config/index.d.ts +1 -0
  158. package/dist/types/config/index.js +17 -0
  159. package/dist/types/index.d.ts +15 -0
  160. package/dist/types/index.js +29 -0
  161. package/dist/types/job/index.d.ts +48 -0
  162. package/dist/types/job/index.js +19 -0
  163. package/dist/types/job/job-details.d.ts +36 -0
  164. package/dist/types/job/job-details.js +2 -0
  165. package/dist/types/job/job-note.d.ts +10 -0
  166. package/dist/types/job/job-note.js +2 -0
  167. package/dist/types/job/job-status.d.ts +5 -0
  168. package/dist/types/job/job-status.js +12 -0
  169. package/dist/types/job/job.d.ts +36 -0
  170. package/dist/types/job/job.js +2 -0
  171. package/dist/types/job/nuxt.d.ts +4 -0
  172. package/dist/types/job-filters/index.d.ts +1 -0
  173. package/dist/types/job-filters/index.js +17 -0
  174. package/dist/types/job-filters/job-filters.d.ts +4 -0
  175. package/dist/types/job-filters/job-filters.js +2 -0
  176. package/dist/types/logger/index.d.ts +1 -0
  177. package/dist/types/logger/index.js +17 -0
  178. package/dist/types/logger/log-event.js +2 -0
  179. package/dist/types/saved-search/index.d.ts +6 -0
  180. package/dist/types/saved-search/index.js +2 -0
  181. package/dist/types/scraper/index.d.ts +2 -0
  182. package/dist/types/scraper/index.js +18 -0
  183. package/dist/types/scraper/scrape-payload.d.ts +10 -0
  184. package/dist/types/scraper/scrape-payload.js +2 -0
  185. package/dist/types/scraper/scrape-result.d.ts +8 -0
  186. package/dist/types/scraper/scrape-result.js +2 -0
  187. package/dist/types/shared.d.ts +8 -0
  188. package/dist/types/time-filter/index.d.ts +3 -0
  189. package/dist/types/time-filter/index.js +2 -0
  190. package/dist/types/transaction/index.d.ts +4 -0
  191. package/dist/types/upwork-account/index.d.ts +3 -0
  192. package/dist/types/upwork-account/index.js +19 -0
  193. package/dist/types/upwork-account/upwork-account-status.d.ts +3 -0
  194. package/dist/types/upwork-account/upwork-account-status.js +2 -0
  195. package/dist/types/upwork-account/upwork-business-manager-account.d.ts +7 -0
  196. package/dist/types/upwork-account/upwork-business-manager-account.js +2 -0
  197. package/dist/types/upwork-account/upwork-scraping-account.d.ts +5 -0
  198. package/dist/types/upwork-account/upwork-scraping-account.js +2 -0
  199. package/dist/types/usage/index.d.ts +6 -0
  200. package/dist/types/user/index.d.ts +15 -0
  201. package/dist/types/user/index.js +2 -0
  202. package/dist/utils/index.js +17 -0
  203. package/dist/utils/try-catch.js +25 -0
  204. package/package.json +1 -1
@@ -336,15 +336,14 @@ const jobStatusOrder = [
336
336
  "contacted",
337
337
  "viewed",
338
338
  "replied",
339
- "interview",
340
339
  "won",
341
340
  "lost",
342
341
  ];
343
342
  const getPreviousStatus = (status) => {
344
343
  if (status === "won")
345
- return "interview";
344
+ return "replied";
346
345
  if (status === "lost")
347
- return "interview";
346
+ return "replied";
348
347
  const index = jobStatusOrder.indexOf(status);
349
348
  return index > 0 ? jobStatusOrder[index - 1] : null;
350
349
  };
@@ -11448,9 +11447,6 @@ const noGoogleOAuthTokensFoundException = (message) => new NoGoogleOAuthTokensFo
11448
11447
  const booleanSchema = z
11449
11448
  .union([z.boolean(), z.literal("true"), z.literal("false")])
11450
11449
  .transform((value) => value === true || value === "true");
11451
- const dateSchema = (params = {}) => coerce.date({
11452
- ...params,
11453
- });
11454
11450
  const passwordSchema = stringType()
11455
11451
  .min(8, "Password must be at least 8 characters long.")
11456
11452
  .max(255, "Password must be at most 255 characters long.")
@@ -11463,6 +11459,14 @@ const regionSchema = z.union([
11463
11459
  z.literal("UKOnly"),
11464
11460
  z.literal("Worldwide"),
11465
11461
  ]);
11462
+ z.object({
11463
+ id: z.string(),
11464
+ name: z.string(),
11465
+ });
11466
+ z.object({
11467
+ id: z.string(),
11468
+ name: z.string(),
11469
+ });
11466
11470
 
11467
11471
  const segmentationDataSchema = objectType({
11468
11472
  customValue: stringType().nullable(),
@@ -12026,7 +12030,6 @@ const leadStatusSchema = z.enum([
12026
12030
  "contacted",
12027
12031
  "viewed",
12028
12032
  "replied",
12029
- "interview",
12030
12033
  "won",
12031
12034
  "lost",
12032
12035
  ]);
@@ -12036,7 +12039,8 @@ const updateLeadStatusSchema = z.object({
12036
12039
  campaignId: z.string(),
12037
12040
  status: leadStatusSchema,
12038
12041
  proposalId: z.string().optional(),
12039
- userId: z.string(),
12042
+ userId: z.string().optional(),
12043
+ wonAmount: z.number().optional(),
12040
12044
  });
12041
12045
 
12042
12046
  const questionAnswerPairSchema = z.object({
@@ -12059,6 +12063,7 @@ const leadSchema = upworkJobSchema
12059
12063
  boostingAmount: numberType().nullable(),
12060
12064
  biddingTaskScheduled: booleanType().nullable(),
12061
12065
  scheduledBiddingTime: numberType().nullable(),
12066
+ wonAmount: numberType().optional(),
12062
12067
  })
12063
12068
  .omit({
12064
12069
  processed: true,
@@ -12080,7 +12085,7 @@ const findLeadsRequestSchema = z.object({
12080
12085
  // Lead Search Response Schema
12081
12086
  const findLeadsResponseSchema = z.object({
12082
12087
  total: z.number(),
12083
- jobs: z.array(upworkJobSchema),
12088
+ data: z.array(upworkJobSchema.or(leadSchema)),
12084
12089
  lastMonthTotal: z.number().optional(),
12085
12090
  error: z.string().optional(),
12086
12091
  });
@@ -12820,11 +12825,13 @@ const campaignAnalyticsSchema = z.object({
12820
12825
  contacted: z.number().optional(),
12821
12826
  viewed: z.number().optional(),
12822
12827
  replied: z.number().optional(),
12823
- interview: z.number().optional(),
12824
12828
  won: z.number().optional(),
12825
12829
  proposalsGenerated: z.number().optional(),
12826
12830
  leadsAnalyzed: z.number().optional(),
12827
12831
  leadsFailed: z.number().optional(),
12832
+ suitableJobs: z.number().optional(),
12833
+ unsuitableJobs: z.number().optional(),
12834
+ wonAmount: z.number().optional(),
12828
12835
  });
12829
12836
  const campaignAnalyticsStatsSchema = z.object({
12830
12837
  totalStats: campaignAnalyticsSchema,
@@ -12833,7 +12840,6 @@ const campaignAnalyticsStatsSchema = z.object({
12833
12840
  contacted: z.number(),
12834
12841
  viewed: z.number(),
12835
12842
  replied: z.number(),
12836
- interview: z.number(),
12837
12843
  won: z.number(),
12838
12844
  leadsAnalyzed: z.number(),
12839
12845
  })),
@@ -12843,7 +12849,6 @@ const campaignAnalyticsResponseSchema = z.object({
12843
12849
  contacted: z.number(),
12844
12850
  viewed: z.number(),
12845
12851
  replied: z.number(),
12846
- interview: z.number(),
12847
12852
  won: z.number(),
12848
12853
  });
12849
12854
  const campaignActivityTypeSchema = z.enum([
@@ -12855,7 +12860,15 @@ const campaignActivityTypeSchema = z.enum([
12855
12860
  const campaignStatusActivitySchema = z.object({
12856
12861
  type: z.literal("campaign_status"),
12857
12862
  createdAt: z.number(),
12858
- status: z.enum(["started", "paused"]),
12863
+ status: z.enum(["started", "paused", "created", "error"]),
12864
+ organization: organizationSchema.pick({
12865
+ id: true,
12866
+ name: true,
12867
+ }),
12868
+ campaign: campaignSchema.pick({
12869
+ id: true,
12870
+ name: true,
12871
+ }),
12859
12872
  });
12860
12873
  const leadAnalysisActivitySchema = z.object({
12861
12874
  type: z.literal("lead_analysis"),
@@ -12867,6 +12880,14 @@ const leadAnalysisActivitySchema = z.object({
12867
12880
  jobUrl: true,
12868
12881
  }),
12869
12882
  suitabilityRating: z.number().min(0).max(100),
12883
+ organization: organizationSchema.pick({
12884
+ id: true,
12885
+ name: true,
12886
+ }),
12887
+ campaign: campaignSchema.pick({
12888
+ id: true,
12889
+ name: true,
12890
+ }),
12870
12891
  });
12871
12892
  const leadStatusActivitySchema = z.object({
12872
12893
  type: z.literal("lead_status"),
@@ -12878,6 +12899,14 @@ const leadStatusActivitySchema = z.object({
12878
12899
  datetime: true,
12879
12900
  jobUrl: true,
12880
12901
  }),
12902
+ organization: organizationSchema.pick({
12903
+ id: true,
12904
+ name: true,
12905
+ }),
12906
+ campaign: campaignSchema.pick({
12907
+ id: true,
12908
+ name: true,
12909
+ }),
12881
12910
  });
12882
12911
  const proposalSentActivitySchema = z.object({
12883
12912
  type: z.literal("proposal_sent"),
@@ -12888,6 +12917,14 @@ const proposalSentActivitySchema = z.object({
12888
12917
  datetime: true,
12889
12918
  jobUrl: true,
12890
12919
  }),
12920
+ organization: organizationSchema.pick({
12921
+ id: true,
12922
+ name: true,
12923
+ }),
12924
+ campaign: campaignSchema.pick({
12925
+ id: true,
12926
+ name: true,
12927
+ }),
12891
12928
  });
12892
12929
  const campaignActivitySchema = z.discriminatedUnion("type", [
12893
12930
  campaignStatusActivitySchema,
@@ -12898,7 +12935,7 @@ const campaignActivitySchema = z.discriminatedUnion("type", [
12898
12935
  const campaignActivityCreateSchema = z.discriminatedUnion("type", [
12899
12936
  z.object({
12900
12937
  type: z.literal("campaign_status"),
12901
- status: z.enum(["started", "paused"]),
12938
+ status: z.enum(["started", "paused", "created", "error"]),
12902
12939
  }),
12903
12940
  z.object({
12904
12941
  type: z.literal("lead_analysis"),
@@ -13179,7 +13216,6 @@ const campaignStatsSchema = z.object({
13179
13216
  contacted: z.number(),
13180
13217
  viewed: z.number(),
13181
13218
  replied: z.number(),
13182
- interview: z.number(),
13183
13219
  won: z.number(),
13184
13220
  proposalsGenerated: z.number(),
13185
13221
  leadsAnalyzed: z.number(),
@@ -13628,7 +13664,6 @@ exports.bidderAccountProviderDisplayMap = bidderAccountProviderDisplayMap;
13628
13664
  exports.bidderAccountSchema = bidderAccountSchema;
13629
13665
  exports.biddingCompletedEventMetadata = biddingCompletedEventMetadata;
13630
13666
  exports.biddingFailedEventMetadata = biddingFailedEventMetadata;
13631
- exports.booleanSchema = booleanSchema;
13632
13667
  exports.buildRoute = buildRoute;
13633
13668
  exports.campaignAIMetricsSchema = campaignAIMetricsSchema;
13634
13669
  exports.campaignActivityCreateSchema = campaignActivityCreateSchema;
@@ -13663,7 +13698,6 @@ exports.createCoverLetterSchema = createCoverLetterSchema;
13663
13698
  exports.createOrganizationSchema = createOrganizationSchema;
13664
13699
  exports.createScraperAccountSchema = createScraperAccountSchema;
13665
13700
  exports.dailyUsageSchema = dailyUsageSchema;
13666
- exports.dateSchema = dateSchema;
13667
13701
  exports.deleteMultiloginProfileException = deleteMultiloginProfileException;
13668
13702
  exports.dropdownOptionNotPresentException = dropdownOptionNotPresentException;
13669
13703
  exports.elementNotClickableException = elementNotClickableException;
@@ -13745,7 +13779,6 @@ exports.organizationSettingsSchema = organizationSettingsSchema;
13745
13779
  exports.organizationTierEnum = organizationTierEnum;
13746
13780
  exports.organizationTypeSchema = organizationTypeSchema;
13747
13781
  exports.parseConnectsException = parseConnectsException;
13748
- exports.passwordSchema = passwordSchema;
13749
13782
  exports.paymentTypeEnum = paymentTypeEnum;
13750
13783
  exports.periodUsageSchema = periodUsageSchema;
13751
13784
  exports.planFeatureSchema = planFeatureSchema;
@@ -13769,7 +13802,6 @@ exports.questionPairNotMatchingException = questionPairNotMatchingException;
13769
13802
  exports.questionRulesSchema = questionRulesSchema;
13770
13803
  exports.regionEnum = regionEnum;
13771
13804
  exports.regionMapping = regionMapping;
13772
- exports.regionSchema = regionSchema;
13773
13805
  exports.registerSchema = registerSchema;
13774
13806
  exports.requiredEarningsEnum = requiredEarningsEnum;
13775
13807
  exports.requiredJSSEnum = requiredJSSEnum;
@@ -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
+ };
@@ -0,0 +1,13 @@
1
+ export declare const COLLECTIONS: {
2
+ readonly USERS: "users";
3
+ readonly SETTINGS: "settings";
4
+ readonly CAMPAIGNS: "campaigns";
5
+ readonly LEADS: "leads";
6
+ readonly EVENTS: "events";
7
+ readonly SCRAPER_ACCOUNTS: "scrapers";
8
+ readonly BIDDER_ACCOUNTS: "bidders";
9
+ readonly CAMPAIGN_ACTIVITIES: (userId: string, campaignId: string) => string;
10
+ readonly ORGANIZATIONS: "organizations";
11
+ readonly PROXIES: "proxies";
12
+ readonly TRANSACTIONS: "transactions";
13
+ };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.COLLECTIONS = void 0;
4
+ // Base collection names
5
+ exports.COLLECTIONS = {
6
+ USERS: 'users',
7
+ SETTINGS: 'settings',
8
+ CAMPAIGNS: 'campaigns',
9
+ LEADS: 'leads',
10
+ EVENTS: 'events',
11
+ SCRAPER_ACCOUNTS: 'scrapers',
12
+ BIDDER_ACCOUNTS: 'bidders',
13
+ CAMPAIGN_ACTIVITIES: (userId, campaignId) => `users/${userId}/campaigns/${campaignId}/activities`,
14
+ ORGANIZATIONS: 'organizations',
15
+ PROXIES: 'proxies',
16
+ };
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.commonQuestions = void 0;
4
+ exports.commonQuestions = [
5
+ {
6
+ id: 'similar_experience',
7
+ question: 'Describe your recent experience with similar projects',
8
+ placeholder: 'ex: [Answer the question based on case studies, if not certain ask to discuss in DMs]',
9
+ },
10
+ {
11
+ id: 'profile_links',
12
+ question: 'Include a link to your GitHub profile and/or website',
13
+ placeholder: 'ex: [https://github.com/yourusername or https://yourwebsite.com]',
14
+ },
15
+ {
16
+ id: 'frameworks',
17
+ question: 'What frameworks have you worked with?',
18
+ placeholder: 'ex: [NextJS, React, TailwindCSS, etc...]',
19
+ },
20
+ {
21
+ id: 'testing_approach',
22
+ question: 'Describe your approach to testing and improving QA',
23
+ placeholder: 'ex: [We are using test-driven development, and we are using Jest for testing]',
24
+ },
25
+ {
26
+ id: 'certifications',
27
+ question: 'Please list any certifications related to this project',
28
+ placeholder: 'ex: [Certification in React, Certification in NextJS, etc...]',
29
+ },
30
+ {
31
+ id: 'similar_project',
32
+ question: 'What past project or job have you had that is most like this one and why?',
33
+ 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]",
34
+ },
35
+ {
36
+ id: 'project_fit',
37
+ question: 'Why do you think you are a good fit for this particular project?',
38
+ placeholder: 'ex: [Explain how your skills and experience match the project requirements...]',
39
+ },
40
+ {
41
+ id: 'job_questions',
42
+ question: 'Do you have any questions about the job description?',
43
+ placeholder: 'ex: [Ask for any clarifications needed about the role or requirements...]',
44
+ },
45
+ {
46
+ id: 'project_questions',
47
+ question: 'What questions do you have about the project?',
48
+ placeholder: 'ex: [Ask about project scope, timeline, team structure...]',
49
+ },
50
+ {
51
+ id: 'project_suggestions',
52
+ question: 'Do you have suggestions to make this project run successfully?',
53
+ placeholder: 'ex: [Ask to discuss in DMs]',
54
+ },
55
+ {
56
+ id: 'company_info',
57
+ question: 'What is your company website URL? . . . Company size?',
58
+ placeholder: 'ex: [https://company.com | Number of employees: ...]',
59
+ },
60
+ ];
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.regionMapping = exports.countryMapping = exports.paths = void 0;
21
+ exports.paths = {
22
+ auth: {
23
+ register: `auth/register`,
24
+ },
25
+ users: {
26
+ root: 'users',
27
+ details: (id) => `users/${id}`,
28
+ },
29
+ };
30
+ __exportStar(require("./job-filter-options"), exports);
31
+ var countryMapping_1 = require("./mappings/countryMapping");
32
+ Object.defineProperty(exports, "countryMapping", { enumerable: true, get: function () { return __importDefault(countryMapping_1).default; } });
33
+ var regionMapping_1 = require("./mappings/regionMapping");
34
+ Object.defineProperty(exports, "regionMapping", { enumerable: true, get: function () { return __importDefault(regionMapping_1).default; } });
35
+ __exportStar(require("./job-filter-options"), exports);
36
+ __exportStar(require("./common-questions"), exports);
37
+ __exportStar(require("./job-status"), exports);
38
+ __exportStar(require("./routes"), exports);
39
+ __exportStar(require("./collections"), exports);
40
+ __exportStar(require("./upwork-accounts"), exports);
@@ -0,0 +1,268 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JOB_FILTER_OPTIONS = void 0;
4
+ exports.JOB_FILTER_OPTIONS = {
5
+ REGIONS: ["Worldwide", "UKOnly", "USOnly"],
6
+ PROJECT_DURATION: [
7
+ "Less than 1 month",
8
+ "1 to 3 months",
9
+ "3 to 6 months",
10
+ "More than 6 months",
11
+ "Unspecified",
12
+ ],
13
+ ENGAGEMENT_TYPE: [
14
+ "Less than 30 hrs/week",
15
+ "More than 30 hrs/week",
16
+ "Unspecified",
17
+ ],
18
+ VENDOR_TYPE: ["Independent", "Agency", "Unspecified"],
19
+ PAYMENT_TYPE: ["Fixed-price", "Hourly", "Unspecified"],
20
+ TALENT_TYPE: ["Agency", "Independent", "Unspecified"],
21
+ ENGLISH_LEVELS: [
22
+ "Fluent",
23
+ "Conversational",
24
+ "Native or Bilingual",
25
+ "Unspecified",
26
+ ],
27
+ EXPERIENCE_LEVELS: ["Entry level", "Intermediate", "Expert"],
28
+ REQUIRED_EARNINGS: [100, 1000, 10000],
29
+ REQUIRED_JSS: [">80%", ">90%", "100%", "RT"],
30
+ HIERARCHICAL_CATEGORIES: [
31
+ {
32
+ label: "Accounting & Consulting",
33
+ value: "accounting-consulting",
34
+ children: [
35
+ "Accounting & Bookkeeping",
36
+ "Financial Planning",
37
+ "Management Consulting & Analysis",
38
+ "Other - Accounting & Consulting",
39
+ "Personal & Professional Coaching",
40
+ "Recruiting & Human Resources",
41
+ ],
42
+ },
43
+ {
44
+ label: "Admin Support",
45
+ value: "admin-support",
46
+ children: [
47
+ "Data Entry & Transcription Services",
48
+ "Market Research & Product Reviews",
49
+ "Project Management",
50
+ "Virtual Assistance",
51
+ ],
52
+ },
53
+ {
54
+ label: "Customer Service",
55
+ value: "customer-service",
56
+ children: [
57
+ "Community Management & Tagging",
58
+ "Customer Service & Tech Support",
59
+ ],
60
+ },
61
+ {
62
+ label: "Data Science & Analytics",
63
+ value: "data-science-analytics",
64
+ children: [
65
+ "AI & Machine Learning",
66
+ "Data Analysis & Testing",
67
+ "Data Extraction/ETL",
68
+ "Data Mining & Management",
69
+ ],
70
+ },
71
+ {
72
+ label: "Design & Creative",
73
+ value: "design-creative",
74
+ children: [
75
+ "Art & Illustration",
76
+ "Audio & Music Production",
77
+ "Branding & Logo Design",
78
+ "Graphic, Editorial & Presentation Design",
79
+ "NFT, AR/VR & Game Art",
80
+ "Performing Arts",
81
+ "Photography",
82
+ "Product Design",
83
+ "Video & Animation",
84
+ ],
85
+ },
86
+ {
87
+ label: "Engineering & Architecture",
88
+ value: "engineering-architecture",
89
+ children: [
90
+ "3D Modeling & CAD",
91
+ "Building & Landscape Architecture",
92
+ "Chemical Engineering",
93
+ "Civil & Structural Engineering",
94
+ "Contract Manufacturing",
95
+ "Electrical & Electronic Engineering",
96
+ "Energy & Mechanical Engineering",
97
+ ],
98
+ },
99
+ {
100
+ label: "IT & Networking",
101
+ value: "it-networking",
102
+ children: [
103
+ "Database Management & Administration",
104
+ "DevOps & Solution Architecture",
105
+ "ERP/CRM Software",
106
+ "Information Security & Compliance",
107
+ "Network & System Administration",
108
+ ],
109
+ },
110
+ {
111
+ label: "Legal",
112
+ value: "legal",
113
+ children: [
114
+ "Corporate & Contract Law",
115
+ "Finance & Tax Law",
116
+ "International & Immigration Law",
117
+ "Public Law",
118
+ ],
119
+ },
120
+ {
121
+ label: "Sales & Marketing",
122
+ value: "sales-marketing",
123
+ children: [
124
+ "Digital Marketing",
125
+ "Lead Generation & Telemarketing",
126
+ "Marketing, PR & Brand Strategy",
127
+ ],
128
+ },
129
+ {
130
+ label: "Translation",
131
+ value: "translation",
132
+ children: [
133
+ "Language Tutoring & Interpretation",
134
+ "Translation & Localization Services",
135
+ ],
136
+ },
137
+ {
138
+ label: "Software Development",
139
+ value: "software-development",
140
+ children: [
141
+ "AI Apps & Integration",
142
+ "Blockchain, NFT & Cryptocurrency",
143
+ "Desktop Application Development",
144
+ "Ecommerce Development",
145
+ "Game Design & Development",
146
+ "Mobile Development",
147
+ "Other - Software Development",
148
+ "Product Management & Scrum",
149
+ "QA Testing",
150
+ "Scripts & Utilities",
151
+ "Web & Mobile Design",
152
+ "Web Development",
153
+ ],
154
+ },
155
+ {
156
+ label: "Writing",
157
+ value: "writing",
158
+ children: [
159
+ "Content Writing",
160
+ "Editing & Proofreading Services",
161
+ "Professional & Business Writing",
162
+ "Sales & Marketing Copywriting",
163
+ ],
164
+ },
165
+ ],
166
+ CATEGORIES: [
167
+ "Personal & Professional Coaching",
168
+ "Accounting & Bookkeeping",
169
+ "Financial Planning",
170
+ "Recruiting & Human Resources",
171
+ "Management Consulting & Analysis",
172
+ "Other - Accounting & Consulting",
173
+ "Data Entry & Transcription Services",
174
+ "Virtual Assistance",
175
+ "Project Management",
176
+ "Market Research & Product Reviews",
177
+ "Community Management & Tagging",
178
+ "Customer Service & Tech Support",
179
+ "Data Analysis & Testing",
180
+ "Data Extraction/ETL",
181
+ "Data Mining & Management",
182
+ "AI & Machine Learning",
183
+ "Art & Illustration",
184
+ "Audio & Music Production",
185
+ "Branding & Logo Design",
186
+ "NFT, AR/VR & Game Art",
187
+ "Graphic, Editorial & Presentation Design",
188
+ "Performing Arts",
189
+ "Photography",
190
+ "Product Design",
191
+ "Video & Animation",
192
+ "Building & Landscape Architecture",
193
+ "Chemical Engineering",
194
+ "Civil & Structural Engineering",
195
+ "Contract Manufacturing",
196
+ "Electrical & Electronic Engineering",
197
+ "Energy & Mechanical Engineering",
198
+ "3D Modeling & CAD",
199
+ "Database Management & Administration",
200
+ "ERP/CRM Software",
201
+ "Information Security & Compliance",
202
+ "Network & System Administration",
203
+ "DevOps & Solution Architecture",
204
+ "Corporate & Contract Law",
205
+ "International & Immigration Law",
206
+ "Finance & Tax Law",
207
+ "Public Law",
208
+ "Digital Marketing",
209
+ "Lead Generation & Telemarketing",
210
+ "Marketing, PR & Brand Strategy",
211
+ "Language Tutoring & Interpretation",
212
+ "Translation & Localization Services",
213
+ "Blockchain, NFT & Cryptocurrency",
214
+ "AI Apps & Integration",
215
+ "Desktop Application Development",
216
+ "Ecommerce Development",
217
+ "Game Design & Development",
218
+ "Mobile Development",
219
+ "Other - Software Development",
220
+ "Product Management & Scrum",
221
+ "QA Testing",
222
+ "Scripts & Utilities",
223
+ "Web & Mobile Design",
224
+ "Web Development",
225
+ "Sales & Marketing Copywriting",
226
+ "Content Writing",
227
+ "Editing & Proofreading Services",
228
+ "Professional & Business Writing",
229
+ ],
230
+ CLIENT_INDUSTRY: [
231
+ "Aerospace",
232
+ "Agriculture & Forestry",
233
+ "Art & Design",
234
+ "Automotive",
235
+ "Aviation",
236
+ "Education",
237
+ "Energy & Utilities",
238
+ "Engineering & Architecture",
239
+ "Fashion & Beauty",
240
+ "Finance & Accounting",
241
+ "Food & Beverage",
242
+ "Government & Public Sector",
243
+ "Health & Fitness",
244
+ "HR & Business Services",
245
+ "Legal",
246
+ "Manufacturing & Construction",
247
+ "Media & Entertainment",
248
+ "Military & Defense",
249
+ "Mining",
250
+ "Real Estate",
251
+ "Retail & Consumer Goods",
252
+ "Sales & Marketing",
253
+ "Science & Medicine",
254
+ "Sports & Recreation",
255
+ "Supply Chain & Logistics",
256
+ "Tech & IT",
257
+ "Transportation & Warehousing",
258
+ "Travel & Hospitality",
259
+ ],
260
+ CLIENT_SIZE: [
261
+ "Individual client",
262
+ "Small company (2-9 people)",
263
+ "Mid-sized company (10-99 people)",
264
+ "Large company (100-1,000 people)",
265
+ "Large company (1,000+ people)",
266
+ "Unspecified",
267
+ ],
268
+ };
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getNextStatus = exports.getPreviousStatus = exports.jobStatusOrder = void 0;
4
+ exports.jobStatusOrder = [
5
+ "leads",
6
+ "contacted",
7
+ "viewed",
8
+ "replied",
9
+ "negotiations",
10
+ "won",
11
+ "lost",
12
+ ];
13
+ const getPreviousStatus = (status) => {
14
+ if (status === "won")
15
+ return "negotiations";
16
+ if (status === "lost")
17
+ return "negotiations";
18
+ const index = exports.jobStatusOrder.indexOf(status);
19
+ return index > 0 ? exports.jobStatusOrder[index - 1] : null;
20
+ };
21
+ exports.getPreviousStatus = getPreviousStatus;
22
+ const getNextStatus = (status) => {
23
+ const index = exports.jobStatusOrder.indexOf(status);
24
+ return index < exports.jobStatusOrder.length - 1 ? exports.jobStatusOrder[index + 1] : null;
25
+ };
26
+ exports.getNextStatus = getNextStatus;