lancer-shared 1.2.189 → 1.2.191

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 (25) hide show
  1. package/dist/bundle.cjs.js +278 -33
  2. package/dist/schemas/bidder/bid.d.ts +71 -14
  3. package/dist/schemas/bidder/exceptions/boost-above-max-connects.exception.d.ts +5 -0
  4. package/dist/schemas/bidder/exceptions/index.d.ts +3 -1
  5. package/dist/schemas/campaign/campaign-analytics.d.ts +360 -72
  6. package/dist/schemas/campaign/campaign-chat-bot.d.ts +11 -11
  7. package/dist/schemas/campaign/campaign.d.ts +232 -48
  8. package/dist/schemas/campaign/sequence/budget-node.d.ts +294 -0
  9. package/dist/schemas/campaign/sequence/client-size-node.d.ts +10 -10
  10. package/dist/schemas/campaign/sequence/client-spent-node.d.ts +18 -18
  11. package/dist/schemas/campaign/sequence/edges.d.ts +12 -0
  12. package/dist/schemas/campaign/sequence/fixed-budget-node.d.ts +91 -0
  13. package/dist/schemas/campaign/sequence/hire-rate-node.d.ts +18 -18
  14. package/dist/schemas/campaign/sequence/hourly-budget-node.d.ts +91 -0
  15. package/dist/schemas/campaign/sequence/hourly-rate-node.d.ts +18 -18
  16. package/dist/schemas/campaign/sequence/index.d.ts +4 -0
  17. package/dist/schemas/campaign/sequence/node-types.d.ts +1 -1
  18. package/dist/schemas/campaign/sequence/payment-type-node.d.ts +45 -0
  19. package/dist/schemas/campaign/sequence/payment-type.d.ts +45 -0
  20. package/dist/schemas/campaign/sequence/rating-node.d.ts +91 -0
  21. package/dist/schemas/campaign/sequence/start-node.d.ts +16 -0
  22. package/dist/schemas/campaign/sequence/suitability-node.d.ts +18 -18
  23. package/dist/schemas/scraper/scrape-payload.d.ts +113 -37
  24. package/dist/utils/timezones.d.ts +4 -3
  25. package/package.json +1 -1
@@ -13073,7 +13073,30 @@ const biddingHourlyRateStrategyEnum = z.enum([
13073
13073
  'match_profile_rate',
13074
13074
  'fixed_rate',
13075
13075
  ]);
13076
+ const weekDaysEnum = z.enum([
13077
+ 'monday',
13078
+ 'tuesday',
13079
+ 'wednesday',
13080
+ 'thursday',
13081
+ 'friday',
13082
+ 'saturday',
13083
+ 'sunday',
13084
+ ]);
13076
13085
  const bidWithWarningEnum = z.enum(['bid', 'skip']);
13086
+ const timeBlockSchema = z.object({
13087
+ fromHour: z.number().min(0).max(23),
13088
+ toHour: z.number().min(0).max(23),
13089
+ });
13090
+ const workTimeSchema = z.object({
13091
+ enabled: z.boolean(),
13092
+ days: z.array(weekDaysEnum),
13093
+ timeBlocks: z.array(timeBlockSchema),
13094
+ timezone: z.string().nullable(),
13095
+ });
13096
+ const insufficeintBoostConnectsActionEnum = z.enum([
13097
+ 'skip',
13098
+ 'bid_without_boost',
13099
+ ]);
13077
13100
  const campaignSchema = z.object({
13078
13101
  id: z.string(),
13079
13102
  name: z.string(),
@@ -13084,6 +13107,9 @@ const campaignSchema = z.object({
13084
13107
  // automatedSuitability: z.boolean().nullable(),
13085
13108
  boostingEnabled: z.boolean().nullable().default(false),
13086
13109
  maximumBoost: z.number().nullable().default(30),
13110
+ boostDownToNthPlace: z.number().min(1).max(4).nullable(),
13111
+ connectsAbovePrevious: z.number().min(1).nullable(),
13112
+ insufficeintBoostConnectsAction: insufficeintBoostConnectsActionEnum,
13087
13113
  // minimumBoost: z.number().nullable().default(0),
13088
13114
  monthlyBudget: z.number().nullable(),
13089
13115
  // suitabilityThreshold: z.number().min(0).max(100).nullable().default(0),
@@ -13093,10 +13119,6 @@ const campaignSchema = z.object({
13093
13119
  biddingFixedHourlyRate: z.number().nullable(),
13094
13120
  biddingHourlyRatePercentage: z.number().min(0).max(100).nullable(),
13095
13121
  bidWithWarning: bidWithWarningEnum,
13096
- sleepEnabled: z.boolean().nullable().default(false),
13097
- sleepStartAtHour: z.number().nullable().default(23),
13098
- sleepEndAtHour: z.number().nullable().default(7),
13099
- sleepTimezone: z.string().nullable(),
13100
13122
  leadCounts: z.record(leadStatusEnum, z.number()).nullable(),
13101
13123
  expenses: campaignExpensesSchema,
13102
13124
  notificationsEnabled: z.boolean().nullable(),
@@ -13112,6 +13134,7 @@ const campaignSchema = z.object({
13112
13134
  enabled: z.boolean(),
13113
13135
  windowAnchorAt: z.number().nullable(),
13114
13136
  }),
13137
+ workTime: workTimeSchema,
13115
13138
  });
13116
13139
  const upworkAccountConnectStatusSchema = z.union([
13117
13140
  z.literal('processing'),
@@ -13284,6 +13307,7 @@ const campaignNotificationType = z.enum([
13284
13307
  'noConnects',
13285
13308
  'accountDisconnected',
13286
13309
  'biddingWarning',
13310
+ 'boostAboveMaxConnects',
13287
13311
  ]);
13288
13312
  const chatbotChannelSchema = z.object({
13289
13313
  id: z.string(),
@@ -13339,6 +13363,7 @@ const CAMPAIGN_NOTIFICATION_TYPES = {
13339
13363
  noConnects: 'No Connects',
13340
13364
  accountDisconnected: 'Account Disconnected',
13341
13365
  biddingWarning: 'Bidding Warning',
13366
+ boostAboveMaxConnects: 'Boost Above Max Connects',
13342
13367
  };
13343
13368
  const CAMPAIGN_NOTIFICATION_SETTINGS = {
13344
13369
  suitableLead: 'When Lancer determines a job is suitable for your company',
@@ -13348,6 +13373,7 @@ const CAMPAIGN_NOTIFICATION_SETTINGS = {
13348
13373
  noConnects: 'When your Agency profile has run out of Upwork connects',
13349
13374
  accountDisconnected: 'When there is an issue with your Upwork Bidder account',
13350
13375
  biddingWarning: 'When there is a bidding warning',
13376
+ boostAboveMaxConnects: 'When there is a boost above max connects',
13351
13377
  };
13352
13378
 
13353
13379
  const campaignCountByStatusSchema = z.object({
@@ -13390,13 +13416,144 @@ const boostFormSchema = z.object({
13390
13416
  const nodeEnums = z.enum([
13391
13417
  'clientAvgHourlyRateNode',
13392
13418
  'bidNode',
13393
- 'suitabilityNode',
13394
13419
  'clientHireRateNode',
13395
13420
  'clientSizeNode',
13396
13421
  'boostNode',
13397
13422
  'clientSpentNode',
13423
+ 'clientRatingNode',
13424
+ 'startNode',
13425
+ 'budgetNode',
13426
+ 'paymentTypeNode',
13398
13427
  ]);
13399
13428
 
13429
+ const rangesOverlap$5 = (range1, range2) => {
13430
+ return range1.min < range2.max && range2.min < range1.max;
13431
+ };
13432
+ // Payment type options (excluding 'Unspecified')
13433
+ const budgetPaymentTypeEnum = z.enum(['Hourly', 'Fixed-price']);
13434
+ const createBudgetFormSchema = (existingHourlyRateRanges, existingFixedBudgetRanges) => z
13435
+ .object({
13436
+ paymentTypes: z
13437
+ .array(budgetPaymentTypeEnum)
13438
+ .min(1, 'Please select at least one payment type'),
13439
+ hourlyRateMin: z
13440
+ .number()
13441
+ .min(0, 'Minimum hourly rate must be non-negative')
13442
+ .optional(),
13443
+ hourlyRateMax: z
13444
+ .number()
13445
+ .min(0, 'Maximum hourly rate must be non-negative')
13446
+ .optional(),
13447
+ fixedBudgetMin: z
13448
+ .number()
13449
+ .min(0, 'Minimum fixed budget must be non-negative')
13450
+ .optional(),
13451
+ fixedBudgetMax: z
13452
+ .number()
13453
+ .min(0, 'Maximum fixed budget must be non-negative')
13454
+ .optional(),
13455
+ action: nodeEnums,
13456
+ })
13457
+ // Validate hourly rate fields are provided when Hourly is selected
13458
+ .refine((data) => {
13459
+ if (data.paymentTypes.includes('Hourly')) {
13460
+ return (data.hourlyRateMin !== undefined && data.hourlyRateMax !== undefined);
13461
+ }
13462
+ return true;
13463
+ }, {
13464
+ message: 'Hourly rate min and max are required when Hourly payment type is selected',
13465
+ path: ['hourlyRateMin'],
13466
+ })
13467
+ // Validate fixed budget fields are provided when Fixed-price is selected
13468
+ .refine((data) => {
13469
+ if (data.paymentTypes.includes('Fixed-price')) {
13470
+ return (data.fixedBudgetMin !== undefined &&
13471
+ data.fixedBudgetMax !== undefined);
13472
+ }
13473
+ return true;
13474
+ }, {
13475
+ message: 'Fixed budget min and max are required when Fixed-price payment type is selected',
13476
+ path: ['fixedBudgetMin'],
13477
+ })
13478
+ // Validate hourly rate range when provided AND hourly payment type is selected
13479
+ .refine((data) => {
13480
+ if (data.paymentTypes.includes('Hourly') &&
13481
+ data.hourlyRateMin !== undefined &&
13482
+ data.hourlyRateMax !== undefined) {
13483
+ return data.hourlyRateMin < data.hourlyRateMax;
13484
+ }
13485
+ return true;
13486
+ }, {
13487
+ message: 'Minimum hourly rate must be less than maximum',
13488
+ path: ['hourlyRateMin'],
13489
+ })
13490
+ .refine((data) => {
13491
+ if (data.paymentTypes.includes('Hourly') &&
13492
+ data.hourlyRateMin !== undefined &&
13493
+ data.hourlyRateMax !== undefined) {
13494
+ return data.hourlyRateMax > data.hourlyRateMin;
13495
+ }
13496
+ return true;
13497
+ }, {
13498
+ message: 'Maximum hourly rate must be greater than minimum',
13499
+ path: ['hourlyRateMax'],
13500
+ })
13501
+ // Validate fixed budget range when provided AND fixed payment type is selected
13502
+ .refine((data) => {
13503
+ if (data.paymentTypes.includes('Fixed-price') &&
13504
+ data.fixedBudgetMin !== undefined &&
13505
+ data.fixedBudgetMax !== undefined) {
13506
+ return data.fixedBudgetMin < data.fixedBudgetMax;
13507
+ }
13508
+ return true;
13509
+ }, {
13510
+ message: 'Minimum fixed budget must be less than maximum',
13511
+ path: ['fixedBudgetMin'],
13512
+ })
13513
+ .refine((data) => {
13514
+ if (data.paymentTypes.includes('Fixed-price') &&
13515
+ data.fixedBudgetMin !== undefined &&
13516
+ data.fixedBudgetMax !== undefined) {
13517
+ return data.fixedBudgetMax > data.fixedBudgetMin;
13518
+ }
13519
+ return true;
13520
+ }, {
13521
+ message: 'Maximum fixed budget must be greater than minimum',
13522
+ path: ['fixedBudgetMax'],
13523
+ })
13524
+ // Check for hourly rate range overlaps when provided
13525
+ .refine((data) => {
13526
+ if (data.hourlyRateMin !== undefined &&
13527
+ data.hourlyRateMax !== undefined) {
13528
+ const newHourlyRateRange = {
13529
+ min: data.hourlyRateMin,
13530
+ max: data.hourlyRateMax,
13531
+ };
13532
+ return !existingHourlyRateRanges.some((existingRange) => rangesOverlap$5(newHourlyRateRange, existingRange));
13533
+ }
13534
+ return true;
13535
+ }, {
13536
+ message: 'Hourly rate range overlaps with existing hourly rate range',
13537
+ path: ['hourlyRateMin'],
13538
+ })
13539
+ // Check for fixed budget range overlaps when provided
13540
+ .refine((data) => {
13541
+ if (data.fixedBudgetMin !== undefined &&
13542
+ data.fixedBudgetMax !== undefined) {
13543
+ const newFixedBudgetRange = {
13544
+ min: data.fixedBudgetMin,
13545
+ max: data.fixedBudgetMax,
13546
+ };
13547
+ return !existingFixedBudgetRanges.some((existingRange) => rangesOverlap$5(newFixedBudgetRange, existingRange));
13548
+ }
13549
+ return true;
13550
+ }, {
13551
+ message: 'Fixed budget range overlaps with existing fixed budget range',
13552
+ path: ['fixedBudgetMin'],
13553
+ });
13554
+ // Default schema for backwards compatibility
13555
+ const addBudgetNodeFormSchema = createBudgetFormSchema([], []);
13556
+
13400
13557
  const sizeOverlap = (size1, size2) => {
13401
13558
  if (size1 === size2) {
13402
13559
  return true;
@@ -13418,7 +13575,7 @@ const createClientSizeFormSchema = (existingSizes) => z
13418
13575
  const addFromClientSizeNodeFormSchema = createClientSizeFormSchema([]);
13419
13576
 
13420
13577
  const INFINITY = 99999999999;
13421
- const rangesOverlap$3 = (range1, range2) => {
13578
+ const rangesOverlap$4 = (range1, range2) => {
13422
13579
  return range1.from < range2.to && range2.from < range1.to;
13423
13580
  };
13424
13581
  const createClientSpentFormSchema = (existingRanges) => z
@@ -13437,14 +13594,14 @@ const createClientSpentFormSchema = (existingRanges) => z
13437
13594
  })
13438
13595
  .refine((data) => {
13439
13596
  const newRange = { from: data.from, to: data.to };
13440
- return !existingRanges.some((existingRange) => rangesOverlap$3(newRange, existingRange));
13597
+ return !existingRanges.some((existingRange) => rangesOverlap$4(newRange, existingRange));
13441
13598
  }, {
13442
13599
  message: 'Range overlaps with existing range',
13443
13600
  path: ['from'],
13444
13601
  });
13445
13602
  const addFromClientSpentNodeFormSchema = createClientSpentFormSchema([]);
13446
13603
 
13447
- const rangesOverlap$2 = (range1, range2) => {
13604
+ const rangesOverlap$3 = (range1, range2) => {
13448
13605
  return range1.from < range2.to && range2.from < range1.to;
13449
13606
  };
13450
13607
  const createClientHireRateFormSchema = (existingRanges) => z
@@ -13463,14 +13620,14 @@ const createClientHireRateFormSchema = (existingRanges) => z
13463
13620
  })
13464
13621
  .refine((data) => {
13465
13622
  const newRange = { from: data.from, to: data.to };
13466
- return !existingRanges.some((existingRange) => rangesOverlap$2(newRange, existingRange));
13623
+ return !existingRanges.some((existingRange) => rangesOverlap$3(newRange, existingRange));
13467
13624
  }, {
13468
13625
  message: 'Range overlaps with existing range',
13469
13626
  path: ['from'],
13470
13627
  });
13471
13628
  const addFromClientHireRateNodeFormSchema = createClientHireRateFormSchema([]);
13472
13629
 
13473
- const rangesOverlap$1 = (range1, range2) => {
13630
+ const rangesOverlap$2 = (range1, range2) => {
13474
13631
  return range1.from < range2.to && range2.from < range1.to;
13475
13632
  };
13476
13633
  const createHourlyRateFormSchema = (existingRanges) => z
@@ -13489,7 +13646,7 @@ const createHourlyRateFormSchema = (existingRanges) => z
13489
13646
  })
13490
13647
  .refine((data) => {
13491
13648
  const newRange = { from: data.from, to: data.to };
13492
- return !existingRanges.some((existingRange) => rangesOverlap$1(newRange, existingRange));
13649
+ return !existingRanges.some((existingRange) => rangesOverlap$2(newRange, existingRange));
13493
13650
  }, {
13494
13651
  message: 'Range overlaps with existing range',
13495
13652
  path: ['from'],
@@ -13497,6 +13654,57 @@ const createHourlyRateFormSchema = (existingRanges) => z
13497
13654
  // Keep the original schema for backwards compatibility if needed
13498
13655
  const addFromHourlyRateNodeFormSchema = createHourlyRateFormSchema([]);
13499
13656
 
13657
+ const limitedPaymentTypeEnum = paymentTypeEnum.exclude(['Unspecified']);
13658
+ const paymentTypeOverlap = (paymentType1, paymentType2) => {
13659
+ if (paymentType1 === paymentType2) {
13660
+ return true;
13661
+ }
13662
+ return false;
13663
+ };
13664
+ const createPaymentTypeFormSchema = (existingPaymentTypes) => z
13665
+ .object({
13666
+ paymentTypes: z.array(limitedPaymentTypeEnum).min(1),
13667
+ action: nodeEnums,
13668
+ })
13669
+ .refine((data) => {
13670
+ const newPaymentTypes = data.paymentTypes;
13671
+ return !existingPaymentTypes.some((existingPaymentType) => newPaymentTypes.some((newPaymentType) => paymentTypeOverlap(newPaymentType, existingPaymentType)));
13672
+ }, {
13673
+ message: 'Payment type overlaps with existing payment type',
13674
+ path: ['paymentTypes'],
13675
+ });
13676
+ const addFromPaymentTypeNodeFormSchema = createPaymentTypeFormSchema([]);
13677
+
13678
+ const rangesOverlap$1 = (range1, range2) => {
13679
+ return range1.from < range2.to && range2.from < range1.to;
13680
+ };
13681
+ const createClientRatingFormSchema = (existingRanges) => z
13682
+ .object({
13683
+ from: z.number().min(0).max(5),
13684
+ to: z.number().min(0).max(5),
13685
+ action: nodeEnums,
13686
+ })
13687
+ .refine((data) => data.from < data.to, {
13688
+ message: 'From must be less than To',
13689
+ path: ['from'],
13690
+ })
13691
+ .refine((data) => data.to > data.from, {
13692
+ message: 'To must be greater than From',
13693
+ path: ['to'],
13694
+ })
13695
+ .refine((data) => {
13696
+ const newRange = { from: data.from, to: data.to };
13697
+ return !existingRanges.some((existingRange) => rangesOverlap$1(newRange, existingRange));
13698
+ }, {
13699
+ message: 'Range overlaps with existing range',
13700
+ path: ['from'],
13701
+ });
13702
+ const addFromClientRatingNodeFormSchema = createClientRatingFormSchema([]);
13703
+
13704
+ const addFromStartNodeFormSchema = z.object({
13705
+ action: nodeEnums,
13706
+ });
13707
+
13500
13708
  const rangesOverlap = (range1, range2) => {
13501
13709
  return range1.from < range2.to && range2.from < range1.to;
13502
13710
  };
@@ -13532,6 +13740,9 @@ const bidPayloadProposalDataSchema = z.object({
13532
13740
  boostingEnabled: z.boolean(),
13533
13741
  specialisedProfileOptions: z.array(z.string()),
13534
13742
  maximumBoost: z.number().nullable(),
13743
+ boostDownToNthPlace: z.number().min(1).max(4).nullable(),
13744
+ connectsAbovePrevious: z.number().min(1).nullable(),
13745
+ insufficeintBoostConnectsAction: insufficeintBoostConnectsActionEnum,
13535
13746
  biddingHourlyRateStrategy: biddingHourlyRateStrategyEnum,
13536
13747
  biddingHourlyRatePercentage: z.number().min(0).max(100).nullable(),
13537
13748
  biddingFixedHourlyRate: z.number().nullable(),
@@ -13577,6 +13788,14 @@ const bidFailedSchema = z.object({
13577
13788
  errorMessage: z.string(),
13578
13789
  });
13579
13790
 
13791
+ class BoostAboveMaxConnectsException extends Error {
13792
+ code = 'BOOST_ABOVE_MAX_CONNECTS_EXCEPTION';
13793
+ constructor(message) {
13794
+ super(message);
13795
+ }
13796
+ }
13797
+ const boostAboveMaxConnectsException = (message) => new BoostAboveMaxConnectsException(message);
13798
+
13580
13799
  class CloudflareChallengeFailedException extends Error {
13581
13800
  code = 'CLOUDFLARE_CHALLENGE_FAILED_EXCEPTION';
13582
13801
  constructor(url, errorMessage) {
@@ -23209,32 +23428,43 @@ const convertToUtc = (sleepTimezone, sleepStartAtHour, sleepEndAtHour) => {
23209
23428
  if (endHour <= startHour) {
23210
23429
  localEndDt = localEndDt.plus({ days: 1 });
23211
23430
  }
23431
+ if (!localStartDt.isValid || !localEndDt.isValid) {
23432
+ throw new Error('Invalid timezone conversion');
23433
+ }
23212
23434
  return {
23213
- sleepStartAt: localStartDt.toUTC().toISO(),
23214
- sleepEndAt: localEndDt.toUTC().toISO(),
23435
+ from: localStartDt.toUTC().toISO(),
23436
+ to: localEndDt.toUTC().toISO(),
23215
23437
  };
23216
23438
  };
23217
- const isSleepTime = (sleepTimezone, sleepStartAtHour, sleepEndAtHour) => {
23218
- const { sleepStartAt, sleepEndAt } = convertToUtc(sleepTimezone, sleepStartAtHour, sleepEndAtHour);
23219
- const now = DateTime.now().toUTC();
23220
- if (!sleepStartAt || !sleepEndAt) {
23439
+ const isWorkTime = (workTimezone, workTimeBlocks, workDays) => {
23440
+ const nowInWorkTz = DateTime.now().setZone(workTimezone);
23441
+ const getDayName = (weekday) => {
23442
+ const days = [
23443
+ 'monday',
23444
+ 'tuesday',
23445
+ 'wednesday',
23446
+ 'thursday',
23447
+ 'friday',
23448
+ 'saturday',
23449
+ 'sunday',
23450
+ ];
23451
+ return days[weekday - 1];
23452
+ };
23453
+ const currentDay = getDayName(nowInWorkTz.weekday);
23454
+ if (!workDays.includes(currentDay)) {
23221
23455
  return false;
23222
23456
  }
23223
- const startHour = Number(sleepStartAtHour);
23224
- const endHour = Number(sleepEndAtHour);
23225
- const sleepStart = DateTime.fromISO(sleepStartAt);
23226
- const sleepEnd = DateTime.fromISO(sleepEndAt);
23227
- if (endHour <= startHour) {
23228
- // Cross-midnight period: sleep from late evening to early morning
23229
- // We're in sleep time if:
23230
- // 1. Current time >= start time, OR
23231
- // 2. Current time <= end time AND we're on the same day as the end time
23232
- return (now >= sleepStart || (now <= sleepEnd && now.hasSame(sleepEnd, 'day')));
23233
- }
23234
- else {
23235
- // Same-day period: sleep from morning to evening
23236
- return now >= sleepStart && now <= sleepEnd;
23237
- }
23457
+ const currentHour = nowInWorkTz.hour;
23458
+ return workTimeBlocks.some((block) => {
23459
+ if (block.toHour <= block.fromHour) {
23460
+ // Cross-midnight period (e.g., 22:00 to 06:00)
23461
+ return currentHour >= block.fromHour || currentHour < block.toHour;
23462
+ }
23463
+ else {
23464
+ // Same-day period (e.g., 09:00 to 18:00)
23465
+ return currentHour >= block.fromHour && currentHour < block.toHour;
23466
+ }
23467
+ });
23238
23468
  };
23239
23469
 
23240
23470
  // Main wrapper function
@@ -23249,6 +23479,7 @@ async function tryCatch(promise) {
23249
23479
  }
23250
23480
 
23251
23481
  exports.BidderAccountAlreadyConnectedException = BidderAccountAlreadyConnectedException;
23482
+ exports.BoostAboveMaxConnectsException = BoostAboveMaxConnectsException;
23252
23483
  exports.CAMPAIGN_NOTIFICATION_SETTINGS = CAMPAIGN_NOTIFICATION_SETTINGS;
23253
23484
  exports.CAMPAIGN_NOTIFICATION_TYPES = CAMPAIGN_NOTIFICATION_TYPES;
23254
23485
  exports.CloudflareChallengeFailedException = CloudflareChallengeFailedException;
@@ -23306,10 +23537,14 @@ exports.acceptUpworkInvitationSchema = acceptUpworkInvitationSchema;
23306
23537
  exports.accountStatusDisplayMap = accountStatusDisplayMap;
23307
23538
  exports.accountStatusOrder = accountStatusOrder;
23308
23539
  exports.accountStatusSchema = accountStatusSchema;
23540
+ exports.addBudgetNodeFormSchema = addBudgetNodeFormSchema;
23309
23541
  exports.addFromClientHireRateNodeFormSchema = addFromClientHireRateNodeFormSchema;
23542
+ exports.addFromClientRatingNodeFormSchema = addFromClientRatingNodeFormSchema;
23310
23543
  exports.addFromClientSizeNodeFormSchema = addFromClientSizeNodeFormSchema;
23311
23544
  exports.addFromClientSpentNodeFormSchema = addFromClientSpentNodeFormSchema;
23312
23545
  exports.addFromHourlyRateNodeFormSchema = addFromHourlyRateNodeFormSchema;
23546
+ exports.addFromPaymentTypeNodeFormSchema = addFromPaymentTypeNodeFormSchema;
23547
+ exports.addFromStartNodeFormSchema = addFromStartNodeFormSchema;
23313
23548
  exports.addFromSuitabilityNodeFormSchema = addFromSuitabilityNodeFormSchema;
23314
23549
  exports.agencyBidPayloadSchema = agencyBidPayloadSchema;
23315
23550
  exports.agencyBidProposalDataSchema = agencyBidProposalDataSchema;
@@ -23342,7 +23577,9 @@ exports.biddingFailedEventMetadata = biddingFailedEventMetadata;
23342
23577
  exports.biddingHourlyRateStrategyEnum = biddingHourlyRateStrategyEnum;
23343
23578
  exports.biddingRejectedWithFeedbackEventMetadata = biddingRejectedWithFeedbackEventMetadata;
23344
23579
  exports.booleanSchema = booleanSchema;
23580
+ exports.boostAboveMaxConnectsException = boostAboveMaxConnectsException;
23345
23581
  exports.boostFormSchema = boostFormSchema;
23582
+ exports.budgetPaymentTypeEnum = budgetPaymentTypeEnum;
23346
23583
  exports.buildRoute = buildRoute;
23347
23584
  exports.campaignAIMetricsSchema = campaignAIMetricsSchema;
23348
23585
  exports.campaignActivityCreateSchema = campaignActivityCreateSchema;
@@ -23375,15 +23612,18 @@ exports.convertToUtc = convertToUtc;
23375
23612
  exports.countryMapping = countryMapping;
23376
23613
  exports.coverLetterTemplateSchema = coverLetterTemplateSchema;
23377
23614
  exports.createBidderAccountSchema = createBidderAccountSchema;
23615
+ exports.createBudgetFormSchema = createBudgetFormSchema;
23378
23616
  exports.createCampaignSchema = createCampaignSchema;
23379
23617
  exports.createChatbotSchema = createChatbotSchema;
23380
23618
  exports.createClientHireRateFormSchema = createClientHireRateFormSchema;
23619
+ exports.createClientRatingFormSchema = createClientRatingFormSchema;
23381
23620
  exports.createClientSizeFormSchema = createClientSizeFormSchema;
23382
23621
  exports.createClientSpentFormSchema = createClientSpentFormSchema;
23383
23622
  exports.createCoverLetterTemplateSchema = createCoverLetterTemplateSchema;
23384
23623
  exports.createHourlyRateFormSchema = createHourlyRateFormSchema;
23385
23624
  exports.createOrganizationProfileSchema = createOrganizationProfileSchema;
23386
23625
  exports.createOrganizationSchema = createOrganizationSchema;
23626
+ exports.createPaymentTypeFormSchema = createPaymentTypeFormSchema;
23387
23627
  exports.createScraperAccountSchema = createScraperAccountSchema;
23388
23628
  exports.createSuitabilityFormSchema = createSuitabilityFormSchema;
23389
23629
  exports.dailyUsageSchema = dailyUsageSchema;
@@ -23437,6 +23677,7 @@ exports.goToUrlException = goToUrlException;
23437
23677
  exports.hasQuestionsEnum = hasQuestionsEnum;
23438
23678
  exports.incorrectSecurityQuestionAnswerException = incorrectSecurityQuestionAnswerException;
23439
23679
  exports.initBrowserException = initBrowserException;
23680
+ exports.insufficeintBoostConnectsActionEnum = insufficeintBoostConnectsActionEnum;
23440
23681
  exports.insufficientConnectsException = insufficientConnectsException;
23441
23682
  exports.invalidCredentialsException = invalidCredentialsException;
23442
23683
  exports.invalidGoogleOAuthTokenSchema = invalidGoogleOAuthTokenSchema;
@@ -23450,7 +23691,7 @@ exports.invoiceStripeMetadataSchema = invoiceStripeMetadataSchema;
23450
23691
  exports.isNumeric = isNumeric;
23451
23692
  exports.isPaymentVerifiedEnum = isPaymentVerifiedEnum;
23452
23693
  exports.isPhoneVerifiedEnum = isPhoneVerifiedEnum;
23453
- exports.isSleepTime = isSleepTime;
23694
+ exports.isWorkTime = isWorkTime;
23454
23695
  exports.jobActivityDeltaSchema = jobActivityDeltaSchema;
23455
23696
  exports.jobActivityOffsetEnum = jobActivityOffsetEnum;
23456
23697
  exports.jobActivityOffsetHourSchema = jobActivityOffsetHourSchema;
@@ -23474,6 +23715,7 @@ exports.leadSchema = leadSchema;
23474
23715
  exports.leadStatusActivitySchema = leadStatusActivitySchema;
23475
23716
  exports.leadStatusEnum = leadStatusEnum;
23476
23717
  exports.leadStatusEventMetadata = leadStatusEventMetadata;
23718
+ exports.limitedPaymentTypeEnum = limitedPaymentTypeEnum;
23477
23719
  exports.limitsSchema = limitsSchema;
23478
23720
  exports.logEventSchema = logEventSchema;
23479
23721
  exports.loginFailedException = loginFailedException;
@@ -23583,6 +23825,7 @@ exports.syncProposalsStatusRequestPayloadSchema = syncProposalsStatusRequestPayl
23583
23825
  exports.systemPromptSchema = systemPromptSchema;
23584
23826
  exports.systemSchema = systemSchema;
23585
23827
  exports.talentTypeEnum = talentTypeEnum;
23828
+ exports.timeBlockSchema = timeBlockSchema;
23586
23829
  exports.trackUsageEventTypeEnum = trackUsageEventTypeEnum;
23587
23830
  exports.trackUsagePayloadSchema = trackUsagePayloadSchema;
23588
23831
  exports.transactionSchema = transactionSchema;
@@ -23617,4 +23860,6 @@ exports.vendorTypeEnum = vendorTypeEnum;
23617
23860
  exports.verifyBidderAccountCredentialsResponseSchema = verifyBidderAccountCredentialsResponseSchema;
23618
23861
  exports.verifyBidderAccountCredentialsSchema = verifyBidderAccountCredentialsSchema;
23619
23862
  exports.waitForFunctionTimeoutError = waitForFunctionTimeoutError;
23863
+ exports.weekDaysEnum = weekDaysEnum;
23864
+ exports.workTimeSchema = workTimeSchema;
23620
23865
  //# sourceMappingURL=bundle.cjs.js.map