File size: 1,438 Bytes
f86ef5b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
export type HealthStatus = 'loading' | 'ok' | 'error'

export interface ApiInfo {
  base: string
  mode: 'proxy' | 'direct' | 'local'
  env: string
}

export type SqlCell = string | number | boolean | null
export type SqlRow = SqlCell[]

export interface HealthResponse {
  status: string
  [key: string]: unknown
}

export interface TaskInfo {
  id: string
  name: string
  difficulty: string
}

export interface TaskObservation {
  task_id: string
  name: string
  difficulty: string
  schema_sql: string
  broken_query: string
  broken_query_error: string | null
  broken_query_executes: boolean
  hint: string
  expected_row_count: number
  expected_column_count: number
  step_count: number
  max_steps: number
  remaining_steps: number
  submitted_query?: string
  error?: string | null
  executed?: boolean
  matches_expected?: boolean
  result_row_count?: number
  result_preview?: SqlRow[] | null
  expected_preview?: SqlRow[] | null
}

export interface StepResponse {
  observation: TaskObservation
  reward: number
  done: boolean
  info: {
    solved: boolean
    [key: string]: unknown
  }
}

export interface GraderResponse {
  task_id: string
  score: number
}

export interface BaselineResponse {
  scores: Record<string, number>
  max_steps: number
}

export interface TaskCatalogEntry {
  id: string
  story: string
  whyItFails: string
  schemaStatements: string[]
  canonicalQuery: string
  validationSignal: string
}