lancer-shared 1.2.87 → 1.2.89
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 +261 -181
- package/dist/constants/account-status.d.ts +3 -0
- package/dist/constants/account-status.js +17 -0
- package/dist/constants/collections.d.ts +13 -0
- package/dist/constants/collections.js +16 -0
- package/dist/constants/common-questions.js +60 -0
- package/dist/constants/index.js +40 -0
- package/dist/constants/job-filter-options.js +268 -0
- package/dist/constants/job-status.js +26 -0
- package/dist/constants/mappings/countryMapping.js +122 -0
- package/dist/constants/mappings/regionMapping.js +242 -0
- package/dist/constants/organization.d.ts +2 -0
- package/dist/constants/routes.d.ts +12 -1
- package/dist/constants/routes.js +108 -0
- package/dist/constants/upwork-accounts.js +21 -0
- package/dist/index.js +20 -0
- package/dist/schemas/account/account-status.js +11 -0
- package/dist/schemas/account/bidder-account.js +37 -0
- package/dist/schemas/account/index.js +19 -0
- 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 +37 -0
- package/dist/schemas/agent/index.d.ts +41 -0
- package/dist/schemas/ai/ai-config.d.ts +36 -0
- package/dist/schemas/ai/ai-config.js +12 -0
- package/dist/schemas/ai/index.d.ts +3 -0
- package/dist/schemas/ai/index.js +19 -0
- package/dist/schemas/ai/proposal.d.ts +82 -0
- package/dist/schemas/ai/proposal.js +16 -0
- package/dist/schemas/ai/suitability.d.ts +37 -0
- package/dist/schemas/ai/suitability.js +17 -0
- package/dist/schemas/bid/bid-result.js +15 -0
- package/dist/schemas/bid/bid.js +36 -0
- package/dist/schemas/bid/index.js +18 -0
- 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/campaign/campaign-ai-metrics.js +9 -0
- package/dist/schemas/campaign/campaign-analytics.d.ts +98 -237
- package/dist/schemas/campaign/campaign-analytics.js +41 -0
- package/dist/schemas/campaign/campaign-expenses.js +9 -0
- package/dist/schemas/campaign/campaign-insights.js +31 -0
- package/dist/schemas/campaign/campaign-integrations.d.ts +87 -0
- package/dist/schemas/campaign/campaign-integrations.js +16 -0
- package/dist/schemas/campaign/campaign-job-count.d.ts +2 -0
- package/dist/schemas/campaign/campaign-job-count.js +6 -0
- package/dist/schemas/campaign/campaign-webhooks.d.ts +0 -58
- package/dist/schemas/campaign/campaign.d.ts +13 -133
- package/dist/schemas/campaign/campaign.js +44 -0
- package/dist/schemas/campaign/index.d.ts +1 -1
- package/dist/schemas/campaign/index.js +23 -0
- package/dist/schemas/chat-message/chat-message.d.ts +31 -0
- package/dist/schemas/chat-message/chat-message.js +13 -0
- package/dist/schemas/chat-message/index.d.ts +1 -0
- package/dist/schemas/chat-message/index.js +17 -0
- package/dist/schemas/config/agency-config.d.ts +17 -0
- package/dist/schemas/config/agency-config.js +10 -0
- package/dist/schemas/config/index.d.ts +1 -0
- package/dist/schemas/config/index.js +17 -0
- package/dist/schemas/index.js +32 -0
- 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-status.d.ts +3 -0
- package/dist/schemas/job/job-status.js +27 -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 +602 -0
- package/dist/schemas/job/pipeline-job.js +42 -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.d.ts +1 -0
- package/dist/schemas/job-filters/index.js +17 -0
- package/dist/schemas/job-filters/job-filters.d.ts +241 -0
- package/dist/schemas/job-filters/job-filters.js +87 -0
- package/dist/schemas/lead/index.d.ts +60 -8
- package/dist/schemas/lead/index.js +19 -0
- package/dist/schemas/lead/lead-note.d.ts +83 -0
- package/dist/schemas/lead/lead-note.js +30 -0
- package/dist/schemas/lead/lead-status.js +26 -0
- package/dist/schemas/lead/lead.d.ts +1897 -0
- package/dist/schemas/lead/lead.js +143 -0
- package/dist/schemas/lead/nuxt.d.ts +1664 -0
- package/dist/schemas/logger/index.js +17 -0
- package/dist/schemas/logger/log-event.d.ts +137 -52
- package/dist/schemas/logger/log-event.js +66 -0
- package/dist/schemas/organization/index.d.ts +11 -7
- package/dist/schemas/organization/index.js +17 -0
- package/dist/schemas/organization/organization.d.ts +70 -0
- package/dist/schemas/organization/organization.js +19 -0
- package/dist/schemas/proxy/index.js +17 -0
- package/dist/schemas/proxy/proxy-available-replacements.d.ts +1 -1
- package/dist/schemas/proxy/proxy.js +21 -0
- package/dist/schemas/saved-search/index.js +12 -0
- package/dist/schemas/scraper/index.js +18 -0
- package/dist/schemas/scraper/scrape-payload.d.ts +36 -64
- package/dist/schemas/scraper/scrape-payload.js +16 -0
- package/dist/schemas/scraper/scrape-result.js +23 -0
- package/dist/schemas/shared.js +16 -0
- package/dist/schemas/time-filter/index.js +9 -0
- 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-scraping-account.d.ts +90 -0
- package/dist/schemas/upwork-account/upwork-scraping-account.js +29 -0
- package/dist/schemas/user/index.js +55 -0
- package/dist/types/account/account-status.d.ts +3 -0
- package/dist/types/account/account-status.js +2 -0
- package/dist/types/account/bidder-account.d.ts +7 -0
- package/dist/types/account/bidder-account.js +2 -0
- package/dist/types/account/index.d.ts +3 -0
- package/dist/types/account/index.js +19 -0
- 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.d.ts +5 -0
- package/dist/types/account/scraper-account.js +2 -0
- package/dist/types/ai/ai-config.d.ts +6 -0
- package/dist/types/ai/ai-config.js +2 -0
- package/dist/types/ai/index.d.ts +3 -0
- package/dist/types/ai/index.js +19 -0
- package/dist/types/ai/proposal.d.ts +10 -0
- package/dist/types/ai/proposal.js +2 -0
- package/dist/types/ai/suitability.d.ts +6 -0
- package/dist/types/ai/suitability.js +2 -0
- package/dist/types/bid/bid-result.d.ts +5 -0
- package/dist/types/bid/bid-result.js +2 -0
- package/dist/types/bid/bid.d.ts +9 -0
- package/dist/types/bid/bid.js +2 -0
- package/dist/types/bid/index.d.ts +2 -0
- package/dist/types/bid/index.js +18 -0
- 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/campaign/campaign-analytics.d.ts +7 -0
- package/dist/types/campaign/campaign-analytics.js +2 -0
- package/dist/types/campaign/campaign-expenses.d.ts +3 -0
- package/dist/types/campaign/campaign-expenses.js +2 -0
- package/dist/types/campaign/campaign-insights.js +2 -0
- package/dist/types/campaign/campaign-integrations.d.ts +6 -0
- package/dist/types/campaign/campaign-integrations.js +2 -0
- package/dist/types/campaign/campaign-job-count.d.ts +4 -0
- package/dist/types/campaign/campaign-job-count.js +2 -0
- package/dist/types/campaign/campaign.d.ts +0 -2
- package/dist/types/campaign/campaign.js +2 -0
- package/dist/types/campaign/index.js +22 -0
- package/dist/types/chat-message/chat-message.d.ts +4 -0
- package/dist/types/chat-message/chat-message.js +2 -0
- package/dist/types/chat-message/index.d.ts +1 -0
- package/dist/types/chat-message/index.js +17 -0
- package/dist/types/config/agency-config.d.ts +4 -0
- package/dist/types/config/agency-config.js +2 -0
- package/dist/types/config/index.d.ts +1 -0
- package/dist/types/config/index.js +17 -0
- package/dist/types/index.d.ts +15 -0
- package/dist/types/index.js +29 -0
- package/dist/types/job/index.d.ts +48 -0
- package/dist/types/job/index.js +19 -0
- 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.d.ts +10 -0
- package/dist/types/job/job-note.js +2 -0
- package/dist/types/job/job-status.d.ts +5 -0
- package/dist/types/job/job-status.js +12 -0
- package/dist/types/job/job.d.ts +36 -0
- package/dist/types/job/job.js +2 -0
- package/dist/types/job/nuxt.d.ts +4 -0
- package/dist/types/job-filters/index.d.ts +1 -0
- package/dist/types/job-filters/index.js +17 -0
- package/dist/types/job-filters/job-filters.d.ts +4 -0
- package/dist/types/job-filters/job-filters.js +2 -0
- package/dist/types/logger/index.d.ts +1 -0
- package/dist/types/logger/index.js +17 -0
- package/dist/types/logger/log-event.js +2 -0
- package/dist/types/saved-search/index.d.ts +6 -0
- package/dist/types/saved-search/index.js +2 -0
- package/dist/types/scraper/index.d.ts +2 -0
- package/dist/types/scraper/index.js +18 -0
- package/dist/types/scraper/scrape-payload.d.ts +10 -0
- package/dist/types/scraper/scrape-payload.js +2 -0
- package/dist/types/scraper/scrape-result.d.ts +8 -0
- package/dist/types/scraper/scrape-result.js +2 -0
- package/dist/types/shared.d.ts +8 -0
- package/dist/types/time-filter/index.d.ts +3 -0
- package/dist/types/time-filter/index.js +2 -0
- package/dist/types/transaction/index.d.ts +4 -0
- 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/usage/index.d.ts +6 -0
- package/dist/types/user/index.d.ts +15 -0
- package/dist/types/user/index.js +2 -0
- package/dist/utils/index.js +17 -0
- package/dist/utils/try-catch.js +25 -0
- package/package.json +1 -1
package/dist/bundle.cjs.js
CHANGED
|
@@ -6419,105 +6419,105 @@ var moment = /*@__PURE__*/getDefaultExportFromCjs(momentExports);
|
|
|
6419
6419
|
|
|
6420
6420
|
const ROUTES = {
|
|
6421
6421
|
AUTH: {
|
|
6422
|
-
BASE:
|
|
6423
|
-
REGISTER:
|
|
6422
|
+
BASE: 'auth',
|
|
6423
|
+
REGISTER: 'auth/register',
|
|
6424
6424
|
},
|
|
6425
6425
|
SYSTEM: {
|
|
6426
|
-
BASE:
|
|
6426
|
+
BASE: 'system',
|
|
6427
6427
|
PROMPTS: {
|
|
6428
|
-
BASE:
|
|
6428
|
+
BASE: 'system/prompts',
|
|
6429
6429
|
},
|
|
6430
6430
|
},
|
|
6431
6431
|
EVENTS: {
|
|
6432
|
-
BASE:
|
|
6432
|
+
BASE: 'events',
|
|
6433
6433
|
BY_ID: (id) => `events/${id}`,
|
|
6434
6434
|
},
|
|
6435
6435
|
JOBS: {
|
|
6436
|
-
BASE:
|
|
6436
|
+
BASE: 'jobs',
|
|
6437
6437
|
BY_ID: (id) => `jobs/${id}`,
|
|
6438
6438
|
UPDATE_ACTIVITY: `jobs/update-activity`,
|
|
6439
|
-
IMPORT:
|
|
6440
|
-
FILTER_OPTIONS:
|
|
6441
|
-
TOTAL_JOBS:
|
|
6439
|
+
IMPORT: 'jobs/import',
|
|
6440
|
+
FILTER_OPTIONS: 'jobs/filter-options',
|
|
6441
|
+
TOTAL_JOBS: 'jobs/total-jobs',
|
|
6442
6442
|
GET_JOB_TITLE: (jobId) => `jobs/get-job-title/${jobId}`,
|
|
6443
|
-
GET_JOBS_COUNT:
|
|
6443
|
+
GET_JOBS_COUNT: 'jobs/get-jobs-count',
|
|
6444
6444
|
},
|
|
6445
6445
|
USERS: {
|
|
6446
|
-
BASE:
|
|
6446
|
+
BASE: 'users',
|
|
6447
6447
|
BY_ID: (id) => `users/${id}`,
|
|
6448
6448
|
ORGANIZATIONS: (id) => `users/${id}/organizations`,
|
|
6449
6449
|
},
|
|
6450
6450
|
COOKIES: {
|
|
6451
|
-
BASE:
|
|
6452
|
-
SCRAPE:
|
|
6451
|
+
BASE: 'cookies',
|
|
6452
|
+
SCRAPE: 'cookies/scrape-cookies',
|
|
6453
6453
|
},
|
|
6454
6454
|
SCRAPING: {
|
|
6455
|
-
BASE:
|
|
6456
|
-
START_SCRAPING:
|
|
6457
|
-
START_WORLDWIDE_SCRAPING:
|
|
6458
|
-
START_US_SCRAPING:
|
|
6459
|
-
START_UK_SCRAPING:
|
|
6460
|
-
UPDATE_ACTIVITY_4H_WORLDWIDE:
|
|
6461
|
-
UPDATE_ACTIVITY_4H_UK:
|
|
6462
|
-
UPDATE_ACTIVITY_4H_US:
|
|
6463
|
-
UPDATE_ACTIVITY_24H_WORLDWIDE:
|
|
6464
|
-
UPDATE_ACTIVITY_24H_UK:
|
|
6465
|
-
UPDATE_ACTIVITY_24H_US:
|
|
6466
|
-
SCRAPE_FEED_WORLDWIDE:
|
|
6467
|
-
SCRAPE_FEED_UK:
|
|
6468
|
-
SCRAPE_FEED_US:
|
|
6469
|
-
SCRAPE_JOB:
|
|
6470
|
-
PROCESS_FEED:
|
|
6471
|
-
SCRAPE_JOB_ACTIVITY:
|
|
6472
|
-
USER_PROFILE:
|
|
6473
|
-
CHECK_LEAD_STATUS:
|
|
6455
|
+
BASE: 'scraping',
|
|
6456
|
+
START_SCRAPING: 'scraping/start',
|
|
6457
|
+
START_WORLDWIDE_SCRAPING: 'scraping/start-worldwide',
|
|
6458
|
+
START_US_SCRAPING: 'scraping/start-us',
|
|
6459
|
+
START_UK_SCRAPING: 'scraping/start-uk',
|
|
6460
|
+
UPDATE_ACTIVITY_4H_WORLDWIDE: 'scraping/update-activity/4h',
|
|
6461
|
+
UPDATE_ACTIVITY_4H_UK: 'scraping/update-activity/4h/uk',
|
|
6462
|
+
UPDATE_ACTIVITY_4H_US: 'scraping/update-activity/4h/us',
|
|
6463
|
+
UPDATE_ACTIVITY_24H_WORLDWIDE: 'scraping/update-activity/24h',
|
|
6464
|
+
UPDATE_ACTIVITY_24H_UK: 'scraping/update-activity/24h/uk',
|
|
6465
|
+
UPDATE_ACTIVITY_24H_US: 'scraping/update-activity/24h/us',
|
|
6466
|
+
SCRAPE_FEED_WORLDWIDE: 'scraping/feed-worldwide',
|
|
6467
|
+
SCRAPE_FEED_UK: 'scraping/feed-uk',
|
|
6468
|
+
SCRAPE_FEED_US: 'scraping/feed-us',
|
|
6469
|
+
SCRAPE_JOB: 'scraping/job',
|
|
6470
|
+
PROCESS_FEED: 'scraping/process-feed',
|
|
6471
|
+
SCRAPE_JOB_ACTIVITY: 'scraping/job-activity',
|
|
6472
|
+
USER_PROFILE: 'scraping/user-profile',
|
|
6473
|
+
CHECK_LEAD_STATUS: 'scraping/check-lead-status',
|
|
6474
6474
|
},
|
|
6475
6475
|
ADMIN: {
|
|
6476
|
-
BASE:
|
|
6476
|
+
BASE: 'admin',
|
|
6477
6477
|
BIDDER_ACCOUNTS: {
|
|
6478
|
-
BASE:
|
|
6478
|
+
BASE: 'admin/bidder-accounts',
|
|
6479
6479
|
BY_ID: (id) => `admin/bidder-accounts/${id}`,
|
|
6480
6480
|
BY_PROVIDER: (provider) => `admin/bidder-accounts/${provider}`,
|
|
6481
6481
|
BY_PROVIDER_AND_ID: (provider, id) => `admin/bidder-accounts/${provider}/${id}`,
|
|
6482
6482
|
},
|
|
6483
6483
|
SCRAPER_ACCOUNTS: {
|
|
6484
|
-
BASE:
|
|
6484
|
+
BASE: 'admin/scraper-accounts',
|
|
6485
6485
|
BY_ID: (id) => `admin/scraper-accounts/${id}`,
|
|
6486
6486
|
BY_PROVIDER: (provider) => `admin/scraper-accounts/${provider}`,
|
|
6487
6487
|
BY_PROVIDER_AND_ID: (provider, id) => `admin/scraper-accounts/${provider}/${id}`,
|
|
6488
6488
|
},
|
|
6489
6489
|
PROXIES: {
|
|
6490
|
-
BASE:
|
|
6490
|
+
BASE: 'admin/proxies',
|
|
6491
6491
|
BY_ID: (id) => `admin/proxies/${id}`,
|
|
6492
6492
|
REPLACE_PROXY: (id) => `admin/proxies/${id}/replace`,
|
|
6493
|
-
SYNC:
|
|
6494
|
-
AVAILABLE_REPLACEMENTS:
|
|
6495
|
-
AVAILABLE_COUNTRIES:
|
|
6493
|
+
SYNC: 'admin/proxies/sync',
|
|
6494
|
+
AVAILABLE_REPLACEMENTS: 'admin/proxies/available-replacements',
|
|
6495
|
+
AVAILABLE_COUNTRIES: 'admin/proxies/available-countries',
|
|
6496
6496
|
},
|
|
6497
6497
|
DASHBOARD: {
|
|
6498
|
-
CAMPAIGN_STATS:
|
|
6498
|
+
CAMPAIGN_STATS: 'admin/dashboard/campaign-stats',
|
|
6499
6499
|
},
|
|
6500
6500
|
ALERTS: {
|
|
6501
|
-
BASE:
|
|
6502
|
-
SEND_ALERT:
|
|
6501
|
+
BASE: 'admin/alerts',
|
|
6502
|
+
SEND_ALERT: 'admin/alerts/send',
|
|
6503
6503
|
},
|
|
6504
6504
|
AGENT: {
|
|
6505
|
-
BASE:
|
|
6506
|
-
TEST_JOB_QUALITY:
|
|
6507
|
-
TEST_SUITABILITY:
|
|
6508
|
-
TEST_PROPOSAL:
|
|
6505
|
+
BASE: 'admin/agent',
|
|
6506
|
+
TEST_JOB_QUALITY: 'admin/agent/test-job-quality',
|
|
6507
|
+
TEST_SUITABILITY: 'admin/agent/test-suitability',
|
|
6508
|
+
TEST_PROPOSAL: 'admin/agent/test-proposal',
|
|
6509
6509
|
},
|
|
6510
6510
|
},
|
|
6511
6511
|
BID: {
|
|
6512
|
-
BASE:
|
|
6512
|
+
BASE: 'bid',
|
|
6513
6513
|
BID_ON_JOB: (userId, campaignId, leadId) => `bid/${userId}/${campaignId}/${leadId}`,
|
|
6514
6514
|
},
|
|
6515
6515
|
BIDDER_ACCOUNTS: {
|
|
6516
|
-
BASE:
|
|
6516
|
+
BASE: 'bidder-accounts',
|
|
6517
6517
|
BY_ID: (id) => `bidder-accounts/${id}`,
|
|
6518
6518
|
},
|
|
6519
6519
|
ORGANIZATIONS: {
|
|
6520
|
-
BASE:
|
|
6520
|
+
BASE: 'organizations',
|
|
6521
6521
|
BY_ID: (id) => `organizations/${id}`,
|
|
6522
6522
|
ONBOARDING: {
|
|
6523
6523
|
BASE: (id) => `organizations/${id}/onboarding`,
|
|
@@ -6547,6 +6547,8 @@ const ROUTES = {
|
|
|
6547
6547
|
AVAILABLE_LANCER_PROVIDED_BIDDER_ACCOUNT: (id) => `organizations/${id}/bidder-accounts/available-lancer-provided`,
|
|
6548
6548
|
ACCEPT_UPWORK_INVITATION: (id, bidderId) => `organizations/${id}/bidder-accounts/${bidderId}/accept-upwork-invitation`,
|
|
6549
6549
|
},
|
|
6550
|
+
LEADS_BY_JOB_ID: (organizationId, jobId) => `organizations/${organizationId}/leads/${jobId}`,
|
|
6551
|
+
UPDATE_CAMPAIGN_PRIORITY: (organizationId) => `organizations/${organizationId}/update-campaign-priority`,
|
|
6550
6552
|
CAMPAIGNS: {
|
|
6551
6553
|
BASE: (organizationId) => `organizations/${organizationId}/campaigns`,
|
|
6552
6554
|
BY_ID: (organizationId, campaignId) => `organizations/${organizationId}/campaigns/${campaignId}`,
|
|
@@ -6563,6 +6565,14 @@ const ROUTES = {
|
|
|
6563
6565
|
},
|
|
6564
6566
|
ANALYTICS: (organizationId, campaignId) => `organizations/${organizationId}/campaigns/${campaignId}/analytics`,
|
|
6565
6567
|
TOTAL_STATS: (organizationId, campaignId) => `organizations/${organizationId}/campaigns/${campaignId}/analytics/totals`,
|
|
6568
|
+
CHAT_BOTS: {
|
|
6569
|
+
BASE: (organizationId, campaignId) => `organizations/${organizationId}/campaigns/${campaignId}/chat-bots`,
|
|
6570
|
+
BY_PLATFORM: (organizationId, campaignId, platform) => `organizations/${organizationId}/campaigns/${campaignId}/chat-bots/${platform}`,
|
|
6571
|
+
OAUTH_URL: (organizationId, campaignId, platform) => `organizations/${organizationId}/campaigns/${campaignId}/chat-bots/${platform}/oauth-url`,
|
|
6572
|
+
CALLBACK: (platform) => `chat-bots/${platform}/callback`,
|
|
6573
|
+
SEND_NOTIFICATION: () => 'chat-bots/send-notification',
|
|
6574
|
+
REMOVE_SUITABLE_LEAD_MESSAGE_BUTTONS: () => 'chat-bots/remove-suitable-lead-message-buttons',
|
|
6575
|
+
},
|
|
6566
6576
|
ACTIVITIES: {
|
|
6567
6577
|
BASE: (organizationId, campaignId) => `organizations/${organizationId}/campaigns/${campaignId}/activities`,
|
|
6568
6578
|
BY_ID: (organizationId, campaignId, activityId) => `organizations/${organizationId}/campaigns/${campaignId}/activities/${activityId}`,
|
|
@@ -6572,26 +6582,26 @@ const ROUTES = {
|
|
|
6572
6582
|
USAGE_SUMMARIES: {
|
|
6573
6583
|
DAILY: {
|
|
6574
6584
|
BASE: (organizationId) => `usage-summaries/${organizationId}/daily`,
|
|
6575
|
-
BY_DATE: (organizationId, date) => `usage-summaries/${organizationId}/daily/${moment(date).format(
|
|
6585
|
+
BY_DATE: (organizationId, date) => `usage-summaries/${organizationId}/daily/${moment(date).format('YYYY-MM-DD')}`,
|
|
6576
6586
|
},
|
|
6577
6587
|
WEEKLY: {
|
|
6578
6588
|
BASE: (organizationId) => `usage-summaries/${organizationId}/weekly`,
|
|
6579
|
-
BY_DATE: (organizationId, date) => `usage-summaries/${organizationId}/weekly/${moment(date).format(
|
|
6589
|
+
BY_DATE: (organizationId, date) => `usage-summaries/${organizationId}/weekly/${moment(date).format('YYYY-WW')}`,
|
|
6580
6590
|
},
|
|
6581
6591
|
MONTHLY: {
|
|
6582
6592
|
BASE: (organizationId) => `usage-summaries/${organizationId}/monthly`,
|
|
6583
|
-
BY_DATE: (organizationId, date) => `usage-summaries/${organizationId}/monthly/${moment(date).format(
|
|
6593
|
+
BY_DATE: (organizationId, date) => `usage-summaries/${organizationId}/monthly/${moment(date).format('YYYY-MM')}`,
|
|
6584
6594
|
},
|
|
6585
6595
|
QUARTERLY: {
|
|
6586
6596
|
BASE: (organizationId) => `usage-summaries/${organizationId}/quarterly`,
|
|
6587
6597
|
BY_DATE: (organizationId, date) => {
|
|
6588
6598
|
const parsed = moment(date);
|
|
6589
|
-
return `usage-summaries/${organizationId}/quarterly/${parsed.format(
|
|
6599
|
+
return `usage-summaries/${organizationId}/quarterly/${parsed.format('YYYY')}-Q${parsed.quarter()}`;
|
|
6590
6600
|
},
|
|
6591
6601
|
},
|
|
6592
6602
|
YEARLY: {
|
|
6593
6603
|
BASE: (organizationId) => `usage-summaries/${organizationId}/yearly`,
|
|
6594
|
-
BY_DATE: (organizationId, date) => `usage-summaries/${organizationId}/yearly/${moment(date).format(
|
|
6604
|
+
BY_DATE: (organizationId, date) => `usage-summaries/${organizationId}/yearly/${moment(date).format('YYYY')}`,
|
|
6595
6605
|
},
|
|
6596
6606
|
},
|
|
6597
6607
|
INVOICES: {
|
|
@@ -6605,31 +6615,31 @@ const ROUTES = {
|
|
|
6605
6615
|
INVOICE_PREVIEW: (id) => `organizations/${id}/invoice-preview`,
|
|
6606
6616
|
},
|
|
6607
6617
|
TRANSACTIONS: {
|
|
6608
|
-
BASE:
|
|
6618
|
+
BASE: 'transactions',
|
|
6609
6619
|
BY_ID: (id) => `transactions/${id}`,
|
|
6610
6620
|
},
|
|
6611
6621
|
AGENT: {
|
|
6612
|
-
BASE:
|
|
6613
|
-
SCRAPE_UPWORK_PROFILE:
|
|
6614
|
-
GENERATE_DEFAULT_AI_CONFIG:
|
|
6615
|
-
TEST_JOB_QUALITY:
|
|
6616
|
-
TEST_SUITABILITY:
|
|
6617
|
-
TEST_PROPOSAL:
|
|
6618
|
-
TEST_SYSTEM_PROMPTS:
|
|
6619
|
-
ANALYZE_LEAD:
|
|
6620
|
-
GENERATE_PROPOSAL:
|
|
6621
|
-
BID:
|
|
6622
|
+
BASE: 'agent',
|
|
6623
|
+
SCRAPE_UPWORK_PROFILE: 'agent/scrape-upwork-profile',
|
|
6624
|
+
GENERATE_DEFAULT_AI_CONFIG: 'agent/generate-ai-config',
|
|
6625
|
+
TEST_JOB_QUALITY: 'agent/test-job-quality',
|
|
6626
|
+
TEST_SUITABILITY: 'agent/test-suitability',
|
|
6627
|
+
TEST_PROPOSAL: 'agent/test-proposal',
|
|
6628
|
+
TEST_SYSTEM_PROMPTS: 'agent/test-system-prompts',
|
|
6629
|
+
ANALYZE_LEAD: 'agent/analyze-lead',
|
|
6630
|
+
GENERATE_PROPOSAL: 'agent/generate-proposal',
|
|
6631
|
+
BID: 'agent/bid',
|
|
6622
6632
|
},
|
|
6623
6633
|
PLANS: {
|
|
6624
|
-
BASE:
|
|
6634
|
+
BASE: 'plans',
|
|
6625
6635
|
BY_ID: (id) => `plans/${id}`,
|
|
6626
6636
|
},
|
|
6627
6637
|
NOTIFICATIONS: {
|
|
6628
|
-
BASE:
|
|
6629
|
-
SEND_NOTIFICATION:
|
|
6638
|
+
BASE: 'notifications',
|
|
6639
|
+
SEND_NOTIFICATION: 'notifications/send',
|
|
6630
6640
|
},
|
|
6631
6641
|
USAGE_EVENTS: {
|
|
6632
|
-
BASE:
|
|
6642
|
+
BASE: 'usage-events',
|
|
6633
6643
|
BY_ID: (id) => `usage-events/${id}`,
|
|
6634
6644
|
},
|
|
6635
6645
|
};
|
|
@@ -6643,7 +6653,7 @@ const buildRoute = (route, params = {}) => {
|
|
|
6643
6653
|
};
|
|
6644
6654
|
// Helper function to get route without admin prefix
|
|
6645
6655
|
const getRouteWithoutAdminPrefix = (route) => {
|
|
6646
|
-
return route.replace(
|
|
6656
|
+
return route.replace('admin/', '');
|
|
6647
6657
|
};
|
|
6648
6658
|
|
|
6649
6659
|
const accountStatusOrder = [
|
|
@@ -12064,6 +12074,8 @@ const questionAnswerPairSchema = z.object({
|
|
|
12064
12074
|
const leadSchema = upworkJobSchema
|
|
12065
12075
|
.extend({
|
|
12066
12076
|
jobId: stringType(),
|
|
12077
|
+
campaignId: stringType(),
|
|
12078
|
+
organizationId: stringType(),
|
|
12067
12079
|
scrapedAt: numberType().nullable(),
|
|
12068
12080
|
updatedAt: numberType().nullable(),
|
|
12069
12081
|
suitabilityRating: numberType().nullable(),
|
|
@@ -12079,6 +12091,8 @@ const leadSchema = upworkJobSchema
|
|
|
12079
12091
|
biddingTaskScheduled: booleanType().nullable(),
|
|
12080
12092
|
scheduledBiddingTime: numberType().nullable(),
|
|
12081
12093
|
wonAmount: numberType().optional(),
|
|
12094
|
+
biddingTaskId: stringType().nullable(),
|
|
12095
|
+
doNotApplyReason: stringType().nullable(),
|
|
12082
12096
|
})
|
|
12083
12097
|
.omit({
|
|
12084
12098
|
processed: true,
|
|
@@ -12421,41 +12435,6 @@ const campaignExpensesSchema = z.object({
|
|
|
12421
12435
|
boosted: z.number().default(0),
|
|
12422
12436
|
});
|
|
12423
12437
|
|
|
12424
|
-
const campaignNotificationType = z.enum([
|
|
12425
|
-
"suitableLead",
|
|
12426
|
-
"proposalSent",
|
|
12427
|
-
"proposalViewed",
|
|
12428
|
-
"proposalReplied",
|
|
12429
|
-
"lowConnects",
|
|
12430
|
-
"noConnects",
|
|
12431
|
-
"accountDisconnected",
|
|
12432
|
-
]);
|
|
12433
|
-
const CAMPAIGN_WEBHOOK_TYPES = {
|
|
12434
|
-
suitableLead: "suitableLead",
|
|
12435
|
-
proposalSent: "proposalSent",
|
|
12436
|
-
proposalViewed: "proposalViewed",
|
|
12437
|
-
proposalReplied: "proposalReplied",
|
|
12438
|
-
lowConnects: "lowConnects",
|
|
12439
|
-
noConnects: "noConnects",
|
|
12440
|
-
accountDisconnected: "accountDisconnected",
|
|
12441
|
-
};
|
|
12442
|
-
const campaignWebhookSettingsSchema = z.object(Object.fromEntries(Object.values(campaignNotificationType.enum).map((type) => [
|
|
12443
|
-
type,
|
|
12444
|
-
z.boolean().default(false),
|
|
12445
|
-
])));
|
|
12446
|
-
const campaignWebhookSchema = z.object({
|
|
12447
|
-
id: z.string(),
|
|
12448
|
-
title: z.string(),
|
|
12449
|
-
url: z.string().url(),
|
|
12450
|
-
notificationSettings: campaignWebhookSettingsSchema,
|
|
12451
|
-
});
|
|
12452
|
-
const sendNotificationRequestSchema = z.object({
|
|
12453
|
-
organizationId: z.string(),
|
|
12454
|
-
campaignId: z.string(),
|
|
12455
|
-
leadId: z.string(),
|
|
12456
|
-
type: campaignNotificationType,
|
|
12457
|
-
});
|
|
12458
|
-
|
|
12459
12438
|
const bidConfigSchema = z.object({
|
|
12460
12439
|
agencyName: z.string().nullable(),
|
|
12461
12440
|
bidderId: z.string().nullable(),
|
|
@@ -12463,10 +12442,10 @@ const bidConfigSchema = z.object({
|
|
|
12463
12442
|
specialisedProfile: z.string().nullable(),
|
|
12464
12443
|
});
|
|
12465
12444
|
const campaignStatusSchema = z.union([
|
|
12466
|
-
z.literal(
|
|
12467
|
-
z.literal(
|
|
12468
|
-
z.literal(
|
|
12469
|
-
z.literal(
|
|
12445
|
+
z.literal('active'),
|
|
12446
|
+
z.literal('draft'),
|
|
12447
|
+
z.literal('paused'),
|
|
12448
|
+
z.literal('error'),
|
|
12470
12449
|
]);
|
|
12471
12450
|
const campaignSchema = z.object({
|
|
12472
12451
|
id: z.string(),
|
|
@@ -12485,15 +12464,15 @@ const campaignSchema = z.object({
|
|
|
12485
12464
|
leadCounts: z.record(leadStatusSchema, z.number()).nullable(),
|
|
12486
12465
|
expenses: campaignExpensesSchema,
|
|
12487
12466
|
notificationsEnabled: z.boolean().nullable(),
|
|
12488
|
-
webhooks: z.array(campaignWebhookSchema),
|
|
12489
12467
|
status: campaignStatusSchema.optional(),
|
|
12490
12468
|
bidConfig: bidConfigSchema.nullable(),
|
|
12491
12469
|
coverLetterTemplateId: z.string().nullable(),
|
|
12470
|
+
priority: z.number().nullable(),
|
|
12492
12471
|
});
|
|
12493
12472
|
const upworkAccountConnectStatusSchema = z.union([
|
|
12494
|
-
z.literal(
|
|
12495
|
-
z.literal(
|
|
12496
|
-
z.literal(
|
|
12473
|
+
z.literal('processing'),
|
|
12474
|
+
z.literal('connected'),
|
|
12475
|
+
z.literal('failed'),
|
|
12497
12476
|
]);
|
|
12498
12477
|
const upworkAccountConnectSchema = z.object({
|
|
12499
12478
|
status: upworkAccountConnectStatusSchema.nullable(),
|
|
@@ -12525,52 +12504,55 @@ const proposalSchema = z.object({
|
|
|
12525
12504
|
|
|
12526
12505
|
const LogEventTypeEnum = z.enum([
|
|
12527
12506
|
// Scraper Events
|
|
12528
|
-
|
|
12529
|
-
|
|
12530
|
-
|
|
12531
|
-
|
|
12532
|
-
|
|
12533
|
-
|
|
12534
|
-
|
|
12535
|
-
|
|
12536
|
-
|
|
12537
|
-
|
|
12538
|
-
|
|
12507
|
+
'scraperStarted',
|
|
12508
|
+
'scraperCompleted',
|
|
12509
|
+
'jobScraped',
|
|
12510
|
+
'jobScrapeFailed',
|
|
12511
|
+
'jobsIndexed',
|
|
12512
|
+
'jobDuplicateSkipped',
|
|
12513
|
+
'scraperFailed',
|
|
12514
|
+
'jobActivityScraped',
|
|
12515
|
+
'jobActivityScrapeFailed',
|
|
12516
|
+
'leadStatusCheckFailed',
|
|
12517
|
+
'leadStatusUpdated',
|
|
12539
12518
|
// Feed Scraper Events
|
|
12540
|
-
|
|
12541
|
-
|
|
12542
|
-
|
|
12543
|
-
|
|
12519
|
+
'feedScrapeStarted',
|
|
12520
|
+
'feedScrapeCompleted',
|
|
12521
|
+
'feedScrapeFailed',
|
|
12522
|
+
'jobListingScraped',
|
|
12544
12523
|
// Job Sync & Campaign Matching
|
|
12545
|
-
|
|
12546
|
-
|
|
12547
|
-
|
|
12524
|
+
'jobSyncPublished',
|
|
12525
|
+
'jobSyncReceived',
|
|
12526
|
+
'leadsCreatedAndSynced',
|
|
12548
12527
|
// Suitability Events
|
|
12549
|
-
|
|
12550
|
-
|
|
12551
|
-
|
|
12552
|
-
|
|
12553
|
-
|
|
12528
|
+
'suitabilityPending',
|
|
12529
|
+
'suitabilityProcessing',
|
|
12530
|
+
'suitabilityComplete',
|
|
12531
|
+
'suitabilityFailed',
|
|
12532
|
+
'manualSuitabilityAnalyzed',
|
|
12554
12533
|
// Proposal Events
|
|
12555
|
-
|
|
12556
|
-
|
|
12557
|
-
|
|
12558
|
-
|
|
12534
|
+
'proposalProcessing',
|
|
12535
|
+
'proposalComplete',
|
|
12536
|
+
'proposalFailed',
|
|
12537
|
+
'manualProposalGenerated',
|
|
12559
12538
|
// Bidding Events
|
|
12560
|
-
|
|
12561
|
-
|
|
12562
|
-
|
|
12563
|
-
|
|
12564
|
-
|
|
12565
|
-
|
|
12566
|
-
|
|
12567
|
-
|
|
12539
|
+
'biddingProcessing',
|
|
12540
|
+
'biddingComplete',
|
|
12541
|
+
'biddingFailed',
|
|
12542
|
+
'biddingSkipped',
|
|
12543
|
+
'biddingPending',
|
|
12544
|
+
'biddingRetry',
|
|
12545
|
+
'biddingInsufficientConnects',
|
|
12546
|
+
'biddingWarningAlert',
|
|
12547
|
+
'biddingRejected',
|
|
12548
|
+
'biddingRejectedWithFeedback',
|
|
12568
12549
|
// System/Generic Events
|
|
12569
|
-
|
|
12570
|
-
|
|
12571
|
-
|
|
12572
|
-
|
|
12573
|
-
|
|
12550
|
+
'errorLogged',
|
|
12551
|
+
'cloudTaskRetry',
|
|
12552
|
+
'manualLeadEdited',
|
|
12553
|
+
'leadArchived',
|
|
12554
|
+
'auditTrailLogged',
|
|
12555
|
+
// Lead Events
|
|
12574
12556
|
]);
|
|
12575
12557
|
const logEventSchema = z.object({
|
|
12576
12558
|
// The type of event (use a z.enum if possible)
|
|
@@ -12578,7 +12560,7 @@ const logEventSchema = z.object({
|
|
|
12578
12560
|
// The service that triggered the event
|
|
12579
12561
|
source: z.string(), // e.g. "lancer-agents", "lancer-bidding"
|
|
12580
12562
|
// Optional: Allow logging non-lead events in the future
|
|
12581
|
-
resourceType: z.string().default(
|
|
12563
|
+
resourceType: z.string().default('lead'), // e.g. "lead", "campaign", "user"
|
|
12582
12564
|
// ID of the resource (primary entity affected)
|
|
12583
12565
|
resourceId: z.string().nullable(), // fallback if leadId is not applicable
|
|
12584
12566
|
// Lead-level metadata
|
|
@@ -12629,7 +12611,7 @@ const biddingFailedEventMetadata = objectType({
|
|
|
12629
12611
|
error: z.any(),
|
|
12630
12612
|
});
|
|
12631
12613
|
const userAccountBiddingExceptionEventMetadata = objectType({
|
|
12632
|
-
errorType: z.enum([
|
|
12614
|
+
errorType: z.enum(['insufficientConnects', 'proposalFormWarningAlert']),
|
|
12633
12615
|
context: z.string().optional(),
|
|
12634
12616
|
});
|
|
12635
12617
|
const lancerBiddingExceptionEventMetadata = objectType({
|
|
@@ -12650,34 +12632,52 @@ const leadStatusEventMetadata = objectType({
|
|
|
12650
12632
|
.optional(),
|
|
12651
12633
|
reason: z.string().optional(),
|
|
12652
12634
|
});
|
|
12635
|
+
const biddingRejectedWithFeedbackEventMetadata = objectType({
|
|
12636
|
+
feedback: z.string(),
|
|
12637
|
+
});
|
|
12638
|
+
const suitabilityPendingEventMetadataSchema = objectType({
|
|
12639
|
+
jobId: z.string(),
|
|
12640
|
+
jobUrl: z.string(),
|
|
12641
|
+
title: z.string(),
|
|
12642
|
+
timestamp: z.number(),
|
|
12643
|
+
applyToLeads: z.array(z.object({ leadId: z.string(), campaignId: z.string() })),
|
|
12644
|
+
});
|
|
12653
12645
|
const suitabilityCompleteEventMetadataSchema = objectType({
|
|
12654
12646
|
suitabilityRating: z.number(),
|
|
12655
12647
|
suitabilityReason: z.string(),
|
|
12656
|
-
agentStatus: z.string(),
|
|
12657
|
-
model: z.string(),
|
|
12658
|
-
provider: z.string(),
|
|
12659
|
-
promptTokens: z.number(),
|
|
12660
|
-
completionTokens: z.number(),
|
|
12661
|
-
messages: z
|
|
12648
|
+
agentStatus: z.string().optional(),
|
|
12649
|
+
model: z.string().optional(),
|
|
12650
|
+
provider: z.string().optional(),
|
|
12651
|
+
promptTokens: z.number().optional(),
|
|
12652
|
+
completionTokens: z.number().optional(),
|
|
12653
|
+
messages: z
|
|
12654
|
+
.array(objectType({
|
|
12662
12655
|
role: z.string(),
|
|
12663
12656
|
content: z.string(),
|
|
12664
|
-
}))
|
|
12657
|
+
}))
|
|
12658
|
+
.optional(),
|
|
12659
|
+
jobId: z.string(),
|
|
12660
|
+
applyToLeads: z.array(z.object({ leadId: z.string(), campaignId: z.string() })),
|
|
12665
12661
|
});
|
|
12666
12662
|
const suitabilityFailedEventMetadataSchema = objectType({
|
|
12667
12663
|
agentStatus: z.string(),
|
|
12668
12664
|
reason: z.string(),
|
|
12669
12665
|
});
|
|
12670
12666
|
const proposalCompleteEventMetadataSchema = objectType({
|
|
12671
|
-
agentStatus: z.string(),
|
|
12672
12667
|
proposal: proposalSchema,
|
|
12673
|
-
model: z.string(),
|
|
12674
|
-
provider: z.string(),
|
|
12675
|
-
promptTokens: z.number(),
|
|
12676
|
-
completionTokens: z.number(),
|
|
12677
|
-
messages: z
|
|
12668
|
+
model: z.string().optional(),
|
|
12669
|
+
provider: z.string().optional(),
|
|
12670
|
+
promptTokens: z.number().optional(),
|
|
12671
|
+
completionTokens: z.number().optional(),
|
|
12672
|
+
messages: z
|
|
12673
|
+
.array(objectType({
|
|
12678
12674
|
role: z.string(),
|
|
12679
12675
|
content: z.string(),
|
|
12680
|
-
}))
|
|
12676
|
+
}))
|
|
12677
|
+
.optional(),
|
|
12678
|
+
jobId: z.string(),
|
|
12679
|
+
isOverallHighestPriorityCampaign: z.boolean(),
|
|
12680
|
+
applyToLeads: z.array(z.object({ leadId: z.string(), campaignId: z.string() })),
|
|
12681
12681
|
});
|
|
12682
12682
|
const eventLoggerPayloadSchema = unionType([
|
|
12683
12683
|
logEventSchema,
|
|
@@ -12773,8 +12773,8 @@ const onboardingProgressSchema = z.object({
|
|
|
12773
12773
|
startCampaign: z.boolean(),
|
|
12774
12774
|
});
|
|
12775
12775
|
|
|
12776
|
-
const organizationTypeSchema = z.enum([
|
|
12777
|
-
const organizationTierEnum = z.enum([
|
|
12776
|
+
const organizationTypeSchema = z.enum(['agency', 'freelancer']);
|
|
12777
|
+
const organizationTierEnum = z.enum(['free', 'premium']);
|
|
12778
12778
|
const limitsSchema = objectType({
|
|
12779
12779
|
monthlyCredits: numberType(),
|
|
12780
12780
|
usedCredits: numberType(),
|
|
@@ -12793,13 +12793,14 @@ const organizationSchema = objectType({
|
|
|
12793
12793
|
createdAt: numberType(),
|
|
12794
12794
|
updatedAt: numberType(),
|
|
12795
12795
|
openRouterApiKey: stringType().nullable(),
|
|
12796
|
+
appTrialEndsAt: numberType().nullable(),
|
|
12796
12797
|
});
|
|
12797
12798
|
const caseStudySchema = objectType({
|
|
12798
12799
|
title: stringType(),
|
|
12799
12800
|
description: stringType(),
|
|
12800
12801
|
});
|
|
12801
12802
|
z.object({
|
|
12802
|
-
type: z.enum([
|
|
12803
|
+
type: z.enum(['freelancer', 'agency']),
|
|
12803
12804
|
name: z.string(),
|
|
12804
12805
|
summary: z.string(),
|
|
12805
12806
|
coreServices: z.string(),
|
|
@@ -12820,9 +12821,9 @@ const createOrganizationSchema = organizationSchema.pick({
|
|
|
12820
12821
|
type: true,
|
|
12821
12822
|
});
|
|
12822
12823
|
const trackUsageEventTypeEnum = LogEventTypeEnum.extract([
|
|
12823
|
-
|
|
12824
|
-
|
|
12825
|
-
|
|
12824
|
+
'suitabilityComplete',
|
|
12825
|
+
'proposalComplete',
|
|
12826
|
+
'biddingComplete',
|
|
12826
12827
|
]);
|
|
12827
12828
|
const trackUsagePayloadSchema = objectType({
|
|
12828
12829
|
event: usageEventTypeEnum,
|
|
@@ -12852,8 +12853,8 @@ const organizationSettingsSchema = objectType({
|
|
|
12852
12853
|
aiConfig: aiConfigSchema,
|
|
12853
12854
|
});
|
|
12854
12855
|
const subscribePayloadSchema = objectType({
|
|
12855
|
-
planId: stringType().min(1,
|
|
12856
|
-
paymentMethodId: stringType().min(1,
|
|
12856
|
+
planId: stringType().min(1, 'Plan id is required.'),
|
|
12857
|
+
paymentMethodId: stringType().min(1, 'Payment method is required.'),
|
|
12857
12858
|
toltReferral: stringType().optional(),
|
|
12858
12859
|
couponCode: stringType().nullish(),
|
|
12859
12860
|
});
|
|
@@ -12970,8 +12971,77 @@ const campaignActivityCreateSchema = z.discriminatedUnion("type", [
|
|
|
12970
12971
|
const updateCampaignAnalyticsSchema = z.object({
|
|
12971
12972
|
organizationId: z.string(),
|
|
12972
12973
|
campaignId: z.string(),
|
|
12973
|
-
|
|
12974
|
+
fields: z.array(z.enum([
|
|
12975
|
+
"contacted",
|
|
12976
|
+
"viewed",
|
|
12977
|
+
"replied",
|
|
12978
|
+
"won",
|
|
12979
|
+
"leadsAnalyzed",
|
|
12980
|
+
"leadsFailed",
|
|
12981
|
+
"proposalsFailed",
|
|
12982
|
+
"suitableJobs",
|
|
12983
|
+
"unsuitableJobs",
|
|
12984
|
+
"wonAmount",
|
|
12985
|
+
])),
|
|
12986
|
+
});
|
|
12987
|
+
|
|
12988
|
+
const campaignNotificationType = z.enum([
|
|
12989
|
+
'suitableLead',
|
|
12990
|
+
'proposalSent',
|
|
12991
|
+
'proposalViewed',
|
|
12992
|
+
'proposalReplied',
|
|
12993
|
+
'noConnects',
|
|
12994
|
+
'accountDisconnected',
|
|
12995
|
+
]);
|
|
12996
|
+
const chatbotChannelSchema = z.object({
|
|
12997
|
+
id: z.string(),
|
|
12998
|
+
name: z.string(),
|
|
12999
|
+
});
|
|
13000
|
+
const chatbotPlatforms = z.enum(['discord']);
|
|
13001
|
+
const chatbotSchema = z.object({
|
|
13002
|
+
guildId: z.string(),
|
|
13003
|
+
channels: z.array(chatbotChannelSchema),
|
|
13004
|
+
selectedChannelId: z.string().nullable(),
|
|
13005
|
+
notificationsEnabled: z.boolean().default(true),
|
|
13006
|
+
notificationSettings: z.record(campaignNotificationType, z.boolean().default(true)),
|
|
13007
|
+
organizationId: z.string(),
|
|
13008
|
+
campaignId: z.string(),
|
|
13009
|
+
createdAt: z.number(),
|
|
13010
|
+
updatedAt: z.number(),
|
|
13011
|
+
});
|
|
13012
|
+
const createChatbotSchema = chatbotSchema.pick({
|
|
13013
|
+
guildId: true,
|
|
13014
|
+
channels: true,
|
|
13015
|
+
organizationId: true,
|
|
13016
|
+
campaignId: true,
|
|
12974
13017
|
});
|
|
13018
|
+
const updateChatbotSchema = chatbotSchema.pick({
|
|
13019
|
+
selectedChannelId: true,
|
|
13020
|
+
notificationsEnabled: true,
|
|
13021
|
+
notificationSettings: true,
|
|
13022
|
+
});
|
|
13023
|
+
const sendNotificationRequestSchema = z.object({
|
|
13024
|
+
organizationId: z.string(),
|
|
13025
|
+
campaignId: z.string(),
|
|
13026
|
+
leadId: z.string(),
|
|
13027
|
+
notificationType: campaignNotificationType,
|
|
13028
|
+
});
|
|
13029
|
+
const CAMPAIGN_NOTIFICATION_TYPES = {
|
|
13030
|
+
suitableLead: 'Suitable Lead',
|
|
13031
|
+
proposalSent: 'Proposal Sent',
|
|
13032
|
+
proposalViewed: 'Proposal Viewed',
|
|
13033
|
+
proposalReplied: 'Proposal Replied',
|
|
13034
|
+
noConnects: 'No Connects',
|
|
13035
|
+
accountDisconnected: 'Account Disconnected',
|
|
13036
|
+
};
|
|
13037
|
+
const CAMPAIGN_NOTIFICATION_SETTINGS = {
|
|
13038
|
+
suitableLead: 'When Lancer determines a job is suitable for your company',
|
|
13039
|
+
proposalSent: 'When a proposal is successfully submitted',
|
|
13040
|
+
proposalViewed: 'When a client views your proposal',
|
|
13041
|
+
proposalReplied: 'When a client replies to your proposal',
|
|
13042
|
+
noConnects: 'When your Agency profile has run out of Upwork connects',
|
|
13043
|
+
accountDisconnected: 'When there is an issue with your Upwork Bidder account',
|
|
13044
|
+
};
|
|
12975
13045
|
|
|
12976
13046
|
const campaignCountByStatusSchema = z.object({
|
|
12977
13047
|
// Using z.enum values to create a schema with all possible job statuses
|
|
@@ -13053,6 +13123,10 @@ const agentTaskRequestSchema = z.object({
|
|
|
13053
13123
|
organizationId: z.string(),
|
|
13054
13124
|
campaignId: z.string(),
|
|
13055
13125
|
lead: leadSchema,
|
|
13126
|
+
isOverallHighestPriorityCampaign: z.boolean().optional(),
|
|
13127
|
+
applyToLeads: z
|
|
13128
|
+
.array(z.object({ leadId: z.string(), campaignId: z.string() }))
|
|
13129
|
+
.optional(),
|
|
13056
13130
|
});
|
|
13057
13131
|
const suitabilityRatingSchema = z.object({
|
|
13058
13132
|
rating: z.number(),
|
|
@@ -13641,7 +13715,8 @@ const capitalize = (str) => {
|
|
|
13641
13715
|
const generateSlug = (name) => slugify(name, { lower: true, trim: true, replacement: "-" });
|
|
13642
13716
|
|
|
13643
13717
|
exports.BidderAccountAlreadyConnectedException = BidderAccountAlreadyConnectedException;
|
|
13644
|
-
exports.
|
|
13718
|
+
exports.CAMPAIGN_NOTIFICATION_SETTINGS = CAMPAIGN_NOTIFICATION_SETTINGS;
|
|
13719
|
+
exports.CAMPAIGN_NOTIFICATION_TYPES = CAMPAIGN_NOTIFICATION_TYPES;
|
|
13645
13720
|
exports.CloudflareChallengeFailedException = CloudflareChallengeFailedException;
|
|
13646
13721
|
exports.DeleteMultiloginProfileException = DeleteMultiloginProfileException;
|
|
13647
13722
|
exports.DropdownOptionNotPresentException = DropdownOptionNotPresentException;
|
|
@@ -13703,6 +13778,7 @@ exports.bidderAccountProviderDisplayMap = bidderAccountProviderDisplayMap;
|
|
|
13703
13778
|
exports.bidderAccountSchema = bidderAccountSchema;
|
|
13704
13779
|
exports.biddingCompletedEventMetadata = biddingCompletedEventMetadata;
|
|
13705
13780
|
exports.biddingFailedEventMetadata = biddingFailedEventMetadata;
|
|
13781
|
+
exports.biddingRejectedWithFeedbackEventMetadata = biddingRejectedWithFeedbackEventMetadata;
|
|
13706
13782
|
exports.booleanSchema = booleanSchema;
|
|
13707
13783
|
exports.buildRoute = buildRoute;
|
|
13708
13784
|
exports.campaignAIMetricsSchema = campaignAIMetricsSchema;
|
|
@@ -13719,11 +13795,12 @@ exports.campaignNotificationType = campaignNotificationType;
|
|
|
13719
13795
|
exports.campaignSchema = campaignSchema;
|
|
13720
13796
|
exports.campaignStatusActivitySchema = campaignStatusActivitySchema;
|
|
13721
13797
|
exports.campaignStatusSchema = campaignStatusSchema;
|
|
13722
|
-
exports.campaignWebhookSchema = campaignWebhookSchema;
|
|
13723
|
-
exports.campaignWebhookSettingsSchema = campaignWebhookSettingsSchema;
|
|
13724
13798
|
exports.capitalize = capitalize;
|
|
13725
13799
|
exports.caseStudySchema = caseStudySchema;
|
|
13726
13800
|
exports.categoryEnum = categoryEnum;
|
|
13801
|
+
exports.chatbotChannelSchema = chatbotChannelSchema;
|
|
13802
|
+
exports.chatbotPlatforms = chatbotPlatforms;
|
|
13803
|
+
exports.chatbotSchema = chatbotSchema;
|
|
13727
13804
|
exports.checkLeadStatusPayloadSchema = checkLeadStatusPayloadSchema;
|
|
13728
13805
|
exports.clientIndustryEnum = clientIndustryEnum;
|
|
13729
13806
|
exports.clientInfoSchema = clientInfoSchema;
|
|
@@ -13735,6 +13812,7 @@ exports.countryMapping = countryMapping;
|
|
|
13735
13812
|
exports.coverLetterTemplateSchema = coverLetterTemplateSchema;
|
|
13736
13813
|
exports.createBidderAccountSchema = createBidderAccountSchema;
|
|
13737
13814
|
exports.createCampaignSchema = createCampaignSchema;
|
|
13815
|
+
exports.createChatbotSchema = createChatbotSchema;
|
|
13738
13816
|
exports.createCoverLetterTemplateSchema = createCoverLetterTemplateSchema;
|
|
13739
13817
|
exports.createOrganizationSchema = createOrganizationSchema;
|
|
13740
13818
|
exports.createScraperAccountSchema = createScraperAccountSchema;
|
|
@@ -13880,6 +13958,7 @@ exports.subscriptionStripeMetadataItemSchema = subscriptionStripeMetadataItemSch
|
|
|
13880
13958
|
exports.subscriptionStripeMetadataSchema = subscriptionStripeMetadataSchema;
|
|
13881
13959
|
exports.suitabilityCompleteEventMetadataSchema = suitabilityCompleteEventMetadataSchema;
|
|
13882
13960
|
exports.suitabilityFailedEventMetadataSchema = suitabilityFailedEventMetadataSchema;
|
|
13961
|
+
exports.suitabilityPendingEventMetadataSchema = suitabilityPendingEventMetadataSchema;
|
|
13883
13962
|
exports.suitabilityRatingSchema = suitabilityRatingSchema;
|
|
13884
13963
|
exports.systemPromptSchema = systemPromptSchema;
|
|
13885
13964
|
exports.systemSchema = systemSchema;
|
|
@@ -13897,6 +13976,7 @@ exports.typingInputFieldException = typingInputFieldException;
|
|
|
13897
13976
|
exports.updateBidderAccountSchema = updateBidderAccountSchema;
|
|
13898
13977
|
exports.updateCampaignAnalyticsSchema = updateCampaignAnalyticsSchema;
|
|
13899
13978
|
exports.updateCampaignSchema = updateCampaignSchema;
|
|
13979
|
+
exports.updateChatbotSchema = updateChatbotSchema;
|
|
13900
13980
|
exports.updateLeadStatusSchema = updateLeadStatusSchema;
|
|
13901
13981
|
exports.updateScraperAccountSchema = updateScraperAccountSchema;
|
|
13902
13982
|
exports.upworkAccountConnectSchema = upworkAccountConnectSchema;
|