MCPcopy Create free account
hub / github.com/Noumena-Network/code / downloadSessionFiles

Function downloadSessionFiles

src/services/api/filesApi.ts:318–346  ·  view source on GitHub ↗
(
  files: File[],
  config: FilesApiConfig,
  concurrency: number = DEFAULT_CONCURRENCY,
)

Source from the content-addressed store, hash-verified

316 * @returns Array of download results in the same order as input
317 */
318export async function downloadSessionFiles(
319 files: File[],
320 config: FilesApiConfig,
321 concurrency: number = DEFAULT_CONCURRENCY,
322): Promise<DownloadResult[]> {
323 if (files.length === 0) {
324 return []
325 }
326
327 logDebug(
328 `Downloading ${files.length} file(s) for session ${config.sessionId}`,
329 )
330 const startTime = Date.now()
331
332 // Download files in parallel with concurrency limit
333 const results = await parallelWithLimit(
334 files,
335 file => downloadAndSaveFile(file, config),
336 concurrency,
337 )
338
339 const elapsedMs = Date.now() - startTime
340 const successCount = count(results, r => r.success)
341 logDebug(
342 `Downloaded ${successCount}/${files.length} file(s) in ${elapsedMs}ms`,
343 )
344
345 return results
346}
347
348// ============================================================================
349// Upload Functions (BYOC mode)

Callers 1

runFunction · 0.85

Calls 4

parallelWithLimitFunction · 0.85
downloadAndSaveFileFunction · 0.85
countFunction · 0.85
logDebugFunction · 0.70

Tested by

no test coverage detected