@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,38 @@
1
+ import { type LogEntry, LogLevel } from '../logger.types';
2
+ import { LogTransport } from './transport.interface';
3
+ export interface SimpleConsoleTransportOptions {
4
+ /**
5
+ * Minimum log level to output. Defaults to INFO.
6
+ */
7
+ minLevel?: LogLevel;
8
+ /**
9
+ * Whether to include timestamp in output. Defaults to true.
10
+ */
11
+ timestamps?: boolean;
12
+ /**
13
+ * Whether to show context data. Defaults to false for cleaner output.
14
+ */
15
+ showContext?: boolean;
16
+ }
17
+ /**
18
+ * Simple console transport without ANSI color codes.
19
+ * Designed for FiveM client console which doesn't support ANSI formatting.
20
+ *
21
+ * Output format: [HH:MM:SS.mmm] [DOMAIN] LEVEL [Source] Message
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * const transport = new SimpleConsoleTransport({
26
+ * minLevel: LogLevel.INFO,
27
+ * timestamps: true
28
+ * })
29
+ * ```
30
+ */
31
+ export declare class SimpleConsoleTransport implements LogTransport {
32
+ readonly name = "simple-console";
33
+ minLevel: LogLevel;
34
+ private timestamps;
35
+ private showContext;
36
+ constructor(options?: SimpleConsoleTransportOptions);
37
+ write(entry: LogEntry): void;
38
+ }
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.SimpleConsoleTransport = void 0;
15
+ const logger_types_1 = require("../logger.types");
16
+ /**
17
+ * Simple console transport without ANSI color codes.
18
+ * Designed for FiveM client console which doesn't support ANSI formatting.
19
+ *
20
+ * Output format: [HH:MM:SS.mmm] [DOMAIN] LEVEL [Source] Message
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * const transport = new SimpleConsoleTransport({
25
+ * minLevel: LogLevel.INFO,
26
+ * timestamps: true
27
+ * })
28
+ * ```
29
+ */
30
+ class SimpleConsoleTransport {
31
+ constructor(options = {}) {
32
+ var _a, _b, _c;
33
+ this.name = 'simple-console';
34
+ this.minLevel = (_a = options.minLevel) !== null && _a !== void 0 ? _a : logger_types_1.LogLevel.INFO;
35
+ this.timestamps = (_b = options.timestamps) !== null && _b !== void 0 ? _b : true;
36
+ this.showContext = (_c = options.showContext) !== null && _c !== void 0 ? _c : false;
37
+ }
38
+ write(entry) {
39
+ var _a, _b;
40
+ const { level, domain, message, timestamp, context, error } = entry;
41
+ const levelLabel = logger_types_1.LogLevelLabels[level].padEnd(5);
42
+ const domainLabel = logger_types_1.LogDomainLabels[domain];
43
+ // Build the log line without ANSI codes
44
+ const parts = [];
45
+ if (this.timestamps) {
46
+ const time = (_b = (_a = timestamp.split('T')[1]) === null || _a === void 0 ? void 0 : _a.slice(0, 12)) !== null && _b !== void 0 ? _b : timestamp;
47
+ parts.push(`[${time}]`);
48
+ }
49
+ // Domain tag
50
+ parts.push(`[${domainLabel}]`);
51
+ // Level
52
+ parts.push(levelLabel);
53
+ // Source module/controller
54
+ if (context === null || context === void 0 ? void 0 : context.source) {
55
+ parts.push(`[${context.source}]`);
56
+ }
57
+ parts.push(message);
58
+ // Output the main log line
59
+ const logLine = parts.join(' ');
60
+ // Choose the appropriate console method
61
+ switch (level) {
62
+ case logger_types_1.LogLevel.TRACE:
63
+ case logger_types_1.LogLevel.DEBUG:
64
+ console.debug(logLine);
65
+ break;
66
+ case logger_types_1.LogLevel.INFO:
67
+ console.info(logLine);
68
+ break;
69
+ case logger_types_1.LogLevel.WARN:
70
+ console.warn(logLine);
71
+ break;
72
+ case logger_types_1.LogLevel.ERROR:
73
+ case logger_types_1.LogLevel.FATAL:
74
+ console.error(logLine);
75
+ break;
76
+ default:
77
+ console.log(logLine);
78
+ }
79
+ // Output context only if enabled and present
80
+ if (this.showContext && context) {
81
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
82
+ const { source, domain: _ } = context, rest = __rest(context, ["source", "domain"]);
83
+ if (Object.keys(rest).length > 0) {
84
+ console.debug(' context:', JSON.stringify(rest));
85
+ }
86
+ }
87
+ // Output error stack if present
88
+ if (error === null || error === void 0 ? void 0 : error.stack) {
89
+ console.error(' stack:', error.stack);
90
+ }
91
+ }
92
+ }
93
+ exports.SimpleConsoleTransport = SimpleConsoleTransport;
@@ -1,4 +1,4 @@
1
- import type { LogEntry, LogLevel } from '../logger.types';
1
+ import { LogEntry, LogLevel } from '../logger.types';
2
2
  /**
3
3
  * Contract that all log transports must implement.
4
4
  *
@@ -0,0 +1,69 @@
1
+ import { type LogEntry, LogLevel } from '../logger.types';
2
+ import { LogTransport } from './transport.interface';
3
+ /**
4
+ * Configuration for WebSocket log transport.
5
+ */
6
+ export interface WebSocketTransportOptions {
7
+ /** WebSocket server URL */
8
+ url: string;
9
+ /** Auto-reconnect on disconnect */
10
+ reconnect?: boolean;
11
+ /** Reconnect interval in milliseconds */
12
+ reconnectInterval?: number;
13
+ /** Maximum buffer size when disconnected */
14
+ bufferSize?: number;
15
+ }
16
+ /**
17
+ * WebSocket-based log transport for streaming logs to external tools.
18
+ *
19
+ * Used during development to stream logs to the CLI or other monitoring tools.
20
+ * Buffers messages when disconnected and flushes on reconnection.
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * const transport = new WebSocketLogTransport({
25
+ * url: 'ws://localhost:3848',
26
+ * reconnect: true,
27
+ * })
28
+ * await transport.connect()
29
+ * logger.addTransport(transport)
30
+ * ```
31
+ */
32
+ export declare class WebSocketLogTransport implements LogTransport {
33
+ readonly name = "websocket";
34
+ minLevel: LogLevel;
35
+ private ws;
36
+ private buffer;
37
+ private options;
38
+ private connected;
39
+ private reconnectTimer;
40
+ private messageHandlers;
41
+ constructor(options: WebSocketTransportOptions, minLevel?: LogLevel);
42
+ /**
43
+ * Connects to the WebSocket server.
44
+ */
45
+ connect(): Promise<void>;
46
+ /**
47
+ * Writes a log entry to the WebSocket or buffer.
48
+ */
49
+ write(entry: LogEntry): void;
50
+ /**
51
+ * Sends a raw message through the WebSocket.
52
+ */
53
+ send(message: unknown): void;
54
+ /**
55
+ * Registers a handler for incoming messages.
56
+ */
57
+ onMessage(handler: (data: unknown) => void): void;
58
+ /**
59
+ * Checks if currently connected.
60
+ */
61
+ isConnected(): boolean;
62
+ /**
63
+ * Disconnects and cleans up resources.
64
+ */
65
+ destroy(): void;
66
+ private bufferEntry;
67
+ private flushBuffer;
68
+ private scheduleReconnect;
69
+ }
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebSocketLogTransport = void 0;
4
+ const logger_types_1 = require("../logger.types");
5
+ /**
6
+ * WebSocket-based log transport for streaming logs to external tools.
7
+ *
8
+ * Used during development to stream logs to the CLI or other monitoring tools.
9
+ * Buffers messages when disconnected and flushes on reconnection.
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * const transport = new WebSocketLogTransport({
14
+ * url: 'ws://localhost:3848',
15
+ * reconnect: true,
16
+ * })
17
+ * await transport.connect()
18
+ * logger.addTransport(transport)
19
+ * ```
20
+ */
21
+ class WebSocketLogTransport {
22
+ constructor(options, minLevel = logger_types_1.LogLevel.DEBUG) {
23
+ var _a, _b, _c;
24
+ this.name = 'websocket';
25
+ this.ws = null;
26
+ this.buffer = [];
27
+ this.connected = false;
28
+ this.reconnectTimer = null;
29
+ this.messageHandlers = [];
30
+ this.minLevel = minLevel;
31
+ this.options = {
32
+ url: options.url,
33
+ reconnect: (_a = options.reconnect) !== null && _a !== void 0 ? _a : true,
34
+ reconnectInterval: (_b = options.reconnectInterval) !== null && _b !== void 0 ? _b : 5000,
35
+ bufferSize: (_c = options.bufferSize) !== null && _c !== void 0 ? _c : 100,
36
+ };
37
+ }
38
+ /**
39
+ * Connects to the WebSocket server.
40
+ */
41
+ async connect() {
42
+ return new Promise((resolve, reject) => {
43
+ try {
44
+ this.ws = new WebSocket(this.options.url);
45
+ this.ws.onopen = () => {
46
+ this.connected = true;
47
+ this.flushBuffer();
48
+ resolve();
49
+ };
50
+ this.ws.onclose = () => {
51
+ this.connected = false;
52
+ this.ws = null;
53
+ if (this.options.reconnect) {
54
+ this.scheduleReconnect();
55
+ }
56
+ };
57
+ this.ws.onerror = (error) => {
58
+ if (!this.connected) {
59
+ reject(error);
60
+ }
61
+ };
62
+ this.ws.onmessage = (event) => {
63
+ try {
64
+ const data = JSON.parse(event.data);
65
+ for (const handler of this.messageHandlers) {
66
+ handler(data);
67
+ }
68
+ }
69
+ catch (_a) {
70
+ // Ignore parse errors
71
+ }
72
+ };
73
+ }
74
+ catch (error) {
75
+ reject(error);
76
+ }
77
+ });
78
+ }
79
+ /**
80
+ * Writes a log entry to the WebSocket or buffer.
81
+ */
82
+ write(entry) {
83
+ var _a;
84
+ const message = {
85
+ type: 'log',
86
+ payload: {
87
+ level: entry.level,
88
+ domain: entry.domain,
89
+ message: entry.message,
90
+ timestamp: entry.timestamp,
91
+ context: entry.context,
92
+ error: entry.error
93
+ ? {
94
+ name: entry.error.name,
95
+ message: entry.error.message,
96
+ stack: entry.error.stack,
97
+ }
98
+ : undefined,
99
+ },
100
+ };
101
+ if (this.connected && ((_a = this.ws) === null || _a === void 0 ? void 0 : _a.readyState) === WebSocket.OPEN) {
102
+ this.ws.send(JSON.stringify(message));
103
+ }
104
+ else {
105
+ this.bufferEntry(entry);
106
+ }
107
+ }
108
+ /**
109
+ * Sends a raw message through the WebSocket.
110
+ */
111
+ send(message) {
112
+ var _a;
113
+ if (this.connected && ((_a = this.ws) === null || _a === void 0 ? void 0 : _a.readyState) === WebSocket.OPEN) {
114
+ this.ws.send(JSON.stringify(message));
115
+ }
116
+ }
117
+ /**
118
+ * Registers a handler for incoming messages.
119
+ */
120
+ onMessage(handler) {
121
+ this.messageHandlers.push(handler);
122
+ }
123
+ /**
124
+ * Checks if currently connected.
125
+ */
126
+ isConnected() {
127
+ return this.connected;
128
+ }
129
+ /**
130
+ * Disconnects and cleans up resources.
131
+ */
132
+ destroy() {
133
+ if (this.reconnectTimer) {
134
+ clearTimeout(this.reconnectTimer);
135
+ this.reconnectTimer = null;
136
+ }
137
+ if (this.ws) {
138
+ this.ws.onclose = null;
139
+ this.ws.close();
140
+ this.ws = null;
141
+ }
142
+ this.connected = false;
143
+ this.buffer = [];
144
+ this.messageHandlers = [];
145
+ }
146
+ bufferEntry(entry) {
147
+ this.buffer.push(entry);
148
+ if (this.buffer.length > this.options.bufferSize) {
149
+ this.buffer.shift();
150
+ }
151
+ }
152
+ flushBuffer() {
153
+ for (const entry of this.buffer) {
154
+ this.write(entry);
155
+ }
156
+ this.buffer = [];
157
+ }
158
+ scheduleReconnect() {
159
+ if (this.reconnectTimer)
160
+ return;
161
+ this.reconnectTimer = setTimeout(() => {
162
+ this.reconnectTimer = null;
163
+ this.connect().catch(() => {
164
+ // Will retry via onclose handler
165
+ });
166
+ }, this.options.reconnectInterval);
167
+ }
168
+ }
169
+ exports.WebSocketLogTransport = WebSocketLogTransport;
@@ -0,0 +1,9 @@
1
+ import { ErrorOrigin } from './types/common.error-codes';
2
+ import { FrameworkErrorCode } from './types/framework.error-codes';
3
+ export declare class AppError extends Error {
4
+ readonly code: FrameworkErrorCode;
5
+ readonly details?: unknown;
6
+ readonly origin: ErrorOrigin;
7
+ constructor(code: FrameworkErrorCode, message: string, origin: ErrorOrigin, details?: unknown);
8
+ }
9
+ export declare function isAppError(error: unknown): error is AppError;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SecurityError = exports.AppError = void 0;
3
+ exports.AppError = void 0;
4
4
  exports.isAppError = isAppError;
5
5
  class AppError extends Error {
6
6
  constructor(code, message, origin, details) {
@@ -15,11 +15,3 @@ exports.AppError = AppError;
15
15
  function isAppError(error) {
16
16
  return error instanceof AppError;
17
17
  }
18
- class SecurityError extends AppError {
19
- constructor(action, message, details) {
20
- super('NETWORK_ERROR', message, 'core', details);
21
- this.action = action;
22
- Object.setPrototypeOf(this, new.target.prototype);
23
- }
24
- }
25
- exports.SecurityError = SecurityError;
@@ -0,0 +1,6 @@
1
+ import { SecurityAction } from '../../../runtime/server/types/security.types';
2
+ import { AppError } from './app.error';
3
+ export declare class SecurityError extends AppError {
4
+ readonly action: SecurityAction;
5
+ constructor(action: SecurityAction, message: string, details?: unknown);
6
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SecurityError = void 0;
4
+ const app_error_1 = require("./app.error");
5
+ class SecurityError extends app_error_1.AppError {
6
+ constructor(action, message, details) {
7
+ super('NETWORK:ERROR', message, 'core', details);
8
+ this.action = action;
9
+ Object.setPrototypeOf(this, new.target.prototype);
10
+ }
11
+ }
12
+ exports.SecurityError = SecurityError;
@@ -1,4 +1,5 @@
1
- export * from './errors';
1
+ export * from './error/app.error';
2
+ export * from './error/security.error';
2
3
  export * from './result';
3
- export * from './vector3';
4
4
  export * from './rgb';
5
+ export * from './vector3';
@@ -14,7 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./errors"), exports);
17
+ __exportStar(require("./error/app.error"), exports);
18
+ __exportStar(require("./error/security.error"), exports);
18
19
  __exportStar(require("./result"), exports);
19
- __exportStar(require("./vector3"), exports);
20
20
  __exportStar(require("./rgb"), exports);
21
+ __exportStar(require("./vector3"), exports);
@@ -1,4 +1,4 @@
1
- import type { AppError } from './errors';
1
+ import { AppError } from './error/app.error';
2
2
  export interface Ok<T> {
3
3
  ok: true;
4
4
  value: T;
@@ -0,0 +1,7 @@
1
+ import { type ClientInitOptions } from './client-runtime';
2
+ /**
3
+ * Initialize the client core framework
4
+ *
5
+ * @param options - Client initialization options
6
+ */
7
+ export declare function initClientCore(options?: ClientInitOptions): Promise<void>;
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.initClientCore = initClientCore;
37
+ const register_client_capabilities_1 = require("../../adapters/register-client-capabilities");
38
+ const metadata_scanner_1 = require("../../kernel/di/metadata.scanner");
39
+ const logger_1 = require("../../kernel/shared/logger");
40
+ const client_container_1 = require("./client-container");
41
+ const client_runtime_1 = require("./client-runtime");
42
+ const decorators_1 = require("./decorators");
43
+ const player_loader_1 = require("./player/player.loader");
44
+ const services_1 = require("./services");
45
+ const processors_register_1 = require("./system/processors.register");
46
+ const ui_bridge_1 = require("./ui-bridge");
47
+ /**
48
+ * Services that have an init() method which registers global FiveM event listeners.
49
+ *
50
+ * These services are:
51
+ * - Registered in DI for ALL modes (so they can be injected and used)
52
+ * - Only initialized (.init() called) in CORE mode to avoid duplicate event handlers
53
+ */
54
+ const SERVICES_WITH_GLOBAL_LISTENERS = [services_1.SpawnService];
55
+ /**
56
+ * All client services that should be available in the DI container
57
+ */
58
+ // const ALL_CLIENT_SERVICES = [
59
+ // SpawnService,
60
+ // NuiBridge,
61
+ // NotificationService,
62
+ // TextUIService,
63
+ // ProgressService,
64
+ // MarkerService,
65
+ // BlipService,
66
+ // VehicleClientService,
67
+ // VehicleService,
68
+ // PedService,
69
+ // StreamingService,
70
+ // ] as const
71
+ /**
72
+ * Get current resource name safely
73
+ */
74
+ function getCurrentResourceNameSafe() {
75
+ const fn = globalThis.GetCurrentResourceName;
76
+ if (typeof fn === 'function') {
77
+ const name = fn();
78
+ if (typeof name === 'string' && name.trim())
79
+ return name;
80
+ }
81
+ return 'default';
82
+ }
83
+ /**
84
+ * Register singleton services in the DI container
85
+ *
86
+ * @remarks
87
+ * All services are registered in ALL modes so they can be injected and used.
88
+ * However, only CORE mode will call .init() on services with global listeners.
89
+ */
90
+ function registerServices() {
91
+ // Register all client services in DI (available in all modes)
92
+ client_container_1.di.registerSingleton(services_1.SpawnService, services_1.SpawnService);
93
+ client_container_1.di.registerSingleton(ui_bridge_1.NuiBridge, ui_bridge_1.NuiBridge);
94
+ client_container_1.di.registerSingleton(services_1.NotificationService, services_1.NotificationService);
95
+ client_container_1.di.registerSingleton(services_1.TextUIService, services_1.TextUIService);
96
+ client_container_1.di.registerSingleton(services_1.ProgressService, services_1.ProgressService);
97
+ client_container_1.di.registerSingleton(services_1.MarkerService, services_1.MarkerService);
98
+ client_container_1.di.registerSingleton(services_1.BlipService, services_1.BlipService);
99
+ client_container_1.di.registerSingleton(services_1.VehicleClientService, services_1.VehicleClientService);
100
+ client_container_1.di.registerSingleton(services_1.VehicleService, services_1.VehicleService);
101
+ client_container_1.di.registerSingleton(services_1.PedService, services_1.PedService);
102
+ client_container_1.di.registerSingleton(services_1.StreamingService, services_1.StreamingService);
103
+ }
104
+ /**
105
+ * Bootstrap services that need initialization
106
+ *
107
+ * @remarks
108
+ * Only called in CORE mode to initialize services that register global event listeners.
109
+ * This prevents duplicate event handlers when multiple resources use the framework.
110
+ *
111
+ * @param mode - The client initialization mode
112
+ */
113
+ async function bootstrapServices(mode) {
114
+ if (mode === 'CORE') {
115
+ // Initialize services with global listeners (only in CORE mode)
116
+ for (const Service of SERVICES_WITH_GLOBAL_LISTENERS) {
117
+ const instance = client_container_1.di.resolve(Service);
118
+ if (typeof instance.init === 'function') {
119
+ await instance.init();
120
+ }
121
+ }
122
+ // Instantiate VehicleClientService to register its event handlers
123
+ client_container_1.di.resolve(services_1.VehicleClientService);
124
+ }
125
+ }
126
+ /**
127
+ * Initialize the client core framework
128
+ *
129
+ * @param options - Client initialization options
130
+ */
131
+ async function initClientCore(options = {}) {
132
+ var _a;
133
+ const mode = (_a = options.mode) !== null && _a !== void 0 ? _a : 'CORE';
134
+ const resourceName = getCurrentResourceNameSafe();
135
+ // Register system processors early (needed for MetadataScanner)
136
+ // These processors are safe - they just process metadata, they don't register event handlers
137
+ // Each resource bundle needs its own copy registered in its DI container
138
+ (0, processors_register_1.registerSystemClient)();
139
+ // Check if already initialized
140
+ const existingContext = (0, client_runtime_1.getClientRuntimeContext)();
141
+ if (existingContext === null || existingContext === void 0 ? void 0 : existingContext.isInitialized) {
142
+ // If already initialized, only scan controllers for this resource
143
+ if (mode === 'RESOURCE' || mode === 'STANDALONE') {
144
+ const scanner = client_container_1.di.resolve(metadata_scanner_1.MetadataScanner);
145
+ scanner.scan((0, decorators_1.getClientControllerRegistry)(resourceName));
146
+ logger_1.loggers.bootstrap.info(`Resource "${resourceName}" controllers registered`);
147
+ return;
148
+ }
149
+ // If trying to initialize CORE mode twice, throw error
150
+ throw new Error(`Client already initialized in ${existingContext.mode} mode by resource "${existingContext.resourceName}". Cannot initialize again in ${mode} mode.`);
151
+ }
152
+ // Set runtime context
153
+ (0, client_runtime_1.setClientRuntimeContext)({
154
+ mode,
155
+ resourceName,
156
+ isInitialized: true,
157
+ });
158
+ // Register client-side adapters (IPedAppearanceClient, IHasher)
159
+ await (0, register_client_capabilities_1.registerClientCapabilities)();
160
+ // Register all services in DI (available in all modes)
161
+ registerServices();
162
+ // Bootstrap services (only in CORE mode)
163
+ // This is where services that register global event handlers are initialized
164
+ await bootstrapServices(mode);
165
+ // Player loader (only in CORE mode)
166
+ if (mode === 'CORE') {
167
+ (0, player_loader_1.playerClientLoader)();
168
+ }
169
+ // Import framework controllers (only in CORE mode)
170
+ // These controllers listen to global events and should only be registered once
171
+ if (mode === 'CORE') {
172
+ await Promise.resolve().then(() => __importStar(require('./controllers/spawner.controller')));
173
+ await Promise.resolve().then(() => __importStar(require('./controllers/appearance.controller')));
174
+ await Promise.resolve().then(() => __importStar(require('./controllers/player-sync.controller')));
175
+ }
176
+ // Scan and register controllers
177
+ const scanner = client_container_1.di.resolve(metadata_scanner_1.MetadataScanner);
178
+ scanner.scan((0, decorators_1.getClientControllerRegistry)(resourceName));
179
+ logger_1.loggers.bootstrap.info(`Client initialized in ${mode} mode`, { resourceName });
180
+ }
@@ -0,0 +1,19 @@
1
+ import { ClientInitOptions } from './client-runtime';
2
+ /**
3
+ * Initialize the OpenCore client framework
4
+ *
5
+ * @param options - Client initialization options
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * // Core resource (initializes all services)
10
+ * await Client.init({ mode: 'CORE' })
11
+ *
12
+ * // Resource mode (only registers controllers)
13
+ * await Client.init({ mode: 'RESOURCE' })
14
+ *
15
+ * // Standalone mode (only registers controllers)
16
+ * await Client.init({ mode: 'STANDALONE' })
17
+ * ```
18
+ */
19
+ export declare function init(options?: ClientInitOptions): Promise<void>;