lancer-shared 1.2.87 → 1.2.88
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 +249 -180
- 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 +95 -234
- 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
|
});
|
|
@@ -12973,6 +12974,64 @@ const updateCampaignAnalyticsSchema = z.object({
|
|
|
12973
12974
|
field: z.string(),
|
|
12974
12975
|
});
|
|
12975
12976
|
|
|
12977
|
+
const campaignNotificationType = z.enum([
|
|
12978
|
+
'suitableLead',
|
|
12979
|
+
'proposalSent',
|
|
12980
|
+
'proposalViewed',
|
|
12981
|
+
'proposalReplied',
|
|
12982
|
+
'noConnects',
|
|
12983
|
+
'accountDisconnected',
|
|
12984
|
+
]);
|
|
12985
|
+
const chatbotChannelSchema = z.object({
|
|
12986
|
+
id: z.string(),
|
|
12987
|
+
name: z.string(),
|
|
12988
|
+
});
|
|
12989
|
+
const chatbotPlatforms = z.enum(['discord']);
|
|
12990
|
+
const chatbotSchema = z.object({
|
|
12991
|
+
guildId: z.string(),
|
|
12992
|
+
channels: z.array(chatbotChannelSchema),
|
|
12993
|
+
selectedChannelId: z.string().nullable(),
|
|
12994
|
+
notificationsEnabled: z.boolean().default(true),
|
|
12995
|
+
notificationSettings: z.record(campaignNotificationType, z.boolean().default(true)),
|
|
12996
|
+
organizationId: z.string(),
|
|
12997
|
+
campaignId: z.string(),
|
|
12998
|
+
createdAt: z.number(),
|
|
12999
|
+
updatedAt: z.number(),
|
|
13000
|
+
});
|
|
13001
|
+
const createChatbotSchema = chatbotSchema.pick({
|
|
13002
|
+
guildId: true,
|
|
13003
|
+
channels: true,
|
|
13004
|
+
organizationId: true,
|
|
13005
|
+
campaignId: true,
|
|
13006
|
+
});
|
|
13007
|
+
const updateChatbotSchema = chatbotSchema.pick({
|
|
13008
|
+
selectedChannelId: true,
|
|
13009
|
+
notificationsEnabled: true,
|
|
13010
|
+
notificationSettings: true,
|
|
13011
|
+
});
|
|
13012
|
+
const sendNotificationRequestSchema = z.object({
|
|
13013
|
+
organizationId: z.string(),
|
|
13014
|
+
campaignId: z.string(),
|
|
13015
|
+
leadId: z.string(),
|
|
13016
|
+
notificationType: campaignNotificationType,
|
|
13017
|
+
});
|
|
13018
|
+
const CAMPAIGN_NOTIFICATION_TYPES = {
|
|
13019
|
+
suitableLead: 'Suitable Lead',
|
|
13020
|
+
proposalSent: 'Proposal Sent',
|
|
13021
|
+
proposalViewed: 'Proposal Viewed',
|
|
13022
|
+
proposalReplied: 'Proposal Replied',
|
|
13023
|
+
noConnects: 'No Connects',
|
|
13024
|
+
accountDisconnected: 'Account Disconnected',
|
|
13025
|
+
};
|
|
13026
|
+
const CAMPAIGN_NOTIFICATION_SETTINGS = {
|
|
13027
|
+
suitableLead: 'When Lancer determines a job is suitable for your company',
|
|
13028
|
+
proposalSent: 'When a proposal is successfully submitted',
|
|
13029
|
+
proposalViewed: 'When a client views your proposal',
|
|
13030
|
+
proposalReplied: 'When a client replies to your proposal',
|
|
13031
|
+
noConnects: 'When your Agency profile has run out of Upwork connects',
|
|
13032
|
+
accountDisconnected: 'When there is an issue with your Upwork Bidder account',
|
|
13033
|
+
};
|
|
13034
|
+
|
|
12976
13035
|
const campaignCountByStatusSchema = z.object({
|
|
12977
13036
|
// Using z.enum values to create a schema with all possible job statuses
|
|
12978
13037
|
...Object.fromEntries(Object.values(agentStatusSchema.enum).map((status) => [
|
|
@@ -13053,6 +13112,10 @@ const agentTaskRequestSchema = z.object({
|
|
|
13053
13112
|
organizationId: z.string(),
|
|
13054
13113
|
campaignId: z.string(),
|
|
13055
13114
|
lead: leadSchema,
|
|
13115
|
+
isOverallHighestPriorityCampaign: z.boolean().optional(),
|
|
13116
|
+
applyToLeads: z
|
|
13117
|
+
.array(z.object({ leadId: z.string(), campaignId: z.string() }))
|
|
13118
|
+
.optional(),
|
|
13056
13119
|
});
|
|
13057
13120
|
const suitabilityRatingSchema = z.object({
|
|
13058
13121
|
rating: z.number(),
|
|
@@ -13641,7 +13704,8 @@ const capitalize = (str) => {
|
|
|
13641
13704
|
const generateSlug = (name) => slugify(name, { lower: true, trim: true, replacement: "-" });
|
|
13642
13705
|
|
|
13643
13706
|
exports.BidderAccountAlreadyConnectedException = BidderAccountAlreadyConnectedException;
|
|
13644
|
-
exports.
|
|
13707
|
+
exports.CAMPAIGN_NOTIFICATION_SETTINGS = CAMPAIGN_NOTIFICATION_SETTINGS;
|
|
13708
|
+
exports.CAMPAIGN_NOTIFICATION_TYPES = CAMPAIGN_NOTIFICATION_TYPES;
|
|
13645
13709
|
exports.CloudflareChallengeFailedException = CloudflareChallengeFailedException;
|
|
13646
13710
|
exports.DeleteMultiloginProfileException = DeleteMultiloginProfileException;
|
|
13647
13711
|
exports.DropdownOptionNotPresentException = DropdownOptionNotPresentException;
|
|
@@ -13703,6 +13767,7 @@ exports.bidderAccountProviderDisplayMap = bidderAccountProviderDisplayMap;
|
|
|
13703
13767
|
exports.bidderAccountSchema = bidderAccountSchema;
|
|
13704
13768
|
exports.biddingCompletedEventMetadata = biddingCompletedEventMetadata;
|
|
13705
13769
|
exports.biddingFailedEventMetadata = biddingFailedEventMetadata;
|
|
13770
|
+
exports.biddingRejectedWithFeedbackEventMetadata = biddingRejectedWithFeedbackEventMetadata;
|
|
13706
13771
|
exports.booleanSchema = booleanSchema;
|
|
13707
13772
|
exports.buildRoute = buildRoute;
|
|
13708
13773
|
exports.campaignAIMetricsSchema = campaignAIMetricsSchema;
|
|
@@ -13719,11 +13784,12 @@ exports.campaignNotificationType = campaignNotificationType;
|
|
|
13719
13784
|
exports.campaignSchema = campaignSchema;
|
|
13720
13785
|
exports.campaignStatusActivitySchema = campaignStatusActivitySchema;
|
|
13721
13786
|
exports.campaignStatusSchema = campaignStatusSchema;
|
|
13722
|
-
exports.campaignWebhookSchema = campaignWebhookSchema;
|
|
13723
|
-
exports.campaignWebhookSettingsSchema = campaignWebhookSettingsSchema;
|
|
13724
13787
|
exports.capitalize = capitalize;
|
|
13725
13788
|
exports.caseStudySchema = caseStudySchema;
|
|
13726
13789
|
exports.categoryEnum = categoryEnum;
|
|
13790
|
+
exports.chatbotChannelSchema = chatbotChannelSchema;
|
|
13791
|
+
exports.chatbotPlatforms = chatbotPlatforms;
|
|
13792
|
+
exports.chatbotSchema = chatbotSchema;
|
|
13727
13793
|
exports.checkLeadStatusPayloadSchema = checkLeadStatusPayloadSchema;
|
|
13728
13794
|
exports.clientIndustryEnum = clientIndustryEnum;
|
|
13729
13795
|
exports.clientInfoSchema = clientInfoSchema;
|
|
@@ -13735,6 +13801,7 @@ exports.countryMapping = countryMapping;
|
|
|
13735
13801
|
exports.coverLetterTemplateSchema = coverLetterTemplateSchema;
|
|
13736
13802
|
exports.createBidderAccountSchema = createBidderAccountSchema;
|
|
13737
13803
|
exports.createCampaignSchema = createCampaignSchema;
|
|
13804
|
+
exports.createChatbotSchema = createChatbotSchema;
|
|
13738
13805
|
exports.createCoverLetterTemplateSchema = createCoverLetterTemplateSchema;
|
|
13739
13806
|
exports.createOrganizationSchema = createOrganizationSchema;
|
|
13740
13807
|
exports.createScraperAccountSchema = createScraperAccountSchema;
|
|
@@ -13880,6 +13947,7 @@ exports.subscriptionStripeMetadataItemSchema = subscriptionStripeMetadataItemSch
|
|
|
13880
13947
|
exports.subscriptionStripeMetadataSchema = subscriptionStripeMetadataSchema;
|
|
13881
13948
|
exports.suitabilityCompleteEventMetadataSchema = suitabilityCompleteEventMetadataSchema;
|
|
13882
13949
|
exports.suitabilityFailedEventMetadataSchema = suitabilityFailedEventMetadataSchema;
|
|
13950
|
+
exports.suitabilityPendingEventMetadataSchema = suitabilityPendingEventMetadataSchema;
|
|
13883
13951
|
exports.suitabilityRatingSchema = suitabilityRatingSchema;
|
|
13884
13952
|
exports.systemPromptSchema = systemPromptSchema;
|
|
13885
13953
|
exports.systemSchema = systemSchema;
|
|
@@ -13897,6 +13965,7 @@ exports.typingInputFieldException = typingInputFieldException;
|
|
|
13897
13965
|
exports.updateBidderAccountSchema = updateBidderAccountSchema;
|
|
13898
13966
|
exports.updateCampaignAnalyticsSchema = updateCampaignAnalyticsSchema;
|
|
13899
13967
|
exports.updateCampaignSchema = updateCampaignSchema;
|
|
13968
|
+
exports.updateChatbotSchema = updateChatbotSchema;
|
|
13900
13969
|
exports.updateLeadStatusSchema = updateLeadStatusSchema;
|
|
13901
13970
|
exports.updateScraperAccountSchema = updateScraperAccountSchema;
|
|
13902
13971
|
exports.upworkAccountConnectSchema = upworkAccountConnectSchema;
|