@minecraft-docker/shared 1.6.1 → 1.6.3
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/application/ports/inbound/IWorldManagementUseCase.d.ts +41 -0
- package/dist/application/ports/inbound/IWorldManagementUseCase.d.ts.map +1 -1
- package/dist/application/ports/inbound/index.d.ts +1 -1
- package/dist/application/ports/inbound/index.d.ts.map +1 -1
- package/dist/application/ports/index.d.ts +2 -2
- package/dist/application/ports/index.d.ts.map +1 -1
- package/dist/application/ports/outbound/IModSourcePort.d.ts +71 -0
- package/dist/application/ports/outbound/IModSourcePort.d.ts.map +1 -0
- package/dist/application/ports/outbound/IModSourcePort.js +19 -0
- package/dist/application/ports/outbound/IModSourcePort.js.map +1 -0
- package/dist/application/ports/outbound/IPromptPort.d.ts +12 -0
- package/dist/application/ports/outbound/IPromptPort.d.ts.map +1 -1
- package/dist/application/ports/outbound/IServiceManagerPort.d.ts +115 -0
- package/dist/application/ports/outbound/IServiceManagerPort.d.ts.map +1 -0
- package/dist/application/ports/outbound/IServiceManagerPort.js +2 -0
- package/dist/application/ports/outbound/IServiceManagerPort.js.map +1 -0
- package/dist/application/ports/outbound/IShellPort.d.ts +10 -2
- package/dist/application/ports/outbound/IShellPort.d.ts.map +1 -1
- package/dist/application/ports/outbound/IUserRepository.d.ts +42 -0
- package/dist/application/ports/outbound/IUserRepository.d.ts.map +1 -0
- package/dist/application/ports/outbound/IUserRepository.js +2 -0
- package/dist/application/ports/outbound/IUserRepository.js.map +1 -0
- package/dist/application/ports/outbound/IWorldRepository.d.ts +19 -0
- package/dist/application/ports/outbound/IWorldRepository.d.ts.map +1 -1
- package/dist/application/ports/outbound/index.d.ts +4 -1
- package/dist/application/ports/outbound/index.d.ts.map +1 -1
- package/dist/application/use-cases/CreateServerUseCase.d.ts.map +1 -1
- package/dist/application/use-cases/CreateServerUseCase.js +2 -3
- package/dist/application/use-cases/CreateServerUseCase.js.map +1 -1
- package/dist/application/use-cases/DeleteServerUseCase.js +5 -5
- package/dist/application/use-cases/DeleteServerUseCase.js.map +1 -1
- package/dist/application/use-cases/WorldManagementUseCase.d.ts +18 -1
- package/dist/application/use-cases/WorldManagementUseCase.d.ts.map +1 -1
- package/dist/application/use-cases/WorldManagementUseCase.js +332 -0
- package/dist/application/use-cases/WorldManagementUseCase.js.map +1 -1
- package/dist/docker/index.d.ts +51 -1
- package/dist/docker/index.d.ts.map +1 -1
- package/dist/docker/index.js +194 -4
- package/dist/docker/index.js.map +1 -1
- package/dist/domain/entities/User.d.ts +77 -0
- package/dist/domain/entities/User.d.ts.map +1 -0
- package/dist/domain/entities/User.js +121 -0
- package/dist/domain/entities/User.js.map +1 -0
- package/dist/domain/entities/World.d.ts +7 -1
- package/dist/domain/entities/World.d.ts.map +1 -1
- package/dist/domain/entities/World.js +14 -1
- package/dist/domain/entities/World.js.map +1 -1
- package/dist/domain/entities/index.d.ts +1 -0
- package/dist/domain/entities/index.d.ts.map +1 -1
- package/dist/domain/entities/index.js +1 -0
- package/dist/domain/entities/index.js.map +1 -1
- package/dist/domain/index.d.ts +2 -2
- package/dist/domain/index.d.ts.map +1 -1
- package/dist/domain/index.js +4 -2
- package/dist/domain/index.js.map +1 -1
- package/dist/domain/mod/ModDependency.d.ts +18 -0
- package/dist/domain/mod/ModDependency.d.ts.map +1 -0
- package/dist/domain/mod/ModDependency.js +5 -0
- package/dist/domain/mod/ModDependency.js.map +1 -0
- package/dist/domain/mod/ModFile.d.ts +27 -0
- package/dist/domain/mod/ModFile.d.ts.map +1 -0
- package/dist/domain/mod/ModFile.js +5 -0
- package/dist/domain/mod/ModFile.js.map +1 -0
- package/dist/domain/mod/ModProject.d.ts +36 -0
- package/dist/domain/mod/ModProject.d.ts.map +1 -0
- package/dist/domain/mod/ModProject.js +5 -0
- package/dist/domain/mod/ModProject.js.map +1 -0
- package/dist/domain/mod/ModSearchResult.d.ts +18 -0
- package/dist/domain/mod/ModSearchResult.d.ts.map +1 -0
- package/dist/domain/mod/ModSearchResult.js +5 -0
- package/dist/domain/mod/ModSearchResult.js.map +1 -0
- package/dist/domain/mod/ModVersion.d.ts +36 -0
- package/dist/domain/mod/ModVersion.d.ts.map +1 -0
- package/dist/domain/mod/ModVersion.js +5 -0
- package/dist/domain/mod/ModVersion.js.map +1 -0
- package/dist/domain/mod/index.d.ts +11 -0
- package/dist/domain/mod/index.d.ts.map +1 -0
- package/dist/domain/mod/index.js +6 -0
- package/dist/domain/mod/index.js.map +1 -0
- package/dist/domain/mod/types.d.ts +43 -0
- package/dist/domain/mod/types.d.ts.map +1 -0
- package/dist/domain/mod/types.js +6 -0
- package/dist/domain/mod/types.js.map +1 -0
- package/dist/domain/value-objects/ProcessInfo.d.ts +99 -0
- package/dist/domain/value-objects/ProcessInfo.d.ts.map +1 -0
- package/dist/domain/value-objects/ProcessInfo.js +171 -0
- package/dist/domain/value-objects/ProcessInfo.js.map +1 -0
- package/dist/domain/value-objects/Role.d.ts +41 -0
- package/dist/domain/value-objects/Role.d.ts.map +1 -0
- package/dist/domain/value-objects/Role.js +66 -0
- package/dist/domain/value-objects/Role.js.map +1 -0
- package/dist/domain/value-objects/ServerType.d.ts +1 -0
- package/dist/domain/value-objects/ServerType.d.ts.map +1 -1
- package/dist/domain/value-objects/ServerType.js +8 -0
- package/dist/domain/value-objects/ServerType.js.map +1 -1
- package/dist/domain/value-objects/ServiceStatus.d.ts +64 -0
- package/dist/domain/value-objects/ServiceStatus.d.ts.map +1 -0
- package/dist/domain/value-objects/ServiceStatus.js +99 -0
- package/dist/domain/value-objects/ServiceStatus.js.map +1 -0
- package/dist/domain/value-objects/UserId.d.ts +21 -0
- package/dist/domain/value-objects/UserId.d.ts.map +1 -0
- package/dist/domain/value-objects/UserId.js +43 -0
- package/dist/domain/value-objects/UserId.js.map +1 -0
- package/dist/domain/value-objects/Username.d.ts +16 -0
- package/dist/domain/value-objects/Username.d.ts.map +1 -0
- package/dist/domain/value-objects/Username.js +46 -0
- package/dist/domain/value-objects/Username.js.map +1 -0
- package/dist/domain/value-objects/index.d.ts +5 -0
- package/dist/domain/value-objects/index.d.ts.map +1 -1
- package/dist/domain/value-objects/index.js +7 -0
- package/dist/domain/value-objects/index.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -3
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/adapters/ApiPromptAdapter.d.ts +115 -0
- package/dist/infrastructure/adapters/ApiPromptAdapter.d.ts.map +1 -0
- package/dist/infrastructure/adapters/ApiPromptAdapter.js +268 -0
- package/dist/infrastructure/adapters/ApiPromptAdapter.js.map +1 -0
- package/dist/infrastructure/adapters/ServerRepository.js +3 -3
- package/dist/infrastructure/adapters/ServerRepository.js.map +1 -1
- package/dist/infrastructure/adapters/ShellAdapter.d.ts +4 -2
- package/dist/infrastructure/adapters/ShellAdapter.d.ts.map +1 -1
- package/dist/infrastructure/adapters/ShellAdapter.js +15 -5
- package/dist/infrastructure/adapters/ShellAdapter.js.map +1 -1
- package/dist/infrastructure/adapters/SqliteUserRepository.d.ts +70 -0
- package/dist/infrastructure/adapters/SqliteUserRepository.d.ts.map +1 -0
- package/dist/infrastructure/adapters/SqliteUserRepository.js +149 -0
- package/dist/infrastructure/adapters/SqliteUserRepository.js.map +1 -0
- package/dist/infrastructure/adapters/WorldRepository.d.ts +12 -0
- package/dist/infrastructure/adapters/WorldRepository.d.ts.map +1 -1
- package/dist/infrastructure/adapters/WorldRepository.js +73 -3
- package/dist/infrastructure/adapters/WorldRepository.js.map +1 -1
- package/dist/infrastructure/adapters/YamlUserRepository.d.ts +67 -0
- package/dist/infrastructure/adapters/YamlUserRepository.d.ts.map +1 -0
- package/dist/infrastructure/adapters/YamlUserRepository.js +161 -0
- package/dist/infrastructure/adapters/YamlUserRepository.js.map +1 -0
- package/dist/infrastructure/adapters/index.d.ts +3 -0
- package/dist/infrastructure/adapters/index.d.ts.map +1 -1
- package/dist/infrastructure/adapters/index.js +3 -0
- package/dist/infrastructure/adapters/index.js.map +1 -1
- package/dist/infrastructure/config/Pm2EcosystemConfig.d.ts +192 -0
- package/dist/infrastructure/config/Pm2EcosystemConfig.d.ts.map +1 -0
- package/dist/infrastructure/config/Pm2EcosystemConfig.js +48 -0
- package/dist/infrastructure/config/Pm2EcosystemConfig.js.map +1 -0
- package/dist/infrastructure/config/index.d.ts +6 -0
- package/dist/infrastructure/config/index.d.ts.map +1 -0
- package/dist/infrastructure/config/index.js +6 -0
- package/dist/infrastructure/config/index.js.map +1 -0
- package/dist/infrastructure/factories/ModSourceFactory.d.ts +73 -0
- package/dist/infrastructure/factories/ModSourceFactory.d.ts.map +1 -0
- package/dist/infrastructure/factories/ModSourceFactory.js +98 -0
- package/dist/infrastructure/factories/ModSourceFactory.js.map +1 -0
- package/dist/infrastructure/factories/index.d.ts +5 -0
- package/dist/infrastructure/factories/index.d.ts.map +1 -0
- package/dist/infrastructure/factories/index.js +5 -0
- package/dist/infrastructure/factories/index.js.map +1 -0
- package/dist/infrastructure/index.d.ts +1 -0
- package/dist/infrastructure/index.d.ts.map +1 -1
- package/dist/infrastructure/index.js +1 -0
- package/dist/infrastructure/index.js.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +10 -2
package/dist/domain/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,OAAO,EACL,UAAU,EACV,UAAU,EACV,cAAc,EAEd,SAAS,EACT,MAAM,EACN,YAAY,EACZ,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,OAAO,EACL,UAAU,EACV,UAAU,EACV,cAAc,EAEd,SAAS,EACT,MAAM,EACN,YAAY,EACZ,cAAc,EAEd,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,QAAQ;AACR,mCAAmC;AACnC,aAAa,EACb,iBAAiB,EACjB,WAAW,GAGZ,MAAM,0BAA0B,CAAC;AAElC,WAAW;AACX,OAAO,EACL,MAAM,EACN,YAAY,EAEZ,KAAK,EACL,eAAe,EAEf,IAAI,GAEL,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ModDependency - Domain model for mod dependency
|
|
3
|
+
*/
|
|
4
|
+
import type { ModDependencyType } from './types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Represents a mod dependency relationship
|
|
7
|
+
*/
|
|
8
|
+
export interface ModDependency {
|
|
9
|
+
/** Project ID of the dependency */
|
|
10
|
+
projectId: string;
|
|
11
|
+
/** Project slug (if available) */
|
|
12
|
+
projectSlug?: string;
|
|
13
|
+
/** Dependency type */
|
|
14
|
+
dependencyType: ModDependencyType;
|
|
15
|
+
/** Specific version ID (if pinned) */
|
|
16
|
+
versionId?: string;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=ModDependency.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModDependency.d.ts","sourceRoot":"","sources":["../../../src/domain/mod/ModDependency.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAElB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,sBAAsB;IACtB,cAAc,EAAE,iBAAiB,CAAC;IAElC,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModDependency.js","sourceRoot":"","sources":["../../../src/domain/mod/ModDependency.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ModFile - Domain model for downloadable mod file
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* File hash information
|
|
6
|
+
*/
|
|
7
|
+
export interface ModFileHashes {
|
|
8
|
+
sha1?: string;
|
|
9
|
+
sha512?: string;
|
|
10
|
+
md5?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Represents a downloadable mod file
|
|
14
|
+
*/
|
|
15
|
+
export interface ModFile {
|
|
16
|
+
/** Direct download URL */
|
|
17
|
+
url: string;
|
|
18
|
+
/** File name */
|
|
19
|
+
filename: string;
|
|
20
|
+
/** File size in bytes */
|
|
21
|
+
size: number;
|
|
22
|
+
/** File hashes for verification */
|
|
23
|
+
hashes: ModFileHashes;
|
|
24
|
+
/** Whether this is the primary file */
|
|
25
|
+
primary: boolean;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=ModFile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModFile.d.ts","sourceRoot":"","sources":["../../../src/domain/mod/ModFile.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAC;IAEZ,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IAEjB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IAEb,mCAAmC;IACnC,MAAM,EAAE,aAAa,CAAC;IAEtB,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModFile.js","sourceRoot":"","sources":["../../../src/domain/mod/ModFile.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ModProject - Domain model for mod/plugin project
|
|
3
|
+
*/
|
|
4
|
+
import type { ModSideSupport, ModProjectType } from './types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Represents a mod/plugin project from any source
|
|
7
|
+
*/
|
|
8
|
+
export interface ModProject {
|
|
9
|
+
/** Unique slug identifier */
|
|
10
|
+
slug: string;
|
|
11
|
+
/** Display title */
|
|
12
|
+
title: string;
|
|
13
|
+
/** Short description */
|
|
14
|
+
description: string;
|
|
15
|
+
/** Total download count */
|
|
16
|
+
downloads: number;
|
|
17
|
+
/** Icon/logo URL */
|
|
18
|
+
iconUrl: string | null;
|
|
19
|
+
/** Server-side support requirement */
|
|
20
|
+
serverSide: ModSideSupport;
|
|
21
|
+
/** Client-side support requirement */
|
|
22
|
+
clientSide: ModSideSupport;
|
|
23
|
+
/** Project type */
|
|
24
|
+
projectType: ModProjectType;
|
|
25
|
+
/** Category tags */
|
|
26
|
+
categories: string[];
|
|
27
|
+
/** Author/owner name */
|
|
28
|
+
author: string;
|
|
29
|
+
/** License identifier */
|
|
30
|
+
license: string;
|
|
31
|
+
/** Source-specific project ID */
|
|
32
|
+
sourceId: string;
|
|
33
|
+
/** Source name (modrinth, curseforge, spiget) */
|
|
34
|
+
sourceName: string;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=ModProject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModProject.d.ts","sourceRoot":"","sources":["../../../src/domain/mod/ModProject.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IAEb,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IAEd,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IAEpB,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAElB,oBAAoB;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvB,sCAAsC;IACtC,UAAU,EAAE,cAAc,CAAC;IAE3B,sCAAsC;IACtC,UAAU,EAAE,cAAc,CAAC;IAE3B,mBAAmB;IACnB,WAAW,EAAE,cAAc,CAAC;IAE5B,oBAAoB;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IAErB,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IAEf,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAEhB,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAC;IAEjB,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModProject.js","sourceRoot":"","sources":["../../../src/domain/mod/ModProject.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ModSearchResult - Domain model for search results
|
|
3
|
+
*/
|
|
4
|
+
import type { ModProject } from './ModProject.js';
|
|
5
|
+
/**
|
|
6
|
+
* Represents paginated search results
|
|
7
|
+
*/
|
|
8
|
+
export interface ModSearchResult {
|
|
9
|
+
/** Found projects */
|
|
10
|
+
hits: ModProject[];
|
|
11
|
+
/** Total number of matches */
|
|
12
|
+
totalHits: number;
|
|
13
|
+
/** Current offset */
|
|
14
|
+
offset: number;
|
|
15
|
+
/** Results per page */
|
|
16
|
+
limit: number;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=ModSearchResult.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModSearchResult.d.ts","sourceRoot":"","sources":["../../../src/domain/mod/ModSearchResult.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,qBAAqB;IACrB,IAAI,EAAE,UAAU,EAAE,CAAC;IAEnB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAElB,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IAEf,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModSearchResult.js","sourceRoot":"","sources":["../../../src/domain/mod/ModSearchResult.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ModVersion - Domain model for mod version
|
|
3
|
+
*/
|
|
4
|
+
import type { ModVersionType } from './types.js';
|
|
5
|
+
import type { ModFile } from './ModFile.js';
|
|
6
|
+
import type { ModDependency } from './ModDependency.js';
|
|
7
|
+
/**
|
|
8
|
+
* Represents a specific version of a mod
|
|
9
|
+
*/
|
|
10
|
+
export interface ModVersion {
|
|
11
|
+
/** Version ID */
|
|
12
|
+
id: string;
|
|
13
|
+
/** Parent project ID */
|
|
14
|
+
projectId: string;
|
|
15
|
+
/** Version display name */
|
|
16
|
+
name: string;
|
|
17
|
+
/** Semantic version number */
|
|
18
|
+
versionNumber: string;
|
|
19
|
+
/** Release type */
|
|
20
|
+
versionType: ModVersionType;
|
|
21
|
+
/** Supported Minecraft versions */
|
|
22
|
+
gameVersions: string[];
|
|
23
|
+
/** Supported mod loaders */
|
|
24
|
+
loaders: string[];
|
|
25
|
+
/** Downloadable files */
|
|
26
|
+
files: ModFile[];
|
|
27
|
+
/** Dependencies */
|
|
28
|
+
dependencies: ModDependency[];
|
|
29
|
+
/** Download count for this version */
|
|
30
|
+
downloads: number;
|
|
31
|
+
/** Publication date (ISO string) */
|
|
32
|
+
datePublished: string;
|
|
33
|
+
/** Changelog (may be empty) */
|
|
34
|
+
changelog?: string;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=ModVersion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModVersion.d.ts","sourceRoot":"","sources":["../../../src/domain/mod/ModVersion.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,iBAAiB;IACjB,EAAE,EAAE,MAAM,CAAC;IAEX,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAElB,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IAEb,8BAA8B;IAC9B,aAAa,EAAE,MAAM,CAAC;IAEtB,mBAAmB;IACnB,WAAW,EAAE,cAAc,CAAC;IAE5B,mCAAmC;IACnC,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,4BAA4B;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,yBAAyB;IACzB,KAAK,EAAE,OAAO,EAAE,CAAC;IAEjB,mBAAmB;IACnB,YAAY,EAAE,aAAa,EAAE,CAAC;IAE9B,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAElB,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC;IAEtB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModVersion.js","sourceRoot":"","sources":["../../../src/domain/mod/ModVersion.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mod Domain Models
|
|
3
|
+
* Re-export all mod-related domain types
|
|
4
|
+
*/
|
|
5
|
+
export type { ModSideSupport, ModProjectType, ModVersionType, ModDependencyType, ModSearchIndex, ModSearchOptions, ModVersionOptions, } from './types.js';
|
|
6
|
+
export type { ModProject } from './ModProject.js';
|
|
7
|
+
export type { ModVersion } from './ModVersion.js';
|
|
8
|
+
export type { ModFile, ModFileHashes } from './ModFile.js';
|
|
9
|
+
export type { ModDependency } from './ModDependency.js';
|
|
10
|
+
export type { ModSearchResult } from './ModSearchResult.js';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain/mod/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAGpB,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/mod/index.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mod Domain Types
|
|
3
|
+
* Common types and enums for mod management
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Side support for mods (client/server)
|
|
7
|
+
*/
|
|
8
|
+
export type ModSideSupport = 'required' | 'optional' | 'unsupported';
|
|
9
|
+
/**
|
|
10
|
+
* Project type
|
|
11
|
+
*/
|
|
12
|
+
export type ModProjectType = 'mod' | 'modpack' | 'resourcepack' | 'shader' | 'plugin';
|
|
13
|
+
/**
|
|
14
|
+
* Version release type
|
|
15
|
+
*/
|
|
16
|
+
export type ModVersionType = 'release' | 'beta' | 'alpha';
|
|
17
|
+
/**
|
|
18
|
+
* Dependency type
|
|
19
|
+
*/
|
|
20
|
+
export type ModDependencyType = 'required' | 'optional' | 'incompatible' | 'embedded';
|
|
21
|
+
/**
|
|
22
|
+
* Search result sort index
|
|
23
|
+
*/
|
|
24
|
+
export type ModSearchIndex = 'relevance' | 'downloads' | 'follows' | 'newest' | 'updated';
|
|
25
|
+
/**
|
|
26
|
+
* Search options
|
|
27
|
+
*/
|
|
28
|
+
export interface ModSearchOptions {
|
|
29
|
+
limit?: number;
|
|
30
|
+
offset?: number;
|
|
31
|
+
gameVersions?: string[];
|
|
32
|
+
loaders?: string[];
|
|
33
|
+
index?: ModSearchIndex;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Version filter options
|
|
37
|
+
*/
|
|
38
|
+
export interface ModVersionOptions {
|
|
39
|
+
gameVersions?: string[];
|
|
40
|
+
loaders?: string[];
|
|
41
|
+
featured?: boolean;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/domain/mod/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,SAAS,GAAG,cAAc,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEtF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,UAAU,GAAG,cAAc,GAAG,UAAU,CAAC;AAEtF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE1F;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/domain/mod/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { ServiceStatus, ServiceStatusEnum } from './ServiceStatus.js';
|
|
2
|
+
/**
|
|
3
|
+
* Process monitoring metrics
|
|
4
|
+
*/
|
|
5
|
+
export interface ProcessMetrics {
|
|
6
|
+
memory: number;
|
|
7
|
+
cpu: number;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Process information data interface
|
|
11
|
+
*/
|
|
12
|
+
export interface ProcessInfoData {
|
|
13
|
+
pmId: number;
|
|
14
|
+
name: string;
|
|
15
|
+
status: ServiceStatusEnum;
|
|
16
|
+
pid?: number;
|
|
17
|
+
cpu?: number;
|
|
18
|
+
memory?: number;
|
|
19
|
+
uptime?: number;
|
|
20
|
+
restarts?: number;
|
|
21
|
+
createdAt?: Date;
|
|
22
|
+
interpreter?: string;
|
|
23
|
+
scriptPath?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* ProcessInfo Value Object
|
|
27
|
+
* Represents information about a managed service process
|
|
28
|
+
*/
|
|
29
|
+
export declare class ProcessInfo {
|
|
30
|
+
private readonly _data;
|
|
31
|
+
private constructor();
|
|
32
|
+
get pmId(): number;
|
|
33
|
+
get name(): string;
|
|
34
|
+
get status(): ServiceStatus;
|
|
35
|
+
get statusValue(): ServiceStatusEnum;
|
|
36
|
+
get pid(): number | undefined;
|
|
37
|
+
get cpu(): number | undefined;
|
|
38
|
+
get memory(): number | undefined;
|
|
39
|
+
get uptime(): number | undefined;
|
|
40
|
+
get restarts(): number | undefined;
|
|
41
|
+
get createdAt(): Date | undefined;
|
|
42
|
+
get interpreter(): string | undefined;
|
|
43
|
+
get scriptPath(): string | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* Check if process is online
|
|
46
|
+
*/
|
|
47
|
+
get isOnline(): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Check if process is stopped
|
|
50
|
+
*/
|
|
51
|
+
get isStopped(): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Check if process has errored
|
|
54
|
+
*/
|
|
55
|
+
get isErrored(): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Get formatted memory usage string
|
|
58
|
+
*/
|
|
59
|
+
get memoryFormatted(): string;
|
|
60
|
+
/**
|
|
61
|
+
* Get formatted uptime string
|
|
62
|
+
*/
|
|
63
|
+
get uptimeFormatted(): string;
|
|
64
|
+
/**
|
|
65
|
+
* Get metrics object
|
|
66
|
+
*/
|
|
67
|
+
get metrics(): ProcessMetrics | null;
|
|
68
|
+
/**
|
|
69
|
+
* Create a ProcessInfo from data
|
|
70
|
+
*/
|
|
71
|
+
static create(data: ProcessInfoData): ProcessInfo;
|
|
72
|
+
/**
|
|
73
|
+
* Create from PM2 process description
|
|
74
|
+
*/
|
|
75
|
+
static fromPm2(pm2Process: {
|
|
76
|
+
pm_id?: number;
|
|
77
|
+
name?: string;
|
|
78
|
+
pm2_env?: {
|
|
79
|
+
status?: string;
|
|
80
|
+
pm_uptime?: number;
|
|
81
|
+
restart_time?: number;
|
|
82
|
+
created_at?: number;
|
|
83
|
+
exec_interpreter?: string;
|
|
84
|
+
pm_exec_path?: string;
|
|
85
|
+
};
|
|
86
|
+
pid?: number;
|
|
87
|
+
monit?: {
|
|
88
|
+
cpu?: number;
|
|
89
|
+
memory?: number;
|
|
90
|
+
};
|
|
91
|
+
}): ProcessInfo;
|
|
92
|
+
/**
|
|
93
|
+
* Convert to plain object
|
|
94
|
+
*/
|
|
95
|
+
toJSON(): ProcessInfoData;
|
|
96
|
+
equals(other: ProcessInfo): boolean;
|
|
97
|
+
toString(): string;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=ProcessInfo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProcessInfo.d.ts","sourceRoot":"","sources":["../../../src/domain/value-objects/ProcessInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,iBAAiB,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,qBAAa,WAAW;IACF,OAAO,CAAC,QAAQ,CAAC,KAAK;IAA1C,OAAO;IAIP,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,MAAM,IAAI,aAAa,CAE1B;IAED,IAAI,WAAW,IAAI,iBAAiB,CAEnC;IAED,IAAI,GAAG,IAAI,MAAM,GAAG,SAAS,CAE5B;IAED,IAAI,GAAG,IAAI,MAAM,GAAG,SAAS,CAE5B;IAED,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAED,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAED,IAAI,QAAQ,IAAI,MAAM,GAAG,SAAS,CAEjC;IAED,IAAI,SAAS,IAAI,IAAI,GAAG,SAAS,CAEhC;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACH,IAAI,eAAe,IAAI,MAAM,CAG5B;IAED;;OAEG;IACH,IAAI,eAAe,IAAI,MAAM,CAG5B;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,cAAc,GAAG,IAAI,CAQnC;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW;IAUjD;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE;QACzB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE;YACR,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;YAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;SACvB,CAAC;QACF,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE;YACN,GAAG,CAAC,EAAE,MAAM,CAAC;YACb,MAAM,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,GAAG,WAAW;IAmBf;;OAEG;IACH,MAAM,IAAI,eAAe;IAIzB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAInC,QAAQ,IAAI,MAAM;CAGnB"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { ServiceStatus, ServiceStatusEnum } from './ServiceStatus.js';
|
|
2
|
+
/**
|
|
3
|
+
* ProcessInfo Value Object
|
|
4
|
+
* Represents information about a managed service process
|
|
5
|
+
*/
|
|
6
|
+
export class ProcessInfo {
|
|
7
|
+
_data;
|
|
8
|
+
constructor(_data) {
|
|
9
|
+
this._data = _data;
|
|
10
|
+
Object.freeze(this);
|
|
11
|
+
}
|
|
12
|
+
get pmId() {
|
|
13
|
+
return this._data.pmId;
|
|
14
|
+
}
|
|
15
|
+
get name() {
|
|
16
|
+
return this._data.name;
|
|
17
|
+
}
|
|
18
|
+
get status() {
|
|
19
|
+
return ServiceStatus.create(this._data.status);
|
|
20
|
+
}
|
|
21
|
+
get statusValue() {
|
|
22
|
+
return this._data.status;
|
|
23
|
+
}
|
|
24
|
+
get pid() {
|
|
25
|
+
return this._data.pid;
|
|
26
|
+
}
|
|
27
|
+
get cpu() {
|
|
28
|
+
return this._data.cpu;
|
|
29
|
+
}
|
|
30
|
+
get memory() {
|
|
31
|
+
return this._data.memory;
|
|
32
|
+
}
|
|
33
|
+
get uptime() {
|
|
34
|
+
return this._data.uptime;
|
|
35
|
+
}
|
|
36
|
+
get restarts() {
|
|
37
|
+
return this._data.restarts;
|
|
38
|
+
}
|
|
39
|
+
get createdAt() {
|
|
40
|
+
return this._data.createdAt;
|
|
41
|
+
}
|
|
42
|
+
get interpreter() {
|
|
43
|
+
return this._data.interpreter;
|
|
44
|
+
}
|
|
45
|
+
get scriptPath() {
|
|
46
|
+
return this._data.scriptPath;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Check if process is online
|
|
50
|
+
*/
|
|
51
|
+
get isOnline() {
|
|
52
|
+
return this._data.status === ServiceStatusEnum.ONLINE;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Check if process is stopped
|
|
56
|
+
*/
|
|
57
|
+
get isStopped() {
|
|
58
|
+
return this._data.status === ServiceStatusEnum.STOPPED;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Check if process has errored
|
|
62
|
+
*/
|
|
63
|
+
get isErrored() {
|
|
64
|
+
return this._data.status === ServiceStatusEnum.ERRORED;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Get formatted memory usage string
|
|
68
|
+
*/
|
|
69
|
+
get memoryFormatted() {
|
|
70
|
+
if (this._data.memory === undefined)
|
|
71
|
+
return 'N/A';
|
|
72
|
+
return formatBytes(this._data.memory);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Get formatted uptime string
|
|
76
|
+
*/
|
|
77
|
+
get uptimeFormatted() {
|
|
78
|
+
if (this._data.uptime === undefined)
|
|
79
|
+
return 'N/A';
|
|
80
|
+
return formatDuration(this._data.uptime);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Get metrics object
|
|
84
|
+
*/
|
|
85
|
+
get metrics() {
|
|
86
|
+
if (this._data.cpu === undefined || this._data.memory === undefined) {
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
return {
|
|
90
|
+
cpu: this._data.cpu,
|
|
91
|
+
memory: this._data.memory,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Create a ProcessInfo from data
|
|
96
|
+
*/
|
|
97
|
+
static create(data) {
|
|
98
|
+
if (data.pmId < 0) {
|
|
99
|
+
throw new Error('PM2 ID cannot be negative');
|
|
100
|
+
}
|
|
101
|
+
if (!data.name || data.name.trim() === '') {
|
|
102
|
+
throw new Error('Process name is required');
|
|
103
|
+
}
|
|
104
|
+
return new ProcessInfo(data);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Create from PM2 process description
|
|
108
|
+
*/
|
|
109
|
+
static fromPm2(pm2Process) {
|
|
110
|
+
const env = pm2Process.pm2_env || {};
|
|
111
|
+
const monit = pm2Process.monit || {};
|
|
112
|
+
return ProcessInfo.create({
|
|
113
|
+
pmId: pm2Process.pm_id ?? 0,
|
|
114
|
+
name: pm2Process.name ?? 'unknown',
|
|
115
|
+
status: env.status ?? ServiceStatusEnum.STOPPED,
|
|
116
|
+
pid: pm2Process.pid,
|
|
117
|
+
cpu: monit.cpu,
|
|
118
|
+
memory: monit.memory,
|
|
119
|
+
uptime: env.pm_uptime,
|
|
120
|
+
restarts: env.restart_time,
|
|
121
|
+
createdAt: env.created_at ? new Date(env.created_at) : undefined,
|
|
122
|
+
interpreter: env.exec_interpreter,
|
|
123
|
+
scriptPath: env.pm_exec_path,
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Convert to plain object
|
|
128
|
+
*/
|
|
129
|
+
toJSON() {
|
|
130
|
+
return { ...this._data };
|
|
131
|
+
}
|
|
132
|
+
equals(other) {
|
|
133
|
+
return this._data.pmId === other._data.pmId && this._data.name === other._data.name;
|
|
134
|
+
}
|
|
135
|
+
toString() {
|
|
136
|
+
return `${this._data.name} (PM2 ID: ${this._data.pmId}, Status: ${this._data.status})`;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Format bytes to human readable string
|
|
141
|
+
*/
|
|
142
|
+
function formatBytes(bytes) {
|
|
143
|
+
const units = ['B', 'KB', 'MB', 'GB', 'TB'];
|
|
144
|
+
let unitIndex = 0;
|
|
145
|
+
let size = bytes;
|
|
146
|
+
while (size >= 1024 && unitIndex < units.length - 1) {
|
|
147
|
+
size /= 1024;
|
|
148
|
+
unitIndex++;
|
|
149
|
+
}
|
|
150
|
+
return `${size.toFixed(1)} ${units[unitIndex]}`;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Format duration in milliseconds to human readable string
|
|
154
|
+
*/
|
|
155
|
+
function formatDuration(ms) {
|
|
156
|
+
const seconds = Math.floor(ms / 1000);
|
|
157
|
+
const minutes = Math.floor(seconds / 60);
|
|
158
|
+
const hours = Math.floor(minutes / 60);
|
|
159
|
+
const days = Math.floor(hours / 24);
|
|
160
|
+
if (days > 0) {
|
|
161
|
+
return `${days}d ${hours % 24}h`;
|
|
162
|
+
}
|
|
163
|
+
if (hours > 0) {
|
|
164
|
+
return `${hours}h ${minutes % 60}m`;
|
|
165
|
+
}
|
|
166
|
+
if (minutes > 0) {
|
|
167
|
+
return `${minutes}m ${seconds % 60}s`;
|
|
168
|
+
}
|
|
169
|
+
return `${seconds}s`;
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=ProcessInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProcessInfo.js","sourceRoot":"","sources":["../../../src/domain/value-objects/ProcessInfo.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Role Enum
|
|
3
|
+
* Defines available user roles in the system
|
|
4
|
+
*/
|
|
5
|
+
export declare enum RoleEnum {
|
|
6
|
+
ADMIN = "admin",
|
|
7
|
+
VIEWER = "viewer"
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Role Value Object
|
|
11
|
+
* Represents a validated user role
|
|
12
|
+
*/
|
|
13
|
+
export declare class Role {
|
|
14
|
+
private readonly _value;
|
|
15
|
+
private static readonly VALID_ROLES;
|
|
16
|
+
private constructor();
|
|
17
|
+
get value(): RoleEnum;
|
|
18
|
+
/**
|
|
19
|
+
* Create a Role from a string value
|
|
20
|
+
*/
|
|
21
|
+
static create(value: string): Role;
|
|
22
|
+
/**
|
|
23
|
+
* Create an admin role
|
|
24
|
+
*/
|
|
25
|
+
static admin(): Role;
|
|
26
|
+
/**
|
|
27
|
+
* Create a viewer role
|
|
28
|
+
*/
|
|
29
|
+
static viewer(): Role;
|
|
30
|
+
/**
|
|
31
|
+
* Check if this role is admin
|
|
32
|
+
*/
|
|
33
|
+
get isAdmin(): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Check if this role is viewer
|
|
36
|
+
*/
|
|
37
|
+
get isViewer(): boolean;
|
|
38
|
+
equals(other: Role): boolean;
|
|
39
|
+
toString(): string;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=Role.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Role.d.ts","sourceRoot":"","sources":["../../../src/domain/value-objects/Role.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,QAAQ;IAClB,KAAK,UAAU;IACf,MAAM,WAAW;CAClB;AAED;;;GAGG;AACH,qBAAa,IAAI;IAGK,OAAO,CAAC,QAAQ,CAAC,MAAM;IAF3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAoC;IAEvE,OAAO;IAIP,IAAI,KAAK,IAAI,QAAQ,CAEpB;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAalC;;OAEG;IACH,MAAM,CAAC,KAAK,IAAI,IAAI;IAIpB;;OAEG;IACH,MAAM,CAAC,MAAM,IAAI,IAAI;IAIrB;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAI5B,QAAQ,IAAI,MAAM;CAGnB"}
|