@adaptware/eagles-db 0.5.8 → 0.5.9

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 (49) hide show
  1. package/client/edge.js +74 -41
  2. package/client/index-browser.js +78 -44
  3. package/client/index.d.ts +14441 -7888
  4. package/client/index.js +74 -41
  5. package/client/libquery_engine-darwin.dylib.node +0 -0
  6. package/client/package.json +1 -1
  7. package/client/schema.prisma +138 -92
  8. package/client/wasm.js +74 -41
  9. package/package.json +1 -1
  10. package/prisma/.DS_Store +0 -0
  11. package/prisma/migrations/20260519120000_migrate_shortlisted_to_selected/migration.sql +2 -0
  12. package/prisma/schema/.DS_Store +0 -0
  13. package/prisma/schema/applications.prisma +0 -2
  14. package/prisma/schema/assessmentRoundAnalytics.prisma +0 -2
  15. package/prisma/schema/assignmentRoundAnalytics.prisma +0 -2
  16. package/prisma/schema/evaluationPlan.prisma +0 -32
  17. package/prisma/schema/interview.prisma +32 -44
  18. package/prisma/schema/interviewRoundAnalytics.prisma +35 -37
  19. package/prisma/schema/migrations/20260519120000_add_analytics_schema/migration.sql +84 -0
  20. package/prisma/schema/migrations/20260625120000_add_interviewer_analytics/migration.sql +26 -0
  21. package/prisma/schema/migrations/20260629120000_add_user_lifecycle_activity_events/migration.sql +13 -0
  22. package/prisma/schema/migrations/20260629140000_drop_organisation_org_code/migration.sql +2 -0
  23. package/prisma/schema/migrations/20260629160000_employee_codes_dual_interviewer_analytics/migration.sql +87 -0
  24. package/prisma/schema/migrations/20260630120000_add_application_sources/migration.sql +38 -0
  25. package/prisma/schema/migrations/20260701120000_add_source_effectiveness_analytics/migration.sql +40 -0
  26. package/prisma/schema/migrations/20260702120000_add_analytics_daily_tables/migration.sql +232 -0
  27. package/prisma/schema/migrations/20260716120000_evaluation_category_four_values/migration.sql +204 -0
  28. package/prisma/schema/migrations/20260716130000_application_withdrawn_analytics/migration.sql +31 -0
  29. package/prisma/schema/ongoingEvaluation.prisma +0 -1
  30. package/prisma/schema/organisation.prisma +2 -0
  31. package/prisma/schema/schema.prisma +1 -1
  32. package/prisma/schema/usage.prisma +96 -0
  33. package/prisma/schema/migrations/20260522120000_ongoing_evaluation_record_kind/migration.sql +0 -25
  34. package/prisma/schema/migrations/20260523120000_replace_record_kind_with_is_committed/migration.sql +0 -24
  35. package/prisma/schema/migrations/20260528120000_drop_job_description_recommendation_config/migration.sql +0 -2
  36. package/prisma/schema/migrations/20260710120000_add_resume_rendered_export_fields/migration.sql +0 -9
  37. package/prisma/schema/migrations/20260714120000_add_job_description_display_html_document/migration.sql +0 -8
  38. package/prisma/schema/migrations/20260716120000_add_offer_letters/migration.sql +0 -183
  39. package/prisma/schema/migrations/20260716140000_offer_schema_refinements/migration.sql +0 -13
  40. package/prisma/schema/migrations/20260716160000_offer_schema_hardening/migration.sql +0 -95
  41. package/prisma/schema/migrations/20260716180000_offer_letter_template_config/migration.sql +0 -2
  42. package/prisma/schema/migrations/20260716190000_add_evaluation_focus_areas/migration.sql +0 -6
  43. package/prisma/schema/migrations/20260717120000_offer_workflow_approval/migration.sql +0 -30
  44. package/prisma/schema/migrations/20260720120000_offer_letter_template_is_draft/migration.sql +0 -5
  45. package/prisma/schema/migrations/20260720140000_offer_status_split/migration.sql +0 -51
  46. package/prisma/schema/migrations/20260720140001_offer_status_split_backfill/migration.sql +0 -37
  47. package/prisma/schema/migrations/20260722120000_offer_draft_edited_html/migration.sql +0 -13
  48. package/prisma/schema/migrations/20260723150000_offer_withdraw_actor_no_show_reason/migration.sql +0 -10
  49. package/prisma/schema/migrations/20260724120000_open_job_offer_accepted_declined_counts/migration.sql +0 -7
@@ -1,5 +1,5 @@
1
1
  {
2
- "name": "prisma-client-84bad89375e03b9e927500c784431cf1eafe3633af8084d7fd8f179b5fe68a36",
2
+ "name": "prisma-client-8c4fb249603c75bf81e2b2e2e46340b6c3df9587d7fef88ff579f35984c2fb13",
3
3
  "main": "index.js",
4
4
  "types": "index.d.ts",
5
5
  "browser": "default.js",
@@ -413,8 +413,6 @@ model Application {
413
413
  status ApplicationStatus @default(PENDING)
414
414
  /// Mirror of Offer.status for list filters and combined status chips
415
415
  offer_status OfferStatus?
416
- /// Mirror of Offer.substatus for in-flight detail while offer is OPEN
417
- offer_substatus OfferSubstatus?
418
416
  evaluation_plan EvaluationPlan? @relation(fields: [evaluation_plan_id], references: [id])
419
417
  candidate User @relation(fields: [candidate_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
420
418
  organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
@@ -578,10 +576,9 @@ model AssessmentRoundAnalytics {
578
576
  round_name String?
579
577
  evaluation_category EvaluationCategory?
580
578
  round_type RoundType?
581
- round_format EvaluationRoundFormat?
582
579
  plan_order_no Int?
583
580
  plan_type EvaluationPlanType?
584
- is_custom Boolean @default(false)
581
+ is_custom Boolean @default(false)
585
582
 
586
583
  reviewer_id String?
587
584
  reviewer_employee_id String?
@@ -635,10 +632,9 @@ model AssessmentRoundAnalyticsDaily {
635
632
  round_name String?
636
633
  evaluation_category EvaluationCategory?
637
634
  round_type RoundType?
638
- round_format EvaluationRoundFormat?
639
635
  plan_order_no Int?
640
636
  plan_type EvaluationPlanType?
641
- is_custom Boolean @default(false)
637
+ is_custom Boolean @default(false)
642
638
 
643
639
  reviewer_id String?
644
640
  reviewer_employee_id String?
@@ -763,10 +759,9 @@ model AssignmentRoundAnalytics {
763
759
  round_name String?
764
760
  evaluation_category EvaluationCategory?
765
761
  round_type RoundType?
766
- round_format EvaluationRoundFormat?
767
762
  plan_order_no Int?
768
763
  plan_type EvaluationPlanType?
769
- is_custom Boolean @default(false)
764
+ is_custom Boolean @default(false)
770
765
 
771
766
  reviewer_id String?
772
767
  reviewer_employee_id String?
@@ -820,10 +815,9 @@ model AssignmentRoundAnalyticsDaily {
820
815
  round_name String?
821
816
  evaluation_category EvaluationCategory?
822
817
  round_type RoundType?
823
- round_format EvaluationRoundFormat?
824
818
  plan_order_no Int?
825
819
  plan_type EvaluationPlanType?
826
- is_custom Boolean @default(false)
820
+ is_custom Boolean @default(false)
827
821
 
828
822
  reviewer_id String?
829
823
  reviewer_employee_id String?
@@ -1380,37 +1374,6 @@ enum EvaluationCategory {
1380
1374
  @@schema("public")
1381
1375
  }
1382
1376
 
1383
- enum EvaluationRoundFormat {
1384
- // ────────────────
1385
- // Screening formats
1386
- // ────────────────
1387
- PHONE_CALL
1388
- VIDEO_CALL_AI_ASSISTED
1389
- VIDEO_CALL_UNASSISTED
1390
-
1391
- // ────────────────
1392
- // Assessment formats
1393
- // ────────────────
1394
- AI_GENERATED_TEST
1395
- UPLOADED_TEST
1396
- EXTERNAL_PLATFORM
1397
-
1398
- // ────────────────
1399
- // Assignment formats
1400
- // ────────────────
1401
- AI_GENERATED_ASSIGNMENT
1402
- UPLOADED_ASSIGNMENT
1403
-
1404
- // ────────────────
1405
- // Interview formats
1406
- // ────────────────
1407
- TREADSPACE_AI_ASSISTED
1408
- EXTERNAL_VIDEO_AI_ASSISTED
1409
- EXTERNAL_VIDEO_UNASSISTED
1410
-
1411
- @@schema("public")
1412
- }
1413
-
1414
1377
  enum EvaluationType {
1415
1378
  // New (In active use now)
1416
1379
  TREADSPACE_AI_ASSISTED
@@ -1452,7 +1415,6 @@ model EvaluationPlan {
1452
1415
  assignment_library_id String?
1453
1416
  title String
1454
1417
  description String?
1455
- format EvaluationRoundFormat?
1456
1418
  focus_areas String[]
1457
1419
  topics String[]
1458
1420
  assignee String?
@@ -1919,15 +1881,6 @@ enum InterviewStatus {
1919
1881
  @@schema("public")
1920
1882
  }
1921
1883
 
1922
- enum InterviewFeedback {
1923
- STRONG_HIRE
1924
- HIRE
1925
- NO_HIRE
1926
- STRONG_NO_HIRE
1927
-
1928
- @@schema("public")
1929
- }
1930
-
1931
1884
  enum InterviewPlatform {
1932
1885
  TREADSPACE
1933
1886
  ZOOM
@@ -1943,7 +1896,7 @@ enum AiAssistanceMode {
1943
1896
  }
1944
1897
 
1945
1898
  model Interview {
1946
- id String @id @default(uuid())
1899
+ id String @id @default(uuid())
1947
1900
  /// Foreign keys
1948
1901
  organisation_id String
1949
1902
  candidate_id String
@@ -1955,6 +1908,7 @@ model Interview {
1955
1908
  calendar_event_id String?
1956
1909
  /// Data
1957
1910
  room_name String?
1911
+ /// @deprecated Prefer `ai_feedback.feedback` (narrative string on AI feedback JSON).
1958
1912
  interview_summary String[]
1959
1913
  scheduled_start_time DateTime?
1960
1914
  scheduled_end_time DateTime?
@@ -1964,20 +1918,17 @@ model Interview {
1964
1918
  duration Int?
1965
1919
  /// @deprecated Prefer `recording_document_id` + `Document` (type INTERVIEW_RECORDING).
1966
1920
  recording_url String?
1967
- recording_document_id String? @unique
1968
- evaluation_type EvaluationType? @default(TREADSPACE_AI_ASSISTED)
1969
- ai_assistance_mode AiAssistanceMode? @default(ASSISTED)
1970
- interview_status InterviewStatus @default(SCHEDULED)
1971
- interview_platform InterviewPlatform @default(TREADSPACE)
1972
- /// Old Feedback fields will be deprecated soon
1973
- ai_interview_feedback InterviewFeedback?
1974
- interview_feedback InterviewFeedback?
1921
+ recording_document_id String? @unique
1922
+ evaluation_type EvaluationType? @default(TREADSPACE_AI_ASSISTED)
1923
+ ai_assistance_mode AiAssistanceMode? @default(ASSISTED)
1924
+ interview_status InterviewStatus @default(SCHEDULED)
1925
+ interview_platform InterviewPlatform @default(TREADSPACE)
1975
1926
  overall_feedback String?
1976
- interview_rating Float? // Overall rating out of 100 based on evaluation
1977
- /// New Feedback fields
1927
+ /// Feedback JSON fields
1928
+ /// AI overall payload: `{ score, rating, feedback? }` where `feedback` is the
1929
+ /// narrative summary string (replaces deprecated `interview_summary`).
1978
1930
  ai_feedback Json?
1979
1931
  human_feedback Json?
1980
- interviewer_feedback Json?
1981
1932
  section_feedback Json[]
1982
1933
  interview_preparation Json?
1983
1934
  final_feedback Json?
@@ -1991,37 +1942,36 @@ model Interview {
1991
1942
  evaluated_at DateTime?
1992
1943
 
1993
1944
  /// Self-scheduling
1994
- reschedule_count Int @default(0)
1945
+ reschedule_count Int @default(0)
1995
1946
  last_rescheduled_at DateTime?
1996
1947
  first_assigned_at DateTime?
1997
1948
  /// True while the candidate is waiting on recruiter action (typically a
1998
1949
  /// reassign) after they submitted alternate slots via "None match" /
1999
1950
  /// "Suggest times". Cleared whenever the recruiter routes a fresh
2000
1951
  /// request via `upsertInterviewRequestRecord`.
2001
- awaiting_recruiter_action Boolean @default(false)
2002
-
1952
+ awaiting_recruiter_action Boolean @default(false)
2003
1953
  /// Audit fields
2004
- created_at DateTime @default(now())
2005
- updated_at DateTime @updatedAt
2006
- created_by String
2007
- updated_by String
2008
- is_active Boolean @default(true)
1954
+ created_at DateTime @default(now())
1955
+ updated_at DateTime @updatedAt
1956
+ created_by String
1957
+ updated_by String
1958
+ is_active Boolean @default(true)
2009
1959
  // Relations
2010
- candidate User? @relation("CandidateInterviews", fields: [candidate_id], references: [id], onDelete: SetNull)
2011
- interviewer User? @relation("InterviewerInterviews", fields: [interviewer_id], references: [id], onDelete: SetNull)
2012
- organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
2013
- recording_document Document? @relation(fields: [recording_document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
2014
- job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
2015
- resume Resume @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
2016
- evaluation_plan EvaluationPlan? @relation(fields: [evaluation_plan_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
2017
- application Application? @relation(fields: [application_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
2018
- ongoing_evaluation OngoingEvaluation?
2019
- transcripts Transcript[]
2020
- suggestions Suggestion[]
2021
- feedback Feedback[]
2022
- interviewNotes InterviewNotes[]
2023
- liveAnalysis LiveAnalysis[]
2024
- zoom_meeting ZoomMeeting?
1960
+ candidate User? @relation("CandidateInterviews", fields: [candidate_id], references: [id], onDelete: SetNull)
1961
+ interviewer User? @relation("InterviewerInterviews", fields: [interviewer_id], references: [id], onDelete: SetNull)
1962
+ organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1963
+ recording_document Document? @relation(fields: [recording_document_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
1964
+ job_description JobDescription @relation(fields: [job_description_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1965
+ resume Resume @relation(fields: [resume_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
1966
+ evaluation_plan EvaluationPlan? @relation(fields: [evaluation_plan_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
1967
+ application Application? @relation(fields: [application_id], references: [id], onDelete: SetNull, onUpdate: Cascade)
1968
+ ongoing_evaluation OngoingEvaluation?
1969
+ transcripts Transcript[]
1970
+ suggestions Suggestion[]
1971
+ feedback Feedback[]
1972
+ interviewNotes InterviewNotes[]
1973
+ liveAnalysis LiveAnalysis[]
1974
+ zoom_meeting ZoomMeeting?
2025
1975
 
2026
1976
  // Indexes
2027
1977
  @@unique([interviewer_id, candidate_id, evaluation_plan_id])
@@ -2079,10 +2029,9 @@ model InterviewRoundAnalytics {
2079
2029
  round_name String?
2080
2030
  evaluation_category EvaluationCategory?
2081
2031
  round_type RoundType?
2082
- round_format EvaluationRoundFormat?
2083
2032
  plan_order_no Int?
2084
2033
  plan_type EvaluationPlanType?
2085
- is_custom Boolean @default(false)
2034
+ is_custom Boolean @default(false)
2086
2035
 
2087
2036
  interviewer_id String?
2088
2037
  interviewer_employee_id String?
@@ -2147,10 +2096,9 @@ model InterviewRoundAnalyticsDaily {
2147
2096
  round_name String?
2148
2097
  evaluation_category EvaluationCategory?
2149
2098
  round_type RoundType?
2150
- round_format EvaluationRoundFormat?
2151
2099
  plan_order_no Int?
2152
2100
  plan_type EvaluationPlanType?
2153
- is_custom Boolean @default(false)
2101
+ is_custom Boolean @default(false)
2154
2102
 
2155
2103
  interviewer_id String?
2156
2104
  interviewer_employee_id String?
@@ -3097,7 +3045,6 @@ model OngoingEvaluation {
3097
3045
  title String?
3098
3046
  description String?
3099
3047
  order_no Int?
3100
- format EvaluationRoundFormat?
3101
3048
  round_purpose String?
3102
3049
  focus_areas String[]
3103
3050
  topics String[]
@@ -3278,6 +3225,8 @@ model Organisation {
3278
3225
  timezone String @default("Asia/Kolkata")
3279
3226
  organisation_configs OrganisationConfig[]
3280
3227
  activity_events ActivityEvent[]
3228
+ usage_ledger_entries UsageLedgerEntry[]
3229
+ usage_aggregates UsageAggregate[]
3281
3230
 
3282
3231
  channel_provider_configs ChannelProviderConfig[]
3283
3232
  conversations Conversation[]
@@ -3748,7 +3697,7 @@ datasource db {
3748
3697
  provider = "postgresql"
3749
3698
  url = env("DATABASE_URL")
3750
3699
 
3751
- schemas = ["public", "analytics"]
3700
+ schemas = ["public", "analytics", "usage"]
3752
3701
  }
3753
3702
 
3754
3703
  enum SourceCategory {
@@ -3919,6 +3868,103 @@ model Transcript {
3919
3868
  @@schema("public")
3920
3869
  }
3921
3870
 
3871
+ enum UsageUnit {
3872
+ COUNT
3873
+ BYTES
3874
+ SECONDS
3875
+ TOKENS
3876
+ COST
3877
+
3878
+ @@schema("usage")
3879
+ }
3880
+
3881
+ enum UsageAggregationType {
3882
+ SUM
3883
+ GAUGE
3884
+
3885
+ @@schema("usage")
3886
+ }
3887
+
3888
+ enum UsageSourceType {
3889
+ activity_event
3890
+ usage_publisher
3891
+ reconcile
3892
+
3893
+ @@schema("usage")
3894
+ }
3895
+
3896
+ model UsageMetricDefinition {
3897
+ id String @id @default(uuid())
3898
+ key String @unique
3899
+ name String
3900
+ unit UsageUnit
3901
+ aggregation_type UsageAggregationType
3902
+ metadata Json?
3903
+ created_at DateTime @default(now())
3904
+ updated_at DateTime @updatedAt
3905
+
3906
+ ledger_entries UsageLedgerEntry[]
3907
+ aggregates UsageAggregate[]
3908
+
3909
+ @@map("usage_metric_definitions")
3910
+ @@schema("usage")
3911
+ }
3912
+
3913
+ model UsageLedgerEntry {
3914
+ id String @id @default(uuid())
3915
+ organisation_id String
3916
+ metric_key String
3917
+ quantity Decimal @db.Decimal(20, 4)
3918
+ occurred_at DateTime
3919
+ dimensions Json
3920
+ idempotency_key String @unique
3921
+ source_type UsageSourceType
3922
+ source_id String?
3923
+ resource_type String?
3924
+ resource_id String?
3925
+ created_at DateTime @default(now())
3926
+
3927
+ organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
3928
+ metric UsageMetricDefinition @relation(fields: [metric_key], references: [key], onDelete: Restrict, onUpdate: Cascade)
3929
+
3930
+ @@index([organisation_id, metric_key, occurred_at])
3931
+ @@index([organisation_id, occurred_at])
3932
+ @@map("usage_ledger")
3933
+ @@schema("usage")
3934
+ }
3935
+
3936
+ model UsageAggregate {
3937
+ id String @id @default(uuid())
3938
+ organisation_id String
3939
+ metric_key String
3940
+ dimension_hash String
3941
+ dimensions Json
3942
+ total_quantity Decimal
3943
+ period_start DateTime?
3944
+ period_end DateTime?
3945
+ updated_at DateTime @updatedAt
3946
+
3947
+ organisation Organisation @relation(fields: [organisation_id], references: [id], onDelete: Cascade, onUpdate: Cascade)
3948
+ metric UsageMetricDefinition @relation(fields: [metric_key], references: [key], onDelete: Restrict, onUpdate: Cascade)
3949
+
3950
+ @@unique([organisation_id, metric_key, dimension_hash, period_start])
3951
+ @@index([organisation_id, metric_key])
3952
+ @@map("usage_aggregates")
3953
+ @@schema("usage")
3954
+ }
3955
+
3956
+ /// Orion workflow names bundled in license — excluded from ai.cost metering.
3957
+ /// Future license plans will reference subsets of this catalogue.
3958
+ model LicenseIncludedWorkflow {
3959
+ id String @id @default(uuid())
3960
+ workflow_name String @unique
3961
+ created_at DateTime @default(now())
3962
+ updated_at DateTime @updatedAt
3963
+
3964
+ @@map("license_included_workflows")
3965
+ @@schema("usage")
3966
+ }
3967
+
3922
3968
  enum FirstLoginStatus {
3923
3969
  PENDING
3924
3970
  COMPLETED