lancer-shared 1.2.150 → 1.2.151

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/dist/bundle.cjs.js +38 -3
  2. package/dist/constants/collections.js +11 -13
  3. package/dist/constants/common-questions.js +1 -4
  4. package/dist/constants/index.js +10 -32
  5. package/dist/constants/job-filter-options.js +1 -4
  6. package/dist/constants/job-status.js +7 -12
  7. package/dist/constants/mappings/countryMapping.js +1 -3
  8. package/dist/constants/mappings/regionMapping.js +1 -3
  9. package/dist/constants/organization.d.ts +2 -2
  10. package/dist/constants/routes.js +39 -37
  11. package/dist/constants/upwork-accounts.js +3 -6
  12. package/dist/index.js +4 -20
  13. package/dist/schemas/account/account-status.js +2 -5
  14. package/dist/schemas/account/bidder-account.js +22 -24
  15. package/dist/schemas/account/index.js +3 -19
  16. package/dist/schemas/account/scraper-account.d.ts +2 -2
  17. package/dist/schemas/account/scraper-account.js +21 -24
  18. package/dist/schemas/ai/ai-config.js +8 -11
  19. package/dist/schemas/ai/index.js +3 -19
  20. package/dist/schemas/ai/proposal.js +10 -13
  21. package/dist/schemas/ai/suitability.js +8 -11
  22. package/dist/schemas/bid/bid-result.js +9 -13
  23. package/dist/schemas/bid/bid.js +29 -30
  24. package/dist/schemas/bid/index.js +2 -18
  25. package/dist/schemas/campaign/campaign-ai-metrics.js +5 -8
  26. package/dist/schemas/campaign/campaign-analytics.d.ts +0 -8
  27. package/dist/schemas/campaign/campaign-analytics.js +32 -31
  28. package/dist/schemas/campaign/campaign-expenses.js +5 -8
  29. package/dist/schemas/campaign/campaign-insights.js +30 -30
  30. package/dist/schemas/campaign/campaign-integrations.d.ts +5 -0
  31. package/dist/schemas/campaign/campaign-integrations.js +10 -13
  32. package/dist/schemas/campaign/campaign-job-count.js +3 -6
  33. package/dist/schemas/campaign/campaign.js +32 -35
  34. package/dist/schemas/campaign/index.js +7 -23
  35. package/dist/schemas/chat-message/chat-message.js +7 -10
  36. package/dist/schemas/chat-message/index.js +1 -17
  37. package/dist/schemas/config/agency-config.js +6 -9
  38. package/dist/schemas/config/index.js +1 -17
  39. package/dist/schemas/event/index.d.ts +58 -0
  40. package/dist/schemas/index.js +17 -32
  41. package/dist/schemas/job/haha.json +581 -0
  42. package/dist/schemas/job-filters/index.js +1 -17
  43. package/dist/schemas/job-filters/job-filters.js +62 -65
  44. package/dist/schemas/lead/index.js +173 -19
  45. package/dist/schemas/lead/lead-note.js +13 -16
  46. package/dist/schemas/lead/lead-status.js +3 -6
  47. package/dist/schemas/lead/nuxt.js +287 -0
  48. package/dist/schemas/logger/feed/feed-job-chunk-enrich.d.ts +75 -0
  49. package/dist/schemas/logger/index.js +1 -17
  50. package/dist/schemas/logger/log-event.d.ts +10 -10
  51. package/dist/schemas/logger/log-event.js +100 -49
  52. package/dist/schemas/logger/scraper-events.d.ts +75 -0
  53. package/dist/schemas/meter-event/index.d.ts +12 -0
  54. package/dist/schemas/organization/index.js +70 -17
  55. package/dist/schemas/organization/member.js +7 -0
  56. package/dist/schemas/organization/organization.d.ts +177 -7
  57. package/dist/schemas/organization/organization.js +14 -17
  58. package/dist/schemas/organization/subscription.js +17 -0
  59. package/dist/schemas/profile/index.d.ts +2551 -0
  60. package/dist/schemas/proxy/index.js +3 -17
  61. package/dist/schemas/proxy/proxy-available-replacements.js +3 -0
  62. package/dist/schemas/proxy/proxy-country.js +249 -0
  63. package/dist/schemas/proxy/proxy.js +25 -19
  64. package/dist/schemas/saved-search/index.js +8 -11
  65. package/dist/schemas/scraper/index.js +2 -18
  66. package/dist/schemas/scraper/scrape-payload.d.ts +0 -5
  67. package/dist/schemas/scraper/scrape-payload.js +19 -14
  68. package/dist/schemas/scraper/scrape-result.js +21 -21
  69. package/dist/schemas/shared.js +12 -9
  70. package/dist/schemas/talent/index.d.ts +1314 -0
  71. package/dist/schemas/tier/index.d.ts +119 -0
  72. package/dist/schemas/time-filter/index.js +5 -8
  73. package/dist/schemas/transaction/index.js +17 -0
  74. package/dist/schemas/usage/index.js +18 -0
  75. package/dist/schemas/user/index.js +38 -41
  76. package/dist/types/account/account-status.js +1 -2
  77. package/dist/types/account/bidder-account.js +1 -2
  78. package/dist/types/account/index.js +3 -19
  79. package/dist/types/account/scraper-account.js +1 -2
  80. package/dist/types/ai/ai-config.js +1 -2
  81. package/dist/types/ai/index.js +3 -19
  82. package/dist/types/ai/proposal.js +1 -2
  83. package/dist/types/ai/suitability.js +1 -2
  84. package/dist/types/bid/bid-result.js +1 -2
  85. package/dist/types/bid/bid.js +1 -2
  86. package/dist/types/bid/index.js +2 -18
  87. package/dist/types/campaign/campaign-analytics.js +1 -2
  88. package/dist/types/campaign/campaign-expenses.js +1 -2
  89. package/dist/types/campaign/campaign-insights.js +1 -2
  90. package/dist/types/campaign/campaign-integrations.js +1 -2
  91. package/dist/types/campaign/campaign-job-count.js +1 -2
  92. package/dist/types/campaign/campaign.js +1 -2
  93. package/dist/types/campaign/index.js +6 -22
  94. package/dist/types/chat-message/chat-message.js +1 -2
  95. package/dist/types/chat-message/index.js +1 -17
  96. package/dist/types/config/agency-config.js +1 -2
  97. package/dist/types/config/index.js +1 -17
  98. package/dist/types/index.js +15 -29
  99. package/dist/types/job/index.js +3 -19
  100. package/dist/types/job/job-note.js +1 -2
  101. package/dist/types/job/job-status.js +1 -4
  102. package/dist/types/job/nuxt.js +1 -0
  103. package/dist/types/job-filters/index.js +1 -17
  104. package/dist/types/job-filters/job-filters.js +1 -2
  105. package/dist/types/logger/index.js +1 -17
  106. package/dist/types/logger/log-event.js +1 -2
  107. package/dist/types/saved-search/index.js +1 -2
  108. package/dist/types/scraper/index.js +2 -18
  109. package/dist/types/scraper/scrape-payload.js +1 -2
  110. package/dist/types/scraper/scrape-result.js +1 -2
  111. package/dist/types/shared.js +1 -0
  112. package/dist/types/time-filter/index.js +1 -2
  113. package/dist/types/transaction/index.js +1 -0
  114. package/dist/types/usage/index.js +1 -0
  115. package/dist/types/user/index.js +1 -2
  116. package/dist/utils/index.js +1 -17
  117. package/dist/utils/try-catch.js +8 -23
  118. package/package.json +1 -1
  119. package/dist/constants/account-status.d.ts +0 -3
  120. package/dist/constants/account-status.js +0 -17
  121. package/dist/constants/proxies.d.ts +0 -4
  122. package/dist/constants/upwork-filters.d.ts +0 -5
  123. package/dist/constants/upwork-filters.js +0 -75
  124. package/dist/schemas/account/exceptions/no-bidder-accounts-available.d.ts +0 -5
  125. package/dist/schemas/account/manager-account.d.ts +0 -116
  126. package/dist/schemas/account/manager-account.js +0 -38
  127. package/dist/schemas/ai-config/ai-config.d.ts +0 -39
  128. package/dist/schemas/ai-config/ai-config.js +0 -12
  129. package/dist/schemas/ai-config/index.d.ts +0 -1
  130. package/dist/schemas/ai-config/index.js +0 -17
  131. package/dist/schemas/bid/bid-status.d.ts +0 -30
  132. package/dist/schemas/bid/bid-status.js +0 -15
  133. package/dist/schemas/bid/exceptions/base-exception.d.ts +0 -4
  134. package/dist/schemas/bid/exceptions/evalute-element.exception.d.ts +0 -5
  135. package/dist/schemas/bid/exceptions/wait-for-function-timeout.d.ts +0 -5
  136. package/dist/schemas/bidding/index.d.ts +0 -1
  137. package/dist/schemas/bidding/index.js +0 -17
  138. package/dist/schemas/bidding/proposal-bidding-status.d.ts +0 -26
  139. package/dist/schemas/bidding/proposal-bidding-status.js +0 -18
  140. package/dist/schemas/bidding/proposal-dto.d.ts +0 -26
  141. package/dist/schemas/bidding/proposal-dto.js +0 -18
  142. package/dist/schemas/job/feed-job.d.ts +0 -866
  143. package/dist/schemas/job/index.js +0 -19
  144. package/dist/schemas/job/job-details.js +0 -29
  145. package/dist/schemas/job/job-note.d.ts +0 -83
  146. package/dist/schemas/job/job-note.js +0 -30
  147. package/dist/schemas/job/job-pipeline.d.ts +0 -74
  148. package/dist/schemas/job/job-pipeline.js +0 -29
  149. package/dist/schemas/job/job-status.d.ts +0 -3
  150. package/dist/schemas/job/job-status.js +0 -27
  151. package/dist/schemas/job/job-suitability.d.ts +0 -12
  152. package/dist/schemas/job/job-suitability.js +0 -13
  153. package/dist/schemas/job/job.d.ts +0 -1160
  154. package/dist/schemas/job/job.js +0 -90
  155. package/dist/schemas/job/pipeline-job.d.ts +0 -608
  156. package/dist/schemas/job/pipeline-job.js +0 -43
  157. package/dist/schemas/job/upwork-job.d.ts +0 -334
  158. package/dist/schemas/job/upwork-job.js +0 -60
  159. package/dist/schemas/knowledge-object/index.d.ts +0 -1
  160. package/dist/schemas/knowledge-object/index.js +0 -17
  161. package/dist/schemas/knowledge-object/knowledge-object.d.ts +0 -128
  162. package/dist/schemas/knowledge-object/knowledge-object.js +0 -47
  163. package/dist/schemas/lead/lead.d.ts +0 -1897
  164. package/dist/schemas/lead/lead.js +0 -143
  165. package/dist/schemas/scraper/scrape-response.d.ts +0 -345
  166. package/dist/schemas/scraper/scrape-response.js +0 -9
  167. package/dist/schemas/upwork-account/index.d.ts +0 -3
  168. package/dist/schemas/upwork-account/index.js +0 -19
  169. package/dist/schemas/upwork-account/upwork-account-status.d.ts +0 -2
  170. package/dist/schemas/upwork-account/upwork-account-status.js +0 -11
  171. package/dist/schemas/upwork-account/upwork-business-manager-account.d.ts +0 -95
  172. package/dist/schemas/upwork-account/upwork-business-manager-account.js +0 -35
  173. package/dist/schemas/upwork-account/upwork-scraper-account.d.ts +0 -92
  174. package/dist/schemas/upwork-account/upwork-scraper-account.js +0 -31
  175. package/dist/schemas/upwork-account/upwork-scraping-account.d.ts +0 -90
  176. package/dist/schemas/upwork-account/upwork-scraping-account.js +0 -30
  177. package/dist/types/account/manager-account.d.ts +0 -7
  178. package/dist/types/account/manager-account.js +0 -2
  179. package/dist/types/ai-config/ai-config.d.ts +0 -6
  180. package/dist/types/ai-config/ai-config.js +0 -2
  181. package/dist/types/ai-config/index.d.ts +0 -1
  182. package/dist/types/ai-config/index.js +0 -17
  183. package/dist/types/bid/bid-status.d.ts +0 -5
  184. package/dist/types/bid/bid-status.js +0 -2
  185. package/dist/types/bidding/index.d.ts +0 -1
  186. package/dist/types/bidding/index.js +0 -17
  187. package/dist/types/bidding/proposal-bidding-status.d.ts +0 -3
  188. package/dist/types/bidding/proposal-bidding-status.js +0 -2
  189. package/dist/types/bidding/proposal-dto.d.ts +0 -3
  190. package/dist/types/bidding/proposal-dto.js +0 -2
  191. package/dist/types/job/job-details.d.ts +0 -36
  192. package/dist/types/job/job-details.js +0 -2
  193. package/dist/types/job/job-pipeline.d.ts +0 -4
  194. package/dist/types/job/job-pipeline.js +0 -2
  195. package/dist/types/job/job-suitability.d.ts +0 -3
  196. package/dist/types/job/job-suitability.js +0 -2
  197. package/dist/types/job/job.d.ts +0 -36
  198. package/dist/types/job/job.js +0 -2
  199. package/dist/types/knowledge-object/index.d.ts +0 -1
  200. package/dist/types/knowledge-object/index.js +0 -17
  201. package/dist/types/knowledge-object/knowledge-object.d.ts +0 -4
  202. package/dist/types/knowledge-object/knowledge-object.js +0 -2
  203. package/dist/types/scraper/scrape-response.d.ts +0 -4
  204. package/dist/types/scraper/scrape-response.js +0 -2
  205. package/dist/types/upwork-account/index.d.ts +0 -3
  206. package/dist/types/upwork-account/index.js +0 -19
  207. package/dist/types/upwork-account/upwork-account-status.d.ts +0 -3
  208. package/dist/types/upwork-account/upwork-account-status.js +0 -2
  209. package/dist/types/upwork-account/upwork-business-manager-account.d.ts +0 -7
  210. package/dist/types/upwork-account/upwork-business-manager-account.js +0 -2
  211. package/dist/types/upwork-account/upwork-scraping-account.d.ts +0 -5
  212. package/dist/types/upwork-account/upwork-scraping-account.js +0 -2
@@ -1,66 +1,117 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.logEventSchema = exports.LogEventTypeEnum = void 0;
4
- const zod_1 = require("zod");
5
- exports.LogEventTypeEnum = zod_1.z.enum([
1
+ import { boolean, number, object, string, z } from 'zod';
2
+ import { jobActivityOffsetHourSchema, jobActivitySchema, jobListingSchema, } from '../lead';
3
+ import { regionSchema } from '../shared';
4
+ export const LogEventTypeEnum = z.enum([
6
5
  // Scraper Events
7
- "scraperStarted",
8
- "scraperCompleted",
9
- "jobScraped",
10
- "jobsIndexed",
11
- "jobDuplicateSkipped",
12
- "scraperFailed",
13
- "userProfileScrapingStarted",
14
- "userProfileScrapingComplete",
15
- "userProfileScrapingFailed",
6
+ 'scraperStarted',
7
+ 'scraperCompleted',
8
+ 'jobScraped',
9
+ 'jobScrapeFailed',
10
+ 'jobsIndexed',
11
+ 'jobDuplicateSkipped',
12
+ 'scraperFailed',
13
+ 'jobActivityScraped',
14
+ 'jobActivityScrapeFailed',
15
+ // Feed Scraper Events
16
+ 'feedScrapeStarted',
17
+ 'feedScrapeCompleted',
18
+ 'feedScrapeFailed',
19
+ 'jobListingScraped',
16
20
  // Job Sync & Campaign Matching
17
- "jobSyncPublished",
18
- "jobSyncReceived",
19
- "leadsCreatedAndSynced",
21
+ 'jobSyncPublished',
22
+ 'jobSyncReceived',
23
+ 'leadsCreatedAndSynced',
20
24
  // Suitability Events
21
- "suitabilityPending",
22
- "suitabilityProcessing",
23
- "suitabilityComplete",
24
- "suitabilityFailed",
25
- "manualSuitabilityAnalyzed",
25
+ 'suitabilityPending',
26
+ 'suitabilityProcessing',
27
+ 'suitabilityComplete',
28
+ 'suitabilityFailed',
29
+ 'manualSuitabilityAnalyzed',
26
30
  // Proposal Events
27
- "proposalProcessing",
28
- "proposalComplete",
29
- "proposalFailed",
30
- "manualProposalGenerated",
31
+ 'proposalProcessing',
32
+ 'proposalComplete',
33
+ 'proposalFailed',
34
+ 'manualProposalGenerated',
31
35
  // Bidding Events
32
- "biddingProcessing",
33
- "biddingComplete",
34
- "biddingFailed",
35
- "biddingSkipped",
36
- "biddingPending",
36
+ 'biddingProcessing',
37
+ 'biddingComplete',
38
+ 'biddingFailed',
39
+ 'biddingSkipped',
40
+ 'biddingPending',
41
+ 'biddingRetry',
42
+ 'biddingInsufficientConnects',
43
+ 'biddingWarningAlert',
37
44
  // System/Generic Events
38
- "errorLogged",
39
- "cloudTaskRetry",
40
- "manualLeadEdited",
41
- "leadArchived",
42
- "auditTrailLogged",
45
+ 'errorLogged',
46
+ 'cloudTaskRetry',
47
+ 'manualLeadEdited',
48
+ 'leadArchived',
49
+ 'auditTrailLogged',
43
50
  // Knowledge Base Events
44
- "knowledgeBaseGenerationComplete",
45
- "knowledgeBaseGenerationFailed",
51
+ 'knowledgeBaseGenerationComplete',
52
+ 'knowledgeBaseGenerationFailed',
53
+ // Model Chain Events
54
+ 'modelFailed',
46
55
  ]);
47
- exports.logEventSchema = zod_1.z.object({
56
+ export const logEventSchema = z.object({
48
57
  // The type of event (use a z.enum if possible)
49
- type: exports.LogEventTypeEnum, // e.g. "suitability-failed", "proposal-generated"
58
+ type: LogEventTypeEnum, // e.g. "suitability-failed", "proposal-generated"
50
59
  // The service that triggered the event
51
- source: zod_1.z.string(), // e.g. "lancer-agents", "lancer-bidding"
60
+ source: z.string(), // e.g. "lancer-agents", "lancer-bidding"
52
61
  // Optional: Allow logging non-lead events in the future
53
- resourceType: zod_1.z.string().default("lead"), // e.g. "lead", "campaign", "user"
62
+ resourceType: z.string().default('lead'), // e.g. "lead", "campaign", "user"
54
63
  // ID of the resource (primary entity affected)
55
- resourceId: zod_1.z.string().nullable(), // fallback if leadId is not applicable
64
+ resourceId: z.string().nullable(), // fallback if leadId is not applicable
56
65
  // Lead-level metadata
57
- leadId: zod_1.z.string().nullable(),
58
- campaignId: zod_1.z.string().nullable(),
59
- userId: zod_1.z.string().nullable(),
66
+ leadId: z.string().nullable(),
67
+ campaignId: z.string().nullable(),
68
+ userId: z.string().nullable(),
60
69
  // Reason or message for the event
61
- reason: zod_1.z.string().nullable(),
70
+ reason: z.string().nullable(),
62
71
  // Generic metadata (stacktrace, score, raw request, etc.)
63
- metadata: zod_1.z.record(zod_1.z.unknown()).nullable(),
72
+ metadata: z.record(z.unknown()).nullable(),
64
73
  // Optional timestamp override
65
- timestamp: zod_1.z.number(),
74
+ timestamp: z.number(),
75
+ });
76
+ export const listingScrapedEventMetadata = object({
77
+ listing: jobListingSchema,
78
+ region: regionSchema,
79
+ });
80
+ export const jobActivityScrapedEventMetadata = object({
81
+ activity: jobActivitySchema,
82
+ region: regionSchema,
83
+ offsetHour: jobActivityOffsetHourSchema,
84
+ scrapedAt: number(),
85
+ });
86
+ export const jobActivityScrapeFailedEventMetadata = object({
87
+ listing: jobListingSchema,
88
+ region: regionSchema,
89
+ offsetHour: jobActivityOffsetHourSchema,
90
+ });
91
+ export const feedScrapeStartedEventMetadata = object({
92
+ id: string(),
93
+ startTime: number(),
94
+ region: regionSchema,
95
+ });
96
+ export const feedScrapeCompletedEventMetadata = object({
97
+ id: string(),
98
+ endTime: number(),
99
+ region: regionSchema,
100
+ accountUsername: string(),
101
+ });
102
+ export const biddingCompletedEventMetadata = object({
103
+ biddingAmount: number(),
104
+ boosted: boolean(),
105
+ boostingAmount: number(),
106
+ });
107
+ export const biddingFailedEventMetadata = object({
108
+ errorType: string(),
109
+ errorMessage: string(),
110
+ context: z.string().optional(),
111
+ });
112
+ export const biddingWarningAlertEventMetadata = object({
113
+ warningMessage: string(),
114
+ });
115
+ export const biddingRetryEventMetadata = object({
116
+ errorMessage: string(),
66
117
  });
@@ -437,7 +437,82 @@ export declare const scraperAccountErrorEventMetadata: z.ZodObject<{
437
437
  errorCode: string;
438
438
  errorMessage: string;
439
439
  }>;
440
+ export declare const scraperAccountSwapStartedEventMetadata: z.ZodObject<{
441
+ region: z.ZodUnion<[z.ZodLiteral<"USOnly">, z.ZodLiteral<"UKOnly">, z.ZodLiteral<"Worldwide">]>;
442
+ type: z.ZodEnum<["feed", "job", "status", "activity", "profile", "unauthenticated"]>;
443
+ accountId: z.ZodString;
444
+ accountEmail: z.ZodString;
445
+ }, "strip", z.ZodTypeAny, {
446
+ type: "status" | "activity" | "feed" | "job" | "profile" | "unauthenticated";
447
+ region: "USOnly" | "UKOnly" | "Worldwide";
448
+ accountId: string;
449
+ accountEmail: string;
450
+ }, {
451
+ type: "status" | "activity" | "feed" | "job" | "profile" | "unauthenticated";
452
+ region: "USOnly" | "UKOnly" | "Worldwide";
453
+ accountId: string;
454
+ accountEmail: string;
455
+ }>;
456
+ export declare const scraperAccountSwapCompletedEventMetadata: z.ZodObject<z.objectUtil.extendShape<Pick<{
457
+ region: z.ZodUnion<[z.ZodLiteral<"USOnly">, z.ZodLiteral<"UKOnly">, z.ZodLiteral<"Worldwide">]>;
458
+ type: z.ZodEnum<["feed", "job", "status", "activity", "profile", "unauthenticated"]>;
459
+ accountId: z.ZodString;
460
+ accountEmail: z.ZodString;
461
+ }, "type" | "region" | "accountId" | "accountEmail">, {
462
+ newAccountId: z.ZodString;
463
+ newAccountEmail: z.ZodString;
464
+ }>, "strip", z.ZodTypeAny, {
465
+ type: "status" | "activity" | "feed" | "job" | "profile" | "unauthenticated";
466
+ region: "USOnly" | "UKOnly" | "Worldwide";
467
+ accountId: string;
468
+ accountEmail: string;
469
+ newAccountId: string;
470
+ newAccountEmail: string;
471
+ }, {
472
+ type: "status" | "activity" | "feed" | "job" | "profile" | "unauthenticated";
473
+ region: "USOnly" | "UKOnly" | "Worldwide";
474
+ accountId: string;
475
+ accountEmail: string;
476
+ newAccountId: string;
477
+ newAccountEmail: string;
478
+ }>;
479
+ export declare const scraperAccountSwapFailedEventMetadata: z.ZodObject<z.objectUtil.extendShape<Pick<{
480
+ region: z.ZodUnion<[z.ZodLiteral<"USOnly">, z.ZodLiteral<"UKOnly">, z.ZodLiteral<"Worldwide">]>;
481
+ type: z.ZodEnum<["feed", "job", "status", "activity", "profile", "unauthenticated"]>;
482
+ accountId: z.ZodString;
483
+ accountEmail: z.ZodString;
484
+ }, "type" | "region" | "accountId" | "accountEmail">, {
485
+ errorStack: z.ZodString;
486
+ errorCode: z.ZodString;
487
+ errorMessage: z.ZodString;
488
+ }>, "strip", z.ZodTypeAny, {
489
+ type: "status" | "activity" | "feed" | "job" | "profile" | "unauthenticated";
490
+ region: "USOnly" | "UKOnly" | "Worldwide";
491
+ errorStack: string;
492
+ errorCode: string;
493
+ errorMessage: string;
494
+ accountId: string;
495
+ accountEmail: string;
496
+ }, {
497
+ type: "status" | "activity" | "feed" | "job" | "profile" | "unauthenticated";
498
+ region: "USOnly" | "UKOnly" | "Worldwide";
499
+ errorStack: string;
500
+ errorCode: string;
501
+ errorMessage: string;
502
+ accountId: string;
503
+ accountEmail: string;
504
+ }>;
440
505
  export interface ScrapeJobsCompletedEventMetadata extends z.infer<typeof scrapeJobsCompletedEventMetadata> {
441
506
  }
507
+ export interface JobActivityScrapedEventMetadata extends z.infer<typeof jobActivityScrapedEventMetadata> {
508
+ }
509
+ export interface JobActivityScrapeFailedEventMetadata extends z.infer<typeof jobActivityScrapeFailedEventMetadata> {
510
+ }
442
511
  export interface ScraperAccountErrorEventMetadata extends z.infer<typeof scraperAccountErrorEventMetadata> {
443
512
  }
513
+ export interface ScraperAccountSwapStartedEventMetadata extends z.infer<typeof scraperAccountSwapStartedEventMetadata> {
514
+ }
515
+ export interface ScraperAccountSwapCompletedEventMetadata extends z.infer<typeof scraperAccountSwapCompletedEventMetadata> {
516
+ }
517
+ export interface ScraperAccountSwapFailedEventMetadata extends z.infer<typeof scraperAccountSwapFailedEventMetadata> {
518
+ }
@@ -0,0 +1,12 @@
1
+ export declare const usageEventSchema: import("zod").ZodObject<{
2
+ organizationId: import("zod").ZodString;
3
+ eventId: any;
4
+ }, "strip", import("zod").ZodTypeAny, {
5
+ [x: string]: any;
6
+ organizationId?: unknown;
7
+ eventId?: unknown;
8
+ }, {
9
+ [x: string]: any;
10
+ organizationId?: unknown;
11
+ eventId?: unknown;
12
+ }>;
@@ -1,17 +1,70 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./organization"), exports);
1
+ import { boolean, number, object, string, z } from "zod";
2
+ import { LogEventTypeEnum } from "../logger";
3
+ import { organizationSubscriptionSchema } from "./subscription";
4
+ export const bidConfigSchema = object({
5
+ agencyName: string().nullable(),
6
+ bidderId: string().nullable(),
7
+ contractorName: string().nullable(),
8
+ specialisedProfile: string().nullable(),
9
+ });
10
+ export const organizationTypeSchema = z.enum(["agency", "freelancer"]);
11
+ export const organizationTierEnum = z.enum(["free", "premium"]);
12
+ export const organizationLimitsSchema = object({
13
+ monthlyCredits: number(),
14
+ usedCredits: number(),
15
+ extraCredits: number(),
16
+ });
17
+ export const organizationBillingSchema = object({
18
+ stripeCustomerId: string(),
19
+ savedCard: boolean(),
20
+ creditsRemaining: number(),
21
+ });
22
+ export const organizationSchema = object({
23
+ id: string(),
24
+ name: string(),
25
+ type: organizationTypeSchema,
26
+ tierId: organizationTierEnum,
27
+ subscription: organizationSubscriptionSchema.nullable(),
28
+ bidConfig: bidConfigSchema,
29
+ active: boolean(),
30
+ limits: organizationLimitsSchema,
31
+ billing: organizationBillingSchema.nullable(),
32
+ createdAt: number(),
33
+ updatedAt: number(),
34
+ });
35
+ export const creditDeductionEventTypeEnum = LogEventTypeEnum.extract([
36
+ "suitabilityComplete",
37
+ "proposalComplete",
38
+ ]);
39
+ export const creditDeductionPayloadSchema = object({
40
+ event: creditDeductionEventTypeEnum,
41
+ campaignId: string().nullish(),
42
+ });
43
+ export const aiConfigOldSchema = object({
44
+ id: string(),
45
+ suitabilityPrompt: string().nullable(),
46
+ proposalPrompt: string().nullable(),
47
+ questionProposalPrompt: string().nullable(),
48
+ knowledgeBase: string().nullable(),
49
+ });
50
+ export const aiConfigSchema = object({
51
+ suitabilityRules: string().nullable(),
52
+ coverLetterRules: string().nullable(),
53
+ questionRules: string().nullable(),
54
+ });
55
+ export const knowledgeBaseSchema = object({
56
+ about: string(),
57
+ caseStudies: string(),
58
+ });
59
+ export const notificationConfigSchema = object({
60
+ emailEnabled: boolean(),
61
+ discordWebhookUrl: string().nullable(),
62
+ slackWebhookUrl: string().nullable(),
63
+ });
64
+ export const organizationSettingsSchema = object({
65
+ aiConfig: aiConfigSchema,
66
+ knowledgeBase: knowledgeBaseSchema,
67
+ notifications: notificationConfigSchema,
68
+ });
69
+ export * from "./member";
70
+ export * from "./subscription";
@@ -0,0 +1,7 @@
1
+ import { number, object, string, z } from "zod";
2
+ export const organizationMemberRoleEnum = z.enum(["admin", "member"]);
3
+ export const organizationMemberSchema = object({
4
+ role: organizationMemberRoleEnum,
5
+ joinedAt: number(),
6
+ invitedBy: string(),
7
+ });
@@ -1,4 +1,4 @@
1
- import { z } from 'zod';
1
+ import { z } from "zod";
2
2
  export declare const bidConfigSchema: z.ZodObject<{
3
3
  agencyName: z.ZodNullable<z.ZodString>;
4
4
  bidderId: z.ZodNullable<z.ZodString>;
@@ -36,8 +36,61 @@ export declare const organizationSchema: z.ZodObject<{
36
36
  contractorName: string | null;
37
37
  specialisedProfile: string | null;
38
38
  }>;
39
- createdAt: z.ZodDate;
40
- updatedAt: z.ZodDate;
39
+ tierId: z.ZodEnum<["free", "premium"]>;
40
+ active: z.ZodBoolean;
41
+ limits: z.ZodNullable<z.ZodObject<{
42
+ monthlyCredits: z.ZodNumber;
43
+ usedCredits: z.ZodNumber;
44
+ extraCredits: z.ZodNumber;
45
+ }, "strip", z.ZodTypeAny, {
46
+ monthlyCredits: number;
47
+ usedCredits: number;
48
+ extraCredits: number;
49
+ }, {
50
+ monthlyCredits: number;
51
+ usedCredits: number;
52
+ extraCredits: number;
53
+ }>>;
54
+ billing: z.ZodNullable<z.ZodObject<{
55
+ stripeCustomerId: z.ZodString;
56
+ savedCard: z.ZodBoolean;
57
+ creditsRemaining: z.ZodNumber;
58
+ }, "strip", z.ZodTypeAny, {
59
+ stripeCustomerId: string;
60
+ savedCard: boolean;
61
+ creditsRemaining: number;
62
+ }, {
63
+ stripeCustomerId: string;
64
+ savedCard: boolean;
65
+ creditsRemaining: number;
66
+ }>>;
67
+ subscription: z.ZodNullable<z.ZodObject<{
68
+ tierId: z.ZodString;
69
+ status: z.ZodEnum<["active", "trialing", "cancelled", "paused"]>;
70
+ creditsRemaining: z.ZodNumber;
71
+ startedAt: z.ZodNumber;
72
+ currentPeriodEnd: z.ZodNumber;
73
+ stripeSubscriptionId: z.ZodString;
74
+ source: z.ZodEnum<["stripe", "manual"]>;
75
+ }, "strip", z.ZodTypeAny, {
76
+ status: "active" | "trialing" | "cancelled" | "paused";
77
+ creditsRemaining: number;
78
+ tierId: string;
79
+ startedAt: number;
80
+ currentPeriodEnd: number;
81
+ stripeSubscriptionId: string;
82
+ source: "stripe" | "manual";
83
+ }, {
84
+ status: "active" | "trialing" | "cancelled" | "paused";
85
+ creditsRemaining: number;
86
+ tierId: string;
87
+ startedAt: number;
88
+ currentPeriodEnd: number;
89
+ stripeSubscriptionId: string;
90
+ source: "stripe" | "manual";
91
+ }>>;
92
+ createdAt: z.ZodNumber;
93
+ updatedAt: z.ZodNumber;
41
94
  }, "strip", z.ZodTypeAny, {
42
95
  type: "agency" | "freelancer";
43
96
  id: string;
@@ -48,8 +101,29 @@ export declare const organizationSchema: z.ZodObject<{
48
101
  contractorName: string | null;
49
102
  specialisedProfile: string | null;
50
103
  };
51
- createdAt: Date;
52
- updatedAt: Date;
104
+ tierId: "free" | "premium";
105
+ active: boolean;
106
+ limits: {
107
+ monthlyCredits: number;
108
+ usedCredits: number;
109
+ extraCredits: number;
110
+ } | null;
111
+ billing: {
112
+ stripeCustomerId: string;
113
+ savedCard: boolean;
114
+ creditsRemaining: number;
115
+ } | null;
116
+ subscription: {
117
+ status: "active" | "trialing" | "cancelled" | "paused";
118
+ creditsRemaining: number;
119
+ tierId: string;
120
+ startedAt: number;
121
+ currentPeriodEnd: number;
122
+ stripeSubscriptionId: string;
123
+ source: "stripe" | "manual";
124
+ } | null;
125
+ createdAt: number;
126
+ updatedAt: number;
53
127
  }, {
54
128
  type: "agency" | "freelancer";
55
129
  id: string;
@@ -60,11 +134,107 @@ export declare const organizationSchema: z.ZodObject<{
60
134
  contractorName: string | null;
61
135
  specialisedProfile: string | null;
62
136
  };
63
- createdAt: Date;
64
- updatedAt: Date;
137
+ tierId: "free" | "premium";
138
+ active: boolean;
139
+ limits: {
140
+ monthlyCredits: number;
141
+ usedCredits: number;
142
+ extraCredits: number;
143
+ } | null;
144
+ billing: {
145
+ stripeCustomerId: string;
146
+ savedCard: boolean;
147
+ creditsRemaining: number;
148
+ } | null;
149
+ subscription: {
150
+ status: "active" | "trialing" | "cancelled" | "paused";
151
+ creditsRemaining: number;
152
+ tierId: string;
153
+ startedAt: number;
154
+ currentPeriodEnd: number;
155
+ stripeSubscriptionId: string;
156
+ source: "stripe" | "manual";
157
+ } | null;
158
+ createdAt: number;
159
+ updatedAt: number;
160
+ }>;
161
+ export declare const aiConfigSchema: z.ZodObject<{
162
+ suitabilityRules: z.ZodNullable<z.ZodString>;
163
+ proposalRules: z.ZodNullable<z.ZodString>;
164
+ questionRules: z.ZodNullable<z.ZodString>;
165
+ }, "strip", z.ZodTypeAny, {
166
+ suitabilityRules: string | null;
167
+ proposalRules: string | null;
168
+ questionRules: string | null;
169
+ }, {
170
+ suitabilityRules: string | null;
171
+ proposalRules: string | null;
172
+ questionRules: string | null;
173
+ }>;
174
+ export declare const knowledgeBaseSchema: z.ZodObject<{
175
+ about: z.ZodString;
176
+ caseStudies: z.ZodString;
177
+ }, "strip", z.ZodTypeAny, {
178
+ about: string;
179
+ caseStudies: string;
180
+ }, {
181
+ about: string;
182
+ caseStudies: string;
183
+ }>;
184
+ export declare const organizationSettingsSchema: z.ZodObject<{
185
+ aiConfig: z.ZodObject<{
186
+ suitabilityRules: z.ZodNullable<z.ZodString>;
187
+ proposalRules: z.ZodNullable<z.ZodString>;
188
+ questionRules: z.ZodNullable<z.ZodString>;
189
+ }, "strip", z.ZodTypeAny, {
190
+ suitabilityRules: string | null;
191
+ proposalRules: string | null;
192
+ questionRules: string | null;
193
+ }, {
194
+ suitabilityRules: string | null;
195
+ proposalRules: string | null;
196
+ questionRules: string | null;
197
+ }>;
198
+ knowledgeBase: z.ZodObject<{
199
+ about: z.ZodString;
200
+ caseStudies: z.ZodString;
201
+ }, "strip", z.ZodTypeAny, {
202
+ about: string;
203
+ caseStudies: string;
204
+ }, {
205
+ about: string;
206
+ caseStudies: string;
207
+ }>;
208
+ }, "strip", z.ZodTypeAny, {
209
+ aiConfig: {
210
+ suitabilityRules: string | null;
211
+ proposalRules: string | null;
212
+ questionRules: string | null;
213
+ };
214
+ knowledgeBase: {
215
+ about: string;
216
+ caseStudies: string;
217
+ };
218
+ }, {
219
+ aiConfig: {
220
+ suitabilityRules: string | null;
221
+ proposalRules: string | null;
222
+ questionRules: string | null;
223
+ };
224
+ knowledgeBase: {
225
+ about: string;
226
+ caseStudies: string;
227
+ };
65
228
  }>;
66
229
  export interface Organization extends z.infer<typeof organizationSchema> {
67
230
  }
231
+ export interface AiConfig extends z.infer<typeof aiConfigSchema> {
232
+ }
233
+ export interface KnowledgeBase extends z.infer<typeof knowledgeBaseSchema> {
234
+ }
235
+ export interface OrganizationSettings extends z.infer<typeof organizationSettingsSchema> {
236
+ }
68
237
  export interface BidConfig extends z.infer<typeof bidConfigSchema> {
69
238
  }
70
239
  export type OrganizationType = z.infer<typeof organizationTypeSchema>;
240
+ export * from "./subscription";
@@ -1,19 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.organizationSchema = exports.organizationTypeSchema = exports.bidConfigSchema = void 0;
4
- const zod_1 = require("zod");
5
- exports.bidConfigSchema = zod_1.z.object({
6
- agencyName: zod_1.z.string().nullable(),
7
- bidderId: zod_1.z.string().nullable(),
8
- contractorName: zod_1.z.string().nullable(),
9
- specialisedProfile: zod_1.z.string().nullable(),
1
+ import { z } from 'zod';
2
+ export const bidConfigSchema = z.object({
3
+ agencyName: z.string().nullable(),
4
+ bidderId: z.string().nullable(),
5
+ contractorName: z.string().nullable(),
6
+ specialisedProfile: z.string().nullable(),
10
7
  });
11
- exports.organizationTypeSchema = zod_1.z.enum(['agency', 'freelancer']);
12
- exports.organizationSchema = zod_1.z.object({
13
- id: zod_1.z.string(),
14
- name: zod_1.z.string(),
15
- type: exports.organizationTypeSchema,
16
- bidConfig: exports.bidConfigSchema,
17
- createdAt: zod_1.z.date(),
18
- updatedAt: zod_1.z.date(),
8
+ export const organizationTypeSchema = z.enum(['agency', 'freelancer']);
9
+ export const organizationSchema = z.object({
10
+ id: z.string(),
11
+ name: z.string(),
12
+ type: organizationTypeSchema,
13
+ bidConfig: bidConfigSchema,
14
+ createdAt: z.date(),
15
+ updatedAt: z.date(),
19
16
  });
@@ -0,0 +1,17 @@
1
+ import { number, object, string, z } from "zod";
2
+ export const subscriptionStatusEnum = z.enum([
3
+ "active",
4
+ "trialing",
5
+ "cancelled",
6
+ "paused",
7
+ ]);
8
+ export const subscriptionSourceEnum = z.enum(["stripe", "manual"]);
9
+ export const organizationSubscriptionSchema = object({
10
+ tierId: string(),
11
+ status: subscriptionStatusEnum,
12
+ creditsRemaining: number(),
13
+ startedAt: number(),
14
+ currentPeriodEnd: number(),
15
+ stripeSubscriptionId: string(),
16
+ source: subscriptionSourceEnum,
17
+ });