@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.
- package/client/edge.js +13 -6
- package/client/index-browser.js +15 -8
- package/client/index.d.ts +996 -316
- package/client/index.js +13 -6
- package/client/package.json +1 -1
- package/client/schema.prisma +32 -20
- package/client/wasm.js +15 -8
- package/package.json +1 -1
- package/prisma/schema/evaluationPlan.prisma +2 -1
- package/prisma/schema/interview.prisma +6 -1
- package/prisma/schema/jobDescription.prisma +2 -0
- package/prisma/schema/ongoingEvaluation.prisma +5 -2
- package/prisma/schema/user.prisma +17 -16
package/client/package.json
CHANGED
package/client/schema.prisma
CHANGED
|
@@ -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
|
|
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
|
|
1449
|
-
phone
|
|
1450
|
-
description
|
|
1451
|
-
date_of_birth
|
|
1452
|
-
designation
|
|
1453
|
-
location
|
|
1454
|
-
salary
|
|
1455
|
-
work_experience
|
|
1456
|
-
education
|
|
1457
|
-
skills
|
|
1458
|
-
notice_period
|
|
1459
|
-
preferred_work_mode
|
|
1460
|
-
gender
|
|
1461
|
-
ethnicity
|
|
1462
|
-
veteran_status
|
|
1463
|
-
disability_status
|
|
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
|
@@ -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
|
|
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
|
|
72
|
-
phone
|
|
73
|
-
description
|
|
74
|
-
date_of_birth
|
|
75
|
-
designation
|
|
76
|
-
location
|
|
77
|
-
salary
|
|
78
|
-
work_experience
|
|
79
|
-
education
|
|
80
|
-
skills
|
|
81
|
-
notice_period
|
|
82
|
-
preferred_work_mode
|
|
83
|
-
gender
|
|
84
|
-
ethnicity
|
|
85
|
-
veteran_status
|
|
86
|
-
disability_status
|
|
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])
|