@adaptware/eagles-db 0.5.60 → 0.5.62
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 +99 -6
- package/client/index-browser.js +92 -0
- package/client/index.d.ts +8736 -983
- package/client/index.js +99 -6
- package/client/package.json +1 -1
- package/client/schema.prisma +161 -19
- package/client/wasm.js +99 -6
- package/package.json +1 -1
- package/prisma/.DS_Store +0 -0
- package/prisma/schema/.DS_Store +0 -0
- package/prisma/schema/interview.prisma +13 -0
- package/prisma/schema/migrations/.DS_Store +0 -0
- package/prisma/schema/migrations/20260826160000_add_application_fit_check_report_document/.DS_Store +0 -0
- package/prisma/schema/migrations/20260918153000_add_is_proctored_fields/migration.sql +5 -0
- package/prisma/schema/proctoring.prisma +126 -0
- package/prisma/schema/user.prisma +3 -0
- package/client/libquery_engine-darwin.dylib.node +0 -0
- package/prisma/migrations/20260519120000_migrate_shortlisted_to_selected/migration.sql +0 -2
package/client/package.json
CHANGED
package/client/schema.prisma
CHANGED
|
@@ -2001,6 +2001,7 @@ model Interview {
|
|
|
2001
2001
|
recording_url String?
|
|
2002
2002
|
recording_document_id String? @unique
|
|
2003
2003
|
evaluation_type EvaluationType? @default(TREADSPACE_AI_ASSISTED)
|
|
2004
|
+
is_proctored Boolean @default(true) @map("is_proctored")
|
|
2004
2005
|
ai_assistance_mode AiAssistanceMode? @default(ASSISTED)
|
|
2005
2006
|
interview_status InterviewStatus @default(SCHEDULED)
|
|
2006
2007
|
interview_platform InterviewPlatform @default(TREADSPACE)
|
|
@@ -2031,36 +2032,47 @@ model Interview {
|
|
|
2031
2032
|
/// When final human feedback was submitted.
|
|
2032
2033
|
evaluated_at DateTime?
|
|
2033
2034
|
|
|
2035
|
+
/// Candidate Acceptance & DPDP Consent
|
|
2036
|
+
candidate_status String? @default("INVITED")
|
|
2037
|
+
dpdp_consent_given Boolean @default(false)
|
|
2038
|
+
dpdp_consent_given_at DateTime?
|
|
2039
|
+
candidate_responded_at DateTime?
|
|
2040
|
+
decline_reason String?
|
|
2041
|
+
|
|
2034
2042
|
/// Self-scheduling
|
|
2035
|
-
reschedule_count Int
|
|
2043
|
+
reschedule_count Int @default(0)
|
|
2036
2044
|
last_rescheduled_at DateTime?
|
|
2037
2045
|
first_assigned_at DateTime?
|
|
2038
2046
|
/// True while the candidate is waiting on recruiter action (typically a
|
|
2039
2047
|
/// reassign) after they submitted alternate slots via "None match" /
|
|
2040
2048
|
/// "Suggest times". Cleared whenever the recruiter routes a fresh
|
|
2041
2049
|
/// request via `upsertInterviewRequestRecord`.
|
|
2042
|
-
awaiting_recruiter_action Boolean
|
|
2050
|
+
awaiting_recruiter_action Boolean @default(false)
|
|
2043
2051
|
/// Audit fields
|
|
2044
|
-
created_at DateTime
|
|
2045
|
-
updated_at DateTime
|
|
2052
|
+
created_at DateTime @default(now())
|
|
2053
|
+
updated_at DateTime @updatedAt
|
|
2046
2054
|
created_by String
|
|
2047
2055
|
updated_by String
|
|
2048
|
-
is_active Boolean
|
|
2056
|
+
is_active Boolean @default(true)
|
|
2057
|
+
|
|
2058
|
+
//interview proctoring
|
|
2059
|
+
proctoringSession ProctoringSession?
|
|
2060
|
+
|
|
2049
2061
|
// Relations
|
|
2050
|
-
candidate
|
|
2051
|
-
interviewer
|
|
2052
|
-
organisation
|
|
2053
|
-
recording_document
|
|
2054
|
-
job_description
|
|
2055
|
-
resume
|
|
2056
|
-
evaluation_plan
|
|
2057
|
-
application
|
|
2058
|
-
ongoing_evaluation
|
|
2059
|
-
transcripts
|
|
2060
|
-
suggestions
|
|
2061
|
-
interviewNotes
|
|
2062
|
-
liveAnalysis
|
|
2063
|
-
zoom_meeting
|
|
2062
|
+
candidate User? @relation("CandidateInterviews", fields: [candidate_id], references: [id], onDelete: SetNull)
|
|
2063
|
+
interviewer User? @relation("InterviewerInterviews", fields: [interviewer_id], references: [id], onDelete: SetNull)
|
|
2064
|
+
organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
|
|
2065
|
+
recording_document Document? @relation(fields: [recording_document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
|
|
2066
|
+
job_description JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
|
|
2067
|
+
resume Resume @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
|
2068
|
+
evaluation_plan EvaluationPlan? @relation(fields: [evaluation_plan_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
|
|
2069
|
+
application Application? @relation(fields: [application_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
|
|
2070
|
+
ongoing_evaluation OngoingEvaluation?
|
|
2071
|
+
transcripts Transcript[]
|
|
2072
|
+
suggestions Suggestion[]
|
|
2073
|
+
interviewNotes InterviewNotes[]
|
|
2074
|
+
liveAnalysis LiveAnalysis[]
|
|
2075
|
+
zoom_meeting ZoomMeeting?
|
|
2064
2076
|
|
|
2065
2077
|
// Indexes
|
|
2066
2078
|
@@index([candidate_id])
|
|
@@ -3702,6 +3714,133 @@ model PipelineDistributionAnalyticsDaily {
|
|
|
3702
3714
|
@@schema("analytics")
|
|
3703
3715
|
}
|
|
3704
3716
|
|
|
3717
|
+
enum RiskLevel {
|
|
3718
|
+
LOW
|
|
3719
|
+
MEDIUM
|
|
3720
|
+
HIGH
|
|
3721
|
+
CRITICAL
|
|
3722
|
+
|
|
3723
|
+
@@schema("public")
|
|
3724
|
+
}
|
|
3725
|
+
|
|
3726
|
+
enum AnalysisStatus {
|
|
3727
|
+
QUEUED
|
|
3728
|
+
RUNNING
|
|
3729
|
+
COMPLETED
|
|
3730
|
+
FAILED
|
|
3731
|
+
|
|
3732
|
+
@@schema("public")
|
|
3733
|
+
}
|
|
3734
|
+
|
|
3735
|
+
enum ProctoringEventType {
|
|
3736
|
+
GAZE_DISRUPTION
|
|
3737
|
+
OBJECT_DETECTED
|
|
3738
|
+
FACE_MISSING
|
|
3739
|
+
MULTIPLE_FACES
|
|
3740
|
+
BROWSER_TAB_SWITCH
|
|
3741
|
+
BROWSER_BLUR
|
|
3742
|
+
FULLSCREEN_EXIT
|
|
3743
|
+
|
|
3744
|
+
@@schema("public")
|
|
3745
|
+
}
|
|
3746
|
+
|
|
3747
|
+
enum ProctoringSessionStatus {
|
|
3748
|
+
NOT_STARTED
|
|
3749
|
+
CALIBRATING
|
|
3750
|
+
CALIBRATED
|
|
3751
|
+
PROCESSING
|
|
3752
|
+
COMPLETED
|
|
3753
|
+
FAILED
|
|
3754
|
+
|
|
3755
|
+
@@schema("public")
|
|
3756
|
+
}
|
|
3757
|
+
|
|
3758
|
+
model ProctoringSession {
|
|
3759
|
+
id String @id @default(uuid()) @map("id")
|
|
3760
|
+
interviewId String @unique @map("interview_id")
|
|
3761
|
+
interview Interview @relation(fields: [interviewId], references: [id], onDelete: Cascade)
|
|
3762
|
+
|
|
3763
|
+
candidateId String @map("candidate_id")
|
|
3764
|
+
candidate User @relation(fields: [candidateId], references: [id], onDelete: Cascade)
|
|
3765
|
+
|
|
3766
|
+
// Proctoring Lifecycle & Media
|
|
3767
|
+
isProctored Boolean @default(true) @map("is_proctored")
|
|
3768
|
+
status ProctoringSessionStatus @default(NOT_STARTED) @map("status")
|
|
3769
|
+
calibrationFeatures Json? @map("calibration_features")
|
|
3770
|
+
fullVideoKey String? @map("full_video_key")
|
|
3771
|
+
fullVideoUrl String? @map("full_video_url")
|
|
3772
|
+
chunkCount Int @default(0) @map("chunk_count")
|
|
3773
|
+
completedChunks Int @default(0) @map("completed_chunks")
|
|
3774
|
+
|
|
3775
|
+
// High-Level Aggregated Metrics for Downstream AI Evaluation
|
|
3776
|
+
overallRisk RiskLevel @default(LOW) @map("overall_risk")
|
|
3777
|
+
integrityScore Float @default(100.0) @map("integrity_score")
|
|
3778
|
+
|
|
3779
|
+
totalDurationSec Float @default(0.0) @map("total_duration_sec")
|
|
3780
|
+
faceDetectedPct Float @default(100.0) @map("face_detected_pct")
|
|
3781
|
+
onScreenGazePct Float @default(100.0) @map("on_screen_gaze_pct")
|
|
3782
|
+
|
|
3783
|
+
// Event Counters
|
|
3784
|
+
totalGazeEvents Int @default(0) @map("total_gaze_events")
|
|
3785
|
+
totalObjectEvents Int @default(0) @map("total_object_events")
|
|
3786
|
+
totalFaceEvents Int @default(0) @map("total_face_events")
|
|
3787
|
+
totalBrowserEvents Int @default(0) @map("total_browser_events")
|
|
3788
|
+
|
|
3789
|
+
createdAt DateTime @default(now()) @map("created_at")
|
|
3790
|
+
updatedAt DateTime @updatedAt @map("updated_at")
|
|
3791
|
+
|
|
3792
|
+
analyses ProctoringAnalysis[]
|
|
3793
|
+
events ProctoringEvent[]
|
|
3794
|
+
|
|
3795
|
+
@@index([candidateId])
|
|
3796
|
+
@@map("proctoring_sessions")
|
|
3797
|
+
@@schema("public")
|
|
3798
|
+
}
|
|
3799
|
+
|
|
3800
|
+
model ProctoringAnalysis {
|
|
3801
|
+
id String @id @default(uuid()) @map("id")
|
|
3802
|
+
sessionId String @map("session_id")
|
|
3803
|
+
session ProctoringSession @relation(fields: [sessionId], references: [id], onDelete: Cascade)
|
|
3804
|
+
|
|
3805
|
+
status AnalysisStatus @default(QUEUED)
|
|
3806
|
+
|
|
3807
|
+
chunkIndex Int @default(0) @map("chunk_index")
|
|
3808
|
+
totalChunks Int @default(1) @map("total_chunks")
|
|
3809
|
+
startTimeSec Float @default(0.0) @map("start_time_sec")
|
|
3810
|
+
endTimeSec Float @default(0.0) @map("end_time_sec")
|
|
3811
|
+
|
|
3812
|
+
videoKey String? @map("video_key")
|
|
3813
|
+
annotatedKey String? @map("annotated_key")
|
|
3814
|
+
|
|
3815
|
+
error String?
|
|
3816
|
+
createdAt DateTime @default(now()) @map("created_at")
|
|
3817
|
+
updatedAt DateTime @updatedAt @map("updated_at")
|
|
3818
|
+
|
|
3819
|
+
@@index([sessionId, chunkIndex])
|
|
3820
|
+
@@map("proctoring_analyses")
|
|
3821
|
+
@@schema("public")
|
|
3822
|
+
}
|
|
3823
|
+
|
|
3824
|
+
model ProctoringEvent {
|
|
3825
|
+
id String @id @default(uuid()) @map("id")
|
|
3826
|
+
sessionId String @map("session_id")
|
|
3827
|
+
session ProctoringSession @relation(fields: [sessionId], references: [id], onDelete: Cascade)
|
|
3828
|
+
|
|
3829
|
+
eventType ProctoringEventType @map("event_type")
|
|
3830
|
+
timestampSec Float @map("timestamp_sec")
|
|
3831
|
+
timestampStr String @map("timestamp_str")
|
|
3832
|
+
|
|
3833
|
+
risk RiskLevel @default(LOW)
|
|
3834
|
+
metadata Json?
|
|
3835
|
+
|
|
3836
|
+
createdAt DateTime @default(now()) @map("created_at")
|
|
3837
|
+
|
|
3838
|
+
@@index([sessionId, timestampSec])
|
|
3839
|
+
@@index([sessionId, eventType])
|
|
3840
|
+
@@map("proctoring_events")
|
|
3841
|
+
@@schema("public")
|
|
3842
|
+
}
|
|
3843
|
+
|
|
3705
3844
|
enum AsyncOperationStatus {
|
|
3706
3845
|
PENDING
|
|
3707
3846
|
IN_PROGRESS
|
|
@@ -4484,6 +4623,9 @@ model User {
|
|
|
4484
4623
|
notes Notes[]
|
|
4485
4624
|
recruiter_applications Application[] @relation("ApplicationRecruiter")
|
|
4486
4625
|
|
|
4626
|
+
// user proctoring
|
|
4627
|
+
proctoringSessions ProctoringSession[]
|
|
4628
|
+
|
|
4487
4629
|
name String?
|
|
4488
4630
|
phone String?
|
|
4489
4631
|
/// Contact email for interviews, assessments, and resume export. Login stays on `email`.
|