@nice2dev/ui-tools 1.0.10
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.
- package/README.md +36 -0
- package/dist/access-control.d.ts +726 -0
- package/dist/access-control.d.ts.map +1 -0
- package/dist/accessibility-i18n.d.ts +1017 -0
- package/dist/accessibility-i18n.d.ts.map +1 -0
- package/dist/ai-assistant.d.ts +263 -0
- package/dist/ai-assistant.d.ts.map +1 -0
- package/dist/ai-playgrounds.d.ts +842 -0
- package/dist/ai-playgrounds.d.ts.map +1 -0
- package/dist/alerting-incidents.d.ts +558 -0
- package/dist/alerting-incidents.d.ts.map +1 -0
- package/dist/api-designer.d.ts +1568 -0
- package/dist/api-designer.d.ts.map +1 -0
- package/dist/api-testing.d.ts +1146 -0
- package/dist/api-testing.d.ts.map +1 -0
- package/dist/apm-profiling.d.ts +656 -0
- package/dist/apm-profiling.d.ts.map +1 -0
- package/dist/artifacts.d.ts +421 -0
- package/dist/artifacts.d.ts.map +1 -0
- package/dist/audit-compliance.d.ts +752 -0
- package/dist/audit-compliance.d.ts.map +1 -0
- package/dist/certificates.d.ts +256 -0
- package/dist/certificates.d.ts.map +1 -0
- package/dist/chart-builder.d.ts +1404 -0
- package/dist/chart-builder.d.ts.map +1 -0
- package/dist/cloud-instances.d.ts +169 -0
- package/dist/cloud-instances.d.ts.map +1 -0
- package/dist/config-management.d.ts +350 -0
- package/dist/config-management.d.ts.map +1 -0
- package/dist/containers.d.ts +256 -0
- package/dist/containers.d.ts.map +1 -0
- package/dist/dashboard-designer.d.ts +1238 -0
- package/dist/dashboard-designer.d.ts.map +1 -0
- package/dist/data-management.d.ts +496 -0
- package/dist/data-management.d.ts.map +1 -0
- package/dist/data-pipeline.d.ts +1105 -0
- package/dist/data-pipeline.d.ts.map +1 -0
- package/dist/data-warehouse.d.ts +1097 -0
- package/dist/data-warehouse.d.ts.map +1 -0
- package/dist/dataset-management.d.ts +782 -0
- package/dist/dataset-management.d.ts.map +1 -0
- package/dist/db-adapters.d.ts +704 -0
- package/dist/db-adapters.d.ts.map +1 -0
- package/dist/db-admin.d.ts +699 -0
- package/dist/db-admin.d.ts.map +1 -0
- package/dist/db-designer.d.ts +366 -0
- package/dist/db-designer.d.ts.map +1 -0
- package/dist/debugger.d.ts +356 -0
- package/dist/debugger.d.ts.map +1 -0
- package/dist/device-management.d.ts +871 -0
- package/dist/device-management.d.ts.map +1 -0
- package/dist/distributed-tracing.d.ts +427 -0
- package/dist/distributed-tracing.d.ts.map +1 -0
- package/dist/dns-management.d.ts +215 -0
- package/dist/dns-management.d.ts.map +1 -0
- package/dist/download-manager.d.ts +271 -0
- package/dist/download-manager.d.ts.map +1 -0
- package/dist/download-torrent.d.ts +1062 -0
- package/dist/download-torrent.d.ts.map +1 -0
- package/dist/edge-computing.d.ts +720 -0
- package/dist/edge-computing.d.ts.map +1 -0
- package/dist/education.d.ts +1135 -0
- package/dist/education.d.ts.map +1 -0
- package/dist/email-template.d.ts +1141 -0
- package/dist/email-template.d.ts.map +1 -0
- package/dist/erp-enterprise.d.ts +1270 -0
- package/dist/erp-enterprise.d.ts.map +1 -0
- package/dist/form-builder.d.ts +1117 -0
- package/dist/form-builder.d.ts.map +1 -0
- package/dist/game-engine-advanced.d.ts +1049 -0
- package/dist/game-engine-advanced.d.ts.map +1 -0
- package/dist/git.d.ts +415 -0
- package/dist/git.d.ts.map +1 -0
- package/dist/hardware-integration.d.ts +966 -0
- package/dist/hardware-integration.d.ts.map +1 -0
- package/dist/iac.d.ts +318 -0
- package/dist/iac.d.ts.map +1 -0
- package/dist/icon-tools.d.ts +1023 -0
- package/dist/icon-tools.d.ts.map +1 -0
- package/dist/ide.d.ts +322 -0
- package/dist/ide.d.ts.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +176 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +1887 -0
- package/dist/index.mjs.map +1 -0
- package/dist/integration-platform.d.ts +857 -0
- package/dist/integration-platform.d.ts.map +1 -0
- package/dist/kubernetes.d.ts +278 -0
- package/dist/kubernetes.d.ts.map +1 -0
- package/dist/life-management.d.ts +1132 -0
- package/dist/life-management.d.ts.map +1 -0
- package/dist/log-management.d.ts +473 -0
- package/dist/log-management.d.ts.map +1 -0
- package/dist/mathematics.d.ts +870 -0
- package/dist/mathematics.d.ts.map +1 -0
- package/dist/message-queue.d.ts +1006 -0
- package/dist/message-queue.d.ts.map +1 -0
- package/dist/metrics-dashboard.d.ts +596 -0
- package/dist/metrics-dashboard.d.ts.map +1 -0
- package/dist/mobile-components.d.ts +766 -0
- package/dist/mobile-components.d.ts.map +1 -0
- package/dist/model-deployment.d.ts +787 -0
- package/dist/model-deployment.d.ts.map +1 -0
- package/dist/model-registry.d.ts +740 -0
- package/dist/model-registry.d.ts.map +1 -0
- package/dist/model-training.d.ts +706 -0
- package/dist/model-training.d.ts.map +1 -0
- package/dist/network-config.d.ts +334 -0
- package/dist/network-config.d.ts.map +1 -0
- package/dist/network-monitoring.d.ts +291 -0
- package/dist/network-monitoring.d.ts.map +1 -0
- package/dist/pdf-tools.d.ts +1003 -0
- package/dist/pdf-tools.d.ts.map +1 -0
- package/dist/pipelines.d.ts +250 -0
- package/dist/pipelines.d.ts.map +1 -0
- package/dist/remote-desktop.d.ts +207 -0
- package/dist/remote-desktop.d.ts.map +1 -0
- package/dist/report-designer.d.ts +1153 -0
- package/dist/report-designer.d.ts.map +1 -0
- package/dist/scada-industrial.d.ts +848 -0
- package/dist/scada-industrial.d.ts.map +1 -0
- package/dist/scientific-research.d.ts +1149 -0
- package/dist/scientific-research.d.ts.map +1 -0
- package/dist/secret-management.d.ts +617 -0
- package/dist/secret-management.d.ts.map +1 -0
- package/dist/security-scanning.d.ts +714 -0
- package/dist/security-scanning.d.ts.map +1 -0
- package/dist/self-service-analytics.d.ts +1208 -0
- package/dist/self-service-analytics.d.ts.map +1 -0
- package/dist/sensor-dashboard.d.ts +845 -0
- package/dist/sensor-dashboard.d.ts.map +1 -0
- package/dist/server-management.d.ts +331 -0
- package/dist/server-management.d.ts.map +1 -0
- package/dist/smart-home.d.ts +861 -0
- package/dist/smart-home.d.ts.map +1 -0
- package/dist/spreadsheet.d.ts +1043 -0
- package/dist/spreadsheet.d.ts.map +1 -0
- package/dist/sql-editor.d.ts +402 -0
- package/dist/sql-editor.d.ts.map +1 -0
- package/dist/terminal.d.ts +245 -0
- package/dist/terminal.d.ts.map +1 -0
- package/dist/testing-qa.d.ts +1013 -0
- package/dist/testing-qa.d.ts.map +1 -0
- package/dist/torrent-client.d.ts +298 -0
- package/dist/torrent-client.d.ts.map +1 -0
- package/dist/traceless.d.ts +759 -0
- package/dist/traceless.d.ts.map +1 -0
- package/dist/virtual-machines.d.ts +199 -0
- package/dist/virtual-machines.d.ts.map +1 -0
- package/dist/visual-scripting.d.ts +381 -0
- package/dist/visual-scripting.d.ts.map +1 -0
- package/dist/word-processor.d.ts +1124 -0
- package/dist/word-processor.d.ts.map +1 -0
- package/dist/workspace.d.ts +333 -0
- package/dist/workspace.d.ts.map +1 -0
- package/package.json +62 -0
|
@@ -0,0 +1,782 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file dataset-management.ts
|
|
3
|
+
* @module @nice2dev/ui-tools
|
|
4
|
+
* @description PRO-18.1 — Dataset Management
|
|
5
|
+
*
|
|
6
|
+
* Types for ML/AI dataset management: import, labeling, versioning,
|
|
7
|
+
* annotation, quality control, data augmentation, active learning.
|
|
8
|
+
*/
|
|
9
|
+
/** Dataset type */
|
|
10
|
+
export type DatasetType = 'tabular' | 'image' | 'text' | 'audio' | 'video' | 'timeSeries' | 'pointCloud' | 'multimodal' | 'custom';
|
|
11
|
+
/** Data format */
|
|
12
|
+
export type DataFormat = 'csv' | 'json' | 'jsonl' | 'parquet' | 'arrow' | 'avro' | 'tfrecord' | 'hdf5' | 'pickle' | 'images' | 'audio' | 'video' | 'custom';
|
|
13
|
+
/** Label type */
|
|
14
|
+
export type LabelType = 'classification' | 'multiLabel' | 'boundingBox' | 'polygon' | 'segmentation' | 'keypoint' | 'ner' | 'sentiment' | 'transcription' | 'translation' | 'qa' | 'textSpan' | 'segment' | 'speaker' | 'custom';
|
|
15
|
+
/** Data split */
|
|
16
|
+
export type DataSplit = 'train' | 'validation' | 'test' | 'holdout';
|
|
17
|
+
/** Annotation status */
|
|
18
|
+
export type AnnotationStatus = 'pending' | 'inProgress' | 'completed' | 'review' | 'approved' | 'rejected';
|
|
19
|
+
/** Dataset browser configuration */
|
|
20
|
+
export interface DatasetBrowserConfig {
|
|
21
|
+
/** Theme */
|
|
22
|
+
theme?: DatasetTheme;
|
|
23
|
+
/** Features */
|
|
24
|
+
features?: DatasetFeatures;
|
|
25
|
+
/** Storage */
|
|
26
|
+
storage?: DatasetStorage;
|
|
27
|
+
/** Labeling config */
|
|
28
|
+
labeling?: LabelingConfig;
|
|
29
|
+
/** Versioning config */
|
|
30
|
+
versioning?: VersioningConfig;
|
|
31
|
+
}
|
|
32
|
+
/** Dataset theme */
|
|
33
|
+
export interface DatasetTheme {
|
|
34
|
+
name?: string;
|
|
35
|
+
colors?: DatasetColors;
|
|
36
|
+
fonts?: DatasetFonts;
|
|
37
|
+
}
|
|
38
|
+
/** Dataset colors */
|
|
39
|
+
export interface DatasetColors {
|
|
40
|
+
primary?: string;
|
|
41
|
+
secondary?: string;
|
|
42
|
+
background?: string;
|
|
43
|
+
surface?: string;
|
|
44
|
+
labelColors?: string[];
|
|
45
|
+
}
|
|
46
|
+
/** Dataset fonts */
|
|
47
|
+
export interface DatasetFonts {
|
|
48
|
+
family?: string;
|
|
49
|
+
monoFamily?: string;
|
|
50
|
+
}
|
|
51
|
+
/** Dataset features */
|
|
52
|
+
export interface DatasetFeatures {
|
|
53
|
+
import?: boolean;
|
|
54
|
+
export?: boolean;
|
|
55
|
+
labeling?: boolean;
|
|
56
|
+
versioning?: boolean;
|
|
57
|
+
augmentation?: boolean;
|
|
58
|
+
activeLearning?: boolean;
|
|
59
|
+
statistics?: boolean;
|
|
60
|
+
preview?: boolean;
|
|
61
|
+
search?: boolean;
|
|
62
|
+
filter?: boolean;
|
|
63
|
+
}
|
|
64
|
+
/** Dataset storage */
|
|
65
|
+
export interface DatasetStorage {
|
|
66
|
+
type: 's3' | 'gcs' | 'azure' | 'local' | 'custom';
|
|
67
|
+
bucket?: string;
|
|
68
|
+
prefix?: string;
|
|
69
|
+
credentials?: StorageCredentials;
|
|
70
|
+
endpoint?: string;
|
|
71
|
+
}
|
|
72
|
+
/** Storage credentials */
|
|
73
|
+
export interface StorageCredentials {
|
|
74
|
+
accessKeyId?: string;
|
|
75
|
+
secretAccessKey?: string;
|
|
76
|
+
region?: string;
|
|
77
|
+
accountName?: string;
|
|
78
|
+
accountKey?: string;
|
|
79
|
+
connectionString?: string;
|
|
80
|
+
}
|
|
81
|
+
/** Labeling config */
|
|
82
|
+
export interface LabelingConfig {
|
|
83
|
+
enabled?: boolean;
|
|
84
|
+
labelSchema?: LabelSchema;
|
|
85
|
+
reviewRequired?: boolean;
|
|
86
|
+
qualityThreshold?: number;
|
|
87
|
+
activeLearn?: ActiveLearningConfig;
|
|
88
|
+
}
|
|
89
|
+
/** Label schema */
|
|
90
|
+
export interface LabelSchema {
|
|
91
|
+
type: LabelType;
|
|
92
|
+
classes?: LabelClass[];
|
|
93
|
+
attributes?: LabelAttribute[];
|
|
94
|
+
instructions?: string;
|
|
95
|
+
examples?: LabelExample[];
|
|
96
|
+
}
|
|
97
|
+
/** Label class */
|
|
98
|
+
export interface LabelClass {
|
|
99
|
+
id: string;
|
|
100
|
+
name: string;
|
|
101
|
+
color?: string;
|
|
102
|
+
description?: string;
|
|
103
|
+
shortcut?: string;
|
|
104
|
+
parent?: string;
|
|
105
|
+
}
|
|
106
|
+
/** Label attribute */
|
|
107
|
+
export interface LabelAttribute {
|
|
108
|
+
id: string;
|
|
109
|
+
name: string;
|
|
110
|
+
type: 'text' | 'number' | 'boolean' | 'select' | 'multiSelect';
|
|
111
|
+
required?: boolean;
|
|
112
|
+
options?: string[];
|
|
113
|
+
default?: unknown;
|
|
114
|
+
}
|
|
115
|
+
/** Label example */
|
|
116
|
+
export interface LabelExample {
|
|
117
|
+
id: string;
|
|
118
|
+
data: unknown;
|
|
119
|
+
labels: Label[];
|
|
120
|
+
explanation?: string;
|
|
121
|
+
}
|
|
122
|
+
/** Active learning config */
|
|
123
|
+
export interface ActiveLearningConfig {
|
|
124
|
+
enabled?: boolean;
|
|
125
|
+
strategy: ActiveLearningStrategy;
|
|
126
|
+
batchSize?: number;
|
|
127
|
+
threshold?: number;
|
|
128
|
+
modelId?: string;
|
|
129
|
+
}
|
|
130
|
+
/** Active learning strategy */
|
|
131
|
+
export type ActiveLearningStrategy = 'uncertainty' | 'margin' | 'entropy' | 'diversity' | 'representativeness' | 'custom';
|
|
132
|
+
/** Versioning config */
|
|
133
|
+
export interface VersioningConfig {
|
|
134
|
+
enabled?: boolean;
|
|
135
|
+
backend: 'dvc' | 'pachyderm' | 'lakefs' | 'delta' | 'custom';
|
|
136
|
+
remote?: string;
|
|
137
|
+
autoVersion?: boolean;
|
|
138
|
+
}
|
|
139
|
+
/** Dataset */
|
|
140
|
+
export interface Dataset {
|
|
141
|
+
id: string;
|
|
142
|
+
name: string;
|
|
143
|
+
description?: string;
|
|
144
|
+
type: DatasetType;
|
|
145
|
+
format: DataFormat;
|
|
146
|
+
schema?: DatasetSchema;
|
|
147
|
+
statistics?: DatasetStatistics;
|
|
148
|
+
splits?: DatasetSplitInfo[];
|
|
149
|
+
version?: DatasetVersion;
|
|
150
|
+
labels?: LabelSchema;
|
|
151
|
+
tags?: string[];
|
|
152
|
+
metadata?: DatasetMetadata;
|
|
153
|
+
}
|
|
154
|
+
/** Dataset schema */
|
|
155
|
+
export interface DatasetSchema {
|
|
156
|
+
columns?: ColumnSchema[];
|
|
157
|
+
targetColumn?: string;
|
|
158
|
+
featureColumns?: string[];
|
|
159
|
+
mediaFields?: MediaFieldSchema[];
|
|
160
|
+
}
|
|
161
|
+
/** Column schema */
|
|
162
|
+
export interface ColumnSchema {
|
|
163
|
+
name: string;
|
|
164
|
+
type: ColumnDataType;
|
|
165
|
+
nullable?: boolean;
|
|
166
|
+
description?: string;
|
|
167
|
+
statistics?: ColumnStatistics;
|
|
168
|
+
}
|
|
169
|
+
/** Column data type */
|
|
170
|
+
export type ColumnDataType = 'string' | 'integer' | 'float' | 'boolean' | 'datetime' | 'date' | 'array' | 'object' | 'binary';
|
|
171
|
+
/** Column statistics */
|
|
172
|
+
export interface ColumnStatistics {
|
|
173
|
+
count?: number;
|
|
174
|
+
nullCount?: number;
|
|
175
|
+
uniqueCount?: number;
|
|
176
|
+
min?: number | string;
|
|
177
|
+
max?: number | string;
|
|
178
|
+
mean?: number;
|
|
179
|
+
std?: number;
|
|
180
|
+
median?: number;
|
|
181
|
+
mode?: unknown;
|
|
182
|
+
histogram?: HistogramBin[];
|
|
183
|
+
topValues?: ValueCount[];
|
|
184
|
+
}
|
|
185
|
+
/** Histogram bin */
|
|
186
|
+
export interface HistogramBin {
|
|
187
|
+
low: number;
|
|
188
|
+
high: number;
|
|
189
|
+
count: number;
|
|
190
|
+
}
|
|
191
|
+
/** Value count */
|
|
192
|
+
export interface ValueCount {
|
|
193
|
+
value: unknown;
|
|
194
|
+
count: number;
|
|
195
|
+
percentage?: number;
|
|
196
|
+
}
|
|
197
|
+
/** Media field schema */
|
|
198
|
+
export interface MediaFieldSchema {
|
|
199
|
+
name: string;
|
|
200
|
+
type: 'image' | 'audio' | 'video' | 'document';
|
|
201
|
+
format?: string[];
|
|
202
|
+
maxSize?: number;
|
|
203
|
+
}
|
|
204
|
+
/** Dataset statistics */
|
|
205
|
+
export interface DatasetStatistics {
|
|
206
|
+
totalSamples: number;
|
|
207
|
+
labeledSamples?: number;
|
|
208
|
+
unlabeledSamples?: number;
|
|
209
|
+
totalSize?: number;
|
|
210
|
+
averageSampleSize?: number;
|
|
211
|
+
classDistribution?: ClassDistribution[];
|
|
212
|
+
labelQuality?: LabelQualityMetrics;
|
|
213
|
+
createdAt?: Date;
|
|
214
|
+
updatedAt?: Date;
|
|
215
|
+
}
|
|
216
|
+
/** Class distribution */
|
|
217
|
+
export interface ClassDistribution {
|
|
218
|
+
classId: string;
|
|
219
|
+
className?: string;
|
|
220
|
+
count: number;
|
|
221
|
+
percentage: number;
|
|
222
|
+
split?: DataSplit;
|
|
223
|
+
}
|
|
224
|
+
/** Label quality metrics */
|
|
225
|
+
export interface LabelQualityMetrics {
|
|
226
|
+
agreementRate?: number;
|
|
227
|
+
interAnnotatorKappa?: number;
|
|
228
|
+
averageConfidence?: number;
|
|
229
|
+
reviewedPercentage?: number;
|
|
230
|
+
rejectionRate?: number;
|
|
231
|
+
}
|
|
232
|
+
/** Dataset split info */
|
|
233
|
+
export interface DatasetSplitInfo {
|
|
234
|
+
split: DataSplit;
|
|
235
|
+
count: number;
|
|
236
|
+
percentage: number;
|
|
237
|
+
path?: string;
|
|
238
|
+
}
|
|
239
|
+
/** Dataset version */
|
|
240
|
+
export interface DatasetVersion {
|
|
241
|
+
version: string;
|
|
242
|
+
commit?: string;
|
|
243
|
+
timestamp: Date;
|
|
244
|
+
author?: string;
|
|
245
|
+
message?: string;
|
|
246
|
+
parent?: string;
|
|
247
|
+
size?: number;
|
|
248
|
+
checksum?: string;
|
|
249
|
+
}
|
|
250
|
+
/** Dataset metadata */
|
|
251
|
+
export interface DatasetMetadata {
|
|
252
|
+
source?: string;
|
|
253
|
+
license?: string;
|
|
254
|
+
citation?: string;
|
|
255
|
+
domain?: string;
|
|
256
|
+
language?: string[];
|
|
257
|
+
createdBy?: string;
|
|
258
|
+
createdAt?: Date;
|
|
259
|
+
modifiedBy?: string;
|
|
260
|
+
modifiedAt?: Date;
|
|
261
|
+
custom?: Record<string, unknown>;
|
|
262
|
+
}
|
|
263
|
+
/** Import task */
|
|
264
|
+
export interface ImportTask {
|
|
265
|
+
id: string;
|
|
266
|
+
datasetId: string;
|
|
267
|
+
source: ImportSource;
|
|
268
|
+
options: ImportOptions;
|
|
269
|
+
status: ImportStatus;
|
|
270
|
+
progress?: ImportProgress;
|
|
271
|
+
result?: ImportResult;
|
|
272
|
+
error?: string;
|
|
273
|
+
startedAt?: Date;
|
|
274
|
+
completedAt?: Date;
|
|
275
|
+
}
|
|
276
|
+
/** Import source */
|
|
277
|
+
export interface ImportSource {
|
|
278
|
+
type: ImportSourceType;
|
|
279
|
+
path?: string;
|
|
280
|
+
url?: string;
|
|
281
|
+
bucket?: string;
|
|
282
|
+
prefix?: string;
|
|
283
|
+
connection?: string;
|
|
284
|
+
query?: string;
|
|
285
|
+
}
|
|
286
|
+
/** Import source type */
|
|
287
|
+
export type ImportSourceType = 'local' | 'url' | 's3' | 'gcs' | 'azure' | 'huggingface' | 'kaggle' | 'database' | 'api';
|
|
288
|
+
/** Import options */
|
|
289
|
+
export interface ImportOptions {
|
|
290
|
+
format?: DataFormat;
|
|
291
|
+
encoding?: string;
|
|
292
|
+
delimiter?: string;
|
|
293
|
+
headers?: boolean;
|
|
294
|
+
skipRows?: number;
|
|
295
|
+
limitRows?: number;
|
|
296
|
+
columns?: string[];
|
|
297
|
+
schema?: DatasetSchema;
|
|
298
|
+
dedup?: boolean;
|
|
299
|
+
validate?: boolean;
|
|
300
|
+
transform?: DataTransform[];
|
|
301
|
+
}
|
|
302
|
+
/** Data transform */
|
|
303
|
+
export interface DataTransform {
|
|
304
|
+
type: TransformType;
|
|
305
|
+
column?: string;
|
|
306
|
+
config: TransformConfig;
|
|
307
|
+
}
|
|
308
|
+
/** Transform type */
|
|
309
|
+
export type TransformType = 'rename' | 'drop' | 'cast' | 'fillna' | 'normalize' | 'encode' | 'split' | 'merge' | 'filter' | 'custom';
|
|
310
|
+
/** Transform config */
|
|
311
|
+
export interface TransformConfig {
|
|
312
|
+
newName?: string;
|
|
313
|
+
targetType?: ColumnDataType;
|
|
314
|
+
fillValue?: unknown;
|
|
315
|
+
method?: string;
|
|
316
|
+
pattern?: string;
|
|
317
|
+
expression?: string;
|
|
318
|
+
[key: string]: unknown;
|
|
319
|
+
}
|
|
320
|
+
/** Import status */
|
|
321
|
+
export type ImportStatus = 'pending' | 'validating' | 'importing' | 'transforming' | 'completed' | 'failed' | 'cancelled';
|
|
322
|
+
/** Import progress */
|
|
323
|
+
export interface ImportProgress {
|
|
324
|
+
stage: string;
|
|
325
|
+
current: number;
|
|
326
|
+
total: number;
|
|
327
|
+
percentage: number;
|
|
328
|
+
bytesProcessed?: number;
|
|
329
|
+
rowsProcessed?: number;
|
|
330
|
+
errors?: number;
|
|
331
|
+
}
|
|
332
|
+
/** Import result */
|
|
333
|
+
export interface ImportResult {
|
|
334
|
+
rowsImported: number;
|
|
335
|
+
rowsSkipped: number;
|
|
336
|
+
rowsFailed: number;
|
|
337
|
+
warnings?: ImportWarning[];
|
|
338
|
+
schema?: DatasetSchema;
|
|
339
|
+
}
|
|
340
|
+
/** Import warning */
|
|
341
|
+
export interface ImportWarning {
|
|
342
|
+
row?: number;
|
|
343
|
+
column?: string;
|
|
344
|
+
message: string;
|
|
345
|
+
severity: 'info' | 'warning' | 'error';
|
|
346
|
+
}
|
|
347
|
+
/** Labeling task */
|
|
348
|
+
export interface LabelingTask {
|
|
349
|
+
id: string;
|
|
350
|
+
datasetId: string;
|
|
351
|
+
name: string;
|
|
352
|
+
description?: string;
|
|
353
|
+
schema: LabelSchema;
|
|
354
|
+
samples: LabelingSample[];
|
|
355
|
+
assignees?: LabelingAssignee[];
|
|
356
|
+
progress?: LabelingProgress;
|
|
357
|
+
config?: LabelingTaskConfig;
|
|
358
|
+
createdAt: Date;
|
|
359
|
+
deadline?: Date;
|
|
360
|
+
}
|
|
361
|
+
/** Labeling sample */
|
|
362
|
+
export interface LabelingSample {
|
|
363
|
+
id: string;
|
|
364
|
+
data: unknown;
|
|
365
|
+
labels?: Label[];
|
|
366
|
+
status: AnnotationStatus;
|
|
367
|
+
assignee?: string;
|
|
368
|
+
confidence?: number;
|
|
369
|
+
review?: LabelReview;
|
|
370
|
+
history?: LabelHistory[];
|
|
371
|
+
}
|
|
372
|
+
/** Label */
|
|
373
|
+
export interface Label {
|
|
374
|
+
id: string;
|
|
375
|
+
type: LabelType;
|
|
376
|
+
classId?: string;
|
|
377
|
+
className?: string;
|
|
378
|
+
value?: unknown;
|
|
379
|
+
attributes?: Record<string, unknown>;
|
|
380
|
+
geometry?: LabelGeometry;
|
|
381
|
+
spans?: TextSpan[];
|
|
382
|
+
confidence?: number;
|
|
383
|
+
createdBy?: string;
|
|
384
|
+
createdAt?: Date;
|
|
385
|
+
}
|
|
386
|
+
/** Label geometry */
|
|
387
|
+
export interface LabelGeometry {
|
|
388
|
+
type: GeometryType;
|
|
389
|
+
coordinates: number[];
|
|
390
|
+
points?: Point2D[];
|
|
391
|
+
bbox?: BoundingBox;
|
|
392
|
+
mask?: SegmentationMask;
|
|
393
|
+
keypoints?: Keypoint[];
|
|
394
|
+
}
|
|
395
|
+
/** Geometry type */
|
|
396
|
+
export type GeometryType = 'point' | 'rectangle' | 'polygon' | 'polyline' | 'ellipse' | 'mask' | 'keypoint';
|
|
397
|
+
/** Point 2D */
|
|
398
|
+
export interface Point2D {
|
|
399
|
+
x: number;
|
|
400
|
+
y: number;
|
|
401
|
+
}
|
|
402
|
+
/** Bounding box */
|
|
403
|
+
export interface BoundingBox {
|
|
404
|
+
x: number;
|
|
405
|
+
y: number;
|
|
406
|
+
width: number;
|
|
407
|
+
height: number;
|
|
408
|
+
rotation?: number;
|
|
409
|
+
}
|
|
410
|
+
/** Segmentation mask */
|
|
411
|
+
export interface SegmentationMask {
|
|
412
|
+
format: 'rle' | 'polygon' | 'bitmap';
|
|
413
|
+
data: string | number[][];
|
|
414
|
+
width?: number;
|
|
415
|
+
height?: number;
|
|
416
|
+
}
|
|
417
|
+
/** Keypoint */
|
|
418
|
+
export interface Keypoint {
|
|
419
|
+
id: string;
|
|
420
|
+
name?: string;
|
|
421
|
+
x: number;
|
|
422
|
+
y: number;
|
|
423
|
+
visible?: boolean;
|
|
424
|
+
confidence?: number;
|
|
425
|
+
}
|
|
426
|
+
/** Text span */
|
|
427
|
+
export interface TextSpan {
|
|
428
|
+
start: number;
|
|
429
|
+
end: number;
|
|
430
|
+
text?: string;
|
|
431
|
+
labels: string[];
|
|
432
|
+
}
|
|
433
|
+
/** Label review */
|
|
434
|
+
export interface LabelReview {
|
|
435
|
+
status: 'approved' | 'rejected' | 'changes_requested';
|
|
436
|
+
reviewer: string;
|
|
437
|
+
timestamp: Date;
|
|
438
|
+
comments?: string;
|
|
439
|
+
corrections?: Label[];
|
|
440
|
+
}
|
|
441
|
+
/** Label history */
|
|
442
|
+
export interface LabelHistory {
|
|
443
|
+
labels: Label[];
|
|
444
|
+
author: string;
|
|
445
|
+
timestamp: Date;
|
|
446
|
+
action: 'create' | 'update' | 'delete';
|
|
447
|
+
}
|
|
448
|
+
/** Labeling assignee */
|
|
449
|
+
export interface LabelingAssignee {
|
|
450
|
+
userId: string;
|
|
451
|
+
name?: string;
|
|
452
|
+
role: 'annotator' | 'reviewer' | 'admin';
|
|
453
|
+
assigned: number;
|
|
454
|
+
completed: number;
|
|
455
|
+
quality?: number;
|
|
456
|
+
}
|
|
457
|
+
/** Labeling progress */
|
|
458
|
+
export interface LabelingProgress {
|
|
459
|
+
total: number;
|
|
460
|
+
pending: number;
|
|
461
|
+
inProgress: number;
|
|
462
|
+
completed: number;
|
|
463
|
+
review: number;
|
|
464
|
+
approved: number;
|
|
465
|
+
rejected: number;
|
|
466
|
+
percentage: number;
|
|
467
|
+
}
|
|
468
|
+
/** Labeling task config */
|
|
469
|
+
export interface LabelingTaskConfig {
|
|
470
|
+
allowOverlap?: boolean;
|
|
471
|
+
requireReview?: boolean;
|
|
472
|
+
minAnnotations?: number;
|
|
473
|
+
consensusThreshold?: number;
|
|
474
|
+
showPredictions?: boolean;
|
|
475
|
+
assistedLabeling?: boolean;
|
|
476
|
+
shortcuts?: LabelShortcut[];
|
|
477
|
+
}
|
|
478
|
+
/** Label shortcut */
|
|
479
|
+
export interface LabelShortcut {
|
|
480
|
+
key: string;
|
|
481
|
+
action: string;
|
|
482
|
+
classId?: string;
|
|
483
|
+
}
|
|
484
|
+
/** Image annotation */
|
|
485
|
+
export interface ImageAnnotation {
|
|
486
|
+
id: string;
|
|
487
|
+
imageId: string;
|
|
488
|
+
imageUrl: string;
|
|
489
|
+
width: number;
|
|
490
|
+
height: number;
|
|
491
|
+
labels: ImageLabel[];
|
|
492
|
+
status: AnnotationStatus;
|
|
493
|
+
metadata?: ImageMetadata;
|
|
494
|
+
}
|
|
495
|
+
/** Image label */
|
|
496
|
+
export interface ImageLabel extends Label {
|
|
497
|
+
type: 'boundingBox' | 'polygon' | 'segmentation' | 'keypoint';
|
|
498
|
+
geometry: LabelGeometry;
|
|
499
|
+
occluded?: boolean;
|
|
500
|
+
truncated?: boolean;
|
|
501
|
+
difficult?: boolean;
|
|
502
|
+
}
|
|
503
|
+
/** Image metadata */
|
|
504
|
+
export interface ImageMetadata {
|
|
505
|
+
filename?: string;
|
|
506
|
+
format?: string;
|
|
507
|
+
size?: number;
|
|
508
|
+
width: number;
|
|
509
|
+
height: number;
|
|
510
|
+
channels?: number;
|
|
511
|
+
exif?: Record<string, unknown>;
|
|
512
|
+
}
|
|
513
|
+
/** Text annotation */
|
|
514
|
+
export interface TextAnnotation {
|
|
515
|
+
id: string;
|
|
516
|
+
textId: string;
|
|
517
|
+
text: string;
|
|
518
|
+
labels: TextLabel[];
|
|
519
|
+
status: AnnotationStatus;
|
|
520
|
+
metadata?: TextMetadata;
|
|
521
|
+
}
|
|
522
|
+
/** Text label */
|
|
523
|
+
export interface TextLabel extends Label {
|
|
524
|
+
type: 'ner' | 'sentiment' | 'classification' | 'textSpan' | 'qa';
|
|
525
|
+
span?: TextSpan;
|
|
526
|
+
sentiment?: SentimentLabel;
|
|
527
|
+
qaAnswer?: QAAnswer;
|
|
528
|
+
}
|
|
529
|
+
/** Sentiment label */
|
|
530
|
+
export interface SentimentLabel {
|
|
531
|
+
polarity: 'positive' | 'negative' | 'neutral' | 'mixed';
|
|
532
|
+
score?: number;
|
|
533
|
+
aspect?: string;
|
|
534
|
+
}
|
|
535
|
+
/** QA answer */
|
|
536
|
+
export interface QAAnswer {
|
|
537
|
+
question: string;
|
|
538
|
+
answer: string;
|
|
539
|
+
start?: number;
|
|
540
|
+
end?: number;
|
|
541
|
+
answerType?: 'extractive' | 'abstractive' | 'yes_no' | 'unanswerable';
|
|
542
|
+
}
|
|
543
|
+
/** Text metadata */
|
|
544
|
+
export interface TextMetadata {
|
|
545
|
+
source?: string;
|
|
546
|
+
language?: string;
|
|
547
|
+
tokenCount?: number;
|
|
548
|
+
sentenceCount?: number;
|
|
549
|
+
}
|
|
550
|
+
/** Audio annotation */
|
|
551
|
+
export interface AudioAnnotation {
|
|
552
|
+
id: string;
|
|
553
|
+
audioId: string;
|
|
554
|
+
audioUrl: string;
|
|
555
|
+
duration: number;
|
|
556
|
+
sampleRate?: number;
|
|
557
|
+
labels: AudioLabel[];
|
|
558
|
+
status: AnnotationStatus;
|
|
559
|
+
metadata?: AudioMetadata;
|
|
560
|
+
}
|
|
561
|
+
/** Audio label */
|
|
562
|
+
export interface AudioLabel extends Label {
|
|
563
|
+
type: 'transcription' | 'classification' | 'segment' | 'speaker';
|
|
564
|
+
segment?: AudioSegment;
|
|
565
|
+
transcription?: TranscriptionLabel;
|
|
566
|
+
speaker?: SpeakerLabel;
|
|
567
|
+
}
|
|
568
|
+
/** Audio segment */
|
|
569
|
+
export interface AudioSegment {
|
|
570
|
+
start: number;
|
|
571
|
+
end: number;
|
|
572
|
+
channel?: number;
|
|
573
|
+
}
|
|
574
|
+
/** Transcription label */
|
|
575
|
+
export interface TranscriptionLabel {
|
|
576
|
+
text: string;
|
|
577
|
+
words?: TranscriptionWord[];
|
|
578
|
+
language?: string;
|
|
579
|
+
confidence?: number;
|
|
580
|
+
}
|
|
581
|
+
/** Transcription word */
|
|
582
|
+
export interface TranscriptionWord {
|
|
583
|
+
word: string;
|
|
584
|
+
start: number;
|
|
585
|
+
end: number;
|
|
586
|
+
confidence?: number;
|
|
587
|
+
}
|
|
588
|
+
/** Speaker label */
|
|
589
|
+
export interface SpeakerLabel {
|
|
590
|
+
speakerId: string;
|
|
591
|
+
speakerName?: string;
|
|
592
|
+
}
|
|
593
|
+
/** Audio metadata */
|
|
594
|
+
export interface AudioMetadata {
|
|
595
|
+
filename?: string;
|
|
596
|
+
format?: string;
|
|
597
|
+
size?: number;
|
|
598
|
+
duration: number;
|
|
599
|
+
sampleRate?: number;
|
|
600
|
+
channels?: number;
|
|
601
|
+
bitrate?: number;
|
|
602
|
+
}
|
|
603
|
+
/** Augmentation pipeline */
|
|
604
|
+
export interface AugmentationPipeline {
|
|
605
|
+
id: string;
|
|
606
|
+
name: string;
|
|
607
|
+
description?: string;
|
|
608
|
+
dataType: DatasetType;
|
|
609
|
+
transforms: AugmentationTransform[];
|
|
610
|
+
probability?: number;
|
|
611
|
+
preview?: AugmentationPreview;
|
|
612
|
+
}
|
|
613
|
+
/** Augmentation transform */
|
|
614
|
+
export interface AugmentationTransform {
|
|
615
|
+
id: string;
|
|
616
|
+
type: AugmentationType;
|
|
617
|
+
params: AugmentationParams;
|
|
618
|
+
probability?: number;
|
|
619
|
+
enabled?: boolean;
|
|
620
|
+
}
|
|
621
|
+
/** Augmentation type */
|
|
622
|
+
export type AugmentationType = 'rotate' | 'flip' | 'crop' | 'resize' | 'brightness' | 'contrast' | 'saturation' | 'hue' | 'blur' | 'noise' | 'cutout' | 'mixup' | 'cutmix' | 'synonym' | 'backtranslation' | 'insertion' | 'deletion' | 'swap' | 'timeStretch' | 'pitchShift' | 'addNoise' | 'timeShift' | 'smote' | 'adasyn' | 'perturbation';
|
|
623
|
+
/** Augmentation params */
|
|
624
|
+
export interface AugmentationParams {
|
|
625
|
+
angle?: number;
|
|
626
|
+
scale?: number;
|
|
627
|
+
factor?: number;
|
|
628
|
+
kernel?: number;
|
|
629
|
+
sigma?: number;
|
|
630
|
+
size?: number;
|
|
631
|
+
ratio?: number;
|
|
632
|
+
alpha?: number;
|
|
633
|
+
language?: string;
|
|
634
|
+
numWords?: number;
|
|
635
|
+
rate?: number;
|
|
636
|
+
semitones?: number;
|
|
637
|
+
snr?: number;
|
|
638
|
+
shift?: number;
|
|
639
|
+
min?: number;
|
|
640
|
+
max?: number;
|
|
641
|
+
[key: string]: unknown;
|
|
642
|
+
}
|
|
643
|
+
/** Augmentation preview */
|
|
644
|
+
export interface AugmentationPreview {
|
|
645
|
+
original: unknown;
|
|
646
|
+
augmented: unknown[];
|
|
647
|
+
params?: Record<string, unknown>;
|
|
648
|
+
}
|
|
649
|
+
/** Dataset version info */
|
|
650
|
+
export interface DatasetVersionInfo {
|
|
651
|
+
datasetId: string;
|
|
652
|
+
versions: DatasetVersion[];
|
|
653
|
+
current: string;
|
|
654
|
+
branches?: DatasetBranch[];
|
|
655
|
+
tags?: DatasetTag[];
|
|
656
|
+
}
|
|
657
|
+
/** Dataset branch */
|
|
658
|
+
export interface DatasetBranch {
|
|
659
|
+
name: string;
|
|
660
|
+
head: string;
|
|
661
|
+
protected?: boolean;
|
|
662
|
+
createdAt?: Date;
|
|
663
|
+
}
|
|
664
|
+
/** Dataset tag */
|
|
665
|
+
export interface DatasetTag {
|
|
666
|
+
name: string;
|
|
667
|
+
version: string;
|
|
668
|
+
message?: string;
|
|
669
|
+
createdAt?: Date;
|
|
670
|
+
createdBy?: string;
|
|
671
|
+
}
|
|
672
|
+
/** Version comparison */
|
|
673
|
+
export interface VersionComparison {
|
|
674
|
+
baseVersion: string;
|
|
675
|
+
compareVersion: string;
|
|
676
|
+
changes: VersionChange[];
|
|
677
|
+
statistics: VersionStatistics;
|
|
678
|
+
}
|
|
679
|
+
/** Version change */
|
|
680
|
+
export interface VersionChange {
|
|
681
|
+
type: 'added' | 'modified' | 'deleted';
|
|
682
|
+
path: string;
|
|
683
|
+
sampleId?: string;
|
|
684
|
+
details?: ChangeDetails;
|
|
685
|
+
}
|
|
686
|
+
/** Change details */
|
|
687
|
+
export interface ChangeDetails {
|
|
688
|
+
before?: unknown;
|
|
689
|
+
after?: unknown;
|
|
690
|
+
diff?: unknown;
|
|
691
|
+
}
|
|
692
|
+
/** Version statistics */
|
|
693
|
+
export interface VersionStatistics {
|
|
694
|
+
added: number;
|
|
695
|
+
modified: number;
|
|
696
|
+
deleted: number;
|
|
697
|
+
sizeDelta?: number;
|
|
698
|
+
}
|
|
699
|
+
/** Data quality report */
|
|
700
|
+
export interface DataQualityReport {
|
|
701
|
+
datasetId: string;
|
|
702
|
+
timestamp: Date;
|
|
703
|
+
overall: QualityScore;
|
|
704
|
+
dimensions: QualityDimension[];
|
|
705
|
+
issues: QualityIssue[];
|
|
706
|
+
recommendations?: QualityRecommendation[];
|
|
707
|
+
}
|
|
708
|
+
/** Quality score */
|
|
709
|
+
export interface QualityScore {
|
|
710
|
+
score: number;
|
|
711
|
+
grade: 'A' | 'B' | 'C' | 'D' | 'F';
|
|
712
|
+
}
|
|
713
|
+
/** Quality dimension */
|
|
714
|
+
export interface QualityDimension {
|
|
715
|
+
name: string;
|
|
716
|
+
score: number;
|
|
717
|
+
weight?: number;
|
|
718
|
+
details?: string;
|
|
719
|
+
}
|
|
720
|
+
/** Quality issue */
|
|
721
|
+
export interface QualityIssue {
|
|
722
|
+
id: string;
|
|
723
|
+
type: QualityIssueType;
|
|
724
|
+
severity: 'low' | 'medium' | 'high' | 'critical';
|
|
725
|
+
description: string;
|
|
726
|
+
affectedSamples?: number;
|
|
727
|
+
column?: string;
|
|
728
|
+
examples?: unknown[];
|
|
729
|
+
}
|
|
730
|
+
/** Quality issue type */
|
|
731
|
+
export type QualityIssueType = 'missing_values' | 'duplicates' | 'outliers' | 'inconsistent_format' | 'invalid_values' | 'class_imbalance' | 'label_noise' | 'data_drift' | 'schema_mismatch' | 'custom';
|
|
732
|
+
/** Quality recommendation */
|
|
733
|
+
export interface QualityRecommendation {
|
|
734
|
+
issue: string;
|
|
735
|
+
action: string;
|
|
736
|
+
impact: 'low' | 'medium' | 'high';
|
|
737
|
+
automated?: boolean;
|
|
738
|
+
}
|
|
739
|
+
/** Export task */
|
|
740
|
+
export interface ExportTask {
|
|
741
|
+
id: string;
|
|
742
|
+
datasetId: string;
|
|
743
|
+
format: ExportFormat;
|
|
744
|
+
options: ExportOptions;
|
|
745
|
+
status: ExportStatus;
|
|
746
|
+
result?: ExportResult;
|
|
747
|
+
error?: string;
|
|
748
|
+
startedAt?: Date;
|
|
749
|
+
completedAt?: Date;
|
|
750
|
+
}
|
|
751
|
+
/** Export format */
|
|
752
|
+
export type ExportFormat = 'csv' | 'json' | 'jsonl' | 'parquet' | 'coco' | 'yolo' | 'voc' | 'labelme' | 'tfrecord' | 'huggingface' | 'custom';
|
|
753
|
+
/** Export options */
|
|
754
|
+
export interface ExportOptions {
|
|
755
|
+
split?: DataSplit[];
|
|
756
|
+
columns?: string[];
|
|
757
|
+
includeLabels?: boolean;
|
|
758
|
+
labelFormat?: string;
|
|
759
|
+
includeMedia?: boolean;
|
|
760
|
+
compression?: 'none' | 'gzip' | 'zip';
|
|
761
|
+
partitionBy?: string;
|
|
762
|
+
maxFileSize?: number;
|
|
763
|
+
}
|
|
764
|
+
/** Export status */
|
|
765
|
+
export type ExportStatus = 'pending' | 'processing' | 'completed' | 'failed' | 'cancelled';
|
|
766
|
+
/** Export result */
|
|
767
|
+
export interface ExportResult {
|
|
768
|
+
files: ExportFile[];
|
|
769
|
+
totalSize: number;
|
|
770
|
+
rowCount: number;
|
|
771
|
+
downloadUrl?: string;
|
|
772
|
+
expiresAt?: Date;
|
|
773
|
+
}
|
|
774
|
+
/** Export file */
|
|
775
|
+
export interface ExportFile {
|
|
776
|
+
name: string;
|
|
777
|
+
path: string;
|
|
778
|
+
size: number;
|
|
779
|
+
format: string;
|
|
780
|
+
checksum?: string;
|
|
781
|
+
}
|
|
782
|
+
//# sourceMappingURL=dataset-management.d.ts.map
|