@open-core/framework 0.1.0-alpha.1 → 0.2.0-beta.1

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 (569) hide show
  1. package/README.md +217 -360
  2. package/dist/adapters/contracts/IEngineEvents.d.ts +20 -0
  3. package/dist/adapters/contracts/IEngineEvents.js +6 -0
  4. package/dist/adapters/contracts/IEntityServer.d.ts +88 -0
  5. package/dist/adapters/contracts/IEntityServer.js +13 -0
  6. package/dist/adapters/contracts/IExports.d.ts +4 -0
  7. package/dist/adapters/contracts/IExports.js +6 -0
  8. package/dist/adapters/contracts/IHasher.d.ts +15 -0
  9. package/dist/adapters/contracts/IHasher.js +12 -0
  10. package/dist/adapters/contracts/INetTransport.d.ts +8 -0
  11. package/dist/adapters/contracts/INetTransport.js +6 -0
  12. package/dist/adapters/contracts/IPedAppearanceClient.d.ts +206 -0
  13. package/dist/adapters/contracts/IPedAppearanceClient.js +16 -0
  14. package/dist/adapters/contracts/IPedAppearanceServer.d.ts +45 -0
  15. package/dist/adapters/contracts/IPedAppearanceServer.js +16 -0
  16. package/dist/adapters/contracts/IPlayerInfo.d.ts +5 -0
  17. package/dist/adapters/contracts/IPlayerInfo.js +6 -0
  18. package/dist/adapters/contracts/IPlayerServer.d.ts +73 -0
  19. package/dist/adapters/contracts/IPlayerServer.js +13 -0
  20. package/dist/adapters/contracts/IResourceInfo.d.ts +3 -0
  21. package/dist/adapters/contracts/IResourceInfo.js +6 -0
  22. package/dist/adapters/contracts/ITick.d.ts +10 -0
  23. package/dist/adapters/contracts/ITick.js +9 -0
  24. package/dist/adapters/contracts/IVehicleServer.d.ts +55 -0
  25. package/dist/adapters/contracts/IVehicleServer.js +13 -0
  26. package/dist/{server/database/adapters → adapters/database}/oxmysql.adapter.d.ts +2 -2
  27. package/dist/{server/database/adapters → adapters/database}/oxmysql.adapter.js +2 -2
  28. package/dist/adapters/database/resource.adapter.d.ts +12 -0
  29. package/dist/adapters/database/resource.adapter.js +68 -0
  30. package/dist/adapters/fivem/fivem-engine-events.d.ts +5 -0
  31. package/dist/adapters/fivem/fivem-engine-events.js +13 -0
  32. package/dist/adapters/fivem/fivem-entity-server.d.ts +22 -0
  33. package/dist/adapters/fivem/fivem-entity-server.js +80 -0
  34. package/dist/adapters/fivem/fivem-exports.d.ts +5 -0
  35. package/dist/adapters/fivem/fivem-exports.js +14 -0
  36. package/dist/adapters/fivem/fivem-hasher.d.ts +7 -0
  37. package/dist/adapters/fivem/fivem-hasher.js +23 -0
  38. package/dist/adapters/fivem/fivem-net-transport.d.ts +5 -0
  39. package/dist/adapters/fivem/fivem-net-transport.js +24 -0
  40. package/dist/adapters/fivem/fivem-ped-appearance-client.d.ts +34 -0
  41. package/dist/adapters/fivem/fivem-ped-appearance-client.js +84 -0
  42. package/dist/adapters/fivem/fivem-ped-appearance-server.d.ts +14 -0
  43. package/dist/adapters/fivem/fivem-ped-appearance-server.js +26 -0
  44. package/dist/adapters/fivem/fivem-player-server.d.ts +15 -0
  45. package/dist/adapters/fivem/fivem-player-server.js +63 -0
  46. package/dist/adapters/fivem/fivem-playerinfo.d.ts +6 -0
  47. package/dist/adapters/fivem/fivem-playerinfo.js +14 -0
  48. package/dist/adapters/fivem/fivem-resourceinfo.d.ts +4 -0
  49. package/dist/adapters/fivem/fivem-resourceinfo.js +16 -0
  50. package/dist/adapters/fivem/fivem-tick.d.ts +7 -0
  51. package/dist/adapters/fivem/fivem-tick.js +22 -0
  52. package/dist/adapters/fivem/fivem-vehicle-server.d.ts +15 -0
  53. package/dist/adapters/fivem/fivem-vehicle-server.js +47 -0
  54. package/dist/adapters/index.d.ts +15 -0
  55. package/dist/adapters/index.js +40 -0
  56. package/dist/adapters/node/index.d.ts +8 -0
  57. package/dist/adapters/node/index.js +19 -0
  58. package/dist/adapters/node/node-engine-events.d.ts +20 -0
  59. package/dist/adapters/node/node-engine-events.js +42 -0
  60. package/dist/adapters/node/node-entity-server.d.ts +26 -0
  61. package/dist/adapters/node/node-entity-server.js +101 -0
  62. package/dist/adapters/node/node-exports.d.ts +26 -0
  63. package/dist/adapters/node/node-exports.js +63 -0
  64. package/dist/adapters/node/node-hasher.d.ts +12 -0
  65. package/dist/adapters/node/node-hasher.js +39 -0
  66. package/dist/adapters/node/node-net-transport.d.ts +18 -0
  67. package/dist/adapters/node/node-net-transport.js +57 -0
  68. package/dist/adapters/node/node-ped-appearance-client.d.ts +34 -0
  69. package/dist/adapters/node/node-ped-appearance-client.js +59 -0
  70. package/dist/adapters/node/node-ped-appearance-server.d.ts +14 -0
  71. package/dist/adapters/node/node-ped-appearance-server.js +18 -0
  72. package/dist/adapters/node/node-player-server.d.ts +27 -0
  73. package/dist/adapters/node/node-player-server.js +82 -0
  74. package/dist/adapters/node/node-playerinfo.d.ts +6 -0
  75. package/dist/adapters/node/node-playerinfo.js +12 -0
  76. package/dist/adapters/node/node-resourceinfo.d.ts +12 -0
  77. package/dist/adapters/node/node-resourceinfo.js +27 -0
  78. package/dist/adapters/node/node-tick.d.ts +10 -0
  79. package/dist/{server/system/processors/command.processor.js → adapters/node/node-tick.js} +27 -14
  80. package/dist/adapters/node/node-vehicle-server.d.ts +21 -0
  81. package/dist/adapters/node/node-vehicle-server.js +93 -0
  82. package/dist/adapters/register-capabilities.d.ts +11 -0
  83. package/dist/adapters/register-capabilities.js +148 -0
  84. package/dist/adapters/register-client-capabilities.d.ts +8 -0
  85. package/dist/adapters/register-client-capabilities.js +56 -0
  86. package/dist/index.d.ts +5 -4
  87. package/dist/index.js +9 -5
  88. package/dist/kernel/di/index.d.ts +4 -0
  89. package/dist/kernel/di/index.js +20 -0
  90. package/dist/{system → kernel/di}/metadata.scanner.d.ts +1 -2
  91. package/dist/kernel/di/tokens.d.ts +30 -0
  92. package/dist/kernel/di/tokens.js +38 -0
  93. package/dist/kernel/index.d.ts +7 -0
  94. package/dist/kernel/index.js +30 -0
  95. package/dist/kernel/schema/index.d.ts +32 -0
  96. package/dist/kernel/schema/index.js +5 -0
  97. package/dist/kernel/shared/appearance/appearance.interface.d.ts +276 -0
  98. package/dist/kernel/shared/appearance/appearance.interface.js +77 -0
  99. package/dist/kernel/shared/appearance/index.d.ts +1 -0
  100. package/dist/kernel/shared/appearance/index.js +17 -0
  101. package/dist/kernel/shared/index.d.ts +2 -0
  102. package/dist/{shared → kernel/shared}/index.js +1 -0
  103. package/dist/{shared → kernel/shared}/logger/core-logger.d.ts +13 -0
  104. package/dist/{shared → kernel/shared}/logger/core-logger.js +38 -9
  105. package/dist/{shared → kernel/shared}/logger/index.d.ts +12 -9
  106. package/dist/{shared → kernel/shared}/logger/index.js +24 -15
  107. package/dist/{shared → kernel/shared}/logger/logger.config.d.ts +1 -1
  108. package/dist/kernel/shared/logger/logger.env.d.ts +28 -0
  109. package/dist/kernel/shared/logger/logger.env.js +51 -0
  110. package/dist/{shared → kernel/shared}/logger/logger.service.d.ts +2 -2
  111. package/dist/{shared → kernel/shared}/logger/transports/buffered.transport.d.ts +2 -2
  112. package/dist/{shared → kernel/shared}/logger/transports/buffered.transport.js +1 -1
  113. package/dist/{shared → kernel/shared}/logger/transports/console.transport.d.ts +2 -2
  114. package/dist/{shared → kernel/shared}/logger/transports/console.transport.js +1 -0
  115. package/dist/kernel/shared/logger/transports/dev-transport.factory.d.ts +75 -0
  116. package/dist/kernel/shared/logger/transports/dev-transport.factory.js +111 -0
  117. package/dist/kernel/shared/logger/transports/http.transport.d.ts +67 -0
  118. package/dist/kernel/shared/logger/transports/http.transport.js +170 -0
  119. package/dist/kernel/shared/logger/transports/index.d.ts +7 -0
  120. package/dist/kernel/shared/logger/transports/index.js +34 -0
  121. package/dist/kernel/shared/logger/transports/simple-console.transport.d.ts +38 -0
  122. package/dist/kernel/shared/logger/transports/simple-console.transport.js +93 -0
  123. package/dist/{shared → kernel/shared}/logger/transports/transport.interface.d.ts +1 -1
  124. package/dist/kernel/shared/logger/transports/websocket.transport.d.ts +69 -0
  125. package/dist/kernel/shared/logger/transports/websocket.transport.js +169 -0
  126. package/dist/kernel/utils/error/app.error.d.ts +9 -0
  127. package/dist/{utils/errors.js → kernel/utils/error/app.error.js} +1 -9
  128. package/dist/kernel/utils/error/security.error.d.ts +6 -0
  129. package/dist/kernel/utils/error/security.error.js +12 -0
  130. package/dist/{utils → kernel/utils}/index.d.ts +3 -2
  131. package/dist/{utils → kernel/utils}/index.js +3 -2
  132. package/dist/{utils → kernel/utils}/result.d.ts +1 -1
  133. package/dist/runtime/client/client-bootstrap.d.ts +7 -0
  134. package/dist/runtime/client/client-bootstrap.js +180 -0
  135. package/dist/runtime/client/client-core.d.ts +19 -0
  136. package/dist/runtime/client/client-core.js +24 -0
  137. package/dist/runtime/client/client-runtime.d.ts +58 -0
  138. package/dist/runtime/client/client-runtime.js +32 -0
  139. package/dist/runtime/client/controllers/appearance.controller.d.ts +8 -0
  140. package/dist/runtime/client/controllers/appearance.controller.js +50 -0
  141. package/dist/runtime/client/controllers/player-sync.controller.d.ts +11 -0
  142. package/dist/runtime/client/controllers/player-sync.controller.js +54 -0
  143. package/dist/{client → runtime/client}/controllers/spawner.controller.d.ts +1 -1
  144. package/dist/runtime/client/decorators/controller.d.ts +20 -0
  145. package/dist/runtime/client/decorators/controller.js +55 -0
  146. package/dist/runtime/client/decorators/export.d.ts +21 -0
  147. package/dist/runtime/client/decorators/export.js +29 -0
  148. package/dist/{client → runtime/client}/decorators/gameEvent.d.ts +2 -2
  149. package/dist/runtime/client/decorators/interval.d.ts +23 -0
  150. package/dist/runtime/client/decorators/interval.js +31 -0
  151. package/dist/runtime/client/decorators/key.d.ts +23 -0
  152. package/dist/runtime/client/decorators/key.js +31 -0
  153. package/dist/runtime/client/decorators/localEvent.d.ts +21 -0
  154. package/dist/runtime/client/decorators/localEvent.js +29 -0
  155. package/dist/runtime/client/decorators/nui.d.ts +21 -0
  156. package/dist/runtime/client/decorators/nui.js +29 -0
  157. package/dist/runtime/client/decorators/onNet.d.ts +21 -0
  158. package/dist/runtime/client/decorators/onNet.js +29 -0
  159. package/dist/runtime/client/decorators/resourceLifecycle.d.ts +40 -0
  160. package/dist/runtime/client/decorators/resourceLifecycle.js +53 -0
  161. package/dist/runtime/client/decorators/tick.d.ts +21 -0
  162. package/dist/runtime/client/decorators/tick.js +29 -0
  163. package/dist/{client → runtime/client}/index.d.ts +2 -2
  164. package/dist/{client → runtime/client}/index.js +4 -2
  165. package/dist/runtime/client/interfaces/appearance.interface.d.ts +25 -0
  166. package/dist/runtime/client/interfaces/appearance.interface.js +2 -0
  167. package/dist/{client → runtime/client}/player/player.d.ts +1 -1
  168. package/dist/{client → runtime/client}/player/player.js +5 -6
  169. package/dist/{client → runtime/client}/player/player.loader.js +2 -2
  170. package/dist/runtime/client/services/appearance.service.d.ts +132 -0
  171. package/dist/runtime/client/services/appearance.service.js +328 -0
  172. package/dist/{client → runtime/client}/services/blip.service.d.ts +1 -1
  173. package/dist/{client → runtime/client}/services/index.d.ts +6 -5
  174. package/dist/{client → runtime/client}/services/index.js +6 -5
  175. package/dist/{client → runtime/client}/services/marker.service.d.ts +1 -1
  176. package/dist/{client → runtime/client}/services/ped.service.d.ts +1 -1
  177. package/dist/{client → runtime/client}/services/ped.service.js +3 -2
  178. package/dist/{client → runtime/client}/services/spawn.service.d.ts +2 -2
  179. package/dist/{client → runtime/client}/services/spawn.service.js +4 -8
  180. package/dist/{client → runtime/client}/services/textui.service.d.ts +1 -1
  181. package/dist/runtime/client/services/vehicle-client.service.d.ts +180 -0
  182. package/dist/runtime/client/services/vehicle-client.service.js +485 -0
  183. package/dist/{client → runtime/client}/services/vehicle.service.d.ts +2 -2
  184. package/dist/{client → runtime/client}/services/vehicle.service.js +1 -1
  185. package/dist/{client → runtime/client}/system/processors/export.processor.d.ts +1 -1
  186. package/dist/{client → runtime/client}/system/processors/export.processor.js +1 -1
  187. package/dist/{client → runtime/client}/system/processors/gameEvent.processor.d.ts +1 -1
  188. package/dist/{client → runtime/client}/system/processors/gameEvent.processor.js +2 -2
  189. package/dist/{client → runtime/client}/system/processors/interval.processor.d.ts +1 -1
  190. package/dist/{client → runtime/client}/system/processors/interval.processor.js +1 -1
  191. package/dist/{client → runtime/client}/system/processors/key.processor.d.ts +1 -1
  192. package/dist/{client → runtime/client}/system/processors/localEvent.processor.d.ts +1 -1
  193. package/dist/{client → runtime/client}/system/processors/localEvent.processor.js +1 -1
  194. package/dist/{client → runtime/client}/system/processors/netEvent.processor.d.ts +1 -1
  195. package/dist/{client → runtime/client}/system/processors/netEvent.processor.js +1 -1
  196. package/dist/{client → runtime/client}/system/processors/nui.processor.d.ts +1 -1
  197. package/dist/{client → runtime/client}/system/processors/nui.processor.js +1 -1
  198. package/dist/{client → runtime/client}/system/processors/resourceLifecycle.processor.d.ts +1 -1
  199. package/dist/{client → runtime/client}/system/processors/resourceLifecycle.processor.js +1 -1
  200. package/dist/{client → runtime/client}/system/processors/tick.processor.d.ts +1 -1
  201. package/dist/{client → runtime/client}/system/processors/tick.processor.js +1 -1
  202. package/dist/{client → runtime/client}/types/game-events.js +0 -8
  203. package/dist/{client → runtime/client}/ui-bridge.js +1 -1
  204. package/dist/runtime/index.d.ts +2 -0
  205. package/dist/runtime/index.js +39 -0
  206. package/dist/{server → runtime/server}/bootstrap.d.ts +2 -1
  207. package/dist/runtime/server/bootstrap.js +234 -0
  208. package/dist/runtime/server/bootstrap.validation.d.ts +12 -0
  209. package/dist/runtime/server/bootstrap.validation.js +102 -0
  210. package/dist/runtime/server/bus/core-event-bus.d.ts +6 -0
  211. package/dist/{server → runtime/server}/bus/core-event-bus.js +5 -5
  212. package/dist/{server → runtime/server}/configs/api.config.d.ts +1 -1
  213. package/dist/{server/templates/auth → runtime/server/contracts}/auth-provider.contract.d.ts +2 -2
  214. package/dist/runtime/server/contracts/index.d.ts +7 -0
  215. package/dist/{server/templates → runtime/server/contracts}/index.js +8 -4
  216. package/dist/{server/templates/persistence → runtime/server/contracts}/player-persistence.contract.d.ts +1 -1
  217. package/dist/{server/templates → runtime/server/contracts}/repository/index.d.ts +2 -2
  218. package/dist/{server/templates → runtime/server/contracts}/repository/index.js +1 -1
  219. package/dist/{server/templates → runtime/server/contracts}/repository/repository.contract.d.ts +2 -2
  220. package/dist/{server/templates → runtime/server/contracts}/repository/repository.contract.js +0 -1
  221. package/dist/runtime/server/contracts/security/net-event-security-observer.contract.d.ts +15 -0
  222. package/dist/runtime/server/contracts/security/net-event-security-observer.contract.js +6 -0
  223. package/dist/{server/templates → runtime/server/contracts}/security/principal-provider.contract.d.ts +3 -3
  224. package/dist/{server/templates → runtime/server/contracts}/security/security-handler.contract.d.ts +2 -2
  225. package/dist/runtime/server/controllers/chat.controller.d.ts +11 -0
  226. package/dist/{server → runtime/server}/controllers/chat.controller.js +23 -11
  227. package/dist/runtime/server/controllers/command-export.controller.d.ts +74 -0
  228. package/dist/runtime/server/controllers/command-export.controller.js +260 -0
  229. package/dist/runtime/server/controllers/command.controller.d.ts +15 -0
  230. package/dist/runtime/server/controllers/command.controller.js +100 -0
  231. package/dist/runtime/server/controllers/player-export.controller.d.ts +29 -0
  232. package/dist/runtime/server/controllers/player-export.controller.js +173 -0
  233. package/dist/runtime/server/controllers/principal-export.controller.d.ts +79 -0
  234. package/dist/runtime/server/controllers/principal-export.controller.js +296 -0
  235. package/dist/runtime/server/controllers/remote-command-execution.controller.d.ts +43 -0
  236. package/dist/runtime/server/controllers/remote-command-execution.controller.js +104 -0
  237. package/dist/runtime/server/controllers/session.controller.d.ts +11 -0
  238. package/dist/{server → runtime/server}/controllers/session.controller.js +15 -12
  239. package/dist/runtime/server/controllers/vehicle.controller.d.ts +55 -0
  240. package/dist/runtime/server/controllers/vehicle.controller.js +216 -0
  241. package/dist/runtime/server/core.d.ts +3 -0
  242. package/dist/runtime/server/core.js +11 -0
  243. package/dist/runtime/server/database/adapter.registry.d.ts +4 -0
  244. package/dist/runtime/server/database/adapter.registry.js +14 -0
  245. package/dist/{server → runtime/server}/database/database.contract.d.ts +1 -1
  246. package/dist/{server → runtime/server}/database/database.service.d.ts +3 -31
  247. package/dist/{server → runtime/server}/database/database.service.js +36 -50
  248. package/dist/runtime/server/database/index.d.ts +5 -0
  249. package/dist/runtime/server/database/index.js +25 -0
  250. package/dist/runtime/server/decorators/bind.d.ts +21 -0
  251. package/dist/runtime/server/decorators/bind.js +31 -0
  252. package/dist/runtime/server/decorators/command.d.ts +81 -0
  253. package/dist/runtime/server/decorators/command.js +32 -0
  254. package/dist/{server → runtime/server}/decorators/controller.d.ts +4 -3
  255. package/dist/runtime/server/decorators/controller.js +61 -0
  256. package/dist/runtime/server/decorators/export.d.ts +24 -0
  257. package/dist/runtime/server/decorators/export.js +32 -0
  258. package/dist/runtime/server/decorators/guard.d.ts +49 -0
  259. package/dist/{server → runtime/server}/decorators/guard.js +33 -32
  260. package/dist/{server → runtime/server}/decorators/index.d.ts +7 -4
  261. package/dist/{server → runtime/server}/decorators/index.js +8 -5
  262. package/dist/runtime/server/decorators/onFiveMEvent.d.ts +24 -0
  263. package/dist/runtime/server/decorators/onFiveMEvent.js +32 -0
  264. package/dist/runtime/server/decorators/onFrameworkEvent.d.ts +22 -0
  265. package/dist/{server → runtime/server}/decorators/onFrameworkEvent.js +9 -9
  266. package/dist/runtime/server/decorators/onNet.d.ts +62 -0
  267. package/dist/runtime/server/decorators/onNet.js +15 -0
  268. package/dist/runtime/server/decorators/onTick.d.ts +21 -0
  269. package/dist/runtime/server/decorators/onTick.js +29 -0
  270. package/dist/runtime/server/decorators/public.d.ts +26 -0
  271. package/dist/{server → runtime/server}/decorators/public.js +15 -16
  272. package/dist/{server → runtime/server}/decorators/requiresState.d.ts +29 -22
  273. package/dist/runtime/server/decorators/requiresState.js +73 -0
  274. package/dist/runtime/server/decorators/throttle.d.ts +56 -0
  275. package/dist/{server → runtime/server}/decorators/throttle.js +31 -19
  276. package/dist/runtime/server/decorators/utils.d.ts +54 -0
  277. package/dist/runtime/server/decorators/utils.js +60 -0
  278. package/dist/runtime/server/devmode/contracts/IDevModeBridge.d.ts +36 -0
  279. package/dist/runtime/server/devmode/contracts/IDevModeBridge.js +12 -0
  280. package/dist/runtime/server/devmode/contracts/IDevModeInspector.d.ts +52 -0
  281. package/dist/runtime/server/devmode/contracts/IDevModeInspector.js +12 -0
  282. package/dist/runtime/server/devmode/contracts/IDevModeInterceptor.d.ts +41 -0
  283. package/dist/runtime/server/devmode/contracts/IDevModeInterceptor.js +11 -0
  284. package/dist/runtime/server/devmode/contracts/index.d.ts +3 -0
  285. package/dist/runtime/server/devmode/contracts/index.js +9 -0
  286. package/dist/runtime/server/devmode/dev-mode.service.d.ts +110 -0
  287. package/dist/runtime/server/devmode/dev-mode.service.js +324 -0
  288. package/dist/runtime/server/devmode/event-interceptor.service.d.ts +80 -0
  289. package/dist/runtime/server/devmode/event-interceptor.service.js +232 -0
  290. package/dist/runtime/server/devmode/hot-reload.server.d.ts +74 -0
  291. package/dist/runtime/server/devmode/hot-reload.server.js +261 -0
  292. package/dist/runtime/server/devmode/index.d.ts +8 -0
  293. package/dist/runtime/server/devmode/index.js +32 -0
  294. package/dist/runtime/server/devmode/player-simulator.service.d.ts +66 -0
  295. package/dist/runtime/server/devmode/player-simulator.service.js +202 -0
  296. package/dist/runtime/server/devmode/state-inspector.service.d.ts +57 -0
  297. package/dist/runtime/server/devmode/state-inspector.service.js +183 -0
  298. package/dist/runtime/server/devmode/types.d.ts +161 -0
  299. package/dist/runtime/server/devmode/types.js +28 -0
  300. package/dist/runtime/server/entities/index.d.ts +2 -0
  301. package/dist/{server → runtime/server}/entities/index.js +1 -0
  302. package/dist/{server → runtime/server}/entities/player.d.ts +70 -3
  303. package/dist/{server → runtime/server}/entities/player.js +92 -14
  304. package/dist/runtime/server/entities/vehicle.d.ts +160 -0
  305. package/dist/runtime/server/entities/vehicle.js +261 -0
  306. package/dist/{server → runtime/server}/error-handler.d.ts +1 -1
  307. package/dist/{server → runtime/server}/error-handler.js +7 -8
  308. package/dist/runtime/server/helpers/command-validation.helper.d.ts +6 -0
  309. package/dist/runtime/server/helpers/command-validation.helper.js +72 -0
  310. package/dist/runtime/server/helpers/function-helper.d.ts +1 -0
  311. package/dist/runtime/server/helpers/function-helper.js +15 -0
  312. package/dist/{server → runtime/server}/helpers/resolve-method.d.ts +1 -1
  313. package/dist/runtime/server/helpers/resolve-method.js +28 -0
  314. package/dist/{server → runtime/server}/index.d.ts +8 -6
  315. package/dist/{server → runtime/server}/index.js +14 -10
  316. package/dist/runtime/server/runtime.d.ts +408 -0
  317. package/dist/runtime/server/runtime.js +234 -0
  318. package/dist/runtime/server/services/access-control.service.d.ts +59 -0
  319. package/dist/runtime/server/services/access-control.service.js +127 -0
  320. package/dist/runtime/server/services/appearance.service.d.ts +99 -0
  321. package/dist/runtime/server/services/appearance.service.js +307 -0
  322. package/dist/runtime/server/services/chat.service.d.ts +33 -0
  323. package/dist/{server → runtime/server}/services/chat.service.js +26 -0
  324. package/dist/{server → runtime/server}/services/config.service.js +1 -1
  325. package/dist/runtime/server/services/core/command.service.d.ts +49 -0
  326. package/dist/runtime/server/services/core/command.service.js +112 -0
  327. package/dist/{server/services → runtime/server/services/core}/player.service.d.ts +48 -22
  328. package/dist/{server/services → runtime/server/services/core}/player.service.js +98 -14
  329. package/dist/runtime/server/services/core/principal.service.d.ts +28 -0
  330. package/dist/runtime/server/services/core/principal.service.js +126 -0
  331. package/dist/runtime/server/services/core/vehicle-modification.service.d.ts +104 -0
  332. package/dist/runtime/server/services/core/vehicle-modification.service.js +330 -0
  333. package/dist/runtime/server/services/core/vehicle.service.d.ts +128 -0
  334. package/dist/runtime/server/services/core/vehicle.service.js +391 -0
  335. package/dist/runtime/server/services/default/default-net-event-security-observer.d.ts +15 -0
  336. package/dist/runtime/server/services/default/default-net-event-security-observer.js +28 -0
  337. package/dist/runtime/server/services/default/default-security.handler.d.ts +19 -0
  338. package/dist/{server → runtime/server}/services/default/default-security.handler.js +15 -2
  339. package/dist/{server → runtime/server}/services/http/http.service.js +5 -5
  340. package/dist/runtime/server/services/index.d.ts +16 -0
  341. package/dist/runtime/server/services/index.js +39 -0
  342. package/dist/{server → runtime/server}/services/parallel/index.d.ts +2 -4
  343. package/dist/{server → runtime/server}/services/parallel/index.js +13 -15
  344. package/dist/{server → runtime/server}/services/parallel/parallel-compute.service.d.ts +1 -1
  345. package/dist/{server → runtime/server}/services/parallel/parallel-compute.service.js +2 -1
  346. package/dist/{server → runtime/server}/services/parallel/worker-pool.d.ts +1 -1
  347. package/dist/{server → runtime/server}/services/parallel/worker.d.ts +1 -1
  348. package/dist/{server → runtime/server}/services/persistence.service.d.ts +1 -1
  349. package/dist/{server → runtime/server}/services/persistence.service.js +13 -9
  350. package/dist/runtime/server/services/ports/command-execution.port.d.ts +41 -0
  351. package/dist/runtime/server/services/ports/command-execution.port.js +15 -0
  352. package/dist/runtime/server/services/ports/player-directory.port.d.ts +107 -0
  353. package/dist/runtime/server/services/ports/player-directory.port.js +23 -0
  354. package/dist/runtime/server/services/ports/player-session-lifecycle.port.d.ts +49 -0
  355. package/dist/runtime/server/services/ports/player-session-lifecycle.port.js +16 -0
  356. package/dist/runtime/server/services/ports/principal.port.d.ts +149 -0
  357. package/dist/runtime/server/services/ports/principal.port.js +32 -0
  358. package/dist/runtime/server/services/rate-limiter.service.d.ts +23 -0
  359. package/dist/{server → runtime/server}/services/rate-limiter.service.js +18 -0
  360. package/dist/runtime/server/services/remote/remote-command.service.d.ts +63 -0
  361. package/dist/runtime/server/services/remote/remote-command.service.js +139 -0
  362. package/dist/runtime/server/services/remote/remote-player.service.d.ts +62 -0
  363. package/dist/runtime/server/services/remote/remote-player.service.js +191 -0
  364. package/dist/runtime/server/services/remote/remote-principal.provider.d.ts +55 -0
  365. package/dist/runtime/server/services/remote/remote-principal.provider.js +130 -0
  366. package/dist/runtime/server/services/remote/remote-principal.service.d.ts +33 -0
  367. package/dist/runtime/server/services/remote/remote-principal.service.js +99 -0
  368. package/dist/runtime/server/services/remote/server-bridge.d.ts +34 -0
  369. package/dist/runtime/server/services/remote/server-bridge.js +94 -0
  370. package/dist/runtime/server/services/services.register.d.ts +14 -0
  371. package/dist/runtime/server/services/services.register.js +98 -0
  372. package/dist/runtime/server/services/types/linked-id.d.ts +6 -0
  373. package/dist/runtime/server/services/types/player-session.object.d.ts +11 -0
  374. package/dist/runtime/server/services/vehicle-modification.service.d.ts +94 -0
  375. package/dist/runtime/server/services/vehicle-modification.service.js +310 -0
  376. package/dist/runtime/server/services/vehicle.service.d.ts +138 -0
  377. package/dist/runtime/server/services/vehicle.service.js +361 -0
  378. package/dist/runtime/server/setup.d.ts +10 -0
  379. package/dist/runtime/server/setup.js +33 -0
  380. package/dist/{server → runtime/server}/system/metadata-server.keys.d.ts +2 -0
  381. package/dist/{server → runtime/server}/system/metadata-server.keys.js +2 -0
  382. package/dist/runtime/server/system/processors/command.processor.d.ts +16 -0
  383. package/dist/runtime/server/system/processors/command.processor.js +54 -0
  384. package/dist/{server → runtime/server}/system/processors/coreEvent.processor.d.ts +1 -1
  385. package/dist/{server → runtime/server}/system/processors/coreEvent.processor.js +3 -3
  386. package/dist/runtime/server/system/processors/export.processor.d.ts +10 -0
  387. package/dist/{server → runtime/server}/system/processors/export.processor.js +15 -5
  388. package/dist/runtime/server/system/processors/fivemEvent.processor.d.ts +10 -0
  389. package/dist/{server → runtime/server}/system/processors/fivemEvent.processor.js +15 -5
  390. package/dist/runtime/server/system/processors/netEvent.processor.d.ts +23 -0
  391. package/dist/runtime/server/system/processors/netEvent.processor.js +240 -0
  392. package/dist/runtime/server/system/processors/tick.processor.d.ts +8 -0
  393. package/dist/{server → runtime/server}/system/processors/tick.processor.js +14 -4
  394. package/dist/runtime/server/system/processors.register.d.ts +2 -0
  395. package/dist/runtime/server/system/processors.register.js +37 -0
  396. package/dist/{server → runtime/server}/system/schema-generator.d.ts +1 -1
  397. package/dist/{server → runtime/server}/system/schema-generator.js +17 -8
  398. package/dist/{server/templates/admin → runtime/server/templates}/admin.controller-template.d.ts +1 -1
  399. package/dist/runtime/server/templates/index.d.ts +1 -0
  400. package/dist/runtime/server/templates/index.js +17 -0
  401. package/dist/runtime/server/types/core-exports.d.ts +285 -0
  402. package/dist/runtime/server/types/core-exports.js +2 -0
  403. package/dist/runtime/server/types/index.d.ts +4 -0
  404. package/dist/runtime/server/types/index.js +20 -0
  405. package/dist/runtime/server/types/security.types.js +2 -0
  406. package/dist/runtime/server/types/vehicle.types.d.ts +152 -0
  407. package/dist/runtime/server/types/vehicle.types.js +2 -0
  408. package/package.json +30 -30
  409. package/dist/client/client-bootstrap.d.ts +0 -1
  410. package/dist/client/client-bootstrap.js +0 -50
  411. package/dist/client/client-core.d.ts +0 -1
  412. package/dist/client/client-core.js +0 -7
  413. package/dist/client/decorators/controller.d.ts +0 -3
  414. package/dist/client/decorators/controller.js +0 -14
  415. package/dist/client/decorators/export.d.ts +0 -7
  416. package/dist/client/decorators/export.js +0 -15
  417. package/dist/client/decorators/interval.d.ts +0 -7
  418. package/dist/client/decorators/interval.js +0 -15
  419. package/dist/client/decorators/key.d.ts +0 -2
  420. package/dist/client/decorators/key.js +0 -10
  421. package/dist/client/decorators/localEvent.d.ts +0 -7
  422. package/dist/client/decorators/localEvent.js +0 -15
  423. package/dist/client/decorators/nui.d.ts +0 -1
  424. package/dist/client/decorators/nui.js +0 -9
  425. package/dist/client/decorators/onNet.d.ts +0 -1
  426. package/dist/client/decorators/onNet.js +0 -9
  427. package/dist/client/decorators/resourceLifecycle.d.ts +0 -11
  428. package/dist/client/decorators/resourceLifecycle.js +0 -24
  429. package/dist/client/decorators/tick.d.ts +0 -1
  430. package/dist/client/decorators/tick.js +0 -9
  431. package/dist/client/interfaces/appearance.interface.d.ts +0 -19
  432. package/dist/client/services/appearance.service.d.ts +0 -6
  433. package/dist/client/services/appearance.service.js +0 -89
  434. package/dist/server/bootstrap.js +0 -57
  435. package/dist/server/bus/core-event-bus.d.ts +0 -6
  436. package/dist/server/controllers/chat.controller.d.ts +0 -10
  437. package/dist/server/controllers/command.controller.d.ts +0 -7
  438. package/dist/server/controllers/command.controller.js +0 -47
  439. package/dist/server/controllers/session.controller.d.ts +0 -9
  440. package/dist/server/core.d.ts +0 -1
  441. package/dist/server/core.js +0 -7
  442. package/dist/server/database/index.d.ts +0 -53
  443. package/dist/server/database/index.js +0 -70
  444. package/dist/server/decorators/bind.d.ts +0 -2
  445. package/dist/server/decorators/bind.js +0 -15
  446. package/dist/server/decorators/command.d.ts +0 -49
  447. package/dist/server/decorators/command.js +0 -23
  448. package/dist/server/decorators/controller.js +0 -36
  449. package/dist/server/decorators/export.d.ts +0 -39
  450. package/dist/server/decorators/export.js +0 -47
  451. package/dist/server/decorators/guard.d.ts +0 -56
  452. package/dist/server/decorators/onFiveMEvent.d.ts +0 -6
  453. package/dist/server/decorators/onFiveMEvent.js +0 -14
  454. package/dist/server/decorators/onFrameworkEvent.d.ts +0 -22
  455. package/dist/server/decorators/onNet.d.ts +0 -58
  456. package/dist/server/decorators/onNet.js +0 -57
  457. package/dist/server/decorators/onTick.d.ts +0 -32
  458. package/dist/server/decorators/onTick.js +0 -40
  459. package/dist/server/decorators/public.d.ts +0 -27
  460. package/dist/server/decorators/requiresState.js +0 -63
  461. package/dist/server/decorators/throttle.d.ts +0 -48
  462. package/dist/server/decorators/utils.d.ts +0 -57
  463. package/dist/server/decorators/utils.js +0 -63
  464. package/dist/server/entities/index.d.ts +0 -1
  465. package/dist/server/helpers/resolve-method.js +0 -18
  466. package/dist/server/loaders/exports.loader.d.ts +0 -0
  467. package/dist/server/loaders/exports.loader.js +0 -23
  468. package/dist/server/loaders/playerSession.loader.d.ts +0 -1
  469. package/dist/server/loaders/playerSession.loader.js +0 -51
  470. package/dist/server/services/access-control.service.d.ts +0 -56
  471. package/dist/server/services/access-control.service.js +0 -99
  472. package/dist/server/services/chat.service.d.ts +0 -7
  473. package/dist/server/services/command.service.d.ts +0 -15
  474. package/dist/server/services/command.service.js +0 -77
  475. package/dist/server/services/default/default-security.handler.d.ts +0 -6
  476. package/dist/server/services/index.d.ts +0 -10
  477. package/dist/server/services/index.js +0 -26
  478. package/dist/server/services/rate-limiter.service.d.ts +0 -5
  479. package/dist/server/services/registers.d.ts +0 -1
  480. package/dist/server/services/registers.js +0 -18
  481. package/dist/server/setup.d.ts +0 -9
  482. package/dist/server/setup.js +0 -28
  483. package/dist/server/system/processors/command.processor.d.ts +0 -9
  484. package/dist/server/system/processors/export.processor.d.ts +0 -7
  485. package/dist/server/system/processors/fivemEvent.processor.d.ts +0 -7
  486. package/dist/server/system/processors/netEvent.processor.d.ts +0 -11
  487. package/dist/server/system/processors/netEvent.processor.js +0 -103
  488. package/dist/server/system/processors/tick.processor.d.ts +0 -5
  489. package/dist/server/system/processors.register.d.ts +0 -1
  490. package/dist/server/system/processors.register.js +0 -23
  491. package/dist/server/templates/index.d.ts +0 -8
  492. package/dist/server/templates/persistence/index.d.ts +0 -30
  493. package/dist/server/templates/persistence/index.js +0 -34
  494. package/dist/shared/index.d.ts +0 -1
  495. package/dist/shared/logger/transports/index.d.ts +0 -3
  496. package/dist/shared/logger/transports/index.js +0 -19
  497. package/dist/utils/errors.d.ts +0 -14
  498. package/dist/{system → kernel/di}/class-constructor.d.ts +0 -0
  499. package/dist/{system → kernel/di}/class-constructor.js +0 -0
  500. package/dist/{server → kernel/di}/container.d.ts +0 -0
  501. package/dist/{server → kernel/di}/container.js +0 -0
  502. package/dist/{system → kernel/di}/decorator-processor.d.ts +0 -0
  503. package/dist/{system → kernel/di}/decorator-processor.js +0 -0
  504. package/dist/{system → kernel/di}/metadata.scanner.js +0 -0
  505. package/dist/{shared → kernel/shared}/logger/logger.config.js +0 -0
  506. package/dist/{shared → kernel/shared}/logger/logger.service.js +0 -0
  507. package/dist/{shared → kernel/shared}/logger/logger.types.d.ts +0 -0
  508. package/dist/{shared → kernel/shared}/logger/logger.types.js +0 -0
  509. package/dist/{shared → kernel/shared}/logger/transports/transport.interface.js +0 -0
  510. package/dist/{utils → kernel/utils}/result.js +0 -0
  511. package/dist/{utils → kernel/utils}/rgb.d.ts +0 -0
  512. package/dist/{utils → kernel/utils}/rgb.js +0 -0
  513. package/dist/{utils → kernel/utils}/vector3.d.ts +0 -0
  514. package/dist/{utils → kernel/utils}/vector3.js +0 -0
  515. package/dist/{client → runtime/client}/client-container.d.ts +0 -0
  516. package/dist/{client → runtime/client}/client-container.js +0 -0
  517. package/dist/{client → runtime/client}/controllers/spawner.controller.js +0 -0
  518. package/dist/{client → runtime/client}/decorators/gameEvent.js +0 -0
  519. package/dist/{client → runtime/client}/decorators/index.d.ts +5 -5
  520. package/dist/{client → runtime/client}/decorators/index.js +5 -5
  521. package/dist/{client → runtime/client}/player/player.loader.d.ts +0 -0
  522. package/dist/{client → runtime/client}/services/blip.service.js +0 -0
  523. package/dist/{client → runtime/client}/services/marker.service.js +0 -0
  524. package/dist/{client → runtime/client}/services/notification.service.d.ts +0 -0
  525. package/dist/{client → runtime/client}/services/notification.service.js +0 -0
  526. package/dist/{client → runtime/client}/services/progress.service.d.ts +0 -0
  527. package/dist/{client → runtime/client}/services/progress.service.js +0 -0
  528. package/dist/{client → runtime/client}/services/streaming.service.d.ts +0 -0
  529. package/dist/{client → runtime/client}/services/streaming.service.js +0 -0
  530. package/dist/{client → runtime/client}/services/textui.service.js +0 -0
  531. package/dist/{client → runtime/client}/system/metadata-client.keys.d.ts +0 -0
  532. package/dist/{client → runtime/client}/system/metadata-client.keys.js +0 -0
  533. package/dist/{client → runtime/client}/system/processors/key.processor.js +0 -0
  534. package/dist/{client → runtime/client}/system/processors.register.d.ts +0 -0
  535. package/dist/{client → runtime/client}/system/processors.register.js +6 -6
  536. /package/dist/{client → runtime/client}/types/game-events.d.ts +0 -0
  537. /package/dist/{client → runtime/client}/types/index.d.ts +0 -0
  538. /package/dist/{client → runtime/client}/types/index.js +0 -0
  539. /package/dist/{client → runtime/client}/ui-bridge.d.ts +0 -0
  540. /package/dist/{server → runtime/server}/configs/api.config.js +0 -0
  541. /package/dist/{server → runtime/server}/configs/config.base.d.ts +0 -0
  542. /package/dist/{server → runtime/server}/configs/config.base.js +0 -0
  543. /package/dist/{server → runtime/server}/configs/index.d.ts +0 -0
  544. /package/dist/{server → runtime/server}/configs/index.js +0 -0
  545. /package/dist/{server/templates/auth → runtime/server/contracts}/auth-provider.contract.js +0 -0
  546. /package/dist/{server/templates/persistence → runtime/server/contracts}/player-persistence.contract.js +0 -0
  547. /package/dist/{server/templates → runtime/server/contracts}/repository/repository.types.d.ts +0 -0
  548. /package/dist/{server/templates → runtime/server/contracts}/repository/repository.types.js +0 -0
  549. /package/dist/{server/templates → runtime/server/contracts}/security/permission.types.d.ts +0 -0
  550. /package/dist/{server/templates → runtime/server/contracts}/security/permission.types.js +0 -0
  551. /package/dist/{server/templates → runtime/server/contracts}/security/principal-provider.contract.js +0 -0
  552. /package/dist/{server/templates → runtime/server/contracts}/security/security-handler.contract.js +0 -0
  553. /package/dist/{server → runtime/server}/database/database.contract.js +0 -0
  554. /package/dist/{server → runtime/server}/database/types.d.ts +0 -0
  555. /package/dist/{server → runtime/server}/database/types.js +0 -0
  556. /package/dist/{server → runtime/server}/database.d.ts +0 -0
  557. /package/dist/{server → runtime/server}/database.js +0 -0
  558. /package/dist/{server → runtime/server}/services/config.service.d.ts +0 -0
  559. /package/dist/{server → runtime/server}/services/http/http.service.d.ts +0 -0
  560. /package/dist/{server → runtime/server}/services/parallel/types.d.ts +0 -0
  561. /package/dist/{server → runtime/server}/services/parallel/types.js +0 -0
  562. /package/dist/{server → runtime/server}/services/parallel/worker-pool.js +0 -0
  563. /package/dist/{server → runtime/server}/services/parallel/worker.js +0 -0
  564. /package/dist/{client/interfaces/appearance.interface.js → runtime/server/services/types/linked-id.js} +0 -0
  565. /package/dist/{server/templates/admin/admin.controller-template.js → runtime/server/services/types/player-session.object.js} +0 -0
  566. /package/dist/{server/types/core-events.js → runtime/server/templates/admin.controller-template.js} +0 -0
  567. /package/dist/{server → runtime/server}/types/core-events.d.ts +0 -0
  568. /package/dist/{server/types/security.types.js → runtime/server/types/core-events.js} +0 -0
  569. /package/dist/{server → runtime/server}/types/security.types.d.ts +0 -0
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.validateAndExecuteCommand = validateAndExecuteCommand;
7
+ const zod_1 = __importDefault(require("zod"));
8
+ const kernel_1 = require("../../../kernel");
9
+ const schema_generator_1 = require("../system/schema-generator");
10
+ /**
11
+ * Centraliza validación de argumentos de comandos.
12
+ */
13
+ async function validateAndExecuteCommand(meta, player, args, handler) {
14
+ const paramNames = meta.expectsPlayer ? meta.paramNames.slice(1) : meta.paramNames;
15
+ let schema = meta.schema;
16
+ // Caso: comando sin player → no espera argumentos
17
+ if (!meta.expectsPlayer) {
18
+ if (args.length > 0) {
19
+ throw new kernel_1.AppError('GAME:BAD_REQUEST', `Incorrect usage, use: ${meta.usage}`, 'client', {
20
+ usage: meta.usage,
21
+ });
22
+ }
23
+ return await handler();
24
+ }
25
+ // Autogenerar esquema si no lo definieron
26
+ if (!schema) {
27
+ schema = (0, schema_generator_1.generateSchemaFromTypes)(meta.paramTypes);
28
+ if (!schema) {
29
+ if (paramNames.length > 0) {
30
+ throw new kernel_1.AppError('SCHEMA:MISMATCH', `Command '${meta.command}' has parameters ${paramNames.join(', ')} but no schema was provided.`, 'core');
31
+ }
32
+ return await handler(player);
33
+ }
34
+ }
35
+ // OBJETO schema
36
+ if (schema instanceof zod_1.default.ZodObject) {
37
+ const keys = Object.keys(schema.shape);
38
+ for (const p of paramNames) {
39
+ if (!keys.includes(p)) {
40
+ throw new kernel_1.AppError('SCHEMA:MISMATCH', `Command '${meta.command}' is missing schema for parameter '${p}'.`, 'core');
41
+ }
42
+ }
43
+ for (const key of keys) {
44
+ if (!paramNames.includes(key)) {
45
+ throw new kernel_1.AppError('SCHEMA:MISMATCH', `Schema for command '${meta.command}' defines '${key}', but handler does not.`, 'core');
46
+ }
47
+ }
48
+ const inputObj = {};
49
+ for (let i = 0; i < paramNames.length; i++) {
50
+ inputObj[paramNames[i]] = args[i];
51
+ }
52
+ const validated = await schema.parseAsync(inputObj).catch(() => {
53
+ throw new kernel_1.AppError('GAME:BAD_REQUEST', `Incorrect usage, use: ${meta.usage}`, 'client', {
54
+ usage: meta.usage,
55
+ });
56
+ });
57
+ const obj = validated;
58
+ const finalArgs = paramNames.map((name) => obj[name]);
59
+ return await handler(player, ...finalArgs);
60
+ }
61
+ // TUPLA schema
62
+ if (schema instanceof zod_1.default.ZodTuple) {
63
+ const validated = await schema.parseAsync(args).catch(() => {
64
+ throw new kernel_1.AppError('GAME:BAD_REQUEST', `Incorrect usage, use: ${meta.usage}`, 'client', {
65
+ usage: meta.usage,
66
+ });
67
+ });
68
+ return await handler(player, ...validated);
69
+ }
70
+ // fallback
71
+ return await handler(player);
72
+ }
@@ -0,0 +1 @@
1
+ export declare function getParameterNames(func: Function): string[];
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getParameterNames = getParameterNames;
4
+ function getParameterNames(func) {
5
+ const stripped = func
6
+ .toString()
7
+ .replace(/\/\/.*$/gm, '')
8
+ .replace(/\/\*[\s\S]*?\*\//gm, '');
9
+ const args = stripped
10
+ .slice(stripped.indexOf('(') + 1, stripped.indexOf(')'))
11
+ .split(',')
12
+ .map((arg) => arg.replace(/=[\s\S]*/, '').trim())
13
+ .filter(Boolean);
14
+ return args;
15
+ }
@@ -1,5 +1,5 @@
1
1
  export declare function resolveMethod(instance: Record<string, any>, methodName: string, errorMessage: string): {
2
- handler: Function;
2
+ handler: (...args: any[]) => any;
3
3
  handlerName: string;
4
4
  proto: any;
5
5
  } | undefined;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveMethod = resolveMethod;
4
+ const logger_1 = require("../../../kernel/shared/logger");
5
+ const utils_1 = require("../../../kernel/utils");
6
+ function resolveMethod(instance, methodName, errorMessage) {
7
+ try {
8
+ const proto = Object.getPrototypeOf(instance);
9
+ const method = instance[methodName];
10
+ if (typeof method !== 'function') {
11
+ logger_1.loggers.scanner.error(errorMessage, {
12
+ className: instance.constructor.name,
13
+ methodName,
14
+ });
15
+ return;
16
+ }
17
+ const handler = method.bind(instance);
18
+ const handlerName = `${instance.constructor.name}.${methodName}`;
19
+ return { handler, handlerName, proto };
20
+ }
21
+ catch (error) {
22
+ if (error instanceof Error) {
23
+ throw new utils_1.AppError('COMMON:UNKNOWN', `[${error.name}] ${error.message}`, 'server', error.stack);
24
+ }
25
+ else
26
+ throw error;
27
+ }
28
+ }
@@ -1,10 +1,12 @@
1
- export * from './core';
1
+ export * from './bootstrap.validation';
2
+ export * from './configs';
3
+ export * from './contracts/index';
4
+ export { init } from './core';
2
5
  export * from './decorators';
3
- export * from './templates';
4
- export * from './services';
6
+ export * from './devmode';
5
7
  export * from './entities';
6
- export * from './configs';
8
+ export * from './runtime';
9
+ export * from './services';
7
10
  export * from './setup';
11
+ export * from './templates';
8
12
  export type * from './types/core-events';
9
- import './controllers/command.controller';
10
- import './controllers/chat.controller';
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ // Framework modules
2
3
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
4
  if (k2 === undefined) k2 = k;
4
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -14,18 +15,21 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
15
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
16
  };
16
17
  Object.defineProperty(exports, "__esModule", { value: true });
17
- // Framework modules
18
- __exportStar(require("./core"), exports);
18
+ exports.init = void 0;
19
+ __exportStar(require("./bootstrap.validation"), exports);
20
+ // Configs
21
+ __exportStar(require("./configs"), exports);
22
+ __exportStar(require("./contracts/index"), exports);
23
+ var core_1 = require("./core");
24
+ Object.defineProperty(exports, "init", { enumerable: true, get: function () { return core_1.init; } });
19
25
  __exportStar(require("./decorators"), exports);
20
- __exportStar(require("./templates"), exports);
21
- __exportStar(require("./services"), exports);
26
+ // DevMode (development tools)
27
+ __exportStar(require("./devmode"), exports);
22
28
  // Entities
23
29
  __exportStar(require("./entities"), exports);
24
- // Configs
25
- __exportStar(require("./configs"), exports);
30
+ __exportStar(require("./runtime"), exports);
31
+ __exportStar(require("./services"), exports);
26
32
  __exportStar(require("./setup"), exports);
27
- // Controllers
28
- require("./controllers/command.controller");
29
- require("./controllers/chat.controller");
30
- const container_1 = require("./container");
33
+ __exportStar(require("./templates"), exports);
34
+ const container_1 = require("../../kernel/di/container");
31
35
  globalThis.oc_container = container_1.di;
@@ -0,0 +1,408 @@
1
+ export type FrameworkMode = 'CORE' | 'RESOURCE' | 'STANDALONE';
2
+ /**
3
+ * Feature provider source configuration.
4
+ *
5
+ * @remarks
6
+ * Determines where a feature's implementation comes from:
7
+ *
8
+ * - `'core'`: Feature provided by CORE resource via exports
9
+ * - Used in RESOURCE mode for: players, principal, auth, commands
10
+ * - Triggers remote service implementations that delegate to CORE
11
+ *
12
+ * - `'local'`: Feature implemented locally in current resource
13
+ * - Used in CORE/STANDALONE for all features
14
+ * - Used in RESOURCE for: netEvents, fiveMEvents, exports, http, chat, database
15
+ * - Triggers local service implementations
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * // RESOURCE mode - commands delegate to CORE
20
+ * commands: { enabled: true, provider: 'core' }
21
+ *
22
+ * // STANDALONE mode - commands execute locally
23
+ * commands: { enabled: true, provider: 'local' }
24
+ * ```
25
+ */
26
+ export type FeatureProvider = 'core' | 'local';
27
+ export type FeatureScope = 'core' | 'resource' | 'standalone';
28
+ export type FeatureName = 'players' | 'netEvents' | 'fiveMEvents' | 'commands' | 'exports' | 'http' | 'chat' | 'database' | 'principal' | 'auth' | 'sessionLifecycle';
29
+ /**
30
+ * Base feature configuration (all features support this).
31
+ */
32
+ export interface BaseFeatureConfig {
33
+ /**
34
+ * Enable or disable this feature.
35
+ *
36
+ * @defaultValue Varies by feature and mode (see specific feature docs)
37
+ */
38
+ enabled?: boolean;
39
+ }
40
+ /**
41
+ * Feature configuration with configurable provider.
42
+ *
43
+ * @remarks
44
+ * Only applies to: `players`, `commands`, `principal`, `auth`
45
+ *
46
+ * For these features, you can choose:
47
+ * - `'core'`: Use CORE's implementation (RESOURCE mode)
48
+ * - `'local'`: Use local implementation (STANDALONE mode)
49
+ *
50
+ * **Defaults by mode:**
51
+ * - CORE: `'core'`
52
+ * - RESOURCE: `'core'` (delegates to CORE)
53
+ * - STANDALONE: `'local'`
54
+ */
55
+ export interface ProviderFeatureConfig extends BaseFeatureConfig {
56
+ /**
57
+ * Provider source for this feature.
58
+ *
59
+ * @remarks
60
+ * - RESOURCE mode: Use `'core'` to delegate to CORE (default)
61
+ * - STANDALONE mode: Must use `'local'` (default)
62
+ */
63
+ provider?: FeatureProvider;
64
+ }
65
+ /**
66
+ * Feature configuration with export option (CORE mode only).
67
+ *
68
+ * @remarks
69
+ * Only applies to: `players`, `principal`, `chat` in CORE mode
70
+ *
71
+ * When `export: true`, the feature exposes FiveM exports for RESOURCE mode access.
72
+ */
73
+ export interface ExportableFeatureConfig extends BaseFeatureConfig {
74
+ /**
75
+ * Whether to expose this feature via FiveM exports.
76
+ *
77
+ * @remarks
78
+ * - Only valid in CORE mode
79
+ * - Requires `exports` feature to be enabled
80
+ * - Used by RESOURCE mode to access CORE functionality
81
+ *
82
+ * @defaultValue false
83
+ */
84
+ export?: boolean;
85
+ }
86
+ /**
87
+ * User-facing feature configuration.
88
+ *
89
+ * @remarks
90
+ * This is what users configure in `Server.init({ features: {...} })`.
91
+ * Internal fields like `scope` and `required` are auto-managed by the framework.
92
+ */
93
+ export interface UserFeatureConfig {
94
+ /**
95
+ * Player management and directory.
96
+ *
97
+ * @remarks
98
+ * **Dependencies**: None
99
+ * **Provider**: Configurable
100
+ * - CORE/STANDALONE: Local player management
101
+ * - RESOURCE: Delegates to CORE
102
+ *
103
+ * **Export** (CORE only): When true, exposes player APIs to RESOURCE mode
104
+ *
105
+ * @defaultValue
106
+ * - enabled: true
107
+ * - provider: 'core' (RESOURCE), 'core' (CORE), 'local' (STANDALONE)
108
+ * - export: false
109
+ */
110
+ players?: ProviderFeatureConfig & ExportableFeatureConfig;
111
+ /**
112
+ * Command registration and execution.
113
+ *
114
+ * @remarks
115
+ * **Dependencies**: Requires `players` to be enabled
116
+ * **Provider**: Configurable
117
+ * - CORE/STANDALONE: Local command execution
118
+ * - RESOURCE: Commands register with CORE for centralized security validation
119
+ *
120
+ * **Export** (CORE only): Always exported when enabled (for RESOURCE mode access)
121
+ *
122
+ * @defaultValue
123
+ * - enabled: false
124
+ * - provider: 'core' (RESOURCE), 'local' (CORE/STANDALONE)
125
+ * - export: true (CORE only, automatic)
126
+ */
127
+ commands?: ProviderFeatureConfig;
128
+ /**
129
+ * Principal (identity) provider for permissions.
130
+ *
131
+ * @remarks
132
+ * **Dependencies**: None
133
+ * **Provider**: Configurable
134
+ * - CORE: User-provided PrincipalProvider implementation
135
+ * - RESOURCE: Delegates to CORE
136
+ * - STANDALONE: User-provided PrincipalProvider implementation
137
+ *
138
+ * **Export** (CORE only): When true, exposes principal APIs to RESOURCE mode
139
+ *
140
+ * @defaultValue
141
+ * - enabled: false
142
+ * - provider: 'core' (RESOURCE), 'core' (CORE), 'local' (STANDALONE)
143
+ * - export: false
144
+ */
145
+ principal?: ProviderFeatureConfig & ExportableFeatureConfig;
146
+ /**
147
+ * Authentication provider for login/logout.
148
+ *
149
+ * @remarks
150
+ * **Dependencies**: None
151
+ * **Provider**: Configurable
152
+ * - CORE: User-provided AuthProvider implementation
153
+ * - RESOURCE: Delegates to CORE
154
+ * - STANDALONE: User-provided AuthProvider implementation
155
+ *
156
+ * @defaultValue
157
+ * - enabled: false
158
+ * - provider: 'core' (RESOURCE), 'core' (CORE), 'local' (STANDALONE)
159
+ */
160
+ auth?: ProviderFeatureConfig;
161
+ /**
162
+ * Network events (`onNet` decorator support).
163
+ *
164
+ * @remarks
165
+ * **Dependencies**: Requires `players` to be enabled
166
+ * **Provider**: Auto-determined (not configurable)
167
+ * - Always `'local'` (events are handled locally in each resource)
168
+ *
169
+ * @defaultValue enabled: true
170
+ */
171
+ netEvents?: BaseFeatureConfig;
172
+ /**
173
+ * FiveM lifecycle events (`onServer`, `onClient`, etc.).
174
+ *
175
+ * @remarks
176
+ * **Dependencies**: None
177
+ * **Provider**: Auto-determined (not configurable)
178
+ * - Always `'local'`
179
+ * - Disabled in RESOURCE mode (only CORE/STANDALONE need lifecycle management)
180
+ *
181
+ * @defaultValue
182
+ * - enabled: true (CORE/STANDALONE), false (RESOURCE)
183
+ */
184
+ fiveMEvents?: BaseFeatureConfig;
185
+ /**
186
+ * FiveM exports support (`@Export` decorator).
187
+ *
188
+ * @remarks
189
+ * **Dependencies**: None
190
+ * **Provider**: Auto-determined (not configurable)
191
+ * - Always `'local'`
192
+ *
193
+ * @defaultValue enabled: false
194
+ */
195
+ exports?: BaseFeatureConfig;
196
+ /**
197
+ * HTTP server and endpoints.
198
+ *
199
+ * @remarks
200
+ * **Dependencies**: None
201
+ * **Provider**: Auto-determined (not configurable)
202
+ * - Always `'local'`
203
+ *
204
+ * @defaultValue enabled: false
205
+ */
206
+ http?: BaseFeatureConfig;
207
+ /**
208
+ * Chat message handling.
209
+ *
210
+ * @remarks
211
+ * **Dependencies**: Requires `players` to be enabled
212
+ * **Provider**: Auto-determined (not configurable)
213
+ * - Always `'local'`
214
+ *
215
+ * **Export** (CORE only): When true, exposes chat APIs to RESOURCE mode
216
+ *
217
+ * @defaultValue
218
+ * - enabled: false
219
+ * - export: false
220
+ */
221
+ chat?: BaseFeatureConfig & ExportableFeatureConfig;
222
+ /**
223
+ * Database access.
224
+ *
225
+ * @remarks
226
+ * **Dependencies**: None
227
+ * **Provider**: Auto-determined (not configurable)
228
+ * - Always `'local'`
229
+ *
230
+ * @defaultValue enabled: false
231
+ */
232
+ database?: BaseFeatureConfig;
233
+ /**
234
+ * Session lifecycle management (internal).
235
+ *
236
+ * @remarks
237
+ * **Dependencies**: None
238
+ * **Provider**: Auto-determined (not configurable)
239
+ * - Disabled in RESOURCE mode (CORE manages sessions)
240
+ *
241
+ * @defaultValue
242
+ * - enabled: true (CORE/STANDALONE), false (RESOURCE)
243
+ */
244
+ sessionLifecycle?: BaseFeatureConfig;
245
+ }
246
+ /**
247
+ * Internal feature contract with all fields resolved.
248
+ *
249
+ * @remarks
250
+ * This is used internally by the framework after merging user config with defaults.
251
+ * Users don't interact with this directly.
252
+ *
253
+ * @internal
254
+ */
255
+ export interface FeatureContract {
256
+ /**
257
+ * Enables or disables the feature at runtime.
258
+ *
259
+ * If `required` is `true`, this must also be `true` (otherwise validation will throw).
260
+ */
261
+ enabled: boolean;
262
+ /**
263
+ * Determines where the implementation comes from.
264
+ *
265
+ * - `core`: feature is provided by the core resource (via exports when applicable)
266
+ * - `local`: feature is implemented/handled locally by the current runtime (resource/standalone)
267
+ */
268
+ provider: FeatureProvider;
269
+ /**
270
+ * Marks the feature as exportable via FiveM exports.
271
+ *
272
+ * Only meaningful in CORE mode. When `true`, the framework dynamically imports
273
+ * export controllers that expose the feature's API to RESOURCE mode.
274
+ */
275
+ export: boolean;
276
+ /**
277
+ * The runtime scope this feature contract is intended for.
278
+ *
279
+ * Must match the scope derived from the current FrameworkMode
280
+ */
281
+ scope: FeatureScope;
282
+ /**
283
+ * Marks the feature as mandatory for the current runtime configuration.
284
+ *
285
+ * When `true`, the feature cannot be disabled (`enabled` must be `true`).
286
+ */
287
+ required: boolean;
288
+ }
289
+ export type FrameworkFeatures = Record<FeatureName, FeatureContract>;
290
+ export interface ResourceGrants {
291
+ database?: boolean;
292
+ principal?: boolean;
293
+ auth?: boolean;
294
+ }
295
+ export interface DevModeConfig {
296
+ /** Enable dev mode */
297
+ enabled: boolean;
298
+ /** Hot reload configuration */
299
+ hotReload?: {
300
+ enabled: boolean;
301
+ port: number;
302
+ allowedResources?: string[];
303
+ };
304
+ /** CLI bridge configuration */
305
+ bridge?: {
306
+ url: string;
307
+ autoConnect: boolean;
308
+ };
309
+ /** Event interceptor configuration */
310
+ interceptor?: {
311
+ enabled: boolean;
312
+ recordHistory: boolean;
313
+ maxHistorySize: number;
314
+ };
315
+ /** Player simulator configuration */
316
+ simulator?: {
317
+ enabled: boolean;
318
+ autoConnectPlayers: number;
319
+ };
320
+ }
321
+ export interface ServerRuntimeOptions {
322
+ mode: FrameworkMode;
323
+ features: FrameworkFeatures;
324
+ coreResourceName: string;
325
+ resourceGrants?: ResourceGrants;
326
+ /** Development mode configuration (disabled in production) */
327
+ devMode?: DevModeConfig;
328
+ }
329
+ export type RuntimeContext = ServerRuntimeOptions;
330
+ export declare function setRuntimeContext(ctx: RuntimeContext): void;
331
+ export declare function getRuntimeContext(): RuntimeContext;
332
+ export declare function getFrameworkModeScope(mode: FrameworkMode): FeatureScope;
333
+ /**
334
+ * Server initialization configuration.
335
+ *
336
+ * @remarks
337
+ * Defines the runtime mode and feature configuration for OpenCore.
338
+ *
339
+ * @example Minimal CORE Mode
340
+ * ```typescript
341
+ * Server.init({
342
+ * mode: 'CORE',
343
+ * features: {
344
+ * commands: { enabled: true },
345
+ * principal: { enabled: true },
346
+ * }
347
+ * })
348
+ * ```
349
+ *
350
+ * @example Minimal RESOURCE Mode
351
+ * ```typescript
352
+ * Server.init({
353
+ * mode: 'RESOURCE',
354
+ * coreResourceName: 'my-core',
355
+ * features: {
356
+ * commands: { enabled: true }, // Auto-uses 'core' provider
357
+ * }
358
+ * })
359
+ * ```
360
+ *
361
+ * @example STANDALONE Mode
362
+ * ```typescript
363
+ * Server.init({
364
+ * mode: 'STANDALONE',
365
+ * features: {
366
+ * players: { enabled: true },
367
+ * commands: { enabled: true },
368
+ * }
369
+ * })
370
+ * ```
371
+ */
372
+ export interface ServerInitOptions {
373
+ /** Runtime mode determining feature availability and provider sources */
374
+ mode: FrameworkMode;
375
+ /**
376
+ * Feature configuration.
377
+ *
378
+ * @remarks
379
+ * All features have sensible defaults. You only need to configure:
380
+ * - `enabled: true` to enable a feature
381
+ * - `provider` (optional, only for players/commands/principal/auth if you want non-default)
382
+ * - `export: true` (optional, CORE mode only, for players/principal/chat)
383
+ *
384
+ * **Most features auto-determine their provider based on mode.**
385
+ * Only configure `provider` if you need to override defaults.
386
+ */
387
+ features?: UserFeatureConfig;
388
+ /**
389
+ * Name of the CORE resource.
390
+ *
391
+ * @remarks
392
+ * - **Required in RESOURCE mode** (to locate CORE exports)
393
+ * - Optional in CORE/STANDALONE modes
394
+ *
395
+ * @defaultValue 'core'
396
+ */
397
+ coreResourceName?: string;
398
+ /** Resource grants configuration (CORE mode only) */
399
+ resourceGrants?: ResourceGrants;
400
+ /** Development mode configuration (disabled in production) */
401
+ devMode?: DevModeConfig;
402
+ }
403
+ export declare function resolveRuntimeOptions(options: ServerInitOptions): ServerRuntimeOptions;
404
+ export declare function validateRuntimeOptions(options: ServerRuntimeOptions): void;
405
+ /**
406
+ * @deprecated Use validateRuntimeOptions instead
407
+ */
408
+ export declare const validateRuntimeContextOrThrow: typeof validateRuntimeOptions;