@thejob/schema 2.0.3 → 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 CHANGED
@@ -783,6 +783,13 @@ var JobSchema = (0, import_yup18.object)({
783
783
  * re-check cadence so the same job is not re-crawled on every sweep.
784
784
  */
785
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"),
786
793
  experienceLevel: (0, import_yup18.string)().oneOf(SupportedExperienceLevels).nullable().optional().label("Experience level"),
787
794
  contactEmail: (0, import_yup18.string)().email().nullable().optional().label("Contact email"),
788
795
  workingHoursPerWeek: (0, import_yup18.number)().nullable().optional().min(1).max(24 * 7).label("Working hours per week"),
package/dist/index.d.cts CHANGED
@@ -479,6 +479,7 @@ declare const JobSchema: ObjectSchema<{
479
479
  [x: number]: string | boolean;
480
480
  };
481
481
  lastExpiryCheckAt: number | null | undefined;
482
+ closedAt: number | null | undefined;
482
483
  experienceLevel: ExperienceLevel | null | undefined;
483
484
  contactEmail: string | null | undefined;
484
485
  workingHoursPerWeek: number | null | undefined;
@@ -643,6 +644,7 @@ declare const JobSchema: ObjectSchema<{
643
644
  isActive: false;
644
645
  };
645
646
  lastExpiryCheckAt: undefined;
647
+ closedAt: undefined;
646
648
  experienceLevel: undefined;
647
649
  contactEmail: undefined;
648
650
  workingHoursPerWeek: undefined;
package/dist/index.d.ts CHANGED
@@ -479,6 +479,7 @@ declare const JobSchema: ObjectSchema<{
479
479
  [x: number]: string | boolean;
480
480
  };
481
481
  lastExpiryCheckAt: number | null | undefined;
482
+ closedAt: number | null | undefined;
482
483
  experienceLevel: ExperienceLevel | null | undefined;
483
484
  contactEmail: string | null | undefined;
484
485
  workingHoursPerWeek: number | null | undefined;
@@ -643,6 +644,7 @@ declare const JobSchema: ObjectSchema<{
643
644
  isActive: false;
644
645
  };
645
646
  lastExpiryCheckAt: undefined;
647
+ closedAt: undefined;
646
648
  experienceLevel: undefined;
647
649
  contactEmail: undefined;
648
650
  workingHoursPerWeek: undefined;
package/dist/index.js CHANGED
@@ -645,6 +645,13 @@ var JobSchema = object16({
645
645
  * re-check cadence so the same job is not re-crawled on every sweep.
646
646
  */
647
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"),
648
655
  experienceLevel: string13().oneOf(SupportedExperienceLevels).nullable().optional().label("Experience level"),
649
656
  contactEmail: string13().email().nullable().optional().label("Contact email"),
650
657
  workingHoursPerWeek: number5().nullable().optional().min(1).max(24 * 7).label("Working hours per week"),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thejob/schema",
3
- "version": "2.0.3",
3
+ "version": "2.0.4",
4
4
  "type": "module",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.js",
@@ -131,6 +131,14 @@ export const JobSchema = object({
131
131
  .nullable()
132
132
  .label("Last expiry check at"),
133
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
+
134
142
  experienceLevel: string()
135
143
  .oneOf(SupportedExperienceLevels)
136
144
  .nullable()
@@ -1 +0,0 @@
1
- {"sessionId":"86077c94-745f-4357-b3ad-bedd4759e065","pid":1319767,"procStart":"27556694","acquiredAt":1782604747700}