@open-core/framework 0.2.9 → 0.3.0

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 (309) hide show
  1. package/dist/adapters/contracts/IPlatformCapabilities.d.ts +79 -0
  2. package/dist/adapters/contracts/IPlatformCapabilities.js +31 -0
  3. package/dist/adapters/contracts/IPlayerInfo.d.ts +1 -1
  4. package/dist/adapters/contracts/{IPedAppearanceClient.d.ts → client/IPedAppearanceClient.d.ts} +1 -1
  5. package/dist/adapters/contracts/server/IEntityServer.d.ts +188 -0
  6. package/dist/adapters/contracts/server/IEntityServer.js +39 -0
  7. package/dist/adapters/contracts/{IPlayerServer.d.ts → server/IPlayerServer.d.ts} +52 -9
  8. package/dist/adapters/contracts/server/IPlayerServer.js +39 -0
  9. package/dist/adapters/contracts/types/identifier.d.ts +67 -0
  10. package/dist/adapters/contracts/types/identifier.js +64 -0
  11. package/dist/adapters/contracts/types/index.d.ts +1 -0
  12. package/dist/{kernel/shared/appearance → adapters/contracts/types}/index.js +1 -1
  13. package/dist/adapters/fivem/fivem-capabilities.d.ts +18 -0
  14. package/dist/adapters/fivem/fivem-capabilities.js +67 -0
  15. package/dist/adapters/fivem/fivem-engine-events.js +17 -4
  16. package/dist/adapters/fivem/fivem-entity-server.d.ts +6 -2
  17. package/dist/adapters/fivem/fivem-entity-server.js +14 -1
  18. package/dist/adapters/fivem/fivem-ped-appearance-client.d.ts +1 -1
  19. package/dist/adapters/fivem/fivem-ped-appearance-client.js +1 -1
  20. package/dist/adapters/fivem/fivem-ped-appearance-server.d.ts +1 -1
  21. package/dist/adapters/fivem/fivem-ped-appearance-server.js +1 -1
  22. package/dist/adapters/fivem/fivem-platform.d.ts +5 -0
  23. package/dist/adapters/fivem/fivem-platform.js +100 -0
  24. package/dist/adapters/fivem/fivem-player-server.d.ts +7 -1
  25. package/dist/adapters/fivem/fivem-player-server.js +19 -1
  26. package/dist/adapters/fivem/fivem-playerinfo.d.ts +1 -1
  27. package/dist/adapters/fivem/fivem-vehicle-server.d.ts +1 -1
  28. package/dist/adapters/fivem/fivem-vehicle-server.js +1 -1
  29. package/dist/adapters/fivem/index.d.ts +13 -0
  30. package/dist/adapters/fivem/index.js +31 -0
  31. package/dist/adapters/index.d.ts +8 -7
  32. package/dist/adapters/index.js +13 -12
  33. package/dist/adapters/node/index.d.ts +5 -0
  34. package/dist/adapters/node/index.js +13 -1
  35. package/dist/adapters/node/node-capabilities.d.ts +19 -0
  36. package/dist/adapters/node/node-capabilities.js +54 -0
  37. package/dist/adapters/node/node-entity-server.d.ts +17 -6
  38. package/dist/adapters/node/node-entity-server.js +41 -15
  39. package/dist/adapters/node/node-net-transport.js +2 -2
  40. package/dist/adapters/node/node-ped-appearance-client.d.ts +1 -1
  41. package/dist/adapters/node/node-ped-appearance-client.js +1 -1
  42. package/dist/adapters/node/node-ped-appearance-server.d.ts +1 -1
  43. package/dist/adapters/node/node-ped-appearance-server.js +1 -1
  44. package/dist/adapters/node/node-platform.d.ts +5 -0
  45. package/dist/adapters/node/node-platform.js +103 -0
  46. package/dist/adapters/node/node-player-server.d.ts +19 -3
  47. package/dist/adapters/node/node-player-server.js +43 -9
  48. package/dist/adapters/node/node-playerinfo.d.ts +2 -2
  49. package/dist/adapters/node/node-playerinfo.js +14 -3
  50. package/dist/adapters/node/node-vehicle-server.d.ts +1 -1
  51. package/dist/adapters/node/node-vehicle-server.js +1 -1
  52. package/dist/adapters/platform/index.d.ts +1 -0
  53. package/dist/{runtime/server/database.js → adapters/platform/index.js} +1 -7
  54. package/dist/adapters/platform/platform-registry.d.ts +101 -0
  55. package/dist/adapters/platform/platform-registry.js +122 -0
  56. package/dist/adapters/register-capabilities.d.ts +52 -2
  57. package/dist/adapters/register-capabilities.js +69 -130
  58. package/dist/adapters/register-client-capabilities.js +1 -1
  59. package/dist/index.d.ts +2 -5
  60. package/dist/index.js +5 -31
  61. package/dist/kernel/di/container.d.ts +4 -2
  62. package/dist/kernel/di/container.js +5 -3
  63. package/dist/kernel/di/metadata.scanner.d.ts +2 -1
  64. package/dist/kernel/di/metadata.scanner.js +3 -2
  65. package/dist/kernel/{utils/error → error}/app.error.d.ts +2 -2
  66. package/dist/kernel/error/common.error-codes.d.ts +1 -0
  67. package/dist/kernel/error/framework.error-codes.d.ts +12 -0
  68. package/dist/kernel/error/index.d.ts +4 -0
  69. package/dist/kernel/error/index.js +18 -0
  70. package/dist/kernel/{utils/error → error}/security.error.d.ts +1 -1
  71. package/dist/kernel/error/security.types.js +2 -0
  72. package/dist/kernel/index.d.ts +4 -5
  73. package/dist/kernel/index.js +6 -11
  74. package/dist/kernel/{shared/logger → logger}/core-logger.d.ts +0 -19
  75. package/dist/kernel/{shared/logger → logger}/core-logger.js +10 -24
  76. package/dist/kernel/{shared/logger → logger}/logger.env.d.ts +12 -5
  77. package/dist/kernel/{shared/logger → logger}/logger.env.js +29 -13
  78. package/dist/kernel/{shared/logger → logger}/logger.service.d.ts +14 -0
  79. package/dist/kernel/{shared/logger → logger}/logger.service.js +20 -2
  80. package/dist/kernel/logger/transports/transport.interface.js +2 -0
  81. package/dist/kernel/shared/index.d.ts +1 -2
  82. package/dist/kernel/shared/index.js +1 -2
  83. package/dist/kernel/utils/index.d.ts +0 -2
  84. package/dist/kernel/utils/index.js +0 -2
  85. package/dist/kernel/utils/result.d.ts +1 -1
  86. package/dist/runtime/client/api.d.ts +7 -0
  87. package/dist/runtime/client/api.js +23 -0
  88. package/dist/runtime/client/client-bootstrap.js +1 -1
  89. package/dist/runtime/client/controllers/spawner.controller.d.ts +1 -1
  90. package/dist/runtime/client/decorators/index.d.ts +2 -2
  91. package/dist/runtime/client/decorators/index.js +2 -2
  92. package/dist/runtime/client/decorators/key.d.ts +2 -2
  93. package/dist/runtime/client/decorators/key.js +3 -3
  94. package/dist/runtime/client/decorators/localEvent.d.ts +1 -1
  95. package/dist/runtime/client/decorators/localEvent.js +1 -1
  96. package/dist/runtime/client/decorators/{tick.d.ts → onTick.d.ts} +1 -1
  97. package/dist/runtime/client/decorators/{tick.js → onTick.js} +2 -2
  98. package/dist/runtime/client/decorators/{nui.d.ts → onView.d.ts} +4 -4
  99. package/dist/runtime/client/decorators/{nui.js → onView.js} +5 -5
  100. package/dist/runtime/client/index.d.ts +1 -7
  101. package/dist/runtime/client/index.js +26 -12
  102. package/dist/runtime/client/player/player.d.ts +1 -1
  103. package/dist/runtime/client/player/player.loader.js +3 -3
  104. package/dist/runtime/client/services/appearance.service.d.ts +1 -1
  105. package/dist/runtime/client/services/appearance.service.js +1 -1
  106. package/dist/runtime/client/services/blip.service.d.ts +1 -1
  107. package/dist/runtime/client/services/marker.service.d.ts +1 -1
  108. package/dist/runtime/client/services/ped.service.d.ts +1 -1
  109. package/dist/runtime/client/services/spawn.service.d.ts +2 -2
  110. package/dist/runtime/client/services/spawn.service.js +12 -12
  111. package/dist/runtime/client/services/textui.service.d.ts +1 -1
  112. package/dist/runtime/client/services/vehicle-client.service.d.ts +1 -1
  113. package/dist/runtime/client/services/vehicle.service.d.ts +1 -1
  114. package/dist/runtime/client/system/processors/export.processor.js +1 -1
  115. package/dist/runtime/client/system/processors/gameEvent.processor.js +1 -1
  116. package/dist/runtime/client/system/processors/interval.processor.js +1 -1
  117. package/dist/runtime/client/system/processors/localEvent.processor.js +1 -1
  118. package/dist/runtime/client/system/processors/netEvent.processor.js +1 -1
  119. package/dist/runtime/client/system/processors/nui.processor.js +1 -1
  120. package/dist/runtime/client/system/processors/resourceLifecycle.processor.js +1 -1
  121. package/dist/runtime/client/system/processors/tick.processor.js +1 -1
  122. package/dist/runtime/client/ui-bridge.js +1 -1
  123. package/dist/runtime/core/entity.d.ts +168 -0
  124. package/dist/runtime/core/entity.js +226 -0
  125. package/dist/runtime/core/index.d.ts +3 -0
  126. package/dist/runtime/core/index.js +19 -0
  127. package/dist/runtime/core/spatial.d.ts +5 -0
  128. package/dist/runtime/core/spatial.js +2 -0
  129. package/dist/runtime/core/world.d.ts +13 -0
  130. package/dist/runtime/core/world.js +64 -0
  131. package/dist/runtime/server/api.d.ts +12 -0
  132. package/dist/runtime/server/api.js +34 -0
  133. package/dist/runtime/server/bootstrap.js +58 -103
  134. package/dist/runtime/server/bus/internal-event.bus.js +1 -1
  135. package/dist/runtime/server/contracts/index.d.ts +1 -2
  136. package/dist/runtime/server/contracts/index.js +2 -3
  137. package/dist/runtime/server/contracts/player-persistence.contract.d.ts +16 -18
  138. package/dist/runtime/server/contracts/player-persistence.contract.js +16 -18
  139. package/dist/runtime/server/contracts/security/command-error-observer.contract.d.ts +73 -0
  140. package/dist/runtime/server/contracts/security/command-error-observer.contract.js +9 -0
  141. package/dist/runtime/server/contracts/security/permission.types.d.ts +2 -2
  142. package/dist/runtime/server/contracts/security/principal-provider.contract.d.ts +3 -3
  143. package/dist/runtime/server/contracts/security/principal-provider.contract.js +2 -2
  144. package/dist/runtime/server/contracts/security/security-handler.contract.d.ts +2 -2
  145. package/dist/runtime/server/controllers/chat.controller.d.ts +1 -1
  146. package/dist/runtime/server/controllers/chat.controller.js +5 -0
  147. package/dist/runtime/server/controllers/command-export.controller.d.ts +12 -3
  148. package/dist/runtime/server/controllers/command-export.controller.js +81 -25
  149. package/dist/runtime/server/controllers/player-export.controller.d.ts +2 -2
  150. package/dist/runtime/server/controllers/player-export.controller.js +5 -0
  151. package/dist/runtime/server/controllers/principal-export.controller.js +8 -7
  152. package/dist/runtime/server/controllers/ready.controller.d.ts +5 -0
  153. package/dist/runtime/server/controllers/ready.controller.js +37 -0
  154. package/dist/runtime/server/controllers/remote-command-execution.controller.d.ts +10 -1
  155. package/dist/runtime/server/controllers/remote-command-execution.controller.js +65 -13
  156. package/dist/runtime/server/controllers/session.controller.d.ts +2 -2
  157. package/dist/runtime/server/controllers/session.controller.js +25 -17
  158. package/dist/runtime/server/controllers/vehicle.controller.d.ts +3 -38
  159. package/dist/runtime/server/controllers/vehicle.controller.js +6 -152
  160. package/dist/runtime/server/decorators/guard.js +2 -2
  161. package/dist/runtime/server/decorators/index.d.ts +1 -1
  162. package/dist/runtime/server/decorators/index.js +1 -1
  163. package/dist/runtime/server/decorators/{onFiveMEvent.d.ts → onRuntimeEvent.d.ts} +5 -4
  164. package/dist/runtime/server/decorators/{onFiveMEvent.js → onRuntimeEvent.js} +7 -6
  165. package/dist/runtime/server/decorators/requiresState.js +3 -3
  166. package/dist/runtime/server/decorators/throttle.d.ts +1 -1
  167. package/dist/runtime/server/decorators/throttle.js +1 -1
  168. package/dist/runtime/server/decorators/utils.d.ts +1 -1
  169. package/dist/runtime/server/decorators/utils.js +1 -1
  170. package/dist/runtime/server/devmode/dev-mode.service.d.ts +7 -8
  171. package/dist/runtime/server/devmode/dev-mode.service.js +18 -46
  172. package/dist/runtime/server/devmode/index.d.ts +1 -3
  173. package/dist/runtime/server/devmode/index.js +1 -18
  174. package/dist/runtime/server/devmode/player-simulator.service.js +3 -3
  175. package/dist/runtime/server/devmode/state-inspector.service.js +2 -2
  176. package/dist/runtime/server/devmode/types.d.ts +67 -31
  177. package/dist/runtime/server/devmode/types.js +1 -4
  178. package/dist/runtime/server/entities/player.d.ts +80 -66
  179. package/dist/runtime/server/entities/player.js +137 -98
  180. package/dist/runtime/server/entities/vehicle.d.ts +3 -3
  181. package/dist/runtime/server/error-handler.js +5 -5
  182. package/dist/runtime/server/helpers/normalize-app-error.d.ts +9 -0
  183. package/dist/runtime/server/helpers/normalize-app-error.js +20 -0
  184. package/dist/runtime/server/helpers/resolve-method.js +3 -3
  185. package/dist/runtime/server/index.d.ts +1 -13
  186. package/dist/runtime/server/index.js +25 -23
  187. package/dist/runtime/server/runtime.d.ts +32 -281
  188. package/dist/runtime/server/runtime.js +46 -60
  189. package/dist/runtime/server/services/appearance.service.d.ts +5 -5
  190. package/dist/runtime/server/services/appearance.service.js +5 -5
  191. package/dist/runtime/server/services/chat.service.d.ts +5 -3
  192. package/dist/runtime/server/services/chat.service.js +17 -12
  193. package/dist/runtime/server/services/core/command.service.d.ts +9 -1
  194. package/dist/runtime/server/services/core/command.service.js +16 -7
  195. package/dist/runtime/server/services/core/player.service.d.ts +12 -16
  196. package/dist/runtime/server/services/core/player.service.js +42 -47
  197. package/dist/runtime/server/services/core/principal.service.js +5 -5
  198. package/dist/runtime/server/services/core/session-recovery.service.d.ts +1 -1
  199. package/dist/runtime/server/services/core/session-recovery.service.js +2 -2
  200. package/dist/runtime/server/services/default/default-command-error-observer.d.ts +14 -0
  201. package/dist/runtime/server/services/default/default-command-error-observer.js +43 -0
  202. package/dist/runtime/server/services/default/default-principal.provider.d.ts +13 -0
  203. package/dist/runtime/server/services/default/default-principal.provider.js +38 -0
  204. package/dist/runtime/server/services/default/default-security.handler.d.ts +1 -1
  205. package/dist/runtime/server/services/default/default-security.handler.js +1 -1
  206. package/dist/runtime/server/services/index.d.ts +0 -3
  207. package/dist/runtime/server/services/index.js +1 -6
  208. package/dist/runtime/server/services/persistence.service.js +3 -3
  209. package/dist/runtime/server/services/ports/command-execution.port.d.ts +7 -0
  210. package/dist/runtime/server/services/ports/principal.port.d.ts +1 -1
  211. package/dist/runtime/server/services/remote/remote-command.service.d.ts +1 -0
  212. package/dist/runtime/server/services/remote/remote-command.service.js +7 -3
  213. package/dist/runtime/server/services/remote/remote-player.service.d.ts +2 -2
  214. package/dist/runtime/server/services/remote/remote-player.service.js +3 -3
  215. package/dist/runtime/server/services/remote/server-bridge.js +2 -2
  216. package/dist/runtime/server/services/services.register.d.ts +2 -5
  217. package/dist/runtime/server/services/services.register.js +29 -41
  218. package/dist/runtime/server/services/vehicle-modification.service.js +1 -1
  219. package/dist/runtime/server/services/vehicle.service.d.ts +3 -3
  220. package/dist/runtime/server/services/vehicle.service.js +5 -5
  221. package/dist/runtime/server/setup.d.ts +2 -3
  222. package/dist/runtime/server/setup.js +10 -11
  223. package/dist/runtime/server/system/metadata-server.keys.d.ts +1 -1
  224. package/dist/runtime/server/system/metadata-server.keys.js +1 -1
  225. package/dist/runtime/server/system/processors/command.processor.js +4 -0
  226. package/dist/runtime/server/system/processors/export.processor.js +1 -1
  227. package/dist/runtime/server/system/processors/internalEvent.processor.js +1 -1
  228. package/dist/runtime/server/system/processors/netEvent.processor.js +8 -9
  229. package/dist/runtime/server/system/processors/{fivemEvent.processor.d.ts → runtimeEvent.processor.d.ts} +1 -1
  230. package/dist/runtime/server/system/processors/{fivemEvent.processor.js → runtimeEvent.processor.js} +8 -8
  231. package/dist/runtime/server/system/processors/tick.processor.js +1 -1
  232. package/dist/runtime/server/system/processors.register.js +16 -11
  233. package/dist/runtime/server/system/schema-generator.js +2 -2
  234. package/dist/runtime/server/types/core-exports.d.ts +6 -6
  235. package/dist/runtime/server/types/index.d.ts +1 -1
  236. package/dist/runtime/server/types/index.js +1 -1
  237. package/dist/runtime/server/types/internal-events.d.ts +1 -1
  238. package/dist/runtime/server/types/vehicle.types.d.ts +1 -1
  239. package/package.json +7 -15
  240. package/dist/adapters/contracts/IEntityServer.d.ts +0 -88
  241. package/dist/adapters/contracts/IEntityServer.js +0 -13
  242. package/dist/adapters/contracts/IPlayerServer.js +0 -13
  243. package/dist/adapters/database/oxmysql.adapter.d.ts +0 -89
  244. package/dist/adapters/database/oxmysql.adapter.js +0 -149
  245. package/dist/adapters/database/resource.adapter.d.ts +0 -12
  246. package/dist/adapters/database/resource.adapter.js +0 -68
  247. package/dist/kernel/shared/appearance/index.d.ts +0 -1
  248. package/dist/runtime/index.d.ts +0 -2
  249. package/dist/runtime/index.js +0 -39
  250. package/dist/runtime/server/bootstrap.validation.d.ts +0 -12
  251. package/dist/runtime/server/bootstrap.validation.js +0 -104
  252. package/dist/runtime/server/contracts/auth-provider.contract.d.ts +0 -58
  253. package/dist/runtime/server/contracts/auth-provider.contract.js +0 -23
  254. package/dist/runtime/server/contracts/repository/index.d.ts +0 -57
  255. package/dist/runtime/server/contracts/repository/index.js +0 -61
  256. package/dist/runtime/server/contracts/repository/repository.contract.d.ts +0 -224
  257. package/dist/runtime/server/contracts/repository/repository.contract.js +0 -341
  258. package/dist/runtime/server/contracts/repository/repository.types.d.ts +0 -51
  259. package/dist/runtime/server/contracts/repository/repository.types.js +0 -7
  260. package/dist/runtime/server/database/adapter.registry.d.ts +0 -4
  261. package/dist/runtime/server/database/adapter.registry.js +0 -14
  262. package/dist/runtime/server/database/database.contract.d.ts +0 -128
  263. package/dist/runtime/server/database/database.contract.js +0 -29
  264. package/dist/runtime/server/database/database.service.d.ts +0 -188
  265. package/dist/runtime/server/database/database.service.js +0 -287
  266. package/dist/runtime/server/database/index.d.ts +0 -5
  267. package/dist/runtime/server/database/index.js +0 -25
  268. package/dist/runtime/server/database/types.d.ts +0 -67
  269. package/dist/runtime/server/database/types.js +0 -7
  270. package/dist/runtime/server/database.d.ts +0 -7
  271. package/dist/runtime/server/devmode/hot-reload.server.d.ts +0 -74
  272. package/dist/runtime/server/devmode/hot-reload.server.js +0 -261
  273. package/dist/runtime/server/services/config.service.d.ts +0 -75
  274. package/dist/runtime/server/services/config.service.js +0 -116
  275. package/dist/runtime/server/services/http/http.service.d.ts +0 -50
  276. package/dist/runtime/server/services/http/http.service.js +0 -126
  277. /package/dist/adapters/contracts/{IPedAppearanceClient.js → client/IPedAppearanceClient.js} +0 -0
  278. /package/dist/adapters/contracts/{IPedAppearanceServer.d.ts → server/IPedAppearanceServer.d.ts} +0 -0
  279. /package/dist/adapters/contracts/{IPedAppearanceServer.js → server/IPedAppearanceServer.js} +0 -0
  280. /package/dist/adapters/contracts/{IVehicleServer.d.ts → server/IVehicleServer.d.ts} +0 -0
  281. /package/dist/adapters/contracts/{IVehicleServer.js → server/IVehicleServer.js} +0 -0
  282. /package/dist/kernel/{utils/error → error}/app.error.js +0 -0
  283. /package/dist/kernel/{shared/logger/transports/transport.interface.js → error/common.error-codes.js} +0 -0
  284. /package/dist/{runtime/server/types/security.types.js → kernel/error/framework.error-codes.js} +0 -0
  285. /package/dist/kernel/{utils/error → error}/security.error.js +0 -0
  286. /package/dist/{runtime/server/types → kernel/error}/security.types.d.ts +0 -0
  287. /package/dist/kernel/{shared/logger → logger}/index.d.ts +0 -0
  288. /package/dist/kernel/{shared/logger → logger}/index.js +0 -0
  289. /package/dist/kernel/{shared/logger → logger}/logger.config.d.ts +0 -0
  290. /package/dist/kernel/{shared/logger → logger}/logger.config.js +0 -0
  291. /package/dist/kernel/{shared/logger → logger}/logger.types.d.ts +0 -0
  292. /package/dist/kernel/{shared/logger → logger}/logger.types.js +0 -0
  293. /package/dist/kernel/{shared/logger → logger}/transports/buffered.transport.d.ts +0 -0
  294. /package/dist/kernel/{shared/logger → logger}/transports/buffered.transport.js +0 -0
  295. /package/dist/kernel/{shared/logger → logger}/transports/console.transport.d.ts +0 -0
  296. /package/dist/kernel/{shared/logger → logger}/transports/console.transport.js +0 -0
  297. /package/dist/kernel/{shared/logger → logger}/transports/dev-transport.factory.d.ts +0 -0
  298. /package/dist/kernel/{shared/logger → logger}/transports/dev-transport.factory.js +0 -0
  299. /package/dist/kernel/{shared/logger → logger}/transports/http.transport.d.ts +0 -0
  300. /package/dist/kernel/{shared/logger → logger}/transports/http.transport.js +0 -0
  301. /package/dist/kernel/{shared/logger → logger}/transports/index.d.ts +0 -0
  302. /package/dist/kernel/{shared/logger → logger}/transports/index.js +0 -0
  303. /package/dist/kernel/{shared/logger → logger}/transports/simple-console.transport.d.ts +0 -0
  304. /package/dist/kernel/{shared/logger → logger}/transports/simple-console.transport.js +0 -0
  305. /package/dist/kernel/{shared/logger → logger}/transports/transport.interface.d.ts +0 -0
  306. /package/dist/kernel/{shared/logger → logger}/transports/websocket.transport.d.ts +0 -0
  307. /package/dist/kernel/{shared/logger → logger}/transports/websocket.transport.js +0 -0
  308. /package/dist/kernel/shared/{appearance/appearance.interface.d.ts → player-appearance.types.d.ts} +0 -0
  309. /package/dist/kernel/shared/{appearance/appearance.interface.js → player-appearance.types.js} +0 -0
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.platformRegistry = void 0;
4
+ exports.registerPlatform = registerPlatform;
5
+ exports.getCurrentPlatformName = getCurrentPlatformName;
6
+ /**
7
+ * Registry for platform adapters.
8
+ * Allows dynamic registration and detection of platforms.
9
+ */
10
+ class PlatformRegistry {
11
+ constructor() {
12
+ this.adapters = [];
13
+ this.currentPlatform = null;
14
+ }
15
+ /**
16
+ * Register a platform adapter.
17
+ * @param adapter - Platform adapter to register
18
+ */
19
+ register(adapter) {
20
+ // Avoid duplicates
21
+ if (this.adapters.some((a) => a.name === adapter.name)) {
22
+ return;
23
+ }
24
+ this.adapters.push(adapter);
25
+ // Sort by priority (descending)
26
+ this.adapters.sort((a, b) => { var _a, _b; return ((_a = b.priority) !== null && _a !== void 0 ? _a : 0) - ((_b = a.priority) !== null && _b !== void 0 ? _b : 0); });
27
+ }
28
+ /**
29
+ * Unregister a platform adapter.
30
+ * @param name - Platform name to unregister
31
+ */
32
+ unregister(name) {
33
+ this.adapters = this.adapters.filter((a) => a.name !== name);
34
+ }
35
+ /**
36
+ * Get all registered platform adapters.
37
+ */
38
+ getAll() {
39
+ return this.adapters;
40
+ }
41
+ /**
42
+ * Get a specific platform adapter by name.
43
+ * @param name - Platform name
44
+ */
45
+ get(name) {
46
+ return this.adapters.find((a) => a.name === name);
47
+ }
48
+ /**
49
+ * Detect the current platform from registered adapters.
50
+ * @returns The detected platform adapter or undefined
51
+ */
52
+ detect() {
53
+ return this.adapters.find((adapter) => adapter.detect());
54
+ }
55
+ /**
56
+ * Detect and register platform capabilities in the container.
57
+ *
58
+ * @param container - DI container to register adapters in
59
+ * @param forcePlatform - Optional platform name to force (skip detection)
60
+ * @returns The registered platform adapter
61
+ * @throws Error if no platform is detected
62
+ */
63
+ async detectAndRegister(container, forcePlatform) {
64
+ let platform;
65
+ if (forcePlatform) {
66
+ platform = this.get(forcePlatform);
67
+ if (!platform) {
68
+ throw new Error(`[OpenCore] Platform '${forcePlatform}' not found. Available: ${this.adapters.map((a) => a.name).join(', ')}`);
69
+ }
70
+ }
71
+ else {
72
+ platform = this.detect();
73
+ if (!platform) {
74
+ throw new Error(`[OpenCore] No platform detected. Registered platforms: ${this.adapters.map((a) => a.name).join(', ')}`);
75
+ }
76
+ }
77
+ await platform.register(container);
78
+ this.currentPlatform = platform;
79
+ return platform;
80
+ }
81
+ /**
82
+ * Get the currently active platform.
83
+ * Only available after detectAndRegister has been called.
84
+ */
85
+ getCurrent() {
86
+ return this.currentPlatform;
87
+ }
88
+ /**
89
+ * Check if a specific platform is currently active.
90
+ * @param name - Platform name to check
91
+ */
92
+ isCurrentPlatform(name) {
93
+ var _a;
94
+ return ((_a = this.currentPlatform) === null || _a === void 0 ? void 0 : _a.name) === name;
95
+ }
96
+ /**
97
+ * Clear all registered adapters (mainly for testing).
98
+ */
99
+ clear() {
100
+ this.adapters = [];
101
+ this.currentPlatform = null;
102
+ }
103
+ }
104
+ /**
105
+ * Global platform registry instance.
106
+ */
107
+ exports.platformRegistry = new PlatformRegistry();
108
+ /**
109
+ * Convenience function to register a platform adapter.
110
+ * @param adapter - Platform adapter to register
111
+ */
112
+ function registerPlatform(adapter) {
113
+ exports.platformRegistry.register(adapter);
114
+ }
115
+ /**
116
+ * Get the current platform name.
117
+ * @returns Platform name or 'unknown' if not detected
118
+ */
119
+ function getCurrentPlatformName() {
120
+ var _a, _b;
121
+ return (_b = (_a = exports.platformRegistry.getCurrent()) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : 'unknown';
122
+ }
@@ -1,4 +1,17 @@
1
- export type Platform = 'fivem' | 'node';
1
+ import { getCurrentPlatformName, type PlatformAdapter, platformRegistry, registerPlatform } from './platform/platform-registry';
2
+ export { platformRegistry, registerPlatform, getCurrentPlatformName };
3
+ export type { PlatformAdapter };
4
+ /**
5
+ * Supported platform types.
6
+ * @deprecated Use platformRegistry.getCurrent()?.name instead for dynamic platform detection.
7
+ */
8
+ export type Platform = 'fivem' | 'node' | string;
9
+ /**
10
+ * Detects the current runtime platform.
11
+ *
12
+ * @deprecated Use platformRegistry.detect() instead.
13
+ */
14
+ export declare function detectPlatform(): Platform;
2
15
  /**
3
16
  * Registers server-side platform-specific capability implementations.
4
17
  *
@@ -6,6 +19,43 @@ export type Platform = 'fivem' | 'node';
6
19
  * This function registers adapters needed by the SERVER runtime only.
7
20
  * Client-side adapters are registered separately via `registerClientCapabilities`.
8
21
  *
9
- * @param platform - Optional platform override. If not provided, platform is auto-detected.
22
+ * The function uses the Platform Registry to automatically detect and register
23
+ * the appropriate platform adapters. You can also force a specific platform
24
+ * by passing its name.
25
+ *
26
+ * @param platform - Optional platform name to force. If not provided, platform is auto-detected.
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * // Auto-detect platform
31
+ * await registerServerCapabilities()
32
+ *
33
+ * // Force a specific platform
34
+ * await registerServerCapabilities('fivem')
35
+ *
36
+ * // Register a custom platform before calling
37
+ * registerPlatform(MyCustomPlatform)
38
+ * await registerServerCapabilities('myplatform')
39
+ * ```
10
40
  */
11
41
  export declare function registerServerCapabilities(platform?: Platform): Promise<void>;
42
+ /**
43
+ * Check if a specific platform is currently active.
44
+ *
45
+ * @param name - Platform name to check
46
+ * @returns true if the platform is active
47
+ *
48
+ * @example
49
+ * ```typescript
50
+ * if (isPlatform('fivem')) {
51
+ * // FiveM-specific code
52
+ * }
53
+ * ```
54
+ */
55
+ export declare function isPlatform(name: string): boolean;
56
+ /**
57
+ * Get the current platform adapter.
58
+ *
59
+ * @returns The current platform adapter or null if not initialized
60
+ */
61
+ export declare function getCurrentPlatform(): PlatformAdapter | null;
@@ -1,60 +1,36 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCurrentPlatformName = exports.registerPlatform = exports.platformRegistry = void 0;
4
+ exports.detectPlatform = detectPlatform;
36
5
  exports.registerServerCapabilities = registerServerCapabilities;
6
+ exports.isPlatform = isPlatform;
7
+ exports.getCurrentPlatform = getCurrentPlatform;
37
8
  const container_1 = require("../kernel/di/container");
38
- const IEngineEvents_1 = require("./contracts/IEngineEvents");
39
- const IEntityServer_1 = require("./contracts/IEntityServer");
40
- const IExports_1 = require("./contracts/IExports");
41
- const IHasher_1 = require("./contracts/IHasher");
42
- const INetTransport_1 = require("./contracts/INetTransport");
43
- const IPedAppearanceServer_1 = require("./contracts/IPedAppearanceServer");
44
- const IPlayerInfo_1 = require("./contracts/IPlayerInfo");
45
- const IPlayerServer_1 = require("./contracts/IPlayerServer");
46
- const IResourceInfo_1 = require("./contracts/IResourceInfo");
47
- const ITick_1 = require("./contracts/ITick");
48
- const IVehicleServer_1 = require("./contracts/IVehicleServer");
9
+ const fivem_platform_1 = require("./fivem/fivem-platform");
10
+ const node_platform_1 = require("./node/node-platform");
11
+ const platform_registry_1 = require("./platform/platform-registry");
12
+ Object.defineProperty(exports, "getCurrentPlatformName", { enumerable: true, get: function () { return platform_registry_1.getCurrentPlatformName; } });
13
+ Object.defineProperty(exports, "platformRegistry", { enumerable: true, get: function () { return platform_registry_1.platformRegistry; } });
14
+ Object.defineProperty(exports, "registerPlatform", { enumerable: true, get: function () { return platform_registry_1.registerPlatform; } });
15
+ // ─────────────────────────────────────────────────────────────────
16
+ // Register built-in platforms
17
+ // ─────────────────────────────────────────────────────────────────
18
+ // Register FiveM platform (high priority)
19
+ (0, platform_registry_1.registerPlatform)(fivem_platform_1.FiveMPlatform);
20
+ // Register Node.js fallback platform (low priority)
21
+ (0, platform_registry_1.registerPlatform)(node_platform_1.NodePlatform);
22
+ // ─────────────────────────────────────────────────────────────────
23
+ // Public API
24
+ // ─────────────────────────────────────────────────────────────────
49
25
  /**
50
- * Detects the current runtime platform
26
+ * Detects the current runtime platform.
27
+ *
28
+ * @deprecated Use platformRegistry.detect() instead.
51
29
  */
52
30
  function detectPlatform() {
53
- // Check for FiveM-specific globals
54
- if (typeof globalThis.GetCurrentResourceName === 'function') {
55
- return 'fivem';
56
- }
57
- return 'node';
31
+ var _a;
32
+ const detected = platform_registry_1.platformRegistry.detect();
33
+ return (_a = detected === null || detected === void 0 ? void 0 : detected.name) !== null && _a !== void 0 ? _a : 'node';
58
34
  }
59
35
  /**
60
36
  * Registers server-side platform-specific capability implementations.
@@ -63,86 +39,49 @@ function detectPlatform() {
63
39
  * This function registers adapters needed by the SERVER runtime only.
64
40
  * Client-side adapters are registered separately via `registerClientCapabilities`.
65
41
  *
66
- * @param platform - Optional platform override. If not provided, platform is auto-detected.
42
+ * The function uses the Platform Registry to automatically detect and register
43
+ * the appropriate platform adapters. You can also force a specific platform
44
+ * by passing its name.
45
+ *
46
+ * @param platform - Optional platform name to force. If not provided, platform is auto-detected.
47
+ *
48
+ * @example
49
+ * ```typescript
50
+ * // Auto-detect platform
51
+ * await registerServerCapabilities()
52
+ *
53
+ * // Force a specific platform
54
+ * await registerServerCapabilities('fivem')
55
+ *
56
+ * // Register a custom platform before calling
57
+ * registerPlatform(MyCustomPlatform)
58
+ * await registerServerCapabilities('myplatform')
59
+ * ```
67
60
  */
68
61
  async function registerServerCapabilities(platform) {
69
- const targetPlatform = platform !== null && platform !== void 0 ? platform : detectPlatform();
70
- if (targetPlatform === 'node') {
71
- // Dynamically import Node.js implementations only when needed
72
- const [{ NodeNetTransport }, { NodeEngineEvents }, { NodeExports }, { NodeResourceInfo }, { NodeTick }, { NodePlayerInfo }, { NodeEntityServer }, { NodeVehicleServer }, { NodePlayerServer }, { NodeHasher }, { NodePedAppearanceServer },] = await Promise.all([
73
- Promise.resolve().then(() => __importStar(require('./node/node-net-transport'))),
74
- Promise.resolve().then(() => __importStar(require('./node/node-engine-events'))),
75
- Promise.resolve().then(() => __importStar(require('./node/node-exports'))),
76
- Promise.resolve().then(() => __importStar(require('./node/node-resourceinfo'))),
77
- Promise.resolve().then(() => __importStar(require('./node/node-tick'))),
78
- Promise.resolve().then(() => __importStar(require('./node/node-playerinfo'))),
79
- Promise.resolve().then(() => __importStar(require('./node/node-entity-server'))),
80
- Promise.resolve().then(() => __importStar(require('./node/node-vehicle-server'))),
81
- Promise.resolve().then(() => __importStar(require('./node/node-player-server'))),
82
- Promise.resolve().then(() => __importStar(require('./node/node-hasher'))),
83
- Promise.resolve().then(() => __importStar(require('./node/node-ped-appearance-server'))),
84
- ]);
85
- // Register Node.js implementations (server-side only)
86
- if (!container_1.di.isRegistered(INetTransport_1.INetTransport))
87
- container_1.di.registerSingleton(INetTransport_1.INetTransport, NodeNetTransport);
88
- if (!container_1.di.isRegistered(IEngineEvents_1.IEngineEvents))
89
- container_1.di.registerSingleton(IEngineEvents_1.IEngineEvents, NodeEngineEvents);
90
- if (!container_1.di.isRegistered(IExports_1.IExports))
91
- container_1.di.registerSingleton(IExports_1.IExports, NodeExports);
92
- if (!container_1.di.isRegistered(IResourceInfo_1.IResourceInfo))
93
- container_1.di.registerSingleton(IResourceInfo_1.IResourceInfo, NodeResourceInfo);
94
- if (!container_1.di.isRegistered(ITick_1.ITick))
95
- container_1.di.registerSingleton(ITick_1.ITick, NodeTick);
96
- if (!container_1.di.isRegistered(IPlayerInfo_1.IPlayerInfo))
97
- container_1.di.registerSingleton(IPlayerInfo_1.IPlayerInfo, NodePlayerInfo);
98
- if (!container_1.di.isRegistered(IEntityServer_1.IEntityServer))
99
- container_1.di.registerSingleton(IEntityServer_1.IEntityServer, NodeEntityServer);
100
- if (!container_1.di.isRegistered(IVehicleServer_1.IVehicleServer))
101
- container_1.di.registerSingleton(IVehicleServer_1.IVehicleServer, NodeVehicleServer);
102
- if (!container_1.di.isRegistered(IPlayerServer_1.IPlayerServer))
103
- container_1.di.registerSingleton(IPlayerServer_1.IPlayerServer, NodePlayerServer);
104
- if (!container_1.di.isRegistered(IHasher_1.IHasher))
105
- container_1.di.registerSingleton(IHasher_1.IHasher, NodeHasher);
106
- if (!container_1.di.isRegistered(IPedAppearanceServer_1.IPedAppearanceServer))
107
- container_1.di.registerSingleton(IPedAppearanceServer_1.IPedAppearanceServer, NodePedAppearanceServer);
108
- }
109
- else {
110
- // Dynamically import FiveM implementations only when needed
111
- const [{ FiveMNetTransport }, { FiveMEngineEvents }, { FiveMExports }, { FiveMResourceInfo }, { FiveMTick }, { FiveMPlayerInfo }, { FiveMEntityServer }, { FiveMVehicleServer }, { FiveMPlayerServer }, { FiveMHasher }, { FiveMPedAppearanceServerAdapter },] = await Promise.all([
112
- Promise.resolve().then(() => __importStar(require('./fivem/fivem-net-transport'))),
113
- Promise.resolve().then(() => __importStar(require('./fivem/fivem-engine-events'))),
114
- Promise.resolve().then(() => __importStar(require('./fivem/fivem-exports'))),
115
- Promise.resolve().then(() => __importStar(require('./fivem/fivem-resourceinfo'))),
116
- Promise.resolve().then(() => __importStar(require('./fivem/fivem-tick'))),
117
- Promise.resolve().then(() => __importStar(require('./fivem/fivem-playerinfo'))),
118
- Promise.resolve().then(() => __importStar(require('./fivem/fivem-entity-server'))),
119
- Promise.resolve().then(() => __importStar(require('./fivem/fivem-vehicle-server'))),
120
- Promise.resolve().then(() => __importStar(require('./fivem/fivem-player-server'))),
121
- Promise.resolve().then(() => __importStar(require('./fivem/fivem-hasher'))),
122
- Promise.resolve().then(() => __importStar(require('./fivem/fivem-ped-appearance-server'))),
123
- ]);
124
- // Register FiveM implementations (server-side only)
125
- if (!container_1.di.isRegistered(INetTransport_1.INetTransport))
126
- container_1.di.registerSingleton(INetTransport_1.INetTransport, FiveMNetTransport);
127
- if (!container_1.di.isRegistered(IEngineEvents_1.IEngineEvents))
128
- container_1.di.registerSingleton(IEngineEvents_1.IEngineEvents, FiveMEngineEvents);
129
- if (!container_1.di.isRegistered(IExports_1.IExports))
130
- container_1.di.registerSingleton(IExports_1.IExports, FiveMExports);
131
- if (!container_1.di.isRegistered(IResourceInfo_1.IResourceInfo))
132
- container_1.di.registerSingleton(IResourceInfo_1.IResourceInfo, FiveMResourceInfo);
133
- if (!container_1.di.isRegistered(ITick_1.ITick))
134
- container_1.di.registerSingleton(ITick_1.ITick, FiveMTick);
135
- if (!container_1.di.isRegistered(IPlayerInfo_1.IPlayerInfo))
136
- container_1.di.registerSingleton(IPlayerInfo_1.IPlayerInfo, FiveMPlayerInfo);
137
- if (!container_1.di.isRegistered(IEntityServer_1.IEntityServer))
138
- container_1.di.registerSingleton(IEntityServer_1.IEntityServer, FiveMEntityServer);
139
- if (!container_1.di.isRegistered(IVehicleServer_1.IVehicleServer))
140
- container_1.di.registerSingleton(IVehicleServer_1.IVehicleServer, FiveMVehicleServer);
141
- if (!container_1.di.isRegistered(IPlayerServer_1.IPlayerServer))
142
- container_1.di.registerSingleton(IPlayerServer_1.IPlayerServer, FiveMPlayerServer);
143
- if (!container_1.di.isRegistered(IHasher_1.IHasher))
144
- container_1.di.registerSingleton(IHasher_1.IHasher, FiveMHasher);
145
- if (!container_1.di.isRegistered(IPedAppearanceServer_1.IPedAppearanceServer))
146
- container_1.di.registerSingleton(IPedAppearanceServer_1.IPedAppearanceServer, FiveMPedAppearanceServerAdapter);
147
- }
62
+ await platform_registry_1.platformRegistry.detectAndRegister(container_1.GLOBAL_CONTAINER, platform);
63
+ }
64
+ /**
65
+ * Check if a specific platform is currently active.
66
+ *
67
+ * @param name - Platform name to check
68
+ * @returns true if the platform is active
69
+ *
70
+ * @example
71
+ * ```typescript
72
+ * if (isPlatform('fivem')) {
73
+ * // FiveM-specific code
74
+ * }
75
+ * ```
76
+ */
77
+ function isPlatform(name) {
78
+ return platform_registry_1.platformRegistry.isCurrentPlatform(name);
79
+ }
80
+ /**
81
+ * Get the current platform adapter.
82
+ *
83
+ * @returns The current platform adapter or null if not initialized
84
+ */
85
+ function getCurrentPlatform() {
86
+ return platform_registry_1.platformRegistry.getCurrent();
148
87
  }
@@ -35,8 +35,8 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.registerClientCapabilities = registerClientCapabilities;
37
37
  const client_container_1 = require("../runtime/client/client-container");
38
+ const IPedAppearanceClient_1 = require("./contracts/client/IPedAppearanceClient");
38
39
  const IHasher_1 = require("./contracts/IHasher");
39
- const IPedAppearanceClient_1 = require("./contracts/IPedAppearanceClient");
40
40
  /**
41
41
  * Registers client-side platform-specific capability implementations.
42
42
  *
package/dist/index.d.ts CHANGED
@@ -1,6 +1,3 @@
1
1
  import 'reflect-metadata';
2
- export { type Infer, type Input, type Output, z } from './kernel/schema';
3
- export * as Shared from './kernel/shared';
4
- export * as Utils from './kernel/utils';
5
- export * as Client from './runtime/client';
6
- export * as Server from './runtime/server';
2
+ export * from './kernel';
3
+ export * from './runtime/core';
package/dist/index.js CHANGED
@@ -10,36 +10,10 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
10
10
  if (k2 === undefined) k2 = k;
11
11
  o[k2] = m[k];
12
12
  }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
35
16
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.Server = exports.Client = exports.Utils = exports.Shared = exports.z = void 0;
37
17
  require("reflect-metadata");
38
- // Schema utilities at root level for convenient imports
39
- // Usage: import { z, Infer } from '@open-core/framework'
40
- var schema_1 = require("./kernel/schema");
41
- Object.defineProperty(exports, "z", { enumerable: true, get: function () { return schema_1.z; } });
42
- exports.Shared = __importStar(require("./kernel/shared"));
43
- exports.Utils = __importStar(require("./kernel/utils"));
44
- exports.Client = __importStar(require("./runtime/client"));
45
- exports.Server = __importStar(require("./runtime/server"));
18
+ __exportStar(require("./kernel"), exports);
19
+ __exportStar(require("./runtime/core"), exports);
@@ -1,2 +1,4 @@
1
- import 'reflect-metadata';
2
- export declare const di: import("tsyringe").DependencyContainer;
1
+ /**
2
+ * This is the global container for tsyringe, it contains all the dependencies to resolve, etc. Please use with caution.
3
+ */
4
+ export declare const GLOBAL_CONTAINER: import("tsyringe").DependencyContainer;
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.di = void 0;
4
- require("reflect-metadata");
3
+ exports.GLOBAL_CONTAINER = void 0;
5
4
  const tsyringe_1 = require("tsyringe");
6
- exports.di = tsyringe_1.container;
5
+ /**
6
+ * This is the global container for tsyringe, it contains all the dependencies to resolve, etc. Please use with caution.
7
+ */
8
+ exports.GLOBAL_CONTAINER = tsyringe_1.container;
@@ -1,4 +1,5 @@
1
- import { type ClassConstructor, type DecoratorProcessor } from './index';
1
+ import { type ClassConstructor } from './class-constructor';
2
+ import { type DecoratorProcessor } from './decorator-processor';
2
3
  export declare class MetadataScanner {
3
4
  private processors;
4
5
  constructor(processors: DecoratorProcessor[]);
@@ -14,7 +14,8 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.MetadataScanner = void 0;
16
16
  const tsyringe_1 = require("tsyringe");
17
- const logger_1 = require("../shared/logger");
17
+ const logger_1 = require("../logger");
18
+ const container_1 = require("./container");
18
19
  let MetadataScanner = class MetadataScanner {
19
20
  constructor(processors) {
20
21
  this.processors = processors;
@@ -22,7 +23,7 @@ let MetadataScanner = class MetadataScanner {
22
23
  scan(registry) {
23
24
  logger_1.loggers.scanner.info(`Scanning ${registry.length} controllers with ${this.processors.length} processors`);
24
25
  for (const ControllerClass of registry) {
25
- const instance = tsyringe_1.container.resolve(ControllerClass);
26
+ const instance = container_1.GLOBAL_CONTAINER.resolve(ControllerClass);
26
27
  const prototype = Object.getPrototypeOf(instance);
27
28
  const methods = Object.getOwnPropertyNames(prototype).filter((m) => m !== 'constructor' && typeof instance[m] === 'function');
28
29
  for (const methodName of methods) {
@@ -1,5 +1,5 @@
1
- import { ErrorOrigin } from './types/common.error-codes';
2
- import { FrameworkErrorCode } from './types/framework.error-codes';
1
+ import { ErrorOrigin } from './common.error-codes';
2
+ import { FrameworkErrorCode } from './framework.error-codes';
3
3
  export declare class AppError extends Error {
4
4
  readonly code: FrameworkErrorCode;
5
5
  readonly details?: unknown;
@@ -0,0 +1 @@
1
+ export type ErrorOrigin = 'client' | 'server' | 'core' | 'external';
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Framework error codes grouped by category
3
+ */
4
+ export type FrameworkErrorCode = CommonErrorCode | AuthErrorCode | ApiErrorCode | NetworkErrorCode | GameErrorCode | SchemaErrorCode | CommandErrorCode | EconomyErrorCode;
5
+ export type CommonErrorCode = 'COMMON:UNKNOWN' | 'COMMON:NOT_IMPLEMENTED';
6
+ export type AuthErrorCode = 'AUTH:UNAUTHORIZED' | 'AUTH:PERMISSION_DENIED';
7
+ export type ApiErrorCode = 'API:ERROR';
8
+ export type NetworkErrorCode = 'NETWORK:ERROR';
9
+ export type GameErrorCode = 'GAME:PLAYER_NOT_FOUND' | 'GAME:NO_RANK_IN_PRINCIPAL' | 'GAME:INVALID_STATE' | 'GAME:BAD_REQUEST';
10
+ export type SchemaErrorCode = 'SCHEMA:VALIDATION_ERROR' | 'SCHEMA:MISMATCH';
11
+ export type CommandErrorCode = 'COMMAND:NOT_FOUND' | 'COMMAND:DUPLICATE';
12
+ export type EconomyErrorCode = 'ECONOMY:INSUFFICIENT_FUNDS';
@@ -0,0 +1,4 @@
1
+ export * from './app.error';
2
+ export type * from './common.error-codes';
3
+ export type * from './framework.error-codes';
4
+ export * from './security.error';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./app.error"), exports);
18
+ __exportStar(require("./security.error"), exports);
@@ -1,5 +1,5 @@
1
- import { SecurityAction } from '../../../runtime/server/types/security.types';
2
1
  import { AppError } from './app.error';
2
+ import { SecurityAction } from './security.types';
3
3
  export declare class SecurityError extends AppError {
4
4
  readonly action: SecurityAction;
5
5
  constructor(action: SecurityAction, message: string, details?: unknown);
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,7 +1,6 @@
1
- export * from './di/class-constructor';
2
- export { di } from './di/container';
3
- export * from './di/decorator-processor';
4
- export * from './di/metadata.scanner';
1
+ export { GLOBAL_CONTAINER } from './di/container';
2
+ export * from './error';
3
+ export * from './logger';
5
4
  export * from './schema';
6
- export * from './shared/logger';
5
+ export * from './shared';
7
6
  export * from './utils';
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- // Kernel - Core infrastructure and rules (engine-agnostic)
3
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
3
  if (k2 === undefined) k2 = k;
5
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -15,16 +14,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16
15
  };
17
16
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.di = void 0;
19
- __exportStar(require("./di/class-constructor"), exports);
17
+ exports.GLOBAL_CONTAINER = void 0;
18
+ // External to export
20
19
  var container_1 = require("./di/container");
21
- Object.defineProperty(exports, "di", { enumerable: true, get: function () { return container_1.di; } });
22
- // Dependency Injection
23
- __exportStar(require("./di/decorator-processor"), exports);
24
- __exportStar(require("./di/metadata.scanner"), exports);
25
- // Schema utilities (Zod helpers)
20
+ Object.defineProperty(exports, "GLOBAL_CONTAINER", { enumerable: true, get: function () { return container_1.GLOBAL_CONTAINER; } });
21
+ __exportStar(require("./error"), exports);
22
+ __exportStar(require("./logger"), exports);
26
23
  __exportStar(require("./schema"), exports);
27
- // Shared utilities
28
- __exportStar(require("./shared/logger"), exports);
29
- // Utils
24
+ __exportStar(require("./shared"), exports);
30
25
  __exportStar(require("./utils"), exports);