@adaptware/eagles-db 0.5.63 → 0.5.64

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.
Files changed (67) hide show
  1. package/client/edge.js +76 -88
  2. package/client/index-browser.js +72 -84
  3. package/client/index.d.ts +5414 -7939
  4. package/client/index.js +76 -88
  5. package/client/package.json +1 -1
  6. package/client/schema.prisma +135 -160
  7. package/client/wasm.js +76 -88
  8. package/package.json +1 -1
  9. package/prisma/schema/integration.prisma +1 -0
  10. package/prisma/schema/interview.prisma +0 -13
  11. package/prisma/schema/migrations/20260522120000_ongoing_evaluation_record_kind/migration.sql +25 -0
  12. package/prisma/schema/migrations/20260523120000_replace_record_kind_with_is_committed/migration.sql +24 -0
  13. package/prisma/schema/migrations/20260528120000_drop_job_description_recommendation_config/migration.sql +2 -0
  14. package/prisma/schema/migrations/20260710120000_add_resume_rendered_export_fields/migration.sql +9 -0
  15. package/prisma/schema/migrations/20260714120000_add_job_description_display_html_document/migration.sql +8 -0
  16. package/prisma/schema/migrations/20260716120000_add_offer_letters/migration.sql +183 -0
  17. package/prisma/schema/migrations/20260716140000_offer_schema_refinements/migration.sql +13 -0
  18. package/prisma/schema/migrations/20260716160000_offer_schema_hardening/migration.sql +95 -0
  19. package/prisma/schema/migrations/20260716180000_offer_letter_template_config/migration.sql +2 -0
  20. package/prisma/schema/migrations/20260716190000_add_evaluation_focus_areas/migration.sql +6 -0
  21. package/prisma/schema/migrations/20260717120000_offer_workflow_approval/migration.sql +30 -0
  22. package/prisma/schema/migrations/20260720120000_offer_letter_template_is_draft/migration.sql +5 -0
  23. package/prisma/schema/migrations/20260720140000_offer_status_split/migration.sql +51 -0
  24. package/prisma/schema/migrations/20260720140001_offer_status_split_backfill/migration.sql +37 -0
  25. package/prisma/schema/migrations/20260722120000_offer_draft_edited_html/migration.sql +13 -0
  26. package/prisma/schema/migrations/20260723150000_offer_withdraw_actor_no_show_reason/migration.sql +10 -0
  27. package/prisma/schema/migrations/20260724120000_open_job_offer_accepted_declined_counts/migration.sql +7 -0
  28. package/prisma/schema/migrations/20260811120000_add_integration_provider_razorpay/migration.sql +6 -0
  29. package/prisma/schema/migrations/20260812120000_add_billing_transactions/migration.sql +49 -0
  30. package/prisma/schema/migrations/20260812130000_drop_billing_transaction_gst_snapshots/migration.sql +3 -0
  31. package/prisma/schema/migrations/20260812180000_billing_transaction_invoice_number/migration.sql +5 -0
  32. package/prisma/schema/migrations/20260813120000_payment_webhooks_gst_refunds/migration.sql +79 -0
  33. package/prisma/schema/migrations/20260813140000_platform_gst_profiles/migration.sql +49 -0
  34. package/prisma/schema/migrations/20260813150000_rename_gst_profiles/migration.sql +53 -0
  35. package/prisma/schema/migrations/20260813160000_remove_gst_billing/migration.sql +16 -0
  36. package/prisma/schema/migrations/20260813170000_billing_licensing_unrecoverable/migration.sql +2 -0
  37. package/prisma/schema/migrations/20260813180000_billing_transaction_payment_method/migration.sql +2 -0
  38. package/prisma/schema/migrations/20260814090000_billing_transaction_purchaser_email/migration.sql +2 -0
  39. package/prisma/schema/migrations/20260816100000_billing_product_organisations/migration.sql +35 -0
  40. package/prisma/schema/migrations/20260816120000_merge_billing_product_organisations/migration.sql +25 -0
  41. package/prisma/schema/migrations/20260817120000_billing_payment_mismatch/migration.sql +7 -0
  42. package/prisma/schema/migrations/20260819120000_billing_product_prices/migration.sql +62 -0
  43. package/prisma/schema/migrations/20260819140000_billing_exchange_rates/migration.sql +25 -0
  44. package/prisma/schema/migrations/20260820120000_billing_transaction_failure_category/migration.sql +31 -0
  45. package/prisma/schema/migrations/20260820130000_backfill_billing_transaction_failure_details/migration.sql +23 -0
  46. package/prisma/schema/migrations/20260820140000_drop_billing_product_price_overrides/migration.sql +2 -0
  47. package/prisma/schema/migrations/20260821120000_drop_billing_product_and_mock_licensing/migration.sql +38 -0
  48. package/prisma/schema/migrations/20260824120000_billing_transaction_purchase_display_name/migration.sql +2 -0
  49. package/prisma/schema/migrations/20260831120000_user_communication_email/migration.sql +6 -0
  50. package/prisma/schema/migrations/20260901143000_assessment_question_bank_state/migration.sql +15 -0
  51. package/prisma/schema/migrations/20260902120000_question_category_two_values/migration.sql +16 -0
  52. package/prisma/schema/migrations/20260902143000_question_bank_item_key/migration.sql +17 -0
  53. package/prisma/schema/migrations/20260903120000_split_round_type_assessment/migration.sql +9 -0
  54. package/prisma/schema/migrations/20260904110000_restore_round_type_assessment_enum/migration.sql +5 -0
  55. package/prisma/schema/migrations/20260904120000_revert_wrong_split_assessment_round_types/migration.sql +42 -0
  56. package/prisma/schema/migrations/20260909140000_profile_interview_session/migration.sql +99 -0
  57. package/prisma/schema/migrations/20260911120000_unify_profile_interview_into_interview/migration.sql +139 -0
  58. package/prisma/schema/organisation.prisma +2 -0
  59. package/prisma/schema/payment/billingTransaction.prisma +83 -0
  60. package/prisma/schema/payment/paymentWebhookEvent.prisma +28 -0
  61. package/prisma/schema/user.prisma +0 -3
  62. package/prisma/.DS_Store +0 -0
  63. package/prisma/schema/.DS_Store +0 -0
  64. package/prisma/schema/migrations/.DS_Store +0 -0
  65. package/prisma/schema/migrations/20260826160000_add_application_fit_check_report_document/.DS_Store +0 -0
  66. package/prisma/schema/migrations/20260918153000_add_is_proctored_fields/migration.sql +0 -5
  67. package/prisma/schema/proctoring.prisma +0 -125
@@ -1,5 +1,5 @@
1
1
  {
2
- "name": "prisma-client-0db0ff2e3bea67e6412e2123786c535e3fe2556ec89d6cc0b2857b2946437f96",
2
+ "name": "prisma-client-d74526f1a30c6d557bd44d4d7187069253b3e53a24475a87103f0b235fd0e520",
3
3
  "main": "index.js",
4
4
  "types": "index.d.ts",
5
5
  "browser": "default.js",
@@ -1843,6 +1843,7 @@ enum IntegrationProvider {
1843
1843
  MICROSOFT
1844
1844
  ZOOM
1845
1845
  CALENDLY
1846
+ RAZORPAY
1846
1847
 
1847
1848
  @@schema("public")
1848
1849
  }
@@ -2001,7 +2002,6 @@ model Interview {
2001
2002
  recording_url String?
2002
2003
  recording_document_id String? @unique
2003
2004
  evaluation_type EvaluationType? @default(TREADSPACE_AI_ASSISTED)
2004
- is_proctored Boolean @default(true) @map("is_proctored")
2005
2005
  ai_assistance_mode AiAssistanceMode? @default(ASSISTED)
2006
2006
  interview_status InterviewStatus @default(SCHEDULED)
2007
2007
  interview_platform InterviewPlatform @default(TREADSPACE)
@@ -2032,47 +2032,36 @@ model Interview {
2032
2032
  /// When final human feedback was submitted.
2033
2033
  evaluated_at DateTime?
2034
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
-
2042
2035
  /// Self-scheduling
2043
- reschedule_count Int @default(0)
2036
+ reschedule_count Int @default(0)
2044
2037
  last_rescheduled_at DateTime?
2045
2038
  first_assigned_at DateTime?
2046
2039
  /// True while the candidate is waiting on recruiter action (typically a
2047
2040
  /// reassign) after they submitted alternate slots via "None match" /
2048
2041
  /// "Suggest times". Cleared whenever the recruiter routes a fresh
2049
2042
  /// request via `upsertInterviewRequestRecord`.
2050
- awaiting_recruiter_action Boolean @default(false)
2043
+ awaiting_recruiter_action Boolean @default(false)
2051
2044
  /// Audit fields
2052
- created_at DateTime @default(now())
2053
- updated_at DateTime @updatedAt
2045
+ created_at DateTime @default(now())
2046
+ updated_at DateTime @updatedAt
2054
2047
  created_by String
2055
2048
  updated_by String
2056
- is_active Boolean @default(true)
2057
-
2058
- //interview proctoring
2059
- proctoringSession ProctoringSession?
2060
-
2049
+ is_active Boolean @default(true)
2061
2050
  // Relations
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?
2051
+ candidate User? @relation("CandidateInterviews", fields: [candidate_id], references: [id], onDelete: SetNull)
2052
+ interviewer User? @relation("InterviewerInterviews", fields: [interviewer_id], references: [id], onDelete: SetNull)
2053
+ organisation Organisation? @relation(fields: [organisation_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
2054
+ recording_document Document? @relation(fields: [recording_document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
2055
+ job_description JobDescription? @relation(fields: [job_description_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
2056
+ resume Resume @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
2057
+ evaluation_plan EvaluationPlan? @relation(fields: [evaluation_plan_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
2058
+ application Application? @relation(fields: [application_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
2059
+ ongoing_evaluation OngoingEvaluation?
2060
+ transcripts Transcript[]
2061
+ suggestions Suggestion[]
2062
+ interviewNotes InterviewNotes[]
2063
+ liveAnalysis LiveAnalysis[]
2064
+ zoom_meeting ZoomMeeting?
2076
2065
 
2077
2066
  // Indexes
2078
2067
  @@index([candidate_id])
@@ -3609,6 +3598,8 @@ model Organisation {
3609
3598
  licensing_ledger_entries LicensingLedgerEntry[]
3610
3599
  license_package_organisations LicensePackageOrganisation[]
3611
3600
  ai_cost_ledger_entries AiCostLedgerEntry[]
3601
+ billing_transactions BillingTransaction[]
3602
+ payment_webhook_events PaymentWebhookEvent[]
3612
3603
 
3613
3604
  @@index([name])
3614
3605
  @@schema("public")
@@ -3628,6 +3619,119 @@ model OrganisationConfig {
3628
3619
  @@schema("public")
3629
3620
  }
3630
3621
 
3622
+ // PAYMENT SERVICE boundary — portable payment microservice owns these enums/columns.
3623
+
3624
+ enum BillingTransactionStatus {
3625
+ INITIATED
3626
+ ORDER_CREATED
3627
+ PAYMENT_PENDING
3628
+ SUCCESS
3629
+ FAILED
3630
+ CANCELLED
3631
+ REFUND_PENDING
3632
+ REFUND_FAILED
3633
+ REFUNDED
3634
+
3635
+ @@schema("public")
3636
+ }
3637
+
3638
+ enum BillingTransactionType {
3639
+ PURCHASE
3640
+ TOP_UP
3641
+ REFUND
3642
+
3643
+ @@schema("public")
3644
+ }
3645
+
3646
+ enum BillingTransactionFailureCategory {
3647
+ RAZORPAY_ORDER
3648
+ RAZORPAY_PAYMENT
3649
+ REFUND
3650
+ INTERNAL
3651
+
3652
+ @@schema("public")
3653
+ }
3654
+
3655
+ /// Payment reconciliation state when Treadspace status is FAILED but Razorpay captured payment.
3656
+ enum BillingPaymentMismatchStatus {
3657
+ DETECTED
3658
+ UNFULFILLED
3659
+
3660
+ @@schema("public")
3661
+ }
3662
+
3663
+ /// Financial transaction lifecycle for organisation billing purchases.
3664
+ model BillingTransaction {
3665
+ id String @id @default(uuid())
3666
+ organisation_id String
3667
+ /// Opaque plan/product identity supplied at checkout. Not a catalog FK.
3668
+ purchase_reference String
3669
+ /// Human-readable snapshot captured at checkout for invoices and receipts.
3670
+ purchase_display_name String?
3671
+ transaction_type BillingTransactionType
3672
+ status BillingTransactionStatus @default(INITIATED)
3673
+ failure_category BillingTransactionFailureCategory?
3674
+ /// Human-readable or provider detail (e.g. Razorpay error_description).
3675
+ failure_reason String?
3676
+ amount Int
3677
+ currency String @default("INR")
3678
+ razorpay_order_id String?
3679
+ razorpay_payment_id String? @unique
3680
+ /// Razorpay payment method at capture (card, netbanking, upi, wallet, etc.).
3681
+ payment_method String?
3682
+ razorpay_subscription_id String?
3683
+ razorpay_refund_id String?
3684
+ refund_reason String?
3685
+ refund_amount Int?
3686
+ idempotency_key String @unique
3687
+ invoice_number String? @unique
3688
+ /// Email of the org Admin who initiated checkout (bill-to).
3689
+ purchaser_email String?
3690
+ /// Set when FAILED but Razorpay order/payment is captured (reconciliation path).
3691
+ payment_mismatch_status BillingPaymentMismatchStatus?
3692
+ /// Strict same-intent SUCCESS transaction that fulfilled the purchase (UNFULFILLED only).
3693
+ payment_mismatch_fulfilled_by_id String?
3694
+ created_at DateTime @default(now())
3695
+ updated_at DateTime @updatedAt
3696
+
3697
+ organisation Organisation @relation(fields: [organisation_id], references: [id])
3698
+
3699
+ @@index([organisation_id, status])
3700
+ @@index([purchase_reference])
3701
+ @@index([razorpay_order_id])
3702
+ @@map("billing_transactions")
3703
+ @@schema("public")
3704
+ }
3705
+
3706
+ enum PaymentWebhookEventStatus {
3707
+ RECEIVED
3708
+ PROCESSED
3709
+ FAILED
3710
+
3711
+ @@schema("public")
3712
+ }
3713
+
3714
+ /// Idempotent record of payment provider webhook deliveries.
3715
+ model PaymentWebhookEvent {
3716
+ id String @id @default(uuid())
3717
+ organisation_id String?
3718
+ provider String
3719
+ provider_event_id String
3720
+ event_type String
3721
+ status PaymentWebhookEventStatus @default(RECEIVED)
3722
+ billing_transaction_id String?
3723
+ error_message String?
3724
+ processed_at DateTime?
3725
+ created_at DateTime @default(now())
3726
+
3727
+ organisation Organisation? @relation(fields: [organisation_id], references: [id])
3728
+
3729
+ @@unique([provider, provider_event_id])
3730
+ @@index([status, created_at])
3731
+ @@map("payment_webhook_events")
3732
+ @@schema("public")
3733
+ }
3734
+
3631
3735
  model Permission {
3632
3736
  id String @id @default(uuid())
3633
3737
  permissions String[] @default([])
@@ -3714,132 +3818,6 @@ model PipelineDistributionAnalyticsDaily {
3714
3818
  @@schema("analytics")
3715
3819
  }
3716
3820
 
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
- status ProctoringSessionStatus @default(NOT_STARTED) @map("status")
3768
- calibrationFeatures Json? @map("calibration_features")
3769
- fullVideoKey String? @map("full_video_key")
3770
- fullVideoUrl String? @map("full_video_url")
3771
- chunkCount Int @default(0) @map("chunk_count")
3772
- completedChunks Int @default(0) @map("completed_chunks")
3773
-
3774
- // High-Level Aggregated Metrics for Downstream AI Evaluation
3775
- overallRisk RiskLevel @default(LOW) @map("overall_risk")
3776
- integrityScore Float @default(100.0) @map("integrity_score")
3777
-
3778
- totalDurationSec Float @default(0.0) @map("total_duration_sec")
3779
- faceDetectedPct Float @default(100.0) @map("face_detected_pct")
3780
- onScreenGazePct Float @default(100.0) @map("on_screen_gaze_pct")
3781
-
3782
- // Event Counters
3783
- totalGazeEvents Int @default(0) @map("total_gaze_events")
3784
- totalObjectEvents Int @default(0) @map("total_object_events")
3785
- totalFaceEvents Int @default(0) @map("total_face_events")
3786
- totalBrowserEvents Int @default(0) @map("total_browser_events")
3787
-
3788
- createdAt DateTime @default(now()) @map("created_at")
3789
- updatedAt DateTime @updatedAt @map("updated_at")
3790
-
3791
- analyses ProctoringAnalysis[]
3792
- events ProctoringEvent[]
3793
-
3794
- @@index([candidateId])
3795
- @@map("proctoring_sessions")
3796
- @@schema("public")
3797
- }
3798
-
3799
- model ProctoringAnalysis {
3800
- id String @id @default(uuid()) @map("id")
3801
- sessionId String @map("session_id")
3802
- session ProctoringSession @relation(fields: [sessionId], references: [id], onDelete: Cascade)
3803
-
3804
- status AnalysisStatus @default(QUEUED)
3805
-
3806
- chunkIndex Int @default(0) @map("chunk_index")
3807
- totalChunks Int @default(1) @map("total_chunks")
3808
- startTimeSec Float @default(0.0) @map("start_time_sec")
3809
- endTimeSec Float @default(0.0) @map("end_time_sec")
3810
-
3811
- videoKey String? @map("video_key")
3812
- annotatedKey String? @map("annotated_key")
3813
-
3814
- error String?
3815
- createdAt DateTime @default(now()) @map("created_at")
3816
- updatedAt DateTime @updatedAt @map("updated_at")
3817
-
3818
- @@index([sessionId, chunkIndex])
3819
- @@map("proctoring_analyses")
3820
- @@schema("public")
3821
- }
3822
-
3823
- model ProctoringEvent {
3824
- id String @id @default(uuid()) @map("id")
3825
- sessionId String @map("session_id")
3826
- session ProctoringSession @relation(fields: [sessionId], references: [id], onDelete: Cascade)
3827
-
3828
- eventType ProctoringEventType @map("event_type")
3829
- timestampSec Float @map("timestamp_sec")
3830
- timestampStr String @map("timestamp_str")
3831
-
3832
- risk RiskLevel @default(LOW)
3833
- metadata Json?
3834
-
3835
- createdAt DateTime @default(now()) @map("created_at")
3836
-
3837
- @@index([sessionId, timestampSec])
3838
- @@index([sessionId, eventType])
3839
- @@map("proctoring_events")
3840
- @@schema("public")
3841
- }
3842
-
3843
3821
  enum AsyncOperationStatus {
3844
3822
  PENDING
3845
3823
  IN_PROGRESS
@@ -4622,9 +4600,6 @@ model User {
4622
4600
  notes Notes[]
4623
4601
  recruiter_applications Application[] @relation("ApplicationRecruiter")
4624
4602
 
4625
- // user proctoring
4626
- proctoringSessions ProctoringSession[]
4627
-
4628
4603
  name String?
4629
4604
  phone String?
4630
4605
  /// Contact email for interviews, assessments, and resume export. Login stays on `email`.