@thejob/schema 2.0.2 → 2.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +14 -0
- package/dist/index.d.cts +4 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +14 -0
- package/package.json +1 -1
- package/src/job/job.schema.ts +19 -0
- package/.claude/scheduled_tasks.lock +0 -1
package/dist/index.cjs
CHANGED
|
@@ -776,6 +776,20 @@ var JobSchema = (0, import_yup18.object)({
|
|
|
776
776
|
startLabel: "Start Date",
|
|
777
777
|
endLabel: "Expiry Date"
|
|
778
778
|
}).label("Validity"),
|
|
779
|
+
/**
|
|
780
|
+
* When the auto-close system last re-checked this job's liveness (epoch ms).
|
|
781
|
+
* Server-owned operational field: set by the expiry re-crawl track when a job
|
|
782
|
+
* has no `validity.endDate` and must be verified by crawling its page. Guards
|
|
783
|
+
* re-check cadence so the same job is not re-crawled on every sweep.
|
|
784
|
+
*/
|
|
785
|
+
lastExpiryCheckAt: (0, import_yup18.number)().optional().nullable().label("Last expiry check at"),
|
|
786
|
+
/**
|
|
787
|
+
* When this job transitioned to `status: closed` (epoch ms). Server-owned
|
|
788
|
+
* operational field: stamped by every jobs-service close path (expiry
|
|
789
|
+
* auto-close and the dated lapse sweep). Distinct from `updatedAt` so a later
|
|
790
|
+
* edit to a closed job does not move it.
|
|
791
|
+
*/
|
|
792
|
+
closedAt: (0, import_yup18.number)().optional().nullable().label("Closed at"),
|
|
779
793
|
experienceLevel: (0, import_yup18.string)().oneOf(SupportedExperienceLevels).nullable().optional().label("Experience level"),
|
|
780
794
|
contactEmail: (0, import_yup18.string)().email().nullable().optional().label("Contact email"),
|
|
781
795
|
workingHoursPerWeek: (0, import_yup18.number)().nullable().optional().min(1).max(24 * 7).label("Working hours per week"),
|
package/dist/index.d.cts
CHANGED
|
@@ -478,6 +478,8 @@ declare const JobSchema: ObjectSchema<{
|
|
|
478
478
|
[x: string]: string | boolean;
|
|
479
479
|
[x: number]: string | boolean;
|
|
480
480
|
};
|
|
481
|
+
lastExpiryCheckAt: number | null | undefined;
|
|
482
|
+
closedAt: number | null | undefined;
|
|
481
483
|
experienceLevel: ExperienceLevel | null | undefined;
|
|
482
484
|
contactEmail: string | null | undefined;
|
|
483
485
|
workingHoursPerWeek: number | null | undefined;
|
|
@@ -641,6 +643,8 @@ declare const JobSchema: ObjectSchema<{
|
|
|
641
643
|
[x: string]: string | false;
|
|
642
644
|
isActive: false;
|
|
643
645
|
};
|
|
646
|
+
lastExpiryCheckAt: undefined;
|
|
647
|
+
closedAt: undefined;
|
|
644
648
|
experienceLevel: undefined;
|
|
645
649
|
contactEmail: undefined;
|
|
646
650
|
workingHoursPerWeek: undefined;
|
package/dist/index.d.ts
CHANGED
|
@@ -478,6 +478,8 @@ declare const JobSchema: ObjectSchema<{
|
|
|
478
478
|
[x: string]: string | boolean;
|
|
479
479
|
[x: number]: string | boolean;
|
|
480
480
|
};
|
|
481
|
+
lastExpiryCheckAt: number | null | undefined;
|
|
482
|
+
closedAt: number | null | undefined;
|
|
481
483
|
experienceLevel: ExperienceLevel | null | undefined;
|
|
482
484
|
contactEmail: string | null | undefined;
|
|
483
485
|
workingHoursPerWeek: number | null | undefined;
|
|
@@ -641,6 +643,8 @@ declare const JobSchema: ObjectSchema<{
|
|
|
641
643
|
[x: string]: string | false;
|
|
642
644
|
isActive: false;
|
|
643
645
|
};
|
|
646
|
+
lastExpiryCheckAt: undefined;
|
|
647
|
+
closedAt: undefined;
|
|
644
648
|
experienceLevel: undefined;
|
|
645
649
|
contactEmail: undefined;
|
|
646
650
|
workingHoursPerWeek: undefined;
|
package/dist/index.js
CHANGED
|
@@ -638,6 +638,20 @@ var JobSchema = object16({
|
|
|
638
638
|
startLabel: "Start Date",
|
|
639
639
|
endLabel: "Expiry Date"
|
|
640
640
|
}).label("Validity"),
|
|
641
|
+
/**
|
|
642
|
+
* When the auto-close system last re-checked this job's liveness (epoch ms).
|
|
643
|
+
* Server-owned operational field: set by the expiry re-crawl track when a job
|
|
644
|
+
* has no `validity.endDate` and must be verified by crawling its page. Guards
|
|
645
|
+
* re-check cadence so the same job is not re-crawled on every sweep.
|
|
646
|
+
*/
|
|
647
|
+
lastExpiryCheckAt: number5().optional().nullable().label("Last expiry check at"),
|
|
648
|
+
/**
|
|
649
|
+
* When this job transitioned to `status: closed` (epoch ms). Server-owned
|
|
650
|
+
* operational field: stamped by every jobs-service close path (expiry
|
|
651
|
+
* auto-close and the dated lapse sweep). Distinct from `updatedAt` so a later
|
|
652
|
+
* edit to a closed job does not move it.
|
|
653
|
+
*/
|
|
654
|
+
closedAt: number5().optional().nullable().label("Closed at"),
|
|
641
655
|
experienceLevel: string13().oneOf(SupportedExperienceLevels).nullable().optional().label("Experience level"),
|
|
642
656
|
contactEmail: string13().email().nullable().optional().label("Contact email"),
|
|
643
657
|
workingHoursPerWeek: number5().nullable().optional().min(1).max(24 * 7).label("Working hours per week"),
|
package/package.json
CHANGED
package/src/job/job.schema.ts
CHANGED
|
@@ -120,6 +120,25 @@ export const JobSchema = object({
|
|
|
120
120
|
endLabel: "Expiry Date",
|
|
121
121
|
}).label("Validity"),
|
|
122
122
|
|
|
123
|
+
/**
|
|
124
|
+
* When the auto-close system last re-checked this job's liveness (epoch ms).
|
|
125
|
+
* Server-owned operational field: set by the expiry re-crawl track when a job
|
|
126
|
+
* has no `validity.endDate` and must be verified by crawling its page. Guards
|
|
127
|
+
* re-check cadence so the same job is not re-crawled on every sweep.
|
|
128
|
+
*/
|
|
129
|
+
lastExpiryCheckAt: number()
|
|
130
|
+
.optional()
|
|
131
|
+
.nullable()
|
|
132
|
+
.label("Last expiry check at"),
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* When this job transitioned to `status: closed` (epoch ms). Server-owned
|
|
136
|
+
* operational field: stamped by every jobs-service close path (expiry
|
|
137
|
+
* auto-close and the dated lapse sweep). Distinct from `updatedAt` so a later
|
|
138
|
+
* edit to a closed job does not move it.
|
|
139
|
+
*/
|
|
140
|
+
closedAt: number().optional().nullable().label("Closed at"),
|
|
141
|
+
|
|
123
142
|
experienceLevel: string()
|
|
124
143
|
.oneOf(SupportedExperienceLevels)
|
|
125
144
|
.nullable()
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"sessionId":"043bf70f-1085-410f-95a6-195faa662d86","pid":612636,"procStart":"14865274","acquiredAt":1782478773707}
|