@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.
Files changed (164) hide show
  1. package/dist/application/ports/inbound/IWorldManagementUseCase.d.ts +41 -0
  2. package/dist/application/ports/inbound/IWorldManagementUseCase.d.ts.map +1 -1
  3. package/dist/application/ports/inbound/index.d.ts +1 -1
  4. package/dist/application/ports/inbound/index.d.ts.map +1 -1
  5. package/dist/application/ports/index.d.ts +2 -2
  6. package/dist/application/ports/index.d.ts.map +1 -1
  7. package/dist/application/ports/outbound/IModSourcePort.d.ts +71 -0
  8. package/dist/application/ports/outbound/IModSourcePort.d.ts.map +1 -0
  9. package/dist/application/ports/outbound/IModSourcePort.js +19 -0
  10. package/dist/application/ports/outbound/IModSourcePort.js.map +1 -0
  11. package/dist/application/ports/outbound/IPromptPort.d.ts +12 -0
  12. package/dist/application/ports/outbound/IPromptPort.d.ts.map +1 -1
  13. package/dist/application/ports/outbound/IServiceManagerPort.d.ts +115 -0
  14. package/dist/application/ports/outbound/IServiceManagerPort.d.ts.map +1 -0
  15. package/dist/application/ports/outbound/IServiceManagerPort.js +2 -0
  16. package/dist/application/ports/outbound/IServiceManagerPort.js.map +1 -0
  17. package/dist/application/ports/outbound/IShellPort.d.ts +10 -2
  18. package/dist/application/ports/outbound/IShellPort.d.ts.map +1 -1
  19. package/dist/application/ports/outbound/IUserRepository.d.ts +42 -0
  20. package/dist/application/ports/outbound/IUserRepository.d.ts.map +1 -0
  21. package/dist/application/ports/outbound/IUserRepository.js +2 -0
  22. package/dist/application/ports/outbound/IUserRepository.js.map +1 -0
  23. package/dist/application/ports/outbound/IWorldRepository.d.ts +19 -0
  24. package/dist/application/ports/outbound/IWorldRepository.d.ts.map +1 -1
  25. package/dist/application/ports/outbound/index.d.ts +4 -1
  26. package/dist/application/ports/outbound/index.d.ts.map +1 -1
  27. package/dist/application/use-cases/CreateServerUseCase.d.ts.map +1 -1
  28. package/dist/application/use-cases/CreateServerUseCase.js +2 -3
  29. package/dist/application/use-cases/CreateServerUseCase.js.map +1 -1
  30. package/dist/application/use-cases/DeleteServerUseCase.js +5 -5
  31. package/dist/application/use-cases/DeleteServerUseCase.js.map +1 -1
  32. package/dist/application/use-cases/WorldManagementUseCase.d.ts +18 -1
  33. package/dist/application/use-cases/WorldManagementUseCase.d.ts.map +1 -1
  34. package/dist/application/use-cases/WorldManagementUseCase.js +332 -0
  35. package/dist/application/use-cases/WorldManagementUseCase.js.map +1 -1
  36. package/dist/docker/index.d.ts +51 -1
  37. package/dist/docker/index.d.ts.map +1 -1
  38. package/dist/docker/index.js +194 -4
  39. package/dist/docker/index.js.map +1 -1
  40. package/dist/domain/entities/User.d.ts +77 -0
  41. package/dist/domain/entities/User.d.ts.map +1 -0
  42. package/dist/domain/entities/User.js +121 -0
  43. package/dist/domain/entities/User.js.map +1 -0
  44. package/dist/domain/entities/World.d.ts +7 -1
  45. package/dist/domain/entities/World.d.ts.map +1 -1
  46. package/dist/domain/entities/World.js +14 -1
  47. package/dist/domain/entities/World.js.map +1 -1
  48. package/dist/domain/entities/index.d.ts +1 -0
  49. package/dist/domain/entities/index.d.ts.map +1 -1
  50. package/dist/domain/entities/index.js +1 -0
  51. package/dist/domain/entities/index.js.map +1 -1
  52. package/dist/domain/index.d.ts +2 -2
  53. package/dist/domain/index.d.ts.map +1 -1
  54. package/dist/domain/index.js +4 -2
  55. package/dist/domain/index.js.map +1 -1
  56. package/dist/domain/mod/ModDependency.d.ts +18 -0
  57. package/dist/domain/mod/ModDependency.d.ts.map +1 -0
  58. package/dist/domain/mod/ModDependency.js +5 -0
  59. package/dist/domain/mod/ModDependency.js.map +1 -0
  60. package/dist/domain/mod/ModFile.d.ts +27 -0
  61. package/dist/domain/mod/ModFile.d.ts.map +1 -0
  62. package/dist/domain/mod/ModFile.js +5 -0
  63. package/dist/domain/mod/ModFile.js.map +1 -0
  64. package/dist/domain/mod/ModProject.d.ts +36 -0
  65. package/dist/domain/mod/ModProject.d.ts.map +1 -0
  66. package/dist/domain/mod/ModProject.js +5 -0
  67. package/dist/domain/mod/ModProject.js.map +1 -0
  68. package/dist/domain/mod/ModSearchResult.d.ts +18 -0
  69. package/dist/domain/mod/ModSearchResult.d.ts.map +1 -0
  70. package/dist/domain/mod/ModSearchResult.js +5 -0
  71. package/dist/domain/mod/ModSearchResult.js.map +1 -0
  72. package/dist/domain/mod/ModVersion.d.ts +36 -0
  73. package/dist/domain/mod/ModVersion.d.ts.map +1 -0
  74. package/dist/domain/mod/ModVersion.js +5 -0
  75. package/dist/domain/mod/ModVersion.js.map +1 -0
  76. package/dist/domain/mod/index.d.ts +11 -0
  77. package/dist/domain/mod/index.d.ts.map +1 -0
  78. package/dist/domain/mod/index.js +6 -0
  79. package/dist/domain/mod/index.js.map +1 -0
  80. package/dist/domain/mod/types.d.ts +43 -0
  81. package/dist/domain/mod/types.d.ts.map +1 -0
  82. package/dist/domain/mod/types.js +6 -0
  83. package/dist/domain/mod/types.js.map +1 -0
  84. package/dist/domain/value-objects/ProcessInfo.d.ts +99 -0
  85. package/dist/domain/value-objects/ProcessInfo.d.ts.map +1 -0
  86. package/dist/domain/value-objects/ProcessInfo.js +171 -0
  87. package/dist/domain/value-objects/ProcessInfo.js.map +1 -0
  88. package/dist/domain/value-objects/Role.d.ts +41 -0
  89. package/dist/domain/value-objects/Role.d.ts.map +1 -0
  90. package/dist/domain/value-objects/Role.js +66 -0
  91. package/dist/domain/value-objects/Role.js.map +1 -0
  92. package/dist/domain/value-objects/ServerType.d.ts +1 -0
  93. package/dist/domain/value-objects/ServerType.d.ts.map +1 -1
  94. package/dist/domain/value-objects/ServerType.js +8 -0
  95. package/dist/domain/value-objects/ServerType.js.map +1 -1
  96. package/dist/domain/value-objects/ServiceStatus.d.ts +64 -0
  97. package/dist/domain/value-objects/ServiceStatus.d.ts.map +1 -0
  98. package/dist/domain/value-objects/ServiceStatus.js +99 -0
  99. package/dist/domain/value-objects/ServiceStatus.js.map +1 -0
  100. package/dist/domain/value-objects/UserId.d.ts +21 -0
  101. package/dist/domain/value-objects/UserId.d.ts.map +1 -0
  102. package/dist/domain/value-objects/UserId.js +43 -0
  103. package/dist/domain/value-objects/UserId.js.map +1 -0
  104. package/dist/domain/value-objects/Username.d.ts +16 -0
  105. package/dist/domain/value-objects/Username.d.ts.map +1 -0
  106. package/dist/domain/value-objects/Username.js +46 -0
  107. package/dist/domain/value-objects/Username.js.map +1 -0
  108. package/dist/domain/value-objects/index.d.ts +5 -0
  109. package/dist/domain/value-objects/index.d.ts.map +1 -1
  110. package/dist/domain/value-objects/index.js +7 -0
  111. package/dist/domain/value-objects/index.js.map +1 -1
  112. package/dist/index.d.ts +4 -2
  113. package/dist/index.d.ts.map +1 -1
  114. package/dist/index.js +9 -3
  115. package/dist/index.js.map +1 -1
  116. package/dist/infrastructure/adapters/ApiPromptAdapter.d.ts +115 -0
  117. package/dist/infrastructure/adapters/ApiPromptAdapter.d.ts.map +1 -0
  118. package/dist/infrastructure/adapters/ApiPromptAdapter.js +268 -0
  119. package/dist/infrastructure/adapters/ApiPromptAdapter.js.map +1 -0
  120. package/dist/infrastructure/adapters/ServerRepository.js +3 -3
  121. package/dist/infrastructure/adapters/ServerRepository.js.map +1 -1
  122. package/dist/infrastructure/adapters/ShellAdapter.d.ts +4 -2
  123. package/dist/infrastructure/adapters/ShellAdapter.d.ts.map +1 -1
  124. package/dist/infrastructure/adapters/ShellAdapter.js +15 -5
  125. package/dist/infrastructure/adapters/ShellAdapter.js.map +1 -1
  126. package/dist/infrastructure/adapters/SqliteUserRepository.d.ts +70 -0
  127. package/dist/infrastructure/adapters/SqliteUserRepository.d.ts.map +1 -0
  128. package/dist/infrastructure/adapters/SqliteUserRepository.js +149 -0
  129. package/dist/infrastructure/adapters/SqliteUserRepository.js.map +1 -0
  130. package/dist/infrastructure/adapters/WorldRepository.d.ts +12 -0
  131. package/dist/infrastructure/adapters/WorldRepository.d.ts.map +1 -1
  132. package/dist/infrastructure/adapters/WorldRepository.js +73 -3
  133. package/dist/infrastructure/adapters/WorldRepository.js.map +1 -1
  134. package/dist/infrastructure/adapters/YamlUserRepository.d.ts +67 -0
  135. package/dist/infrastructure/adapters/YamlUserRepository.d.ts.map +1 -0
  136. package/dist/infrastructure/adapters/YamlUserRepository.js +161 -0
  137. package/dist/infrastructure/adapters/YamlUserRepository.js.map +1 -0
  138. package/dist/infrastructure/adapters/index.d.ts +3 -0
  139. package/dist/infrastructure/adapters/index.d.ts.map +1 -1
  140. package/dist/infrastructure/adapters/index.js +3 -0
  141. package/dist/infrastructure/adapters/index.js.map +1 -1
  142. package/dist/infrastructure/config/Pm2EcosystemConfig.d.ts +192 -0
  143. package/dist/infrastructure/config/Pm2EcosystemConfig.d.ts.map +1 -0
  144. package/dist/infrastructure/config/Pm2EcosystemConfig.js +48 -0
  145. package/dist/infrastructure/config/Pm2EcosystemConfig.js.map +1 -0
  146. package/dist/infrastructure/config/index.d.ts +6 -0
  147. package/dist/infrastructure/config/index.d.ts.map +1 -0
  148. package/dist/infrastructure/config/index.js +6 -0
  149. package/dist/infrastructure/config/index.js.map +1 -0
  150. package/dist/infrastructure/factories/ModSourceFactory.d.ts +73 -0
  151. package/dist/infrastructure/factories/ModSourceFactory.d.ts.map +1 -0
  152. package/dist/infrastructure/factories/ModSourceFactory.js +98 -0
  153. package/dist/infrastructure/factories/ModSourceFactory.js.map +1 -0
  154. package/dist/infrastructure/factories/index.d.ts +5 -0
  155. package/dist/infrastructure/factories/index.d.ts.map +1 -0
  156. package/dist/infrastructure/factories/index.js +5 -0
  157. package/dist/infrastructure/factories/index.js.map +1 -0
  158. package/dist/infrastructure/index.d.ts +1 -0
  159. package/dist/infrastructure/index.d.ts.map +1 -1
  160. package/dist/infrastructure/index.js +1 -0
  161. package/dist/infrastructure/index.js.map +1 -1
  162. package/dist/types/index.d.ts +1 -1
  163. package/dist/types/index.d.ts.map +1 -1
  164. package/package.json +10 -2
@@ -1,9 +1,12 @@
1
1
  import { spawn, execSync, spawnSync } from 'node:child_process';
2
+ import { existsSync, readdirSync, statSync, readFileSync } from 'node:fs';
3
+ import { join } from 'node:path';
4
+ import { homedir } from 'node:os';
2
5
  /**
3
6
  * Execute a command and return stdout
4
7
  * Uses spawnSync to properly handle arguments with special characters
5
8
  */
6
- function execCommand(command, args) {
9
+ export function execCommand(command, args) {
7
10
  try {
8
11
  const result = spawnSync(command, args, {
9
12
  encoding: 'utf-8',
@@ -228,9 +231,11 @@ export function getAvahiStatus() {
228
231
  }
229
232
  /**
230
233
  * Get full platform status
234
+ * Includes both running containers and configured-but-not-running servers
231
235
  */
232
- export function getPlatformStatus() {
233
- const containers = getMcContainers();
236
+ export function getPlatformStatus(serversDir) {
237
+ // Get all servers (configured + running containers)
238
+ const allServerNames = getAllServers(serversDir);
234
239
  return {
235
240
  router: getRouterInfo(),
236
241
  avahi_daemon: {
@@ -238,7 +243,7 @@ export function getPlatformStatus() {
238
243
  status: getAvahiStatus(),
239
244
  type: 'system',
240
245
  },
241
- servers: containers.map(getServerInfo),
246
+ servers: allServerNames.map(serverName => getServerInfoFromConfig(serverName)),
242
247
  };
243
248
  }
244
249
  /**
@@ -271,6 +276,31 @@ export function stopContainer(container) {
271
276
  export function getContainerLogs(container, lines = 50) {
272
277
  return execCommand('docker', ['logs', '--tail', String(lines), container]);
273
278
  }
279
+ /**
280
+ * Execute a command asynchronously and return result
281
+ * For docker commands that need async/await pattern
282
+ */
283
+ export function execCommandAsync(command, args) {
284
+ return new Promise((resolve) => {
285
+ const child = spawn(command, args, {
286
+ stdio: ['pipe', 'pipe', 'pipe'],
287
+ });
288
+ let stdout = '';
289
+ let stderr = '';
290
+ child.stdout?.on('data', (data) => {
291
+ stdout += data.toString();
292
+ });
293
+ child.stderr?.on('data', (data) => {
294
+ stderr += data.toString();
295
+ });
296
+ child.on('close', (code) => {
297
+ resolve({ code: code ?? 1, stdout: stdout.trim(), stderr: stderr.trim() });
298
+ });
299
+ child.on('error', () => {
300
+ resolve({ code: 1, stdout: '', stderr: 'Failed to execute command' });
301
+ });
302
+ });
303
+ }
274
304
  /**
275
305
  * Execute shell script with environment variables
276
306
  */
@@ -529,4 +559,164 @@ export function formatBytes(bytes) {
529
559
  const i = Math.floor(Math.log(bytes) / Math.log(k));
530
560
  return `${(bytes / Math.pow(k, i)).toFixed(1)} ${sizes[i]}`;
531
561
  }
562
+ /**
563
+ * Get configured servers from filesystem (servers/ directory)
564
+ * Returns server names (not container names)
565
+ */
566
+ export function getConfiguredServers(serversDir) {
567
+ const dir = serversDir ?? join(process.env['MCCTL_ROOT'] ?? join(homedir(), 'minecraft-servers'), 'servers');
568
+ if (!existsSync(dir))
569
+ return [];
570
+ try {
571
+ return readdirSync(dir)
572
+ .filter(name => {
573
+ // Skip _template and hidden directories
574
+ if (name === '_template' || name.startsWith('.'))
575
+ return false;
576
+ // Check if it's a directory with config.env
577
+ const serverPath = join(dir, name);
578
+ return statSync(serverPath).isDirectory() &&
579
+ existsSync(join(serverPath, 'config.env'));
580
+ })
581
+ .sort();
582
+ }
583
+ catch {
584
+ return [];
585
+ }
586
+ }
587
+ /**
588
+ * Get server info for a configured server (may or may not have a container)
589
+ */
590
+ export function getServerInfoFromConfig(serverName) {
591
+ const container = `mc-${serverName}`;
592
+ const status = getContainerStatus(container);
593
+ // If container doesn't exist, mark as not_created
594
+ if (status === 'not_found') {
595
+ return {
596
+ name: serverName,
597
+ container,
598
+ status: 'not_created',
599
+ health: 'none',
600
+ hostname: '-',
601
+ };
602
+ }
603
+ return getServerInfo(container);
604
+ }
605
+ /**
606
+ * Get all servers (both configured and running containers)
607
+ * Merges filesystem-configured servers with Docker container status
608
+ */
609
+ export function getAllServers(serversDir) {
610
+ // Get configured servers from filesystem
611
+ const configuredServers = getConfiguredServers(serversDir);
612
+ // Get running/stopped containers
613
+ const containerServers = getMcContainers()
614
+ .map(c => c.replace(/^mc-/, ''));
615
+ // Merge and dedupe
616
+ const allServers = new Set([...configuredServers, ...containerServers]);
617
+ return Array.from(allServers).sort();
618
+ }
619
+ /**
620
+ * Get the servers directory path
621
+ */
622
+ export function getServersDir() {
623
+ return join(process.env['MCCTL_ROOT'] ?? join(homedir(), 'minecraft-servers'), 'servers');
624
+ }
625
+ /**
626
+ * Read config.env file for a server
627
+ * Returns key-value pairs of environment variables
628
+ */
629
+ export function readServerConfigEnv(serverName, serversDir) {
630
+ const dir = serversDir ?? getServersDir();
631
+ const configPath = join(dir, serverName, 'config.env');
632
+ if (!existsSync(configPath)) {
633
+ return {};
634
+ }
635
+ try {
636
+ const content = readFileSync(configPath, 'utf-8');
637
+ const config = {};
638
+ for (const line of content.split('\n')) {
639
+ const trimmed = line.trim();
640
+ // Skip comments and empty lines
641
+ if (!trimmed || trimmed.startsWith('#'))
642
+ continue;
643
+ const eqIndex = trimmed.indexOf('=');
644
+ if (eqIndex === -1)
645
+ continue;
646
+ const key = trimmed.substring(0, eqIndex).trim();
647
+ let value = trimmed.substring(eqIndex + 1).trim();
648
+ // Remove quotes if present
649
+ if ((value.startsWith('"') && value.endsWith('"')) ||
650
+ (value.startsWith("'") && value.endsWith("'"))) {
651
+ value = value.slice(1, -1);
652
+ }
653
+ config[key] = value;
654
+ }
655
+ return config;
656
+ }
657
+ catch {
658
+ return {};
659
+ }
660
+ }
661
+ /**
662
+ * Check if a server exists (either as container or as configuration)
663
+ */
664
+ export function serverExists(serverName, serversDir) {
665
+ const container = `mc-${serverName}`;
666
+ // Check if container exists
667
+ if (containerExists(container)) {
668
+ return true;
669
+ }
670
+ // Check if configured
671
+ const dir = serversDir ?? getServersDir();
672
+ const serverPath = join(dir, serverName);
673
+ return existsSync(join(serverPath, 'config.env'));
674
+ }
675
+ /**
676
+ * Get detailed server info from config.env (for servers without containers)
677
+ */
678
+ export function getDetailedServerInfoFromConfig(serverName, serversDir) {
679
+ const container = `mc-${serverName}`;
680
+ const configEnv = readServerConfigEnv(serverName, serversDir);
681
+ const dir = serversDir ?? getServersDir();
682
+ // Read docker-compose.yml to get hostname
683
+ let hostname = '-';
684
+ const composePath = join(dir, serverName, 'docker-compose.yml');
685
+ if (existsSync(composePath)) {
686
+ try {
687
+ const composeContent = readFileSync(composePath, 'utf-8');
688
+ // Look for mc-router.host label
689
+ const hostMatch = composeContent.match(/mc-router\.host['":\s]+([^\s'"]+)/);
690
+ if (hostMatch && hostMatch[1]) {
691
+ hostname = hostMatch[1];
692
+ }
693
+ }
694
+ catch {
695
+ // Ignore parse errors
696
+ }
697
+ }
698
+ return {
699
+ name: serverName,
700
+ container,
701
+ status: 'not_created',
702
+ health: 'none',
703
+ hostname,
704
+ type: configEnv['TYPE'] || 'PAPER',
705
+ version: configEnv['VERSION'] || 'LATEST',
706
+ memory: configEnv['MEMORY'] || '2G',
707
+ };
708
+ }
709
+ /**
710
+ * Get detailed server info (works for both running containers and config-only servers)
711
+ */
712
+ export async function getServerDetailedInfo(serverName, serversDir) {
713
+ const container = `mc-${serverName}`;
714
+ const configEnv = readServerConfigEnv(serverName, serversDir);
715
+ // If container exists, get info from Docker
716
+ if (containerExists(container)) {
717
+ return getDetailedServerInfoWithPlayers(container, configEnv);
718
+ }
719
+ // Otherwise, get info from config only
720
+ return getDetailedServerInfoFromConfig(serverName, serversDir);
721
+ }
532
722
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/docker/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/docker/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import { UserId } from '../value-objects/UserId.js';
2
+ import { Username } from '../value-objects/Username.js';
3
+ import { Role, RoleEnum } from '../value-objects/Role.js';
4
+ /**
5
+ * User entity data for creation
6
+ */
7
+ export interface UserData {
8
+ id?: UserId;
9
+ username: Username;
10
+ passwordHash: string;
11
+ role: Role;
12
+ createdAt?: Date;
13
+ updatedAt?: Date;
14
+ }
15
+ /**
16
+ * User entity
17
+ * Represents an authenticated user in the system
18
+ */
19
+ export declare class User {
20
+ private readonly _id;
21
+ private readonly _username;
22
+ private _passwordHash;
23
+ private _role;
24
+ private readonly _createdAt;
25
+ private _updatedAt;
26
+ private constructor();
27
+ get id(): UserId;
28
+ get username(): Username;
29
+ get passwordHash(): string;
30
+ get role(): Role;
31
+ get createdAt(): Date;
32
+ get updatedAt(): Date;
33
+ get isAdmin(): boolean;
34
+ get isViewer(): boolean;
35
+ /**
36
+ * Update the user's password hash
37
+ */
38
+ updatePasswordHash(newPasswordHash: string): void;
39
+ /**
40
+ * Update the user's role
41
+ */
42
+ updateRole(newRole: Role): void;
43
+ /**
44
+ * Create a new User entity
45
+ */
46
+ static create(data: UserData): User;
47
+ /**
48
+ * Create a User from raw data (e.g., from database)
49
+ */
50
+ static fromRaw(raw: {
51
+ id: string;
52
+ username: string;
53
+ passwordHash: string;
54
+ role: string;
55
+ createdAt: Date | string;
56
+ updatedAt: Date | string;
57
+ }): User;
58
+ /**
59
+ * Create an admin user
60
+ */
61
+ static createAdmin(username: Username, passwordHash: string): User;
62
+ /**
63
+ * Create a viewer user
64
+ */
65
+ static createViewer(username: Username, passwordHash: string): User;
66
+ /**
67
+ * Convert to plain object for serialization
68
+ */
69
+ toJSON(): {
70
+ id: string;
71
+ username: string;
72
+ role: RoleEnum;
73
+ createdAt: string;
74
+ updatedAt: string;
75
+ };
76
+ }
77
+ //# sourceMappingURL=User.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"User.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/User.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED;;;GAGG;AACH,qBAAa,IAAI;IACf,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAO;IAClC,OAAO,CAAC,UAAU,CAAO;IAEzB,OAAO;IAUP,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,IAAI,IAAI,IAAI,CAEf;IAED,IAAI,SAAS,IAAI,IAAI,CAEpB;IAED,IAAI,SAAS,IAAI,IAAI,CAEpB;IAGD,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,kBAAkB,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI;IAQjD;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI;IAK/B;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAOnC;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;QAClB,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;QACzB,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;KAC1B,GAAG,IAAI;IAWR;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAQlE;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAQnE;;OAEG;IACH,MAAM,IAAI;QACR,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,QAAQ,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB;CASF"}
@@ -0,0 +1,121 @@
1
+ import { UserId } from '../value-objects/UserId.js';
2
+ import { Username } from '../value-objects/Username.js';
3
+ import { Role } from '../value-objects/Role.js';
4
+ /**
5
+ * User entity
6
+ * Represents an authenticated user in the system
7
+ */
8
+ export class User {
9
+ _id;
10
+ _username;
11
+ _passwordHash;
12
+ _role;
13
+ _createdAt;
14
+ _updatedAt;
15
+ constructor(data) {
16
+ this._id = data.id ?? UserId.generate();
17
+ this._username = data.username;
18
+ this._passwordHash = data.passwordHash;
19
+ this._role = data.role;
20
+ this._createdAt = data.createdAt ?? new Date();
21
+ this._updatedAt = data.updatedAt ?? new Date();
22
+ }
23
+ // Getters
24
+ get id() {
25
+ return this._id;
26
+ }
27
+ get username() {
28
+ return this._username;
29
+ }
30
+ get passwordHash() {
31
+ return this._passwordHash;
32
+ }
33
+ get role() {
34
+ return this._role;
35
+ }
36
+ get createdAt() {
37
+ return this._createdAt;
38
+ }
39
+ get updatedAt() {
40
+ return this._updatedAt;
41
+ }
42
+ // Role checks
43
+ get isAdmin() {
44
+ return this._role.isAdmin;
45
+ }
46
+ get isViewer() {
47
+ return this._role.isViewer;
48
+ }
49
+ /**
50
+ * Update the user's password hash
51
+ */
52
+ updatePasswordHash(newPasswordHash) {
53
+ if (!newPasswordHash || newPasswordHash.trim().length === 0) {
54
+ throw new Error('Password hash cannot be empty');
55
+ }
56
+ this._passwordHash = newPasswordHash;
57
+ this._updatedAt = new Date();
58
+ }
59
+ /**
60
+ * Update the user's role
61
+ */
62
+ updateRole(newRole) {
63
+ this._role = newRole;
64
+ this._updatedAt = new Date();
65
+ }
66
+ /**
67
+ * Create a new User entity
68
+ */
69
+ static create(data) {
70
+ if (!data.passwordHash || data.passwordHash.trim().length === 0) {
71
+ throw new Error('Password hash is required');
72
+ }
73
+ return new User(data);
74
+ }
75
+ /**
76
+ * Create a User from raw data (e.g., from database)
77
+ */
78
+ static fromRaw(raw) {
79
+ return new User({
80
+ id: UserId.create(raw.id),
81
+ username: Username.create(raw.username),
82
+ passwordHash: raw.passwordHash,
83
+ role: Role.create(raw.role),
84
+ createdAt: new Date(raw.createdAt),
85
+ updatedAt: new Date(raw.updatedAt),
86
+ });
87
+ }
88
+ /**
89
+ * Create an admin user
90
+ */
91
+ static createAdmin(username, passwordHash) {
92
+ return User.create({
93
+ username,
94
+ passwordHash,
95
+ role: Role.admin(),
96
+ });
97
+ }
98
+ /**
99
+ * Create a viewer user
100
+ */
101
+ static createViewer(username, passwordHash) {
102
+ return User.create({
103
+ username,
104
+ passwordHash,
105
+ role: Role.viewer(),
106
+ });
107
+ }
108
+ /**
109
+ * Convert to plain object for serialization
110
+ */
111
+ toJSON() {
112
+ return {
113
+ id: this._id.value,
114
+ username: this._username.value,
115
+ role: this._role.value,
116
+ createdAt: this._createdAt.toISOString(),
117
+ updatedAt: this._updatedAt.toISOString(),
118
+ };
119
+ }
120
+ }
121
+ //# sourceMappingURL=User.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"User.js","sourceRoot":"","sources":["../../../src/domain/entities/User.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ export declare class World {
24
24
  private _lock?;
25
25
  private _sizeBytes?;
26
26
  private _lastModified?;
27
+ private _seed?;
27
28
  constructor(name: string, path: string);
28
29
  get name(): string;
29
30
  get path(): string;
@@ -34,6 +35,7 @@ export declare class World {
34
35
  get lockedBy(): string | undefined;
35
36
  get sizeBytes(): number | undefined;
36
37
  get lastModified(): Date | undefined;
38
+ get seed(): string | undefined;
37
39
  /**
38
40
  * Get human-readable size
39
41
  */
@@ -53,7 +55,11 @@ export declare class World {
53
55
  /**
54
56
  * Set world metadata
55
57
  */
56
- setMetadata(sizeBytes: number, lastModified: Date): void;
58
+ setMetadata(sizeBytes: number, lastModified: Date, seed?: string): void;
59
+ /**
60
+ * Set world seed
61
+ */
62
+ setSeed(seed: string): void;
57
63
  /**
58
64
  * Check if lock is stale (older than specified minutes)
59
65
  */
@@ -1 +1 @@
1
- {"version":3,"file":"World.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/World.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,eAAe;IACzB,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,KAAK,CAAC,CAAY;IAC1B,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAO;gBAEjB,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAMtC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,UAAU,IAAI,eAAe,CAEhC;IAED,IAAI,IAAI,IAAI,SAAS,GAAG,SAAS,CAEhC;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,QAAQ,IAAI,MAAM,GAAG,SAAS,CAEjC;IAED,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;IAED,IAAI,YAAY,IAAI,IAAI,GAAG,SAAS,CAEnC;IAED;;OAEG;IACH,IAAI,aAAa,IAAI,MAAM,CAa1B;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAe9C;;OAEG;IACH,OAAO,IAAI,IAAI;IAKf;;OAEG;IACH,YAAY,IAAI,IAAI;IAKpB;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,GAAG,IAAI;IAKxD;;OAEG;IACH,WAAW,CAAC,aAAa,GAAE,MAAW,GAAG,OAAO;IAQhD;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,KAAK;IAI3D;;OAEG;IACH,MAAM,CAAC,QAAQ,CACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,IAAI,EACf,GAAG,CAAC,EAAE,MAAM,GACX,KAAK;CAMT"}
1
+ {"version":3,"file":"World.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/World.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,eAAe;IACzB,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,KAAK,CAAC,CAAY;IAC1B,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAO;IAC7B,OAAO,CAAC,KAAK,CAAC,CAAS;gBAEX,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAMtC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,UAAU,IAAI,eAAe,CAEhC;IAED,IAAI,IAAI,IAAI,SAAS,GAAG,SAAS,CAEhC;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,QAAQ,IAAI,MAAM,GAAG,SAAS,CAEjC;IAED,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;IAED,IAAI,YAAY,IAAI,IAAI,GAAG,SAAS,CAEnC;IAED,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAE7B;IAED;;OAEG;IACH,IAAI,aAAa,IAAI,MAAM,CAa1B;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAe9C;;OAEG;IACH,OAAO,IAAI,IAAI;IAKf;;OAEG;IACH,YAAY,IAAI,IAAI;IAKpB;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAQvE;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B;;OAEG;IACH,WAAW,CAAC,aAAa,GAAE,MAAW,GAAG,OAAO;IAQhD;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,KAAK;IAI3D;;OAEG;IACH,MAAM,CAAC,QAAQ,CACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,IAAI,EACf,GAAG,CAAC,EAAE,MAAM,GACX,KAAK;CAMT"}
@@ -17,6 +17,7 @@ export class World {
17
17
  _lock;
18
18
  _sizeBytes;
19
19
  _lastModified;
20
+ _seed;
20
21
  constructor(name, path) {
21
22
  this._name = name;
22
23
  this._path = path;
@@ -49,6 +50,9 @@ export class World {
49
50
  get lastModified() {
50
51
  return this._lastModified;
51
52
  }
53
+ get seed() {
54
+ return this._seed;
55
+ }
52
56
  /**
53
57
  * Get human-readable size
54
58
  */
@@ -95,9 +99,18 @@ export class World {
95
99
  /**
96
100
  * Set world metadata
97
101
  */
98
- setMetadata(sizeBytes, lastModified) {
102
+ setMetadata(sizeBytes, lastModified, seed) {
99
103
  this._sizeBytes = sizeBytes;
100
104
  this._lastModified = lastModified;
105
+ if (seed !== undefined) {
106
+ this._seed = seed;
107
+ }
108
+ }
109
+ /**
110
+ * Set world seed
111
+ */
112
+ setSeed(seed) {
113
+ this._seed = seed;
101
114
  }
102
115
  /**
103
116
  * Check if lock is stale (older than specified minutes)
@@ -1 +1 @@
1
- {"version":3,"file":"World.js","sourceRoot":"","sources":["../../../src/domain/entities/World.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"World.js","sourceRoot":"","sources":["../../../src/domain/entities/World.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export { Server, ServerStatus, type ServerConfig } from './Server.js';
2
2
  export { World, WorldLockStatus, type WorldLock } from './World.js';
3
+ export { User, type UserData } from './User.js';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export { Server, ServerStatus } from './Server.js';
2
2
  export { World, WorldLockStatus } from './World.js';
3
+ export { User } from './User.js';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/entities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAqB,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAkB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/entities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAqB,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAkB,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,IAAI,EAAiB,MAAM,WAAW,CAAC"}
@@ -1,3 +1,3 @@
1
- export { ServerName, ServerType, ServerTypeEnum, type ServerTypeInfo, McVersion, Memory, WorldOptions, WorldSetupType, type WorldOptionsData, } from './value-objects/index.js';
2
- export { Server, ServerStatus, type ServerConfig, World, WorldLockStatus, type WorldLock, } from './entities/index.js';
1
+ export { ServerName, ServerType, ServerTypeEnum, type ServerTypeInfo, McVersion, Memory, WorldOptions, WorldSetupType, type WorldOptionsData, UserId, Username, Role, RoleEnum, ServiceStatus, ServiceStatusEnum, ProcessInfo, type ProcessInfoData, type ProcessMetrics, } from './value-objects/index.js';
2
+ export { Server, ServerStatus, type ServerConfig, World, WorldLockStatus, type WorldLock, User, type UserData, } from './entities/index.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,UAAU,EACV,cAAc,EACd,KAAK,cAAc,EACnB,SAAS,EACT,MAAM,EACN,YAAY,EACZ,cAAc,EACd,KAAK,gBAAgB,GACtB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,MAAM,EACN,YAAY,EACZ,KAAK,YAAY,EACjB,KAAK,EACL,eAAe,EACf,KAAK,SAAS,GACf,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,UAAU,EACV,cAAc,EACd,KAAK,cAAc,EACnB,SAAS,EACT,MAAM,EACN,YAAY,EACZ,cAAc,EACd,KAAK,gBAAgB,EACrB,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,QAAQ,EAER,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,MAAM,EACN,YAAY,EACZ,KAAK,YAAY,EACjB,KAAK,EACL,eAAe,EACf,KAAK,SAAS,EACd,IAAI,EACJ,KAAK,QAAQ,GACd,MAAM,qBAAqB,CAAC"}
@@ -1,5 +1,7 @@
1
1
  // Value Objects
2
- export { ServerName, ServerType, ServerTypeEnum, McVersion, Memory, WorldOptions, WorldSetupType, } from './value-objects/index.js';
2
+ export { ServerName, ServerType, ServerTypeEnum, McVersion, Memory, WorldOptions, WorldSetupType, UserId, Username, Role, RoleEnum,
3
+ // Service management value objects
4
+ ServiceStatus, ServiceStatusEnum, ProcessInfo, } from './value-objects/index.js';
3
5
  // Entities
4
- export { Server, ServerStatus, World, WorldLockStatus, } from './entities/index.js';
6
+ export { Server, ServerStatus, World, WorldLockStatus, User, } from './entities/index.js';
5
7
  //# sourceMappingURL=index.js.map