@jobsearch-works/firestore-models 4.1.0 → 4.2.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.
package/dist/index.d.mts CHANGED
@@ -767,6 +767,16 @@ interface Application {
767
767
  coverLetter?: string;
768
768
  resume?: ClientResume;
769
769
  questions?: ApplicationQuestion[];
770
+ automationSummary?: string;
771
+ automationTokensUsed?: number;
772
+ automationLog?: string;
773
+ automationFailedAt?: Date | string;
774
+ automationFailureReason?: string;
775
+ latestRunId?: string;
776
+ totalAutomationRuns?: number;
777
+ totalTokensUsed?: number;
778
+ lastRunAt?: Date | string;
779
+ lastRunStatus?: string;
770
780
  submittedAt?: Date | string;
771
781
  interviewingAt?: Date | string;
772
782
  acceptedAt?: Date | string;
@@ -789,6 +799,65 @@ interface Application {
789
799
  updatedAt?: Date | string;
790
800
  }
791
801
 
802
+ /**
803
+ * Represents a single automation run attempt for an application
804
+ * Each application can have multiple runs (retries, manual interventions, etc.)
805
+ */
806
+ declare const ApplicationRunStatus: {
807
+ readonly InProgress: "in_progress";
808
+ readonly Completed: "completed";
809
+ readonly Failed: "failed";
810
+ readonly ManualTakeover: "manual_takeover";
811
+ };
812
+ type ApplicationRunStatus = (typeof ApplicationRunStatus)[keyof typeof ApplicationRunStatus];
813
+ declare const ApplicationRunOutcome: {
814
+ readonly Submitted: "submitted";
815
+ readonly Failed: "failed";
816
+ readonly CaptchaBlocked: "captcha_blocked";
817
+ readonly FormNotFound: "form_not_found";
818
+ readonly AuthenticationFailed: "authentication_failed";
819
+ readonly ManualInterventionRequired: "manual_intervention_required";
820
+ readonly Timeout: "timeout";
821
+ readonly NetworkError: "network_error";
822
+ };
823
+ type ApplicationRunOutcome = (typeof ApplicationRunOutcome)[keyof typeof ApplicationRunOutcome];
824
+ declare const ApplicationRunTrigger: {
825
+ readonly Automation: "automation";
826
+ readonly Manual: "manual";
827
+ readonly RetryScheduled: "retry_scheduled";
828
+ readonly AdminIntervention: "admin_intervention";
829
+ };
830
+ type ApplicationRunTrigger = (typeof ApplicationRunTrigger)[keyof typeof ApplicationRunTrigger];
831
+ interface ApplicationRunMetadata {
832
+ formVersion?: string;
833
+ browserAgent?: string;
834
+ interventionNotes?: string;
835
+ captchaSolved?: boolean;
836
+ emailVerificationRequired?: boolean;
837
+ documentsUploaded?: string[];
838
+ questionsAnswered?: number;
839
+ fieldsCompleted?: number;
840
+ durationSeconds?: number;
841
+ }
842
+ interface ApplicationRun {
843
+ id?: string;
844
+ applicationId: string;
845
+ clientId: string;
846
+ runNumber: number;
847
+ status: ApplicationRunStatus;
848
+ outcome?: ApplicationRunOutcome;
849
+ startedAt: Date | string;
850
+ completedAt?: Date | string;
851
+ tokensUsed?: number;
852
+ summary?: string;
853
+ log?: string;
854
+ failureReason?: string;
855
+ triggeredBy: ApplicationRunTrigger;
856
+ metadata?: ApplicationRunMetadata;
857
+ createdAt?: Date | string;
858
+ updatedAt?: Date | string;
859
+ }
860
+
792
861
  /**
793
862
  * Embedded sub-object within Client document
794
863
  * @see Client - Parent document interface
@@ -811,15 +880,13 @@ interface ClientPersonalData {
811
880
  countryPhoneCode: string;
812
881
  nationality: string;
813
882
  dateOfBirth?: Date | string;
883
+ gender?: 'Male' | 'Female' | 'Non-binary' | 'Prefer not to say' | 'Other';
814
884
  ethnicity?: string;
815
885
  disabilityStatus?: string;
816
886
  securityClearance?: string;
817
887
  workEligibility?: 'Australian Citizen' | 'Permanent Resident' | 'Temporary Visa' | 'Student Visa' | 'Working Holiday Visa' | 'Other';
818
888
  visaType?: string;
819
889
  workRestrictions?: string;
820
- emergencyContactName?: string;
821
- emergencyContactPhone?: string;
822
- emergencyContactRelationship?: string;
823
890
  backgroundCheckConsent?: 'Yes' | 'No';
824
891
  drugTestConsent?: 'Yes' | 'No';
825
892
  travelWillingness?: 'Yes' | 'No' | 'Sometimes';
@@ -1053,6 +1120,10 @@ declare const firestorePaths: {
1053
1120
  readonly applications: {
1054
1121
  readonly collection: (clientId: string) => string;
1055
1122
  readonly doc: (clientId: string, applicationId: string) => string;
1123
+ readonly runs: {
1124
+ readonly collection: (clientId: string, applicationId: string) => string;
1125
+ readonly doc: (clientId: string, applicationId: string, runId: string) => string;
1126
+ };
1056
1127
  readonly notes: {
1057
1128
  readonly collection: (clientId: string, applicationId: string) => string;
1058
1129
  readonly doc: (clientId: string, applicationId: string, noteId: string) => string;
@@ -1101,4 +1172,4 @@ declare const firestorePaths: {
1101
1172
  };
1102
1173
  };
1103
1174
 
1104
- export { Address, AdminReport, Agent, AgentStatus, Application, ApplicationQuestion, ApplicationQuestionType, ApplicationQuestionTypeOptions, ApplicationStatus, AuthEmail, AuthUser, Certification, Client, ClientAccessToken, ClientCompanyPreferences, ClientEmail, ClientGmailToken, ClientInitialQuestion, ClientJobPreferences, ClientLogin, ClientPersonalData, ClientQuestion, ClientResume, ClientStatus, ClientStatusEnum, ClientVirtualInterview, Companies, Education, EmailCategory, EmailLog, Experience, FirestoreTimestamp, JobCategory, JobTitle, LocationId, Project, UserPublic, Vacancy, VacancyCategory, VacancySuggestion, countries, firestorePaths, initialQuestions, jobClassifications, locations };
1175
+ export { Address, AdminReport, Agent, AgentStatus, Application, ApplicationQuestion, ApplicationQuestionType, ApplicationQuestionTypeOptions, ApplicationRun, ApplicationRunMetadata, ApplicationRunOutcome, ApplicationRunStatus, ApplicationRunTrigger, ApplicationStatus, AuthEmail, AuthUser, Certification, Client, ClientAccessToken, ClientCompanyPreferences, ClientEmail, ClientGmailToken, ClientInitialQuestion, ClientJobPreferences, ClientLogin, ClientPersonalData, ClientQuestion, ClientResume, ClientStatus, ClientStatusEnum, ClientVirtualInterview, Companies, Education, EmailCategory, EmailLog, Experience, FirestoreTimestamp, JobCategory, JobTitle, LocationId, Project, UserPublic, Vacancy, VacancyCategory, VacancySuggestion, countries, firestorePaths, initialQuestions, jobClassifications, locations };
package/dist/index.d.ts CHANGED
@@ -767,6 +767,16 @@ interface Application {
767
767
  coverLetter?: string;
768
768
  resume?: ClientResume;
769
769
  questions?: ApplicationQuestion[];
770
+ automationSummary?: string;
771
+ automationTokensUsed?: number;
772
+ automationLog?: string;
773
+ automationFailedAt?: Date | string;
774
+ automationFailureReason?: string;
775
+ latestRunId?: string;
776
+ totalAutomationRuns?: number;
777
+ totalTokensUsed?: number;
778
+ lastRunAt?: Date | string;
779
+ lastRunStatus?: string;
770
780
  submittedAt?: Date | string;
771
781
  interviewingAt?: Date | string;
772
782
  acceptedAt?: Date | string;
@@ -789,6 +799,65 @@ interface Application {
789
799
  updatedAt?: Date | string;
790
800
  }
791
801
 
802
+ /**
803
+ * Represents a single automation run attempt for an application
804
+ * Each application can have multiple runs (retries, manual interventions, etc.)
805
+ */
806
+ declare const ApplicationRunStatus: {
807
+ readonly InProgress: "in_progress";
808
+ readonly Completed: "completed";
809
+ readonly Failed: "failed";
810
+ readonly ManualTakeover: "manual_takeover";
811
+ };
812
+ type ApplicationRunStatus = (typeof ApplicationRunStatus)[keyof typeof ApplicationRunStatus];
813
+ declare const ApplicationRunOutcome: {
814
+ readonly Submitted: "submitted";
815
+ readonly Failed: "failed";
816
+ readonly CaptchaBlocked: "captcha_blocked";
817
+ readonly FormNotFound: "form_not_found";
818
+ readonly AuthenticationFailed: "authentication_failed";
819
+ readonly ManualInterventionRequired: "manual_intervention_required";
820
+ readonly Timeout: "timeout";
821
+ readonly NetworkError: "network_error";
822
+ };
823
+ type ApplicationRunOutcome = (typeof ApplicationRunOutcome)[keyof typeof ApplicationRunOutcome];
824
+ declare const ApplicationRunTrigger: {
825
+ readonly Automation: "automation";
826
+ readonly Manual: "manual";
827
+ readonly RetryScheduled: "retry_scheduled";
828
+ readonly AdminIntervention: "admin_intervention";
829
+ };
830
+ type ApplicationRunTrigger = (typeof ApplicationRunTrigger)[keyof typeof ApplicationRunTrigger];
831
+ interface ApplicationRunMetadata {
832
+ formVersion?: string;
833
+ browserAgent?: string;
834
+ interventionNotes?: string;
835
+ captchaSolved?: boolean;
836
+ emailVerificationRequired?: boolean;
837
+ documentsUploaded?: string[];
838
+ questionsAnswered?: number;
839
+ fieldsCompleted?: number;
840
+ durationSeconds?: number;
841
+ }
842
+ interface ApplicationRun {
843
+ id?: string;
844
+ applicationId: string;
845
+ clientId: string;
846
+ runNumber: number;
847
+ status: ApplicationRunStatus;
848
+ outcome?: ApplicationRunOutcome;
849
+ startedAt: Date | string;
850
+ completedAt?: Date | string;
851
+ tokensUsed?: number;
852
+ summary?: string;
853
+ log?: string;
854
+ failureReason?: string;
855
+ triggeredBy: ApplicationRunTrigger;
856
+ metadata?: ApplicationRunMetadata;
857
+ createdAt?: Date | string;
858
+ updatedAt?: Date | string;
859
+ }
860
+
792
861
  /**
793
862
  * Embedded sub-object within Client document
794
863
  * @see Client - Parent document interface
@@ -811,15 +880,13 @@ interface ClientPersonalData {
811
880
  countryPhoneCode: string;
812
881
  nationality: string;
813
882
  dateOfBirth?: Date | string;
883
+ gender?: 'Male' | 'Female' | 'Non-binary' | 'Prefer not to say' | 'Other';
814
884
  ethnicity?: string;
815
885
  disabilityStatus?: string;
816
886
  securityClearance?: string;
817
887
  workEligibility?: 'Australian Citizen' | 'Permanent Resident' | 'Temporary Visa' | 'Student Visa' | 'Working Holiday Visa' | 'Other';
818
888
  visaType?: string;
819
889
  workRestrictions?: string;
820
- emergencyContactName?: string;
821
- emergencyContactPhone?: string;
822
- emergencyContactRelationship?: string;
823
890
  backgroundCheckConsent?: 'Yes' | 'No';
824
891
  drugTestConsent?: 'Yes' | 'No';
825
892
  travelWillingness?: 'Yes' | 'No' | 'Sometimes';
@@ -1053,6 +1120,10 @@ declare const firestorePaths: {
1053
1120
  readonly applications: {
1054
1121
  readonly collection: (clientId: string) => string;
1055
1122
  readonly doc: (clientId: string, applicationId: string) => string;
1123
+ readonly runs: {
1124
+ readonly collection: (clientId: string, applicationId: string) => string;
1125
+ readonly doc: (clientId: string, applicationId: string, runId: string) => string;
1126
+ };
1056
1127
  readonly notes: {
1057
1128
  readonly collection: (clientId: string, applicationId: string) => string;
1058
1129
  readonly doc: (clientId: string, applicationId: string, noteId: string) => string;
@@ -1101,4 +1172,4 @@ declare const firestorePaths: {
1101
1172
  };
1102
1173
  };
1103
1174
 
1104
- export { Address, AdminReport, Agent, AgentStatus, Application, ApplicationQuestion, ApplicationQuestionType, ApplicationQuestionTypeOptions, ApplicationStatus, AuthEmail, AuthUser, Certification, Client, ClientAccessToken, ClientCompanyPreferences, ClientEmail, ClientGmailToken, ClientInitialQuestion, ClientJobPreferences, ClientLogin, ClientPersonalData, ClientQuestion, ClientResume, ClientStatus, ClientStatusEnum, ClientVirtualInterview, Companies, Education, EmailCategory, EmailLog, Experience, FirestoreTimestamp, JobCategory, JobTitle, LocationId, Project, UserPublic, Vacancy, VacancyCategory, VacancySuggestion, countries, firestorePaths, initialQuestions, jobClassifications, locations };
1175
+ export { Address, AdminReport, Agent, AgentStatus, Application, ApplicationQuestion, ApplicationQuestionType, ApplicationQuestionTypeOptions, ApplicationRun, ApplicationRunMetadata, ApplicationRunOutcome, ApplicationRunStatus, ApplicationRunTrigger, ApplicationStatus, AuthEmail, AuthUser, Certification, Client, ClientAccessToken, ClientCompanyPreferences, ClientEmail, ClientGmailToken, ClientInitialQuestion, ClientJobPreferences, ClientLogin, ClientPersonalData, ClientQuestion, ClientResume, ClientStatus, ClientStatusEnum, ClientVirtualInterview, Companies, Education, EmailCategory, EmailLog, Experience, FirestoreTimestamp, JobCategory, JobTitle, LocationId, Project, UserPublic, Vacancy, VacancyCategory, VacancySuggestion, countries, firestorePaths, initialQuestions, jobClassifications, locations };
package/dist/index.js CHANGED
@@ -21,6 +21,9 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
21
21
  var src_exports = {};
22
22
  __export(src_exports, {
23
23
  ApplicationQuestionTypeOptions: () => ApplicationQuestionTypeOptions,
24
+ ApplicationRunOutcome: () => ApplicationRunOutcome,
25
+ ApplicationRunStatus: () => ApplicationRunStatus,
26
+ ApplicationRunTrigger: () => ApplicationRunTrigger,
24
27
  ApplicationStatus: () => ApplicationStatus,
25
28
  ClientStatusEnum: () => ClientStatusEnum,
26
29
  VacancyCategory: () => VacancyCategory,
@@ -1284,6 +1287,30 @@ var ApplicationStatus = {
1284
1287
  // src/types/clients/ApplicationQuestion.ts
1285
1288
  var ApplicationQuestionTypeOptions = ["text", "select", "radio", "checkbox", "textarea", "file"];
1286
1289
 
1290
+ // src/types/clients/ApplicationRun.ts
1291
+ var ApplicationRunStatus = {
1292
+ InProgress: "in_progress",
1293
+ Completed: "completed",
1294
+ Failed: "failed",
1295
+ ManualTakeover: "manual_takeover"
1296
+ };
1297
+ var ApplicationRunOutcome = {
1298
+ Submitted: "submitted",
1299
+ Failed: "failed",
1300
+ CaptchaBlocked: "captcha_blocked",
1301
+ FormNotFound: "form_not_found",
1302
+ AuthenticationFailed: "authentication_failed",
1303
+ ManualInterventionRequired: "manual_intervention_required",
1304
+ Timeout: "timeout",
1305
+ NetworkError: "network_error"
1306
+ };
1307
+ var ApplicationRunTrigger = {
1308
+ Automation: "automation",
1309
+ Manual: "manual",
1310
+ RetryScheduled: "retry_scheduled",
1311
+ AdminIntervention: "admin_intervention"
1312
+ };
1313
+
1287
1314
  // src/paths/firestorePaths.ts
1288
1315
  var firestorePaths = {
1289
1316
  clients: {
@@ -1312,6 +1339,10 @@ var firestorePaths = {
1312
1339
  applications: {
1313
1340
  collection: (clientId) => `clients/${clientId}/applications`,
1314
1341
  doc: (clientId, applicationId) => `clients/${clientId}/applications/${applicationId}`,
1342
+ runs: {
1343
+ collection: (clientId, applicationId) => `clients/${clientId}/applications/${applicationId}/runs`,
1344
+ doc: (clientId, applicationId, runId) => `clients/${clientId}/applications/${applicationId}/runs/${runId}`
1345
+ },
1315
1346
  notes: {
1316
1347
  collection: (clientId, applicationId) => `clients/${clientId}/applications/${applicationId}/notes`,
1317
1348
  doc: (clientId, applicationId, noteId) => `clients/${clientId}/applications/${applicationId}/notes/${noteId}`
@@ -1362,6 +1393,9 @@ var firestorePaths = {
1362
1393
  // Annotate the CommonJS export names for ESM import in node:
1363
1394
  0 && (module.exports = {
1364
1395
  ApplicationQuestionTypeOptions,
1396
+ ApplicationRunOutcome,
1397
+ ApplicationRunStatus,
1398
+ ApplicationRunTrigger,
1365
1399
  ApplicationStatus,
1366
1400
  ClientStatusEnum,
1367
1401
  VacancyCategory,
package/dist/index.mjs CHANGED
@@ -1250,6 +1250,30 @@ var ApplicationStatus = {
1250
1250
  // src/types/clients/ApplicationQuestion.ts
1251
1251
  var ApplicationQuestionTypeOptions = ["text", "select", "radio", "checkbox", "textarea", "file"];
1252
1252
 
1253
+ // src/types/clients/ApplicationRun.ts
1254
+ var ApplicationRunStatus = {
1255
+ InProgress: "in_progress",
1256
+ Completed: "completed",
1257
+ Failed: "failed",
1258
+ ManualTakeover: "manual_takeover"
1259
+ };
1260
+ var ApplicationRunOutcome = {
1261
+ Submitted: "submitted",
1262
+ Failed: "failed",
1263
+ CaptchaBlocked: "captcha_blocked",
1264
+ FormNotFound: "form_not_found",
1265
+ AuthenticationFailed: "authentication_failed",
1266
+ ManualInterventionRequired: "manual_intervention_required",
1267
+ Timeout: "timeout",
1268
+ NetworkError: "network_error"
1269
+ };
1270
+ var ApplicationRunTrigger = {
1271
+ Automation: "automation",
1272
+ Manual: "manual",
1273
+ RetryScheduled: "retry_scheduled",
1274
+ AdminIntervention: "admin_intervention"
1275
+ };
1276
+
1253
1277
  // src/paths/firestorePaths.ts
1254
1278
  var firestorePaths = {
1255
1279
  clients: {
@@ -1278,6 +1302,10 @@ var firestorePaths = {
1278
1302
  applications: {
1279
1303
  collection: (clientId) => `clients/${clientId}/applications`,
1280
1304
  doc: (clientId, applicationId) => `clients/${clientId}/applications/${applicationId}`,
1305
+ runs: {
1306
+ collection: (clientId, applicationId) => `clients/${clientId}/applications/${applicationId}/runs`,
1307
+ doc: (clientId, applicationId, runId) => `clients/${clientId}/applications/${applicationId}/runs/${runId}`
1308
+ },
1281
1309
  notes: {
1282
1310
  collection: (clientId, applicationId) => `clients/${clientId}/applications/${applicationId}/notes`,
1283
1311
  doc: (clientId, applicationId, noteId) => `clients/${clientId}/applications/${applicationId}/notes/${noteId}`
@@ -1327,6 +1355,9 @@ var firestorePaths = {
1327
1355
  };
1328
1356
  export {
1329
1357
  ApplicationQuestionTypeOptions,
1358
+ ApplicationRunOutcome,
1359
+ ApplicationRunStatus,
1360
+ ApplicationRunTrigger,
1330
1361
  ApplicationStatus,
1331
1362
  ClientStatusEnum,
1332
1363
  VacancyCategory,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jobsearch-works/firestore-models",
3
- "version": "4.1.0",
3
+ "version": "4.2.0",
4
4
  "description": "A shared library for standardizing Firestore document schemas and paths across multiple projects",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",