@proofhound/web-ui 0.1.13 → 0.1.15
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/dist/i18n/index.d.ts +44 -14
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/index.js +44 -14
- package/dist/i18n/index.js.map +1 -1
- package/dist/screens/datasets/dataset-import-runner.d.ts +23 -2
- package/dist/screens/datasets/dataset-import-runner.d.ts.map +1 -1
- package/dist/screens/datasets/dataset-import-runner.js +106 -0
- package/dist/screens/datasets/dataset-import-runner.js.map +1 -1
- package/dist/screens/datasets/dataset-upload-page.d.ts +17 -0
- package/dist/screens/datasets/dataset-upload-page.d.ts.map +1 -1
- package/dist/screens/datasets/dataset-upload-page.js +242 -46
- package/dist/screens/datasets/dataset-upload-page.js.map +1 -1
- package/dist/screens/datasets/dataset-upload-parser.d.ts +7 -2
- package/dist/screens/datasets/dataset-upload-parser.d.ts.map +1 -1
- package/dist/screens/datasets/dataset-upload-parser.js +163 -67
- package/dist/screens/datasets/dataset-upload-parser.js.map +1 -1
- package/package.json +12 -10
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
import { type DatasetImportClient } from '@proofhound/api-client';
|
|
2
|
-
import type { CompleteDatasetImportResponseDto, CreateDatasetImportDto } from '@proofhound/shared';
|
|
2
|
+
import type { CompleteDatasetImportResponseDto, CreateDatasetImportDto, CreateRawDatasetImportDto, DatasetImportStatusDto } from '@proofhound/shared';
|
|
3
3
|
export interface DatasetImportProgress {
|
|
4
|
-
phase: 'uploading' | 'completing';
|
|
4
|
+
phase: 'uploading' | 'completing' | 'queued' | 'parsing' | 'importing' | 'completed';
|
|
5
5
|
receivedRows: number;
|
|
6
|
+
status?: DatasetImportStatusDto;
|
|
6
7
|
}
|
|
8
|
+
export declare const DEFAULT_IMPORT_BATCH_MAX_ROWS = 1000;
|
|
9
|
+
export declare const DEFAULT_IMPORT_BATCH_MAX_BYTES: number;
|
|
10
|
+
export declare function estimateDatasetImportBatchBytes(samples: Array<Record<string, unknown>>): number;
|
|
11
|
+
export declare function projectSampleRowsToBatches(rows: AsyncIterable<Record<string, unknown>>, columns: string[], options?: {
|
|
12
|
+
maxRows?: number;
|
|
13
|
+
maxBytes?: number;
|
|
14
|
+
signal?: AbortSignal;
|
|
15
|
+
}): AsyncGenerator<Array<Record<string, unknown>>>;
|
|
7
16
|
export interface RunDatasetImportOptions {
|
|
8
17
|
projectId: string;
|
|
9
18
|
createBody: CreateDatasetImportDto;
|
|
@@ -13,5 +22,17 @@ export interface RunDatasetImportOptions {
|
|
|
13
22
|
onProgress?: (progress: DatasetImportProgress) => void;
|
|
14
23
|
client?: DatasetImportClient;
|
|
15
24
|
}
|
|
25
|
+
export interface RunRawDatasetImportOptions {
|
|
26
|
+
projectId: string;
|
|
27
|
+
createBody: CreateRawDatasetImportDto;
|
|
28
|
+
file: Blob;
|
|
29
|
+
signal?: AbortSignal;
|
|
30
|
+
onCreated?: (importId: string) => void;
|
|
31
|
+
onUploaded?: () => void;
|
|
32
|
+
onProgress?: (progress: DatasetImportProgress) => void;
|
|
33
|
+
pollIntervalMs?: number;
|
|
34
|
+
client?: DatasetImportClient;
|
|
35
|
+
}
|
|
16
36
|
export declare function runDatasetImport(options: RunDatasetImportOptions): Promise<CompleteDatasetImportResponseDto>;
|
|
37
|
+
export declare function runRawDatasetImport(options: RunRawDatasetImportOptions): Promise<DatasetImportStatusDto>;
|
|
17
38
|
//# sourceMappingURL=dataset-import-runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataset-import-runner.d.ts","sourceRoot":"","sources":["../../../src/screens/datasets/dataset-import-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"dataset-import-runner.d.ts","sourceRoot":"","sources":["../../../src/screens/datasets/dataset-import-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,KAAK,EACV,gCAAgC,EAChC,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAG5B,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,WAAW,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,CAAC;IACrF,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,sBAAsB,CAAC;CACjC;AAED,eAAO,MAAM,6BAA6B,OAAO,CAAC;AAElD,eAAO,MAAM,8BAA8B,QAAkB,CAAC;AAM9D,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAE/F;AAkBD,wBAAuB,0BAA0B,CAC/C,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC5C,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,WAAW,CAAC;CACjB,GACL,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAsChD;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,sBAAsB,CAAC;IAEnC,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAEvD,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC9B;AAED,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,yBAAyB,CAAC;IACtC,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC9B;AAID,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,gCAAgC,CAAC,CA0BlH;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA8B9G"}
|
|
@@ -1,4 +1,60 @@
|
|
|
1
1
|
import { datasetImportClient } from '@proofhound/api-client';
|
|
2
|
+
import { projectSamplesToColumns } from './dataset-upload-parser';
|
|
3
|
+
export const DEFAULT_IMPORT_BATCH_MAX_ROWS = 1000;
|
|
4
|
+
// Keep the encoded JSON body below the default SERVER_BODY_LIMIT=10mb.
|
|
5
|
+
export const DEFAULT_IMPORT_BATCH_MAX_BYTES = 8 * 1024 * 1024;
|
|
6
|
+
const textEncoder = new TextEncoder();
|
|
7
|
+
const DATASET_IMPORT_PAYLOAD_PREFIX_BYTES = textEncoder.encode('{"batchStartIndex":0,"samples":').length;
|
|
8
|
+
const DATASET_IMPORT_PAYLOAD_SUFFIX_BYTES = 1; // }
|
|
9
|
+
export function estimateDatasetImportBatchBytes(samples) {
|
|
10
|
+
return textEncoder.encode(JSON.stringify({ batchStartIndex: 0, samples })).length;
|
|
11
|
+
}
|
|
12
|
+
function estimateDatasetImportSampleBytes(sample) {
|
|
13
|
+
return textEncoder.encode(JSON.stringify(sample)).length;
|
|
14
|
+
}
|
|
15
|
+
function emptyJsonArrayBytes() {
|
|
16
|
+
return 2; // []
|
|
17
|
+
}
|
|
18
|
+
function jsonArrayBytesAfterAppend(currentArrayBytes, currentLength, nextItemBytes) {
|
|
19
|
+
return currentLength === 0 ? nextItemBytes + 2 : currentArrayBytes + 1 + nextItemBytes;
|
|
20
|
+
}
|
|
21
|
+
function estimateDatasetImportPayloadBytes(samplesArrayBytes) {
|
|
22
|
+
return DATASET_IMPORT_PAYLOAD_PREFIX_BYTES + samplesArrayBytes + DATASET_IMPORT_PAYLOAD_SUFFIX_BYTES;
|
|
23
|
+
}
|
|
24
|
+
export async function* projectSampleRowsToBatches(rows, columns, options = {}) {
|
|
25
|
+
const maxRows = options.maxRows ?? DEFAULT_IMPORT_BATCH_MAX_ROWS;
|
|
26
|
+
const maxBytes = options.maxBytes ?? DEFAULT_IMPORT_BATCH_MAX_BYTES;
|
|
27
|
+
let batch = [];
|
|
28
|
+
let batchArrayBytes = emptyJsonArrayBytes();
|
|
29
|
+
for await (const row of rows) {
|
|
30
|
+
if (options.signal?.aborted)
|
|
31
|
+
throw new DOMException('aborted', 'AbortError');
|
|
32
|
+
if (batch.length >= maxRows) {
|
|
33
|
+
yield batch;
|
|
34
|
+
batch = [];
|
|
35
|
+
batchArrayBytes = emptyJsonArrayBytes();
|
|
36
|
+
}
|
|
37
|
+
const projected = projectSamplesToColumns([row], columns)[0] ?? {};
|
|
38
|
+
const singleBytes = estimateDatasetImportSampleBytes(projected);
|
|
39
|
+
const singlePayloadBytes = estimateDatasetImportPayloadBytes(jsonArrayBytesAfterAppend(emptyJsonArrayBytes(), 0, singleBytes));
|
|
40
|
+
if (singlePayloadBytes > maxBytes) {
|
|
41
|
+
throw new Error('dataset_import_sample_too_large');
|
|
42
|
+
}
|
|
43
|
+
const candidateArrayBytes = jsonArrayBytesAfterAppend(batchArrayBytes, batch.length, singleBytes);
|
|
44
|
+
if (batch.length > 0 && estimateDatasetImportPayloadBytes(candidateArrayBytes) > maxBytes) {
|
|
45
|
+
yield batch;
|
|
46
|
+
batch = [];
|
|
47
|
+
batchArrayBytes = emptyJsonArrayBytes();
|
|
48
|
+
}
|
|
49
|
+
batch.push(projected);
|
|
50
|
+
batchArrayBytes = jsonArrayBytesAfterAppend(batchArrayBytes, batch.length - 1, singleBytes);
|
|
51
|
+
}
|
|
52
|
+
if (batch.length > 0) {
|
|
53
|
+
if (options.signal?.aborted)
|
|
54
|
+
throw new DOMException('aborted', 'AbortError');
|
|
55
|
+
yield batch;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
2
58
|
// Orchestrates a large-file import: create session -> append batches in order -> complete (atomic promote).
|
|
3
59
|
// Any failure or abort before complete deletes the session + staging (best-effort), per "中断即删干净".
|
|
4
60
|
export async function runDatasetImport(options) {
|
|
@@ -30,4 +86,54 @@ export async function runDatasetImport(options) {
|
|
|
30
86
|
throw error;
|
|
31
87
|
}
|
|
32
88
|
}
|
|
89
|
+
export async function runRawDatasetImport(options) {
|
|
90
|
+
const client = options.client ?? datasetImportClient;
|
|
91
|
+
const { projectId, createBody, file, signal } = options;
|
|
92
|
+
const { import: session, uploadSession } = await client.createRawDatasetImport(projectId, createBody);
|
|
93
|
+
options.onCreated?.(session.id);
|
|
94
|
+
let serverImportStarted = false;
|
|
95
|
+
try {
|
|
96
|
+
if (signal?.aborted)
|
|
97
|
+
throw new DOMException('aborted', 'AbortError');
|
|
98
|
+
await client.uploadRawDatasetFile(uploadSession, file, { signal });
|
|
99
|
+
options.onUploaded?.();
|
|
100
|
+
if (signal?.aborted)
|
|
101
|
+
throw new DOMException('aborted', 'AbortError');
|
|
102
|
+
await client.completeRawDatasetUpload(projectId, session.id);
|
|
103
|
+
const queued = await client.completeDatasetImport(projectId, session.id);
|
|
104
|
+
serverImportStarted = true;
|
|
105
|
+
options.onProgress?.({ phase: 'queued', receivedRows: queued.receivedRows, status: queued });
|
|
106
|
+
return pollDatasetImportStatus({
|
|
107
|
+
client,
|
|
108
|
+
projectId,
|
|
109
|
+
importId: session.id,
|
|
110
|
+
pollIntervalMs: options.pollIntervalMs,
|
|
111
|
+
onProgress: options.onProgress,
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
catch (error) {
|
|
115
|
+
if (!serverImportStarted) {
|
|
116
|
+
await client.abortDatasetImport(projectId, session.id).catch(() => undefined);
|
|
117
|
+
}
|
|
118
|
+
throw error;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
async function pollDatasetImportStatus({ client, projectId, importId, pollIntervalMs = 1500, onProgress, }) {
|
|
122
|
+
for (;;) {
|
|
123
|
+
await delay(pollIntervalMs);
|
|
124
|
+
const status = await client.getDatasetImport(projectId, importId);
|
|
125
|
+
if (status.state === 'completed') {
|
|
126
|
+
onProgress?.({ phase: 'completed', receivedRows: status.receivedRows, status });
|
|
127
|
+
return status;
|
|
128
|
+
}
|
|
129
|
+
if (status.state === 'failed' || status.state === 'aborted') {
|
|
130
|
+
throw new Error(status.errorCode ?? status.state);
|
|
131
|
+
}
|
|
132
|
+
const phase = status.state === 'parsing' ? 'parsing' : status.state === 'importing' ? 'importing' : 'queued';
|
|
133
|
+
onProgress?.({ phase, receivedRows: status.receivedRows, status });
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
function delay(ms) {
|
|
137
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
138
|
+
}
|
|
33
139
|
//# sourceMappingURL=dataset-import-runner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataset-import-runner.js","sourceRoot":"","sources":["../../../src/screens/datasets/dataset-import-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAA4B,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"dataset-import-runner.js","sourceRoot":"","sources":["../../../src/screens/datasets/dataset-import-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
import type { CreateDatasetDto, DatasetRawImportCapabilitiesDto } from '@proofhound/shared';
|
|
2
|
+
import { type TranslationKey } from '../../i18n';
|
|
3
|
+
export declare const DATASET_IMAGE_SAMPLE_DOWNLOADS: Array<{
|
|
4
|
+
labelKey: TranslationKey;
|
|
5
|
+
href: string;
|
|
6
|
+
fileName: string;
|
|
7
|
+
}>;
|
|
8
|
+
export declare function formatFileSize(bytes: number): string;
|
|
9
|
+
export declare function estimateUploadProgressBytes(sourceFile: CreateDatasetDto['uploadSource']): number;
|
|
10
|
+
export type DatasetUploadImportPath = 'sync' | 'buffered' | 'streaming' | 'raw';
|
|
11
|
+
export declare function selectDatasetUploadImportPath({ file, isLargeFile, parsedSampleCount, rawImportCapabilities, }: {
|
|
12
|
+
file: Pick<File, 'name' | 'size'>;
|
|
13
|
+
isLargeFile: boolean;
|
|
14
|
+
parsedSampleCount: number;
|
|
15
|
+
rawImportCapabilities: DatasetRawImportCapabilitiesDto | null;
|
|
16
|
+
}): DatasetUploadImportPath;
|
|
17
|
+
export declare function projectBufferedSampleBatches(samples: Array<Record<string, unknown>>, columns: string[], size: number, signal?: AbortSignal): AsyncGenerator<Record<string, unknown>[], void, any>;
|
|
1
18
|
export declare function DatasetUploadPage({ projectId }: {
|
|
2
19
|
projectId: string;
|
|
3
20
|
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataset-upload-page.d.ts","sourceRoot":"","sources":["../../../src/screens/datasets/dataset-upload-page.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dataset-upload-page.d.ts","sourceRoot":"","sources":["../../../src/screens/datasets/dataset-upload-page.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,gBAAgB,EAIhB,+BAA+B,EAChC,MAAM,oBAAoB,CAAC;AA8B5B,OAAO,EAAW,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AA8B1D,eAAO,MAAM,8BAA8B,EAAE,KAAK,CAAC;IACjD,QAAQ,EAAE,cAAc,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAqBA,CAAC;AAqDF,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,UAK3C;AA+ED,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,gBAAgB,CAAC,cAAc,CAAC,UAEvF;AAYD,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,KAAK,CAAC;AAoChF,wBAAgB,6BAA6B,CAAC,EAC5C,IAAI,EACJ,WAAW,EACX,iBAAiB,EACjB,qBAAqB,GACtB,EAAE;IACD,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,+BAA+B,GAAG,IAAI,CAAC;CAC/D,GAAG,uBAAuB,CAc1B;AAkBD,wBAAuB,4BAA4B,CACjD,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACvC,OAAO,EAAE,MAAM,EAAE,EACjB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,WAAW,wDAYrB;AAoFD,wBAAgB,iBAAiB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,2CAk0BrE"}
|