@adaptware/eagles-db 0.5.59 → 0.5.60

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-d95bffca2768aeaa99cefaa3b5a7fdb27fd38496985cf4b0c6117e4a7802dd3a",
2
+ "name": "prisma-client-79d99cb4ed4a6ef15173f90dcf5855a8a939594c0bbcbb172b3cd348b1bfc5ca",
3
3
  "main": "index.js",
4
4
  "types": "index.d.ts",
5
5
  "browser": "default.js",
@@ -1556,16 +1556,28 @@ enum FitCheckStatus {
1556
1556
  @@schema("public")
1557
1557
  }
1558
1558
 
1559
+ /// 5-level current evaluation. LEVEL_1 is weakest, LEVEL_5 is strongest.
1560
+ /// Display copy and numeric rank live in backend `CurrentEvaluationMapper`.
1561
+ enum CurrentEvaluation {
1562
+ LEVEL_1
1563
+ LEVEL_2
1564
+ LEVEL_3
1565
+ LEVEL_4
1566
+ LEVEL_5
1567
+
1568
+ @@schema("public")
1569
+ }
1570
+
1559
1571
  model FitCheck {
1560
1572
  /// Primary key (UUID)
1561
- id String @id @default(uuid())
1573
+ id String @id @default(uuid())
1562
1574
  /// FK to organisations table
1563
1575
  organisation_id String?
1564
1576
  candidate_id String?
1565
1577
  resume_id String
1566
1578
  job_description_id String
1567
1579
  /// Owning application (inverted from Application.fit_check_id)
1568
- application_id String? @unique
1580
+ application_id String? @unique
1569
1581
  skills_analysis Json?
1570
1582
  overall_analysis Json?
1571
1583
  overall_score Float
@@ -1573,22 +1585,25 @@ model FitCheck {
1573
1585
  overall_recommendation String?
1574
1586
  /// Why `overall_score` is this value. Distinct from `overall_recommendation`.
1575
1587
  score_reasoning String?
1588
+ /// 5-level current evaluation (`CurrentEvaluation`). Independent of overall_score.
1589
+ current_evaluation CurrentEvaluation?
1576
1590
  short_match_analysis Json[]
1577
1591
  fit_comparison Json?
1578
1592
  recommendation Json?
1579
1593
  competencies_analysis Json?
1594
+ competencies_verdict Json?
1580
1595
  /// Audit fields
1581
1596
  created_by String
1582
1597
  updated_by String
1583
- is_active Boolean @default(true)
1584
- created_at DateTime @default(now())
1585
- updated_at DateTime @updatedAt
1598
+ is_active Boolean @default(true)
1599
+ created_at DateTime @default(now())
1600
+ updated_at DateTime @updatedAt
1586
1601
  /// Relations
1587
- organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1588
- candidate User? @relation(fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1589
- resume Resume @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1590
- job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1591
- application Application? @relation(fields: [application_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1602
+ organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1603
+ candidate User? @relation(fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1604
+ resume Resume @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1605
+ job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1606
+ application Application? @relation(fields: [application_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1592
1607
 
1593
1608
  /// Ensure one FitCheck per (resume_id, job_description_id) pair
1594
1609
  @@unique([resume_id, job_description_id])
@@ -1986,7 +2001,6 @@ model Interview {
1986
2001
  recording_url String?
1987
2002
  recording_document_id String? @unique
1988
2003
  evaluation_type EvaluationType? @default(TREADSPACE_AI_ASSISTED)
1989
- is_proctored Boolean @default(true) @map("is_proctored")
1990
2004
  ai_assistance_mode AiAssistanceMode? @default(ASSISTED)
1991
2005
  interview_status InterviewStatus @default(SCHEDULED)
1992
2006
  interview_platform InterviewPlatform @default(TREADSPACE)
@@ -2018,39 +2032,35 @@ model Interview {
2018
2032
  evaluated_at DateTime?
2019
2033
 
2020
2034
  /// Self-scheduling
2021
- reschedule_count Int @default(0)
2035
+ reschedule_count Int @default(0)
2022
2036
  last_rescheduled_at DateTime?
2023
2037
  first_assigned_at DateTime?
2024
2038
  /// True while the candidate is waiting on recruiter action (typically a
2025
2039
  /// reassign) after they submitted alternate slots via "None match" /
2026
2040
  /// "Suggest times". Cleared whenever the recruiter routes a fresh
2027
2041
  /// request via `upsertInterviewRequestRecord`.
2028
- awaiting_recruiter_action Boolean @default(false)
2042
+ awaiting_recruiter_action Boolean @default(false)
2029
2043
  /// Audit fields
2030
- created_at DateTime @default(now())
2031
- updated_at DateTime @updatedAt
2044
+ created_at DateTime @default(now())
2045
+ updated_at DateTime @updatedAt
2032
2046
  created_by String
2033
2047
  updated_by String
2034
- is_active Boolean @default(true)
2035
-
2036
- //interview proctoring
2037
- proctoringSession ProctoringSession?
2038
-
2048
+ is_active Boolean @default(true)
2039
2049
  // Relations
2040
- candidate User? @relation("CandidateInterviews", fields: [candidate_id], references: [id], onDelete: SetNull)
2041
- interviewer User? @relation("InterviewerInterviews", fields: [interviewer_id], references: [id], onDelete: SetNull)
2042
- organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
2043
- recording_document Document? @relation(fields: [recording_document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
2044
- job_description JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
2045
- resume Resume @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
2046
- evaluation_plan EvaluationPlan? @relation(fields: [evaluation_plan_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
2047
- application Application? @relation(fields: [application_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
2048
- ongoing_evaluation OngoingEvaluation?
2049
- transcripts Transcript[]
2050
- suggestions Suggestion[]
2051
- interviewNotes InterviewNotes[]
2052
- liveAnalysis LiveAnalysis[]
2053
- zoom_meeting ZoomMeeting?
2050
+ candidate User? @relation("CandidateInterviews", fields: [candidate_id], references: [id], onDelete: SetNull)
2051
+ interviewer User? @relation("InterviewerInterviews", fields: [interviewer_id], references: [id], onDelete: SetNull)
2052
+ organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
2053
+ recording_document Document? @relation(fields: [recording_document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
2054
+ job_description JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
2055
+ resume Resume @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
2056
+ evaluation_plan EvaluationPlan? @relation(fields: [evaluation_plan_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
2057
+ application Application? @relation(fields: [application_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
2058
+ ongoing_evaluation OngoingEvaluation?
2059
+ transcripts Transcript[]
2060
+ suggestions Suggestion[]
2061
+ interviewNotes InterviewNotes[]
2062
+ liveAnalysis LiveAnalysis[]
2063
+ zoom_meeting ZoomMeeting?
2054
2064
 
2055
2065
  // Indexes
2056
2066
  @@index([candidate_id])
@@ -3692,133 +3702,6 @@ model PipelineDistributionAnalyticsDaily {
3692
3702
  @@schema("analytics")
3693
3703
  }
3694
3704
 
3695
- enum RiskLevel {
3696
- LOW
3697
- MEDIUM
3698
- HIGH
3699
- CRITICAL
3700
-
3701
- @@schema("public")
3702
- }
3703
-
3704
- enum AnalysisStatus {
3705
- QUEUED
3706
- RUNNING
3707
- COMPLETED
3708
- FAILED
3709
-
3710
- @@schema("public")
3711
- }
3712
-
3713
- enum ProctoringEventType {
3714
- GAZE_DISRUPTION
3715
- OBJECT_DETECTED
3716
- FACE_MISSING
3717
- MULTIPLE_FACES
3718
- BROWSER_TAB_SWITCH
3719
- BROWSER_BLUR
3720
- FULLSCREEN_EXIT
3721
-
3722
- @@schema("public")
3723
- }
3724
-
3725
- enum ProctoringSessionStatus {
3726
- NOT_STARTED
3727
- CALIBRATING
3728
- CALIBRATED
3729
- PROCESSING
3730
- COMPLETED
3731
- FAILED
3732
-
3733
- @@schema("public")
3734
- }
3735
-
3736
- model ProctoringSession {
3737
- id String @id @default(uuid()) @map("id")
3738
- interviewId String @unique @map("interview_id")
3739
- interview Interview @relation(fields: [interviewId], references: [id], onDelete: Cascade)
3740
-
3741
- candidateId String @map("candidate_id")
3742
- candidate User @relation(fields: [candidateId], references: [id], onDelete: Cascade)
3743
-
3744
- // Proctoring Lifecycle & Media
3745
- isProctored Boolean @default(true) @map("is_proctored")
3746
- status ProctoringSessionStatus @default(NOT_STARTED) @map("status")
3747
- calibrationFeatures Json? @map("calibration_features")
3748
- fullVideoKey String? @map("full_video_key")
3749
- fullVideoUrl String? @map("full_video_url")
3750
- chunkCount Int @default(0) @map("chunk_count")
3751
- completedChunks Int @default(0) @map("completed_chunks")
3752
-
3753
- // High-Level Aggregated Metrics for Downstream AI Evaluation
3754
- overallRisk RiskLevel @default(LOW) @map("overall_risk")
3755
- integrityScore Float @default(100.0) @map("integrity_score")
3756
-
3757
- totalDurationSec Float @default(0.0) @map("total_duration_sec")
3758
- faceDetectedPct Float @default(100.0) @map("face_detected_pct")
3759
- onScreenGazePct Float @default(100.0) @map("on_screen_gaze_pct")
3760
-
3761
- // Event Counters
3762
- totalGazeEvents Int @default(0) @map("total_gaze_events")
3763
- totalObjectEvents Int @default(0) @map("total_object_events")
3764
- totalFaceEvents Int @default(0) @map("total_face_events")
3765
- totalBrowserEvents Int @default(0) @map("total_browser_events")
3766
-
3767
- createdAt DateTime @default(now()) @map("created_at")
3768
- updatedAt DateTime @updatedAt @map("updated_at")
3769
-
3770
- analyses ProctoringAnalysis[]
3771
- events ProctoringEvent[]
3772
-
3773
- @@index([candidateId])
3774
- @@map("proctoring_sessions")
3775
- @@schema("public")
3776
- }
3777
-
3778
- model ProctoringAnalysis {
3779
- id String @id @default(uuid()) @map("id")
3780
- sessionId String @map("session_id")
3781
- session ProctoringSession @relation(fields: [sessionId], references: [id], onDelete: Cascade)
3782
-
3783
- status AnalysisStatus @default(QUEUED)
3784
-
3785
- chunkIndex Int @default(0) @map("chunk_index")
3786
- totalChunks Int @default(1) @map("total_chunks")
3787
- startTimeSec Float @default(0.0) @map("start_time_sec")
3788
- endTimeSec Float @default(0.0) @map("end_time_sec")
3789
-
3790
- videoKey String? @map("video_key")
3791
- annotatedKey String? @map("annotated_key")
3792
-
3793
- error String?
3794
- createdAt DateTime @default(now()) @map("created_at")
3795
- updatedAt DateTime @updatedAt @map("updated_at")
3796
-
3797
- @@index([sessionId, chunkIndex])
3798
- @@map("proctoring_analyses")
3799
- @@schema("public")
3800
- }
3801
-
3802
- model ProctoringEvent {
3803
- id String @id @default(uuid()) @map("id")
3804
- sessionId String @map("session_id")
3805
- session ProctoringSession @relation(fields: [sessionId], references: [id], onDelete: Cascade)
3806
-
3807
- eventType ProctoringEventType @map("event_type")
3808
- timestampSec Float @map("timestamp_sec")
3809
- timestampStr String @map("timestamp_str")
3810
-
3811
- risk RiskLevel @default(LOW)
3812
- metadata Json?
3813
-
3814
- createdAt DateTime @default(now()) @map("created_at")
3815
-
3816
- @@index([sessionId, timestampSec])
3817
- @@index([sessionId, eventType])
3818
- @@map("proctoring_events")
3819
- @@schema("public")
3820
- }
3821
-
3822
3705
  enum AsyncOperationStatus {
3823
3706
  PENDING
3824
3707
  IN_PROGRESS
@@ -4601,9 +4484,6 @@ model User {
4601
4484
  notes Notes[]
4602
4485
  recruiter_applications Application[] @relation("ApplicationRecruiter")
4603
4486
 
4604
- // user proctoring
4605
- proctoringSessions ProctoringSession[]
4606
-
4607
4487
  name String?
4608
4488
  phone String?
4609
4489
  /// Contact email for interviews, assessments, and resume export. Login stays on `email`.