Bin
2025-12-17 05a69820e0c402b0b33c063d3b922f0a0571cbbb
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
type DateTime = string;
 
export interface APIAnnotation {
  id: number;
  created_username?: string;
  created_ago: string;
  completed_by?: string;
 
  ground_truth?: string;
  result?: APIResult[];
 
  was_cancelled?: boolean; // skipped
 
  created_at: DateTime;
  updated_at?: DateTime;
  draft_created_at?: DateTime;
 
  /** How much time it took to annotate the task */
  lead_time?: number | null;
 
  task?: number | null;
}
 
export interface APIPrediction {
  id: number;
  model_version: string;
 
  created_ago: string;
 
  result?: APIResult;
  score?: number | null;
  cluster?: number | null;
  neighbors?: Array<number>;
  mislabeling?: number;
 
  created_at: DateTime;
  updated_at?: DateTime;
  task: number;
}
 
export interface APIResult {
  id: string;
  from_name: string;
  to_name: string;
  type: string; // @todo enum
  value: Record<string, any>;
}
 
export interface APITask {
  id: number;
  data: Record<string, any>;
  meta?: any | null;
 
  created_at?: DateTime;
  updated_at?: DateTime;
 
  is_labeled?: boolean;
  overlap?: number;
 
  project?: number | null;
 
  file_upload?: number | null;
  annotations?: APIAnnotation[];
  predictions?: APIPrediction[];
}
 
export interface LSFTaskData {
  id: number;
  data: any;
  createdAt?: DateTime;
  annotations: LSFAnnotationData[];
  predictions: LSFAnnotationData[];
}
 
export interface LSFTask extends LSFTaskData {
  annotations: LSFAnnotation[];
  predictions: LSFAnnotation[];
}
 
export interface LSFAnnotationData {
  id?: string;
 
  pk: string; // @todo oh, it's complicated
 
  createdDate: DateTime;
  createdAgo: string;
  createdBy?: string;
 
  leadTime?: number;
 
  skipped?: boolean;
}
 
export interface LSFAnnotation extends LSFAnnotationData {
  // @todo also complicated
  userGenerate?: boolean;
  sentUserGenerate?: boolean;
 
  // editable: boolean;
 
  serializeAnnotation(): APIResult[];
}