lancer-shared 1.0.0

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 (131) hide show
  1. package/dist/constants/common-questions.d.ts +5 -0
  2. package/dist/constants/common-questions.js +60 -0
  3. package/dist/constants/index.d.ts +16 -0
  4. package/dist/constants/index.js +38 -0
  5. package/dist/constants/job-filter-options.d.ts +61 -0
  6. package/dist/constants/job-filter-options.js +265 -0
  7. package/dist/constants/job-status.d.ts +4 -0
  8. package/dist/constants/job-status.js +26 -0
  9. package/dist/constants/mappings/countryMapping.d.ts +2 -0
  10. package/dist/constants/mappings/countryMapping.js +122 -0
  11. package/dist/constants/mappings/regionMapping.d.ts +2 -0
  12. package/dist/constants/mappings/regionMapping.js +242 -0
  13. package/dist/constants/routes.d.ts +57 -0
  14. package/dist/constants/routes.js +63 -0
  15. package/dist/index.d.ts +3 -0
  16. package/dist/index.js +19 -0
  17. package/dist/schemas/ai/ai-config.d.ts +36 -0
  18. package/dist/schemas/ai/ai-config.js +12 -0
  19. package/dist/schemas/ai/index.d.ts +3 -0
  20. package/dist/schemas/ai/index.js +19 -0
  21. package/dist/schemas/ai/proposal.d.ts +82 -0
  22. package/dist/schemas/ai/proposal.js +16 -0
  23. package/dist/schemas/ai/suitability.d.ts +37 -0
  24. package/dist/schemas/ai/suitability.js +17 -0
  25. package/dist/schemas/bidding/index.d.ts +1 -0
  26. package/dist/schemas/bidding/index.js +17 -0
  27. package/dist/schemas/bidding/proposal-bidding-status.d.ts +26 -0
  28. package/dist/schemas/bidding/proposal-bidding-status.js +18 -0
  29. package/dist/schemas/campaign/campaign-expenses.d.ts +14 -0
  30. package/dist/schemas/campaign/campaign-expenses.js +9 -0
  31. package/dist/schemas/campaign/campaign-insights.d.ts +118 -0
  32. package/dist/schemas/campaign/campaign-insights.js +31 -0
  33. package/dist/schemas/campaign/campaign-integrations.d.ts +82 -0
  34. package/dist/schemas/campaign/campaign-integrations.js +16 -0
  35. package/dist/schemas/campaign/campaign-job-count.d.ts +2 -0
  36. package/dist/schemas/campaign/campaign-job-count.js +6 -0
  37. package/dist/schemas/campaign/campaign.d.ts +1146 -0
  38. package/dist/schemas/campaign/campaign.js +37 -0
  39. package/dist/schemas/campaign/index.d.ts +5 -0
  40. package/dist/schemas/campaign/index.js +21 -0
  41. package/dist/schemas/chat-message/chat-message.d.ts +31 -0
  42. package/dist/schemas/chat-message/chat-message.js +13 -0
  43. package/dist/schemas/chat-message/index.d.ts +1 -0
  44. package/dist/schemas/chat-message/index.js +17 -0
  45. package/dist/schemas/index.d.ts +10 -0
  46. package/dist/schemas/index.js +26 -0
  47. package/dist/schemas/job/index.d.ts +3 -0
  48. package/dist/schemas/job/index.js +19 -0
  49. package/dist/schemas/job/job-details.d.ts +335 -0
  50. package/dist/schemas/job/job-details.js +29 -0
  51. package/dist/schemas/job/job-note.d.ts +83 -0
  52. package/dist/schemas/job/job-note.js +30 -0
  53. package/dist/schemas/job/job-status.d.ts +3 -0
  54. package/dist/schemas/job/job-status.js +27 -0
  55. package/dist/schemas/job/job.d.ts +1160 -0
  56. package/dist/schemas/job/job.js +90 -0
  57. package/dist/schemas/job/pipeline-job.d.ts +602 -0
  58. package/dist/schemas/job/pipeline-job.js +42 -0
  59. package/dist/schemas/job/upwork-job.d.ts +334 -0
  60. package/dist/schemas/job/upwork-job.js +60 -0
  61. package/dist/schemas/job-filters/index.d.ts +1 -0
  62. package/dist/schemas/job-filters/index.js +17 -0
  63. package/dist/schemas/job-filters/job-filters.d.ts +187 -0
  64. package/dist/schemas/job-filters/job-filters.js +69 -0
  65. package/dist/schemas/saved-search/index.d.ts +19 -0
  66. package/dist/schemas/saved-search/index.js +12 -0
  67. package/dist/schemas/scraper/index.d.ts +2 -0
  68. package/dist/schemas/scraper/index.js +18 -0
  69. package/dist/schemas/scraper/scrape-payload.d.ts +17 -0
  70. package/dist/schemas/scraper/scrape-payload.js +10 -0
  71. package/dist/schemas/scraper/scrape-result.d.ts +345 -0
  72. package/dist/schemas/scraper/scrape-result.js +9 -0
  73. package/dist/schemas/shared.d.ts +7 -0
  74. package/dist/schemas/shared.js +16 -0
  75. package/dist/schemas/user/index.d.ts +72 -0
  76. package/dist/schemas/user/index.js +33 -0
  77. package/dist/types/ai/ai-config.d.ts +6 -0
  78. package/dist/types/ai/ai-config.js +2 -0
  79. package/dist/types/ai/index.d.ts +3 -0
  80. package/dist/types/ai/index.js +19 -0
  81. package/dist/types/ai/proposal.d.ts +10 -0
  82. package/dist/types/ai/proposal.js +2 -0
  83. package/dist/types/ai/suitability.d.ts +6 -0
  84. package/dist/types/ai/suitability.js +2 -0
  85. package/dist/types/bidding/index.d.ts +1 -0
  86. package/dist/types/bidding/index.js +17 -0
  87. package/dist/types/bidding/proposal-bidding-status.d.ts +3 -0
  88. package/dist/types/bidding/proposal-bidding-status.js +2 -0
  89. package/dist/types/campaign/campaign-expenses.d.ts +3 -0
  90. package/dist/types/campaign/campaign-expenses.js +2 -0
  91. package/dist/types/campaign/campaign-insights.d.ts +8 -0
  92. package/dist/types/campaign/campaign-insights.js +2 -0
  93. package/dist/types/campaign/campaign-integrations.d.ts +6 -0
  94. package/dist/types/campaign/campaign-integrations.js +2 -0
  95. package/dist/types/campaign/campaign-job-count.d.ts +4 -0
  96. package/dist/types/campaign/campaign-job-count.js +2 -0
  97. package/dist/types/campaign/campaign.d.ts +16 -0
  98. package/dist/types/campaign/campaign.js +2 -0
  99. package/dist/types/campaign/index.d.ts +5 -0
  100. package/dist/types/campaign/index.js +21 -0
  101. package/dist/types/chat-message/chat-message.d.ts +4 -0
  102. package/dist/types/chat-message/chat-message.js +2 -0
  103. package/dist/types/chat-message/index.d.ts +1 -0
  104. package/dist/types/chat-message/index.js +17 -0
  105. package/dist/types/index.d.ts +9 -0
  106. package/dist/types/index.js +25 -0
  107. package/dist/types/job/index.d.ts +3 -0
  108. package/dist/types/job/index.js +19 -0
  109. package/dist/types/job/job-details.d.ts +36 -0
  110. package/dist/types/job/job-details.js +2 -0
  111. package/dist/types/job/job-note.d.ts +10 -0
  112. package/dist/types/job/job-note.js +2 -0
  113. package/dist/types/job/job-status.d.ts +5 -0
  114. package/dist/types/job/job-status.js +12 -0
  115. package/dist/types/job/job.d.ts +32 -0
  116. package/dist/types/job/job.js +2 -0
  117. package/dist/types/job-filters/index.d.ts +1 -0
  118. package/dist/types/job-filters/index.js +17 -0
  119. package/dist/types/job-filters/job-filters.d.ts +4 -0
  120. package/dist/types/job-filters/job-filters.js +2 -0
  121. package/dist/types/saved-search/index.d.ts +6 -0
  122. package/dist/types/saved-search/index.js +2 -0
  123. package/dist/types/scraper/index.d.ts +2 -0
  124. package/dist/types/scraper/index.js +18 -0
  125. package/dist/types/scraper/scrape-payload.d.ts +4 -0
  126. package/dist/types/scraper/scrape-payload.js +2 -0
  127. package/dist/types/scraper/scrape-result.d.ts +4 -0
  128. package/dist/types/scraper/scrape-result.js +2 -0
  129. package/dist/types/user/index.d.ts +12 -0
  130. package/dist/types/user/index.js +2 -0
  131. package/package.json +35 -0
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateCampaignSchema = exports.createCampaignSchema = exports.campaignSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const job_filters_1 = require("../job-filters");
6
+ const shared_1 = require("../shared");
7
+ const job_1 = require("../job");
8
+ const campaign_expenses_1 = require("./campaign-expenses");
9
+ const campaign_integrations_1 = require("./campaign-integrations");
10
+ exports.campaignSchema = zod_1.z.object({
11
+ id: zod_1.z.string(),
12
+ name: zod_1.z.string(),
13
+ filters: job_filters_1.jobFiltersSchema,
14
+ createdAt: (0, shared_1.dateSchema)(),
15
+ updatedAt: (0, shared_1.dateSchema)(),
16
+ automatedSuitability: zod_1.z.boolean().nullable(),
17
+ automatedBidding: zod_1.z.boolean().nullable(),
18
+ boostingEnabled: zod_1.z.boolean().nullable().default(false),
19
+ maximumBoost: zod_1.z.number().nullable().default(30),
20
+ minimumBoost: zod_1.z.number().nullable().default(0),
21
+ webhookUrl: zod_1.z.string().nullable(),
22
+ monthlyBudget: zod_1.z.number().nullable(),
23
+ suitabilityThreshold: zod_1.z.number().min(0).max(100).nullable().default(0),
24
+ boostingThreshold: zod_1.z.number().min(0).max(100).nullable().default(0),
25
+ jobCounts: zod_1.z.record(job_1.jobStatusSchema, zod_1.z.number()).nullable(),
26
+ expenses: campaign_expenses_1.campaignExpensesSchema,
27
+ integrations: campaign_integrations_1.campaignIntegrationsSchema,
28
+ });
29
+ exports.createCampaignSchema = exports.campaignSchema.omit({
30
+ id: true,
31
+ createdAt: true,
32
+ updatedAt: true,
33
+ });
34
+ exports.updateCampaignSchema = exports.campaignSchema.omit({
35
+ createdAt: true,
36
+ updatedAt: true,
37
+ });
@@ -0,0 +1,5 @@
1
+ export * from './campaign';
2
+ export * from './campaign-insights';
3
+ export * from './campaign-job-count';
4
+ export * from './campaign-expenses';
5
+ export * from './campaign-integrations';
@@ -0,0 +1,21 @@
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("./campaign"), exports);
18
+ __exportStar(require("./campaign-insights"), exports);
19
+ __exportStar(require("./campaign-job-count"), exports);
20
+ __exportStar(require("./campaign-expenses"), exports);
21
+ __exportStar(require("./campaign-integrations"), exports);
@@ -0,0 +1,31 @@
1
+ import { z } from 'zod';
2
+ export declare const chatMessageSchema: z.ZodObject<{
3
+ id: z.ZodString;
4
+ content: z.ZodString;
5
+ role: z.ZodEnum<["user", "assistant"]>;
6
+ timestamp: z.ZodString;
7
+ }, "strip", z.ZodTypeAny, {
8
+ id: string;
9
+ content: string;
10
+ role: "user" | "assistant";
11
+ timestamp: string;
12
+ }, {
13
+ id: string;
14
+ content: string;
15
+ role: "user" | "assistant";
16
+ timestamp: string;
17
+ }>;
18
+ export declare const newChatMessageSchema: z.ZodObject<Omit<{
19
+ id: z.ZodString;
20
+ content: z.ZodString;
21
+ role: z.ZodEnum<["user", "assistant"]>;
22
+ timestamp: z.ZodString;
23
+ }, "id">, "strip", z.ZodTypeAny, {
24
+ content: string;
25
+ role: "user" | "assistant";
26
+ timestamp: string;
27
+ }, {
28
+ content: string;
29
+ role: "user" | "assistant";
30
+ timestamp: string;
31
+ }>;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.newChatMessageSchema = exports.chatMessageSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.chatMessageSchema = zod_1.z.object({
6
+ id: zod_1.z.string(),
7
+ content: zod_1.z.string(),
8
+ role: zod_1.z.enum(['user', 'assistant']),
9
+ timestamp: zod_1.z.string(),
10
+ });
11
+ exports.newChatMessageSchema = exports.chatMessageSchema.omit({
12
+ id: true,
13
+ });
@@ -0,0 +1 @@
1
+ export * from './chat-message';
@@ -0,0 +1,17 @@
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("./chat-message"), exports);
@@ -0,0 +1,10 @@
1
+ export * from './job';
2
+ export * from './saved-search';
3
+ export * from './shared';
4
+ export * from './user';
5
+ export * from './chat-message';
6
+ export * from './job-filters';
7
+ export * from './campaign';
8
+ export * from './ai';
9
+ export * from './bidding';
10
+ export * from './scraper';
@@ -0,0 +1,26 @@
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("./job"), exports);
18
+ __exportStar(require("./saved-search"), exports);
19
+ __exportStar(require("./shared"), exports);
20
+ __exportStar(require("./user"), exports);
21
+ __exportStar(require("./chat-message"), exports);
22
+ __exportStar(require("./job-filters"), exports);
23
+ __exportStar(require("./campaign"), exports);
24
+ __exportStar(require("./ai"), exports);
25
+ __exportStar(require("./bidding"), exports);
26
+ __exportStar(require("./scraper"), exports);
@@ -0,0 +1,3 @@
1
+ export * from "./job";
2
+ export * from "./job-note";
3
+ export * from "./job-status";
@@ -0,0 +1,19 @@
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("./job"), exports);
18
+ __exportStar(require("./job-note"), exports);
19
+ __exportStar(require("./job-status"), exports);
@@ -0,0 +1,335 @@
1
+ import { z } from 'zod';
2
+ export declare const JobSkillsSchema: z.ZodObject<{
3
+ name: z.ZodString;
4
+ }, "strip", z.ZodTypeAny, {
5
+ name: string;
6
+ }, {
7
+ name: string;
8
+ }>;
9
+ export declare const jobDetailsSchema: z.ZodObject<z.objectUtil.extendShape<{
10
+ id: z.ZodNullable<z.ZodString>;
11
+ createdAt: z.ZodNullable<z.ZodNumber>;
12
+ title: z.ZodNullable<z.ZodString>;
13
+ category: z.ZodNullable<z.ZodString>;
14
+ skills: z.ZodNullable<z.ZodArray<z.ZodObject<{
15
+ name: z.ZodString;
16
+ }, "strip", z.ZodTypeAny, {
17
+ name: string;
18
+ }, {
19
+ name: string;
20
+ }>, "many">>;
21
+ datetime: z.ZodNullable<z.ZodNumber>;
22
+ description: z.ZodNullable<z.ZodString>;
23
+ descriptionLength: z.ZodNullable<z.ZodNumber>;
24
+ connectsRequired: z.ZodNullable<z.ZodNumber>;
25
+ projectType: z.ZodNullable<z.ZodString>;
26
+ projectDuration: z.ZodNullable<z.ZodString>;
27
+ questions: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
28
+ jobUrl: z.ZodNullable<z.ZodString>;
29
+ metadata: z.ZodNullable<z.ZodObject<{
30
+ hours: z.ZodNullable<z.ZodString>;
31
+ duration: z.ZodNullable<z.ZodString>;
32
+ experienceLevel: z.ZodNullable<z.ZodString>;
33
+ hourlyRate: z.ZodNullable<z.ZodObject<{
34
+ min: z.ZodNullable<z.ZodNumber>;
35
+ max: z.ZodNullable<z.ZodNumber>;
36
+ }, "strip", z.ZodTypeAny, {
37
+ max: number | null;
38
+ min: number | null;
39
+ }, {
40
+ max: number | null;
41
+ min: number | null;
42
+ }>>;
43
+ paymentType: z.ZodNullable<z.ZodString>;
44
+ fixedPrice: z.ZodNullable<z.ZodNumber>;
45
+ }, "strip", z.ZodTypeAny, {
46
+ hours: string | null;
47
+ duration: string | null;
48
+ experienceLevel: string | null;
49
+ hourlyRate: {
50
+ max: number | null;
51
+ min: number | null;
52
+ } | null;
53
+ paymentType: string | null;
54
+ fixedPrice: number | null;
55
+ }, {
56
+ hours: string | null;
57
+ duration: string | null;
58
+ experienceLevel: string | null;
59
+ hourlyRate: {
60
+ max: number | null;
61
+ min: number | null;
62
+ } | null;
63
+ paymentType: string | null;
64
+ fixedPrice: number | null;
65
+ }>>;
66
+ clientInfo: z.ZodNullable<z.ZodObject<{
67
+ isPaymentVerified: z.ZodNullable<z.ZodBoolean>;
68
+ numberOfReviews: z.ZodNullable<z.ZodNumber>;
69
+ rating: z.ZodNullable<z.ZodNumber>;
70
+ country: z.ZodNullable<z.ZodString>;
71
+ region: z.ZodNullable<z.ZodString>;
72
+ jobsPosted: z.ZodNullable<z.ZodNumber>;
73
+ totalSpent: z.ZodNullable<z.ZodNumber>;
74
+ numberOfHires: z.ZodNullable<z.ZodNumber>;
75
+ activeEngagements: z.ZodNullable<z.ZodNumber>;
76
+ openJobs: z.ZodNullable<z.ZodNumber>;
77
+ hireRate: z.ZodNullable<z.ZodNumber>;
78
+ memberSince: z.ZodNullable<z.ZodString>;
79
+ companyIndustry: z.ZodNullable<z.ZodString>;
80
+ companySize: z.ZodNullable<z.ZodString>;
81
+ enterpriseClient: z.ZodNullable<z.ZodBoolean>;
82
+ }, "strip", z.ZodTypeAny, {
83
+ country: string | null;
84
+ region: string | null;
85
+ rating: number | null;
86
+ isPaymentVerified: boolean | null;
87
+ numberOfReviews: number | null;
88
+ jobsPosted: number | null;
89
+ totalSpent: number | null;
90
+ numberOfHires: number | null;
91
+ activeEngagements: number | null;
92
+ openJobs: number | null;
93
+ hireRate: number | null;
94
+ memberSince: string | null;
95
+ companyIndustry: string | null;
96
+ companySize: string | null;
97
+ enterpriseClient: boolean | null;
98
+ }, {
99
+ country: string | null;
100
+ region: string | null;
101
+ rating: number | null;
102
+ isPaymentVerified: boolean | null;
103
+ numberOfReviews: number | null;
104
+ jobsPosted: number | null;
105
+ totalSpent: number | null;
106
+ numberOfHires: number | null;
107
+ activeEngagements: number | null;
108
+ openJobs: number | null;
109
+ hireRate: number | null;
110
+ memberSince: string | null;
111
+ companyIndustry: string | null;
112
+ companySize: string | null;
113
+ enterpriseClient: boolean | null;
114
+ }>>;
115
+ vendorQualifications: z.ZodNullable<z.ZodObject<{
116
+ location: z.ZodNullable<z.ZodString>;
117
+ talentType: z.ZodNullable<z.ZodEnum<["Agency", "Independent", "unspecified"]>>;
118
+ englishLevel: z.ZodNullable<z.ZodString>;
119
+ minimumEarnings: z.ZodNullable<z.ZodNumber>;
120
+ jobSuccessScore: z.ZodNullable<z.ZodString>;
121
+ }, "strip", z.ZodTypeAny, {
122
+ location: string | null;
123
+ talentType: "unspecified" | "Agency" | "Independent" | null;
124
+ englishLevel: string | null;
125
+ minimumEarnings: number | null;
126
+ jobSuccessScore: string | null;
127
+ }, {
128
+ location: string | null;
129
+ talentType: "unspecified" | "Agency" | "Independent" | null;
130
+ englishLevel: string | null;
131
+ minimumEarnings: number | null;
132
+ jobSuccessScore: string | null;
133
+ }>>;
134
+ }, {
135
+ jobId: z.ZodString;
136
+ addedAt: z.ZodOptional<z.ZodDate>;
137
+ updatedAt: z.ZodOptional<z.ZodDate>;
138
+ suitabilityRating: z.ZodOptional<z.ZodNumber>;
139
+ suitabilityReason: z.ZodOptional<z.ZodString>;
140
+ suitabilityProposal: z.ZodOptional<z.ZodString>;
141
+ suitabilityQuestionAnswerPairs: z.ZodOptional<z.ZodArray<z.ZodObject<{
142
+ question: z.ZodString;
143
+ answer: z.ZodString;
144
+ }, "strip", z.ZodTypeAny, {
145
+ answer: string;
146
+ question: string;
147
+ }, {
148
+ answer: string;
149
+ question: string;
150
+ }>, "many">>;
151
+ suitabilityStatus: z.ZodOptional<z.ZodEnum<["completed", "pending", "failed"]>>;
152
+ notes: z.ZodOptional<z.ZodArray<z.ZodObject<{
153
+ id: z.ZodString;
154
+ jobId: z.ZodString;
155
+ content: z.ZodString;
156
+ order: z.ZodNumber;
157
+ bgColor: z.ZodString;
158
+ createdAt: z.ZodNumber;
159
+ updatedAt: z.ZodNumber;
160
+ }, "strip", z.ZodTypeAny, {
161
+ id: string;
162
+ content: string;
163
+ order: number;
164
+ jobId: string;
165
+ bgColor: string;
166
+ createdAt: number;
167
+ updatedAt: number;
168
+ }, {
169
+ id: string;
170
+ content: string;
171
+ order: number;
172
+ jobId: string;
173
+ bgColor: string;
174
+ createdAt: number;
175
+ updatedAt: number;
176
+ }>, "many">>;
177
+ status: z.ZodOptional<z.ZodEnum<["leads", "contacted", "viewed", "replied", "negotiations", "won", "lost"]>>;
178
+ }>, "strip", z.ZodTypeAny, {
179
+ id: string | null;
180
+ title: string | null;
181
+ metadata: {
182
+ hours: string | null;
183
+ duration: string | null;
184
+ experienceLevel: string | null;
185
+ hourlyRate: {
186
+ max: number | null;
187
+ min: number | null;
188
+ } | null;
189
+ paymentType: string | null;
190
+ fixedPrice: number | null;
191
+ } | null;
192
+ description: string | null;
193
+ datetime: number | null;
194
+ jobId: string;
195
+ createdAt: number | null;
196
+ category: string | null;
197
+ skills: {
198
+ name: string;
199
+ }[] | null;
200
+ descriptionLength: number | null;
201
+ connectsRequired: number | null;
202
+ projectType: string | null;
203
+ projectDuration: string | null;
204
+ questions: string[] | null;
205
+ jobUrl: string | null;
206
+ clientInfo: {
207
+ country: string | null;
208
+ region: string | null;
209
+ rating: number | null;
210
+ isPaymentVerified: boolean | null;
211
+ numberOfReviews: number | null;
212
+ jobsPosted: number | null;
213
+ totalSpent: number | null;
214
+ numberOfHires: number | null;
215
+ activeEngagements: number | null;
216
+ openJobs: number | null;
217
+ hireRate: number | null;
218
+ memberSince: string | null;
219
+ companyIndustry: string | null;
220
+ companySize: string | null;
221
+ enterpriseClient: boolean | null;
222
+ } | null;
223
+ vendorQualifications: {
224
+ location: string | null;
225
+ talentType: "unspecified" | "Agency" | "Independent" | null;
226
+ englishLevel: string | null;
227
+ minimumEarnings: number | null;
228
+ jobSuccessScore: string | null;
229
+ } | null;
230
+ status?: "leads" | "contacted" | "viewed" | "replied" | "negotiations" | "won" | "lost" | undefined;
231
+ updatedAt?: Date | undefined;
232
+ addedAt?: Date | undefined;
233
+ suitabilityRating?: number | undefined;
234
+ suitabilityReason?: string | undefined;
235
+ suitabilityProposal?: string | undefined;
236
+ suitabilityQuestionAnswerPairs?: {
237
+ answer: string;
238
+ question: string;
239
+ }[] | undefined;
240
+ suitabilityStatus?: "failed" | "pending" | "completed" | undefined;
241
+ notes?: {
242
+ id: string;
243
+ content: string;
244
+ order: number;
245
+ jobId: string;
246
+ bgColor: string;
247
+ createdAt: number;
248
+ updatedAt: number;
249
+ }[] | undefined;
250
+ }, {
251
+ id: string | null;
252
+ title: string | null;
253
+ metadata: {
254
+ hours: string | null;
255
+ duration: string | null;
256
+ experienceLevel: string | null;
257
+ hourlyRate: {
258
+ max: number | null;
259
+ min: number | null;
260
+ } | null;
261
+ paymentType: string | null;
262
+ fixedPrice: number | null;
263
+ } | null;
264
+ description: string | null;
265
+ datetime: number | null;
266
+ jobId: string;
267
+ createdAt: number | null;
268
+ category: string | null;
269
+ skills: {
270
+ name: string;
271
+ }[] | null;
272
+ descriptionLength: number | null;
273
+ connectsRequired: number | null;
274
+ projectType: string | null;
275
+ projectDuration: string | null;
276
+ questions: string[] | null;
277
+ jobUrl: string | null;
278
+ clientInfo: {
279
+ country: string | null;
280
+ region: string | null;
281
+ rating: number | null;
282
+ isPaymentVerified: boolean | null;
283
+ numberOfReviews: number | null;
284
+ jobsPosted: number | null;
285
+ totalSpent: number | null;
286
+ numberOfHires: number | null;
287
+ activeEngagements: number | null;
288
+ openJobs: number | null;
289
+ hireRate: number | null;
290
+ memberSince: string | null;
291
+ companyIndustry: string | null;
292
+ companySize: string | null;
293
+ enterpriseClient: boolean | null;
294
+ } | null;
295
+ vendorQualifications: {
296
+ location: string | null;
297
+ talentType: "unspecified" | "Agency" | "Independent" | null;
298
+ englishLevel: string | null;
299
+ minimumEarnings: number | null;
300
+ jobSuccessScore: string | null;
301
+ } | null;
302
+ status?: "leads" | "contacted" | "viewed" | "replied" | "negotiations" | "won" | "lost" | undefined;
303
+ updatedAt?: Date | undefined;
304
+ addedAt?: Date | undefined;
305
+ suitabilityRating?: number | undefined;
306
+ suitabilityReason?: string | undefined;
307
+ suitabilityProposal?: string | undefined;
308
+ suitabilityQuestionAnswerPairs?: {
309
+ answer: string;
310
+ question: string;
311
+ }[] | undefined;
312
+ suitabilityStatus?: "failed" | "pending" | "completed" | undefined;
313
+ notes?: {
314
+ id: string;
315
+ content: string;
316
+ order: number;
317
+ jobId: string;
318
+ bgColor: string;
319
+ createdAt: number;
320
+ updatedAt: number;
321
+ }[] | undefined;
322
+ }>;
323
+ export declare const JobListItemSchema: z.ZodObject<{
324
+ title: z.ZodNullable<z.ZodString>;
325
+ jobUrl: z.ZodNullable<z.ZodString>;
326
+ datetime: z.ZodNullable<z.ZodString>;
327
+ }, "strip", z.ZodTypeAny, {
328
+ title: string | null;
329
+ datetime: string | null;
330
+ jobUrl: string | null;
331
+ }, {
332
+ title: string | null;
333
+ datetime: string | null;
334
+ jobUrl: string | null;
335
+ }>;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JobListItemSchema = exports.jobDetailsSchema = exports.JobSkillsSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const job_note_1 = require("./job-note");
6
+ const job_status_1 = require("./job-status");
7
+ const proposal_1 = require("../ai/proposal");
8
+ const suitability_1 = require("../ai/suitability");
9
+ const upwork_job_1 = require("./upwork-job");
10
+ exports.JobSkillsSchema = zod_1.z.object({
11
+ name: zod_1.z.string(),
12
+ });
13
+ exports.jobDetailsSchema = upwork_job_1.upworkJobDetailsSchema.extend({
14
+ jobId: zod_1.z.string(),
15
+ addedAt: zod_1.z.date().optional(),
16
+ updatedAt: zod_1.z.date().optional(),
17
+ suitabilityRating: zod_1.z.number().optional(),
18
+ suitabilityReason: zod_1.z.string().optional(),
19
+ suitabilityProposal: zod_1.z.string().optional(),
20
+ suitabilityQuestionAnswerPairs: zod_1.z.array(proposal_1.questionAnswerPairSchema).optional(),
21
+ suitabilityStatus: suitability_1.suitabilityStatusSchema.optional(),
22
+ notes: zod_1.z.array(job_note_1.jobNoteSchema).optional(),
23
+ status: job_status_1.jobStatusSchema.optional(),
24
+ });
25
+ exports.JobListItemSchema = zod_1.z.object({
26
+ title: zod_1.z.string().nullable(),
27
+ jobUrl: zod_1.z.string().nullable(),
28
+ datetime: zod_1.z.string().nullable(),
29
+ });
@@ -0,0 +1,83 @@
1
+ import { z } from "zod";
2
+ export declare const jobNoteSchema: z.ZodObject<{
3
+ id: z.ZodString;
4
+ jobId: z.ZodString;
5
+ content: z.ZodString;
6
+ order: z.ZodNumber;
7
+ bgColor: z.ZodString;
8
+ createdAt: z.ZodNumber;
9
+ updatedAt: z.ZodNumber;
10
+ }, "strip", z.ZodTypeAny, {
11
+ id: string;
12
+ content: string;
13
+ order: number;
14
+ jobId: string;
15
+ bgColor: string;
16
+ createdAt: number;
17
+ updatedAt: number;
18
+ }, {
19
+ id: string;
20
+ content: string;
21
+ order: number;
22
+ jobId: string;
23
+ bgColor: string;
24
+ createdAt: number;
25
+ updatedAt: number;
26
+ }>;
27
+ export declare const createJobNoteSchema: z.ZodObject<Pick<{
28
+ id: z.ZodString;
29
+ jobId: z.ZodString;
30
+ content: z.ZodString;
31
+ order: z.ZodNumber;
32
+ bgColor: z.ZodString;
33
+ createdAt: z.ZodNumber;
34
+ updatedAt: z.ZodNumber;
35
+ }, "id" | "content" | "order" | "bgColor">, "strip", z.ZodTypeAny, {
36
+ id: string;
37
+ content: string;
38
+ order: number;
39
+ bgColor: string;
40
+ }, {
41
+ id: string;
42
+ content: string;
43
+ order: number;
44
+ bgColor: string;
45
+ }>;
46
+ export declare const updateJobNoteSchema: z.ZodObject<{
47
+ id: z.ZodString;
48
+ content: z.ZodOptional<z.ZodString>;
49
+ order: z.ZodOptional<z.ZodNumber>;
50
+ bgColor: z.ZodOptional<z.ZodString>;
51
+ }, "strip", z.ZodTypeAny, {
52
+ id: string;
53
+ content?: string | undefined;
54
+ order?: number | undefined;
55
+ bgColor?: string | undefined;
56
+ }, {
57
+ id: string;
58
+ content?: string | undefined;
59
+ order?: number | undefined;
60
+ bgColor?: string | undefined;
61
+ }>;
62
+ export declare const updateJobNotesOrderSchema: z.ZodObject<{
63
+ order: z.ZodArray<z.ZodObject<{
64
+ id: z.ZodString;
65
+ order: z.ZodNumber;
66
+ }, "strip", z.ZodTypeAny, {
67
+ id: string;
68
+ order: number;
69
+ }, {
70
+ id: string;
71
+ order: number;
72
+ }>, "many">;
73
+ }, "strip", z.ZodTypeAny, {
74
+ order: {
75
+ id: string;
76
+ order: number;
77
+ }[];
78
+ }, {
79
+ order: {
80
+ id: string;
81
+ order: number;
82
+ }[];
83
+ }>;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateJobNotesOrderSchema = exports.updateJobNoteSchema = exports.createJobNoteSchema = exports.jobNoteSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.jobNoteSchema = zod_1.z.object({
6
+ id: zod_1.z.string(),
7
+ jobId: zod_1.z.string(),
8
+ content: zod_1.z.string(),
9
+ order: zod_1.z.number(),
10
+ bgColor: zod_1.z.string(),
11
+ createdAt: zod_1.z.number(),
12
+ updatedAt: zod_1.z.number(),
13
+ });
14
+ exports.createJobNoteSchema = exports.jobNoteSchema.pick({
15
+ id: true,
16
+ content: true,
17
+ order: true,
18
+ bgColor: true,
19
+ });
20
+ exports.updateJobNoteSchema = exports.jobNoteSchema
21
+ .pick({
22
+ id: true,
23
+ content: true,
24
+ order: true,
25
+ bgColor: true,
26
+ })
27
+ .partial({ content: true, order: true, bgColor: true });
28
+ exports.updateJobNotesOrderSchema = zod_1.z.object({
29
+ order: zod_1.z.array(zod_1.z.object({ id: zod_1.z.string(), order: zod_1.z.number() })),
30
+ });
@@ -0,0 +1,3 @@
1
+ import { z } from "zod";
2
+ export declare const jobStatusSchema: z.ZodEnum<["suitabilityPending", "suitabilityProcessing", "suitabilityComplete", "suitabilityFailed", "proposalPending", "proposalProcessing", "proposalComplete", "biddingPending", "biddingProcessing", "biddingComplete", "biddingFailed", "jobArchived"]>;
3
+ export declare const jobLeadStatusSchema: z.ZodEnum<["leads", "contacted", "viewed", "replied", "negotiations", "won", "lost"]>;