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.
- package/dist/bundle.cjs.js +278 -33
- package/dist/schemas/bidder/bid.d.ts +71 -14
- package/dist/schemas/bidder/exceptions/boost-above-max-connects.exception.d.ts +5 -0
- package/dist/schemas/bidder/exceptions/index.d.ts +3 -1
- package/dist/schemas/campaign/campaign-analytics.d.ts +360 -72
- package/dist/schemas/campaign/campaign-chat-bot.d.ts +11 -11
- package/dist/schemas/campaign/campaign.d.ts +232 -48
- package/dist/schemas/campaign/sequence/budget-node.d.ts +294 -0
- package/dist/schemas/campaign/sequence/client-size-node.d.ts +10 -10
- package/dist/schemas/campaign/sequence/client-spent-node.d.ts +18 -18
- package/dist/schemas/campaign/sequence/edges.d.ts +12 -0
- package/dist/schemas/campaign/sequence/fixed-budget-node.d.ts +91 -0
- package/dist/schemas/campaign/sequence/hire-rate-node.d.ts +18 -18
- package/dist/schemas/campaign/sequence/hourly-budget-node.d.ts +91 -0
- package/dist/schemas/campaign/sequence/hourly-rate-node.d.ts +18 -18
- package/dist/schemas/campaign/sequence/index.d.ts +4 -0
- package/dist/schemas/campaign/sequence/node-types.d.ts +1 -1
- package/dist/schemas/campaign/sequence/payment-type-node.d.ts +45 -0
- package/dist/schemas/campaign/sequence/payment-type.d.ts +45 -0
- package/dist/schemas/campaign/sequence/rating-node.d.ts +91 -0
- package/dist/schemas/campaign/sequence/start-node.d.ts +16 -0
- package/dist/schemas/campaign/sequence/suitability-node.d.ts +18 -18
- package/dist/schemas/scraper/scrape-payload.d.ts +113 -37
- package/dist/utils/timezones.d.ts +4 -3
- package/package.json +1 -1
package/dist/bundle.cjs.js
CHANGED
|
@@ -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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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
|
-
|
|
23214
|
-
|
|
23435
|
+
from: localStartDt.toUTC().toISO(),
|
|
23436
|
+
to: localEndDt.toUTC().toISO(),
|
|
23215
23437
|
};
|
|
23216
23438
|
};
|
|
23217
|
-
const
|
|
23218
|
-
const
|
|
23219
|
-
const
|
|
23220
|
-
|
|
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
|
|
23224
|
-
|
|
23225
|
-
|
|
23226
|
-
|
|
23227
|
-
|
|
23228
|
-
|
|
23229
|
-
|
|
23230
|
-
|
|
23231
|
-
|
|
23232
|
-
|
|
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.
|
|
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
|