lancer-shared 1.2.112 → 1.2.114
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 +180 -160
- package/dist/constants/account-status.d.ts +3 -0
- package/dist/constants/account-status.js +17 -0
- package/dist/constants/collections.js +13 -11
- package/dist/constants/common-questions.js +4 -1
- package/dist/constants/index.js +32 -10
- package/dist/constants/job-filter-options.js +4 -1
- package/dist/constants/job-status.js +12 -7
- package/dist/constants/mappings/countryMapping.js +3 -1
- package/dist/constants/mappings/regionMapping.js +3 -1
- package/dist/constants/organization.d.ts +2 -2
- package/dist/constants/proxies.d.ts +4 -0
- package/dist/constants/routes.js +37 -39
- package/dist/constants/upwork-accounts.js +6 -3
- package/dist/constants/upwork-filters.d.ts +5 -0
- package/dist/constants/upwork-filters.js +75 -0
- package/dist/index.js +20 -4
- package/dist/schemas/account/account-status.js +5 -2
- package/dist/schemas/account/bidder-account.d.ts +10 -1
- package/dist/schemas/account/bidder-account.js +24 -22
- package/dist/schemas/account/exceptions/no-bidder-accounts-available.d.ts +5 -0
- package/dist/schemas/account/index.js +19 -3
- package/dist/schemas/account/manager-account.d.ts +116 -0
- package/dist/schemas/account/manager-account.js +38 -0
- package/dist/schemas/account/scraper-account.js +24 -21
- package/dist/schemas/ai/ai-config.js +11 -8
- package/dist/schemas/ai/index.js +19 -3
- package/dist/schemas/ai/proposal.js +13 -10
- package/dist/schemas/ai/suitability.js +11 -8
- package/dist/schemas/ai-config/ai-config.d.ts +39 -0
- package/dist/schemas/ai-config/ai-config.js +12 -0
- package/dist/schemas/ai-config/index.d.ts +1 -0
- package/dist/schemas/ai-config/index.js +17 -0
- package/dist/schemas/bid/bid-result.js +13 -9
- package/dist/schemas/bid/bid-status.d.ts +30 -0
- package/dist/schemas/bid/bid-status.js +15 -0
- package/dist/schemas/bid/bid.js +30 -29
- package/dist/schemas/bid/exceptions/base-exception.d.ts +4 -0
- package/dist/schemas/bid/exceptions/evalute-element.exception.d.ts +5 -0
- package/dist/schemas/bid/exceptions/wait-for-function-timeout.d.ts +5 -0
- package/dist/schemas/bid/index.js +18 -2
- package/dist/schemas/bidding/index.d.ts +1 -0
- package/dist/schemas/bidding/index.js +17 -0
- package/dist/schemas/bidding/proposal-bidding-status.d.ts +26 -0
- package/dist/schemas/bidding/proposal-bidding-status.js +18 -0
- package/dist/schemas/bidding/proposal-dto.d.ts +26 -0
- package/dist/schemas/bidding/proposal-dto.js +18 -0
- package/dist/schemas/campaign/campaign-ai-metrics.js +8 -5
- package/dist/schemas/campaign/campaign-analytics.js +31 -32
- package/dist/schemas/campaign/campaign-expenses.js +8 -5
- package/dist/schemas/campaign/campaign-insights.js +30 -30
- package/dist/schemas/campaign/campaign-integrations.d.ts +0 -5
- package/dist/schemas/campaign/campaign-integrations.js +13 -10
- package/dist/schemas/campaign/campaign-job-count.js +6 -3
- package/dist/schemas/campaign/campaign.js +35 -32
- package/dist/schemas/campaign/index.js +23 -7
- package/dist/schemas/chat-message/chat-message.js +10 -7
- package/dist/schemas/chat-message/index.js +17 -1
- package/dist/schemas/config/agency-config.js +9 -6
- package/dist/schemas/config/index.js +17 -1
- package/dist/schemas/index.js +32 -17
- package/dist/schemas/job/index.d.ts +6 -6
- package/dist/schemas/job/index.js +19 -0
- package/dist/schemas/job/job-details.d.ts +335 -0
- package/dist/schemas/job/job-details.js +29 -0
- package/dist/schemas/job/job-note.d.ts +83 -0
- package/dist/schemas/job/job-note.js +30 -0
- package/dist/schemas/job/job-pipeline.d.ts +74 -0
- package/dist/schemas/job/job-pipeline.js +29 -0
- package/dist/schemas/job/job-status.d.ts +3 -0
- package/dist/schemas/job/job-status.js +27 -0
- package/dist/schemas/job/job-suitability.d.ts +12 -0
- package/dist/schemas/job/job-suitability.js +13 -0
- package/dist/schemas/job/job.d.ts +1160 -0
- package/dist/schemas/job/job.js +90 -0
- package/dist/schemas/job/pipeline-job.d.ts +608 -0
- package/dist/schemas/job/pipeline-job.js +43 -0
- package/dist/schemas/job/upwork-job.d.ts +334 -0
- package/dist/schemas/job/upwork-job.js +60 -0
- package/dist/schemas/job-filters/index.js +17 -1
- package/dist/schemas/job-filters/job-filters.js +65 -62
- package/dist/schemas/knowledge-object/index.d.ts +1 -0
- package/dist/schemas/knowledge-object/index.js +17 -0
- package/dist/schemas/knowledge-object/knowledge-object.d.ts +128 -0
- package/dist/schemas/knowledge-object/knowledge-object.js +47 -0
- package/dist/schemas/lead/index.js +19 -173
- package/dist/schemas/lead/lead-note.js +16 -13
- package/dist/schemas/lead/lead-status.js +6 -3
- package/dist/schemas/lead/lead.d.ts +1897 -0
- package/dist/schemas/lead/lead.js +143 -0
- package/dist/schemas/logger/index.js +17 -1
- package/dist/schemas/logger/log-event.d.ts +127 -14
- package/dist/schemas/logger/log-event.js +49 -100
- package/dist/schemas/organization/index.js +17 -70
- package/dist/schemas/organization/organization.d.ts +7 -177
- package/dist/schemas/organization/organization.js +17 -14
- package/dist/schemas/proxy/index.js +17 -3
- package/dist/schemas/proxy/proxy.js +19 -25
- package/dist/schemas/saved-search/index.js +11 -8
- package/dist/schemas/scraper/index.js +18 -2
- package/dist/schemas/scraper/scrape-payload.d.ts +5 -0
- package/dist/schemas/scraper/scrape-payload.js +14 -19
- package/dist/schemas/scraper/scrape-response.d.ts +345 -0
- package/dist/schemas/scraper/scrape-response.js +9 -0
- package/dist/schemas/scraper/scrape-result.js +21 -21
- package/dist/schemas/shared.js +9 -12
- package/dist/schemas/time-filter/index.js +8 -5
- package/dist/schemas/upwork-account/index.d.ts +3 -0
- package/dist/schemas/upwork-account/index.js +19 -0
- package/dist/schemas/upwork-account/upwork-account-status.d.ts +2 -0
- package/dist/schemas/upwork-account/upwork-account-status.js +11 -0
- package/dist/schemas/upwork-account/upwork-business-manager-account.d.ts +95 -0
- package/dist/schemas/upwork-account/upwork-business-manager-account.js +35 -0
- package/dist/schemas/upwork-account/upwork-scraper-account.d.ts +92 -0
- package/dist/schemas/upwork-account/upwork-scraper-account.js +31 -0
- package/dist/schemas/upwork-account/upwork-scraping-account.d.ts +90 -0
- package/dist/schemas/upwork-account/upwork-scraping-account.js +30 -0
- package/dist/schemas/user/index.js +41 -38
- package/dist/types/account/account-status.js +2 -1
- package/dist/types/account/bidder-account.js +2 -1
- package/dist/types/account/index.js +19 -3
- package/dist/types/account/manager-account.d.ts +7 -0
- package/dist/types/account/manager-account.js +2 -0
- package/dist/types/account/scraper-account.js +2 -1
- package/dist/types/ai/ai-config.js +2 -1
- package/dist/types/ai/index.js +19 -3
- package/dist/types/ai/proposal.js +2 -1
- package/dist/types/ai/suitability.js +2 -1
- package/dist/types/ai-config/ai-config.d.ts +6 -0
- package/dist/types/ai-config/ai-config.js +2 -0
- package/dist/types/ai-config/index.d.ts +1 -0
- package/dist/types/ai-config/index.js +17 -0
- package/dist/types/bid/bid-result.js +2 -1
- package/dist/types/bid/bid-status.d.ts +5 -0
- package/dist/types/bid/bid-status.js +2 -0
- package/dist/types/bid/bid.js +2 -1
- package/dist/types/bid/index.js +18 -2
- package/dist/types/bidding/index.d.ts +1 -0
- package/dist/types/bidding/index.js +17 -0
- package/dist/types/bidding/proposal-bidding-status.d.ts +3 -0
- package/dist/types/bidding/proposal-bidding-status.js +2 -0
- package/dist/types/bidding/proposal-dto.d.ts +3 -0
- package/dist/types/bidding/proposal-dto.js +2 -0
- package/dist/types/campaign/campaign-analytics.js +2 -1
- package/dist/types/campaign/campaign-expenses.js +2 -1
- package/dist/types/campaign/campaign-insights.js +2 -1
- package/dist/types/campaign/campaign-integrations.js +2 -1
- package/dist/types/campaign/campaign-job-count.js +2 -1
- package/dist/types/campaign/campaign.js +2 -1
- package/dist/types/campaign/index.js +22 -6
- package/dist/types/chat-message/chat-message.js +2 -1
- package/dist/types/chat-message/index.js +17 -1
- package/dist/types/config/agency-config.js +2 -1
- package/dist/types/config/index.js +17 -1
- package/dist/types/index.js +29 -15
- package/dist/types/job/index.js +19 -3
- package/dist/types/job/job-details.d.ts +36 -0
- package/dist/types/job/job-details.js +2 -0
- package/dist/types/job/job-note.js +2 -1
- package/dist/types/job/job-pipeline.d.ts +4 -0
- package/dist/types/job/job-pipeline.js +2 -0
- package/dist/types/job/job-status.js +4 -1
- package/dist/types/job/job-suitability.d.ts +3 -0
- package/dist/types/job/job-suitability.js +2 -0
- package/dist/types/job/job.d.ts +36 -0
- package/dist/types/job/job.js +2 -0
- package/dist/types/job-filters/index.js +17 -1
- package/dist/types/job-filters/job-filters.js +2 -1
- package/dist/types/knowledge-object/index.d.ts +1 -0
- package/dist/types/knowledge-object/index.js +17 -0
- package/dist/types/knowledge-object/knowledge-object.d.ts +4 -0
- package/dist/types/knowledge-object/knowledge-object.js +2 -0
- package/dist/types/logger/index.js +17 -1
- package/dist/types/logger/log-event.js +2 -1
- package/dist/types/saved-search/index.js +2 -1
- package/dist/types/scraper/index.js +18 -2
- package/dist/types/scraper/scrape-payload.js +2 -1
- package/dist/types/scraper/scrape-response.d.ts +4 -0
- package/dist/types/scraper/scrape-response.js +2 -0
- package/dist/types/scraper/scrape-result.js +2 -1
- package/dist/types/time-filter/index.js +2 -1
- package/dist/types/upwork-account/index.d.ts +3 -0
- package/dist/types/upwork-account/index.js +19 -0
- package/dist/types/upwork-account/upwork-account-status.d.ts +3 -0
- package/dist/types/upwork-account/upwork-account-status.js +2 -0
- package/dist/types/upwork-account/upwork-business-manager-account.d.ts +7 -0
- package/dist/types/upwork-account/upwork-business-manager-account.js +2 -0
- package/dist/types/upwork-account/upwork-scraping-account.d.ts +5 -0
- package/dist/types/upwork-account/upwork-scraping-account.js +2 -0
- package/dist/types/user/index.js +2 -1
- package/dist/utils/index.js +17 -1
- package/dist/utils/try-catch.js +23 -8
- package/package.json +1 -1
- package/dist/schemas/event/index.d.ts +0 -58
- package/dist/schemas/job/haha.json +0 -581
- package/dist/schemas/lead/nuxt.js +0 -287
- package/dist/schemas/meter-event/index.d.ts +0 -12
- package/dist/schemas/organization/member.js +0 -7
- package/dist/schemas/organization/subscription.js +0 -17
- package/dist/schemas/proxy/proxy-available-replacements.js +0 -3
- package/dist/schemas/proxy/proxy-country.js +0 -249
- package/dist/schemas/tier/index.d.ts +0 -119
- package/dist/schemas/transaction/index.js +0 -17
- package/dist/schemas/usage/index.js +0 -18
- package/dist/types/job/nuxt.js +0 -1
- package/dist/types/shared.js +0 -1
- package/dist/types/transaction/index.js +0 -1
- package/dist/types/usage/index.js +0 -1
package/dist/bundle.cjs.js
CHANGED
|
@@ -11361,110 +11361,6 @@ const externalProxySchema = proxySchema.omit({
|
|
|
11361
11361
|
|
|
11362
11362
|
const proxyAvailableReplacementsSchema = z.record(proxyProviderSchema, z.number());
|
|
11363
11363
|
|
|
11364
|
-
const bidderAccountProvider = z.enum([
|
|
11365
|
-
"user-provided",
|
|
11366
|
-
"lancer-provided",
|
|
11367
|
-
]);
|
|
11368
|
-
const bidderAccountAgencySchema = z.object({
|
|
11369
|
-
name: z.string(),
|
|
11370
|
-
logoUrl: z.string().nullable(),
|
|
11371
|
-
contractors: z.array(z.string()),
|
|
11372
|
-
organizationId: z.string(),
|
|
11373
|
-
});
|
|
11374
|
-
const bidderAccountSchema = z.object({
|
|
11375
|
-
id: z.string(),
|
|
11376
|
-
provider: bidderAccountProvider,
|
|
11377
|
-
email: z.string().email(),
|
|
11378
|
-
password: z.string(),
|
|
11379
|
-
securityQuestionAnswer: z.string().nullable(),
|
|
11380
|
-
assignedOrganizations: z.array(z.string()),
|
|
11381
|
-
googleOauthTokens: z.any().nullable(),
|
|
11382
|
-
lastUsed: z.number().nullable(),
|
|
11383
|
-
multiLoginProfileId: z.string().nullable(),
|
|
11384
|
-
proxyId: z.string().nullable(),
|
|
11385
|
-
profilePhotoUrl: z.string().nullable(),
|
|
11386
|
-
name: z.string().nullable(),
|
|
11387
|
-
agencies: z.array(bidderAccountAgencySchema).nullable(),
|
|
11388
|
-
instanceId: stringType().nullable(),
|
|
11389
|
-
createdAt: z.number(),
|
|
11390
|
-
updatedAt: z.number(),
|
|
11391
|
-
});
|
|
11392
|
-
const createBidderAccountSchema = bidderAccountSchema
|
|
11393
|
-
.pick({
|
|
11394
|
-
email: true,
|
|
11395
|
-
password: true,
|
|
11396
|
-
provider: true,
|
|
11397
|
-
securityQuestionAnswer: true,
|
|
11398
|
-
profilePhotoUrl: true,
|
|
11399
|
-
name: true,
|
|
11400
|
-
agencies: true,
|
|
11401
|
-
assignedOrganizations: true,
|
|
11402
|
-
})
|
|
11403
|
-
.extend({
|
|
11404
|
-
proxyCountry: proxyCountryEnum.nullable(),
|
|
11405
|
-
});
|
|
11406
|
-
const updateBidderAccountSchema = bidderAccountSchema
|
|
11407
|
-
.omit({
|
|
11408
|
-
id: true,
|
|
11409
|
-
})
|
|
11410
|
-
.partial();
|
|
11411
|
-
const verifyBidderAccountCredentialsSchema = z.object({
|
|
11412
|
-
email: z.string().email(),
|
|
11413
|
-
password: z.string(),
|
|
11414
|
-
securityQuestionAnswer: z.string(),
|
|
11415
|
-
multiloginProfileId: z.string(),
|
|
11416
|
-
proxy: proxySchema,
|
|
11417
|
-
});
|
|
11418
|
-
const verifyBidderAccountCredentialsResponseSchema = z.object({
|
|
11419
|
-
accountName: z.string().nullable(),
|
|
11420
|
-
accountPhotoUrl: z.string().nullable(),
|
|
11421
|
-
agencies: z.array(bidderAccountAgencySchema).nullable(),
|
|
11422
|
-
});
|
|
11423
|
-
const acceptUpworkInvitationSchema = z.object({
|
|
11424
|
-
code: z.string(),
|
|
11425
|
-
});
|
|
11426
|
-
const acceptUpworkInvitationResponseSchema = z.object({
|
|
11427
|
-
agencyName: z.string(),
|
|
11428
|
-
photoUrl: z.string(),
|
|
11429
|
-
contractors: z.array(z.string()),
|
|
11430
|
-
});
|
|
11431
|
-
|
|
11432
|
-
class BidderAccountAlreadyConnectedException extends Error {
|
|
11433
|
-
code = 'BIDDER_ACCOUNT_ALREADY_CONNECTED';
|
|
11434
|
-
email;
|
|
11435
|
-
constructor(email) {
|
|
11436
|
-
super(`Bidder account ${email} is already connected to a scraper account`);
|
|
11437
|
-
this.email = email;
|
|
11438
|
-
}
|
|
11439
|
-
}
|
|
11440
|
-
const bidderAccountAlreadyConnectedException = (email) => new BidderAccountAlreadyConnectedException(email);
|
|
11441
|
-
|
|
11442
|
-
class InvalidGoogleOAuthTokenException extends Error {
|
|
11443
|
-
code = 'INVALID_GOOGLE_OAUTH_TOKEN';
|
|
11444
|
-
constructor(message) {
|
|
11445
|
-
super(message);
|
|
11446
|
-
}
|
|
11447
|
-
}
|
|
11448
|
-
const invalidGoogleOAuthTokenSchema = (message) => new InvalidGoogleOAuthTokenException(message);
|
|
11449
|
-
|
|
11450
|
-
class NoBidderAccountsAvailableException extends Error {
|
|
11451
|
-
code = 'NO_BIDDER_ACCOUNTS_AVAILABLE';
|
|
11452
|
-
constructor(message) {
|
|
11453
|
-
super(message);
|
|
11454
|
-
}
|
|
11455
|
-
}
|
|
11456
|
-
const noBidderAccountsAvailableException = (message) => {
|
|
11457
|
-
return new NoBidderAccountsAvailableException(message);
|
|
11458
|
-
};
|
|
11459
|
-
|
|
11460
|
-
class NoGoogleOAuthTokensFoundException extends Error {
|
|
11461
|
-
code = 'NO_GOOGLE_OAUTH_TOKENS_FOUND';
|
|
11462
|
-
constructor(message) {
|
|
11463
|
-
super(message);
|
|
11464
|
-
}
|
|
11465
|
-
}
|
|
11466
|
-
const noGoogleOAuthTokensFoundException = (message) => new NoGoogleOAuthTokensFoundException(message);
|
|
11467
|
-
|
|
11468
11364
|
const booleanSchema = z
|
|
11469
11365
|
.union([z.boolean(), z.literal("true"), z.literal("false")])
|
|
11470
11366
|
.transform((value) => value === true || value === "true");
|
|
@@ -11875,7 +11771,7 @@ const jobSkillsSchema = objectType({
|
|
|
11875
11771
|
});
|
|
11876
11772
|
const vendorQualificationSchema = objectType({
|
|
11877
11773
|
location: stringType().nullable(),
|
|
11878
|
-
talentType: z.enum([
|
|
11774
|
+
talentType: z.enum(['Agency', 'Independent', 'unspecified']).nullable(),
|
|
11879
11775
|
englishLevel: stringType().nullable(),
|
|
11880
11776
|
minimumEarnings: numberType().nullable(),
|
|
11881
11777
|
jobSuccessScore: stringType().nullable(),
|
|
@@ -11998,7 +11894,7 @@ const jobActivitySnapshotSchema = objectType({
|
|
|
11998
11894
|
scrapedAt: numberType(),
|
|
11999
11895
|
hoursSincePosted: numberType(),
|
|
12000
11896
|
});
|
|
12001
|
-
const
|
|
11897
|
+
const feedJobSchema = objectType({
|
|
12002
11898
|
uid: stringType().nullable(),
|
|
12003
11899
|
title: stringType().nullable(),
|
|
12004
11900
|
jobUrl: stringType().nullable(),
|
|
@@ -12007,6 +11903,112 @@ const jobListingSchema = objectType({
|
|
|
12007
11903
|
region: regionSchema.nullable(),
|
|
12008
11904
|
});
|
|
12009
11905
|
|
|
11906
|
+
const bidderAccountProvider = z.enum([
|
|
11907
|
+
"user-provided",
|
|
11908
|
+
"lancer-provided",
|
|
11909
|
+
]);
|
|
11910
|
+
const bidderAccountAgencySchema = z.object({
|
|
11911
|
+
name: z.string(),
|
|
11912
|
+
logoUrl: z.string().nullable(),
|
|
11913
|
+
contractors: z.array(z.string()),
|
|
11914
|
+
organizationId: z.string(),
|
|
11915
|
+
});
|
|
11916
|
+
const bidderAccountSchema = z.object({
|
|
11917
|
+
id: z.string(),
|
|
11918
|
+
provider: bidderAccountProvider,
|
|
11919
|
+
email: z.string().email(),
|
|
11920
|
+
password: z.string(),
|
|
11921
|
+
securityQuestionAnswer: z.string().nullable(),
|
|
11922
|
+
assignedOrganizations: z.array(z.string()),
|
|
11923
|
+
googleOauthTokens: z.any().nullable(),
|
|
11924
|
+
lastUsed: z.number().nullable(),
|
|
11925
|
+
multiLoginProfileId: z.string().nullable(),
|
|
11926
|
+
proxyId: z.string().nullable(),
|
|
11927
|
+
profilePhotoUrl: z.string().nullable(),
|
|
11928
|
+
name: z.string().nullable(),
|
|
11929
|
+
agencies: z.array(bidderAccountAgencySchema).nullable(),
|
|
11930
|
+
instanceId: stringType().nullable(),
|
|
11931
|
+
createdAt: z.number(),
|
|
11932
|
+
updatedAt: z.number(),
|
|
11933
|
+
region: regionEnum,
|
|
11934
|
+
});
|
|
11935
|
+
const createBidderAccountSchema = bidderAccountSchema
|
|
11936
|
+
.pick({
|
|
11937
|
+
email: true,
|
|
11938
|
+
password: true,
|
|
11939
|
+
provider: true,
|
|
11940
|
+
securityQuestionAnswer: true,
|
|
11941
|
+
profilePhotoUrl: true,
|
|
11942
|
+
name: true,
|
|
11943
|
+
agencies: true,
|
|
11944
|
+
assignedOrganizations: true,
|
|
11945
|
+
region: true,
|
|
11946
|
+
})
|
|
11947
|
+
.extend({
|
|
11948
|
+
proxyCountry: proxyCountryEnum.nullable(),
|
|
11949
|
+
});
|
|
11950
|
+
const updateBidderAccountSchema = bidderAccountSchema
|
|
11951
|
+
.omit({
|
|
11952
|
+
id: true,
|
|
11953
|
+
})
|
|
11954
|
+
.partial();
|
|
11955
|
+
const verifyBidderAccountCredentialsSchema = z.object({
|
|
11956
|
+
email: z.string().email(),
|
|
11957
|
+
password: z.string(),
|
|
11958
|
+
securityQuestionAnswer: z.string(),
|
|
11959
|
+
multiloginProfileId: z.string(),
|
|
11960
|
+
proxy: proxySchema,
|
|
11961
|
+
});
|
|
11962
|
+
const verifyBidderAccountCredentialsResponseSchema = z.object({
|
|
11963
|
+
accountName: z.string().nullable(),
|
|
11964
|
+
accountPhotoUrl: z.string().nullable(),
|
|
11965
|
+
agencies: z.array(bidderAccountAgencySchema).nullable(),
|
|
11966
|
+
});
|
|
11967
|
+
const acceptUpworkInvitationSchema = z.object({
|
|
11968
|
+
code: z.string(),
|
|
11969
|
+
});
|
|
11970
|
+
const acceptUpworkInvitationResponseSchema = z.object({
|
|
11971
|
+
agencyName: z.string(),
|
|
11972
|
+
photoUrl: z.string(),
|
|
11973
|
+
contractors: z.array(z.string()),
|
|
11974
|
+
});
|
|
11975
|
+
|
|
11976
|
+
class BidderAccountAlreadyConnectedException extends Error {
|
|
11977
|
+
code = 'BIDDER_ACCOUNT_ALREADY_CONNECTED';
|
|
11978
|
+
email;
|
|
11979
|
+
constructor(email) {
|
|
11980
|
+
super(`Bidder account ${email} is already connected to a scraper account`);
|
|
11981
|
+
this.email = email;
|
|
11982
|
+
}
|
|
11983
|
+
}
|
|
11984
|
+
const bidderAccountAlreadyConnectedException = (email) => new BidderAccountAlreadyConnectedException(email);
|
|
11985
|
+
|
|
11986
|
+
class InvalidGoogleOAuthTokenException extends Error {
|
|
11987
|
+
code = 'INVALID_GOOGLE_OAUTH_TOKEN';
|
|
11988
|
+
constructor(message) {
|
|
11989
|
+
super(message);
|
|
11990
|
+
}
|
|
11991
|
+
}
|
|
11992
|
+
const invalidGoogleOAuthTokenSchema = (message) => new InvalidGoogleOAuthTokenException(message);
|
|
11993
|
+
|
|
11994
|
+
class NoBidderAccountsAvailableException extends Error {
|
|
11995
|
+
code = 'NO_BIDDER_ACCOUNTS_AVAILABLE';
|
|
11996
|
+
constructor(message) {
|
|
11997
|
+
super(message);
|
|
11998
|
+
}
|
|
11999
|
+
}
|
|
12000
|
+
const noBidderAccountsAvailableException = (message) => {
|
|
12001
|
+
return new NoBidderAccountsAvailableException(message);
|
|
12002
|
+
};
|
|
12003
|
+
|
|
12004
|
+
class NoGoogleOAuthTokensFoundException extends Error {
|
|
12005
|
+
code = 'NO_GOOGLE_OAUTH_TOKENS_FOUND';
|
|
12006
|
+
constructor(message) {
|
|
12007
|
+
super(message);
|
|
12008
|
+
}
|
|
12009
|
+
}
|
|
12010
|
+
const noGoogleOAuthTokensFoundException = (message) => new NoGoogleOAuthTokensFoundException(message);
|
|
12011
|
+
|
|
12010
12012
|
const scraperAccountType = z.enum([
|
|
12011
12013
|
"feed",
|
|
12012
12014
|
"job",
|
|
@@ -12445,56 +12447,57 @@ const proposalSchema = z.object({
|
|
|
12445
12447
|
|
|
12446
12448
|
const LogEventTypeEnum = z.enum([
|
|
12447
12449
|
// Scraper Events
|
|
12448
|
-
|
|
12449
|
-
|
|
12450
|
-
|
|
12451
|
-
|
|
12452
|
-
|
|
12453
|
-
|
|
12454
|
-
|
|
12455
|
-
|
|
12456
|
-
|
|
12457
|
-
|
|
12458
|
-
|
|
12450
|
+
'scraperStarted',
|
|
12451
|
+
'scraperCompleted',
|
|
12452
|
+
'scrapeJobStarted',
|
|
12453
|
+
'jobScraped',
|
|
12454
|
+
'jobScrapeFailed',
|
|
12455
|
+
'jobsIndexed',
|
|
12456
|
+
'jobDuplicateSkipped',
|
|
12457
|
+
'scraperFailed',
|
|
12458
|
+
'jobActivityScraped',
|
|
12459
|
+
'jobActivityScrapeFailed',
|
|
12460
|
+
'leadStatusCheckFailed',
|
|
12461
|
+
'leadStatusUpdated',
|
|
12459
12462
|
// Feed Scraper Events
|
|
12460
|
-
|
|
12461
|
-
|
|
12462
|
-
|
|
12463
|
-
|
|
12463
|
+
'feedScrapeStarted',
|
|
12464
|
+
'feedScrapeCompleted',
|
|
12465
|
+
'feedScrapeFailed',
|
|
12466
|
+
'jobListingScraped',
|
|
12464
12467
|
// Job Sync & Campaign Matching
|
|
12465
|
-
|
|
12466
|
-
|
|
12467
|
-
|
|
12468
|
+
'jobSyncPublished',
|
|
12469
|
+
'jobSyncReceived',
|
|
12470
|
+
'leadsCreatedAndSynced',
|
|
12468
12471
|
// Suitability Events
|
|
12469
|
-
|
|
12470
|
-
|
|
12471
|
-
|
|
12472
|
-
|
|
12473
|
-
|
|
12472
|
+
'suitabilityPending',
|
|
12473
|
+
'suitabilityProcessing',
|
|
12474
|
+
'suitabilityComplete',
|
|
12475
|
+
'suitabilityFailed',
|
|
12476
|
+
'manualSuitabilityAnalyzed',
|
|
12474
12477
|
// Proposal Events
|
|
12475
|
-
|
|
12476
|
-
|
|
12477
|
-
|
|
12478
|
-
|
|
12478
|
+
'proposalProcessing',
|
|
12479
|
+
'proposalComplete',
|
|
12480
|
+
'proposalFailed',
|
|
12481
|
+
'manualProposalGenerated',
|
|
12479
12482
|
// Bidding Events
|
|
12480
|
-
|
|
12481
|
-
|
|
12482
|
-
|
|
12483
|
-
|
|
12484
|
-
|
|
12485
|
-
|
|
12486
|
-
|
|
12487
|
-
|
|
12488
|
-
|
|
12489
|
-
|
|
12490
|
-
|
|
12491
|
-
|
|
12483
|
+
'biddingProcessing',
|
|
12484
|
+
'biddingComplete',
|
|
12485
|
+
'biddingFailed',
|
|
12486
|
+
'biddingSkipped',
|
|
12487
|
+
'biddingPending',
|
|
12488
|
+
'biddingRetry',
|
|
12489
|
+
'biddingInsufficientConnects',
|
|
12490
|
+
'biddingWarningAlert',
|
|
12491
|
+
'biddingRejected',
|
|
12492
|
+
'biddingRejectedWithFeedback',
|
|
12493
|
+
'checkSuitableLeadFeedbackStatus',
|
|
12494
|
+
'biddingApproved',
|
|
12492
12495
|
// System/Generic Events
|
|
12493
|
-
|
|
12494
|
-
|
|
12495
|
-
|
|
12496
|
-
|
|
12497
|
-
|
|
12496
|
+
'errorLogged',
|
|
12497
|
+
'cloudTaskRetry',
|
|
12498
|
+
'manualLeadEdited',
|
|
12499
|
+
'leadArchived',
|
|
12500
|
+
'auditTrailLogged',
|
|
12498
12501
|
// Lead Events
|
|
12499
12502
|
]);
|
|
12500
12503
|
const logEventSchema = z.object({
|
|
@@ -12503,7 +12506,7 @@ const logEventSchema = z.object({
|
|
|
12503
12506
|
// The service that triggered the event
|
|
12504
12507
|
source: z.string(), // e.g. "lancer-agents", "lancer-bidding"
|
|
12505
12508
|
// Optional: Allow logging non-lead events in the future
|
|
12506
|
-
resourceType: z.string().default(
|
|
12509
|
+
resourceType: z.string().default('lead'), // e.g. "lead", "campaign", "user"
|
|
12507
12510
|
// ID of the resource (primary entity affected)
|
|
12508
12511
|
resourceId: z.string().nullable(), // fallback if leadId is not applicable
|
|
12509
12512
|
// Lead-level metadata
|
|
@@ -12519,8 +12522,21 @@ const logEventSchema = z.object({
|
|
|
12519
12522
|
timestamp: z.number(),
|
|
12520
12523
|
});
|
|
12521
12524
|
const listingScrapedEventMetadata = objectType({
|
|
12522
|
-
listing:
|
|
12525
|
+
listing: feedJobSchema,
|
|
12526
|
+
region: regionSchema,
|
|
12527
|
+
});
|
|
12528
|
+
const scrapeJobStartedEventMetadata = objectType({
|
|
12529
|
+
listing: feedJobSchema,
|
|
12530
|
+
region: regionSchema,
|
|
12531
|
+
accountId: stringType(),
|
|
12532
|
+
accountEmail: stringType(),
|
|
12533
|
+
});
|
|
12534
|
+
const scrapeJobFailedEventMetadata = objectType({
|
|
12535
|
+
listing: feedJobSchema,
|
|
12523
12536
|
region: regionSchema,
|
|
12537
|
+
accountId: stringType(),
|
|
12538
|
+
accountEmail: stringType(),
|
|
12539
|
+
error: stringType(),
|
|
12524
12540
|
});
|
|
12525
12541
|
const jobActivityScrapedEventMetadata = objectType({
|
|
12526
12542
|
activity: jobActivitySchema,
|
|
@@ -12529,7 +12545,7 @@ const jobActivityScrapedEventMetadata = objectType({
|
|
|
12529
12545
|
scrapedAt: numberType(),
|
|
12530
12546
|
});
|
|
12531
12547
|
const jobActivityScrapeFailedEventMetadata = objectType({
|
|
12532
|
-
listing:
|
|
12548
|
+
listing: feedJobSchema,
|
|
12533
12549
|
region: regionSchema,
|
|
12534
12550
|
offsetHour: jobActivityOffsetHourSchema,
|
|
12535
12551
|
});
|
|
@@ -12541,9 +12557,11 @@ const feedScrapeStartedEventMetadata = objectType({
|
|
|
12541
12557
|
const feedScrapeCompletedEventMetadata = objectType({
|
|
12542
12558
|
id: stringType(),
|
|
12543
12559
|
endTime: numberType(),
|
|
12560
|
+
listingCount: numberType(),
|
|
12561
|
+
duration: stringType(),
|
|
12562
|
+
accountEmail: stringType(),
|
|
12544
12563
|
region: regionSchema,
|
|
12545
12564
|
durationMillis: numberType().nullish(),
|
|
12546
|
-
duration: stringType().nullish(),
|
|
12547
12565
|
});
|
|
12548
12566
|
const biddingCompletedEventMetadata = objectType({
|
|
12549
12567
|
biddingAmount: numberType(),
|
|
@@ -12554,7 +12572,7 @@ const biddingFailedEventMetadata = objectType({
|
|
|
12554
12572
|
error: z.any(),
|
|
12555
12573
|
});
|
|
12556
12574
|
const userAccountBiddingExceptionEventMetadata = objectType({
|
|
12557
|
-
errorType: z.enum([
|
|
12575
|
+
errorType: z.enum(['insufficientConnects', 'proposalFormWarningAlert']),
|
|
12558
12576
|
context: z.string().optional(),
|
|
12559
12577
|
});
|
|
12560
12578
|
const lancerBiddingExceptionEventMetadata = objectType({
|
|
@@ -13207,14 +13225,14 @@ const scrapeUserProfileRequestSchema = objectType({
|
|
|
13207
13225
|
profileUrl: stringType(),
|
|
13208
13226
|
});
|
|
13209
13227
|
const scrapeJobPayloadSchema = objectType({
|
|
13210
|
-
listing:
|
|
13228
|
+
listing: feedJobSchema,
|
|
13211
13229
|
});
|
|
13212
13230
|
const processFeedPayloadSchema = objectType({
|
|
13213
13231
|
region: regionSchema,
|
|
13214
|
-
listings: arrayType(
|
|
13232
|
+
listings: arrayType(feedJobSchema),
|
|
13215
13233
|
});
|
|
13216
13234
|
const scrapeJobActivityPayloadSchema = objectType({
|
|
13217
|
-
listing:
|
|
13235
|
+
listing: feedJobSchema,
|
|
13218
13236
|
offsetHour: jobActivityOffsetHourSchema,
|
|
13219
13237
|
});
|
|
13220
13238
|
const checkLeadStatusPayloadSchema = objectType({
|
|
@@ -13233,7 +13251,7 @@ const scrapeResultSchema = objectType({
|
|
|
13233
13251
|
ukAccountCookies: arrayType(anyType()).optional(),
|
|
13234
13252
|
});
|
|
13235
13253
|
const scrapeFeedResultSchema = objectType({
|
|
13236
|
-
listings: arrayType(
|
|
13254
|
+
listings: arrayType(feedJobSchema),
|
|
13237
13255
|
region: regionSchema,
|
|
13238
13256
|
usAccountCookies: arrayType(anyType()).optional(),
|
|
13239
13257
|
ukAccountCookies: arrayType(anyType()).optional(),
|
|
@@ -13916,6 +13934,7 @@ exports.evaluateFunctionException = evaluateFunctionException;
|
|
|
13916
13934
|
exports.eventLoggerPayloadSchema = eventLoggerPayloadSchema;
|
|
13917
13935
|
exports.experienceLevelEnum = experienceLevelEnum;
|
|
13918
13936
|
exports.externalProxySchema = externalProxySchema;
|
|
13937
|
+
exports.feedJobSchema = feedJobSchema;
|
|
13919
13938
|
exports.feedScrapeCompletedEventMetadata = feedScrapeCompletedEventMetadata;
|
|
13920
13939
|
exports.feedScrapeException = feedScrapeException;
|
|
13921
13940
|
exports.feedScrapeStartedEventMetadata = feedScrapeStartedEventMetadata;
|
|
@@ -13960,7 +13979,6 @@ exports.jobActivityScrapedEventMetadata = jobActivityScrapedEventMetadata;
|
|
|
13960
13979
|
exports.jobActivitySnapshotSchema = jobActivitySnapshotSchema;
|
|
13961
13980
|
exports.jobActivityUpdateSchema = jobActivityUpdateSchema;
|
|
13962
13981
|
exports.jobFiltersSchema = jobFiltersSchema;
|
|
13963
|
-
exports.jobListingSchema = jobListingSchema;
|
|
13964
13982
|
exports.jobQualityScoreSchema = jobQualityScoreSchema;
|
|
13965
13983
|
exports.jobSkillsSchema = jobSkillsSchema;
|
|
13966
13984
|
exports.jobStatusOrder = jobStatusOrder;
|
|
@@ -14032,7 +14050,9 @@ exports.requiredJSSEnum = requiredJSSEnum;
|
|
|
14032
14050
|
exports.savedSearchSchema = savedSearchSchema;
|
|
14033
14051
|
exports.scrapeFeedResultSchema = scrapeFeedResultSchema;
|
|
14034
14052
|
exports.scrapeJobActivityPayloadSchema = scrapeJobActivityPayloadSchema;
|
|
14053
|
+
exports.scrapeJobFailedEventMetadata = scrapeJobFailedEventMetadata;
|
|
14035
14054
|
exports.scrapeJobPayloadSchema = scrapeJobPayloadSchema;
|
|
14055
|
+
exports.scrapeJobStartedEventMetadata = scrapeJobStartedEventMetadata;
|
|
14036
14056
|
exports.scrapePayloadSchema = scrapePayloadSchema;
|
|
14037
14057
|
exports.scrapeResultSchema = scrapeResultSchema;
|
|
14038
14058
|
exports.scrapeUserProfileRequestSchema = scrapeUserProfileRequestSchema;
|
|
@@ -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,14 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.COLLECTIONS = void 0;
|
|
1
4
|
// Base collection names
|
|
2
|
-
|
|
3
|
-
USERS:
|
|
4
|
-
SETTINGS:
|
|
5
|
-
CAMPAIGNS:
|
|
6
|
-
LEADS:
|
|
7
|
-
EVENTS:
|
|
8
|
-
SCRAPER_ACCOUNTS:
|
|
9
|
-
BIDDER_ACCOUNTS:
|
|
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',
|
|
10
13
|
CAMPAIGN_ACTIVITIES: (userId, campaignId) => `users/${userId}/campaigns/${campaignId}/activities`,
|
|
11
|
-
ORGANIZATIONS:
|
|
12
|
-
PROXIES:
|
|
13
|
-
TRANSACTIONS: "transactions",
|
|
14
|
+
ORGANIZATIONS: 'organizations',
|
|
15
|
+
PROXIES: 'proxies',
|
|
14
16
|
};
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
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',
|
package/dist/constants/index.js
CHANGED
|
@@ -1,4 +1,24 @@
|
|
|
1
|
-
|
|
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 = {
|
|
2
22
|
auth: {
|
|
3
23
|
register: `auth/register`,
|
|
4
24
|
},
|
|
@@ -7,12 +27,14 @@ export const paths = {
|
|
|
7
27
|
details: (id) => `users/${id}`,
|
|
8
28
|
},
|
|
9
29
|
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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);
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JOB_FILTER_OPTIONS = void 0;
|
|
4
|
+
exports.JOB_FILTER_OPTIONS = {
|
|
2
5
|
REGIONS: ["Worldwide", "UKOnly", "USOnly"],
|
|
3
6
|
PROJECT_DURATION: [
|
|
4
7
|
"Less than 1 month",
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getNextStatus = exports.getPreviousStatus = exports.jobStatusOrder = void 0;
|
|
4
|
+
exports.jobStatusOrder = [
|
|
2
5
|
"leads",
|
|
3
6
|
"contacted",
|
|
4
7
|
"viewed",
|
|
@@ -7,15 +10,17 @@ export const jobStatusOrder = [
|
|
|
7
10
|
"won",
|
|
8
11
|
"lost",
|
|
9
12
|
];
|
|
10
|
-
|
|
13
|
+
const getPreviousStatus = (status) => {
|
|
11
14
|
if (status === "won")
|
|
12
15
|
return "negotiations";
|
|
13
16
|
if (status === "lost")
|
|
14
17
|
return "negotiations";
|
|
15
|
-
const index = jobStatusOrder.indexOf(status);
|
|
16
|
-
return index > 0 ? jobStatusOrder[index - 1] : null;
|
|
18
|
+
const index = exports.jobStatusOrder.indexOf(status);
|
|
19
|
+
return index > 0 ? exports.jobStatusOrder[index - 1] : null;
|
|
17
20
|
};
|
|
18
|
-
|
|
19
|
-
|
|
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;
|
|
21
25
|
};
|
|
26
|
+
exports.getNextStatus = getNextStatus;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
3
|
const countryMapping = {
|
|
2
4
|
USA: "United States",
|
|
3
5
|
GBR: "United Kingdom",
|
|
@@ -117,4 +119,4 @@ const countryMapping = {
|
|
|
117
119
|
VCT: "Saint Vincent and the Grenadines",
|
|
118
120
|
VGB: "British Virgin Islands",
|
|
119
121
|
};
|
|
120
|
-
|
|
122
|
+
exports.default = countryMapping;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
3
|
const regionMapping = {
|
|
2
4
|
Africa: [
|
|
3
5
|
"Algeria",
|
|
@@ -237,4 +239,4 @@ const regionMapping = {
|
|
|
237
239
|
"Wallis and Futuna",
|
|
238
240
|
],
|
|
239
241
|
};
|
|
240
|
-
|
|
242
|
+
exports.default = regionMapping;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const creditDeductionAmountMap: Record<
|
|
1
|
+
import { CreditDeductionEventType } from "../schemas";
|
|
2
|
+
export declare const creditDeductionAmountMap: Record<CreditDeductionEventType, number>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ProxyCountry } from '../schemas';
|
|
2
|
+
export declare const countryToWebshareCountryCode: (country: ProxyCountry) => string;
|
|
3
|
+
export declare const webshareCountryCodeToCountry: (countryCode: string) => ProxyCountry;
|
|
4
|
+
export declare const IPQualityScoreCountryCodeToCountry: (countryCode: string) => ProxyCountry;
|