* fix: reduce the number of api call Signed-off-by: James <james@jan.ai> * fix: download progress Signed-off-by: James <james@jan.ai> * chore: save blob * fix: server boot up * fix: download state not updating Signed-off-by: James <james@jan.ai> * fix: copy assets * Add Dockerfile CPU for Jan Server and Jan Web * Add Dockerfile GPU for Jan Server and Jan Web * feat: S3 adapter * Update check find count from ./pre-install and correct copy:asserts command * server add bundleDependencies @janhq/core * server add bundleDependencies @janhq/core * fix: update success/failed download state (#1945) * fix: update success/failed download state Signed-off-by: James <james@jan.ai> * fix: download model progress and state handling for both Desktop and Web --------- Signed-off-by: James <james@jan.ai> Co-authored-by: James <james@jan.ai> Co-authored-by: Louis <louis@jan.ai> * chore: refactor * fix: load models empty first time open * Add Docker compose * fix: assistants onUpdate --------- Signed-off-by: James <james@jan.ai> Co-authored-by: James <james@jan.ai> Co-authored-by: Hien To <tominhhien97@gmail.com> Co-authored-by: NamH <NamNh0122@gmail.com>
27 lines
748 B
TypeScript
27 lines
748 B
TypeScript
import { DownloadState } from '../types'
|
|
|
|
/**
|
|
* Manages file downloads and network requests.
|
|
*/
|
|
export class DownloadManager {
|
|
public networkRequests: Record<string, any> = {}
|
|
|
|
public static instance: DownloadManager = new DownloadManager()
|
|
|
|
public downloadProgressMap: Record<string, DownloadState> = {}
|
|
|
|
constructor() {
|
|
if (DownloadManager.instance) {
|
|
return DownloadManager.instance
|
|
}
|
|
}
|
|
/**
|
|
* Sets a network request for a specific file.
|
|
* @param {string} fileName - The name of the file.
|
|
* @param {Request | undefined} request - The network request to set, or undefined to clear the request.
|
|
*/
|
|
setRequest(fileName: string, request: any | undefined) {
|
|
this.networkRequests[fileName] = request
|
|
}
|
|
}
|