@open-core/framework 0.2.9 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. package/dist/adapters/contracts/IPlatformCapabilities.d.ts +79 -0
  2. package/dist/adapters/contracts/IPlatformCapabilities.js +31 -0
  3. package/dist/adapters/contracts/IPlayerInfo.d.ts +1 -1
  4. package/dist/adapters/contracts/{IPedAppearanceClient.d.ts → client/IPedAppearanceClient.d.ts} +1 -1
  5. package/dist/adapters/contracts/server/IEntityServer.d.ts +188 -0
  6. package/dist/adapters/contracts/server/IEntityServer.js +39 -0
  7. package/dist/adapters/contracts/{IPlayerServer.d.ts → server/IPlayerServer.d.ts} +52 -9
  8. package/dist/adapters/contracts/server/IPlayerServer.js +39 -0
  9. package/dist/adapters/contracts/types/identifier.d.ts +67 -0
  10. package/dist/adapters/contracts/types/identifier.js +64 -0
  11. package/dist/adapters/contracts/types/index.d.ts +1 -0
  12. package/dist/{kernel/shared/appearance → adapters/contracts/types}/index.js +1 -1
  13. package/dist/adapters/fivem/fivem-capabilities.d.ts +18 -0
  14. package/dist/adapters/fivem/fivem-capabilities.js +67 -0
  15. package/dist/adapters/fivem/fivem-engine-events.js +17 -4
  16. package/dist/adapters/fivem/fivem-entity-server.d.ts +6 -2
  17. package/dist/adapters/fivem/fivem-entity-server.js +14 -1
  18. package/dist/adapters/fivem/fivem-ped-appearance-client.d.ts +1 -1
  19. package/dist/adapters/fivem/fivem-ped-appearance-client.js +1 -1
  20. package/dist/adapters/fivem/fivem-ped-appearance-server.d.ts +1 -1
  21. package/dist/adapters/fivem/fivem-ped-appearance-server.js +1 -1
  22. package/dist/adapters/fivem/fivem-platform.d.ts +5 -0
  23. package/dist/adapters/fivem/fivem-platform.js +100 -0
  24. package/dist/adapters/fivem/fivem-player-server.d.ts +7 -1
  25. package/dist/adapters/fivem/fivem-player-server.js +19 -1
  26. package/dist/adapters/fivem/fivem-playerinfo.d.ts +1 -1
  27. package/dist/adapters/fivem/fivem-vehicle-server.d.ts +1 -1
  28. package/dist/adapters/fivem/fivem-vehicle-server.js +1 -1
  29. package/dist/adapters/fivem/index.d.ts +13 -0
  30. package/dist/adapters/fivem/index.js +31 -0
  31. package/dist/adapters/index.d.ts +8 -7
  32. package/dist/adapters/index.js +13 -12
  33. package/dist/adapters/node/index.d.ts +5 -0
  34. package/dist/adapters/node/index.js +13 -1
  35. package/dist/adapters/node/node-capabilities.d.ts +19 -0
  36. package/dist/adapters/node/node-capabilities.js +54 -0
  37. package/dist/adapters/node/node-entity-server.d.ts +17 -6
  38. package/dist/adapters/node/node-entity-server.js +41 -15
  39. package/dist/adapters/node/node-net-transport.js +2 -2
  40. package/dist/adapters/node/node-ped-appearance-client.d.ts +1 -1
  41. package/dist/adapters/node/node-ped-appearance-client.js +1 -1
  42. package/dist/adapters/node/node-ped-appearance-server.d.ts +1 -1
  43. package/dist/adapters/node/node-ped-appearance-server.js +1 -1
  44. package/dist/adapters/node/node-platform.d.ts +5 -0
  45. package/dist/adapters/node/node-platform.js +103 -0
  46. package/dist/adapters/node/node-player-server.d.ts +19 -3
  47. package/dist/adapters/node/node-player-server.js +43 -9
  48. package/dist/adapters/node/node-playerinfo.d.ts +2 -2
  49. package/dist/adapters/node/node-playerinfo.js +14 -3
  50. package/dist/adapters/node/node-vehicle-server.d.ts +1 -1
  51. package/dist/adapters/node/node-vehicle-server.js +1 -1
  52. package/dist/adapters/platform/index.d.ts +1 -0
  53. package/dist/{runtime/server/database.js → adapters/platform/index.js} +1 -7
  54. package/dist/adapters/platform/platform-registry.d.ts +101 -0
  55. package/dist/adapters/platform/platform-registry.js +122 -0
  56. package/dist/adapters/register-capabilities.d.ts +52 -2
  57. package/dist/adapters/register-capabilities.js +69 -130
  58. package/dist/adapters/register-client-capabilities.js +1 -1
  59. package/dist/index.d.ts +2 -5
  60. package/dist/index.js +5 -31
  61. package/dist/kernel/di/container.d.ts +4 -2
  62. package/dist/kernel/di/container.js +5 -3
  63. package/dist/kernel/di/metadata.scanner.d.ts +2 -1
  64. package/dist/kernel/di/metadata.scanner.js +3 -2
  65. package/dist/kernel/{utils/error → error}/app.error.d.ts +2 -2
  66. package/dist/kernel/error/common.error-codes.d.ts +1 -0
  67. package/dist/kernel/error/framework.error-codes.d.ts +12 -0
  68. package/dist/kernel/error/index.d.ts +4 -0
  69. package/dist/kernel/error/index.js +18 -0
  70. package/dist/kernel/{utils/error → error}/security.error.d.ts +1 -1
  71. package/dist/kernel/error/security.types.js +2 -0
  72. package/dist/kernel/index.d.ts +4 -5
  73. package/dist/kernel/index.js +6 -11
  74. package/dist/kernel/{shared/logger → logger}/core-logger.d.ts +0 -19
  75. package/dist/kernel/{shared/logger → logger}/core-logger.js +10 -24
  76. package/dist/kernel/{shared/logger → logger}/logger.env.d.ts +12 -5
  77. package/dist/kernel/{shared/logger → logger}/logger.env.js +29 -13
  78. package/dist/kernel/{shared/logger → logger}/logger.service.d.ts +14 -0
  79. package/dist/kernel/{shared/logger → logger}/logger.service.js +20 -2
  80. package/dist/kernel/logger/transports/transport.interface.js +2 -0
  81. package/dist/kernel/shared/index.d.ts +1 -2
  82. package/dist/kernel/shared/index.js +1 -2
  83. package/dist/kernel/utils/index.d.ts +0 -2
  84. package/dist/kernel/utils/index.js +0 -2
  85. package/dist/kernel/utils/result.d.ts +1 -1
  86. package/dist/runtime/client/api.d.ts +7 -0
  87. package/dist/runtime/client/api.js +23 -0
  88. package/dist/runtime/client/client-bootstrap.js +1 -1
  89. package/dist/runtime/client/controllers/spawner.controller.d.ts +1 -1
  90. package/dist/runtime/client/decorators/index.d.ts +2 -2
  91. package/dist/runtime/client/decorators/index.js +2 -2
  92. package/dist/runtime/client/decorators/key.d.ts +2 -2
  93. package/dist/runtime/client/decorators/key.js +3 -3
  94. package/dist/runtime/client/decorators/localEvent.d.ts +1 -1
  95. package/dist/runtime/client/decorators/localEvent.js +1 -1
  96. package/dist/runtime/client/decorators/{tick.d.ts → onTick.d.ts} +1 -1
  97. package/dist/runtime/client/decorators/{tick.js → onTick.js} +2 -2
  98. package/dist/runtime/client/decorators/{nui.d.ts → onView.d.ts} +4 -4
  99. package/dist/runtime/client/decorators/{nui.js → onView.js} +5 -5
  100. package/dist/runtime/client/index.d.ts +1 -7
  101. package/dist/runtime/client/index.js +26 -12
  102. package/dist/runtime/client/player/player.d.ts +1 -1
  103. package/dist/runtime/client/player/player.loader.js +3 -3
  104. package/dist/runtime/client/services/appearance.service.d.ts +1 -1
  105. package/dist/runtime/client/services/appearance.service.js +1 -1
  106. package/dist/runtime/client/services/blip.service.d.ts +1 -1
  107. package/dist/runtime/client/services/marker.service.d.ts +1 -1
  108. package/dist/runtime/client/services/ped.service.d.ts +1 -1
  109. package/dist/runtime/client/services/spawn.service.d.ts +2 -2
  110. package/dist/runtime/client/services/spawn.service.js +12 -12
  111. package/dist/runtime/client/services/textui.service.d.ts +1 -1
  112. package/dist/runtime/client/services/vehicle-client.service.d.ts +1 -1
  113. package/dist/runtime/client/services/vehicle.service.d.ts +1 -1
  114. package/dist/runtime/client/system/processors/export.processor.js +1 -1
  115. package/dist/runtime/client/system/processors/gameEvent.processor.js +1 -1
  116. package/dist/runtime/client/system/processors/interval.processor.js +1 -1
  117. package/dist/runtime/client/system/processors/localEvent.processor.js +1 -1
  118. package/dist/runtime/client/system/processors/netEvent.processor.js +1 -1
  119. package/dist/runtime/client/system/processors/nui.processor.js +1 -1
  120. package/dist/runtime/client/system/processors/resourceLifecycle.processor.js +1 -1
  121. package/dist/runtime/client/system/processors/tick.processor.js +1 -1
  122. package/dist/runtime/client/ui-bridge.js +1 -1
  123. package/dist/runtime/core/entity.d.ts +168 -0
  124. package/dist/runtime/core/entity.js +226 -0
  125. package/dist/runtime/core/index.d.ts +3 -0
  126. package/dist/runtime/core/index.js +19 -0
  127. package/dist/runtime/core/spatial.d.ts +5 -0
  128. package/dist/runtime/core/spatial.js +2 -0
  129. package/dist/runtime/core/world.d.ts +13 -0
  130. package/dist/runtime/core/world.js +64 -0
  131. package/dist/runtime/server/api.d.ts +12 -0
  132. package/dist/runtime/server/api.js +34 -0
  133. package/dist/runtime/server/bootstrap.js +58 -103
  134. package/dist/runtime/server/bus/internal-event.bus.js +1 -1
  135. package/dist/runtime/server/contracts/index.d.ts +1 -2
  136. package/dist/runtime/server/contracts/index.js +2 -3
  137. package/dist/runtime/server/contracts/player-persistence.contract.d.ts +16 -18
  138. package/dist/runtime/server/contracts/player-persistence.contract.js +16 -18
  139. package/dist/runtime/server/contracts/security/command-error-observer.contract.d.ts +73 -0
  140. package/dist/runtime/server/contracts/security/command-error-observer.contract.js +9 -0
  141. package/dist/runtime/server/contracts/security/permission.types.d.ts +2 -2
  142. package/dist/runtime/server/contracts/security/principal-provider.contract.d.ts +3 -3
  143. package/dist/runtime/server/contracts/security/principal-provider.contract.js +2 -2
  144. package/dist/runtime/server/contracts/security/security-handler.contract.d.ts +2 -2
  145. package/dist/runtime/server/controllers/chat.controller.d.ts +1 -1
  146. package/dist/runtime/server/controllers/chat.controller.js +5 -0
  147. package/dist/runtime/server/controllers/command-export.controller.d.ts +12 -3
  148. package/dist/runtime/server/controllers/command-export.controller.js +81 -25
  149. package/dist/runtime/server/controllers/player-export.controller.d.ts +2 -2
  150. package/dist/runtime/server/controllers/player-export.controller.js +5 -0
  151. package/dist/runtime/server/controllers/principal-export.controller.js +8 -7
  152. package/dist/runtime/server/controllers/ready.controller.d.ts +5 -0
  153. package/dist/runtime/server/controllers/ready.controller.js +37 -0
  154. package/dist/runtime/server/controllers/remote-command-execution.controller.d.ts +10 -1
  155. package/dist/runtime/server/controllers/remote-command-execution.controller.js +65 -13
  156. package/dist/runtime/server/controllers/session.controller.d.ts +2 -2
  157. package/dist/runtime/server/controllers/session.controller.js +25 -17
  158. package/dist/runtime/server/controllers/vehicle.controller.d.ts +3 -38
  159. package/dist/runtime/server/controllers/vehicle.controller.js +6 -152
  160. package/dist/runtime/server/decorators/guard.js +2 -2
  161. package/dist/runtime/server/decorators/index.d.ts +1 -1
  162. package/dist/runtime/server/decorators/index.js +1 -1
  163. package/dist/runtime/server/decorators/{onFiveMEvent.d.ts → onRuntimeEvent.d.ts} +5 -4
  164. package/dist/runtime/server/decorators/{onFiveMEvent.js → onRuntimeEvent.js} +7 -6
  165. package/dist/runtime/server/decorators/requiresState.js +3 -3
  166. package/dist/runtime/server/decorators/throttle.d.ts +1 -1
  167. package/dist/runtime/server/decorators/throttle.js +1 -1
  168. package/dist/runtime/server/decorators/utils.d.ts +1 -1
  169. package/dist/runtime/server/decorators/utils.js +1 -1
  170. package/dist/runtime/server/devmode/dev-mode.service.d.ts +7 -8
  171. package/dist/runtime/server/devmode/dev-mode.service.js +18 -46
  172. package/dist/runtime/server/devmode/index.d.ts +1 -3
  173. package/dist/runtime/server/devmode/index.js +1 -18
  174. package/dist/runtime/server/devmode/player-simulator.service.js +3 -3
  175. package/dist/runtime/server/devmode/state-inspector.service.js +2 -2
  176. package/dist/runtime/server/devmode/types.d.ts +67 -31
  177. package/dist/runtime/server/devmode/types.js +1 -4
  178. package/dist/runtime/server/entities/player.d.ts +80 -66
  179. package/dist/runtime/server/entities/player.js +137 -98
  180. package/dist/runtime/server/entities/vehicle.d.ts +3 -3
  181. package/dist/runtime/server/error-handler.js +5 -5
  182. package/dist/runtime/server/helpers/normalize-app-error.d.ts +9 -0
  183. package/dist/runtime/server/helpers/normalize-app-error.js +20 -0
  184. package/dist/runtime/server/helpers/resolve-method.js +3 -3
  185. package/dist/runtime/server/index.d.ts +1 -13
  186. package/dist/runtime/server/index.js +25 -23
  187. package/dist/runtime/server/runtime.d.ts +32 -281
  188. package/dist/runtime/server/runtime.js +46 -60
  189. package/dist/runtime/server/services/appearance.service.d.ts +5 -5
  190. package/dist/runtime/server/services/appearance.service.js +5 -5
  191. package/dist/runtime/server/services/chat.service.d.ts +5 -3
  192. package/dist/runtime/server/services/chat.service.js +17 -12
  193. package/dist/runtime/server/services/core/command.service.d.ts +9 -1
  194. package/dist/runtime/server/services/core/command.service.js +16 -7
  195. package/dist/runtime/server/services/core/player.service.d.ts +12 -16
  196. package/dist/runtime/server/services/core/player.service.js +42 -47
  197. package/dist/runtime/server/services/core/principal.service.js +5 -5
  198. package/dist/runtime/server/services/core/session-recovery.service.d.ts +1 -1
  199. package/dist/runtime/server/services/core/session-recovery.service.js +2 -2
  200. package/dist/runtime/server/services/default/default-command-error-observer.d.ts +14 -0
  201. package/dist/runtime/server/services/default/default-command-error-observer.js +43 -0
  202. package/dist/runtime/server/services/default/default-principal.provider.d.ts +13 -0
  203. package/dist/runtime/server/services/default/default-principal.provider.js +38 -0
  204. package/dist/runtime/server/services/default/default-security.handler.d.ts +1 -1
  205. package/dist/runtime/server/services/default/default-security.handler.js +1 -1
  206. package/dist/runtime/server/services/index.d.ts +0 -3
  207. package/dist/runtime/server/services/index.js +1 -6
  208. package/dist/runtime/server/services/persistence.service.js +3 -3
  209. package/dist/runtime/server/services/ports/command-execution.port.d.ts +7 -0
  210. package/dist/runtime/server/services/ports/principal.port.d.ts +1 -1
  211. package/dist/runtime/server/services/remote/remote-command.service.d.ts +1 -0
  212. package/dist/runtime/server/services/remote/remote-command.service.js +7 -3
  213. package/dist/runtime/server/services/remote/remote-player.service.d.ts +2 -2
  214. package/dist/runtime/server/services/remote/remote-player.service.js +3 -3
  215. package/dist/runtime/server/services/remote/server-bridge.js +2 -2
  216. package/dist/runtime/server/services/services.register.d.ts +2 -5
  217. package/dist/runtime/server/services/services.register.js +29 -41
  218. package/dist/runtime/server/services/vehicle-modification.service.js +1 -1
  219. package/dist/runtime/server/services/vehicle.service.d.ts +3 -3
  220. package/dist/runtime/server/services/vehicle.service.js +5 -5
  221. package/dist/runtime/server/setup.d.ts +2 -3
  222. package/dist/runtime/server/setup.js +10 -11
  223. package/dist/runtime/server/system/metadata-server.keys.d.ts +1 -1
  224. package/dist/runtime/server/system/metadata-server.keys.js +1 -1
  225. package/dist/runtime/server/system/processors/command.processor.js +4 -0
  226. package/dist/runtime/server/system/processors/export.processor.js +1 -1
  227. package/dist/runtime/server/system/processors/internalEvent.processor.js +1 -1
  228. package/dist/runtime/server/system/processors/netEvent.processor.js +8 -9
  229. package/dist/runtime/server/system/processors/{fivemEvent.processor.d.ts → runtimeEvent.processor.d.ts} +1 -1
  230. package/dist/runtime/server/system/processors/{fivemEvent.processor.js → runtimeEvent.processor.js} +8 -8
  231. package/dist/runtime/server/system/processors/tick.processor.js +1 -1
  232. package/dist/runtime/server/system/processors.register.js +16 -11
  233. package/dist/runtime/server/system/schema-generator.js +2 -2
  234. package/dist/runtime/server/types/core-exports.d.ts +6 -6
  235. package/dist/runtime/server/types/index.d.ts +1 -1
  236. package/dist/runtime/server/types/index.js +1 -1
  237. package/dist/runtime/server/types/internal-events.d.ts +1 -1
  238. package/dist/runtime/server/types/vehicle.types.d.ts +1 -1
  239. package/package.json +7 -15
  240. package/dist/adapters/contracts/IEntityServer.d.ts +0 -88
  241. package/dist/adapters/contracts/IEntityServer.js +0 -13
  242. package/dist/adapters/contracts/IPlayerServer.js +0 -13
  243. package/dist/adapters/database/oxmysql.adapter.d.ts +0 -89
  244. package/dist/adapters/database/oxmysql.adapter.js +0 -149
  245. package/dist/adapters/database/resource.adapter.d.ts +0 -12
  246. package/dist/adapters/database/resource.adapter.js +0 -68
  247. package/dist/kernel/shared/appearance/index.d.ts +0 -1
  248. package/dist/runtime/index.d.ts +0 -2
  249. package/dist/runtime/index.js +0 -39
  250. package/dist/runtime/server/bootstrap.validation.d.ts +0 -12
  251. package/dist/runtime/server/bootstrap.validation.js +0 -104
  252. package/dist/runtime/server/contracts/auth-provider.contract.d.ts +0 -58
  253. package/dist/runtime/server/contracts/auth-provider.contract.js +0 -23
  254. package/dist/runtime/server/contracts/repository/index.d.ts +0 -57
  255. package/dist/runtime/server/contracts/repository/index.js +0 -61
  256. package/dist/runtime/server/contracts/repository/repository.contract.d.ts +0 -224
  257. package/dist/runtime/server/contracts/repository/repository.contract.js +0 -341
  258. package/dist/runtime/server/contracts/repository/repository.types.d.ts +0 -51
  259. package/dist/runtime/server/contracts/repository/repository.types.js +0 -7
  260. package/dist/runtime/server/database/adapter.registry.d.ts +0 -4
  261. package/dist/runtime/server/database/adapter.registry.js +0 -14
  262. package/dist/runtime/server/database/database.contract.d.ts +0 -128
  263. package/dist/runtime/server/database/database.contract.js +0 -29
  264. package/dist/runtime/server/database/database.service.d.ts +0 -188
  265. package/dist/runtime/server/database/database.service.js +0 -287
  266. package/dist/runtime/server/database/index.d.ts +0 -5
  267. package/dist/runtime/server/database/index.js +0 -25
  268. package/dist/runtime/server/database/types.d.ts +0 -67
  269. package/dist/runtime/server/database/types.js +0 -7
  270. package/dist/runtime/server/database.d.ts +0 -7
  271. package/dist/runtime/server/devmode/hot-reload.server.d.ts +0 -74
  272. package/dist/runtime/server/devmode/hot-reload.server.js +0 -261
  273. package/dist/runtime/server/services/config.service.d.ts +0 -75
  274. package/dist/runtime/server/services/config.service.js +0 -116
  275. package/dist/runtime/server/services/http/http.service.d.ts +0 -50
  276. package/dist/runtime/server/services/http/http.service.js +0 -126
  277. /package/dist/adapters/contracts/{IPedAppearanceClient.js → client/IPedAppearanceClient.js} +0 -0
  278. /package/dist/adapters/contracts/{IPedAppearanceServer.d.ts → server/IPedAppearanceServer.d.ts} +0 -0
  279. /package/dist/adapters/contracts/{IPedAppearanceServer.js → server/IPedAppearanceServer.js} +0 -0
  280. /package/dist/adapters/contracts/{IVehicleServer.d.ts → server/IVehicleServer.d.ts} +0 -0
  281. /package/dist/adapters/contracts/{IVehicleServer.js → server/IVehicleServer.js} +0 -0
  282. /package/dist/kernel/{utils/error → error}/app.error.js +0 -0
  283. /package/dist/kernel/{shared/logger/transports/transport.interface.js → error/common.error-codes.js} +0 -0
  284. /package/dist/{runtime/server/types/security.types.js → kernel/error/framework.error-codes.js} +0 -0
  285. /package/dist/kernel/{utils/error → error}/security.error.js +0 -0
  286. /package/dist/{runtime/server/types → kernel/error}/security.types.d.ts +0 -0
  287. /package/dist/kernel/{shared/logger → logger}/index.d.ts +0 -0
  288. /package/dist/kernel/{shared/logger → logger}/index.js +0 -0
  289. /package/dist/kernel/{shared/logger → logger}/logger.config.d.ts +0 -0
  290. /package/dist/kernel/{shared/logger → logger}/logger.config.js +0 -0
  291. /package/dist/kernel/{shared/logger → logger}/logger.types.d.ts +0 -0
  292. /package/dist/kernel/{shared/logger → logger}/logger.types.js +0 -0
  293. /package/dist/kernel/{shared/logger → logger}/transports/buffered.transport.d.ts +0 -0
  294. /package/dist/kernel/{shared/logger → logger}/transports/buffered.transport.js +0 -0
  295. /package/dist/kernel/{shared/logger → logger}/transports/console.transport.d.ts +0 -0
  296. /package/dist/kernel/{shared/logger → logger}/transports/console.transport.js +0 -0
  297. /package/dist/kernel/{shared/logger → logger}/transports/dev-transport.factory.d.ts +0 -0
  298. /package/dist/kernel/{shared/logger → logger}/transports/dev-transport.factory.js +0 -0
  299. /package/dist/kernel/{shared/logger → logger}/transports/http.transport.d.ts +0 -0
  300. /package/dist/kernel/{shared/logger → logger}/transports/http.transport.js +0 -0
  301. /package/dist/kernel/{shared/logger → logger}/transports/index.d.ts +0 -0
  302. /package/dist/kernel/{shared/logger → logger}/transports/index.js +0 -0
  303. /package/dist/kernel/{shared/logger → logger}/transports/simple-console.transport.d.ts +0 -0
  304. /package/dist/kernel/{shared/logger → logger}/transports/simple-console.transport.js +0 -0
  305. /package/dist/kernel/{shared/logger → logger}/transports/transport.interface.d.ts +0 -0
  306. /package/dist/kernel/{shared/logger → logger}/transports/websocket.transport.d.ts +0 -0
  307. /package/dist/kernel/{shared/logger → logger}/transports/websocket.transport.js +0 -0
  308. /package/dist/kernel/shared/{appearance/appearance.interface.d.ts → player-appearance.types.d.ts} +0 -0
  309. /package/dist/kernel/shared/{appearance/appearance.interface.js → player-appearance.types.js} +0 -0
@@ -10,7 +10,7 @@ exports.PlayerSimulatorService = void 0;
10
10
  const tsyringe_1 = require("tsyringe");
11
11
  const INetTransport_1 = require("../../../adapters/contracts/INetTransport");
12
12
  const container_1 = require("../../../kernel/di/container");
13
- const logger_1 = require("../../../kernel/shared/logger");
13
+ const logger_1 = require("../../../kernel/logger");
14
14
  const player_session_lifecycle_port_1 = require("../services/ports/player-session-lifecycle.port");
15
15
  /**
16
16
  * Service for simulating player connections during development.
@@ -24,10 +24,10 @@ let PlayerSimulatorService = class PlayerSimulatorService {
24
24
  this.clientIdCounter = 90000; // Start high to avoid conflicts with real players
25
25
  }
26
26
  get transport() {
27
- return container_1.di.resolve(INetTransport_1.INetTransport);
27
+ return container_1.GLOBAL_CONTAINER.resolve(INetTransport_1.INetTransport);
28
28
  }
29
29
  get sessionLifecycle() {
30
- return container_1.di.resolve(player_session_lifecycle_port_1.PlayerSessionLifecyclePort);
30
+ return container_1.GLOBAL_CONTAINER.resolve(player_session_lifecycle_port_1.PlayerSessionLifecyclePort);
31
31
  }
32
32
  /**
33
33
  * Connects a simulated player.
@@ -27,7 +27,7 @@ let StateInspectorService = class StateInspectorService extends IDevModeInspecto
27
27
  this.fiveMEventHandlers = new Map();
28
28
  }
29
29
  get players() {
30
- return container_1.di.resolve(player_directory_port_1.PlayerDirectoryPort);
30
+ return container_1.GLOBAL_CONTAINER.resolve(player_directory_port_1.PlayerDirectoryPort);
31
31
  }
32
32
  captureSnapshot() {
33
33
  const ctx = (0, runtime_1.getRuntimeContext)();
@@ -64,7 +64,7 @@ let StateInspectorService = class StateInspectorService extends IDevModeInspecto
64
64
  // Note: This is a simplified implementation
65
65
  // The actual implementation depends on tsyringe internals
66
66
  try {
67
- const container = container_1.di;
67
+ const container = container_1.GLOBAL_CONTAINER;
68
68
  if (container._registry) {
69
69
  for (const [token, registration] of container._registry) {
70
70
  const tokenName = typeof token === 'function' ? token.name : String(token);
@@ -29,96 +29,131 @@ export interface DevEvent {
29
29
  }
30
30
  /**
31
31
  * Message sent through the DevMode bridge.
32
+ *
33
+ * @remarks
34
+ * The bridge acts as a telemetry and control tunnel between the OpenCore runtime
35
+ * and the external CLI. It allows for real-time log streaming and state inspection.
32
36
  */
33
37
  export interface BridgeMessage {
34
- type: 'log' | 'event' | 'state' | 'command' | 'reload' | 'ping' | 'pong';
38
+ /**
39
+ * Message type:
40
+ * - 'log': Real-time server log streaming
41
+ * - 'event': Notification of a captured event (net, command, etc)
42
+ * - 'state': Runtime state snapshot response
43
+ * - 'command': Control command from CLI (e.g. trigger simulation)
44
+ * - 'ping'/'pong': Connection heartbeat
45
+ */
46
+ type: 'log' | 'event' | 'state' | 'command' | 'ping' | 'pong';
47
+ /** Data associated with the message */
35
48
  payload: unknown;
36
49
  }
37
50
  /**
38
51
  * Snapshot of the runtime state.
52
+ *
53
+ * @remarks
54
+ * Used by the CLI to visualize the current state of the framework without
55
+ * requiring game access.
39
56
  */
40
57
  export interface RuntimeSnapshot {
41
58
  /** Capture timestamp */
42
59
  timestamp: number;
43
- /** Current framework mode */
60
+ /** Current framework mode (CORE, RESOURCE, STANDALONE) */
44
61
  mode: FrameworkMode;
45
- /** Enabled features */
62
+ /** Enabled features and their status */
46
63
  features: Record<string, boolean>;
47
- /** Player information */
64
+ /** Player information (simulated and real) */
48
65
  players: {
49
66
  count: number;
50
67
  ids: number[];
51
68
  };
52
- /** Registered handlers */
69
+ /** Registered handlers for discovery */
53
70
  handlers: {
54
71
  commands: string[];
55
72
  netEvents: string[];
56
73
  exports: string[];
57
74
  fiveMEvents: string[];
58
75
  };
59
- /** DI container info */
76
+ /** DI container information */
60
77
  diContainer: {
61
78
  registrations: number;
62
79
  singletons: string[];
63
80
  };
64
81
  }
65
- /**
66
- * Hot reload configuration.
67
- */
68
- export interface HotReloadOptions {
69
- /** Enable hot reload server */
70
- enabled: boolean;
71
- /** HTTP port for reload endpoint */
72
- port: number;
73
- /** Resources allowed to trigger reload (empty = all) */
74
- allowedResources?: string[];
75
- }
76
82
  /**
77
83
  * Bridge configuration for CLI connection.
84
+ *
85
+ * @remarks
86
+ * The bridge enables advanced development features like log streaming to CLI
87
+ * and state inspection. It does NOT handle resource restarts (txAdmin handles that).
78
88
  */
79
89
  export interface BridgeOptions {
80
- /** WebSocket URL to connect to */
90
+ /**
91
+ * WebSocket URL of the OpenCore CLI bridge.
92
+ * @defaultValue 'ws://localhost:3848'
93
+ */
81
94
  url: string;
82
- /** Auto-connect on dev mode start */
95
+ /**
96
+ * Whether to connect to the bridge automatically on startup.
97
+ * @defaultValue false
98
+ */
83
99
  autoConnect: boolean;
84
- /** Reconnect on disconnect */
100
+ /** Whether to attempt reconnection if connection is lost */
85
101
  reconnect?: boolean;
86
- /** Reconnect interval in milliseconds */
102
+ /** Delay between reconnection attempts in milliseconds */
87
103
  reconnectInterval?: number;
88
104
  }
89
105
  /**
90
106
  * Event interceptor configuration.
107
+ *
108
+ * @remarks
109
+ * The interceptor captures and records all incoming/outgoing events (Net, Commands, etc.)
110
+ * for debugging purposes.
91
111
  */
92
112
  export interface InterceptorOptions {
93
113
  /** Enable event interception */
94
114
  enabled: boolean;
95
- /** Record event history */
115
+ /** Whether to keep a history of events in memory */
96
116
  recordHistory: boolean;
97
- /** Maximum events to keep in history */
117
+ /** Maximum number of events to keep in the history buffer */
98
118
  maxHistorySize: number;
99
119
  }
100
120
  /**
101
121
  * Player simulator configuration.
122
+ *
123
+ * @remarks
124
+ * The simulator allows for creating "virtual" players that the framework
125
+ * treats as real, enabling testing of permissions, economy, and logic without game clients.
102
126
  */
103
127
  export interface SimulatorOptions {
104
- /** Enable player simulation */
128
+ /** Enable player simulation features */
105
129
  enabled: boolean;
106
- /** Number of players to auto-connect on start */
130
+ /** Number of virtual players to connect automatically on startup */
107
131
  autoConnectPlayers: number;
108
132
  }
109
133
  /**
110
134
  * Main DevMode configuration.
135
+ *
136
+ * @remarks
137
+ * Development mode provides tools for debugging, inspection, and simulation.
138
+ * It is dynamically loaded and should be disabled in production.
111
139
  */
112
140
  export interface DevModeOptions {
113
- /** Enable dev mode */
141
+ /**
142
+ * Master switch for development mode.
143
+ * If false, no dev tools will be loaded.
144
+ */
114
145
  enabled: boolean;
115
- /** Hot reload configuration */
116
- hotReload?: HotReloadOptions;
117
- /** Bridge configuration */
146
+ /**
147
+ * CLI Bridge configuration for telemetry and logs.
148
+ */
118
149
  bridge?: BridgeOptions;
119
- /** Interceptor configuration */
150
+ /**
151
+ * Event interceptor for debugging network/command flow.
152
+ */
120
153
  interceptor?: InterceptorOptions;
121
- /** Simulator configuration */
154
+ /**
155
+ * Virtual player simulator for offline testing.
156
+ */
122
157
  simulator?: SimulatorOptions;
123
158
  }
124
159
  /**
@@ -157,5 +192,6 @@ export interface SimulatedPlayer {
157
192
  }
158
193
  /**
159
194
  * Default DevMode configuration.
195
+ * Centered on telemetry and simulation, delegating resource management to CLI/txAdmin.
160
196
  */
161
197
  export declare const DEFAULT_DEVMODE_OPTIONS: DevModeOptions;
@@ -3,13 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DEFAULT_DEVMODE_OPTIONS = void 0;
4
4
  /**
5
5
  * Default DevMode configuration.
6
+ * Centered on telemetry and simulation, delegating resource management to CLI/txAdmin.
6
7
  */
7
8
  exports.DEFAULT_DEVMODE_OPTIONS = {
8
9
  enabled: false,
9
- hotReload: {
10
- enabled: true,
11
- port: 3847,
12
- },
13
10
  bridge: {
14
11
  url: 'ws://localhost:3848',
15
12
  autoConnect: false,
@@ -1,8 +1,11 @@
1
1
  import { IPlayerInfo } from '../../../adapters';
2
- import { IEntityServer } from '../../../adapters/contracts/IEntityServer';
3
2
  import { INetTransport } from '../../../adapters/contracts/INetTransport';
4
- import { IPlayerServer } from '../../../adapters/contracts/IPlayerServer';
5
- import { Vector3 } from '../../../kernel/utils';
3
+ import { IEntityServer } from '../../../adapters/contracts/server/IEntityServer';
4
+ import { IPlayerServer } from '../../../adapters/contracts/server/IPlayerServer';
5
+ import type { PlayerIdentifier } from '../../../adapters/contracts/types/identifier';
6
+ import { Vector3 } from '../../../kernel/utils/vector3';
7
+ import { BaseEntity } from '../../core/entity';
8
+ import { Spatial } from '../../core/spatial';
6
9
  import { LinkedID } from '../services/types/linked-id';
7
10
  import { PlayerSession } from '../services/types/player-session.object';
8
11
  import { SerializedPlayerData } from '../types/core-exports';
@@ -19,17 +22,20 @@ export interface PlayerAdapters {
19
22
  /**
20
23
  * Core-level representation of a connected player on the server.
21
24
  *
22
- * This class wraps FiveM natives and session information.
25
+ * @remarks
26
+ * This class wraps platform natives and session information.
23
27
  * It serves as an abstraction layer to interact with the connected client
24
28
  * (kicking, teleporting, emitting events) without dealing with raw IDs everywhere.
25
29
  *
26
- * ⚠️ **Design Note:** This class does NOT contain gameplay logic (money, jobs, inventory).
30
+ * **Design Note:** This class does NOT contain gameplay logic (money, jobs, inventory).
27
31
  * Domain logic should live in your modules' services/models (e.g., `EconomyService`, `JobModel`).
32
+ *
33
+ * This class is platform-agnostic and works across different game engines
34
+ * (FiveM, RageMP, alt:V, etc.) through the adapter pattern.
28
35
  */
29
- export declare class Player {
36
+ export declare class Player extends BaseEntity implements Spatial {
30
37
  private readonly session;
31
38
  private readonly adapters;
32
- private states;
33
39
  private position;
34
40
  /**
35
41
  * Creates a new Player entity instance.
@@ -40,64 +46,81 @@ export declare class Player {
40
46
  */
41
47
  constructor(session: PlayerSession, adapters: PlayerAdapters);
42
48
  /**
43
- * The numeric FiveM Server ID (Source) of the player.
44
- * Useful for internal logic and array indexing.
49
+ * The numeric client/server ID of the player.
50
+ * This is the platform-specific player identifier used for native calls.
45
51
  */
46
52
  get clientID(): number;
47
- /**
48
- * The FiveM Server ID as a string.
49
- * Required by most FiveM native functions (e.g., `GetPlayerName`, `DropPlayer`).
50
- */
51
- get clientIDStr(): string;
52
53
  /**
53
54
  * The persistent Account ID linked to this session, if the player is authenticated.
54
55
  * Returns `undefined` if the player has not logged in yet.
55
56
  */
56
57
  get accountID(): string | undefined;
57
58
  /**
58
- * The display name of the player (Steam name or FiveM username).
59
+ * The display name of the player.
59
60
  */
60
61
  get name(): string;
61
- getPosition(): Vector3 | undefined;
62
+ getPosition(): Vector3;
62
63
  /**
63
- * Retrieves all platform identifiers associated with the player (steam, license, discord, ip, etc.).
64
+ * Sets the player position using the platform-agnostic API.
64
65
  *
66
+ * @param vector - The target coordinates (x, y, z).
67
+ */
68
+ setPosition(vector: Vector3): void;
69
+ /**
70
+ * Retrieves all platform identifiers associated with the player.
71
+ *
72
+ * @deprecated Use getPlayerIdentifiers() for structured identifier data.
65
73
  * @returns An array of identifier strings (e.g., `['steam:11000...', 'license:2332...']`).
66
74
  */
67
75
  getIdentifiers(): string[];
68
76
  /**
69
- * FiveM license
77
+ * Retrieves all identifiers as structured objects.
78
+ *
79
+ * @returns An array of PlayerIdentifier objects with type, value, and raw fields.
80
+ */
81
+ getPlayerIdentifiers(): PlayerIdentifier[];
82
+ /**
83
+ * Gets a specific identifier by type.
84
+ *
85
+ * @param identifierType - The type of identifier (e.g., 'steam', 'license', 'discord')
86
+ * @returns The identifier string or undefined if not found
87
+ */
88
+ getIdentifier(identifierType: string): string | undefined;
89
+ /**
90
+ * Gets the player's license identifier.
91
+ * @deprecated Use getIdentifier('license') for cross-platform compatibility.
70
92
  */
71
93
  getLicense(): string | undefined;
72
- getIdentifier(identifier: string): string | undefined;
73
94
  /**
74
- * Sends a network event exclusively to this specific player (Client-side).
75
- * Wrapper for `emitNet` ensuring the correct target Source ID is used.
95
+ * Sends a network event exclusively to this specific player (client-side).
76
96
  *
77
97
  * @param eventName - The name of the event to trigger on the client.
78
98
  * @param args - Data to send to the client.
79
99
  */
80
100
  emit(eventName: string, ...args: any[]): void;
81
- /** used to send a private message to the player */
82
- send(message: string, type?: 'chat' | 'error' | 'success' | 'warning'): void;
83
101
  /**
84
- * Teleports the player to a given position using Server-Side natives.
102
+ * Sends a private message to the player.
85
103
  *
86
- * **Note:** This forces the entity position on the server. For smoother gameplay transitions
87
- * (e.g., inside interiors or across the map), consider using `teleportClient`.
88
- *
89
- * @param vector - The target coordinates (x, y, z).
104
+ * @param message - The message text
105
+ * @param type - Message type for styling
90
106
  */
91
- teleport(vector: Vector3): void;
107
+ send(message: string, type?: 'chat' | 'error' | 'success' | 'warning'): void;
92
108
  /**
93
- * Requests the Client to teleport itself via the Core Spawner system.
109
+ * Requests the client to teleport via the spawner system.
94
110
  *
111
+ * @remarks
95
112
  * This method is preferred for gameplay logic as it allows the client to handle
96
113
  * loading screens, fading, and collision loading gracefully.
97
114
  *
98
115
  * @param vector - The target coordinates (x, y, z).
99
116
  */
100
- teleportClient(vector: Vector3): void;
117
+ teleport(vector: Vector3): void;
118
+ /**
119
+ * Spawns the player at a position with a specific model.
120
+ *
121
+ * @param vector - The spawn coordinates
122
+ * @param model - The ped model to use (default: 'mp_m_freemode_01')
123
+ */
101
124
  spawn(vector: Vector3, model?: string): void;
102
125
  /**
103
126
  * Disconnects the player from the server.
@@ -106,12 +129,24 @@ export declare class Player {
106
129
  */
107
130
  kick(reason?: string): void;
108
131
  /**
109
- * Sets the routing bucket (virtual world / dimension) for the player.
132
+ * Sets the routing bucket (virtual world/dimension) for the player.
110
133
  * Players in different buckets cannot see or interact with each other.
111
134
  *
112
135
  * @param bucket - The bucket ID (0 is the default shared world).
113
136
  */
114
137
  setRoutingBucket(bucket: number): void;
138
+ /**
139
+ * Gets the current routing bucket.
140
+ */
141
+ getRoutingBucket(): number;
142
+ /**
143
+ * Sets the player dimension (alias for setRoutingBucket).
144
+ */
145
+ set dimension(value: number);
146
+ /**
147
+ * Gets the player dimension (alias for getRoutingBucket).
148
+ */
149
+ get dimension(): number;
115
150
  /**
116
151
  * Stores arbitrary transient metadata for this player's session.
117
152
  * Useful for flags like `isDead`, `isInRaid`, `lastLocation`, etc.
@@ -119,11 +154,10 @@ export declare class Player {
119
154
  * @param key - The unique key for the metadata.
120
155
  * @param value - The value to store.
121
156
  */
122
- setMeta(key: string, value: unknown): void;
157
+ setMeta<T = unknown>(key: string, value: T): void;
123
158
  /**
124
159
  * Retrieves metadata previously stored in the session.
125
160
  *
126
- * @template T - The expected type of the value.
127
161
  * @param key - The metadata key.
128
162
  * @returns The value cast to T, or `undefined` if not set.
129
163
  */
@@ -132,24 +166,22 @@ export declare class Player {
132
166
  * Links a persistent Account ID to the current session.
133
167
  * Should be called after successful authentication.
134
168
  *
135
- * @param accountID - The unique ID from the database.
169
+ * @param accountID - The unique ID from the persistent storage.
136
170
  */
137
171
  linkAccount(accountID: LinkedID): void;
172
+ /**
173
+ * Unlinks the account from the current session.
174
+ */
138
175
  unlinkAccount(): void;
139
176
  /**
140
177
  * Checks if the player currently possesses a specific state flag.
141
178
  *
142
179
  * @param state - The unique string identifier of the state (e.g., 'dead', 'cuffed').
143
- * @returns `true` if the state is active, `false` otherwise.
144
180
  */
145
181
  hasState(state: string): boolean;
146
182
  /**
147
183
  * Applies a state flag to the player.
148
184
  *
149
- * @remarks
150
- * Since states are stored in a `Set`, adding an existing state has no effect (idempotent).
151
- * Ideally, this should trigger a sync event to the client if needed.
152
- *
153
185
  * @param state - The state key to add.
154
186
  */
155
187
  addState(state: string): void;
@@ -163,48 +195,32 @@ export declare class Player {
163
195
  * Toggles the presence of a state flag.
164
196
  *
165
197
  * @param state - The state key to toggle.
166
- * @param force - If provided, forces the state to be added (`true`) or removed (`false`) regardless of its current status.
167
- *
168
- * @returns The final status of the state (`true` if active, `false` if inactive).
169
- *
170
- * @example
171
- * ```ts
172
- * // Standard toggle
173
- * player.toggleState('duty'); // turns on if off, off if on
174
- *
175
- * // Force enable (equivalent to addState but returns boolean)
176
- * player.toggleState('duty', true); // always results in true
177
- * ```
198
+ * @param force - If provided, forces the state to be added or removed.
199
+ * @returns The final status of the state.
178
200
  */
179
201
  toggleState(state: string, force?: boolean): boolean;
180
202
  /**
181
- * Retrieves a snapshot of all currently active state flags for this player.
182
- *
183
- * @returns An array containing all active state keys.
203
+ * Retrieves all currently active state flags.
184
204
  */
185
205
  getStates(): string[];
186
206
  /**
187
207
  * Gets the current health of the player's ped.
188
- *
189
- * @returns Current health value (0-200, where 100 is dead).
190
208
  */
191
209
  getHealth(): number;
192
210
  /**
193
211
  * Sets the health of the player's ped.
194
212
  *
195
- * @param health - Health value to set (0-200).
213
+ * @param health - Health value to set (platform-specific range).
196
214
  */
197
215
  setHealth(health: number): void;
198
216
  /**
199
217
  * Gets the current armor of the player's ped.
200
- *
201
- * @returns Current armor value (0-100).
202
218
  */
203
219
  getArmor(): number;
204
220
  /**
205
221
  * Sets the armor of the player's ped.
206
222
  *
207
- * @param armor - Armor value to set (0-100).
223
+ * @param armor - Armor value to set (typically 0-100).
208
224
  */
209
225
  setArmor(armor: number): void;
210
226
  /**
@@ -214,16 +230,14 @@ export declare class Player {
214
230
  /**
215
231
  * Checks if the player is alive.
216
232
  *
217
- * @returns `true` if health is above 100 (dead threshold), `false` otherwise.
233
+ * @remarks
234
+ * The threshold (100) is platform-specific. In GTA V-based platforms,
235
+ * health below 100 means dead.
218
236
  */
219
237
  isAlive(): boolean;
220
238
  /**
221
239
  * Serializes the player data for cross-resource transfer.
222
240
  *
223
- * @remarks
224
- * Creates a plain object representation of the player session that can be
225
- * safely transferred between resources via FiveM exports.
226
- *
227
241
  * @returns Serialized player data DTO
228
242
  */
229
243
  serialize(): SerializedPlayerData;