@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
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Command = Command;
4
- const metadata_server_keys_1 = require("../system/metadata-server.keys");
5
- /**
6
- * Decorator used to mark a controller method as a command.
7
- * This method will be registered and then executed by the command service.
8
- * It will depend on the chat you have implemented following the dependency conventions.
9
- *
10
- * @param configOrName - The command name (e.g. "revive", "deposit")
11
- * @validation zod schema
12
- * @handlerSignature ```ts
13
- * (player: Server.Player, args: any[]) => any
14
- * ```
15
- */
16
- function Command(configOrName) {
17
- return (target, propertyKey, descriptor) => {
18
- const config = typeof configOrName === 'string' ? { command: configOrName } : configOrName;
19
- const paramTypes = Reflect.getMetadata('design:paramtypes', target, propertyKey);
20
- const metadata = Object.assign(Object.assign({}, config), { methodName: propertyKey, target: target.constructor, paramTypes });
21
- Reflect.defineMetadata(metadata_server_keys_1.METADATA_KEYS.COMMAND, metadata, target, propertyKey);
22
- };
23
- }
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.serverControllerRegistry = void 0;
4
- exports.Controller = Controller;
5
- const tsyringe_1 = require("tsyringe");
6
- const metadata_server_keys_1 = require("../system/metadata-server.keys");
7
- exports.serverControllerRegistry = [];
8
- /**
9
- * Class decorator used to mark a class as a Server Controller.
10
- *
11
- * This decorator performs the following actions:
12
- * 1. Marks the class as `@injectable` (via tsyringe) for dependency injection.
13
- * 2. Defines metadata identifying the class as a 'server' type controller.
14
- * 3. Automatically adds the class constructor to the `serverControllerRegistry`.
15
- *
16
- * @returns The decorator function to apply to the class.
17
- *
18
- * @example
19
- * ```ts
20
- * import { Controller } from '@core/server/decorators'
21
- *
22
- * @Server.Controller()
23
- * export class PlayerController {
24
- * constructor(private playerService: PlayerService) {
25
- * // Dependency injection works automatically here
26
- * }
27
- * }
28
- * ```
29
- */
30
- function Controller() {
31
- return function (target) {
32
- (0, tsyringe_1.injectable)()(target);
33
- Reflect.defineMetadata(metadata_server_keys_1.METADATA_KEYS.CONTROLLER, { type: 'server' }, target);
34
- exports.serverControllerRegistry.push(target);
35
- };
36
- }
@@ -1,39 +0,0 @@
1
- /**
2
- * Export
3
- * -----------------------------------------
4
- * Declares a method as an externally accessible export
5
- * within the FiveM environment.
6
- *
7
- * Methods decorated with `@Export()` are automatically
8
- * registered by the framework and exposed as native
9
- * FXServer exports, allowing other resources to call them
10
- * using:
11
- *
12
- * exports.resourceName.exportName(...)
13
- *
14
- * This decorator is typically used inside controller
15
- * classes, where the framework’s module loader inspects
16
- * metadata to register commands, events and exports
17
- * consistently.
18
- *
19
- * @param name Optional name to expose. If omitted,
20
- * the method name is used.
21
- *
22
- * ```ts
23
- * @Server.Controller()
24
- * export class AccountController {
25
- * @Server.Export('getAccountById')
26
- * getAccount(id: string) {
27
- * return this.accountService.find(id)
28
- * }
29
- * }
30
- *
31
- * // From another resource:
32
- * // const result = exports['core-resource'].getAccountById('1234')
33
- *```
34
- * Internally, this decorator stores metadata used by
35
- * the server bootstrap to automatically register the
36
- * export through FXServer's `global.exports` API.
37
- *
38
- */
39
- export declare function Export(name?: string): (target: any, propertyKey: string) => void;
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Export = Export;
4
- const metadata_server_keys_1 = require("../system/metadata-server.keys");
5
- /**
6
- * Export
7
- * -----------------------------------------
8
- * Declares a method as an externally accessible export
9
- * within the FiveM environment.
10
- *
11
- * Methods decorated with `@Export()` are automatically
12
- * registered by the framework and exposed as native
13
- * FXServer exports, allowing other resources to call them
14
- * using:
15
- *
16
- * exports.resourceName.exportName(...)
17
- *
18
- * This decorator is typically used inside controller
19
- * classes, where the framework’s module loader inspects
20
- * metadata to register commands, events and exports
21
- * consistently.
22
- *
23
- * @param name Optional name to expose. If omitted,
24
- * the method name is used.
25
- *
26
- * ```ts
27
- * @Server.Controller()
28
- * export class AccountController {
29
- * @Server.Export('getAccountById')
30
- * getAccount(id: string) {
31
- * return this.accountService.find(id)
32
- * }
33
- * }
34
- *
35
- * // From another resource:
36
- * // const result = exports['core-resource'].getAccountById('1234')
37
- *```
38
- * Internally, this decorator stores metadata used by
39
- * the server bootstrap to automatically register the
40
- * export through FXServer's `global.exports` API.
41
- *
42
- */
43
- function Export(name) {
44
- return (target, propertyKey) => {
45
- Reflect.defineMetadata(metadata_server_keys_1.METADATA_KEYS.EXPORT, { exportName: name || propertyKey }, target, propertyKey);
46
- };
47
- }
@@ -1,56 +0,0 @@
1
- export interface GuardOptions {
2
- /**
3
- * Minimum rank required to execute the method.
4
- * Permissions and Role/Ranks are defined by your Principal Controller
5
- */
6
- rank?: number;
7
- /**
8
- * Permission required to execute the method.
9
- * Permissions and Role/Ranks are defined by your Principal Controller
10
- */
11
- permission?: string;
12
- }
13
- /**
14
- * Guard
15
- * ------------------------------------------------------------
16
- * Declarative access-control decorator for controller methods.
17
- *
18
- * `@Guard()` protects a method by enforcing rank and/or
19
- * permission requirements before executing it.
20
- *
21
- * Requirements are evaluated through the AccessControlService,
22
- * which determines whether the player (first argument of the
23
- * method) is authorized to perform the action.
24
- *
25
- * Usage of this decorator allows you to express authorization
26
- * rules directly at the controller level, promoting a clean
27
- * and explicit security model.
28
- *
29
- * @param options GuardOptions
30
- * - rank: minimum rank required to execute the method.
31
- * - permission: specific permission required.
32
- *
33
- * Notes:
34
- * - The decorated method must receive a `Server.Player`
35
- * instance as its first argument.
36
- * - When compiling improperly (e.g., benchmarks, stripped
37
- * decorators), the PropertyDescriptor may be missing.
38
- * In that case, only metadata is recorded and execution
39
- * fallback is disabled. This should *never* occur in a
40
- * production environment.
41
- *
42
- * ```ts
43
- * export class FactionController {
44
- * @Server.Guard({ permission: 'factions.manage' })
45
- * async createFaction(player: Player, dto: CreateFactionDTO) {
46
- * return this.service.create(dto)
47
- * }
48
- *
49
- * @Server.Guard({ rank: 3 })
50
- * async promoteMember(player: Player, memberID: string) {
51
- * return this.service.promote(player, memberID)
52
- * }
53
- * }
54
- * ```
55
- */
56
- export declare function Guard(options: GuardOptions): (target: any, propertyKey: string, descriptor?: PropertyDescriptor) => PropertyDescriptor | undefined;
@@ -1,6 +0,0 @@
1
- /**
2
- * Listen to FiveM events server-side, check the list below
3
- *
4
- * https://docs.fivem.net/docs/scripting-reference/events/server-events/
5
- */
6
- export declare function OnFiveMEvent(event: string): (target: any, propertyKey: string) => void;
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OnFiveMEvent = OnFiveMEvent;
4
- const metadata_server_keys_1 = require("../system/metadata-server.keys");
5
- /**
6
- * Listen to FiveM events server-side, check the list below
7
- *
8
- * https://docs.fivem.net/docs/scripting-reference/events/server-events/
9
- */
10
- function OnFiveMEvent(event) {
11
- return (target, propertyKey) => {
12
- Reflect.defineMetadata(metadata_server_keys_1.METADATA_KEYS.FIVEM_EVENT, { event }, target, propertyKey);
13
- };
14
- }
@@ -1,22 +0,0 @@
1
- import type { CoreEventMap } from '../types/core-events';
2
- /**
3
- * Method decorator used to register a method as a listener for an internal OpenCore framework event.
4
- *
5
- * When the specified framework event is emitted, this method will be automatically triggered
6
- * with the arguments provided by the event payload.
7
- *
8
- * @param event - The name of the core event to listen for (typed strictly to `CoreEventMap`).
9
- *
10
- *
11
- * ```ts
12
- * @Server.Controller()
13
- * export class SystemController {
14
- *
15
- * @OnFrameworkEvent('server:ready')
16
- * public onServerStart() {
17
- * console.log('OpenCore Framework is ready!')
18
- * }
19
- * }
20
- * ```
21
- */
22
- export declare function OnFrameworkEvent<K extends keyof CoreEventMap>(event: K): (target: any, propertyKey: string) => void;
@@ -1,58 +0,0 @@
1
- import type { z } from 'zod';
2
- import type { Player } from '../entities/player';
3
- export interface NetEventOptions {
4
- eventName: string;
5
- schema?: z.ZodType;
6
- paramTypes?: any;
7
- }
8
- type ServerNetHandler<TArgs extends any[] = any[]> = (player: Player, ...args: TArgs) => any;
9
- /**
10
- * Registers a server-side network event handler.
11
- *
12
- * The decorated method is invoked when the client triggers
13
- * `emitNet(eventName, ...)`.
14
- *
15
- * ## Player Injection
16
- * The first argument of the handler **must be `Player`** and is automatically
17
- * replaced with a `Server.Player` instance representing the client that
18
- * fired the event. You do NOT need to read `source` manually.
19
- *
20
- * ## Auto-Validation
21
- * Arguments after `Player` are automatically validated based on their TypeScript types:
22
- * - `string` → `z.string()`
23
- * - `number` → `z.number()`
24
- * - `boolean` → `z.boolean()`
25
- * - `any[]` → `z.array(z.any())` (array content not validated)
26
- *
27
- * ## Explicit Schema (Advanced)
28
- * For stricter validation (ranges, formats, nested objects), provide a Zod schema:
29
- *
30
- * @example Auto-validation (simple)
31
- * ```ts
32
- * @OnNet("auth:login")
33
- * handleLogin(player: Player, username: string, password: string) {
34
- * // username and password are validated as strings automatically
35
- * }
36
- * ```
37
- *
38
- * @example Explicit schema (strict validation)
39
- * ```ts
40
- * const transferSchema = z.object({
41
- * targetId: z.number().positive(),
42
- * amount: z.number().min(1).max(1000000),
43
- * })
44
- *
45
- * @OnNet("bank:transfer", { schema: transferSchema })
46
- * handleTransfer(player: Player, data: z.infer<typeof transferSchema>) {
47
- * // data.amount is guaranteed to be between 1 and 1,000,000
48
- * }
49
- * ```
50
- *
51
- * @param eventName - The network event name to listen for.
52
- * @param options - Optional configuration object.
53
- * @param options.schema - Zod schema for strict payload validation.
54
- */
55
- export declare function OnNet<TArgs extends any[]>(eventName: string, options?: {
56
- schema?: z.ZodType;
57
- }): <H extends ServerNetHandler<TArgs>>(target: any, propertyKey: string, descriptor: TypedPropertyDescriptor<H>) => void;
58
- export {};
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OnNet = OnNet;
4
- const metadata_server_keys_1 = require("../system/metadata-server.keys");
5
- /**
6
- * Registers a server-side network event handler.
7
- *
8
- * The decorated method is invoked when the client triggers
9
- * `emitNet(eventName, ...)`.
10
- *
11
- * ## Player Injection
12
- * The first argument of the handler **must be `Player`** and is automatically
13
- * replaced with a `Server.Player` instance representing the client that
14
- * fired the event. You do NOT need to read `source` manually.
15
- *
16
- * ## Auto-Validation
17
- * Arguments after `Player` are automatically validated based on their TypeScript types:
18
- * - `string` → `z.string()`
19
- * - `number` → `z.number()`
20
- * - `boolean` → `z.boolean()`
21
- * - `any[]` → `z.array(z.any())` (array content not validated)
22
- *
23
- * ## Explicit Schema (Advanced)
24
- * For stricter validation (ranges, formats, nested objects), provide a Zod schema:
25
- *
26
- * @example Auto-validation (simple)
27
- * ```ts
28
- * @OnNet("auth:login")
29
- * handleLogin(player: Player, username: string, password: string) {
30
- * // username and password are validated as strings automatically
31
- * }
32
- * ```
33
- *
34
- * @example Explicit schema (strict validation)
35
- * ```ts
36
- * const transferSchema = z.object({
37
- * targetId: z.number().positive(),
38
- * amount: z.number().min(1).max(1000000),
39
- * })
40
- *
41
- * @OnNet("bank:transfer", { schema: transferSchema })
42
- * handleTransfer(player: Player, data: z.infer<typeof transferSchema>) {
43
- * // data.amount is guaranteed to be between 1 and 1,000,000
44
- * }
45
- * ```
46
- *
47
- * @param eventName - The network event name to listen for.
48
- * @param options - Optional configuration object.
49
- * @param options.schema - Zod schema for strict payload validation.
50
- */
51
- function OnNet(eventName, options) {
52
- return (target, propertyKey, descriptor) => {
53
- const paramTypes = Reflect.getMetadata('design:paramtypes', target, propertyKey);
54
- const metadata = { eventName, schema: options === null || options === void 0 ? void 0 : options.schema, paramTypes };
55
- Reflect.defineMetadata(metadata_server_keys_1.METADATA_KEYS.NET_EVENT, metadata, target, propertyKey);
56
- };
57
- }
@@ -1,32 +0,0 @@
1
- /**
2
- * OnTick
3
- * ------------------------------------------------------------
4
- * Marks a method to be executed on every server tick.
5
- *
6
- * Methods decorated with `@OnTick()` are automatically
7
- * registered by the framework's scheduler and invoked on each
8
- * FXServer tick (~ every 0–10 ms depending on workload).
9
- *
10
- * This decorator should be used for lightweight recurring
11
- * logic: status updates, background checks, cleanup tasks,
12
- * or time-based processes relevant to gameplay.
13
- *
14
- * Heavy or blocking operations should be avoided inside tick
15
- * handlers, as they directly impact global server performance.
16
- *
17
- * ```ts
18
- * export class SyncController {
19
- * @OnTick()
20
- * updatePlayers() {
21
- * // Runs every tick
22
- * this.service.syncPositions()
23
- * }
24
- * }
25
- *
26
- * ```
27
- *
28
- * Internally, the decorator only stores metadata. The
29
- * server bootstrap scans for this metadata and binds the
30
- * method to FiveM's tick cycle.
31
- */
32
- export declare function OnTick(): (target: any, propertyKey: string) => void;
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OnTick = OnTick;
4
- const metadata_server_keys_1 = require("../system/metadata-server.keys");
5
- /**
6
- * OnTick
7
- * ------------------------------------------------------------
8
- * Marks a method to be executed on every server tick.
9
- *
10
- * Methods decorated with `@OnTick()` are automatically
11
- * registered by the framework's scheduler and invoked on each
12
- * FXServer tick (~ every 0–10 ms depending on workload).
13
- *
14
- * This decorator should be used for lightweight recurring
15
- * logic: status updates, background checks, cleanup tasks,
16
- * or time-based processes relevant to gameplay.
17
- *
18
- * Heavy or blocking operations should be avoided inside tick
19
- * handlers, as they directly impact global server performance.
20
- *
21
- * ```ts
22
- * export class SyncController {
23
- * @OnTick()
24
- * updatePlayers() {
25
- * // Runs every tick
26
- * this.service.syncPositions()
27
- * }
28
- * }
29
- *
30
- * ```
31
- *
32
- * Internally, the decorator only stores metadata. The
33
- * server bootstrap scans for this metadata and binds the
34
- * method to FiveM's tick cycle.
35
- */
36
- function OnTick() {
37
- return (target, propertyKey) => {
38
- Reflect.defineMetadata(metadata_server_keys_1.METADATA_KEYS.TICK, {}, target, propertyKey);
39
- };
40
- }
@@ -1,27 +0,0 @@
1
- /**
2
- * Marks a server-side NetEvent handler as publicly accessible.
3
- *
4
- * This decorator disables authentication requirements for the
5
- * decorated method. It should only be applied to endpoints used for:
6
- * - Login
7
- * - Registration
8
- * - Public information retrieval
9
- *
10
- * ## Security Warning
11
- * This decorator must be used with caution. Public endpoints must NOT
12
- * modify sensitive game state unless necessary.
13
- *
14
- * ## Example
15
- * ```ts
16
- * class AuthServerController {
17
- * @Public()
18
- * @OnNet("auth:login")
19
- * async login(player: Server.Player, credentials: AuthCredentials) {
20
- * // no authentication required for this event
21
- * }
22
- * }
23
- * ```
24
- *
25
- * @returns Method decorator that marks a handler as unauthenticated.
26
- */
27
- export declare function Public(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
@@ -1,63 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RequiresState = RequiresState;
4
- const utils_1 = require("../../utils");
5
- /**
6
- * Enforces gameplay state requirements before executing a method.
7
- *
8
- * The decorator intercepts the method call and verifies whether
9
- * the player satisfies required state flags (e.g. "dead", "cuffed",
10
- * "on_duty_police").
11
- *
12
- * ## Whitelist (`has`)
13
- * The player MUST have *all* required states. Missing any state blocks execution.
14
- *
15
- * ## Blacklist (`missing`)
16
- * The player MUST NOT have any of the forbidden states.
17
- *
18
- * ## Error Handling
19
- * - Throws a normal Error if the method is called without a valid Player.
20
- * - Throws an `AppError(GAME_STATE_ERROR)` if validation fails.
21
- *
22
- * ## Example
23
- * ```ts
24
- * @RequiresState({ missing: ["dead", "cuffed"] })
25
- * openInventory(player: Server.Player) { ... }
26
- *
27
- * @RequiresState({
28
- * has: ["police_duty"],
29
- * missing: ["dead"],
30
- * errorMessage: "You must be on duty to access the armory."
31
- * })
32
- * openArmory(player: Server.Player) { ... }
33
- * ```
34
- *
35
- * @param req - State validation configuration.
36
- */
37
- function RequiresState(req) {
38
- return function (target, propertyKey, descriptor) {
39
- const originalMethod = descriptor.value;
40
- descriptor.value = async function (...args) {
41
- const player = args[0];
42
- if (!player) {
43
- throw new Error(`@RequiresState used on ${propertyKey} without Player context`);
44
- }
45
- if (req.has) {
46
- for (const state of req.has) {
47
- if (!player.hasState(state)) {
48
- throw new utils_1.AppError('GAME_STATE_ERROR', req.errorMessage || `You must be [${state}] to do this.`, 'client');
49
- }
50
- }
51
- }
52
- if (req.missing) {
53
- for (const state of req.missing) {
54
- if (player.hasState(state)) {
55
- throw new utils_1.AppError('GAME_STATE_ERROR', req.errorMessage || `You can't do this while you're [${state}].`, 'client');
56
- }
57
- }
58
- }
59
- return originalMethod.apply(this, args);
60
- };
61
- return descriptor;
62
- };
63
- }
@@ -1,48 +0,0 @@
1
- import type { SecurityAction } from '../types/security.types';
2
- interface ThrottleOptions {
3
- /**
4
- * limit of calls per windowMs
5
- */
6
- limit: number;
7
- /**
8
- * time window for numeric overload
9
- */
10
- windowMs: number;
11
- /**
12
- * action to perform on exceed limit
13
- */
14
- onExceed?: SecurityAction;
15
- /**
16
- * custom message to display on exceed limit (ERROR MESSAGE)
17
- */
18
- message?: string;
19
- }
20
- /**
21
- * Rate-limits how frequently a method can be called by a specific player.
22
- *
23
- * Uses `RateLimiterService` and a unique key composed of:
24
- * `playerID:ClassName:MethodName`.
25
- *
26
- * ## Overload
27
- * - `@Throttle(5, 1000)` → limit = 5 calls per 1000 ms
28
- * - `@Throttle({ limit, windowMs, onExceed, message })`
29
- *
30
- * ## Behavior
31
- * If the rate limit is exceeded:
32
- * - A `SecurityError` is thrown.
33
- * - Optional custom behavior (`onExceed`) may be executed.
34
- *
35
- * ## Example
36
- * ```ts
37
- * @Throttle(5, 2000)
38
- * async search(player: Server.Player, query: string) { ... }
39
- *
40
- * @Throttle({ limit: 1, windowMs: 5000, message: "Too fast!" })
41
- * async placeOrder(player: Server.Player) { ... }
42
- * ```
43
- *
44
- * @param optionsOrLimit - Number (simple mode) or full config object.
45
- * @param windowMs - Time window for numeric overload.
46
- */
47
- export declare function Throttle(optionsOrLimit: number | ThrottleOptions, windowMs?: number): (target: any, propertyKey: string, descriptor?: PropertyDescriptor) => PropertyDescriptor | undefined;
48
- export {};
@@ -1,57 +0,0 @@
1
- import type { BindingScope } from './bind';
2
- /**
3
- * Marks a class as a framework-managed Service.
4
- *
5
- * The decorator binds the class into the dependency injection
6
- * container using the provided scope (default: `singleton`).
7
- *
8
- * Services represent reusable, stateless or stateful logic such as:
9
- * - Business rules
10
- * - Utility layers
11
- * - Gameplay systems
12
- * - Internal modules
13
- *
14
- * This decorator is a convenience wrapper over `@Bind()`, allowing
15
- * future extension of service-specific behavior without changing
16
- * end-user code.
17
- *
18
- * ## Example
19
- * ```ts
20
- * @Service()
21
- * export class InventoryService {
22
- * addItem() { ... }
23
- * }
24
- * ```
25
- *
26
- * @param options.scope - Optional binding scope (`singleton` | `transient`)
27
- */
28
- export declare function Service(options?: {
29
- scope?: BindingScope;
30
- }): (target: any) => void;
31
- /**
32
- * Marks a class as a Repository within the framework.
33
- *
34
- * A Repository abstracts persistence operations (e.g., database,
35
- * API, in-memory, or hybrid storage). It is registered in the
36
- * dependency injection container using the provided scope
37
- * (default: `singleton`).
38
- *
39
- * `@Repo()` is intentionally separate from `@Service()` to clearly
40
- * distinguish persistence-oriented classes from business logic.
41
- * In the future, repository-specific behavior (caching layers,
42
- * transactional wrappers, profiling, etc.) can be attached here
43
- * without modifying user code.
44
- *
45
- * ## Example
46
- * ```ts
47
- * @Repo()
48
- * export class AccountRepository {
49
- * async findById(id: string) { ... }
50
- * }
51
- * ```
52
- *
53
- * @param options.scope - Optional binding scope (`singleton` | `transient`)
54
- */
55
- export declare function Repo(options?: {
56
- scope?: BindingScope;
57
- }): (target: any) => void;