lancer-shared 1.2.139 → 1.2.141

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 (215) hide show
  1. package/dist/bundle.cjs.js +819 -652
  2. package/dist/constants/collections.js +11 -13
  3. package/dist/constants/common-questions.js +1 -4
  4. package/dist/constants/index.d.ts +1 -0
  5. package/dist/constants/index.js +10 -32
  6. package/dist/constants/job-filter-options.js +1 -4
  7. package/dist/constants/job-status.js +7 -12
  8. package/dist/constants/mappings/countryMapping.js +1 -3
  9. package/dist/constants/mappings/regionMapping.js +1 -3
  10. package/dist/constants/organization.d.ts +2 -2
  11. package/dist/constants/plan.d.ts +3 -0
  12. package/dist/constants/routes.js +39 -37
  13. package/dist/constants/upwork-accounts.js +3 -6
  14. package/dist/index.js +4 -20
  15. package/dist/schemas/account/account-status.js +2 -5
  16. package/dist/schemas/account/bidder-account.js +22 -24
  17. package/dist/schemas/account/index.js +3 -19
  18. package/dist/schemas/account/scraper-account.js +21 -24
  19. package/dist/schemas/ai/ai-config.js +8 -11
  20. package/dist/schemas/ai/index.js +3 -19
  21. package/dist/schemas/ai/proposal.js +10 -13
  22. package/dist/schemas/ai/suitability.js +8 -11
  23. package/dist/schemas/bid/bid-result.js +9 -13
  24. package/dist/schemas/bid/bid.d.ts +76 -0
  25. package/dist/schemas/bid/bid.js +29 -30
  26. package/dist/schemas/bid/index.js +2 -18
  27. package/dist/schemas/campaign/campaign-ai-metrics.js +5 -8
  28. package/dist/schemas/campaign/campaign-analytics.d.ts +360 -0
  29. package/dist/schemas/campaign/campaign-analytics.js +32 -31
  30. package/dist/schemas/campaign/campaign-expenses.js +5 -8
  31. package/dist/schemas/campaign/campaign-insights.js +30 -30
  32. package/dist/schemas/campaign/campaign-integrations.d.ts +5 -0
  33. package/dist/schemas/campaign/campaign-integrations.js +10 -13
  34. package/dist/schemas/campaign/campaign-job-count.js +3 -6
  35. package/dist/schemas/campaign/campaign.d.ts +29 -0
  36. package/dist/schemas/campaign/campaign.js +32 -35
  37. package/dist/schemas/campaign/index.js +7 -23
  38. package/dist/schemas/chat-message/chat-message.js +7 -10
  39. package/dist/schemas/chat-message/index.js +1 -17
  40. package/dist/schemas/config/agency-config.js +6 -9
  41. package/dist/schemas/config/index.js +1 -17
  42. package/dist/schemas/event/index.d.ts +58 -0
  43. package/dist/schemas/index.d.ts +1 -0
  44. package/dist/schemas/index.js +17 -32
  45. package/dist/schemas/job/haha.json +581 -0
  46. package/dist/schemas/job-filters/index.js +1 -17
  47. package/dist/schemas/job-filters/job-filters.js +62 -65
  48. package/dist/schemas/lead/index.js +173 -19
  49. package/dist/schemas/lead/lead-note.js +13 -16
  50. package/dist/schemas/lead/lead-status.js +3 -6
  51. package/dist/schemas/lead/nuxt.js +287 -0
  52. package/dist/schemas/logger/index.js +1 -17
  53. package/dist/schemas/logger/log-event.js +100 -49
  54. package/dist/schemas/meter-event/index.d.ts +12 -0
  55. package/dist/schemas/organization/index.d.ts +16 -7
  56. package/dist/schemas/organization/index.js +70 -17
  57. package/dist/schemas/organization/member.js +7 -0
  58. package/dist/schemas/organization/organization.d.ts +177 -7
  59. package/dist/schemas/organization/organization.js +14 -17
  60. package/dist/schemas/organization/subscription.js +17 -0
  61. package/dist/schemas/profile/index.d.ts +2551 -0
  62. package/dist/schemas/proxy/index.js +3 -17
  63. package/dist/schemas/proxy/proxy-available-replacements.js +3 -0
  64. package/dist/schemas/proxy/proxy-country.js +249 -0
  65. package/dist/schemas/proxy/proxy.js +25 -19
  66. package/dist/schemas/saved-search/index.js +8 -11
  67. package/dist/schemas/scraper/exceptions.d.ts +13 -1
  68. package/dist/schemas/scraper/index.js +2 -18
  69. package/dist/schemas/scraper/scrape-payload.d.ts +102 -0
  70. package/dist/schemas/scraper/scrape-payload.js +19 -14
  71. package/dist/schemas/scraper/scrape-result.js +21 -21
  72. package/dist/schemas/shared.js +12 -9
  73. package/dist/schemas/talent/index.d.ts +1314 -0
  74. package/dist/schemas/tier/index.d.ts +119 -0
  75. package/dist/schemas/time-filter/index.js +5 -8
  76. package/dist/schemas/transaction/index.js +17 -0
  77. package/dist/schemas/usage/index.js +18 -0
  78. package/dist/schemas/user/index.js +38 -41
  79. package/dist/types/account/account-status.js +1 -2
  80. package/dist/types/account/bidder-account.js +1 -2
  81. package/dist/types/account/index.js +3 -19
  82. package/dist/types/account/scraper-account.js +1 -2
  83. package/dist/types/ai/ai-config.js +1 -2
  84. package/dist/types/ai/index.js +3 -19
  85. package/dist/types/ai/proposal.js +1 -2
  86. package/dist/types/ai/suitability.js +1 -2
  87. package/dist/types/bid/bid-result.js +1 -2
  88. package/dist/types/bid/bid.js +1 -2
  89. package/dist/types/bid/index.js +2 -18
  90. package/dist/types/campaign/campaign-analytics.js +1 -2
  91. package/dist/types/campaign/campaign-expenses.js +1 -2
  92. package/dist/types/campaign/campaign-insights.js +1 -2
  93. package/dist/types/campaign/campaign-integrations.js +1 -2
  94. package/dist/types/campaign/campaign-job-count.js +1 -2
  95. package/dist/types/campaign/campaign.js +1 -2
  96. package/dist/types/campaign/index.js +6 -22
  97. package/dist/types/chat-message/chat-message.js +1 -2
  98. package/dist/types/chat-message/index.js +1 -17
  99. package/dist/types/config/agency-config.js +1 -2
  100. package/dist/types/config/index.js +1 -17
  101. package/dist/types/index.js +15 -29
  102. package/dist/types/job/index.js +3 -19
  103. package/dist/types/job/job-note.js +1 -2
  104. package/dist/types/job/job-status.js +1 -4
  105. package/dist/types/job/nuxt.js +1 -0
  106. package/dist/types/job-filters/index.js +1 -17
  107. package/dist/types/job-filters/job-filters.js +1 -2
  108. package/dist/types/logger/index.js +1 -17
  109. package/dist/types/logger/log-event.js +1 -2
  110. package/dist/types/saved-search/index.js +1 -2
  111. package/dist/types/scraper/index.js +2 -18
  112. package/dist/types/scraper/scrape-payload.js +1 -2
  113. package/dist/types/scraper/scrape-result.js +1 -2
  114. package/dist/types/shared.js +1 -0
  115. package/dist/types/time-filter/index.js +1 -2
  116. package/dist/types/transaction/index.js +1 -0
  117. package/dist/types/usage/index.js +1 -0
  118. package/dist/types/user/index.js +1 -2
  119. package/dist/utils/index.js +1 -17
  120. package/dist/utils/try-catch.js +8 -23
  121. package/package.json +1 -1
  122. package/dist/constants/account-status.d.ts +0 -3
  123. package/dist/constants/account-status.js +0 -17
  124. package/dist/constants/proxies.d.ts +0 -4
  125. package/dist/constants/upwork-filters.d.ts +0 -5
  126. package/dist/constants/upwork-filters.js +0 -75
  127. package/dist/schemas/account/exceptions/no-bidder-accounts-available.d.ts +0 -5
  128. package/dist/schemas/account/manager-account.d.ts +0 -116
  129. package/dist/schemas/account/manager-account.js +0 -38
  130. package/dist/schemas/ai-config/ai-config.d.ts +0 -39
  131. package/dist/schemas/ai-config/ai-config.js +0 -12
  132. package/dist/schemas/ai-config/index.d.ts +0 -1
  133. package/dist/schemas/ai-config/index.js +0 -17
  134. package/dist/schemas/bid/bid-status.d.ts +0 -30
  135. package/dist/schemas/bid/bid-status.js +0 -15
  136. package/dist/schemas/bid/exceptions/base-exception.d.ts +0 -4
  137. package/dist/schemas/bid/exceptions/evalute-element.exception.d.ts +0 -5
  138. package/dist/schemas/bid/exceptions/wait-for-function-timeout.d.ts +0 -5
  139. package/dist/schemas/bidding/index.d.ts +0 -1
  140. package/dist/schemas/bidding/index.js +0 -17
  141. package/dist/schemas/bidding/proposal-bidding-status.d.ts +0 -26
  142. package/dist/schemas/bidding/proposal-bidding-status.js +0 -18
  143. package/dist/schemas/bidding/proposal-dto.d.ts +0 -26
  144. package/dist/schemas/bidding/proposal-dto.js +0 -18
  145. package/dist/schemas/job/feed-job.d.ts +0 -866
  146. package/dist/schemas/job/index.js +0 -19
  147. package/dist/schemas/job/job-details.js +0 -29
  148. package/dist/schemas/job/job-note.d.ts +0 -83
  149. package/dist/schemas/job/job-note.js +0 -30
  150. package/dist/schemas/job/job-pipeline.d.ts +0 -74
  151. package/dist/schemas/job/job-pipeline.js +0 -29
  152. package/dist/schemas/job/job-status.d.ts +0 -3
  153. package/dist/schemas/job/job-status.js +0 -27
  154. package/dist/schemas/job/job-suitability.d.ts +0 -12
  155. package/dist/schemas/job/job-suitability.js +0 -13
  156. package/dist/schemas/job/job.d.ts +0 -1160
  157. package/dist/schemas/job/job.js +0 -90
  158. package/dist/schemas/job/pipeline-job.d.ts +0 -608
  159. package/dist/schemas/job/pipeline-job.js +0 -43
  160. package/dist/schemas/job/upwork-job.d.ts +0 -334
  161. package/dist/schemas/job/upwork-job.js +0 -60
  162. package/dist/schemas/knowledge-object/index.d.ts +0 -1
  163. package/dist/schemas/knowledge-object/index.js +0 -17
  164. package/dist/schemas/knowledge-object/knowledge-object.d.ts +0 -128
  165. package/dist/schemas/knowledge-object/knowledge-object.js +0 -47
  166. package/dist/schemas/lead/lead.d.ts +0 -1897
  167. package/dist/schemas/lead/lead.js +0 -143
  168. package/dist/schemas/scraper/scrape-response.d.ts +0 -345
  169. package/dist/schemas/scraper/scrape-response.js +0 -9
  170. package/dist/schemas/upwork-account/index.d.ts +0 -3
  171. package/dist/schemas/upwork-account/index.js +0 -19
  172. package/dist/schemas/upwork-account/upwork-account-status.d.ts +0 -2
  173. package/dist/schemas/upwork-account/upwork-account-status.js +0 -11
  174. package/dist/schemas/upwork-account/upwork-business-manager-account.d.ts +0 -95
  175. package/dist/schemas/upwork-account/upwork-business-manager-account.js +0 -35
  176. package/dist/schemas/upwork-account/upwork-scraper-account.d.ts +0 -92
  177. package/dist/schemas/upwork-account/upwork-scraper-account.js +0 -31
  178. package/dist/schemas/upwork-account/upwork-scraping-account.d.ts +0 -90
  179. package/dist/schemas/upwork-account/upwork-scraping-account.js +0 -30
  180. package/dist/types/account/manager-account.d.ts +0 -7
  181. package/dist/types/account/manager-account.js +0 -2
  182. package/dist/types/ai-config/ai-config.d.ts +0 -6
  183. package/dist/types/ai-config/ai-config.js +0 -2
  184. package/dist/types/ai-config/index.d.ts +0 -1
  185. package/dist/types/ai-config/index.js +0 -17
  186. package/dist/types/bid/bid-status.d.ts +0 -5
  187. package/dist/types/bid/bid-status.js +0 -2
  188. package/dist/types/bidding/index.d.ts +0 -1
  189. package/dist/types/bidding/index.js +0 -17
  190. package/dist/types/bidding/proposal-bidding-status.d.ts +0 -3
  191. package/dist/types/bidding/proposal-bidding-status.js +0 -2
  192. package/dist/types/bidding/proposal-dto.d.ts +0 -3
  193. package/dist/types/bidding/proposal-dto.js +0 -2
  194. package/dist/types/job/job-details.d.ts +0 -36
  195. package/dist/types/job/job-details.js +0 -2
  196. package/dist/types/job/job-pipeline.d.ts +0 -4
  197. package/dist/types/job/job-pipeline.js +0 -2
  198. package/dist/types/job/job-suitability.d.ts +0 -3
  199. package/dist/types/job/job-suitability.js +0 -2
  200. package/dist/types/job/job.d.ts +0 -36
  201. package/dist/types/job/job.js +0 -2
  202. package/dist/types/knowledge-object/index.d.ts +0 -1
  203. package/dist/types/knowledge-object/index.js +0 -17
  204. package/dist/types/knowledge-object/knowledge-object.d.ts +0 -4
  205. package/dist/types/knowledge-object/knowledge-object.js +0 -2
  206. package/dist/types/scraper/scrape-response.d.ts +0 -4
  207. package/dist/types/scraper/scrape-response.js +0 -2
  208. package/dist/types/upwork-account/index.d.ts +0 -3
  209. package/dist/types/upwork-account/index.js +0 -19
  210. package/dist/types/upwork-account/upwork-account-status.d.ts +0 -3
  211. package/dist/types/upwork-account/upwork-account-status.js +0 -2
  212. package/dist/types/upwork-account/upwork-business-manager-account.d.ts +0 -7
  213. package/dist/types/upwork-account/upwork-business-manager-account.js +0 -2
  214. package/dist/types/upwork-account/upwork-scraping-account.d.ts +0 -5
  215. package/dist/types/upwork-account/upwork-scraping-account.js +0 -2
@@ -0,0 +1,287 @@
1
+ import { any, array, boolean, number, object, record, string } from "zod";
2
+ const segmentationDataSchema = object({
3
+ customValue: string().nullable(),
4
+ label: string(),
5
+ name: string(),
6
+ sortOrder: number(),
7
+ type: string(),
8
+ value: string(),
9
+ skill: any().nullable(),
10
+ });
11
+ const clientActivitySchema = object({
12
+ lastBuyerActivity: string(),
13
+ totalApplicants: number(),
14
+ totalHired: number(),
15
+ totalInvitedToInterview: number(),
16
+ unansweredInvites: number(),
17
+ invitationsSent: number(),
18
+ numberOfPositionsToHire: number(),
19
+ });
20
+ const annotationsSchema = object({
21
+ tags: array(string()),
22
+ });
23
+ const budgetSchema = object({
24
+ amount: number(),
25
+ currencyCode: string(),
26
+ });
27
+ const engagementDurationSchema = object({
28
+ label: string(),
29
+ weeks: number(),
30
+ });
31
+ const extendedBudgetInfoSchema = object({
32
+ hourlyBudgetMin: number().nullable(),
33
+ hourlyBudgetMax: number().nullable(),
34
+ hourlyBudgetType: string().nullable(),
35
+ });
36
+ const qualificationsSchema = object({
37
+ countries: any().nullable(),
38
+ earnings: any().nullable(),
39
+ groupRecno: any().nullable(),
40
+ languages: any().nullable(),
41
+ localDescription: any().nullable(),
42
+ localFlexibilityDescription: any().nullable(),
43
+ localMarket: boolean(),
44
+ minJobSuccessScore: number(),
45
+ minOdeskHours: number(),
46
+ onSiteType: any().nullable(),
47
+ prefEnglishSkill: number(),
48
+ regions: any().nullable(),
49
+ risingTalent: boolean(),
50
+ shouldHavePortfolio: boolean(),
51
+ states: any().nullable(),
52
+ tests: any().nullable(),
53
+ timezones: any().nullable(),
54
+ type: number(),
55
+ locationCheckRequired: boolean(),
56
+ group: any().nullable(),
57
+ location: any().nullable(),
58
+ locations: any().nullable(),
59
+ });
60
+ const jobSchema = object({
61
+ status: number(),
62
+ category: object({
63
+ name: string(),
64
+ urlSlug: string(),
65
+ }),
66
+ categoryGroup: object({
67
+ name: string(),
68
+ urlSlug: string(),
69
+ }),
70
+ budget: budgetSchema,
71
+ postedOn: string(),
72
+ publishTime: string(),
73
+ wasRenewed: boolean(),
74
+ startDate: string().nullable(),
75
+ deliveryDate: string().nullable(),
76
+ workload: string().nullable(),
77
+ engagementDuration: engagementDurationSchema,
78
+ extendedBudgetInfo: extendedBudgetInfoSchema,
79
+ contractorTier: number(),
80
+ description: string(),
81
+ segmentationData: array(segmentationDataSchema),
82
+ clientActivity: clientActivitySchema,
83
+ annotations: annotationsSchema,
84
+ uid: string(),
85
+ title: string(),
86
+ type: number(),
87
+ ciphertext: string(),
88
+ access: number(),
89
+ createdOn: string(),
90
+ hideBudget: boolean(),
91
+ notSureProjectDuration: boolean(),
92
+ notSureFreelancersToHire: boolean(),
93
+ notSureExperienceLevel: boolean(),
94
+ numberOfPositionsToHire: number(),
95
+ isContractToHire: boolean(),
96
+ attachments: array(any()),
97
+ isPremium: boolean(),
98
+ qualifications: qualificationsSchema,
99
+ questions: array(object({ question: string(), position: number() })),
100
+ durationIdV3: number(),
101
+ durationLabel: string(),
102
+ });
103
+ const buyerSchema = object({
104
+ isEnterprise: boolean(),
105
+ isPaymentMethodVerified: boolean(),
106
+ stats: object({
107
+ totalAssignments: number(),
108
+ activeAssignmentsCount: number(),
109
+ hoursCount: number(),
110
+ feedbackCount: number(),
111
+ score: number(),
112
+ totalJobsWithHires: number(),
113
+ totalCharges: object({
114
+ amount: number(),
115
+ }),
116
+ }),
117
+ location: object({
118
+ offsetFromUtcMillis: number(),
119
+ countryTimezone: string(),
120
+ city: string(),
121
+ country: string(),
122
+ }),
123
+ company: object({
124
+ isEDCReplicated: any().nullable(),
125
+ contractDate: string(),
126
+ profile: object({
127
+ industry: string(),
128
+ size: number(),
129
+ }),
130
+ name: string().nullable(),
131
+ }),
132
+ jobs: object({
133
+ postedCount: number(),
134
+ openCount: number(),
135
+ }),
136
+ avgHourlyJobsRate: object({
137
+ amount: number(),
138
+ }).nullable(),
139
+ });
140
+ const currentUserInfoSchema = object({
141
+ owner: boolean(),
142
+ freelancerInfo: object({
143
+ profileState: string(),
144
+ applied: any().nullable(),
145
+ devProfileCiphertext: string(),
146
+ hired: any().nullable(),
147
+ application: record(any()),
148
+ pendingInvite: record(any()),
149
+ contract: any().nullable(),
150
+ hourlyRate: object({
151
+ amount: number(),
152
+ }),
153
+ qualificationsMatches: object({
154
+ matches: array(object({
155
+ clientPreferred: string(),
156
+ clientPreferredLabel: string().nullable(),
157
+ freelancerValue: string(),
158
+ freelancerValueLabel: string(),
159
+ qualification: number(),
160
+ qualified: boolean(),
161
+ })),
162
+ }),
163
+ }),
164
+ });
165
+ const workHistorySchema = array(object({
166
+ isPtcJob: any().nullable(),
167
+ status: any().nullable(),
168
+ isEDCReplicated: any().nullable(),
169
+ startDate: string(),
170
+ endDate: string(),
171
+ totalCharge: number(),
172
+ totalHours: number(),
173
+ jobInfo: object({
174
+ title: string(),
175
+ id: any().nullable(),
176
+ uid: any().nullable(),
177
+ access: number(),
178
+ type: number(),
179
+ ciphertext: any().nullable(),
180
+ }),
181
+ contractorInfo: object({
182
+ contractorName: string(),
183
+ accessType: string(),
184
+ ciphertext: string(),
185
+ }),
186
+ rate: object({
187
+ amount: number(),
188
+ }).nullable(),
189
+ feedback: object({
190
+ feedbackSuppressed: boolean(),
191
+ score: number(),
192
+ comment: string(),
193
+ feedback_suppressed: boolean(),
194
+ }),
195
+ feedbackToClient: object({
196
+ feedbackSuppressed: boolean(),
197
+ score: number(),
198
+ comment: string(),
199
+ feedback_suppressed: boolean(),
200
+ }),
201
+ isEDCPublic: boolean(),
202
+ }));
203
+ const sandsSchema = object({
204
+ occupation: object({
205
+ freeText: string().nullable(),
206
+ ontologyId: string(),
207
+ prefLabel: string(),
208
+ id: string(),
209
+ uid: string(),
210
+ }),
211
+ ontologySkills: array(any()),
212
+ additionalSkills: array(object({
213
+ uid: string(),
214
+ name: string(),
215
+ isFreeText: boolean(),
216
+ })),
217
+ });
218
+ const connectsSchema = object({
219
+ pricing: object({
220
+ price: number(),
221
+ context: string(),
222
+ auctionPrice: number(),
223
+ }),
224
+ requiredConnects: number(),
225
+ availableConnects: number(),
226
+ chooseConnectsStatus: object({
227
+ isExplainerModalShown: boolean().nullable(),
228
+ }),
229
+ canSeeApplicantsRates: boolean(),
230
+ });
231
+ const authSchema = object({
232
+ canFlagOpening: boolean(),
233
+ canPostJob: boolean(),
234
+ domestic: object({
235
+ country: string().nullable(),
236
+ isInfographicTooltipAvailable: boolean(),
237
+ }),
238
+ });
239
+ const applicationContextSchema = object({
240
+ freelancerAllowed: boolean(),
241
+ clientAllowed: boolean(),
242
+ userIntentEvaluation: object({
243
+ isDeclined: boolean(),
244
+ reason: string().nullable(),
245
+ }),
246
+ canApplyOnBehalfOfAgencyFreelancers: boolean(),
247
+ canSubmitMoreProposals: boolean(),
248
+ submittedProposals: any().nullable(),
249
+ });
250
+ export const nuxtStateJobSchema = object({
251
+ cache: boolean(),
252
+ job: jobSchema,
253
+ buyer: buyerSchema,
254
+ currentUserInfo: currentUserInfoSchema,
255
+ isVisitor: boolean(),
256
+ openJobs: array(any()),
257
+ workHistory: workHistorySchema,
258
+ similarJobs: array(any()),
259
+ sands: sandsSchema,
260
+ auth: authSchema,
261
+ applicants: object({
262
+ applicantsBidsStats: any().nullable(),
263
+ }),
264
+ connects: connectsSchema.nullish(),
265
+ enterpriseJobAdditionalInfo: record(any()),
266
+ applicationContext: applicationContextSchema,
267
+ profileMatchServiceUid: string(),
268
+ seo: object({
269
+ title: string(),
270
+ description: string(),
271
+ url: string(),
272
+ }),
273
+ teamUid: any().nullable(),
274
+ proposalPermissions: object({
275
+ freelancerAllowed: boolean(),
276
+ clientAllowed: boolean(),
277
+ }),
278
+ jobSlug: any().nullable(),
279
+ prefillWith: any().nullable(),
280
+ isGroupOpportunity: boolean(),
281
+ workLocation: any().nullable(),
282
+ isPhoneVerified: boolean(),
283
+ errorResponse: any().nullable(),
284
+ isApplyBlocked: boolean(),
285
+ hasAiInterview: boolean(),
286
+ talentFeePromotion: boolean().nullish(),
287
+ });
@@ -1,17 +1 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./log-event"), exports);
1
+ export * from "./log-event";
@@ -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
  });
@@ -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,6 +1,6 @@
1
- import { infer, z } from 'zod';
2
- import { CoverLetterTemplate } from './cover-letter';
3
- import { OnboardingProgress } from './onboarding';
1
+ import { infer, z } from "zod";
2
+ import { CoverLetterTemplate } from "./cover-letter";
3
+ import { OnboardingProgress } from "./onboarding";
4
4
  export declare const organizationTypeSchema: z.ZodEnum<["agency", "freelancer"]>;
5
5
  export declare const organizationTierEnum: z.ZodEnum<["free", "premium"]>;
6
6
  export declare const limitsSchema: z.ZodObject<{
@@ -404,6 +404,13 @@ export declare const organizationSchema: z.ZodObject<{
404
404
  } | undefined;
405
405
  } | undefined;
406
406
  }>;
407
+ export declare const organizationUpdateSchema: z.ZodObject<{
408
+ planId: z.ZodString;
409
+ }, "strip", z.ZodTypeAny, {
410
+ planId: string;
411
+ }, {
412
+ planId: string;
413
+ }>;
407
414
  export declare const caseStudySchema: z.ZodObject<{
408
415
  id: z.ZodString;
409
416
  title: z.ZodString;
@@ -875,6 +882,8 @@ export interface Organization extends infer<typeof organizationSchema> {
875
882
  onboarding: OnboardingProgress | null;
876
883
  oneTimePayments: OneTimePayments;
877
884
  }
885
+ export interface OrganizationUpdateSchema extends infer<typeof organizationUpdateSchema> {
886
+ }
878
887
  export interface TrackUsagePayloadSchema extends infer<typeof trackUsagePayloadSchema> {
879
888
  }
880
889
  export interface AiConfig extends infer<typeof aiConfigSchema> {
@@ -886,7 +895,7 @@ export interface OrganizationSettings extends infer<typeof organizationSettingsS
886
895
  export type OrganizationType = z.infer<typeof organizationTypeSchema>;
887
896
  export interface SubscribePayload extends z.infer<typeof subscribePayloadSchema> {
888
897
  }
889
- export * from './cover-letter';
890
- export * from './member';
891
- export * from './onboarding';
892
- export * from './subscription';
898
+ export * from "./cover-letter";
899
+ export * from "./member";
900
+ export * from "./onboarding";
901
+ export * from "./subscription";
@@ -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
+ });