@adaptware/eagles-db 0.3.5 → 0.4.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.
@@ -1,5 +1,5 @@
1
1
  {
2
- "name": "prisma-client-8706d82a6baade30f69880f90ae3e947549a65179f390f95758570a8d20b792b",
2
+ "name": "prisma-client-94553ce9e384021d95cc00ceea7272654b17cfb4ed4079ec81e1f600517860b2",
3
3
  "main": "index.js",
4
4
  "types": "index.d.ts",
5
5
  "browser": "index-browser.js",
@@ -488,6 +488,7 @@ enum EvaluationRoundFormat {
488
488
  enum EvaluationType {
489
489
  // New (In active use now)
490
490
  TREADSPACE_AI_ASSISTED
491
+ TREADSPACE_FULL_AI
491
492
  EXTERNAL_AI_ASSISTED
492
493
  NON_AI_ASSISTED
493
494
  }
@@ -515,7 +516,7 @@ model EvaluationPlan {
515
516
  topics String[]
516
517
  assignee String?
517
518
  elimination_round Boolean @default(false)
518
- evaluation_type EvaluationType
519
+ evaluation_type EvaluationType @default(TREADSPACE_AI_ASSISTED)
519
520
  type_of_round RoundType
520
521
  timeline Int?
521
522
  order_no Int?
@@ -781,7 +782,11 @@ model Interview {
781
782
  scheduled_end_time DateTime?
782
783
  actual_start_time DateTime?
783
784
  actual_end_time DateTime?
785
+ /// Interview length in minutes (source of truth; not derived from schedule window).
786
+ duration Int?
784
787
  recording_url String?
788
+ evaluation_type EvaluationType? @default(TREADSPACE_AI_ASSISTED)
789
+ ai_assistance_mode AiAssistanceMode? @default(ASSISTED)
785
790
  interview_status InterviewStatus @default(SCHEDULED)
786
791
  interview_platform InterviewPlatform @default(TREADSPACE)
787
792
  /// Old Feedback fields will be deprecated soon
@@ -797,6 +802,7 @@ model Interview {
797
802
  interview_preparation Json?
798
803
  final_feedback Json?
799
804
  interview_analysis_ranges Json?
805
+ interview_flow_summary String?
800
806
 
801
807
  /// Self-scheduling
802
808
  reschedule_count Int @default(0)
@@ -829,8 +835,8 @@ model Interview {
829
835
  interviewNotes InterviewNotes[]
830
836
  liveAnalysis LiveAnalysis[]
831
837
  zoom_meeting ZoomMeeting?
832
- ai_assistance_mode AiAssistanceMode @default(ASSISTED)
833
838
 
839
+ // Indexes
834
840
  @@unique([interviewer_id, candidate_id, evaluation_plan_id])
835
841
  @@index([candidate_id])
836
842
  @@index([interviewer_id])
@@ -876,6 +882,8 @@ model JobDescription {
876
882
  summary Json?
877
883
  ai_insight Json?
878
884
  job_fit_comparison Json?
885
+ /// Per-job thresholds for AI round recommendation (interview vs work-sample routing).
886
+ recommendation_config Json?
879
887
  // Audit fields
880
888
  created_at DateTime @default(now())
881
889
  updated_at DateTime @updatedAt
@@ -1060,7 +1068,9 @@ model OngoingEvaluation {
1060
1068
  candidate_id String
1061
1069
  resume_id String
1062
1070
  job_description_id String
1063
- evaluation_plan_id String
1071
+ evaluation_plan_id String?
1072
+ /// null = legacy row; false = pre-Proceed draft; true = committed pipeline round
1073
+ is_committed Boolean?
1064
1074
  interview_id String? @unique
1065
1075
  assignment_id String? @unique
1066
1076
  assessment_id String? @unique
@@ -1096,13 +1106,14 @@ model OngoingEvaluation {
1096
1106
  candidate User? @relation(fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1097
1107
  resume Resume? @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1098
1108
  organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1099
- evaluation_plan EvaluationPlan @relation(fields: [evaluation_plan_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1109
+ evaluation_plan EvaluationPlan? @relation(fields: [evaluation_plan_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1100
1110
  interview Interview? @relation(fields: [interview_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
1101
1111
  assignment Assignment?
1102
1112
  assessment Assessment? @relation(fields: [assessment_id], references: [id], onDelete: SetNull)
1103
1113
 
1104
1114
  @@unique([application_id, evaluation_plan_id])
1105
1115
  @@index([application_id])
1116
+ @@index([application_id, is_committed])
1106
1117
  @@index([evaluation_plan_id])
1107
1118
  }
1108
1119
 
@@ -1445,22 +1456,23 @@ model User {
1445
1456
  zoom_meeting_participants ZoomMeetingParticipant[]
1446
1457
  notes Notes[]
1447
1458
 
1448
- name String?
1449
- phone String?
1450
- description String?
1451
- date_of_birth DateTime?
1452
- designation String?
1453
- location String?
1454
- salary String?
1455
- work_experience Json?
1456
- education Json?
1457
- skills Json?
1458
- notice_period String?
1459
- preferred_work_mode String?
1460
- gender String?
1461
- ethnicity String?
1462
- veteran_status String?
1463
- disability_status String?
1459
+ name String?
1460
+ phone String?
1461
+ description String?
1462
+ date_of_birth DateTime?
1463
+ designation String?
1464
+ location String?
1465
+ salary String?
1466
+ work_experience Json?
1467
+ education Json?
1468
+ skills Json?
1469
+ notice_period String?
1470
+ preferred_work_mode String?
1471
+ gender String?
1472
+ ethnicity String?
1473
+ veteran_status String?
1474
+ disability_status String?
1475
+ professional_expertise String?
1464
1476
 
1465
1477
  @@index([role_id])
1466
1478
  @@index([permission_id])
package/client/wasm.js CHANGED
@@ -530,7 +530,10 @@ exports.Prisma.InterviewScalarFieldEnum = {
530
530
  scheduled_end_time: 'scheduled_end_time',
531
531
  actual_start_time: 'actual_start_time',
532
532
  actual_end_time: 'actual_end_time',
533
+ duration: 'duration',
533
534
  recording_url: 'recording_url',
535
+ evaluation_type: 'evaluation_type',
536
+ ai_assistance_mode: 'ai_assistance_mode',
534
537
  interview_status: 'interview_status',
535
538
  interview_platform: 'interview_platform',
536
539
  ai_interview_feedback: 'ai_interview_feedback',
@@ -544,6 +547,7 @@ exports.Prisma.InterviewScalarFieldEnum = {
544
547
  interview_preparation: 'interview_preparation',
545
548
  final_feedback: 'final_feedback',
546
549
  interview_analysis_ranges: 'interview_analysis_ranges',
550
+ interview_flow_summary: 'interview_flow_summary',
547
551
  reschedule_count: 'reschedule_count',
548
552
  last_rescheduled_at: 'last_rescheduled_at',
549
553
  first_assigned_at: 'first_assigned_at',
@@ -552,8 +556,7 @@ exports.Prisma.InterviewScalarFieldEnum = {
552
556
  updated_at: 'updated_at',
553
557
  created_by: 'created_by',
554
558
  updated_by: 'updated_by',
555
- is_active: 'is_active',
556
- ai_assistance_mode: 'ai_assistance_mode'
559
+ is_active: 'is_active'
557
560
  };
558
561
 
559
562
  exports.Prisma.InterviewNotesScalarFieldEnum = {
@@ -582,6 +585,7 @@ exports.Prisma.JobDescriptionScalarFieldEnum = {
582
585
  summary: 'summary',
583
586
  ai_insight: 'ai_insight',
584
587
  job_fit_comparison: 'job_fit_comparison',
588
+ recommendation_config: 'recommendation_config',
585
589
  created_at: 'created_at',
586
590
  updated_at: 'updated_at',
587
591
  created_by: 'created_by',
@@ -675,6 +679,7 @@ exports.Prisma.OngoingEvaluationScalarFieldEnum = {
675
679
  resume_id: 'resume_id',
676
680
  job_description_id: 'job_description_id',
677
681
  evaluation_plan_id: 'evaluation_plan_id',
682
+ is_committed: 'is_committed',
678
683
  interview_id: 'interview_id',
679
684
  assignment_id: 'assignment_id',
680
685
  assessment_id: 'assessment_id',
@@ -889,7 +894,8 @@ exports.Prisma.UserScalarFieldEnum = {
889
894
  gender: 'gender',
890
895
  ethnicity: 'ethnicity',
891
896
  veteran_status: 'veteran_status',
892
- disability_status: 'disability_status'
897
+ disability_status: 'disability_status',
898
+ professional_expertise: 'professional_expertise'
893
899
  };
894
900
 
895
901
  exports.Prisma.UserProfileScalarFieldEnum = {
@@ -1049,6 +1055,7 @@ exports.EvaluationRoundFormat = exports.$Enums.EvaluationRoundFormat = {
1049
1055
 
1050
1056
  exports.EvaluationType = exports.$Enums.EvaluationType = {
1051
1057
  TREADSPACE_AI_ASSISTED: 'TREADSPACE_AI_ASSISTED',
1058
+ TREADSPACE_FULL_AI: 'TREADSPACE_FULL_AI',
1052
1059
  EXTERNAL_AI_ASSISTED: 'EXTERNAL_AI_ASSISTED',
1053
1060
  NON_AI_ASSISTED: 'NON_AI_ASSISTED'
1054
1061
  };
@@ -1107,6 +1114,11 @@ exports.SyncStatus = exports.$Enums.SyncStatus = {
1107
1114
  FAILED: 'FAILED'
1108
1115
  };
1109
1116
 
1117
+ exports.AiAssistanceMode = exports.$Enums.AiAssistanceMode = {
1118
+ NONE: 'NONE',
1119
+ ASSISTED: 'ASSISTED'
1120
+ };
1121
+
1110
1122
  exports.InterviewStatus = exports.$Enums.InterviewStatus = {
1111
1123
  INTERVIEW_REQUESTED: 'INTERVIEW_REQUESTED',
1112
1124
  SCHEDULED: 'SCHEDULED',
@@ -1129,11 +1141,6 @@ exports.InterviewFeedback = exports.$Enums.InterviewFeedback = {
1129
1141
  STRONG_NO_HIRE: 'STRONG_NO_HIRE'
1130
1142
  };
1131
1143
 
1132
- exports.AiAssistanceMode = exports.$Enums.AiAssistanceMode = {
1133
- NONE: 'NONE',
1134
- ASSISTED: 'ASSISTED'
1135
- };
1136
-
1137
1144
  exports.JobDescriptionStatus = exports.$Enums.JobDescriptionStatus = {
1138
1145
  CREATED: 'CREATED',
1139
1146
  DRAFT: 'DRAFT',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adaptware/eagles-db",
3
- "version": "0.3.5",
3
+ "version": "0.4.0",
4
4
  "description": "A Prisma client package for Treadspace database operations",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -37,6 +37,7 @@ enum EvaluationRoundFormat {
37
37
  enum EvaluationType {
38
38
  // New (In active use now)
39
39
  TREADSPACE_AI_ASSISTED
40
+ TREADSPACE_FULL_AI
40
41
  EXTERNAL_AI_ASSISTED
41
42
  NON_AI_ASSISTED
42
43
  }
@@ -64,7 +65,7 @@ model EvaluationPlan {
64
65
  topics String[]
65
66
  assignee String?
66
67
  elimination_round Boolean @default(false)
67
- evaluation_type EvaluationType
68
+ evaluation_type EvaluationType @default(TREADSPACE_AI_ASSISTED)
68
69
  type_of_round RoundType
69
70
  timeline Int?
70
71
  order_no Int?
@@ -43,7 +43,11 @@ model Interview {
43
43
  scheduled_end_time DateTime?
44
44
  actual_start_time DateTime?
45
45
  actual_end_time DateTime?
46
+ /// Interview length in minutes (source of truth; not derived from schedule window).
47
+ duration Int?
46
48
  recording_url String?
49
+ evaluation_type EvaluationType? @default(TREADSPACE_AI_ASSISTED)
50
+ ai_assistance_mode AiAssistanceMode? @default(ASSISTED)
47
51
  interview_status InterviewStatus @default(SCHEDULED)
48
52
  interview_platform InterviewPlatform @default(TREADSPACE)
49
53
  /// Old Feedback fields will be deprecated soon
@@ -59,6 +63,7 @@ model Interview {
59
63
  interview_preparation Json?
60
64
  final_feedback Json?
61
65
  interview_analysis_ranges Json?
66
+ interview_flow_summary String?
62
67
 
63
68
  /// Self-scheduling
64
69
  reschedule_count Int @default(0)
@@ -91,8 +96,8 @@ model Interview {
91
96
  interviewNotes InterviewNotes[]
92
97
  liveAnalysis LiveAnalysis[]
93
98
  zoom_meeting ZoomMeeting?
94
- ai_assistance_mode AiAssistanceMode @default(ASSISTED)
95
99
 
100
+ // Indexes
96
101
  @@unique([interviewer_id, candidate_id, evaluation_plan_id])
97
102
  @@index([candidate_id])
98
103
  @@index([interviewer_id])
@@ -19,6 +19,8 @@ model JobDescription {
19
19
  summary Json?
20
20
  ai_insight Json?
21
21
  job_fit_comparison Json?
22
+ /// Per-job thresholds for AI round recommendation (interview vs work-sample routing).
23
+ recommendation_config Json?
22
24
  // Audit fields
23
25
  created_at DateTime @default(now())
24
26
  updated_at DateTime @updatedAt
@@ -24,7 +24,9 @@ model OngoingEvaluation {
24
24
  candidate_id String
25
25
  resume_id String
26
26
  job_description_id String
27
- evaluation_plan_id String
27
+ evaluation_plan_id String?
28
+ /// null = legacy row; false = pre-Proceed draft; true = committed pipeline round
29
+ is_committed Boolean?
28
30
  interview_id String? @unique
29
31
  assignment_id String? @unique
30
32
  assessment_id String? @unique
@@ -60,12 +62,13 @@ model OngoingEvaluation {
60
62
  candidate User? @relation(fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
61
63
  resume Resume? @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
62
64
  organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
63
- evaluation_plan EvaluationPlan @relation(fields: [evaluation_plan_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
65
+ evaluation_plan EvaluationPlan? @relation(fields: [evaluation_plan_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
64
66
  interview Interview? @relation(fields: [interview_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
65
67
  assignment Assignment?
66
68
  assessment Assessment? @relation(fields: [assessment_id], references: [id], onDelete: SetNull)
67
69
 
68
70
  @@unique([application_id, evaluation_plan_id])
69
71
  @@index([application_id])
72
+ @@index([application_id, is_committed])
70
73
  @@index([evaluation_plan_id])
71
74
  }
@@ -68,22 +68,23 @@ model User {
68
68
  zoom_meeting_participants ZoomMeetingParticipant[]
69
69
  notes Notes[]
70
70
 
71
- name String?
72
- phone String?
73
- description String?
74
- date_of_birth DateTime?
75
- designation String?
76
- location String?
77
- salary String?
78
- work_experience Json?
79
- education Json?
80
- skills Json?
81
- notice_period String?
82
- preferred_work_mode String?
83
- gender String?
84
- ethnicity String?
85
- veteran_status String?
86
- disability_status String?
71
+ name String?
72
+ phone String?
73
+ description String?
74
+ date_of_birth DateTime?
75
+ designation String?
76
+ location String?
77
+ salary String?
78
+ work_experience Json?
79
+ education Json?
80
+ skills Json?
81
+ notice_period String?
82
+ preferred_work_mode String?
83
+ gender String?
84
+ ethnicity String?
85
+ veteran_status String?
86
+ disability_status String?
87
+ professional_expertise String?
87
88
 
88
89
  @@index([role_id])
89
90
  @@index([permission_id])