File size: 3,631 Bytes
2fcae3f
 
fe99ffa
32864b0
fe99ffa
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32864b0
fe99ffa
 
 
 
 
32864b0
 
da8db3e
fe99ffa
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
import "server-only"

import type { BackendManifestStatus } from "@/lib/backend-artifacts"
import { normalizeEvalSummary } from "@/lib/eval-processing"

const BACKEND_VERSION = process.env.DATA_BACKEND?.trim().toLowerCase() ?? "duckdb"

function useViewLayerBackend() {
  return BACKEND_VERSION === "v2" || BACKEND_VERSION === "stage-j"
}

async function legacyBackend() {
  return import("@/lib/duckdb-data")
}

async function viewBackend() {
  return import("@/lib/view-data")
}

async function sidecars() {
  return import("@/lib/sidecars")
}

async function hfData() {
  return import("@/lib/hf-data")
}

export async function getModelCards() {
  if (useViewLayerBackend()) {
    return (await viewBackend()).getModelCards()
  }

  return (await legacyBackend()).getModelCardsFromDuckDB()
}

export async function getModelCardsLite() {
  if (useViewLayerBackend()) {
    return (await viewBackend()).getModelCardsLite()
  }

  return (await legacyBackend()).getModelCardsLiteFromDuckDB()
}

export async function getEvalListData() {
  if (useViewLayerBackend()) {
    return (await viewBackend()).getEvalListData()
  }

  return (await legacyBackend()).getEvalListDataFromDuckDB()
}

export async function getEvalListLiteData() {
  if (useViewLayerBackend()) {
    return (await viewBackend()).getEvalListLiteData()
  }

  return (await legacyBackend()).getEvalListLiteDataFromDuckDB()
}

export async function getEvalList() {
  if (useViewLayerBackend()) {
    return (await viewBackend()).getEvalList()
  }

  return (await legacyBackend()).getEvalListFromDuckDB()
}

export async function getDashboardData() {
  if (useViewLayerBackend()) {
    return (await viewBackend()).getDashboardData()
  }

  return (await legacyBackend()).getDashboardDataFromDuckDB()
}

export async function getDeveloperList() {
  if (useViewLayerBackend()) {
    return (await viewBackend()).getDeveloperList()
  }

  return (await legacyBackend()).getDeveloperListFromDuckDB()
}

export async function getDeveloperSummaryById(routeId: string) {
  if (useViewLayerBackend()) {
    return (await viewBackend()).getDeveloperSummaryById(routeId)
  }

  return (await legacyBackend()).getDeveloperSummaryByIdFromDuckDB(routeId)
}

export async function getModelSummaryById(modelId: string) {
  if (useViewLayerBackend()) {
    return (await viewBackend()).getModelSummaryById(modelId)
  }

  return (await legacyBackend()).getModelSummaryByIdFromDuckDB(modelId)
}

export async function getEvalSummaryById(evalId: string) {
  if (useViewLayerBackend()) {
    return (await viewBackend()).getEvalSummaryById(evalId)
  }

  const summary = await (await legacyBackend()).getEvalSummaryByIdFromDuckDB(evalId)
  return summary ? normalizeEvalSummary(summary) : summary
}

export async function getBackendManifestData() {
  if (useViewLayerBackend()) {
    return (await sidecars()).fetchManifest()
  }

  return (await hfData()).fetchBackendManifest()
}

export async function getBackendManifestStatusData(): Promise<BackendManifestStatus> {
  if (useViewLayerBackend()) {
    const manifest = await (await sidecars()).fetchManifest()
    return {
      currentManifest: manifest,
      latestManifest: manifest,
      currentManifestSignature: manifest.generated_at,
      latestManifestSignature: manifest.generated_at,
      updateAvailable: false,
      refreshing: false,
      pendingRefreshCount: 0,
    }
  }

  return (await hfData()).fetchBackendManifestStatus()
}

export async function getEvalHierarchyData() {
  if (useViewLayerBackend()) {
    return (await sidecars()).fetchHierarchy()
  }

  return (await hfData()).fetchEvalHierarchy()
}