@minecraft-docker/shared 1.6.0 → 1.6.2

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 (261) hide show
  1. package/dist/application/index.d.ts +3 -0
  2. package/dist/application/index.d.ts.map +1 -0
  3. package/dist/application/index.js +5 -0
  4. package/dist/application/index.js.map +1 -0
  5. package/dist/application/ports/inbound/IBackupUseCase.d.ts +69 -0
  6. package/dist/application/ports/inbound/IBackupUseCase.d.ts.map +1 -0
  7. package/dist/application/ports/inbound/IBackupUseCase.js +2 -0
  8. package/dist/application/ports/inbound/IBackupUseCase.js.map +1 -0
  9. package/dist/application/ports/inbound/ICreateServerUseCase.d.ts +32 -0
  10. package/dist/application/ports/inbound/ICreateServerUseCase.d.ts.map +1 -0
  11. package/dist/application/ports/inbound/ICreateServerUseCase.js +2 -0
  12. package/dist/application/ports/inbound/ICreateServerUseCase.js.map +1 -0
  13. package/dist/application/ports/inbound/IDeleteServerUseCase.d.ts +26 -0
  14. package/dist/application/ports/inbound/IDeleteServerUseCase.d.ts.map +1 -0
  15. package/dist/application/ports/inbound/IDeleteServerUseCase.js +2 -0
  16. package/dist/application/ports/inbound/IDeleteServerUseCase.js.map +1 -0
  17. package/dist/application/ports/inbound/IPlayerLookupUseCase.d.ts +47 -0
  18. package/dist/application/ports/inbound/IPlayerLookupUseCase.d.ts.map +1 -0
  19. package/dist/application/ports/inbound/IPlayerLookupUseCase.js +2 -0
  20. package/dist/application/ports/inbound/IPlayerLookupUseCase.js.map +1 -0
  21. package/dist/application/ports/inbound/IServerStatusUseCase.d.ts +34 -0
  22. package/dist/application/ports/inbound/IServerStatusUseCase.d.ts.map +1 -0
  23. package/dist/application/ports/inbound/IServerStatusUseCase.js +2 -0
  24. package/dist/application/ports/inbound/IServerStatusUseCase.js.map +1 -0
  25. package/dist/application/ports/inbound/IWorldManagementUseCase.d.ts +97 -0
  26. package/dist/application/ports/inbound/IWorldManagementUseCase.d.ts.map +1 -0
  27. package/dist/application/ports/inbound/IWorldManagementUseCase.js +2 -0
  28. package/dist/application/ports/inbound/IWorldManagementUseCase.js.map +1 -0
  29. package/dist/application/ports/inbound/index.d.ts +7 -0
  30. package/dist/application/ports/inbound/index.d.ts.map +1 -0
  31. package/dist/application/ports/inbound/index.js +2 -0
  32. package/dist/application/ports/inbound/index.js.map +1 -0
  33. package/dist/application/ports/index.d.ts +3 -0
  34. package/dist/application/ports/index.d.ts.map +1 -0
  35. package/dist/application/ports/index.js +2 -0
  36. package/dist/application/ports/index.js.map +1 -0
  37. package/dist/application/ports/outbound/IDocProvider.d.ts +73 -0
  38. package/dist/application/ports/outbound/IDocProvider.d.ts.map +1 -0
  39. package/dist/application/ports/outbound/IDocProvider.js +2 -0
  40. package/dist/application/ports/outbound/IDocProvider.js.map +1 -0
  41. package/dist/application/ports/outbound/IModSourcePort.d.ts +71 -0
  42. package/dist/application/ports/outbound/IModSourcePort.d.ts.map +1 -0
  43. package/dist/application/ports/outbound/IModSourcePort.js +19 -0
  44. package/dist/application/ports/outbound/IModSourcePort.js.map +1 -0
  45. package/dist/application/ports/outbound/IPromptPort.d.ts +148 -0
  46. package/dist/application/ports/outbound/IPromptPort.d.ts.map +1 -0
  47. package/dist/application/ports/outbound/IPromptPort.js +2 -0
  48. package/dist/application/ports/outbound/IPromptPort.js.map +1 -0
  49. package/dist/application/ports/outbound/IServerRepository.d.ts +54 -0
  50. package/dist/application/ports/outbound/IServerRepository.d.ts.map +1 -0
  51. package/dist/application/ports/outbound/IServerRepository.js +2 -0
  52. package/dist/application/ports/outbound/IServerRepository.js.map +1 -0
  53. package/dist/application/ports/outbound/IServiceManagerPort.d.ts +115 -0
  54. package/dist/application/ports/outbound/IServiceManagerPort.d.ts.map +1 -0
  55. package/dist/application/ports/outbound/IServiceManagerPort.js +2 -0
  56. package/dist/application/ports/outbound/IServiceManagerPort.js.map +1 -0
  57. package/dist/application/ports/outbound/IShellPort.d.ts +114 -0
  58. package/dist/application/ports/outbound/IShellPort.d.ts.map +1 -0
  59. package/dist/application/ports/outbound/IShellPort.js +2 -0
  60. package/dist/application/ports/outbound/IShellPort.js.map +1 -0
  61. package/dist/application/ports/outbound/IUserRepository.d.ts +42 -0
  62. package/dist/application/ports/outbound/IUserRepository.d.ts.map +1 -0
  63. package/dist/application/ports/outbound/IUserRepository.js +2 -0
  64. package/dist/application/ports/outbound/IUserRepository.js.map +1 -0
  65. package/dist/application/ports/outbound/IWorldRepository.d.ts +90 -0
  66. package/dist/application/ports/outbound/IWorldRepository.d.ts.map +1 -0
  67. package/dist/application/ports/outbound/IWorldRepository.js +2 -0
  68. package/dist/application/ports/outbound/IWorldRepository.js.map +1 -0
  69. package/dist/application/ports/outbound/index.d.ts +9 -0
  70. package/dist/application/ports/outbound/index.d.ts.map +1 -0
  71. package/dist/application/ports/outbound/index.js +2 -0
  72. package/dist/application/ports/outbound/index.js.map +1 -0
  73. package/dist/application/use-cases/BackupUseCase.d.ts +35 -0
  74. package/dist/application/use-cases/BackupUseCase.d.ts.map +1 -0
  75. package/dist/application/use-cases/BackupUseCase.js +222 -0
  76. package/dist/application/use-cases/BackupUseCase.js.map +1 -0
  77. package/dist/application/use-cases/CreateServerUseCase.d.ts +22 -0
  78. package/dist/application/use-cases/CreateServerUseCase.d.ts.map +1 -0
  79. package/dist/application/use-cases/CreateServerUseCase.js +144 -0
  80. package/dist/application/use-cases/CreateServerUseCase.js.map +1 -0
  81. package/dist/application/use-cases/DeleteServerUseCase.d.ts +24 -0
  82. package/dist/application/use-cases/DeleteServerUseCase.d.ts.map +1 -0
  83. package/dist/application/use-cases/DeleteServerUseCase.js +108 -0
  84. package/dist/application/use-cases/DeleteServerUseCase.js.map +1 -0
  85. package/dist/application/use-cases/PlayerLookupUseCase.d.ts +23 -0
  86. package/dist/application/use-cases/PlayerLookupUseCase.d.ts.map +1 -0
  87. package/dist/application/use-cases/PlayerLookupUseCase.js +130 -0
  88. package/dist/application/use-cases/PlayerLookupUseCase.js.map +1 -0
  89. package/dist/application/use-cases/ServerStatusUseCase.d.ts +30 -0
  90. package/dist/application/use-cases/ServerStatusUseCase.d.ts.map +1 -0
  91. package/dist/application/use-cases/ServerStatusUseCase.js +117 -0
  92. package/dist/application/use-cases/ServerStatusUseCase.js.map +1 -0
  93. package/dist/application/use-cases/WorldManagementUseCase.d.ts +50 -0
  94. package/dist/application/use-cases/WorldManagementUseCase.d.ts.map +1 -0
  95. package/dist/application/use-cases/WorldManagementUseCase.js +571 -0
  96. package/dist/application/use-cases/WorldManagementUseCase.js.map +1 -0
  97. package/dist/application/use-cases/index.d.ts +7 -0
  98. package/dist/application/use-cases/index.d.ts.map +1 -0
  99. package/dist/application/use-cases/index.js +7 -0
  100. package/dist/application/use-cases/index.js.map +1 -0
  101. package/dist/docker/index.d.ts +125 -0
  102. package/dist/docker/index.d.ts.map +1 -0
  103. package/dist/docker/index.js +557 -0
  104. package/dist/docker/index.js.map +1 -0
  105. package/dist/domain/entities/Server.d.ts +77 -0
  106. package/dist/domain/entities/Server.d.ts.map +1 -0
  107. package/dist/domain/entities/Server.js +138 -0
  108. package/dist/domain/entities/Server.js.map +1 -0
  109. package/dist/domain/entities/User.d.ts +77 -0
  110. package/dist/domain/entities/User.d.ts.map +1 -0
  111. package/dist/domain/entities/User.js +121 -0
  112. package/dist/domain/entities/User.js.map +1 -0
  113. package/dist/domain/entities/World.d.ts +76 -0
  114. package/dist/domain/entities/World.d.ts.map +1 -0
  115. package/dist/domain/entities/World.js +141 -0
  116. package/dist/domain/entities/World.js.map +1 -0
  117. package/dist/domain/entities/index.d.ts +4 -0
  118. package/dist/domain/entities/index.d.ts.map +1 -0
  119. package/dist/domain/entities/index.js +4 -0
  120. package/dist/domain/entities/index.js.map +1 -0
  121. package/dist/domain/index.d.ts +3 -0
  122. package/dist/domain/index.d.ts.map +1 -0
  123. package/dist/domain/index.js +7 -0
  124. package/dist/domain/index.js.map +1 -0
  125. package/dist/domain/mod/ModDependency.d.ts +18 -0
  126. package/dist/domain/mod/ModDependency.d.ts.map +1 -0
  127. package/dist/domain/mod/ModDependency.js +5 -0
  128. package/dist/domain/mod/ModDependency.js.map +1 -0
  129. package/dist/domain/mod/ModFile.d.ts +27 -0
  130. package/dist/domain/mod/ModFile.d.ts.map +1 -0
  131. package/dist/domain/mod/ModFile.js +5 -0
  132. package/dist/domain/mod/ModFile.js.map +1 -0
  133. package/dist/domain/mod/ModProject.d.ts +36 -0
  134. package/dist/domain/mod/ModProject.d.ts.map +1 -0
  135. package/dist/domain/mod/ModProject.js +5 -0
  136. package/dist/domain/mod/ModProject.js.map +1 -0
  137. package/dist/domain/mod/ModSearchResult.d.ts +18 -0
  138. package/dist/domain/mod/ModSearchResult.d.ts.map +1 -0
  139. package/dist/domain/mod/ModSearchResult.js +5 -0
  140. package/dist/domain/mod/ModSearchResult.js.map +1 -0
  141. package/dist/domain/mod/ModVersion.d.ts +36 -0
  142. package/dist/domain/mod/ModVersion.d.ts.map +1 -0
  143. package/dist/domain/mod/ModVersion.js +5 -0
  144. package/dist/domain/mod/ModVersion.js.map +1 -0
  145. package/dist/domain/mod/index.d.ts +11 -0
  146. package/dist/domain/mod/index.d.ts.map +1 -0
  147. package/dist/domain/mod/index.js +6 -0
  148. package/dist/domain/mod/index.js.map +1 -0
  149. package/dist/domain/mod/types.d.ts +43 -0
  150. package/dist/domain/mod/types.d.ts.map +1 -0
  151. package/dist/domain/mod/types.js +6 -0
  152. package/dist/domain/mod/types.js.map +1 -0
  153. package/dist/domain/value-objects/McVersion.d.ts +35 -0
  154. package/dist/domain/value-objects/McVersion.d.ts.map +1 -0
  155. package/dist/domain/value-objects/McVersion.js +117 -0
  156. package/dist/domain/value-objects/McVersion.js.map +1 -0
  157. package/dist/domain/value-objects/Memory.d.ts +37 -0
  158. package/dist/domain/value-objects/Memory.d.ts.map +1 -0
  159. package/dist/domain/value-objects/Memory.js +107 -0
  160. package/dist/domain/value-objects/Memory.js.map +1 -0
  161. package/dist/domain/value-objects/ProcessInfo.d.ts +99 -0
  162. package/dist/domain/value-objects/ProcessInfo.d.ts.map +1 -0
  163. package/dist/domain/value-objects/ProcessInfo.js +171 -0
  164. package/dist/domain/value-objects/ProcessInfo.js.map +1 -0
  165. package/dist/domain/value-objects/Role.d.ts +41 -0
  166. package/dist/domain/value-objects/Role.d.ts.map +1 -0
  167. package/dist/domain/value-objects/Role.js +66 -0
  168. package/dist/domain/value-objects/Role.js.map +1 -0
  169. package/dist/domain/value-objects/ServerName.d.ts +21 -0
  170. package/dist/domain/value-objects/ServerName.d.ts.map +1 -0
  171. package/dist/domain/value-objects/ServerName.js +58 -0
  172. package/dist/domain/value-objects/ServerName.js.map +1 -0
  173. package/dist/domain/value-objects/ServerType.d.ts +40 -0
  174. package/dist/domain/value-objects/ServerType.d.ts.map +1 -0
  175. package/dist/domain/value-objects/ServerType.js +136 -0
  176. package/dist/domain/value-objects/ServerType.js.map +1 -0
  177. package/dist/domain/value-objects/ServiceStatus.d.ts +64 -0
  178. package/dist/domain/value-objects/ServiceStatus.d.ts.map +1 -0
  179. package/dist/domain/value-objects/ServiceStatus.js +99 -0
  180. package/dist/domain/value-objects/ServiceStatus.js.map +1 -0
  181. package/dist/domain/value-objects/UserId.d.ts +21 -0
  182. package/dist/domain/value-objects/UserId.d.ts.map +1 -0
  183. package/dist/domain/value-objects/UserId.js +43 -0
  184. package/dist/domain/value-objects/UserId.js.map +1 -0
  185. package/dist/domain/value-objects/Username.d.ts +16 -0
  186. package/dist/domain/value-objects/Username.d.ts.map +1 -0
  187. package/dist/domain/value-objects/Username.js +46 -0
  188. package/dist/domain/value-objects/Username.js.map +1 -0
  189. package/dist/domain/value-objects/WorldOptions.d.ts +49 -0
  190. package/dist/domain/value-objects/WorldOptions.d.ts.map +1 -0
  191. package/dist/domain/value-objects/WorldOptions.js +149 -0
  192. package/dist/domain/value-objects/WorldOptions.js.map +1 -0
  193. package/dist/domain/value-objects/index.d.ts +11 -0
  194. package/dist/domain/value-objects/index.d.ts.map +1 -0
  195. package/dist/domain/value-objects/index.js +13 -0
  196. package/dist/domain/value-objects/index.js.map +1 -0
  197. package/dist/index.d.ts +9 -0
  198. package/dist/index.d.ts.map +1 -0
  199. package/dist/index.js +21 -0
  200. package/dist/index.js.map +1 -0
  201. package/dist/infrastructure/adapters/ApiPromptAdapter.d.ts +115 -0
  202. package/dist/infrastructure/adapters/ApiPromptAdapter.d.ts.map +1 -0
  203. package/dist/infrastructure/adapters/ApiPromptAdapter.js +268 -0
  204. package/dist/infrastructure/adapters/ApiPromptAdapter.js.map +1 -0
  205. package/dist/infrastructure/adapters/DocsAdapter.d.ts +45 -0
  206. package/dist/infrastructure/adapters/DocsAdapter.d.ts.map +1 -0
  207. package/dist/infrastructure/adapters/DocsAdapter.js +490 -0
  208. package/dist/infrastructure/adapters/DocsAdapter.js.map +1 -0
  209. package/dist/infrastructure/adapters/ServerRepository.d.ts +49 -0
  210. package/dist/infrastructure/adapters/ServerRepository.d.ts.map +1 -0
  211. package/dist/infrastructure/adapters/ServerRepository.js +206 -0
  212. package/dist/infrastructure/adapters/ServerRepository.js.map +1 -0
  213. package/dist/infrastructure/adapters/ShellAdapter.d.ts +41 -0
  214. package/dist/infrastructure/adapters/ShellAdapter.d.ts.map +1 -0
  215. package/dist/infrastructure/adapters/ShellAdapter.js +198 -0
  216. package/dist/infrastructure/adapters/ShellAdapter.js.map +1 -0
  217. package/dist/infrastructure/adapters/SqliteUserRepository.d.ts +70 -0
  218. package/dist/infrastructure/adapters/SqliteUserRepository.d.ts.map +1 -0
  219. package/dist/infrastructure/adapters/SqliteUserRepository.js +149 -0
  220. package/dist/infrastructure/adapters/SqliteUserRepository.js.map +1 -0
  221. package/dist/infrastructure/adapters/WorldRepository.d.ts +67 -0
  222. package/dist/infrastructure/adapters/WorldRepository.d.ts.map +1 -0
  223. package/dist/infrastructure/adapters/WorldRepository.js +283 -0
  224. package/dist/infrastructure/adapters/WorldRepository.js.map +1 -0
  225. package/dist/infrastructure/adapters/YamlUserRepository.d.ts +67 -0
  226. package/dist/infrastructure/adapters/YamlUserRepository.d.ts.map +1 -0
  227. package/dist/infrastructure/adapters/YamlUserRepository.js +161 -0
  228. package/dist/infrastructure/adapters/YamlUserRepository.js.map +1 -0
  229. package/dist/infrastructure/adapters/index.d.ts +12 -0
  230. package/dist/infrastructure/adapters/index.d.ts.map +1 -0
  231. package/dist/infrastructure/adapters/index.js +12 -0
  232. package/dist/infrastructure/adapters/index.js.map +1 -0
  233. package/dist/infrastructure/config/Pm2EcosystemConfig.d.ts +192 -0
  234. package/dist/infrastructure/config/Pm2EcosystemConfig.d.ts.map +1 -0
  235. package/dist/infrastructure/config/Pm2EcosystemConfig.js +48 -0
  236. package/dist/infrastructure/config/Pm2EcosystemConfig.js.map +1 -0
  237. package/dist/infrastructure/config/index.d.ts +6 -0
  238. package/dist/infrastructure/config/index.d.ts.map +1 -0
  239. package/dist/infrastructure/config/index.js +6 -0
  240. package/dist/infrastructure/config/index.js.map +1 -0
  241. package/dist/infrastructure/factories/ModSourceFactory.d.ts +73 -0
  242. package/dist/infrastructure/factories/ModSourceFactory.d.ts.map +1 -0
  243. package/dist/infrastructure/factories/ModSourceFactory.js +98 -0
  244. package/dist/infrastructure/factories/ModSourceFactory.js.map +1 -0
  245. package/dist/infrastructure/factories/index.d.ts +5 -0
  246. package/dist/infrastructure/factories/index.d.ts.map +1 -0
  247. package/dist/infrastructure/factories/index.js +5 -0
  248. package/dist/infrastructure/factories/index.js.map +1 -0
  249. package/dist/infrastructure/index.d.ts +7 -0
  250. package/dist/infrastructure/index.d.ts.map +1 -0
  251. package/dist/infrastructure/index.js +7 -0
  252. package/dist/infrastructure/index.js.map +1 -0
  253. package/dist/types/index.d.ts +151 -0
  254. package/dist/types/index.d.ts.map +1 -0
  255. package/dist/types/index.js +2 -0
  256. package/dist/types/index.js.map +1 -0
  257. package/dist/utils/index.d.ts +81 -0
  258. package/dist/utils/index.d.ts.map +1 -0
  259. package/dist/utils/index.js +200 -0
  260. package/dist/utils/index.js.map +1 -0
  261. package/package.json +10 -2
@@ -0,0 +1,40 @@
1
+ /**
2
+ * ServerType Value Object
3
+ * Represents Minecraft server types supported by itzg/minecraft-server
4
+ */
5
+ export declare enum ServerTypeEnum {
6
+ PAPER = "PAPER",
7
+ VANILLA = "VANILLA",
8
+ FORGE = "FORGE",
9
+ NEOFORGE = "NEOFORGE",
10
+ FABRIC = "FABRIC",
11
+ SPIGOT = "SPIGOT",
12
+ BUKKIT = "BUKKIT",
13
+ PURPUR = "PURPUR",
14
+ QUILT = "QUILT"
15
+ }
16
+ export interface ServerTypeInfo {
17
+ value: ServerTypeEnum;
18
+ label: string;
19
+ description: string;
20
+ supportsPlugins: boolean;
21
+ supportsMods: boolean;
22
+ recommended: boolean;
23
+ }
24
+ export declare class ServerType {
25
+ private readonly _value;
26
+ private constructor();
27
+ get value(): ServerTypeEnum;
28
+ get info(): ServerTypeInfo;
29
+ get label(): string;
30
+ get description(): string;
31
+ get supportsPlugins(): boolean;
32
+ get supportsMods(): boolean;
33
+ static create(value: string): ServerType;
34
+ static fromEnum(value: ServerTypeEnum): ServerType;
35
+ static getAll(): ServerTypeInfo[];
36
+ static getRecommended(): ServerType;
37
+ equals(other: ServerType): boolean;
38
+ toString(): string;
39
+ }
40
+ //# sourceMappingURL=ServerType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerType.d.ts","sourceRoot":"","sources":["../../../src/domain/value-objects/ServerType.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,cAAc;IACxB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;CACtB;AAoED,qBAAa,UAAU;IACD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAA3C,OAAO;IAIP,IAAI,KAAK,IAAI,cAAc,CAE1B;IAED,IAAI,IAAI,IAAI,cAAc,CAKzB;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAWxC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,UAAU;IAIlD,MAAM,CAAC,MAAM,IAAI,cAAc,EAAE;IAOjC,MAAM,CAAC,cAAc,IAAI,UAAU;IAInC,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO;IAIlC,QAAQ,IAAI,MAAM;CAGnB"}
@@ -0,0 +1,136 @@
1
+ /**
2
+ * ServerType Value Object
3
+ * Represents Minecraft server types supported by itzg/minecraft-server
4
+ */
5
+ export var ServerTypeEnum;
6
+ (function (ServerTypeEnum) {
7
+ ServerTypeEnum["PAPER"] = "PAPER";
8
+ ServerTypeEnum["VANILLA"] = "VANILLA";
9
+ ServerTypeEnum["FORGE"] = "FORGE";
10
+ ServerTypeEnum["NEOFORGE"] = "NEOFORGE";
11
+ ServerTypeEnum["FABRIC"] = "FABRIC";
12
+ ServerTypeEnum["SPIGOT"] = "SPIGOT";
13
+ ServerTypeEnum["BUKKIT"] = "BUKKIT";
14
+ ServerTypeEnum["PURPUR"] = "PURPUR";
15
+ ServerTypeEnum["QUILT"] = "QUILT";
16
+ })(ServerTypeEnum || (ServerTypeEnum = {}));
17
+ const SERVER_TYPE_INFO = {
18
+ [ServerTypeEnum.PAPER]: {
19
+ label: 'Paper',
20
+ description: 'High performance server with plugin support (Recommended)',
21
+ supportsPlugins: true,
22
+ supportsMods: false,
23
+ recommended: true,
24
+ },
25
+ [ServerTypeEnum.VANILLA]: {
26
+ label: 'Vanilla',
27
+ description: 'Official Minecraft server',
28
+ supportsPlugins: false,
29
+ supportsMods: false,
30
+ recommended: false,
31
+ },
32
+ [ServerTypeEnum.FORGE]: {
33
+ label: 'Forge',
34
+ description: 'Modded server for Forge mods',
35
+ supportsPlugins: false,
36
+ supportsMods: true,
37
+ recommended: false,
38
+ },
39
+ [ServerTypeEnum.NEOFORGE]: {
40
+ label: 'NeoForge',
41
+ description: 'Modern Forge fork for Minecraft 1.20.1+',
42
+ supportsPlugins: false,
43
+ supportsMods: true,
44
+ recommended: false,
45
+ },
46
+ [ServerTypeEnum.FABRIC]: {
47
+ label: 'Fabric',
48
+ description: 'Lightweight modded server',
49
+ supportsPlugins: false,
50
+ supportsMods: true,
51
+ recommended: false,
52
+ },
53
+ [ServerTypeEnum.SPIGOT]: {
54
+ label: 'Spigot',
55
+ description: 'Modified Bukkit server with plugin support',
56
+ supportsPlugins: true,
57
+ supportsMods: false,
58
+ recommended: false,
59
+ },
60
+ [ServerTypeEnum.BUKKIT]: {
61
+ label: 'Bukkit',
62
+ description: 'Classic plugin server',
63
+ supportsPlugins: true,
64
+ supportsMods: false,
65
+ recommended: false,
66
+ },
67
+ [ServerTypeEnum.PURPUR]: {
68
+ label: 'Purpur',
69
+ description: 'Paper fork with additional features',
70
+ supportsPlugins: true,
71
+ supportsMods: false,
72
+ recommended: false,
73
+ },
74
+ [ServerTypeEnum.QUILT]: {
75
+ label: 'Quilt',
76
+ description: 'Modern modding toolchain',
77
+ supportsPlugins: false,
78
+ supportsMods: true,
79
+ recommended: false,
80
+ },
81
+ };
82
+ export class ServerType {
83
+ _value;
84
+ constructor(_value) {
85
+ this._value = _value;
86
+ Object.freeze(this);
87
+ }
88
+ get value() {
89
+ return this._value;
90
+ }
91
+ get info() {
92
+ return {
93
+ value: this._value,
94
+ ...SERVER_TYPE_INFO[this._value],
95
+ };
96
+ }
97
+ get label() {
98
+ return SERVER_TYPE_INFO[this._value].label;
99
+ }
100
+ get description() {
101
+ return SERVER_TYPE_INFO[this._value].description;
102
+ }
103
+ get supportsPlugins() {
104
+ return SERVER_TYPE_INFO[this._value].supportsPlugins;
105
+ }
106
+ get supportsMods() {
107
+ return SERVER_TYPE_INFO[this._value].supportsMods;
108
+ }
109
+ static create(value) {
110
+ const upperValue = value.toUpperCase().trim();
111
+ if (!Object.values(ServerTypeEnum).includes(upperValue)) {
112
+ const validTypes = Object.values(ServerTypeEnum).join(', ');
113
+ throw new Error(`Invalid server type: ${value}. Valid types are: ${validTypes}`);
114
+ }
115
+ return new ServerType(upperValue);
116
+ }
117
+ static fromEnum(value) {
118
+ return new ServerType(value);
119
+ }
120
+ static getAll() {
121
+ return Object.values(ServerTypeEnum).map((type) => ({
122
+ value: type,
123
+ ...SERVER_TYPE_INFO[type],
124
+ }));
125
+ }
126
+ static getRecommended() {
127
+ return new ServerType(ServerTypeEnum.PAPER);
128
+ }
129
+ equals(other) {
130
+ return this._value === other._value;
131
+ }
132
+ toString() {
133
+ return this._value;
134
+ }
135
+ }
136
+ //# sourceMappingURL=ServerType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerType.js","sourceRoot":"","sources":["../../../src/domain/value-objects/ServerType.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Service Status Enum
3
+ * Defines possible states for a managed service process
4
+ */
5
+ export declare enum ServiceStatusEnum {
6
+ ONLINE = "online",
7
+ STOPPING = "stopping",
8
+ STOPPED = "stopped",
9
+ ERRORED = "errored",
10
+ ONE_LAUNCH_STATUS = "one-launch-status"
11
+ }
12
+ /**
13
+ * ServiceStatus Value Object
14
+ * Represents a validated service status
15
+ */
16
+ export declare class ServiceStatus {
17
+ private readonly _value;
18
+ private static readonly VALID_STATUSES;
19
+ private constructor();
20
+ get value(): ServiceStatusEnum;
21
+ /**
22
+ * Create a ServiceStatus from a string value
23
+ */
24
+ static create(value: string): ServiceStatus;
25
+ /**
26
+ * Create an online status
27
+ */
28
+ static online(): ServiceStatus;
29
+ /**
30
+ * Create a stopped status
31
+ */
32
+ static stopped(): ServiceStatus;
33
+ /**
34
+ * Create a stopping status
35
+ */
36
+ static stopping(): ServiceStatus;
37
+ /**
38
+ * Create an errored status
39
+ */
40
+ static errored(): ServiceStatus;
41
+ /**
42
+ * Check if service is online
43
+ */
44
+ get isOnline(): boolean;
45
+ /**
46
+ * Check if service is stopped
47
+ */
48
+ get isStopped(): boolean;
49
+ /**
50
+ * Check if service is stopping
51
+ */
52
+ get isStopping(): boolean;
53
+ /**
54
+ * Check if service has errored
55
+ */
56
+ get isErrored(): boolean;
57
+ /**
58
+ * Check if service is running (online or stopping)
59
+ */
60
+ get isRunning(): boolean;
61
+ equals(other: ServiceStatus): boolean;
62
+ toString(): string;
63
+ }
64
+ //# sourceMappingURL=ServiceStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceStatus.d.ts","sourceRoot":"","sources":["../../../src/domain/value-objects/ServiceStatus.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,iBAAiB;IAC3B,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,iBAAiB,sBAAsB;CACxC;AAED;;;GAGG;AACH,qBAAa,aAAa;IAGJ,OAAO,CAAC,QAAQ,CAAC,MAAM;IAF3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAA6C;IAEnF,OAAO;IAIP,IAAI,KAAK,IAAI,iBAAiB,CAE7B;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa;IAa3C;;OAEG;IACH,MAAM,CAAC,MAAM,IAAI,aAAa;IAI9B;;OAEG;IACH,MAAM,CAAC,OAAO,IAAI,aAAa;IAI/B;;OAEG;IACH,MAAM,CAAC,QAAQ,IAAI,aAAa;IAIhC;;OAEG;IACH,MAAM,CAAC,OAAO,IAAI,aAAa;IAI/B;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAIrC,QAAQ,IAAI,MAAM;CAGnB"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Service Status Enum
3
+ * Defines possible states for a managed service process
4
+ */
5
+ export var ServiceStatusEnum;
6
+ (function (ServiceStatusEnum) {
7
+ ServiceStatusEnum["ONLINE"] = "online";
8
+ ServiceStatusEnum["STOPPING"] = "stopping";
9
+ ServiceStatusEnum["STOPPED"] = "stopped";
10
+ ServiceStatusEnum["ERRORED"] = "errored";
11
+ ServiceStatusEnum["ONE_LAUNCH_STATUS"] = "one-launch-status";
12
+ })(ServiceStatusEnum || (ServiceStatusEnum = {}));
13
+ /**
14
+ * ServiceStatus Value Object
15
+ * Represents a validated service status
16
+ */
17
+ export class ServiceStatus {
18
+ _value;
19
+ static VALID_STATUSES = new Set(Object.values(ServiceStatusEnum));
20
+ constructor(_value) {
21
+ this._value = _value;
22
+ Object.freeze(this);
23
+ }
24
+ get value() {
25
+ return this._value;
26
+ }
27
+ /**
28
+ * Create a ServiceStatus from a string value
29
+ */
30
+ static create(value) {
31
+ const normalized = value.trim().toLowerCase();
32
+ if (!ServiceStatus.VALID_STATUSES.has(normalized)) {
33
+ const validStatuses = Array.from(ServiceStatus.VALID_STATUSES).join(', ');
34
+ throw new Error(`Invalid service status: ${value}. Valid statuses are: ${validStatuses}`);
35
+ }
36
+ return new ServiceStatus(normalized);
37
+ }
38
+ /**
39
+ * Create an online status
40
+ */
41
+ static online() {
42
+ return new ServiceStatus(ServiceStatusEnum.ONLINE);
43
+ }
44
+ /**
45
+ * Create a stopped status
46
+ */
47
+ static stopped() {
48
+ return new ServiceStatus(ServiceStatusEnum.STOPPED);
49
+ }
50
+ /**
51
+ * Create a stopping status
52
+ */
53
+ static stopping() {
54
+ return new ServiceStatus(ServiceStatusEnum.STOPPING);
55
+ }
56
+ /**
57
+ * Create an errored status
58
+ */
59
+ static errored() {
60
+ return new ServiceStatus(ServiceStatusEnum.ERRORED);
61
+ }
62
+ /**
63
+ * Check if service is online
64
+ */
65
+ get isOnline() {
66
+ return this._value === ServiceStatusEnum.ONLINE;
67
+ }
68
+ /**
69
+ * Check if service is stopped
70
+ */
71
+ get isStopped() {
72
+ return this._value === ServiceStatusEnum.STOPPED;
73
+ }
74
+ /**
75
+ * Check if service is stopping
76
+ */
77
+ get isStopping() {
78
+ return this._value === ServiceStatusEnum.STOPPING;
79
+ }
80
+ /**
81
+ * Check if service has errored
82
+ */
83
+ get isErrored() {
84
+ return this._value === ServiceStatusEnum.ERRORED;
85
+ }
86
+ /**
87
+ * Check if service is running (online or stopping)
88
+ */
89
+ get isRunning() {
90
+ return this._value === ServiceStatusEnum.ONLINE || this._value === ServiceStatusEnum.STOPPING;
91
+ }
92
+ equals(other) {
93
+ return this._value === other._value;
94
+ }
95
+ toString() {
96
+ return this._value;
97
+ }
98
+ }
99
+ //# sourceMappingURL=ServiceStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceStatus.js","sourceRoot":"","sources":["../../../src/domain/value-objects/ServiceStatus.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAN,IAAY,iBAMX;AAND,WAAY,iBAAiB;IAC3B,sCAAiB,CAAA;IACjB,0CAAqB,CAAA;IACrB,wCAAmB,CAAA;IACnB,wCAAmB,CAAA;IACnB,4DAAuC,CAAA;AACzC,CAAC,EANW,iBAAiB,KAAjB,iBAAiB,QAM5B;AAED;;;GAGG;AACH,MAAM,OAAO,aAAa;IAGa;IAF7B,MAAM,CAAU,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAEnF,YAAqC,MAAyB;QAAzB,WAAM,GAAN,MAAM,CAAmB;QAC5D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,KAAa;QACzB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAuB,CAAC;QAEnE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAClD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1E,MAAM,IAAI,KAAK,CACb,2BAA2B,KAAK,yBAAyB,aAAa,EAAE,CACzE,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAM;QACX,OAAO,IAAI,aAAa,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAO;QACZ,OAAO,IAAI,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ;QACb,OAAO,IAAI,aAAa,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAO;QACZ,OAAO,IAAI,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,KAAK,iBAAiB,CAAC,OAAO,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,MAAM,KAAK,iBAAiB,CAAC,QAAQ,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,KAAK,iBAAiB,CAAC,OAAO,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAiB,CAAC,QAAQ,CAAC;IAChG,CAAC;IAED,MAAM,CAAC,KAAoB;QACzB,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC;IACtC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * UserId Value Object
3
+ * Represents a validated UUID-based user identifier
4
+ */
5
+ export declare class UserId {
6
+ private readonly _value;
7
+ private static readonly UUID_REGEX;
8
+ private constructor();
9
+ get value(): string;
10
+ /**
11
+ * Create a UserId from an existing UUID string
12
+ */
13
+ static create(value: string): UserId;
14
+ /**
15
+ * Generate a new random UserId
16
+ */
17
+ static generate(): UserId;
18
+ equals(other: UserId): boolean;
19
+ toString(): string;
20
+ }
21
+ //# sourceMappingURL=UserId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserId.d.ts","sourceRoot":"","sources":["../../../src/domain/value-objects/UserId.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,MAAM;IAIG,OAAO,CAAC,QAAQ,CAAC,MAAM;IAH3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAC6C;IAE/E,OAAO;IAIP,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAcpC;;OAEG;IACH,MAAM,CAAC,QAAQ,IAAI,MAAM;IAMzB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAI9B,QAAQ,IAAI,MAAM;CAGnB"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * UserId Value Object
3
+ * Represents a validated UUID-based user identifier
4
+ */
5
+ export class UserId {
6
+ _value;
7
+ static UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
8
+ constructor(_value) {
9
+ this._value = _value;
10
+ Object.freeze(this);
11
+ }
12
+ get value() {
13
+ return this._value;
14
+ }
15
+ /**
16
+ * Create a UserId from an existing UUID string
17
+ */
18
+ static create(value) {
19
+ const trimmed = value.trim().toLowerCase();
20
+ if (!trimmed) {
21
+ throw new Error('User ID cannot be empty');
22
+ }
23
+ if (!UserId.UUID_REGEX.test(trimmed)) {
24
+ throw new Error('User ID must be a valid UUID format');
25
+ }
26
+ return new UserId(trimmed);
27
+ }
28
+ /**
29
+ * Generate a new random UserId
30
+ */
31
+ static generate() {
32
+ // Use crypto.randomUUID() for UUID v4 generation
33
+ const uuid = crypto.randomUUID();
34
+ return new UserId(uuid.toLowerCase());
35
+ }
36
+ equals(other) {
37
+ return this._value === other._value;
38
+ }
39
+ toString() {
40
+ return this._value;
41
+ }
42
+ }
43
+ //# sourceMappingURL=UserId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserId.js","sourceRoot":"","sources":["../../../src/domain/value-objects/UserId.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,MAAM;IAIoB;IAH7B,MAAM,CAAU,UAAU,GAChC,4EAA4E,CAAC;IAE/E,YAAqC,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QACjD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,KAAa;QACzB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE3C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ;QACb,iDAAiD;QACjD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACjC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC;IACtC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Username Value Object
3
+ * Represents a validated username (3-50 characters, alphanumeric + underscore)
4
+ */
5
+ export declare class Username {
6
+ private readonly _value;
7
+ private static readonly MIN_LENGTH;
8
+ private static readonly MAX_LENGTH;
9
+ private static readonly PATTERN;
10
+ private constructor();
11
+ get value(): string;
12
+ static create(value: string): Username;
13
+ equals(other: Username): boolean;
14
+ toString(): string;
15
+ }
16
+ //# sourceMappingURL=Username.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Username.d.ts","sourceRoot":"","sources":["../../../src/domain/value-objects/Username.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,QAAQ;IAMC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAL3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAK;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAM;IAExC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAEpD,OAAO;IAIP,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ;IAiCtC,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAKhC,QAAQ,IAAI,MAAM;CAGnB"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Username Value Object
3
+ * Represents a validated username (3-50 characters, alphanumeric + underscore)
4
+ */
5
+ export class Username {
6
+ _value;
7
+ static MIN_LENGTH = 3;
8
+ static MAX_LENGTH = 50;
9
+ // Alphanumeric characters and underscores only
10
+ static PATTERN = /^[a-zA-Z0-9_]+$/;
11
+ constructor(_value) {
12
+ this._value = _value;
13
+ Object.freeze(this);
14
+ }
15
+ get value() {
16
+ return this._value;
17
+ }
18
+ static create(value) {
19
+ const trimmed = value.trim();
20
+ if (!trimmed) {
21
+ throw new Error('Username cannot be empty');
22
+ }
23
+ if (trimmed.length < Username.MIN_LENGTH) {
24
+ throw new Error(`Username must be at least ${Username.MIN_LENGTH} characters`);
25
+ }
26
+ if (trimmed.length > Username.MAX_LENGTH) {
27
+ throw new Error(`Username cannot exceed ${Username.MAX_LENGTH} characters`);
28
+ }
29
+ if (!Username.PATTERN.test(trimmed)) {
30
+ throw new Error('Username must contain only alphanumeric characters and underscores');
31
+ }
32
+ // Username must start with a letter
33
+ if (!/^[a-zA-Z]/.test(trimmed)) {
34
+ throw new Error('Username must start with a letter');
35
+ }
36
+ return new Username(trimmed);
37
+ }
38
+ equals(other) {
39
+ // Case-insensitive comparison for usernames
40
+ return this._value.toLowerCase() === other._value.toLowerCase();
41
+ }
42
+ toString() {
43
+ return this._value;
44
+ }
45
+ }
46
+ //# sourceMappingURL=Username.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Username.js","sourceRoot":"","sources":["../../../src/domain/value-objects/Username.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,QAAQ;IAMkB;IAL7B,MAAM,CAAU,UAAU,GAAG,CAAC,CAAC;IAC/B,MAAM,CAAU,UAAU,GAAG,EAAE,CAAC;IACxC,+CAA+C;IACvC,MAAM,CAAU,OAAO,GAAG,iBAAiB,CAAC;IAEpD,YAAqC,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QACjD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,KAAa;QACzB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAE7B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CACb,6BAA6B,QAAQ,CAAC,UAAU,aAAa,CAC9D,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CACb,0BAA0B,QAAQ,CAAC,UAAU,aAAa,CAC3D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;QACJ,CAAC;QAED,oCAAoC;QACpC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,KAAe;QACpB,4CAA4C;QAC5C,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IAClE,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * WorldOptions Value Object
3
+ * Represents world configuration options for server creation
4
+ */
5
+ export declare enum WorldSetupType {
6
+ NEW = "new",
7
+ EXISTING = "existing",
8
+ DOWNLOAD = "download"
9
+ }
10
+ export interface WorldOptionsData {
11
+ setupType: WorldSetupType;
12
+ seed?: string;
13
+ worldName?: string;
14
+ downloadUrl?: string;
15
+ }
16
+ export declare class WorldOptions {
17
+ private readonly _data;
18
+ private constructor();
19
+ get setupType(): WorldSetupType;
20
+ get seed(): string | undefined;
21
+ get worldName(): string | undefined;
22
+ get downloadUrl(): string | undefined;
23
+ get isNewWorld(): boolean;
24
+ get isExistingWorld(): boolean;
25
+ get isDownloadWorld(): boolean;
26
+ /**
27
+ * Convert to CLI arguments for create-server.sh
28
+ */
29
+ toCliArgs(): string[];
30
+ /**
31
+ * Create new world options (optionally with seed)
32
+ */
33
+ static newWorld(seed?: string): WorldOptions;
34
+ /**
35
+ * Use existing world from worlds/ directory
36
+ */
37
+ static existingWorld(worldName: string): WorldOptions;
38
+ /**
39
+ * Download world from URL (ZIP file)
40
+ */
41
+ static downloadWorld(url: string): WorldOptions;
42
+ /**
43
+ * Default: new world without seed
44
+ */
45
+ static default(): WorldOptions;
46
+ equals(other: WorldOptions): boolean;
47
+ toString(): string;
48
+ }
49
+ //# sourceMappingURL=WorldOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorldOptions.d.ts","sourceRoot":"","sources":["../../../src/domain/value-objects/WorldOptions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,cAAc;IACxB,GAAG,QAAQ;IACX,QAAQ,aAAa;IACrB,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,cAAc,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,YAAY;IACH,OAAO,CAAC,QAAQ,CAAC,KAAK;IAA1C,OAAO;IAKP,IAAI,SAAS,IAAI,cAAc,CAE9B;IAED,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAE7B;IAED,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED;;OAEG;IACH,SAAS,IAAI,MAAM,EAAE;IAwBrB;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY;IAkB5C;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY;IAoBrD;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY;IA2B/C;;OAEG;IACH,MAAM,CAAC,OAAO,IAAI,YAAY;IAI9B,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO;IASpC,QAAQ,IAAI,MAAM;CAUnB"}