digitaltwin-core 0.12.3 → 0.13.1

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.
@@ -92,27 +92,19 @@ export declare abstract class TilesetManager extends AssetsManager implements As
92
92
  */
93
93
  handleUpload(req: any): Promise<DataResponse>;
94
94
  /**
95
- * Handle upload asynchronously by queuing a job
96
- * @private
95
+ * Queue upload for background processing. Returns HTTP 202 immediately.
97
96
  */
98
97
  private handleAsyncUpload;
99
98
  /**
100
- * Handle upload synchronously (original behavior)
101
- * @private
99
+ * Process upload synchronously (fallback when queue unavailable).
102
100
  */
103
101
  private handleSyncUpload;
104
102
  /**
105
- * Get the status of an upload job
103
+ * Get upload status for polling. Returns: pending | processing | completed | failed
106
104
  */
107
105
  handleGetStatus(req: any): Promise<DataResponse>;
108
106
  /**
109
- * Serve an extracted file from the tileset.
110
- *
111
- * This endpoint allows Cesium to load tileset.json and all referenced files
112
- * (tiles, textures, etc.) using relative paths.
113
- *
114
- * @param req - HTTP request with params.id and params['0'] (file path)
115
- * @returns DataResponse with file content
107
+ * Serve extracted tileset file (tileset.json, .b3dm, textures, etc.)
116
108
  */
117
109
  handleGetFile(req: any): Promise<DataResponse>;
118
110
  /**
@@ -124,7 +116,7 @@ export declare abstract class TilesetManager extends AssetsManager implements As
124
116
  */
125
117
  retrieve(req?: any): Promise<DataResponse>;
126
118
  /**
127
- * Override delete to clean up all extracted files.
119
+ * Delete tileset and all extracted files from storage.
128
120
  */
129
121
  handleDelete(req: any): Promise<DataResponse>;
130
122
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"tileset_manager.d.ts","sourceRoot":"","sources":["../../src/components/tileset_manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAIxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAExD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAGnC;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,IAAI,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB,UAAU,CAAC,EAAE;QACT,KAAK,EAAE,KAAK,CAAC;YACT,IAAI,EAAE,MAAM,CAAA;YACZ,IAAI,EAAE,MAAM,CAAA;YACZ,IAAI,EAAE,MAAM,CAAA;SACf,CAAC,CAAA;QACF,SAAS,CAAC,EAAE,MAAM,CAAA;KACrB,CAAA;CACJ;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,8BAAsB,cAAe,SAAQ,aAAc,YAAW,eAAe;IACjF,6DAA6D;IAC7D,SAAS,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,CAAO;IAE1C;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAGlC;;;;;;;;;;;;;;;;OAgBG;IACG,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;IAmInD;;;OAGG;YACW,iBAAiB;IAiE/B;;;OAGG;YACW,gBAAgB;IA0G9B;;OAEG;IACG,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;IA8DtD;;;;;;;;OAQG;IACG,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;IA4HpD;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAoB7B;;OAEG;IACG,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;IA+DhD;;OAEG;IACG,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;IAgGnD;;OAEG;IACH,YAAY,IAAI,KAAK,CAAC;QAClB,MAAM,EAAE,UAAU,CAAA;QAClB,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;QAChC,YAAY,CAAC,EAAE,MAAM,CAAA;KACxB,CAAC;IA2CF;;OAEG;IACH,cAAc,IAAI,oBAAoB;CAmGzC"}
1
+ {"version":3,"file":"tileset_manager.d.ts","sourceRoot":"","sources":["../../src/components/tileset_manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAIxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAExD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAGnC;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,IAAI,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB,UAAU,CAAC,EAAE;QACT,KAAK,EAAE,KAAK,CAAC;YACT,IAAI,EAAE,MAAM,CAAA;YACZ,IAAI,EAAE,MAAM,CAAA;YACZ,IAAI,EAAE,MAAM,CAAA;SACf,CAAC,CAAA;QACF,SAAS,CAAC,EAAE,MAAM,CAAA;KACrB,CAAA;CACJ;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,8BAAsB,cAAe,SAAQ,aAAc,YAAW,eAAe;IACjF,6DAA6D;IAC7D,SAAS,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,CAAO;IAE1C;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAGlC;;;;;;;;;;;;;;;;OAgBG;IACG,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;IAuFnD;;OAEG;YACW,iBAAiB;IAiE/B;;OAEG;YACW,gBAAgB;IAyE9B;;OAEG;IACG,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;IA0EtD;;OAEG;IACG,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;IAsFpD;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAoB7B;;OAEG;IACG,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;IA+DhD;;OAEG;IACG,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;IA8FnD;;OAEG;IACH,YAAY,IAAI,KAAK,CAAC;QAClB,MAAM,EAAE,UAAU,CAAA;QAClB,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;QAChC,YAAY,CAAC,EAAE,MAAM,CAAA;KACxB,CAAC;IA2CF;;OAEG;IACH,cAAc,IAAI,oBAAoB;CAmGzC"}
@@ -76,29 +76,24 @@ export class TilesetManager extends AssetsManager {
76
76
  if (!req || !req.body) {
77
77
  return {
78
78
  status: 400,
79
- content: JSON.stringify({
80
- error: 'Invalid request: missing request body'
81
- }),
79
+ content: JSON.stringify({ error: 'Invalid request: missing request body' }),
82
80
  headers: { 'Content-Type': 'application/json' }
83
81
  };
84
82
  }
85
- // Check authentication (skip if auth is disabled)
83
+ // Authenticate user
86
84
  let userId;
87
85
  if (AuthConfig.isAuthDisabled()) {
88
- const anonymousUser = {
86
+ const userRecord = await this.userService.findOrCreateUser({
89
87
  id: AuthConfig.getAnonymousUserId(),
90
88
  roles: []
91
- };
92
- const userRecord = await this.userService.findOrCreateUser(anonymousUser);
89
+ });
93
90
  userId = userRecord.id;
94
91
  }
95
92
  else {
96
93
  if (!ApisixAuthParser.hasValidAuth(req.headers || {})) {
97
94
  return {
98
95
  status: 401,
99
- content: JSON.stringify({
100
- error: 'Authentication required'
101
- }),
96
+ content: JSON.stringify({ error: 'Authentication required' }),
102
97
  headers: { 'Content-Type': 'application/json' }
103
98
  };
104
99
  }
@@ -106,9 +101,7 @@ export class TilesetManager extends AssetsManager {
106
101
  if (!authUser) {
107
102
  return {
108
103
  status: 401,
109
- content: JSON.stringify({
110
- error: 'Invalid authentication headers'
111
- }),
104
+ content: JSON.stringify({ error: 'Invalid authentication headers' }),
112
105
  headers: { 'Content-Type': 'application/json' }
113
106
  };
114
107
  }
@@ -116,9 +109,7 @@ export class TilesetManager extends AssetsManager {
116
109
  if (!userRecord.id) {
117
110
  return {
118
111
  status: 500,
119
- content: JSON.stringify({
120
- error: 'Failed to retrieve user information'
121
- }),
112
+ content: JSON.stringify({ error: 'Failed to retrieve user information' }),
122
113
  headers: { 'Content-Type': 'application/json' }
123
114
  };
124
115
  }
@@ -128,137 +119,107 @@ export class TilesetManager extends AssetsManager {
128
119
  const filePath = req.file?.path;
129
120
  const fileBuffer = req.file?.buffer;
130
121
  const filename = req.file?.originalname || req.body.filename;
131
- // Support both disk storage (filePath) and memory storage (fileBuffer)
122
+ // Cleanup temp file and return error response
123
+ const cleanupAndReturn = async (status, error) => {
124
+ if (filePath)
125
+ await fs.unlink(filePath).catch(() => { });
126
+ return { status, content: JSON.stringify({ error }), headers: { 'Content-Type': 'application/json' } };
127
+ };
132
128
  if (!filePath && !fileBuffer) {
133
129
  return {
134
130
  status: 400,
135
- content: JSON.stringify({
136
- error: 'Missing required fields: ZIP file'
137
- }),
138
- headers: { 'Content-Type': 'application/json' }
139
- };
140
- }
141
- if (!description) {
142
- return {
143
- status: 400,
144
- content: JSON.stringify({
145
- error: 'Missing required fields: description'
146
- }),
147
- headers: { 'Content-Type': 'application/json' }
148
- };
149
- }
150
- if (!filename) {
151
- return {
152
- status: 400,
153
- content: JSON.stringify({
154
- error: 'Filename could not be determined from uploaded file'
155
- }),
156
- headers: { 'Content-Type': 'application/json' }
157
- };
158
- }
159
- // Validate ZIP file extension
160
- if (!filename.toLowerCase().endsWith('.zip')) {
161
- return {
162
- status: 400,
163
- content: JSON.stringify({
164
- error: 'Invalid file extension. Expected: .zip'
165
- }),
131
+ content: JSON.stringify({ error: 'Missing required fields: ZIP file' }),
166
132
  headers: { 'Content-Type': 'application/json' }
167
133
  };
168
134
  }
135
+ if (!description)
136
+ return cleanupAndReturn(400, 'Missing required fields: description');
137
+ if (!filename)
138
+ return cleanupAndReturn(400, 'Filename could not be determined from uploaded file');
139
+ if (!filename.toLowerCase().endsWith('.zip'))
140
+ return cleanupAndReturn(400, 'Invalid file extension. Expected: .zip');
169
141
  const config = this.getConfiguration();
170
- // Debug: log upload mode selection
171
- console.log(`[TilesetManager] Upload: queue=${!!this.uploadQueue}, filePath=${!!filePath}, fileBuffer=${!!fileBuffer}`);
172
- // ASYNC MODE: Queue job for background processing (requires disk storage)
142
+ // Route to async or sync handler based on queue availability
173
143
  if (this.uploadQueue && filePath) {
174
- console.log(`[TilesetManager] Using ASYNC mode for ${filename}`);
175
144
  return this.handleAsyncUpload(req, userId, filePath, filename, description, config);
176
145
  }
177
- // SYNC MODE: Process immediately (fallback or memory buffer)
178
- console.log(`[TilesetManager] Using SYNC mode for ${filename}`);
179
146
  return this.handleSyncUpload(req, userId, filePath, fileBuffer, filename, description, config);
180
147
  }
181
148
  catch (error) {
149
+ if (req.file?.path)
150
+ await fs.unlink(req.file.path).catch(() => { });
182
151
  return {
183
152
  status: 500,
184
- content: JSON.stringify({
185
- error: error instanceof Error ? error.message : 'Unknown error'
186
- }),
153
+ content: JSON.stringify({ error: error instanceof Error ? error.message : 'Unknown error' }),
187
154
  headers: { 'Content-Type': 'application/json' }
188
155
  };
189
156
  }
190
157
  }
191
158
  /**
192
- * Handle upload asynchronously by queuing a job
193
- * @private
159
+ * Queue upload for background processing. Returns HTTP 202 immediately.
194
160
  */
195
161
  async handleAsyncUpload(req, userId, filePath, filename, description, config) {
196
- const now = new Date();
197
- // Create a pending record in the database
198
- const metadata = {
199
- name: config.name,
200
- type: 'application/json',
201
- url: '', // Will be set by worker after extraction
202
- date: now,
203
- description,
204
- source: req.body.source || '',
205
- owner_id: userId,
206
- filename: filename,
207
- is_public: req.body.is_public !== undefined ? Boolean(req.body.is_public) : true,
208
- upload_status: 'pending'
209
- };
210
- const savedRecord = await this.db.save(metadata);
211
- const recordId = savedRecord.id;
212
- // Queue the processing job
213
- const jobData = {
214
- type: 'tileset',
215
- recordId,
216
- tempFilePath: filePath,
217
- componentName: config.name,
218
- userId,
219
- filename,
220
- description
221
- };
222
- // uploadQueue is guaranteed to exist here (checked in handleUpload)
223
- const job = await this.uploadQueue?.add(`tileset-${recordId}`, jobData, {
224
- jobId: `tileset-upload-${recordId}`
225
- });
226
- if (!job) {
227
- throw new Error('Failed to queue upload job');
162
+ let recordId = null;
163
+ try {
164
+ // Create pending record - will be updated by worker when complete
165
+ const metadata = {
166
+ name: config.name,
167
+ type: 'application/json',
168
+ url: '',
169
+ date: new Date(),
170
+ description,
171
+ source: req.body.source || '',
172
+ owner_id: userId,
173
+ filename,
174
+ is_public: req.body.is_public !== undefined ? Boolean(req.body.is_public) : true,
175
+ upload_status: 'pending'
176
+ };
177
+ const savedRecord = await this.db.save(metadata);
178
+ recordId = savedRecord.id;
179
+ const jobData = {
180
+ type: 'tileset',
181
+ recordId,
182
+ tempFilePath: filePath,
183
+ componentName: config.name,
184
+ userId,
185
+ filename,
186
+ description
187
+ };
188
+ const job = await this.uploadQueue?.add(`tileset-${recordId}`, jobData, {
189
+ jobId: `tileset-upload-${recordId}`
190
+ });
191
+ if (!job)
192
+ throw new Error('Failed to queue upload job');
193
+ await this.db.updateById(config.name, recordId, { upload_job_id: job.id });
194
+ return {
195
+ status: 202,
196
+ content: JSON.stringify({
197
+ message: 'Tileset upload accepted, processing in background',
198
+ id: recordId,
199
+ job_id: job.id,
200
+ status: 'pending',
201
+ status_url: `/${config.endpoint}/${recordId}/status`
202
+ }),
203
+ headers: { 'Content-Type': 'application/json' }
204
+ };
205
+ }
206
+ catch (error) {
207
+ // Cleanup on failure: remove DB record and temp file
208
+ if (recordId !== null)
209
+ await this.db.delete(String(recordId), config.name).catch(() => { });
210
+ await fs.unlink(filePath).catch(() => { });
211
+ throw error;
228
212
  }
229
- // Update record with job ID
230
- await this.db.updateById(config.name, recordId, {
231
- upload_job_id: job.id
232
- });
233
- return {
234
- status: 202, // Accepted - processing started
235
- content: JSON.stringify({
236
- message: 'Tileset upload accepted, processing in background',
237
- id: recordId,
238
- job_id: job.id,
239
- status: 'pending',
240
- status_url: `/${config.endpoint}/${recordId}/status`
241
- }),
242
- headers: { 'Content-Type': 'application/json' }
243
- };
244
213
  }
245
214
  /**
246
- * Handle upload synchronously (original behavior)
247
- * @private
215
+ * Process upload synchronously (fallback when queue unavailable).
248
216
  */
249
217
  async handleSyncUpload(req, userId, filePath, fileBuffer, filename, description, config) {
250
- // Read ZIP file content
251
218
  let zipBuffer;
252
219
  try {
253
- if (fileBuffer) {
254
- zipBuffer = fileBuffer;
255
- }
256
- else if (filePath) {
257
- zipBuffer = await fs.readFile(filePath);
258
- }
259
- else {
220
+ zipBuffer = fileBuffer || (filePath ? await fs.readFile(filePath) : null);
221
+ if (!zipBuffer)
260
222
  throw new Error('No file data available');
261
- }
262
223
  }
263
224
  catch (error) {
264
225
  return {
@@ -271,49 +232,33 @@ export class TilesetManager extends AssetsManager {
271
232
  }
272
233
  try {
273
234
  const now = new Date();
274
- // Generate unique ID for this tileset (timestamp-based)
275
- const tilesetId = now.getTime().toString();
276
- // Base path for storing extracted files: componentName/tilesetId
277
- const basePath = `${config.name}/${tilesetId}`;
278
- // Extract ZIP and store all files individually
235
+ const basePath = `${config.name}/${now.getTime()}`;
279
236
  const extractResult = await extractAndStoreArchive(zipBuffer, this.storage, basePath);
280
- // Validate that we found a tileset.json
281
237
  if (!extractResult.root_file) {
282
- // Clean up stored files if no tileset.json found using batch delete
283
238
  if (extractResult.files.length > 0) {
284
- const filePaths = extractResult.files.map(file => file.path);
285
- await this.storage.deleteBatch(filePaths);
239
+ await this.storage.deleteBatch(extractResult.files.map(f => f.path));
286
240
  }
287
241
  return {
288
242
  status: 400,
289
- content: JSON.stringify({
290
- error: 'Invalid tileset: no tileset.json found in the ZIP archive'
291
- }),
243
+ content: JSON.stringify({ error: 'Invalid tileset: no tileset.json found in the ZIP archive' }),
292
244
  headers: { 'Content-Type': 'application/json' }
293
245
  };
294
246
  }
295
- // Create metadata with file_index
296
- // url stores the base path for all extracted files
297
247
  const metadata = {
298
248
  name: config.name,
299
- type: 'application/json', // tileset.json content type
300
- url: basePath, // Base path for all files (componentName/timestamp)
249
+ type: 'application/json',
250
+ url: basePath,
301
251
  date: now,
302
252
  description,
303
253
  source: req.body.source || '',
304
254
  owner_id: userId,
305
- filename: filename,
255
+ filename,
306
256
  is_public: req.body.is_public !== undefined ? Boolean(req.body.is_public) : true,
307
- file_index: {
308
- files: extractResult.files,
309
- root_file: extractResult.root_file
310
- }
257
+ file_index: { files: extractResult.files, root_file: extractResult.root_file }
311
258
  };
312
259
  const savedRecord = await this.db.save(metadata);
313
- // Clean up temporary file after successful upload
314
- if (filePath) {
260
+ if (filePath)
315
261
  await fs.unlink(filePath).catch(() => { });
316
- }
317
262
  return {
318
263
  status: 200,
319
264
  content: JSON.stringify({
@@ -327,15 +272,13 @@ export class TilesetManager extends AssetsManager {
327
272
  };
328
273
  }
329
274
  catch (error) {
330
- // Clean up temporary file even on error
331
- if (filePath) {
275
+ if (filePath)
332
276
  await fs.unlink(filePath).catch(() => { });
333
- }
334
277
  throw error;
335
278
  }
336
279
  }
337
280
  /**
338
- * Get the status of an upload job
281
+ * Get upload status for polling. Returns: pending | processing | completed | failed
339
282
  */
340
283
  async handleGetStatus(req) {
341
284
  try {
@@ -357,22 +300,34 @@ export class TilesetManager extends AssetsManager {
357
300
  }
358
301
  const config = this.getConfiguration();
359
302
  const record = asset;
360
- // If completed, return full info
361
- if (!record.upload_status || record.upload_status === 'completed') {
362
- const fileIndex = record.file_index;
363
- const rootFile = fileIndex?.root_file || 'tileset.json';
303
+ const fileIndex = record.file_index;
304
+ // Completed if upload_status says so, or legacy sync upload with file_index
305
+ const isCompleted = record.upload_status === 'completed' ||
306
+ (!record.upload_status && fileIndex?.files && fileIndex.files.length > 0);
307
+ if (isCompleted) {
364
308
  return {
365
309
  status: 200,
366
310
  content: JSON.stringify({
367
311
  id: record.id,
368
312
  status: 'completed',
369
- tileset_url: `/${config.endpoint}/${record.id}/files/${rootFile}`,
313
+ tileset_url: `/${config.endpoint}/${record.id}/files/${fileIndex?.root_file || 'tileset.json'}`,
370
314
  file_count: fileIndex?.files?.length || 0
371
315
  }),
372
316
  headers: { 'Content-Type': 'application/json' }
373
317
  };
374
318
  }
375
- // Return current status
319
+ // Broken record: no status and no files
320
+ if (!record.upload_status) {
321
+ return {
322
+ status: 200,
323
+ content: JSON.stringify({
324
+ id: record.id,
325
+ status: 'failed',
326
+ error: 'Upload incomplete - no files found'
327
+ }),
328
+ headers: { 'Content-Type': 'application/json' }
329
+ };
330
+ }
376
331
  return {
377
332
  status: 200,
378
333
  content: JSON.stringify({
@@ -387,105 +342,72 @@ export class TilesetManager extends AssetsManager {
387
342
  catch (error) {
388
343
  return {
389
344
  status: 500,
390
- content: JSON.stringify({
391
- error: error instanceof Error ? error.message : 'Unknown error'
392
- }),
345
+ content: JSON.stringify({ error: error instanceof Error ? error.message : 'Unknown error' }),
393
346
  headers: { 'Content-Type': 'application/json' }
394
347
  };
395
348
  }
396
349
  }
397
350
  /**
398
- * Serve an extracted file from the tileset.
399
- *
400
- * This endpoint allows Cesium to load tileset.json and all referenced files
401
- * (tiles, textures, etc.) using relative paths.
402
- *
403
- * @param req - HTTP request with params.id and params['0'] (file path)
404
- * @returns DataResponse with file content
351
+ * Serve extracted tileset file (tileset.json, .b3dm, textures, etc.)
405
352
  */
406
353
  async handleGetFile(req) {
407
354
  try {
408
355
  const { id } = req.params || {};
409
- // Express/ultimate-express captures wildcard path in different ways:
410
- // - Express 4.x: params[0] or params['0']
411
- // - Express 5.x / ultimate-express: params['*'] or via URL parsing
356
+ // Extract file path from wildcard param (Express 4.x/5.x compatibility)
412
357
  let filePath = req.params[0] || req.params['0'] || req.params['*'] || req.params.path || req.params['*0'];
413
- // Fallback: extract from URL if params didn't capture it
414
358
  if (!filePath && req.url) {
415
359
  const match = req.url.match(/\/files\/(.+)$/);
416
- if (match) {
360
+ if (match)
417
361
  filePath = decodeURIComponent(match[1]);
418
- }
419
362
  }
420
- // Another fallback: use originalUrl
421
363
  if (!filePath && req.originalUrl) {
422
364
  const match = req.originalUrl.match(/\/files\/(.+)$/);
423
- if (match) {
365
+ if (match)
424
366
  filePath = decodeURIComponent(match[1]);
425
- }
426
367
  }
427
- if (!id) {
368
+ if (!id)
428
369
  return {
429
370
  status: 400,
430
371
  content: JSON.stringify({ error: 'Asset ID is required' }),
431
372
  headers: { 'Content-Type': 'application/json' }
432
373
  };
433
- }
434
- if (!filePath) {
374
+ if (!filePath)
435
375
  return {
436
376
  status: 400,
437
377
  content: JSON.stringify({ error: 'File path is required' }),
438
378
  headers: { 'Content-Type': 'application/json' }
439
379
  };
440
- }
441
- // Get asset metadata
442
380
  const asset = await this.getAssetById(id);
443
- if (!asset) {
444
- return {
445
- status: 404,
446
- content: JSON.stringify({ error: 'Tileset not found' }),
447
- headers: { 'Content-Type': 'application/json' }
448
- };
449
- }
450
- // Verify this asset belongs to our component
451
381
  const config = this.getConfiguration();
452
- if (asset.name !== config.name) {
382
+ if (!asset || asset.name !== config.name) {
453
383
  return {
454
384
  status: 404,
455
385
  content: JSON.stringify({ error: 'Tileset not found' }),
456
386
  headers: { 'Content-Type': 'application/json' }
457
387
  };
458
388
  }
459
- // Check access permissions for private assets
460
- if (!asset.is_public) {
461
- if (ApisixAuthParser.isAdmin(req.headers || {})) {
462
- // Admin can access everything
463
- }
464
- else if (!ApisixAuthParser.hasValidAuth(req.headers || {})) {
389
+ // Check access for private assets
390
+ if (!asset.is_public && !ApisixAuthParser.isAdmin(req.headers || {})) {
391
+ if (!ApisixAuthParser.hasValidAuth(req.headers || {})) {
465
392
  return {
466
393
  status: 401,
467
394
  content: JSON.stringify({ error: 'Authentication required for private assets' }),
468
395
  headers: { 'Content-Type': 'application/json' }
469
396
  };
470
397
  }
471
- else {
472
- const authUser = ApisixAuthParser.parseAuthHeaders(req.headers || {});
473
- if (authUser) {
474
- const userRecord = await this.userService.findOrCreateUser(authUser);
475
- if (!userRecord.id || asset.owner_id !== userRecord.id) {
476
- return {
477
- status: 403,
478
- content: JSON.stringify({ error: 'This asset is private' }),
479
- headers: { 'Content-Type': 'application/json' }
480
- };
481
- }
398
+ const authUser = ApisixAuthParser.parseAuthHeaders(req.headers || {});
399
+ if (authUser) {
400
+ const userRecord = await this.userService.findOrCreateUser(authUser);
401
+ if (!userRecord.id || asset.owner_id !== userRecord.id) {
402
+ return {
403
+ status: 403,
404
+ content: JSON.stringify({ error: 'This asset is private' }),
405
+ headers: { 'Content-Type': 'application/json' }
406
+ };
482
407
  }
483
408
  }
484
409
  }
485
- // Build storage path using asset.url as base path
486
- // asset.url contains the base path (e.g., 'tilesets_manager/1733064000000')
487
410
  const storagePath = `${asset.url}/${filePath}`;
488
- // Retrieve file from storage
489
411
  let fileContent;
490
412
  try {
491
413
  fileContent = await this.storage.retrieve(storagePath);
@@ -497,23 +419,16 @@ export class TilesetManager extends AssetsManager {
497
419
  headers: { 'Content-Type': 'application/json' }
498
420
  };
499
421
  }
500
- // Determine content type based on file extension
501
- const contentType = this.getContentTypeForFile(filePath);
502
422
  return {
503
423
  status: 200,
504
424
  content: fileContent,
505
- headers: {
506
- 'Content-Type': contentType,
507
- 'Access-Control-Allow-Origin': '*'
508
- }
425
+ headers: { 'Content-Type': this.getContentTypeForFile(filePath), 'Access-Control-Allow-Origin': '*' }
509
426
  };
510
427
  }
511
428
  catch (error) {
512
429
  return {
513
430
  status: 500,
514
- content: JSON.stringify({
515
- error: error instanceof Error ? error.message : 'Unknown error'
516
- }),
431
+ content: JSON.stringify({ error: error instanceof Error ? error.message : 'Unknown error' }),
517
432
  headers: { 'Content-Type': 'application/json' }
518
433
  };
519
434
  }
@@ -599,18 +514,17 @@ export class TilesetManager extends AssetsManager {
599
514
  }
600
515
  }
601
516
  /**
602
- * Override delete to clean up all extracted files.
517
+ * Delete tileset and all extracted files from storage.
603
518
  */
604
519
  async handleDelete(req) {
605
520
  try {
606
- // Check authentication (skip if auth is disabled)
521
+ // Authenticate user
607
522
  let userId;
608
523
  if (AuthConfig.isAuthDisabled()) {
609
- const anonymousUser = {
524
+ const userRecord = await this.userService.findOrCreateUser({
610
525
  id: AuthConfig.getAnonymousUserId(),
611
526
  roles: []
612
- };
613
- const userRecord = await this.userService.findOrCreateUser(anonymousUser);
527
+ });
614
528
  userId = userRecord.id;
615
529
  }
616
530
  else {
@@ -640,23 +554,20 @@ export class TilesetManager extends AssetsManager {
640
554
  userId = userRecord.id;
641
555
  }
642
556
  const { id } = req.params || {};
643
- if (!id) {
557
+ if (!id)
644
558
  return {
645
559
  status: 400,
646
560
  content: JSON.stringify({ error: 'Asset ID is required' }),
647
561
  headers: { 'Content-Type': 'application/json' }
648
562
  };
649
- }
650
- // Get asset metadata
651
563
  const asset = await this.getAssetById(id);
652
- if (!asset) {
564
+ if (!asset)
653
565
  return {
654
566
  status: 404,
655
567
  content: JSON.stringify({ error: 'Tileset not found' }),
656
568
  headers: { 'Content-Type': 'application/json' }
657
569
  };
658
- }
659
- // Check ownership (admins can delete any asset)
570
+ // Check ownership (admins can delete any)
660
571
  const isAdmin = ApisixAuthParser.isAdmin(req.headers || {});
661
572
  if (!isAdmin && asset.owner_id !== null && asset.owner_id !== userId) {
662
573
  return {
@@ -665,13 +576,20 @@ export class TilesetManager extends AssetsManager {
665
576
  headers: { 'Content-Type': 'application/json' }
666
577
  };
667
578
  }
668
- // Delete all extracted files from storage using batch delete for performance
579
+ // Block deletion while upload in progress to prevent orphan files
580
+ const record = asset;
581
+ if (record.upload_status === 'pending' || record.upload_status === 'processing') {
582
+ return {
583
+ status: 409,
584
+ content: JSON.stringify({ error: 'Cannot delete tileset while upload is in progress' }),
585
+ headers: { 'Content-Type': 'application/json' }
586
+ };
587
+ }
588
+ // Delete all files from storage
669
589
  const fileIndex = asset.file_index;
670
- if (fileIndex?.files && fileIndex.files.length > 0) {
671
- const filePaths = fileIndex.files.map(file => file.path);
672
- await this.storage.deleteBatch(filePaths);
590
+ if (fileIndex?.files?.length) {
591
+ await this.storage.deleteBatch(fileIndex.files.map(f => f.path));
673
592
  }
674
- // Delete database record
675
593
  await this.deleteAssetById(id);
676
594
  return {
677
595
  status: 200,
@@ -682,9 +600,7 @@ export class TilesetManager extends AssetsManager {
682
600
  catch (error) {
683
601
  return {
684
602
  status: 500,
685
- content: JSON.stringify({
686
- error: error instanceof Error ? error.message : 'Unknown error'
687
- }),
603
+ content: JSON.stringify({ error: error instanceof Error ? error.message : 'Unknown error' }),
688
604
  headers: { 'Content-Type': 'application/json' }
689
605
  };
690
606
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tileset_manager.js","sourceRoot":"","sources":["../../src/components/tileset_manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tileset_manager.js","sourceRoot":"","sources":["../../src/components/tileset_manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAInD,OAAO,EAAE,sBAAsB,EAA+B,MAAM,uBAAuB,CAAA;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAInD,OAAO,EAAE,MAAM,aAAa,CAAA;AA2B5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,OAAgB,cAAe,SAAQ,aAAa;IAA1D;;QACI,6DAA6D;QACnD,gBAAW,GAAiB,IAAI,CAAA;IA0vB9C,CAAC;IAxvBG;;;OAGG;IACH,cAAc,CAAC,KAAY;QACvB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;IAC5B,CAAC;IACD;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,YAAY,CAAC,GAAQ;QACvB,IAAI,CAAC;YACD,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACpB,OAAO;oBACH,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,uCAAuC,EAAE,CAAC;oBAC3E,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;iBAClD,CAAA;YACL,CAAC;YAED,oBAAoB;YACpB,IAAI,MAAc,CAAA;YAClB,IAAI,UAAU,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC9B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC;oBACvD,EAAE,EAAE,UAAU,CAAC,kBAAkB,EAAE;oBACnC,KAAK,EAAE,EAAE;iBACZ,CAAC,CAAA;gBACF,MAAM,GAAG,UAAU,CAAC,EAAY,CAAA;YACpC,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;oBACpD,OAAO;wBACH,MAAM,EAAE,GAAG;wBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC;wBAC7D,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;qBAClD,CAAA;gBACL,CAAC;gBAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;gBACrE,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACZ,OAAO;wBACH,MAAM,EAAE,GAAG;wBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;wBACpE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;qBAClD,CAAA;gBACL,CAAC;gBAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;gBACpE,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;oBACjB,OAAO;wBACH,MAAM,EAAE,GAAG;wBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,qCAAqC,EAAE,CAAC;wBACzE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;qBAClD,CAAA;gBACL,CAAC;gBACD,MAAM,GAAG,UAAU,CAAC,EAAE,CAAA;YAC1B,CAAC;YAED,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,IAAI,CAAA;YAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,CAAA;YAC/B,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,MAAM,CAAA;YACnC,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,YAAY,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAA;YAE5D,8CAA8C;YAC9C,MAAM,gBAAgB,GAAG,KAAK,EAAE,MAAc,EAAE,KAAa,EAAyB,EAAE;gBACpF,IAAI,QAAQ;oBAAE,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;gBACvD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,CAAA;YAC1G,CAAC,CAAA;YAED,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC3B,OAAO;oBACH,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC;oBACvE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;iBAClD,CAAA;YACL,CAAC;YACD,IAAI,CAAC,WAAW;gBAAE,OAAO,gBAAgB,CAAC,GAAG,EAAE,sCAAsC,CAAC,CAAA;YACtF,IAAI,CAAC,QAAQ;gBAAE,OAAO,gBAAgB,CAAC,GAAG,EAAE,qDAAqD,CAAC,CAAA;YAClG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACxC,OAAO,gBAAgB,CAAC,GAAG,EAAE,wCAAwC,CAAC,CAAA;YAE1E,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;YAEtC,6DAA6D;YAC7D,IAAI,IAAI,CAAC,WAAW,IAAI,QAAQ,EAAE,CAAC;gBAC/B,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;YACvF,CAAC;YACD,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;QAClG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI;gBAAE,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;YAClE,OAAO;gBACH,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;gBAC5F,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;aAClD,CAAA;QACL,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAC3B,GAAQ,EACR,MAAc,EACd,QAAgB,EAChB,QAAgB,EAChB,WAAmB,EACnB,MAAgD;QAEhD,IAAI,QAAQ,GAAkB,IAAI,CAAA;QAElC,IAAI,CAAC;YACD,kEAAkE;YAClE,MAAM,QAAQ,GAA2E;gBACrF,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,kBAAkB;gBACxB,GAAG,EAAE,EAAE;gBACP,IAAI,EAAE,IAAI,IAAI,EAAE;gBAChB,WAAW;gBACX,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE;gBAC7B,QAAQ,EAAE,MAAM;gBAChB,QAAQ;gBACR,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;gBAChF,aAAa,EAAE,SAAS;aAC3B,CAAA;YAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAChD,QAAQ,GAAG,WAAW,CAAC,EAAY,CAAA;YAEnC,MAAM,OAAO,GAAyB;gBAClC,IAAI,EAAE,SAAS;gBACf,QAAQ;gBACR,YAAY,EAAE,QAAQ;gBACtB,aAAa,EAAE,MAAM,CAAC,IAAI;gBAC1B,MAAM;gBACN,QAAQ;gBACR,WAAW;aACd,CAAA;YAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,WAAW,QAAQ,EAAE,EAAE,OAAO,EAAE;gBACpE,KAAK,EAAE,kBAAkB,QAAQ,EAAE;aACtC,CAAC,CAAA;YAEF,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;YAEvD,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;YAE1E,OAAO;gBACH,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;oBACpB,OAAO,EAAE,mDAAmD;oBAC5D,EAAE,EAAE,QAAQ;oBACZ,MAAM,EAAE,GAAG,CAAC,EAAE;oBACd,MAAM,EAAE,SAAS;oBACjB,UAAU,EAAE,IAAI,MAAM,CAAC,QAAQ,IAAI,QAAQ,SAAS;iBACvD,CAAC;gBACF,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;aAClD,CAAA;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,qDAAqD;YACrD,IAAI,QAAQ,KAAK,IAAI;gBAAE,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;YAC1F,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;YACzC,MAAM,KAAK,CAAA;QACf,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAC1B,GAAQ,EACR,MAAc,EACd,QAA4B,EAC5B,UAA8B,EAC9B,QAAgB,EAChB,WAAmB,EACnB,MAAgD;QAEhD,IAAI,SAAiB,CAAA;QACrB,IAAI,CAAC;YACD,SAAS,GAAG,UAAU,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAE,CAAA;YAC1E,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO;gBACH,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;oBACpB,KAAK,EAAE,iCAAiC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE;iBACrG,CAAC;gBACF,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;aAClD,CAAA;QACL,CAAC;QAED,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;YACtB,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAA;YAElD,MAAM,aAAa,GAAG,MAAM,sBAAsB,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YAErF,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;gBAC3B,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;gBACxE,CAAC;gBACD,OAAO;oBACH,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,2DAA2D,EAAE,CAAC;oBAC/F,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;iBAClD,CAAA;YACL,CAAC;YAED,MAAM,QAAQ,GAAuB;gBACjC,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,kBAAkB;gBACxB,GAAG,EAAE,QAAQ;gBACb,IAAI,EAAE,GAAG;gBACT,WAAW;gBACX,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE;gBAC7B,QAAQ,EAAE,MAAM;gBAChB,QAAQ;gBACR,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;gBAChF,UAAU,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,CAAC,SAAS,EAAE;aACjF,CAAA;YAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAChD,IAAI,QAAQ;gBAAE,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;YAEvD,OAAO;gBACH,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;oBACpB,OAAO,EAAE,6CAA6C;oBACtD,EAAE,EAAE,WAAW,CAAC,EAAE;oBAClB,UAAU,EAAE,aAAa,CAAC,UAAU;oBACpC,SAAS,EAAE,aAAa,CAAC,SAAS;oBAClC,WAAW,EAAE,IAAI,MAAM,CAAC,QAAQ,IAAI,WAAW,CAAC,EAAE,UAAU,aAAa,CAAC,SAAS,EAAE;iBACxF,CAAC;gBACF,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;aAClD,CAAA;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,QAAQ;gBAAE,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;YACvD,MAAM,KAAK,CAAA;QACf,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,GAAQ;QAC1B,IAAI,CAAC;YACD,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAA;YAC/B,IAAI,CAAC,EAAE,EAAE,CAAC;gBACN,OAAO;oBACH,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;oBAC1D,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;iBAClD,CAAA;YACL,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;YACzC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,OAAO;oBACH,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;oBACvD,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;iBAClD,CAAA;YACL,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;YACtC,MAAM,MAAM,GAAG,KAAY,CAAA;YAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,UAAgD,CAAA;YAEzE,4EAA4E;YAC5E,MAAM,WAAW,GACb,MAAM,CAAC,aAAa,KAAK,WAAW;gBACpC,CAAC,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS,EAAE,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YAE7E,IAAI,WAAW,EAAE,CAAC;gBACd,OAAO;oBACH,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;wBACpB,EAAE,EAAE,MAAM,CAAC,EAAE;wBACb,MAAM,EAAE,WAAW;wBACnB,WAAW,EAAE,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,EAAE,UAAU,SAAS,EAAE,SAAS,IAAI,cAAc,EAAE;wBAC/F,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;qBAC5C,CAAC;oBACF,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;iBAClD,CAAA;YACL,CAAC;YAED,wCAAwC;YACxC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;gBACxB,OAAO;oBACH,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;wBACpB,EAAE,EAAE,MAAM,CAAC,EAAE;wBACb,MAAM,EAAE,QAAQ;wBAChB,KAAK,EAAE,oCAAoC;qBAC9C,CAAC;oBACF,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;iBAClD,CAAA;YACL,CAAC;YAED,OAAO;gBACH,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;oBACpB,EAAE,EAAE,MAAM,CAAC,EAAE;oBACb,MAAM,EAAE,MAAM,CAAC,aAAa;oBAC5B,MAAM,EAAE,MAAM,CAAC,aAAa;oBAC5B,KAAK,EAAE,MAAM,CAAC,YAAY,IAAI,SAAS;iBAC1C,CAAC;gBACF,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;aAClD,CAAA;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO;gBACH,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;gBAC5F,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;aAClD,CAAA;QACL,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,GAAQ;QACxB,IAAI,CAAC;YACD,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAA;YAE/B,wEAAwE;YACxE,IAAI,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACzG,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;gBACvB,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;gBAC7C,IAAI,KAAK;oBAAE,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YACtD,CAAC;YACD,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;gBACrD,IAAI,KAAK;oBAAE,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YACtD,CAAC;YAED,IAAI,CAAC,EAAE;gBACH,OAAO;oBACH,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;oBAC1D,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;iBAClD,CAAA;YACL,IAAI,CAAC,QAAQ;gBACT,OAAO;oBACH,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;oBAC3D,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;iBAClD,CAAA;YAEL,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;YACzC,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;YACtC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;gBACvC,OAAO;oBACH,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;oBACvD,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;iBAClD,CAAA;YACL,CAAC;YAED,kCAAkC;YAClC,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;gBACnE,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;oBACpD,OAAO;wBACH,MAAM,EAAE,GAAG;wBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,4CAA4C,EAAE,CAAC;wBAChF,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;qBAClD,CAAA;gBACL,CAAC;gBACD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;gBACrE,IAAI,QAAQ,EAAE,CAAC;oBACX,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;oBACpE,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,KAAK,CAAC,QAAQ,KAAK,UAAU,CAAC,EAAE,EAAE,CAAC;wBACrD,OAAO;4BACH,MAAM,EAAE,GAAG;4BACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;4BAC3D,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;yBAClD,CAAA;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;YAED,MAAM,WAAW,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC9C,IAAI,WAAmB,CAAA;YACvB,IAAI,CAAC;gBACD,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;YAC1D,CAAC;YAAC,MAAM,CAAC;gBACL,OAAO;oBACH,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;oBACpD,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;iBAClD,CAAA;YACL,CAAC;YAED,OAAO;gBACH,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,WAAW;gBACpB,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,6BAA6B,EAAE,GAAG,EAAE;aACxG,CAAA;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO;gBACH,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;gBAC5F,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;aAClD,CAAA;QACL,CAAC;IACL,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,QAAgB;QAC1C,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAA;QACnD,MAAM,YAAY,GAA2B;YACzC,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,0BAA0B;YAChC,IAAI,EAAE,0BAA0B;YAChC,IAAI,EAAE,0BAA0B;YAChC,IAAI,EAAE,0BAA0B;YAChC,GAAG,EAAE,mBAAmB;YACxB,IAAI,EAAE,iBAAiB;YACvB,GAAG,EAAE,0BAA0B;YAC/B,GAAG,EAAE,WAAW;YAChB,GAAG,EAAE,YAAY;YACjB,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,YAAY;SACrB,CAAA;QACD,OAAO,YAAY,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,0BAA0B,CAAA;IAChE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,GAAS;QACpB,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;YACxC,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;YACtC,MAAM,OAAO,GAAG,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;YAElE,yCAAyC;YACzC,IAAI,mBAAmB,GAAkB,IAAI,CAAA;YAC7C,IAAI,GAAG,IAAI,gBAAgB,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC1D,MAAM,QAAQ,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;gBACrE,IAAI,QAAQ,EAAE,CAAC;oBACX,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;oBACpE,mBAAmB,GAAG,UAAU,CAAC,EAAE,IAAI,IAAI,CAAA;gBAC/C,CAAC;YACL,CAAC;YAED,+CAA+C;YAC/C,MAAM,aAAa,GAAG,OAAO;gBACzB,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,MAAM,CAAC,MAAM,CACT,KAAK,CAAC,EAAE,CACJ,KAAK,CAAC,SAAS,IAAI,CAAC,mBAAmB,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ,KAAK,mBAAmB,CAAC,CAClG,CAAA;YAEP,oCAAoC;YACpC,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBAC7C,MAAM,SAAS,GAAG,KAAK,CAAC,UAAgD,CAAA;gBACxE,MAAM,QAAQ,GAAG,SAAS,EAAE,SAAS,IAAI,cAAc,CAAA;gBAEvD,OAAO;oBACH,EAAE,EAAE,KAAK,CAAC,EAAE;oBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;oBACpC,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE;oBAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;oBAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;oBAC9B,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;oBAClC,wBAAwB;oBACxB,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;oBACzC,SAAS,EAAE,QAAQ;oBACnB,WAAW,EAAE,IAAI,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE,UAAU,QAAQ,EAAE;oBAChE,cAAc,EAAE,IAAI,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE,QAAQ;iBAC1D,CAAA;YACL,CAAC,CAAC,CAAA;YAEF,OAAO;gBACH,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;gBACvC,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;aAClD,CAAA;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO;gBACH,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;oBACpB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;iBAClE,CAAC;gBACF,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;aAClD,CAAA;QACL,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,GAAQ;QACvB,IAAI,CAAC;YACD,oBAAoB;YACpB,IAAI,MAAc,CAAA;YAClB,IAAI,UAAU,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC9B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC;oBACvD,EAAE,EAAE,UAAU,CAAC,kBAAkB,EAAE;oBACnC,KAAK,EAAE,EAAE;iBACZ,CAAC,CAAA;gBACF,MAAM,GAAG,UAAU,CAAC,EAAY,CAAA;YACpC,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;oBACpD,OAAO;wBACH,MAAM,EAAE,GAAG;wBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC;wBAC7D,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;qBAClD,CAAA;gBACL,CAAC;gBACD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;gBACrE,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACZ,OAAO;wBACH,MAAM,EAAE,GAAG;wBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;wBACpE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;qBAClD,CAAA;gBACL,CAAC;gBACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;gBACpE,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;oBACjB,OAAO;wBACH,MAAM,EAAE,GAAG;wBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,qCAAqC,EAAE,CAAC;wBACzE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;qBAClD,CAAA;gBACL,CAAC;gBACD,MAAM,GAAG,UAAU,CAAC,EAAE,CAAA;YAC1B,CAAC;YAED,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAA;YAC/B,IAAI,CAAC,EAAE;gBACH,OAAO;oBACH,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;oBAC1D,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;iBAClD,CAAA;YAEL,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;YACzC,IAAI,CAAC,KAAK;gBACN,OAAO;oBACH,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;oBACvD,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;iBAClD,CAAA;YAEL,0CAA0C;YAC1C,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;YAC3D,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACnE,OAAO;oBACH,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,qCAAqC,EAAE,CAAC;oBACzE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;iBAClD,CAAA;YACL,CAAC;YAED,kEAAkE;YAClE,MAAM,MAAM,GAAG,KAAY,CAAA;YAC3B,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,IAAI,MAAM,CAAC,aAAa,KAAK,YAAY,EAAE,CAAC;gBAC9E,OAAO;oBACH,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,mDAAmD,EAAE,CAAC;oBACvF,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;iBAClD,CAAA;YACL,CAAC;YAED,gCAAgC;YAChC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAgD,CAAA;YACxE,IAAI,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;gBAC3B,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;YACpE,CAAC;YAED,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;YAC9B,OAAO;gBACH,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC;gBACpE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;aAClD,CAAA;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO;gBACH,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;gBAC5F,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;aAClD,CAAA;QACL,CAAC;IACL,CAAC;IAED;;OAEG;IACH,YAAY;QAMR,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAEtC,iEAAiE;QACjE,MAAM,aAAa,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,MAAM,CAC7C,EAAE,CAAC,EAAE;QACD,sEAAsE;QACtE,kDAAkD;QAClD,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,KAAK,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,MAAM,CAAC,QAAQ,MAAM,CAAC;YAC/D,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,QAAQ,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,MAAM,CAAC,QAAQ,MAAM,CAAC;YAClE,wEAAwE;YACxE,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,KAAK,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,MAAM,CAAC,QAAQ,eAAe,CAAC,CAC/E,CAAA;QAED,sEAAsE;QACtE,0FAA0F;QAC1F,OAAO;YACH,wCAAwC;YACxC;gBACI,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,IAAI,MAAM,CAAC,QAAQ,aAAa;gBACtC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;gBACxC,YAAY,EAAE,kBAAkB;aACnC;YACD,wCAAwC;YACxC;gBACI,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,IAAI,MAAM,CAAC,QAAQ,cAAc;gBACvC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;gBACtC,YAAY,EAAE,0BAA0B;aAC3C;YACD,mDAAmD;YACnD,GAAG,aAAa;YAChB,6DAA6D;YAC7D;gBACI,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,IAAI,MAAM,CAAC,QAAQ,MAAM;gBAC/B,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;gBACrC,YAAY,EAAE,kBAAkB;aACnC;SACJ,CAAA;IACL,CAAC;IAED;;OAEG;IACH,cAAc;QACV,MAAM,UAAU,GAAG,KAAK,CAAC,cAAc,EAAE,CAAA;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACtC,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAA;QACtC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAA;QAE/C,uBAAuB;QACvB,IAAI,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACvD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG;gBAC/C,WAAW,EAAE,6CAA6C;gBAC1D,OAAO,EAAE;oBACL,kBAAkB,EAAE;wBAChB,MAAM,EAAE;4BACJ,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACR,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCAC3B,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,2BAA2B,EAAE;gCACzE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;gCACpE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;6BACxE;yBACJ;qBACJ;iBACJ;aACJ,CAAA;QACL,CAAC;QAED,4BAA4B;QAC5B,UAAU,CAAC,KAAK,CAAC,GAAG,QAAQ,wBAAwB,CAAC,GAAG;YACpD,GAAG,EAAE;gBACD,OAAO,EAAE,kBAAkB;gBAC3B,WAAW,EAAE,yEAAyE;gBACtF,IAAI,EAAE,CAAC,OAAO,CAAC;gBACf,UAAU,EAAE;oBACR;wBACI,IAAI,EAAE,IAAI;wBACV,EAAE,EAAE,MAAM;wBACV,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC1B,WAAW,EAAE,YAAY;qBAC5B;oBACD;wBACI,IAAI,EAAE,UAAU;wBAChB,EAAE,EAAE,MAAM;wBACV,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC1B,WAAW,EAAE,qEAAqE;qBACrF;iBACJ;gBACD,SAAS,EAAE;oBACP,KAAK,EAAE;wBACH,WAAW,EAAE,cAAc;wBAC3B,OAAO,EAAE;4BACL,0BAA0B,EAAE;gCACxB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;6BAC/C;yBACJ;qBACJ;oBACD,KAAK,EAAE,EAAE,WAAW,EAAE,2BAA2B,EAAE;iBACtD;aACJ;SACJ,CAAA;QAED,kCAAkC;QAClC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACrB,UAAU,CAAC,OAAO,CAAC,eAAe,GAAG;gBACjC,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACR,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBACvB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACxB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE;oBAC7C,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC/B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC1B,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAC7C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC5B,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC9B,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,4BAA4B,EAAE;oBAC1E,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;oBACxE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE;oBAC7E,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE;iBACpF;aACJ,CAAA;QACL,CAAC;QAED,IAAI,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACrF,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,MAAM,GAAG;gBACjF,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,sCAAsC,EAAE;aAC1D,CAAA;QACL,CAAC;QAED,uEAAuE;QACvE,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,QAAQ,OAAO,CAAC,EAAE,GAAG,CAAA;QAEhD,2BAA2B;QAC3B,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,QAAQ,gBAAgB,CAAC,CAAA;QAEpD,OAAO,UAAU,CAAA;IACrB,CAAC;CACJ"}
@@ -31,7 +31,7 @@ const QUEUE_DEFAULTS = {
31
31
  },
32
32
  UPLOADS: {
33
33
  name: 'dt-uploads',
34
- attempts: 3,
34
+ attempts: 1, // No retries - temp file is deleted after first attempt
35
35
  backoffDelay: 10000,
36
36
  keepCompleted: 50,
37
37
  keepFailed: 100
@@ -1 +1 @@
1
- {"version":3,"file":"queue_manager.js","sourceRoot":"","sources":["../../src/engine/queue_manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queue_manager.js","sourceRoot":"","sources":["../../src/engine/queue_manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAqB9B;;GAEG;AACH,MAAM,cAAc,GAAG;IACnB,KAAK,EAAE;QACH,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,IAAI;QACV,oBAAoB,EAAE,IAAI;QAC1B,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,EAAE,IAAI,CAAC;KAC/D;IACD,UAAU,EAAE;QACR,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE,CAAC;QACX,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,GAAG;QAClB,UAAU,EAAE,EAAE;KACjB;IACD,UAAU,EAAE;QACR,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE,CAAC;QACX,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,EAAE;QACjB,UAAU,EAAE,GAAG;KAClB;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,CAAC;KACd;IACD,OAAO,EAAE;QACL,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,CAAC,EAAE,wDAAwD;QACrE,YAAY,EAAE,KAAK;QACnB,aAAa,EAAE,EAAE;QACjB,UAAU,EAAE,GAAG;KAClB;CACK,CAAA;AAEV;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,YAAY;IAMrB;;;OAGG;IACH,YAAY,SAAsB,EAAE;QAChC,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,IAAI,cAAc,CAAC,KAAK,CAAA;QAE3D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;QACjG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;QACjG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;QAC7F,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IAC5F,CAAC;IAED;;;OAGG;IACH,qBAAqB,CAAC,UAA6B,EAAE,OAA+B;QAChF,OAAO,IAAI,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,EAAE;YAC7C,UAAU;YACV,iBAAiB,EAAE;gBACf,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,QAAQ;gBAC5C,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,CAAC,UAAU,CAAC,YAAY,EAAE;gBAC/E,gBAAgB,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,UAAU,CAAC,aAAa,EAAE;gBACpE,YAAY,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,UAAU,CAAC,UAAU,EAAE;aAChE;YACD,GAAG,OAAO;SACb,CAAC,CAAA;IACN,CAAC;IAED;;;OAGG;IACH,qBAAqB,CAAC,UAA6B,EAAE,OAA+B;QAChF,OAAO,IAAI,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,EAAE;YAC7C,UAAU;YACV,iBAAiB,EAAE;gBACf,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,QAAQ;gBAC5C,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,CAAC,UAAU,CAAC,YAAY,EAAE;gBAC/E,gBAAgB,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,UAAU,CAAC,aAAa,EAAE;gBACpE,YAAY,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,UAAU,CAAC,UAAU,EAAE;aAChE;YACD,GAAG,OAAO;SACb,CAAC,CAAA;IACN,CAAC;IAED;;;OAGG;IACH,oBAAoB,CAAC,UAA6B,EAAE,OAA+B;QAC/E,OAAO,IAAI,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE;YAC3C,UAAU;YACV,iBAAiB,EAAE;gBACf,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,QAAQ;gBAC1C,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,QAAQ;gBAC1C,gBAAgB,EAAE,IAAI;gBACtB,YAAY,EAAE,KAAK;aACtB;YACD,GAAG,OAAO;SACb,CAAC,CAAA;IACN,CAAC;IAED;;;OAGG;IACH,kBAAkB,CAAC,UAA6B,EAAE,OAA+B;QAC7E,OAAO,IAAI,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE;YAC1C,UAAU;YACV,iBAAiB,EAAE;gBACf,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,QAAQ;gBACzC,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE;gBAC5E,gBAAgB,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE;gBACjE,YAAY,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE;aAC7D;YACD,GAAG,OAAO;SACb,CAAC,CAAA;IACN,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK;QACP,MAAM,aAAa,GAAoB,EAAE,CAAA;QAEzC,2CAA2C;QAC3C,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;QAE/F,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,aAAa,CAAC,IAAI,CACd,OAAO,CAAC,IAAI,CAAC;gBACT,KAAK,CAAC,KAAK,EAAE;gBACb,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aACrG,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;gBAChB,mEAAmE;gBACnE,IAAI,CAAC;oBACD,MAAM,eAAe,GAAI,KAAa,CAAC,eAAe,CAAA;oBACtD,IAAI,eAAe,IAAI,OAAO,eAAe,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;wBACtE,MAAM,eAAe,CAAC,UAAU,EAAE,CAAA;oBACtC,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC;oBACL,+BAA+B;gBACnC,CAAC;YACL,CAAC,CAAC,CACL,CAAA;QACL,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAEhC,sCAAsC;QACtC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;IAC1D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa;QACf,MAAM,CAAC,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACnF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC;YAClC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;SACnC,CAAC,CAAA;QAEF,OAAO;YACH,UAAU,EAAE,cAAc;YAC1B,UAAU,EAAE,cAAc;YAC1B,QAAQ,EAAE,aAAa;YACvB,OAAO,EAAE,WAAW;SACvB,CAAA;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,KAAY;QACxB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC3D,KAAK,CAAC,eAAe,EAAE;YACvB,KAAK,CAAC,cAAc,EAAE;YACtB,KAAK,CAAC,iBAAiB,EAAE;YACzB,KAAK,CAAC,cAAc,EAAE;SACzB,CAAC,CAAA;QAEF,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAA;IACjD,CAAC;CACJ"}
@@ -1,66 +1,30 @@
1
1
  import type { ConnectionOptions } from 'bullmq';
2
2
  import type { StorageService } from '../storage/storage_service.js';
3
3
  import type { DatabaseAdapter } from '../database/database_adapter.js';
4
- /**
5
- * Job data for tileset upload processing
6
- */
7
4
  export interface TilesetUploadJobData {
8
5
  type: 'tileset';
9
- /** Database record ID (created with status 'pending') */
10
6
  recordId: number;
11
- /** Path to temporary ZIP file */
12
7
  tempFilePath: string;
13
- /** Component name (e.g., 'tilesets_manager') */
14
8
  componentName: string;
15
- /** User ID who uploaded */
16
9
  userId: number;
17
- /** Original filename */
18
10
  filename: string;
19
- /** Description */
20
11
  description: string;
21
12
  }
22
- /**
23
- * Generic upload job data (union type for future extension)
24
- */
25
13
  export type UploadJobData = TilesetUploadJobData;
26
- /**
27
- * Upload job status stored in database
28
- */
29
14
  export type UploadStatus = 'pending' | 'processing' | 'completed' | 'failed';
30
15
  /**
31
- * Processes async upload jobs (tileset extraction, large file processing)
32
- *
33
- * This processor handles long-running upload tasks that would otherwise
34
- * timeout the HTTP request. Jobs are queued and processed in the background.
16
+ * Background worker for processing large file uploads (tileset extraction).
17
+ * Prevents HTTP timeout by queuing jobs and processing asynchronously.
35
18
  */
36
19
  export declare class UploadProcessor {
37
20
  private worker;
38
21
  private storage;
39
22
  private db;
40
23
  constructor(storage: StorageService, db: DatabaseAdapter);
41
- /**
42
- * Start the upload processor worker
43
- */
44
24
  start(connection: ConnectionOptions): void;
45
- /**
46
- * Stop the worker gracefully
47
- */
48
25
  stop(): Promise<void>;
49
- /**
50
- * Process a single upload job
51
- */
52
26
  private processJob;
53
- /**
54
- * Process tileset upload: extract ZIP and upload files to storage
55
- */
56
27
  private processTilesetUpload;
57
- /**
58
- * Update record status in database
59
- */
60
28
  private updateRecordStatus;
61
- /**
62
- * Update record with completion data
63
- */
64
- private updateRecordComplete;
65
29
  }
66
30
  //# sourceMappingURL=upload_processor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"upload_processor.d.ts","sourceRoot":"","sources":["../../src/engine/upload_processor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAItE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,SAAS,CAAA;IACf,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAA;IAChB,iCAAiC;IACjC,YAAY,EAAE,MAAM,CAAA;IACpB,gDAAgD;IAChD,aAAa,EAAE,MAAM,CAAA;IACrB,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,kBAAkB;IAClB,WAAW,EAAE,MAAM,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,oBAAoB,CAAA;AAEhD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAA;AAE5E;;;;;GAKG;AACH,qBAAa,eAAe;IACxB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,EAAE,CAAiB;gBAEf,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,eAAe;IAKxD;;OAEG;IACH,KAAK,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IA6B1C;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B;;OAEG;YACW,UAAU;IAUxB;;OAEG;YACW,oBAAoB;IA6DlC;;OAEG;YACW,kBAAkB;IAgBhC;;OAEG;YACW,oBAAoB;CAOrC"}
1
+ {"version":3,"file":"upload_processor.d.ts","sourceRoot":"","sources":["../../src/engine/upload_processor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAItE,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,SAAS,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,MAAM,aAAa,GAAG,oBAAoB,CAAA;AAChD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAA;AAE5E;;;GAGG;AACH,qBAAa,eAAe;IACxB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,EAAE,CAAiB;gBAEf,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,eAAe;IAKxD,KAAK,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAWpC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAOb,UAAU;YAQV,oBAAoB;YAyCpB,kBAAkB;CAGnC"}
@@ -1,12 +1,9 @@
1
- // src/engine/upload_processor.ts
2
1
  import { Worker } from 'bullmq';
3
2
  import { extractAndStoreArchive } from '../utils/zip_utils.js';
4
3
  import fs from 'fs/promises';
5
4
  /**
6
- * Processes async upload jobs (tileset extraction, large file processing)
7
- *
8
- * This processor handles long-running upload tasks that would otherwise
9
- * timeout the HTTP request. Jobs are queued and processed in the background.
5
+ * Background worker for processing large file uploads (tileset extraction).
6
+ * Prevents HTTP timeout by queuing jobs and processing asynchronously.
10
7
  */
11
8
  export class UploadProcessor {
12
9
  constructor(storage, db) {
@@ -14,129 +11,66 @@ export class UploadProcessor {
14
11
  this.storage = storage;
15
12
  this.db = db;
16
13
  }
17
- /**
18
- * Start the upload processor worker
19
- */
20
14
  start(connection) {
21
- this.worker = new Worker('dt-uploads', async (job) => {
22
- return this.processJob(job);
23
- }, {
15
+ this.worker = new Worker('dt-uploads', async (job) => this.processJob(job), {
24
16
  connection,
25
- concurrency: 2, // Process 2 uploads in parallel
26
- limiter: {
27
- max: 5,
28
- duration: 60000 // Max 5 jobs per minute to avoid overwhelming OVH
29
- }
30
- });
31
- this.worker.on('completed', job => {
32
- console.log(`[UploadProcessor] Job ${job.id} completed`);
33
- });
34
- this.worker.on('failed', (job, err) => {
35
- console.error(`[UploadProcessor] Job ${job?.id} failed:`, err.message);
36
- });
37
- this.worker.on('progress', (job, progress) => {
38
- console.log(`[UploadProcessor] Job ${job.id} progress: ${progress}%`);
17
+ concurrency: 2,
18
+ limiter: { max: 5, duration: 60000 }
39
19
  });
20
+ this.worker.on('completed', job => console.log(`[UploadProcessor] Job ${job.id} completed`));
21
+ this.worker.on('failed', (job, err) => console.error(`[UploadProcessor] Job ${job?.id} failed:`, err.message));
40
22
  }
41
- /**
42
- * Stop the worker gracefully
43
- */
44
23
  async stop() {
45
24
  if (this.worker) {
46
25
  await this.worker.close();
47
26
  this.worker = null;
48
27
  }
49
28
  }
50
- /**
51
- * Process a single upload job
52
- */
53
29
  async processJob(job) {
54
- const { data } = job;
55
- if (data.type === 'tileset') {
30
+ if (job.data.type === 'tileset') {
56
31
  await this.processTilesetUpload(job);
57
32
  }
58
33
  else {
59
- throw new Error(`Unknown upload job type: ${data.type}`);
34
+ throw new Error(`Unknown upload job type: ${job.data.type}`);
60
35
  }
61
36
  }
62
- /**
63
- * Process tileset upload: extract ZIP and upload files to storage
64
- */
65
37
  async processTilesetUpload(job) {
66
38
  const { recordId, tempFilePath, componentName } = job.data;
67
39
  try {
68
- // Update status to processing
69
40
  await this.updateRecordStatus(recordId, componentName, 'processing');
70
41
  await job.updateProgress(10);
71
- // Read ZIP file
72
- let zipBuffer;
73
- try {
74
- zipBuffer = await fs.readFile(tempFilePath);
75
- }
76
- catch (error) {
77
- throw new Error(`Failed to read temp file: ${error instanceof Error ? error.message : 'Unknown error'}`);
78
- }
42
+ const zipBuffer = await fs.readFile(tempFilePath).catch(err => {
43
+ throw new Error(`Failed to read temp file: ${err.message}`);
44
+ });
79
45
  await job.updateProgress(20);
80
- // Generate unique ID for this tileset
81
- const tilesetId = Date.now().toString();
82
- const basePath = `${componentName}/${tilesetId}`;
83
- // Extract and store all files
46
+ const basePath = `${componentName}/${Date.now()}`;
84
47
  const extractResult = await extractAndStoreArchive(zipBuffer, this.storage, basePath);
85
48
  await job.updateProgress(80);
86
- // Validate tileset.json was found
87
49
  if (!extractResult.root_file) {
88
- // Clean up stored files using batch delete
89
50
  if (extractResult.files.length > 0) {
90
- const filePaths = extractResult.files.map(file => file.path);
91
- await this.storage.deleteBatch(filePaths);
51
+ await this.storage.deleteBatch(extractResult.files.map(f => f.path));
92
52
  }
93
53
  throw new Error('Invalid tileset: no tileset.json found in the ZIP archive');
94
54
  }
95
- // Update database record with results
96
- await this.updateRecordComplete(recordId, componentName, {
55
+ await this.db.updateById(componentName, recordId, {
97
56
  url: basePath,
98
- file_index: {
99
- files: extractResult.files,
100
- root_file: extractResult.root_file
101
- },
102
- status: 'completed'
57
+ file_index: { files: extractResult.files, root_file: extractResult.root_file },
58
+ upload_status: 'completed',
59
+ updated_at: new Date()
103
60
  });
104
61
  await job.updateProgress(90);
105
- // Clean up temp file
106
62
  await fs.unlink(tempFilePath).catch(() => { });
107
63
  await job.updateProgress(100);
108
64
  }
109
65
  catch (error) {
110
- // Update status to failed
111
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
112
- await this.updateRecordStatus(recordId, componentName, 'failed', errorMessage);
113
- // Clean up temp file even on error
66
+ // Cleanup: delete DB record and temp file on failure
67
+ await this.db.delete(String(recordId), componentName).catch(() => { });
114
68
  await fs.unlink(tempFilePath).catch(() => { });
115
69
  throw error;
116
70
  }
117
71
  }
118
- /**
119
- * Update record status in database
120
- */
121
- async updateRecordStatus(id, tableName, status, errorMessage) {
122
- const updateData = {
123
- upload_status: status,
124
- updated_at: new Date()
125
- };
126
- if (errorMessage) {
127
- updateData.upload_error = errorMessage;
128
- }
129
- await this.db.updateById(tableName, id, updateData);
130
- }
131
- /**
132
- * Update record with completion data
133
- */
134
- async updateRecordComplete(id, tableName, data) {
135
- await this.db.updateById(tableName, id, {
136
- ...data,
137
- upload_status: 'completed',
138
- updated_at: new Date()
139
- });
72
+ async updateRecordStatus(id, tableName, status) {
73
+ await this.db.updateById(tableName, id, { upload_status: status, updated_at: new Date() });
140
74
  }
141
75
  }
142
76
  //# sourceMappingURL=upload_processor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"upload_processor.js","sourceRoot":"","sources":["../../src/engine/upload_processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upload_processor.js","sourceRoot":"","sources":["../../src/engine/upload_processor.ts"],"names":[],"mappings":"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"}
@@ -112,5 +112,21 @@ export interface DataRecord {
112
112
  /** Main entry point file (e.g., 'tileset.json') */
113
113
  root_file?: string;
114
114
  };
115
+ /**
116
+ * Status of async upload processing.
117
+ * - 'pending': Job queued, waiting to start
118
+ * - 'processing': Job is running
119
+ * - 'completed': Job finished successfully
120
+ * - 'failed': Job failed with error
121
+ */
122
+ upload_status?: 'pending' | 'processing' | 'completed' | 'failed' | null;
123
+ /**
124
+ * Error message if upload failed.
125
+ */
126
+ upload_error?: string | null;
127
+ /**
128
+ * BullMQ job ID for tracking.
129
+ */
130
+ upload_job_id?: string | null;
115
131
  }
116
132
  //# sourceMappingURL=data_record.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data_record.d.ts","sourceRoot":"","sources":["../../src/types/data_record.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,UAAU;IACvB,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAA;IAEV,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAA;IAEZ,6DAA6D;IAC7D,IAAI,EAAE,IAAI,CAAA;IAEV,4EAA4E;IAC5E,WAAW,EAAE,MAAM,CAAA;IAEnB,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAA;IAEX;;;;;;;OAOG;IACH,IAAI,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;IAI3B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAExB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAInB;;;;;;;;;;;;;;;;OAgBG;IACH,UAAU,CAAC,EAAE;QACT,6CAA6C;QAC7C,KAAK,EAAE,KAAK,CAAC;YACT,iCAAiC;YACjC,IAAI,EAAE,MAAM,CAAA;YACZ,wBAAwB;YACxB,IAAI,EAAE,MAAM,CAAA;YACZ,yBAAyB;YACzB,IAAI,CAAC,EAAE,MAAM,CAAA;SAChB,CAAC,CAAA;QACF,mDAAmD;QACnD,SAAS,CAAC,EAAE,MAAM,CAAA;KACrB,CAAA;CACJ"}
1
+ {"version":3,"file":"data_record.d.ts","sourceRoot":"","sources":["../../src/types/data_record.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,UAAU;IACvB,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAA;IAEV,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAA;IAEZ,6DAA6D;IAC7D,IAAI,EAAE,IAAI,CAAA;IAEV,4EAA4E;IAC5E,WAAW,EAAE,MAAM,CAAA;IAEnB,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAA;IAEX;;;;;;;OAOG;IACH,IAAI,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;IAI3B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAExB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAInB;;;;;;;;;;;;;;;;OAgBG;IACH,UAAU,CAAC,EAAE;QACT,6CAA6C;QAC7C,KAAK,EAAE,KAAK,CAAC;YACT,iCAAiC;YACjC,IAAI,EAAE,MAAM,CAAA;YACZ,wBAAwB;YACxB,IAAI,EAAE,MAAM,CAAA;YACZ,yBAAyB;YACzB,IAAI,CAAC,EAAE,MAAM,CAAA;SAChB,CAAC,CAAA;QACF,mDAAmD;QACnD,SAAS,CAAC,EAAE,MAAM,CAAA;KACrB,CAAA;IAID;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,GAAG,IAAI,CAAA;IAExE;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAE5B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAChC"}
@@ -1 +1 @@
1
- {"version":3,"file":"map_to_data_record.d.ts","sourceRoot":"","sources":["../../src/utils/map_to_data_record.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAElE;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,GAAG,EAAE,OAAO,EAAE,cAAc,GAAG,UAAU,CAyB3F"}
1
+ {"version":3,"file":"map_to_data_record.d.ts","sourceRoot":"","sources":["../../src/utils/map_to_data_record.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAElE;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,GAAG,EAAE,OAAO,EAAE,cAAc,GAAG,UAAU,CA8B3F"}
@@ -24,7 +24,11 @@ export function mapToDataRecord(row, storage) {
24
24
  ? typeof row.file_index === 'string'
25
25
  ? JSON.parse(row.file_index)
26
26
  : row.file_index
27
- : undefined
27
+ : undefined,
28
+ // Async upload support
29
+ upload_status: row.upload_status || null,
30
+ upload_error: row.upload_error || null,
31
+ upload_job_id: row.upload_job_id || null
28
32
  };
29
33
  }
30
34
  //# sourceMappingURL=map_to_data_record.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"map_to_data_record.js","sourceRoot":"","sources":["../../src/utils/map_to_data_record.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,GAAsB,EAAE,OAAuB;IAC3E,OAAO;QACH,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QACxB,WAAW,EAAE,GAAG,CAAC,IAAI;QACrB,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;QAErC,2DAA2D;QAC3D,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,0FAA0F;QAC1F,mEAAmE;QACnE,SAAS,EAAE,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;QAEhG,+DAA+D;QAC/D,UAAU,EAAE,GAAG,CAAC,UAAU;YACtB,CAAC,CAAC,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ;gBAChC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC;gBAC5B,CAAC,CAAC,GAAG,CAAC,UAAU;YACpB,CAAC,CAAC,SAAS;KAClB,CAAA;AACL,CAAC"}
1
+ {"version":3,"file":"map_to_data_record.js","sourceRoot":"","sources":["../../src/utils/map_to_data_record.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,GAAsB,EAAE,OAAuB;IAC3E,OAAO;QACH,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QACxB,WAAW,EAAE,GAAG,CAAC,IAAI;QACrB,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;QAErC,2DAA2D;QAC3D,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,0FAA0F;QAC1F,mEAAmE;QACnE,SAAS,EAAE,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;QAEhG,+DAA+D;QAC/D,UAAU,EAAE,GAAG,CAAC,UAAU;YACtB,CAAC,CAAC,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ;gBAChC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC;gBAC5B,CAAC,CAAC,GAAG,CAAC,UAAU;YACpB,CAAC,CAAC,SAAS;QAEf,uBAAuB;QACvB,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,IAAI;QACxC,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,IAAI;QACtC,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,IAAI;KAC3C,CAAA;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"zip_utils.d.ts","sourceRoot":"","sources":["../../src/utils/zip_utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAEnE;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,gDAAgD;IAChD,KAAK,EAAE,KAAK,CAAC;QACT,iCAAiC;QACjC,IAAI,EAAE,MAAM,CAAA;QACZ,2CAA2C;QAC3C,IAAI,EAAE,MAAM,CAAA;QACZ,yBAAyB;QACzB,IAAI,EAAE,MAAM,CAAA;KACf,CAAC,CAAA;IACF,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAA;CACrB;AAED;;;;GAIG;AACH,wBAAuB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAqB3G;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAQ3F;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG;IAC7E,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE,MAAM,EAAE,CAAA;CACtB,CAkCA;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAezE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAiB1E;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,sBAAsB,CACxC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,sBAAsB,CAAC,CAoDjC"}
1
+ {"version":3,"file":"zip_utils.d.ts","sourceRoot":"","sources":["../../src/utils/zip_utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAEnE;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,gDAAgD;IAChD,KAAK,EAAE,KAAK,CAAC;QACT,iCAAiC;QACjC,IAAI,EAAE,MAAM,CAAA;QACZ,2CAA2C;QAC3C,IAAI,EAAE,MAAM,CAAA;QACZ,yBAAyB;QACzB,IAAI,EAAE,MAAM,CAAA;KACf,CAAC,CAAA;IACF,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAA;CACrB;AAED;;;;GAIG;AACH,wBAAuB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAqB3G;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAQ3F;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG;IAC7E,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE,MAAM,EAAE,CAAA;CACtB,CAkCA;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAezE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAiB1E;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,sBAAsB,CACxC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,sBAAsB,CAAC,CA8EjC"}
@@ -157,22 +157,46 @@ export async function extractAndStoreArchive(zipBuffer, storage, basePath) {
157
157
  // Extract and store files in parallel (batched to avoid overwhelming OVH)
158
158
  const PARALLEL_UPLOADS = 10;
159
159
  const entries = Array.from(normalizedPaths.entries());
160
- for (let i = 0; i < entries.length; i += PARALLEL_UPLOADS) {
161
- const batch = entries.slice(i, i + PARALLEL_UPLOADS);
162
- const results = await Promise.all(batch.map(async ([originalPath, normalizedPath]) => {
163
- const zipObject = zipContent.files[originalPath];
164
- const content = await zipObject.async('nodebuffer');
165
- // Build storage path: basePath/normalizedPath
166
- const storagePath = `${basePath}/${normalizedPath}`;
167
- // Save the file using saveWithPath which preserves the exact path
168
- await storage.saveWithPath(content, storagePath);
169
- return {
170
- path: storagePath,
171
- name: normalizedPath,
172
- size: content.length
173
- };
174
- }));
175
- storedFiles.push(...results);
160
+ const totalFiles = entries.length;
161
+ console.log(`[ZipUtils] Extracting ${totalFiles} files to ${basePath}`);
162
+ try {
163
+ const totalBatches = Math.ceil(totalFiles / PARALLEL_UPLOADS);
164
+ // Log progress every 10% or at least every 10 batches
165
+ const logInterval = Math.max(1, Math.floor(totalBatches / 10));
166
+ for (let i = 0; i < entries.length; i += PARALLEL_UPLOADS) {
167
+ const batch = entries.slice(i, i + PARALLEL_UPLOADS);
168
+ const batchNum = Math.floor(i / PARALLEL_UPLOADS) + 1;
169
+ const results = await Promise.all(batch.map(async ([originalPath, normalizedPath]) => {
170
+ const zipObject = zipContent.files[originalPath];
171
+ const content = await zipObject.async('nodebuffer');
172
+ // Build storage path: basePath/normalizedPath
173
+ const storagePath = `${basePath}/${normalizedPath}`;
174
+ // Save the file using saveWithPath which preserves the exact path
175
+ await storage.saveWithPath(content, storagePath);
176
+ return {
177
+ path: storagePath,
178
+ name: normalizedPath,
179
+ size: content.length
180
+ };
181
+ }));
182
+ storedFiles.push(...results);
183
+ // Log progress periodically (every ~10%) or on last batch
184
+ if (batchNum % logInterval === 0 || batchNum === totalBatches) {
185
+ const percent = Math.round((storedFiles.length / totalFiles) * 100);
186
+ console.log(`[ZipUtils] Progress: ${percent}% (${storedFiles.length}/${totalFiles} files)`);
187
+ }
188
+ }
189
+ }
190
+ catch (error) {
191
+ // Clean up any files that were already uploaded before the error
192
+ if (storedFiles.length > 0) {
193
+ console.log(`[ZipUtils] Error during extraction, cleaning up ${storedFiles.length} uploaded files...`);
194
+ const uploadedPaths = storedFiles.map(f => f.path);
195
+ await storage.deleteBatch(uploadedPaths).catch(cleanupErr => {
196
+ console.error(`[ZipUtils] Failed to clean up files after error:`, cleanupErr);
197
+ });
198
+ }
199
+ throw error;
176
200
  }
177
201
  return {
178
202
  files: storedFiles,
@@ -1 +1 @@
1
- {"version":3,"file":"zip_utils.js","sourceRoot":"","sources":["../../src/utils/zip_utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zip_utils.js","sourceRoot":"","sources":["../../src/utils/zip_utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "digitaltwin-core",
3
- "version": "0.12.3",
3
+ "version": "0.13.1",
4
4
  "description": "Minimalist framework to collect and handle data in a Digital Twin project",
5
5
  "license": "MIT",
6
6
  "author": "Axel Hoffmann",