@open-core/framework 1.0.2-beta.1 → 1.0.5-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 (872) hide show
  1. package/LICENSE +373 -373
  2. package/README.md +196 -268
  3. package/dist/adapters/cfx/cfx-capabilities.d.ts +16 -0
  4. package/dist/adapters/cfx/cfx-capabilities.js +70 -0
  5. package/dist/adapters/cfx/cfx-platform.d.ts +2 -0
  6. package/dist/adapters/cfx/cfx-platform.js +85 -0
  7. package/dist/adapters/cfx/index.d.ts +3 -0
  8. package/dist/adapters/cfx/index.js +3 -0
  9. package/dist/adapters/cfx/runtime-profile.d.ts +3 -0
  10. package/dist/adapters/cfx/runtime-profile.js +37 -0
  11. package/dist/adapters/contracts/IEngineEvents.d.ts +20 -0
  12. package/dist/adapters/contracts/IEngineEvents.js +2 -0
  13. package/dist/adapters/contracts/IExports.d.ts +4 -0
  14. package/dist/adapters/contracts/IExports.js +2 -0
  15. package/dist/adapters/contracts/IHasher.d.ts +15 -0
  16. package/dist/adapters/contracts/IHasher.js +8 -0
  17. package/dist/adapters/contracts/IPlatformCapabilities.d.ts +79 -0
  18. package/dist/adapters/contracts/IPlatformCapabilities.js +27 -0
  19. package/dist/adapters/contracts/IPlayerInfo.d.ts +5 -0
  20. package/dist/adapters/contracts/IPlayerInfo.js +2 -0
  21. package/dist/adapters/contracts/IResourceInfo.d.ts +4 -0
  22. package/dist/adapters/contracts/IResourceInfo.js +2 -0
  23. package/dist/adapters/contracts/ITick.d.ts +10 -0
  24. package/dist/adapters/contracts/ITick.js +5 -0
  25. package/dist/adapters/contracts/client/IPedAppearanceClient.d.ts +206 -0
  26. package/dist/adapters/contracts/client/IPedAppearanceClient.js +12 -0
  27. package/dist/adapters/contracts/index.d.ts +2 -0
  28. package/dist/adapters/contracts/index.js +3 -0
  29. package/dist/adapters/contracts/server/IEntityServer.d.ts +188 -0
  30. package/dist/adapters/contracts/server/IEntityServer.js +35 -0
  31. package/dist/adapters/contracts/server/IPedAppearanceServer.d.ts +45 -0
  32. package/dist/adapters/contracts/server/IPedAppearanceServer.js +12 -0
  33. package/dist/adapters/contracts/server/IPedServer.d.ts +29 -0
  34. package/dist/adapters/contracts/server/IPedServer.js +8 -0
  35. package/dist/adapters/contracts/server/IPlayerServer.d.ts +117 -0
  36. package/dist/adapters/contracts/server/IPlayerServer.js +35 -0
  37. package/dist/adapters/contracts/server/IVehicleServer.d.ts +55 -0
  38. package/dist/adapters/contracts/server/IVehicleServer.js +9 -0
  39. package/dist/adapters/contracts/transport/context.d.ts +5 -0
  40. package/dist/adapters/contracts/transport/events.api.d.ts +36 -0
  41. package/dist/adapters/contracts/transport/events.api.js +5 -0
  42. package/dist/adapters/contracts/transport/messaging.transport.d.ts +8 -0
  43. package/dist/adapters/contracts/transport/messaging.transport.js +2 -0
  44. package/dist/adapters/contracts/transport/rpc.api.d.ts +66 -0
  45. package/dist/adapters/contracts/transport/rpc.api.js +20 -0
  46. package/dist/adapters/contracts/types/identifier.d.ts +67 -0
  47. package/dist/adapters/contracts/types/identifier.js +58 -0
  48. package/dist/adapters/contracts/types/index.d.ts +1 -0
  49. package/dist/adapters/contracts/types/index.js +1 -0
  50. package/dist/adapters/fivem/fivem-capabilities.d.ts +18 -0
  51. package/dist/adapters/fivem/fivem-capabilities.js +61 -0
  52. package/dist/adapters/fivem/fivem-engine-events.d.ts +5 -0
  53. package/dist/adapters/fivem/fivem-engine-events.js +24 -0
  54. package/dist/adapters/fivem/fivem-entity-server.d.ts +26 -0
  55. package/dist/adapters/fivem/fivem-entity-server.js +87 -0
  56. package/dist/adapters/fivem/fivem-exports.d.ts +5 -0
  57. package/dist/adapters/fivem/fivem-exports.js +9 -0
  58. package/dist/adapters/fivem/fivem-hasher.d.ts +7 -0
  59. package/dist/adapters/fivem/fivem-hasher.js +20 -0
  60. package/dist/adapters/fivem/fivem-net-transport.d.ts +1 -0
  61. package/dist/adapters/fivem/fivem-net-transport.js +0 -0
  62. package/dist/adapters/fivem/fivem-ped-appearance-client.d.ts +34 -0
  63. package/dist/adapters/fivem/fivem-ped-appearance-client.js +79 -0
  64. package/dist/adapters/fivem/fivem-ped-appearance-server.d.ts +14 -0
  65. package/dist/adapters/fivem/fivem-ped-appearance-server.js +22 -0
  66. package/dist/adapters/fivem/fivem-ped-server.d.ts +9 -0
  67. package/dist/adapters/fivem/fivem-ped-server.js +30 -0
  68. package/dist/adapters/fivem/fivem-platform.d.ts +5 -0
  69. package/dist/adapters/fivem/fivem-platform.js +74 -0
  70. package/dist/adapters/fivem/fivem-player-server.d.ts +24 -0
  71. package/dist/adapters/fivem/fivem-player-server.js +83 -0
  72. package/dist/adapters/fivem/fivem-playerinfo.d.ts +6 -0
  73. package/dist/adapters/fivem/fivem-playerinfo.js +10 -0
  74. package/dist/adapters/fivem/fivem-resourceinfo.d.ts +5 -0
  75. package/dist/adapters/fivem/fivem-resourceinfo.js +24 -0
  76. package/dist/adapters/fivem/fivem-tick.d.ts +7 -0
  77. package/dist/adapters/fivem/fivem-tick.js +19 -0
  78. package/dist/adapters/fivem/fivem-vehicle-server.d.ts +15 -0
  79. package/dist/adapters/fivem/fivem-vehicle-server.js +44 -0
  80. package/dist/adapters/fivem/index.d.ts +14 -0
  81. package/dist/adapters/fivem/index.js +16 -0
  82. package/dist/adapters/fivem/transport/adapter.d.ts +8 -0
  83. package/dist/adapters/fivem/transport/adapter.js +8 -0
  84. package/dist/adapters/fivem/transport/fivem.events.d.ts +8 -0
  85. package/dist/adapters/fivem/transport/fivem.events.js +36 -0
  86. package/dist/adapters/fivem/transport/fivem.rpc.d.ts +28 -0
  87. package/dist/adapters/fivem/transport/fivem.rpc.js +183 -0
  88. package/dist/adapters/index.d.ts +21 -0
  89. package/dist/adapters/index.js +32 -0
  90. package/dist/adapters/node/index.d.ts +16 -0
  91. package/dist/adapters/node/index.js +18 -0
  92. package/dist/adapters/node/node-capabilities.d.ts +19 -0
  93. package/dist/adapters/node/node-capabilities.js +48 -0
  94. package/dist/adapters/node/node-engine-events.d.ts +20 -0
  95. package/dist/adapters/node/node-engine-events.js +40 -0
  96. package/dist/adapters/node/node-entity-server.d.ts +37 -0
  97. package/dist/adapters/node/node-entity-server.js +118 -0
  98. package/dist/adapters/node/node-exports.d.ts +26 -0
  99. package/dist/adapters/node/node-exports.js +58 -0
  100. package/dist/adapters/node/node-hasher.d.ts +12 -0
  101. package/dist/adapters/node/node-hasher.js +36 -0
  102. package/dist/adapters/node/node-ped-appearance-client.d.ts +34 -0
  103. package/dist/adapters/node/node-ped-appearance-client.js +55 -0
  104. package/dist/adapters/node/node-ped-appearance-server.d.ts +14 -0
  105. package/dist/adapters/node/node-ped-appearance-server.js +14 -0
  106. package/dist/adapters/node/node-ped-server.d.ts +13 -0
  107. package/dist/adapters/node/node-ped-server.js +45 -0
  108. package/dist/adapters/node/node-platform.d.ts +5 -0
  109. package/dist/adapters/node/node-platform.js +76 -0
  110. package/dist/adapters/node/node-player-server.d.ts +44 -0
  111. package/dist/adapters/node/node-player-server.js +105 -0
  112. package/dist/adapters/node/node-playerinfo.d.ts +6 -0
  113. package/dist/adapters/node/node-playerinfo.js +20 -0
  114. package/dist/adapters/node/node-resourceinfo.d.ts +13 -0
  115. package/dist/adapters/node/node-resourceinfo.js +27 -0
  116. package/dist/adapters/node/node-tick.d.ts +10 -0
  117. package/dist/adapters/node/node-tick.js +41 -0
  118. package/dist/adapters/node/node-vehicle-server.d.ts +21 -0
  119. package/dist/adapters/node/node-vehicle-server.js +84 -0
  120. package/dist/adapters/node/transport/adapter.d.ts +10 -0
  121. package/dist/adapters/node/transport/adapter.js +14 -0
  122. package/dist/adapters/node/transport/node.events.d.ts +14 -0
  123. package/dist/adapters/node/transport/node.events.js +38 -0
  124. package/dist/adapters/node/transport/node.rpc.d.ts +18 -0
  125. package/dist/adapters/node/transport/node.rpc.js +71 -0
  126. package/dist/adapters/platform/index.d.ts +1 -0
  127. package/dist/adapters/platform/index.js +1 -0
  128. package/dist/adapters/platform/platform-registry.d.ts +101 -0
  129. package/dist/adapters/platform/platform-registry.js +113 -0
  130. package/dist/adapters/register-capabilities.d.ts +61 -0
  131. package/dist/adapters/register-capabilities.js +78 -0
  132. package/dist/adapters/register-client-capabilities.d.ts +8 -0
  133. package/dist/adapters/register-client-capabilities.js +58 -0
  134. package/dist/index.d.ts +3 -6
  135. package/dist/index.js +4 -46
  136. package/dist/kernel/di/class-constructor.js +0 -0
  137. package/dist/kernel/di/container.d.ts +5 -0
  138. package/dist/kernel/di/container.js +6 -0
  139. package/dist/kernel/di/decorator-processor.js +0 -0
  140. package/dist/kernel/di/index.d.ts +4 -0
  141. package/dist/kernel/di/index.js +4 -0
  142. package/dist/kernel/di/metadata.scanner.d.ts +7 -0
  143. package/dist/kernel/di/metadata.scanner.js +61 -0
  144. package/dist/kernel/error/app.error.d.ts +9 -0
  145. package/dist/kernel/error/app.error.js +15 -0
  146. package/dist/kernel/error/common.error-codes.d.ts +1 -0
  147. package/dist/kernel/error/common.error-codes.js +0 -0
  148. package/dist/kernel/error/framework.error-codes.d.ts +12 -0
  149. package/dist/kernel/error/framework.error-codes.js +0 -0
  150. package/dist/kernel/error/index.d.ts +4 -0
  151. package/dist/kernel/error/index.js +2 -0
  152. package/dist/kernel/error/security.error.d.ts +6 -0
  153. package/dist/kernel/error/security.error.js +9 -0
  154. package/dist/kernel/error/security.types.js +0 -0
  155. package/dist/kernel/index.d.ts +6 -0
  156. package/dist/kernel/index.js +7 -0
  157. package/dist/kernel/logger/core-logger.d.ts +31 -0
  158. package/dist/kernel/logger/core-logger.js +66 -0
  159. package/dist/kernel/logger/index.d.ts +14 -0
  160. package/dist/kernel/logger/index.js +12 -0
  161. package/dist/kernel/logger/logger.config.d.ts +47 -0
  162. package/dist/kernel/logger/logger.config.js +32 -0
  163. package/dist/kernel/logger/logger.env.d.ts +35 -0
  164. package/dist/kernel/logger/logger.env.js +59 -0
  165. package/dist/kernel/logger/logger.service.d.ts +175 -0
  166. package/dist/kernel/logger/logger.service.js +301 -0
  167. package/dist/kernel/logger/logger.types.js +70 -0
  168. package/dist/kernel/logger/transports/buffered.transport.d.ts +88 -0
  169. package/dist/kernel/logger/transports/buffered.transport.js +154 -0
  170. package/dist/kernel/logger/transports/console.transport.d.ts +37 -0
  171. package/dist/kernel/logger/transports/console.transport.js +121 -0
  172. package/dist/kernel/logger/transports/dev-transport.factory.d.ts +75 -0
  173. package/dist/kernel/logger/transports/dev-transport.factory.js +101 -0
  174. package/dist/kernel/logger/transports/http.transport.d.ts +67 -0
  175. package/dist/kernel/logger/transports/http.transport.js +168 -0
  176. package/dist/kernel/logger/transports/index.d.ts +7 -0
  177. package/dist/kernel/logger/transports/index.js +7 -0
  178. package/dist/kernel/logger/transports/simple-console.transport.d.ts +38 -0
  179. package/dist/kernel/logger/transports/simple-console.transport.js +79 -0
  180. package/dist/kernel/logger/transports/transport.interface.d.ts +40 -0
  181. package/dist/kernel/logger/transports/transport.interface.js +0 -0
  182. package/dist/kernel/logger/transports/websocket.transport.d.ts +69 -0
  183. package/dist/kernel/logger/transports/websocket.transport.js +164 -0
  184. package/dist/kernel/schema/index.d.ts +32 -0
  185. package/dist/kernel/schema/index.js +4 -0
  186. package/dist/kernel/shared/index.d.ts +1 -0
  187. package/dist/kernel/shared/index.js +1 -0
  188. package/dist/kernel/shared/player-appearance.types.d.ts +276 -0
  189. package/dist/kernel/shared/player-appearance.types.js +74 -0
  190. package/dist/kernel/utils/index.d.ts +3 -0
  191. package/dist/kernel/utils/index.js +3 -0
  192. package/dist/kernel/utils/result.d.ts +12 -0
  193. package/dist/kernel/utils/result.js +6 -0
  194. package/dist/kernel/utils/rgb.d.ts +17 -0
  195. package/dist/kernel/utils/rgb.js +61 -0
  196. package/dist/kernel/utils/vector3.d.ts +14 -0
  197. package/dist/kernel/utils/vector3.js +24 -0
  198. package/dist/runtime/client/.opencore/autoload.client.controllers.d.ts +1 -0
  199. package/dist/runtime/client/.opencore/autoload.client.controllers.js +0 -0
  200. package/dist/runtime/client/api.d.ts +8 -0
  201. package/dist/runtime/client/api.js +8 -0
  202. package/dist/runtime/client/bus/library-event.bus.d.ts +5 -0
  203. package/dist/runtime/client/bus/library-event.bus.js +28 -0
  204. package/dist/runtime/client/client-api-runtime.d.ts +7 -0
  205. package/dist/runtime/client/client-api-runtime.js +34 -0
  206. package/dist/runtime/client/client-bootstrap.d.ts +7 -0
  207. package/dist/runtime/client/client-bootstrap.js +160 -0
  208. package/dist/runtime/client/client-container.js +3 -0
  209. package/dist/runtime/client/client-core.d.ts +19 -0
  210. package/dist/runtime/client/client-core.js +23 -0
  211. package/dist/runtime/client/client-runtime.d.ts +63 -0
  212. package/dist/runtime/client/client-runtime.js +21 -0
  213. package/dist/runtime/client/controllers/appearance.controller.d.ts +8 -0
  214. package/dist/runtime/client/controllers/appearance.controller.js +48 -0
  215. package/dist/runtime/client/controllers/player-sync.controller.d.ts +11 -0
  216. package/dist/runtime/client/controllers/player-sync.controller.js +51 -0
  217. package/dist/runtime/client/controllers/spawner.controller.d.ts +12 -0
  218. package/dist/runtime/client/controllers/spawner.controller.js +49 -0
  219. package/dist/runtime/client/decorators/controller.d.ts +20 -0
  220. package/dist/runtime/client/decorators/controller.js +62 -0
  221. package/dist/runtime/client/decorators/export.d.ts +21 -0
  222. package/dist/runtime/client/decorators/export.js +26 -0
  223. package/dist/runtime/client/decorators/gameEvent.d.ts +47 -0
  224. package/dist/runtime/client/decorators/gameEvent.js +50 -0
  225. package/dist/runtime/client/decorators/index.d.ts +13 -0
  226. package/dist/runtime/client/decorators/index.js +13 -0
  227. package/dist/runtime/client/decorators/interval.d.ts +23 -0
  228. package/dist/runtime/client/decorators/interval.js +28 -0
  229. package/dist/runtime/client/decorators/key.d.ts +23 -0
  230. package/dist/runtime/client/decorators/key.js +28 -0
  231. package/dist/runtime/client/decorators/localEvent.d.ts +21 -0
  232. package/dist/runtime/client/decorators/localEvent.js +26 -0
  233. package/dist/runtime/client/decorators/onLibraryEvent.d.ts +17 -0
  234. package/dist/runtime/client/decorators/onLibraryEvent.js +22 -0
  235. package/dist/runtime/client/decorators/onNet.d.ts +21 -0
  236. package/dist/runtime/client/decorators/onNet.js +26 -0
  237. package/dist/runtime/client/decorators/onRPC.d.ts +41 -0
  238. package/dist/runtime/client/decorators/onRPC.js +40 -0
  239. package/dist/runtime/client/decorators/onTick.d.ts +21 -0
  240. package/dist/runtime/client/decorators/onTick.js +26 -0
  241. package/dist/runtime/client/decorators/onView.d.ts +21 -0
  242. package/dist/runtime/client/decorators/onView.js +26 -0
  243. package/dist/runtime/client/decorators/resourceLifecycle.d.ts +40 -0
  244. package/dist/runtime/client/decorators/resourceLifecycle.js +49 -0
  245. package/dist/runtime/client/index.d.ts +4 -0
  246. package/dist/runtime/client/index.js +2 -0
  247. package/dist/runtime/client/library/create-client-library.d.ts +13 -0
  248. package/dist/runtime/client/library/create-client-library.js +45 -0
  249. package/dist/runtime/client/library/index.d.ts +4 -0
  250. package/dist/runtime/client/library/index.js +2 -0
  251. package/dist/runtime/client/library/plugin/client-plugin-api.d.ts +5 -0
  252. package/dist/runtime/client/library/plugin/client-plugin-api.js +0 -0
  253. package/dist/runtime/client/library/plugin/index.d.ts +4 -0
  254. package/dist/runtime/client/library/plugin/index.js +4 -0
  255. package/dist/runtime/client/library/plugin/install-client-plugins.d.ts +3 -0
  256. package/dist/runtime/client/library/plugin/install-client-plugins.js +35 -0
  257. package/dist/runtime/client/library/plugin/plugin-context.d.ts +10 -0
  258. package/dist/runtime/client/library/plugin/plugin-context.js +0 -0
  259. package/dist/runtime/client/library/plugin/plugin-registry.d.ts +6 -0
  260. package/dist/runtime/client/library/plugin/plugin-registry.js +12 -0
  261. package/dist/runtime/client/library/plugin/plugin.interface.d.ts +11 -0
  262. package/dist/runtime/client/library/plugin/plugin.interface.js +0 -0
  263. package/dist/runtime/client/player/player.d.ts +262 -0
  264. package/dist/runtime/client/player/player.js +474 -0
  265. package/dist/runtime/client/player/player.loader.js +18 -0
  266. package/dist/runtime/client/services/appearance.service.d.ts +132 -0
  267. package/dist/runtime/client/services/appearance.service.js +330 -0
  268. package/dist/runtime/client/services/blip.service.d.ts +112 -0
  269. package/dist/runtime/client/services/blip.service.js +209 -0
  270. package/dist/runtime/client/services/camera-effects.registry.d.ts +94 -0
  271. package/dist/runtime/client/services/camera-effects.registry.js +145 -0
  272. package/dist/runtime/client/services/camera.d.ts +129 -0
  273. package/dist/runtime/client/services/camera.js +158 -0
  274. package/dist/runtime/client/services/cinematic-builder.d.ts +107 -0
  275. package/dist/runtime/client/services/cinematic-builder.js +467 -0
  276. package/dist/runtime/client/services/cinematic.d.ts +284 -0
  277. package/dist/runtime/client/services/cinematic.js +783 -0
  278. package/dist/runtime/client/services/index.d.ts +14 -0
  279. package/dist/runtime/client/services/index.js +14 -0
  280. package/dist/runtime/client/services/marker.service.d.ts +94 -0
  281. package/dist/runtime/client/services/marker.service.js +148 -0
  282. package/dist/runtime/client/services/notification.service.js +108 -0
  283. package/dist/runtime/client/services/ped.service.d.ts +182 -0
  284. package/dist/runtime/client/services/ped.service.js +298 -0
  285. package/dist/runtime/client/services/progress.service.js +199 -0
  286. package/dist/runtime/client/services/spawn.service.d.ts +73 -0
  287. package/dist/runtime/client/services/spawn.service.js +255 -0
  288. package/dist/runtime/client/services/streaming.service.js +331 -0
  289. package/dist/runtime/client/services/textui.service.d.ts +82 -0
  290. package/dist/runtime/client/services/textui.service.js +160 -0
  291. package/dist/runtime/client/services/vehicle-client.service.d.ts +180 -0
  292. package/dist/runtime/client/services/vehicle-client.service.js +483 -0
  293. package/dist/runtime/client/services/vehicle.service.d.ts +168 -0
  294. package/dist/runtime/client/services/vehicle.service.js +293 -0
  295. package/dist/runtime/client/system/metadata-client.keys.d.ts +15 -0
  296. package/dist/runtime/client/system/metadata-client.keys.js +15 -0
  297. package/dist/runtime/client/system/processors/export.processor.d.ts +7 -0
  298. package/dist/runtime/client/system/processors/export.processor.js +34 -0
  299. package/dist/runtime/client/system/processors/gameEvent.processor.d.ts +10 -0
  300. package/dist/runtime/client/system/processors/gameEvent.processor.js +53 -0
  301. package/dist/runtime/client/system/processors/interval.processor.d.ts +7 -0
  302. package/dist/runtime/client/system/processors/interval.processor.js +38 -0
  303. package/dist/runtime/client/system/processors/key.processor.d.ts +8 -0
  304. package/dist/runtime/client/system/processors/key.processor.js +22 -0
  305. package/dist/runtime/client/system/processors/libraryEvent.processor.d.ts +6 -0
  306. package/dist/runtime/client/system/processors/libraryEvent.processor.js +36 -0
  307. package/dist/runtime/client/system/processors/localEvent.processor.d.ts +7 -0
  308. package/dist/runtime/client/system/processors/localEvent.processor.js +33 -0
  309. package/dist/runtime/client/system/processors/netEvent.processor.d.ts +7 -0
  310. package/dist/runtime/client/system/processors/netEvent.processor.js +33 -0
  311. package/dist/runtime/client/system/processors/onRpc.processor.d.ts +9 -0
  312. package/dist/runtime/client/system/processors/onRpc.processor.js +62 -0
  313. package/dist/runtime/client/system/processors/resourceLifecycle.processor.d.ts +9 -0
  314. package/dist/runtime/client/system/processors/resourceLifecycle.processor.js +62 -0
  315. package/dist/runtime/client/system/processors/tick.processor.d.ts +5 -0
  316. package/dist/runtime/client/system/processors/tick.processor.js +32 -0
  317. package/dist/runtime/client/system/processors/view.processor.d.ts +7 -0
  318. package/dist/runtime/client/system/processors/view.processor.js +36 -0
  319. package/dist/runtime/client/system/processors.register.js +28 -0
  320. package/dist/runtime/client/types/game-events.d.ts +128 -0
  321. package/dist/runtime/client/types/game-events.js +72 -0
  322. package/dist/runtime/client/types/index.js +1 -0
  323. package/dist/runtime/client/ui-bridge.js +196 -0
  324. package/dist/runtime/core/entity.d.ts +168 -0
  325. package/dist/runtime/core/entity.js +232 -0
  326. package/dist/runtime/core/index.d.ts +5 -0
  327. package/dist/runtime/core/index.js +5 -0
  328. package/dist/runtime/core/library/create-library-base.d.ts +15 -0
  329. package/dist/runtime/core/library/create-library-base.js +27 -0
  330. package/dist/runtime/core/library/index.d.ts +5 -0
  331. package/dist/runtime/core/library/index.js +4 -0
  332. package/dist/runtime/core/library/library-bus.d.ts +9 -0
  333. package/dist/runtime/core/library/library-bus.js +46 -0
  334. package/dist/runtime/core/library/library-config.d.ts +10 -0
  335. package/dist/runtime/core/library/library-config.js +12 -0
  336. package/dist/runtime/core/library/library-event-id.d.ts +8 -0
  337. package/dist/runtime/core/library/library-event-id.js +9 -0
  338. package/dist/runtime/core/library/types.d.ts +146 -0
  339. package/dist/runtime/core/library/types.js +0 -0
  340. package/dist/runtime/core/nativehandle.d.ts +3 -0
  341. package/dist/runtime/core/nativehandle.js +0 -0
  342. package/dist/runtime/core/spatial.d.ts +7 -0
  343. package/dist/runtime/core/spatial.js +0 -0
  344. package/dist/runtime/core/world.d.ts +13 -0
  345. package/dist/runtime/core/world.js +57 -0
  346. package/dist/runtime/server/.opencore/autoload.server.controllers.d.ts +1 -0
  347. package/dist/runtime/server/.opencore/autoload.server.controllers.js +0 -0
  348. package/dist/runtime/server/api.d.ts +15 -0
  349. package/dist/runtime/server/api.js +21 -0
  350. package/dist/runtime/server/apis/appearance.api.d.ts +41 -0
  351. package/dist/runtime/server/apis/appearance.api.js +66 -0
  352. package/dist/runtime/server/apis/chat.api.d.ts +69 -0
  353. package/dist/runtime/server/apis/chat.api.js +129 -0
  354. package/dist/runtime/server/apis/index.d.ts +6 -0
  355. package/dist/runtime/server/apis/index.js +6 -0
  356. package/dist/runtime/server/apis/npcs.api.d.ts +213 -0
  357. package/dist/runtime/server/apis/npcs.api.js +465 -0
  358. package/dist/runtime/server/apis/parallel-compute.api.d.ts +118 -0
  359. package/dist/runtime/server/apis/parallel-compute.api.js +423 -0
  360. package/dist/runtime/server/apis/vehicle-modification.api.d.ts +94 -0
  361. package/dist/runtime/server/apis/vehicle-modification.api.js +308 -0
  362. package/dist/runtime/server/apis/vehicles.api.d.ts +140 -0
  363. package/dist/runtime/server/apis/vehicles.api.js +386 -0
  364. package/dist/runtime/server/bootstrap.d.ts +21 -0
  365. package/dist/runtime/server/bootstrap.js +310 -0
  366. package/dist/runtime/server/bus/internal-event.bus.d.ts +6 -0
  367. package/dist/runtime/server/bus/internal-event.bus.js +30 -0
  368. package/dist/runtime/server/bus/library-event.bus.d.ts +5 -0
  369. package/dist/runtime/server/bus/library-event.bus.js +27 -0
  370. package/dist/runtime/server/concepts/channel.d.ts +29 -0
  371. package/dist/runtime/server/concepts/channel.js +70 -0
  372. package/dist/runtime/server/contracts/index.d.ts +6 -0
  373. package/dist/runtime/server/contracts/index.js +8 -0
  374. package/dist/runtime/server/contracts/player-persistence.contract.d.ts +84 -0
  375. package/dist/runtime/server/contracts/player-persistence.contract.js +46 -0
  376. package/dist/runtime/server/contracts/security/command-error-observer.contract.d.ts +73 -0
  377. package/dist/runtime/server/contracts/security/command-error-observer.contract.js +5 -0
  378. package/dist/runtime/server/contracts/security/net-event-security-observer.contract.d.ts +15 -0
  379. package/dist/runtime/server/contracts/security/net-event-security-observer.contract.js +2 -0
  380. package/dist/runtime/server/contracts/security/principal-provider.contract.d.ts +43 -0
  381. package/dist/runtime/server/contracts/security/principal-provider.contract.js +15 -0
  382. package/dist/runtime/server/contracts/security/security-handler.contract.d.ts +5 -0
  383. package/dist/runtime/server/contracts/security/security-handler.contract.js +2 -0
  384. package/dist/runtime/server/controllers/channel.controller.d.ts +115 -0
  385. package/dist/runtime/server/controllers/channel.controller.js +373 -0
  386. package/dist/runtime/server/controllers/chat.controller.d.ts +11 -0
  387. package/dist/runtime/server/controllers/chat.controller.js +67 -0
  388. package/dist/runtime/server/controllers/command-export.controller.d.ts +83 -0
  389. package/dist/runtime/server/controllers/command-export.controller.js +331 -0
  390. package/dist/runtime/server/controllers/player-export.controller.d.ts +30 -0
  391. package/dist/runtime/server/controllers/player-export.controller.js +172 -0
  392. package/dist/runtime/server/controllers/principal-export.controller.d.ts +79 -0
  393. package/dist/runtime/server/controllers/principal-export.controller.js +292 -0
  394. package/dist/runtime/server/controllers/ready.controller.d.ts +4 -0
  395. package/dist/runtime/server/controllers/ready.controller.js +27 -0
  396. package/dist/runtime/server/controllers/remote-command-execution.controller.d.ts +52 -0
  397. package/dist/runtime/server/controllers/remote-command-execution.controller.js +172 -0
  398. package/dist/runtime/server/controllers/session.controller.d.ts +11 -0
  399. package/dist/runtime/server/controllers/session.controller.js +83 -0
  400. package/dist/runtime/server/controllers/vehicle.controller.d.ts +20 -0
  401. package/dist/runtime/server/controllers/vehicle.controller.js +68 -0
  402. package/dist/runtime/server/core.d.ts +7 -0
  403. package/dist/runtime/server/core.js +37 -0
  404. package/dist/runtime/server/decorators/binaryCall.d.ts +15 -0
  405. package/dist/runtime/server/decorators/binaryCall.js +23 -0
  406. package/dist/runtime/server/decorators/binaryEvent.d.ts +21 -0
  407. package/dist/runtime/server/decorators/binaryEvent.js +22 -0
  408. package/dist/runtime/server/decorators/binaryService.d.ts +27 -0
  409. package/dist/runtime/server/decorators/binaryService.js +71 -0
  410. package/dist/runtime/server/decorators/bind.d.ts +21 -0
  411. package/dist/runtime/server/decorators/bind.js +28 -0
  412. package/dist/runtime/server/decorators/command.d.ts +87 -0
  413. package/dist/runtime/server/decorators/command.js +36 -0
  414. package/dist/runtime/server/decorators/controller.d.ts +26 -0
  415. package/dist/runtime/server/decorators/controller.js +56 -0
  416. package/dist/runtime/server/decorators/export.d.ts +24 -0
  417. package/dist/runtime/server/decorators/export.js +29 -0
  418. package/dist/runtime/server/decorators/guard.d.ts +51 -0
  419. package/dist/runtime/server/decorators/guard.js +80 -0
  420. package/dist/runtime/server/decorators/index.d.ts +18 -0
  421. package/dist/runtime/server/decorators/index.js +18 -0
  422. package/dist/runtime/server/decorators/onFrameworkEvent.d.ts +24 -0
  423. package/dist/runtime/server/decorators/onFrameworkEvent.js +28 -0
  424. package/dist/runtime/server/decorators/onLibraryEvent.d.ts +17 -0
  425. package/dist/runtime/server/decorators/onLibraryEvent.js +22 -0
  426. package/dist/runtime/server/decorators/onNet.d.ts +65 -0
  427. package/dist/runtime/server/decorators/onNet.js +12 -0
  428. package/dist/runtime/server/decorators/onRPC.d.ts +78 -0
  429. package/dist/runtime/server/decorators/onRPC.js +59 -0
  430. package/dist/runtime/server/decorators/onRuntimeEvent.d.ts +25 -0
  431. package/dist/runtime/server/decorators/onRuntimeEvent.js +30 -0
  432. package/dist/runtime/server/decorators/onTick.d.ts +21 -0
  433. package/dist/runtime/server/decorators/onTick.js +26 -0
  434. package/dist/runtime/server/decorators/public.d.ts +26 -0
  435. package/dist/runtime/server/decorators/public.js +32 -0
  436. package/dist/runtime/server/decorators/requiresState.d.ts +63 -0
  437. package/dist/runtime/server/decorators/requiresState.js +70 -0
  438. package/dist/runtime/server/decorators/throttle.d.ts +56 -0
  439. package/dist/runtime/server/decorators/throttle.js +73 -0
  440. package/dist/runtime/server/decorators/utils.d.ts +54 -0
  441. package/dist/runtime/server/decorators/utils.js +54 -0
  442. package/dist/runtime/server/default/default-command-error-observer.d.ts +14 -0
  443. package/dist/runtime/server/default/default-command-error-observer.js +40 -0
  444. package/dist/runtime/server/default/default-net-event-security-observer.d.ts +15 -0
  445. package/dist/runtime/server/default/default-net-event-security-observer.js +25 -0
  446. package/dist/runtime/server/default/default-principal.provider.d.ts +13 -0
  447. package/dist/runtime/server/default/default-principal.provider.js +35 -0
  448. package/dist/runtime/server/default/default-security.handler.d.ts +19 -0
  449. package/dist/runtime/server/default/default-security.handler.js +36 -0
  450. package/dist/runtime/server/devmode/contracts/IDevModeBridge.d.ts +36 -0
  451. package/dist/runtime/server/devmode/contracts/IDevModeBridge.js +8 -0
  452. package/dist/runtime/server/devmode/contracts/IDevModeInspector.d.ts +52 -0
  453. package/dist/runtime/server/devmode/contracts/IDevModeInspector.js +8 -0
  454. package/dist/runtime/server/devmode/contracts/IDevModeInterceptor.d.ts +41 -0
  455. package/dist/runtime/server/devmode/contracts/IDevModeInterceptor.js +7 -0
  456. package/dist/runtime/server/devmode/contracts/index.d.ts +3 -0
  457. package/dist/runtime/server/devmode/contracts/index.js +3 -0
  458. package/dist/runtime/server/devmode/dev-mode.service.d.ts +109 -0
  459. package/dist/runtime/server/devmode/dev-mode.service.js +290 -0
  460. package/dist/runtime/server/devmode/event-interceptor.service.d.ts +80 -0
  461. package/dist/runtime/server/devmode/event-interceptor.service.js +233 -0
  462. package/dist/runtime/server/devmode/index.d.ts +6 -0
  463. package/dist/runtime/server/devmode/index.js +7 -0
  464. package/dist/runtime/server/devmode/player-simulator.service.d.ts +66 -0
  465. package/dist/runtime/server/devmode/player-simulator.service.js +199 -0
  466. package/dist/runtime/server/devmode/state-inspector.service.d.ts +57 -0
  467. package/dist/runtime/server/devmode/state-inspector.service.js +175 -0
  468. package/dist/runtime/server/devmode/types.d.ts +197 -0
  469. package/dist/runtime/server/devmode/types.js +22 -0
  470. package/dist/runtime/server/entities/index.d.ts +3 -0
  471. package/dist/runtime/server/entities/index.js +3 -0
  472. package/dist/runtime/server/entities/npc.d.ts +255 -0
  473. package/dist/runtime/server/entities/npc.js +307 -0
  474. package/dist/runtime/server/entities/player.d.ts +239 -0
  475. package/dist/runtime/server/entities/player.js +340 -0
  476. package/dist/runtime/server/entities/vehicle.d.ts +113 -0
  477. package/dist/runtime/server/entities/vehicle.js +245 -0
  478. package/dist/runtime/server/error-handler.d.ts +2 -0
  479. package/dist/runtime/server/error-handler.js +39 -0
  480. package/dist/runtime/server/helpers/command-validation.helper.d.ts +3 -0
  481. package/dist/runtime/server/helpers/command-validation.helper.js +73 -0
  482. package/dist/runtime/server/helpers/function-helper.d.ts +6 -0
  483. package/dist/runtime/server/helpers/function-helper.js +28 -0
  484. package/dist/runtime/server/helpers/normalize-app-error.d.ts +9 -0
  485. package/dist/runtime/server/helpers/normalize-app-error.js +17 -0
  486. package/dist/runtime/server/helpers/process-tuple-schema.d.ts +20 -0
  487. package/dist/runtime/server/helpers/process-tuple-schema.js +56 -0
  488. package/dist/runtime/server/helpers/resolve-method.d.ts +5 -0
  489. package/dist/runtime/server/helpers/resolve-method.js +25 -0
  490. package/dist/runtime/server/implementations/local/channel.local.d.ts +32 -0
  491. package/dist/runtime/server/implementations/local/channel.local.js +185 -0
  492. package/dist/runtime/server/implementations/local/command.local.d.ts +57 -0
  493. package/dist/runtime/server/implementations/local/command.local.js +110 -0
  494. package/dist/runtime/server/implementations/local/player.local.d.ts +110 -0
  495. package/dist/runtime/server/implementations/local/player.local.js +204 -0
  496. package/dist/runtime/server/implementations/local/principal.local.d.ts +28 -0
  497. package/dist/runtime/server/implementations/local/principal.local.js +120 -0
  498. package/dist/runtime/server/implementations/remote/channel.remote.d.ts +47 -0
  499. package/dist/runtime/server/implementations/remote/channel.remote.js +165 -0
  500. package/dist/runtime/server/implementations/remote/command.remote.d.ts +64 -0
  501. package/dist/runtime/server/implementations/remote/command.remote.js +154 -0
  502. package/dist/runtime/server/implementations/remote/player.remote.d.ts +65 -0
  503. package/dist/runtime/server/implementations/remote/player.remote.js +204 -0
  504. package/dist/runtime/server/implementations/remote/principal.remote.d.ts +33 -0
  505. package/dist/runtime/server/implementations/remote/principal.remote.js +97 -0
  506. package/dist/runtime/server/index.d.ts +9 -0
  507. package/dist/runtime/server/index.js +4 -0
  508. package/dist/runtime/server/library/create-server-library.d.ts +13 -0
  509. package/dist/runtime/server/library/create-server-library.js +48 -0
  510. package/dist/runtime/server/library/index.d.ts +4 -0
  511. package/dist/runtime/server/library/index.js +2 -0
  512. package/dist/runtime/server/library/plugin/index.d.ts +4 -0
  513. package/dist/runtime/server/library/plugin/index.js +4 -0
  514. package/dist/runtime/server/library/plugin/plugin-context.d.ts +10 -0
  515. package/dist/runtime/server/library/plugin/plugin-context.js +0 -0
  516. package/dist/runtime/server/library/plugin/plugin-registry.d.ts +7 -0
  517. package/dist/runtime/server/library/plugin/plugin-registry.js +25 -0
  518. package/dist/runtime/server/library/plugin/plugin.interface.d.ts +19 -0
  519. package/dist/runtime/server/library/plugin/plugin.interface.js +0 -0
  520. package/dist/runtime/server/library/plugin/server-plugin-api.d.ts +5 -0
  521. package/dist/runtime/server/library/plugin/server-plugin-api.js +0 -0
  522. package/dist/runtime/server/ports/authorization.api-port.d.ts +149 -0
  523. package/dist/runtime/server/ports/authorization.api-port.js +28 -0
  524. package/dist/runtime/server/ports/channel.api-port.d.ts +218 -0
  525. package/dist/runtime/server/ports/channel.api-port.js +2 -0
  526. package/dist/runtime/server/ports/internal/command-execution.port.d.ts +48 -0
  527. package/dist/runtime/server/ports/internal/command-execution.port.js +11 -0
  528. package/dist/runtime/server/ports/internal/player-session-lifecycle.port.d.ts +37 -0
  529. package/dist/runtime/server/ports/internal/player-session-lifecycle.port.js +12 -0
  530. package/dist/runtime/server/ports/players.api-port.d.ts +108 -0
  531. package/dist/runtime/server/ports/players.api-port.js +19 -0
  532. package/dist/runtime/server/runtime.d.ts +192 -0
  533. package/dist/runtime/server/runtime.js +211 -0
  534. package/dist/runtime/server/server.runtime.d.ts +7 -0
  535. package/dist/runtime/server/server.runtime.js +34 -0
  536. package/dist/runtime/server/services/appearance.service.d.ts +99 -0
  537. package/dist/runtime/server/services/appearance.service.js +307 -0
  538. package/dist/runtime/server/services/index.d.ts +6 -0
  539. package/dist/runtime/server/services/index.js +6 -0
  540. package/dist/runtime/server/services/parallel/native-worker.entry.d.ts +1 -0
  541. package/dist/runtime/server/services/parallel/native-worker.entry.js +10 -0
  542. package/dist/runtime/server/services/parallel/worker-pool.d.ts +79 -0
  543. package/dist/runtime/server/services/parallel/worker-pool.js +428 -0
  544. package/dist/runtime/server/services/parallel/worker.d.ts +22 -0
  545. package/dist/runtime/server/services/parallel/worker.js +48 -0
  546. package/dist/runtime/server/services/persistence.service.d.ts +59 -0
  547. package/dist/runtime/server/services/persistence.service.js +161 -0
  548. package/dist/runtime/server/services/rate-limiter.service.d.ts +23 -0
  549. package/dist/runtime/server/services/rate-limiter.service.js +52 -0
  550. package/dist/runtime/server/services/services.register.d.ts +11 -0
  551. package/dist/runtime/server/services/services.register.js +108 -0
  552. package/dist/runtime/server/services/session-recovery.local.d.ts +39 -0
  553. package/dist/runtime/server/services/session-recovery.local.js +108 -0
  554. package/dist/runtime/server/setup.d.ts +9 -0
  555. package/dist/runtime/server/setup.js +25 -0
  556. package/dist/runtime/server/system/managers/binary-process.manager.d.ts +19 -0
  557. package/dist/runtime/server/system/managers/binary-process.manager.js +312 -0
  558. package/dist/runtime/server/system/metadata-server.keys.d.ts +18 -0
  559. package/dist/runtime/server/system/metadata-server.keys.js +18 -0
  560. package/dist/runtime/server/system/processors/command.processor.d.ts +16 -0
  561. package/dist/runtime/server/system/processors/command.processor.js +62 -0
  562. package/dist/runtime/server/system/processors/export.processor.d.ts +10 -0
  563. package/dist/runtime/server/system/processors/export.processor.js +38 -0
  564. package/dist/runtime/server/system/processors/internalEvent.processor.d.ts +7 -0
  565. package/dist/runtime/server/system/processors/internalEvent.processor.js +36 -0
  566. package/dist/runtime/server/system/processors/libraryEvent.processor.d.ts +6 -0
  567. package/dist/runtime/server/system/processors/libraryEvent.processor.js +38 -0
  568. package/dist/runtime/server/system/processors/netEvent.processor.d.ts +23 -0
  569. package/dist/runtime/server/system/processors/netEvent.processor.js +243 -0
  570. package/dist/runtime/server/system/processors/onRpc.processor.d.ts +12 -0
  571. package/dist/runtime/server/system/processors/onRpc.processor.js +142 -0
  572. package/dist/runtime/server/system/processors/runtimeEvent.processor.d.ts +10 -0
  573. package/dist/runtime/server/system/processors/runtimeEvent.processor.js +48 -0
  574. package/dist/runtime/server/system/processors/tick.processor.d.ts +8 -0
  575. package/dist/runtime/server/system/processors/tick.processor.js +44 -0
  576. package/dist/runtime/server/system/processors.register.d.ts +2 -0
  577. package/dist/runtime/server/system/processors.register.js +43 -0
  578. package/dist/runtime/server/system/schema-generator.d.ts +2 -0
  579. package/dist/runtime/server/system/schema-generator.js +38 -0
  580. package/dist/runtime/server/types/channel.types.d.ts +44 -0
  581. package/dist/runtime/server/types/channel.types.js +10 -0
  582. package/dist/runtime/server/types/core-exports.types.d.ts +286 -0
  583. package/dist/runtime/server/types/core-exports.types.js +0 -0
  584. package/dist/runtime/server/types/framework-events.types.d.ts +22 -0
  585. package/dist/runtime/server/types/framework-events.types.js +0 -0
  586. package/dist/runtime/server/types/index.d.ts +9 -0
  587. package/dist/runtime/server/types/index.js +9 -0
  588. package/dist/runtime/server/types/linked-id.d.ts +6 -0
  589. package/dist/runtime/server/types/linked-id.js +0 -0
  590. package/dist/runtime/server/types/npc.types.d.ts +36 -0
  591. package/dist/runtime/server/types/npc.types.js +0 -0
  592. package/dist/runtime/server/types/parallel.types.d.ts +191 -0
  593. package/dist/runtime/server/types/parallel.types.js +5 -0
  594. package/dist/runtime/server/types/player-session.types.d.ts +11 -0
  595. package/dist/runtime/server/types/player-session.types.js +0 -0
  596. package/dist/runtime/server/types/principal.type.d.ts +32 -0
  597. package/dist/runtime/server/types/principal.type.js +0 -0
  598. package/dist/runtime/server/types/vehicle.types.d.ts +152 -0
  599. package/dist/runtime/server/types/vehicle.types.js +0 -0
  600. package/package.json +43 -36
  601. package/dist/client/client-bootstrap.d.ts +0 -1
  602. package/dist/client/client-bootstrap.js +0 -53
  603. package/dist/client/client-container.js +0 -6
  604. package/dist/client/client-core.d.ts +0 -18
  605. package/dist/client/client-core.js +0 -52
  606. package/dist/client/decorators/controller.d.ts +0 -3
  607. package/dist/client/decorators/controller.js +0 -14
  608. package/dist/client/decorators/export.d.ts +0 -7
  609. package/dist/client/decorators/export.js +0 -15
  610. package/dist/client/decorators/gameEvent.d.ts +0 -47
  611. package/dist/client/decorators/gameEvent.js +0 -54
  612. package/dist/client/decorators/index.d.ts +0 -10
  613. package/dist/client/decorators/index.js +0 -26
  614. package/dist/client/decorators/interval.d.ts +0 -7
  615. package/dist/client/decorators/interval.js +0 -15
  616. package/dist/client/decorators/key.d.ts +0 -2
  617. package/dist/client/decorators/key.js +0 -10
  618. package/dist/client/decorators/localEvent.d.ts +0 -7
  619. package/dist/client/decorators/localEvent.js +0 -15
  620. package/dist/client/decorators/nui.d.ts +0 -1
  621. package/dist/client/decorators/nui.js +0 -9
  622. package/dist/client/decorators/onNet.d.ts +0 -1
  623. package/dist/client/decorators/onNet.js +0 -9
  624. package/dist/client/decorators/resourceLifecycle.d.ts +0 -11
  625. package/dist/client/decorators/resourceLifecycle.js +0 -24
  626. package/dist/client/decorators/tick.d.ts +0 -1
  627. package/dist/client/decorators/tick.js +0 -9
  628. package/dist/client/index.d.ts +0 -6
  629. package/dist/client/index.js +0 -22
  630. package/dist/client/loaders/exports.loader.d.ts +0 -1
  631. package/dist/client/loaders/exports.loader.js +0 -13
  632. package/dist/client/player/player.d.ts +0 -262
  633. package/dist/client/player/player.js +0 -480
  634. package/dist/client/player/player.loader.js +0 -22
  635. package/dist/client/services/core/index.d.ts +0 -1
  636. package/dist/client/services/core/index.js +0 -17
  637. package/dist/client/services/core/spawn.service.d.ts +0 -20
  638. package/dist/client/services/core/spawn.service.js +0 -143
  639. package/dist/client/services/index.d.ts +0 -4
  640. package/dist/client/services/index.js +0 -24
  641. package/dist/client/services/streaming/index.d.ts +0 -1
  642. package/dist/client/services/streaming/index.js +0 -17
  643. package/dist/client/services/streaming/streaming.service.js +0 -341
  644. package/dist/client/services/ui/index.d.ts +0 -3
  645. package/dist/client/services/ui/index.js +0 -19
  646. package/dist/client/services/ui/notification.service.js +0 -111
  647. package/dist/client/services/ui/progress.service.js +0 -210
  648. package/dist/client/services/ui/textui.service.d.ts +0 -82
  649. package/dist/client/services/ui/textui.service.js +0 -156
  650. package/dist/client/services/world/blip.service.d.ts +0 -112
  651. package/dist/client/services/world/blip.service.js +0 -215
  652. package/dist/client/services/world/index.d.ts +0 -4
  653. package/dist/client/services/world/index.js +0 -20
  654. package/dist/client/services/world/marker.service.d.ts +0 -94
  655. package/dist/client/services/world/marker.service.js +0 -153
  656. package/dist/client/services/world/ped.service.d.ts +0 -182
  657. package/dist/client/services/world/ped.service.js +0 -302
  658. package/dist/client/services/world/vehicle.service.d.ts +0 -168
  659. package/dist/client/services/world/vehicle.service.js +0 -296
  660. package/dist/client/system/metadata-client.keys.d.ts +0 -13
  661. package/dist/client/system/metadata-client.keys.js +0 -16
  662. package/dist/client/system/processors/export.processor.d.ts +0 -7
  663. package/dist/client/system/processors/export.processor.js +0 -39
  664. package/dist/client/system/processors/gameEvent.processor.d.ts +0 -10
  665. package/dist/client/system/processors/gameEvent.processor.js +0 -58
  666. package/dist/client/system/processors/interval.processor.d.ts +0 -7
  667. package/dist/client/system/processors/interval.processor.js +0 -43
  668. package/dist/client/system/processors/key.processor.d.ts +0 -8
  669. package/dist/client/system/processors/key.processor.js +0 -27
  670. package/dist/client/system/processors/localEvent.processor.d.ts +0 -7
  671. package/dist/client/system/processors/localEvent.processor.js +0 -38
  672. package/dist/client/system/processors/netEvent.processor.d.ts +0 -7
  673. package/dist/client/system/processors/netEvent.processor.js +0 -38
  674. package/dist/client/system/processors/nui.processor.d.ts +0 -7
  675. package/dist/client/system/processors/nui.processor.js +0 -40
  676. package/dist/client/system/processors/resourceLifecycle.processor.d.ts +0 -9
  677. package/dist/client/system/processors/resourceLifecycle.processor.js +0 -69
  678. package/dist/client/system/processors/tick.processor.d.ts +0 -5
  679. package/dist/client/system/processors/tick.processor.js +0 -37
  680. package/dist/client/system/processors.register.js +0 -27
  681. package/dist/client/types/game-events.d.ts +0 -126
  682. package/dist/client/types/game-events.js +0 -83
  683. package/dist/client/types/index.js +0 -17
  684. package/dist/client/ui-bridge.js +0 -201
  685. package/dist/server/bootstrap.d.ts +0 -16
  686. package/dist/server/bootstrap.js +0 -57
  687. package/dist/server/bus/core-event-bus.d.ts +0 -6
  688. package/dist/server/bus/core-event-bus.js +0 -31
  689. package/dist/server/configs/api.config.d.ts +0 -71
  690. package/dist/server/configs/api.config.js +0 -81
  691. package/dist/server/configs/config.base.d.ts +0 -63
  692. package/dist/server/configs/config.base.js +0 -64
  693. package/dist/server/configs/index.d.ts +0 -2
  694. package/dist/server/configs/index.js +0 -18
  695. package/dist/server/container.d.ts +0 -2
  696. package/dist/server/container.js +0 -6
  697. package/dist/server/controllers/chat.controller.d.ts +0 -10
  698. package/dist/server/controllers/chat.controller.js +0 -50
  699. package/dist/server/controllers/command.controller.d.ts +0 -7
  700. package/dist/server/controllers/command.controller.js +0 -47
  701. package/dist/server/core.d.ts +0 -1
  702. package/dist/server/core.js +0 -7
  703. package/dist/server/database/adapters/oxmysql.adapter.d.ts +0 -89
  704. package/dist/server/database/adapters/oxmysql.adapter.js +0 -149
  705. package/dist/server/database/database.contract.d.ts +0 -128
  706. package/dist/server/database/database.contract.js +0 -29
  707. package/dist/server/database/database.service.d.ts +0 -216
  708. package/dist/server/database/database.service.js +0 -301
  709. package/dist/server/database/index.d.ts +0 -53
  710. package/dist/server/database/index.js +0 -70
  711. package/dist/server/database/types.d.ts +0 -67
  712. package/dist/server/database/types.js +0 -7
  713. package/dist/server/database.d.ts +0 -7
  714. package/dist/server/database.js +0 -23
  715. package/dist/server/decorators/bind.d.ts +0 -2
  716. package/dist/server/decorators/bind.js +0 -15
  717. package/dist/server/decorators/command.d.ts +0 -49
  718. package/dist/server/decorators/command.js +0 -23
  719. package/dist/server/decorators/controller.d.ts +0 -25
  720. package/dist/server/decorators/controller.js +0 -36
  721. package/dist/server/decorators/coreEvent.d.ts +0 -22
  722. package/dist/server/decorators/coreEvent.js +0 -29
  723. package/dist/server/decorators/export.d.ts +0 -39
  724. package/dist/server/decorators/export.js +0 -47
  725. package/dist/server/decorators/guard.d.ts +0 -56
  726. package/dist/server/decorators/guard.js +0 -82
  727. package/dist/server/decorators/index.d.ts +0 -10
  728. package/dist/server/decorators/index.js +0 -29
  729. package/dist/server/decorators/onNet.d.ts +0 -58
  730. package/dist/server/decorators/onNet.js +0 -57
  731. package/dist/server/decorators/onTick.d.ts +0 -32
  732. package/dist/server/decorators/onTick.js +0 -40
  733. package/dist/server/decorators/public.d.ts +0 -27
  734. package/dist/server/decorators/public.js +0 -36
  735. package/dist/server/decorators/requiresState.d.ts +0 -56
  736. package/dist/server/decorators/requiresState.js +0 -63
  737. package/dist/server/decorators/throttle.d.ts +0 -48
  738. package/dist/server/decorators/throttle.js +0 -63
  739. package/dist/server/decorators/utils.d.ts +0 -57
  740. package/dist/server/decorators/utils.js +0 -63
  741. package/dist/server/entities/index.d.ts +0 -1
  742. package/dist/server/entities/index.js +0 -17
  743. package/dist/server/entities/player.d.ts +0 -157
  744. package/dist/server/entities/player.js +0 -217
  745. package/dist/server/error-handler.d.ts +0 -2
  746. package/dist/server/error-handler.js +0 -43
  747. package/dist/server/index.d.ts +0 -10
  748. package/dist/server/index.js +0 -29
  749. package/dist/server/loaders/exports.loader.js +0 -23
  750. package/dist/server/loaders/playerSession.loader.d.ts +0 -1
  751. package/dist/server/loaders/playerSession.loader.js +0 -42
  752. package/dist/server/services/access-control.service.d.ts +0 -56
  753. package/dist/server/services/access-control.service.js +0 -99
  754. package/dist/server/services/chat.service.d.ts +0 -7
  755. package/dist/server/services/chat.service.js +0 -31
  756. package/dist/server/services/command.service.d.ts +0 -15
  757. package/dist/server/services/command.service.js +0 -77
  758. package/dist/server/services/config.service.d.ts +0 -75
  759. package/dist/server/services/config.service.js +0 -116
  760. package/dist/server/services/default/default-security.handler.d.ts +0 -6
  761. package/dist/server/services/default/default-security.handler.js +0 -26
  762. package/dist/server/services/http/http.service.d.ts +0 -50
  763. package/dist/server/services/http/http.service.js +0 -126
  764. package/dist/server/services/index.d.ts +0 -10
  765. package/dist/server/services/index.js +0 -26
  766. package/dist/server/services/parallel/index.d.ts +0 -49
  767. package/dist/server/services/parallel/index.js +0 -67
  768. package/dist/server/services/parallel/parallel-compute.service.d.ts +0 -132
  769. package/dist/server/services/parallel/parallel-compute.service.js +0 -449
  770. package/dist/server/services/parallel/types.d.ts +0 -188
  771. package/dist/server/services/parallel/types.js +0 -7
  772. package/dist/server/services/parallel/worker-pool.d.ts +0 -83
  773. package/dist/server/services/parallel/worker-pool.js +0 -350
  774. package/dist/server/services/parallel/worker.d.ts +0 -19
  775. package/dist/server/services/parallel/worker.js +0 -49
  776. package/dist/server/services/persistence.service.d.ts +0 -59
  777. package/dist/server/services/persistence.service.js +0 -166
  778. package/dist/server/services/player.service.d.ts +0 -96
  779. package/dist/server/services/player.service.js +0 -132
  780. package/dist/server/services/rate-limiter.service.d.ts +0 -5
  781. package/dist/server/services/rate-limiter.service.js +0 -39
  782. package/dist/server/services/registers.d.ts +0 -1
  783. package/dist/server/services/registers.js +0 -18
  784. package/dist/server/setup.d.ts +0 -9
  785. package/dist/server/setup.js +0 -28
  786. package/dist/server/system/metadata-server.keys.d.ts +0 -9
  787. package/dist/server/system/metadata-server.keys.js +0 -12
  788. package/dist/server/system/processors/command.processor.d.ts +0 -9
  789. package/dist/server/system/processors/command.processor.js +0 -30
  790. package/dist/server/system/processors/coreEvent.processor.d.ts +0 -7
  791. package/dist/server/system/processors/coreEvent.processor.js +0 -38
  792. package/dist/server/system/processors/export.processor.d.ts +0 -7
  793. package/dist/server/system/processors/export.processor.js +0 -26
  794. package/dist/server/system/processors/netEvent.processor.d.ts +0 -11
  795. package/dist/server/system/processors/netEvent.processor.js +0 -101
  796. package/dist/server/system/processors/tick.processor.d.ts +0 -5
  797. package/dist/server/system/processors/tick.processor.js +0 -36
  798. package/dist/server/system/processors.register.d.ts +0 -1
  799. package/dist/server/system/processors.register.js +0 -21
  800. package/dist/server/system/schema-generator.d.ts +0 -2
  801. package/dist/server/system/schema-generator.js +0 -28
  802. package/dist/server/templates/admin/admin.controller-template.d.ts +0 -12
  803. package/dist/server/templates/admin/admin.controller-template.js +0 -2
  804. package/dist/server/templates/auth/auth-provider.contract.d.ts +0 -58
  805. package/dist/server/templates/auth/auth-provider.contract.js +0 -23
  806. package/dist/server/templates/index.d.ts +0 -8
  807. package/dist/server/templates/index.js +0 -21
  808. package/dist/server/templates/persistence/index.d.ts +0 -30
  809. package/dist/server/templates/persistence/index.js +0 -34
  810. package/dist/server/templates/persistence/player-persistence.contract.d.ts +0 -86
  811. package/dist/server/templates/persistence/player-persistence.contract.js +0 -52
  812. package/dist/server/templates/repository/index.d.ts +0 -57
  813. package/dist/server/templates/repository/index.js +0 -61
  814. package/dist/server/templates/repository/repository.contract.d.ts +0 -224
  815. package/dist/server/templates/repository/repository.contract.js +0 -342
  816. package/dist/server/templates/repository/repository.types.d.ts +0 -51
  817. package/dist/server/templates/repository/repository.types.js +0 -7
  818. package/dist/server/templates/security/permission.types.d.ts +0 -32
  819. package/dist/server/templates/security/permission.types.js +0 -2
  820. package/dist/server/templates/security/principal-provider.contract.d.ts +0 -43
  821. package/dist/server/templates/security/principal-provider.contract.js +0 -19
  822. package/dist/server/templates/security/security-handler.contract.d.ts +0 -5
  823. package/dist/server/templates/security/security-handler.contract.js +0 -6
  824. package/dist/server/types/core-events.d.ts +0 -17
  825. package/dist/server/types/core-events.js +0 -2
  826. package/dist/server/types/security.types.js +0 -2
  827. package/dist/shared/index.d.ts +0 -1
  828. package/dist/shared/index.js +0 -17
  829. package/dist/shared/logger/core-logger.d.ts +0 -35
  830. package/dist/shared/logger/core-logger.js +0 -52
  831. package/dist/shared/logger/index.d.ts +0 -11
  832. package/dist/shared/logger/index.js +0 -26
  833. package/dist/shared/logger/logger.config.d.ts +0 -47
  834. package/dist/shared/logger/logger.config.js +0 -33
  835. package/dist/shared/logger/logger.service.d.ts +0 -161
  836. package/dist/shared/logger/logger.service.js +0 -279
  837. package/dist/shared/logger/logger.types.js +0 -74
  838. package/dist/shared/logger/transports/buffered.transport.d.ts +0 -88
  839. package/dist/shared/logger/transports/buffered.transport.js +0 -174
  840. package/dist/shared/logger/transports/console.transport.d.ts +0 -37
  841. package/dist/shared/logger/transports/console.transport.js +0 -134
  842. package/dist/shared/logger/transports/index.d.ts +0 -3
  843. package/dist/shared/logger/transports/index.js +0 -19
  844. package/dist/shared/logger/transports/transport.interface.d.ts +0 -40
  845. package/dist/shared/logger/transports/transport.interface.js +0 -2
  846. package/dist/system/class-constructor.js +0 -2
  847. package/dist/system/decorator-processor.js +0 -2
  848. package/dist/system/metadata.scanner.d.ts +0 -7
  849. package/dist/system/metadata.scanner.js +0 -45
  850. package/dist/utils/errors.d.ts +0 -14
  851. package/dist/utils/errors.js +0 -25
  852. package/dist/utils/index.d.ts +0 -4
  853. package/dist/utils/index.js +0 -20
  854. package/dist/utils/result.d.ts +0 -12
  855. package/dist/utils/result.js +0 -10
  856. package/dist/utils/rgb.d.ts +0 -5
  857. package/dist/utils/rgb.js +0 -2
  858. package/dist/utils/vector3.d.ts +0 -13
  859. package/dist/utils/vector3.js +0 -27
  860. /package/dist/{server/loaders/exports.loader.d.ts → adapters/contracts/transport/context.js} +0 -0
  861. /package/dist/{system → kernel/di}/class-constructor.d.ts +0 -0
  862. /package/dist/{system → kernel/di}/decorator-processor.d.ts +0 -0
  863. /package/dist/{server/types → kernel/error}/security.types.d.ts +0 -0
  864. /package/dist/{shared → kernel}/logger/logger.types.d.ts +0 -0
  865. /package/dist/{client → runtime/client}/client-container.d.ts +0 -0
  866. /package/dist/{client → runtime/client}/player/player.loader.d.ts +0 -0
  867. /package/dist/{client/services/ui → runtime/client/services}/notification.service.d.ts +0 -0
  868. /package/dist/{client/services/ui → runtime/client/services}/progress.service.d.ts +0 -0
  869. /package/dist/{client/services/streaming → runtime/client/services}/streaming.service.d.ts +0 -0
  870. /package/dist/{client → runtime/client}/system/processors.register.d.ts +0 -0
  871. /package/dist/{client → runtime/client}/types/index.d.ts +0 -0
  872. /package/dist/{client → runtime/client}/ui-bridge.d.ts +0 -0
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Core port that provides access to player authorization and permissions.
3
+ *
4
+ * @remarks
5
+ * This port defines a framework-owned boundary for querying permission-related data
6
+ * regardless of the current runtime mode (CORE, RESOURCE, etc.).
7
+ *
8
+ * Implementations of this port are responsible for resolving permission information
9
+ * from the authoritative source (local provider, remote core exports, etc.).
10
+ *
11
+ * **Mode Differences:**
12
+ * - **CORE/STANDALONE**: Uses the user-provided PrincipalProviderContract directly
13
+ * - **RESOURCE**: Delegates to CORE via exports
14
+ *
15
+ * **Usage:**
16
+ * ```typescript
17
+ * @injectable()
18
+ * class MyService {
19
+ * constructor(private principal: PrincipalPort) {}
20
+ *
21
+ * async canBan(player: Player): Promise<boolean> {
22
+ * return await this.principal.hasPermission(player, 'admin.ban')
23
+ * }
24
+ * }
25
+ * ```
26
+ */
27
+ export class Authorization {
28
+ }
@@ -0,0 +1,218 @@
1
+ import { RGB } from 'src/kernel';
2
+ import { Channel } from '../concepts/channel';
3
+ import { Player } from '../entities';
4
+ import { ChannelMetadata, ChannelType, IChannelValidator } from '../types';
5
+ export declare abstract class Channels {
6
+ /**
7
+ * Sets a custom validator for channel operations.
8
+ *
9
+ * @remarks
10
+ * Validators control who can subscribe to channels and who can broadcast messages.
11
+ * Only works in CORE/STANDALONE mode. In RESOURCE mode, validators must be set in CORE.
12
+ *
13
+ * @param validator - Custom validator implementing IChannelValidator
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * channels.setValidator({
18
+ * canSubscribe: (player, channelId) => {
19
+ * return !player.hasState('banned')
20
+ * },
21
+ * canBroadcast: (player, channelId) => {
22
+ * return !player.hasState('muted')
23
+ * }
24
+ * })
25
+ * ```
26
+ */
27
+ abstract setValidator(validator: IChannelValidator): void;
28
+ /**
29
+ * Creates a new channel.
30
+ *
31
+ * @param id - Unique channel identifier (e.g., 'group:police', 'radio:100')
32
+ * @param metadata - Channel configuration (type, persistence, etc.)
33
+ * @param maxSubscribers - Optional maximum number of subscribers
34
+ * @returns The created channel
35
+ * @throws Error if channel with the same ID already exists
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * const channel = channels.create('radio:100', {
40
+ * type: ChannelType.RADIO,
41
+ * frequency: 100,
42
+ * persistent: true
43
+ * })
44
+ * ```
45
+ */
46
+ abstract create(id: string, metadata: ChannelMetadata, maxSubscribers?: number): Channel;
47
+ /**
48
+ * Creates a private channel for specific players.
49
+ *
50
+ * @remarks
51
+ * Automatically subscribes all provided players to the channel.
52
+ * Channel ID is auto-generated and non-persistent.
53
+ *
54
+ * @param players - Array of players to include in the private channel
55
+ * @param metadata - Channel configuration (type should be PRIVATE)
56
+ * @returns The created private channel with all players subscribed
57
+ *
58
+ * @example
59
+ * ```typescript
60
+ * const privateChannel = channels.createPrivate([player1, player2], {
61
+ * type: ChannelType.PRIVATE,
62
+ * persistent: false
63
+ * })
64
+ * channels.broadcast(privateChannel.id, player1, 'Private message')
65
+ * ```
66
+ */
67
+ abstract createPrivate(players: Player[], metadata: ChannelMetadata): Channel;
68
+ abstract get(id: string): Channel | undefined;
69
+ abstract delete(id: string): boolean;
70
+ abstract exists(id: string): boolean;
71
+ /**
72
+ * Subscribes a player to a channel.
73
+ *
74
+ * @remarks
75
+ * If a validator is set, it will be checked before subscribing.
76
+ * Players can only be subscribed once to the same channel.
77
+ *
78
+ * @param channelId - Channel identifier
79
+ * @param player - Player to subscribe
80
+ * @param metadata - Optional subscription metadata
81
+ * @returns true if subscribed successfully, false if validation failed or already subscribed
82
+ * @throws Error if channel doesn't exist
83
+ *
84
+ * @example
85
+ * ```typescript
86
+ * if (channels.subscribe('group:police', player)) {
87
+ * // Player joined the group channel
88
+ * }
89
+ * ```
90
+ */
91
+ abstract subscribe(channelId: string, player: Player, metadata?: Record<string, unknown>): boolean;
92
+ /**
93
+ * Unsubscribes a player from a channel.
94
+ *
95
+ * @param channelId - Channel identifier
96
+ * @param player - Player to unsubscribe
97
+ * @returns true if unsubscribed successfully, false if channel doesn't exist or player wasn't subscribed
98
+ */
99
+ abstract unsubscribe(channelId: string, player: Player): boolean;
100
+ abstract isSubscribed(channelId: string, player: Player): boolean;
101
+ /**
102
+ * Broadcasts a message to all subscribers of a channel.
103
+ *
104
+ * @remarks
105
+ * If a validator is set, it will check if the sender can broadcast.
106
+ * Only sends to currently subscribed players.
107
+ *
108
+ * @param channelId - Channel identifier
109
+ * @param sender - Player sending the message
110
+ * @param message - Message content
111
+ * @param author - Display name for the sender (defaults to sender.name)
112
+ * @param color - Message color (defaults to white)
113
+ * @throws Error if channel doesn't exist
114
+ *
115
+ * @example
116
+ * ```typescript
117
+ * channels.broadcast(
118
+ * 'group:police',
119
+ * player,
120
+ * 'Suspect heading north',
121
+ * undefined,
122
+ * { r: 0, g: 100, b: 255 }
123
+ * )
124
+ * ```
125
+ */
126
+ abstract broadcast(channelId: string, sender: Player, message: string, author?: string, color?: RGB): void;
127
+ /**
128
+ * Broadcasts a system message to all subscribers of a channel.
129
+ *
130
+ * @remarks
131
+ * System messages bypass validator checks and don't require a sender.
132
+ *
133
+ * @param channelId - Channel identifier
134
+ * @param message - Message content
135
+ * @param author - Display name (defaults to 'SYSTEM')
136
+ * @param color - Message color (defaults to light blue)
137
+ * @throws Error if channel doesn't exist
138
+ *
139
+ * @example
140
+ * ```typescript
141
+ * channels.broadcastSystem(
142
+ * 'group:police',
143
+ * 'group meeting in 5 minutes',
144
+ * 'DISPATCH'
145
+ * )
146
+ * ```
147
+ */
148
+ abstract broadcastSystem(channelId: string, message: string, author?: string, color?: RGB): void;
149
+ abstract getSubscribers(channelId: string): Player[];
150
+ /**
151
+ * Gets all channels of a specific type.
152
+ *
153
+ * @param type - Channel type to filter by
154
+ * @returns Array of channels matching the type
155
+ *
156
+ * @example
157
+ * ```typescript
158
+ * const groupChannels = channels.getChannelsByType(ChannelType.group)
159
+ * ```
160
+ */
161
+ abstract getChannelsByType(type: ChannelType): Channel[];
162
+ /**
163
+ * Gets all channels a player is subscribed to.
164
+ *
165
+ * @param player - Player to check
166
+ * @returns Array of channels the player is subscribed to
167
+ *
168
+ * @example
169
+ * ```typescript
170
+ * const playerChannels = channels.getChannelsByPlayer(player)
171
+ * playerChannels.forEach(ch => {
172
+ * console.log(`Player is in channel: ${ch.id}`)
173
+ * })
174
+ * ```
175
+ */
176
+ abstract getChannelsByPlayer(player: Player): Channel[];
177
+ abstract getAllChannels(): Channel[];
178
+ /**
179
+ * Clears all channels and their subscribers.
180
+ *
181
+ * @remarks
182
+ * Persistent channels are cleared but not deleted.
183
+ * Only available in CORE/STANDALONE mode.
184
+ */
185
+ abstract clear(): void;
186
+ /**
187
+ * Deletes all non-persistent (temporary) channels.
188
+ *
189
+ * @remarks
190
+ * Useful for cleanup operations. Persistent channels are not affected.
191
+ * Only available in CORE/STANDALONE mode.
192
+ */
193
+ abstract clearNonPersistent(): void;
194
+ /**
195
+ * Creates a temporary proximity-based channel around a player.
196
+ *
197
+ * @remarks
198
+ * Automatically subscribes all players within the specified radius.
199
+ * Channel is non-persistent and should be deleted after use.
200
+ * Calculates 3D distance between players.
201
+ *
202
+ * @param originPlayer - Player at the center of the proximity area
203
+ * @param radius - Distance radius in game units
204
+ * @param channelId - Optional custom channel ID (auto-generated if not provided)
205
+ * @returns The created channel with nearby players subscribed, or undefined if origin player has no position
206
+ *
207
+ * @example
208
+ * ```typescript
209
+ * // Create proximity channel for local chat
210
+ * const nearby = channels.createProximityChannel(player, 50.0)
211
+ * if (nearby) {
212
+ * channels.broadcast(nearby.id, player, 'Hello nearby players!')
213
+ * channels.delete(nearby.id) // Clean up
214
+ * }
215
+ * ```
216
+ */
217
+ abstract createProximityChannel(originPlayer: Player, radius: number, channelId?: string): Channel | undefined;
218
+ }
@@ -0,0 +1,2 @@
1
+ export class Channels {
2
+ }
@@ -0,0 +1,48 @@
1
+ import { CommandMetadata } from '../../decorators/command';
2
+ import { Player } from '../../entities';
3
+ /**
4
+ * Command information returned by getAllCommands.
5
+ */
6
+ export interface CommandInfo {
7
+ command: string;
8
+ description?: string;
9
+ usage?: string;
10
+ isPublic: boolean;
11
+ }
12
+ /**
13
+ * Abstract port for command registration and execution.
14
+ *
15
+ * @remarks
16
+ * This port provides mode-agnostic access to the command system.
17
+ * Implementations:
18
+ * - CommandService (local): CORE/STANDALONE modes maintain command registry locally
19
+ * - RemoteCommandService (remote): RESOURCE mode delegates to CORE via exports
20
+ */
21
+ export declare abstract class CommandExecutionPort {
22
+ /**
23
+ * Registers a command handler.
24
+ *
25
+ * @param metadata - Command metadata from decorator
26
+ * @param handler - Bound method to invoke when command is executed
27
+ */
28
+ abstract register(metadata: CommandMetadata, handler: (...args: any[]) => any): void;
29
+ /**
30
+ * Executes a registered command.
31
+ *
32
+ * @param player - Player invoking the command
33
+ * @param commandName - Command name (without leading slash)
34
+ * @param args - Raw argument strings
35
+ */
36
+ abstract execute(player: Player, commandName: string, args: string[]): Promise<void>;
37
+ /**
38
+ * Returns metadata for a command if registered in this runtime.
39
+ *
40
+ * @remarks
41
+ * Used to enrich error observation (usage/description/etc.).
42
+ */
43
+ abstract getCommandMeta(commandName: string): CommandMetadata | undefined;
44
+ /**
45
+ * Returns all registered commands.
46
+ */
47
+ abstract getAllCommands(): CommandInfo[];
48
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Abstract port for command registration and execution.
3
+ *
4
+ * @remarks
5
+ * This port provides mode-agnostic access to the command system.
6
+ * Implementations:
7
+ * - CommandService (local): CORE/STANDALONE modes maintain command registry locally
8
+ * - RemoteCommandService (remote): RESOURCE mode delegates to CORE via exports
9
+ */
10
+ export class CommandExecutionPort {
11
+ }
@@ -0,0 +1,37 @@
1
+ import { Player } from '../../entities';
2
+ import { PlayerSession } from '../../services';
3
+ /**
4
+ * Core port responsible for managing the lifecycle of player sessions.
5
+ *
6
+ * @remarks
7
+ * This port defines the authoritative boundary for creating, linking, and
8
+ * destroying player sessions within the framework.
9
+ *
10
+ * Implementations of this port own the session state and are expected to be
11
+ * invoked in response to connection, authentication, and disconnection events.
12
+ */
13
+ export declare abstract class PlayerSessionLifecyclePort {
14
+ /**
15
+ * Creates and binds a new player session to a connected client.
16
+ *
17
+ * @remarks
18
+ * This method is typically called when a player joins the server or completes
19
+ * the initial handshake phase. The returned {@link Player} represents the
20
+ * runtime session associated with the client.
21
+ *
22
+ * @param clientID - The FiveM server client ID (`source`).
23
+ * @param identifiers - Optional platform identifiers (license, steam, etc.).
24
+ * @returns The newly created {@link Player} instance.
25
+ */
26
+ abstract bind(clientID: number, identifiers?: PlayerSession['identifiers']): Player;
27
+ /**
28
+ * Terminates and removes the player session associated with a client.
29
+ *
30
+ * @remarks
31
+ * This method should be called when the client disconnects to ensure
32
+ * session state is properly cleaned up and memory is released.
33
+ *
34
+ * @param clientID - The FiveM server client ID (`source`).
35
+ */
36
+ abstract unbind(clientID: number): void;
37
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Core port responsible for managing the lifecycle of player sessions.
3
+ *
4
+ * @remarks
5
+ * This port defines the authoritative boundary for creating, linking, and
6
+ * destroying player sessions within the framework.
7
+ *
8
+ * Implementations of this port own the session state and are expected to be
9
+ * invoked in response to connection, authentication, and disconnection events.
10
+ */
11
+ export class PlayerSessionLifecyclePort {
12
+ }
@@ -0,0 +1,108 @@
1
+ import { Player } from '../entities';
2
+ import { LinkedID } from '../services';
3
+ /**
4
+ * Core port that provides access to active player sessions.
5
+ *
6
+ * @remarks
7
+ * This port defines a framework-owned boundary for querying and managing player-related data
8
+ * regardless of the current runtime mode (CORE, RESOURCE, etc.).
9
+ *
10
+ * Implementations of this port are responsible for resolving player information
11
+ * from the authoritative source (local session store, remote core exports, etc.).
12
+ *
13
+ * Consumers should treat returned {@link Player} instances as runtime representations
14
+ * of connected clients, not as persistent domain models.
15
+ *
16
+ * **Mode Differences:**
17
+ * - **CORE/STANDALONE**: Data is local and authoritative
18
+ * - **RESOURCE**: Data is fetched from CORE via exports
19
+ */
20
+ export declare abstract class Players {
21
+ /**
22
+ * Returns the {@link Player} associated with a given FiveM client ID.
23
+ *
24
+ * @param clientID - The FiveM server client ID (`source`).
25
+ * @returns The corresponding {@link Player} instance, or `undefined` if the player is not connected.
26
+ */
27
+ abstract getByClient(clientID: number): Player | undefined;
28
+ /**
29
+ * Returns a group of {@link Player} associated with a given fivem clients ids
30
+ *
31
+ * @param clientIds The fivem server client ID (`source`)
32
+ */
33
+ abstract getMany(clientIds: number[]): Player[];
34
+ /**
35
+ * Returns all currently connected players.
36
+ *
37
+ * @returns An array of {@link Player} instances representing all active clients.
38
+ */
39
+ abstract getAll(): Player[];
40
+ /**
41
+ * Returns the persistent account identifier associated with a client.
42
+ *
43
+ * @remarks
44
+ * The returned identifier is typically assigned after authentication and may be
45
+ * `undefined` if the player has not completed the login or character selection flow.
46
+ *
47
+ * @param clientID - The FiveM server client ID (`source`).
48
+ * @returns The linked account ID, or `undefined` if none is associated.
49
+ */
50
+ abstract getAccountLinked(clientID: number): LinkedID | undefined;
51
+ /**
52
+ * Retrieves a metadata value associated with a player session.
53
+ *
54
+ * @remarks
55
+ * Metadata values are transient and scoped to the current session.
56
+ * Implementations may resolve this data locally or delegate to the core runtime.
57
+ *
58
+ * @typeParam T - The expected type of the stored value.
59
+ * @param clientID - The FiveM server client ID (`source`).
60
+ * @param key - The metadata key to retrieve.
61
+ * @returns The stored value, or `undefined` if the key does not exist.
62
+ */
63
+ abstract getMeta<T = unknown>(clientID: number, key: string): Promise<T | undefined>;
64
+ /**
65
+ * Stores a metadata value in the player session.
66
+ *
67
+ * @remarks
68
+ * Metadata is intended for transient runtime state such as flags, gameplay context,
69
+ * or temporary attributes. It is not persisted across reconnects.
70
+ *
71
+ * @param clientID - The FiveM server client ID (`source`).
72
+ * @param key - The metadata key to store.
73
+ * @param value - The value to associate with the given key.
74
+ */
75
+ abstract setMeta(clientID: number, key: string, value: unknown): void;
76
+ /**
77
+ * Returns the {@link Player} associated with a persistent account ID.
78
+ *
79
+ * @remarks
80
+ * Searches all connected players for one with the matching accountID.
81
+ * Returns `undefined` if no player with that account is currently online.
82
+ *
83
+ * @param accountId - The persistent account identifier.
84
+ * @returns The corresponding {@link Player} instance, or `undefined` if not online.
85
+ */
86
+ abstract getByAccountId(accountId: string): Player | undefined;
87
+ /**
88
+ * Returns the current number of connected players.
89
+ *
90
+ * @remarks
91
+ * More efficient than `getAll().length` for implementations that
92
+ * can provide a count without fetching all player data.
93
+ *
94
+ * @returns The number of currently connected players.
95
+ */
96
+ abstract getPlayerCount(): number;
97
+ /**
98
+ * Checks if a player with the given account ID is currently online.
99
+ *
100
+ * @remarks
101
+ * More efficient than `getByAccountId() !== undefined` for implementations
102
+ * that can check presence without fetching full player data.
103
+ *
104
+ * @param accountId - The persistent account identifier.
105
+ * @returns `true` if the player is online, `false` otherwise.
106
+ */
107
+ abstract isOnline(accountId: string): boolean;
108
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Core port that provides access to active player sessions.
3
+ *
4
+ * @remarks
5
+ * This port defines a framework-owned boundary for querying and managing player-related data
6
+ * regardless of the current runtime mode (CORE, RESOURCE, etc.).
7
+ *
8
+ * Implementations of this port are responsible for resolving player information
9
+ * from the authoritative source (local session store, remote core exports, etc.).
10
+ *
11
+ * Consumers should treat returned {@link Player} instances as runtime representations
12
+ * of connected clients, not as persistent domain models.
13
+ *
14
+ * **Mode Differences:**
15
+ * - **CORE/STANDALONE**: Data is local and authoritative
16
+ * - **RESOURCE**: Data is fetched from CORE via exports
17
+ */
18
+ export class Players {
19
+ }
@@ -0,0 +1,192 @@
1
+ export type FrameworkMode = 'CORE' | 'RESOURCE' | 'STANDALONE';
2
+ /**
3
+ * Feature provider source configuration.
4
+ *
5
+ * @remarks
6
+ * Determines where a feature's implementation comes from:
7
+ *
8
+ * - `'core'`: Feature provided by CORE resource via exports
9
+ * - Used in RESOURCE mode for: players, principal, auth, commands
10
+ * - Triggers remote service implementations that delegate to CORE
11
+ *
12
+ * - `'local'`: Feature implemented locally in current resource
13
+ * - Used in CORE/STANDALONE for all features
14
+ * - Used in RESOURCE for: netEvents, runtimeEvents, exports, http, chat
15
+ * - Triggers local service implementations
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * // RESOURCE mode - commands delegate to CORE
20
+ * commands: { enabled: true, provider: 'core' }
21
+ *
22
+ * // STANDALONE mode - commands execute locally
23
+ * commands: { enabled: true, provider: 'local' }
24
+ * ```
25
+ */
26
+ export type FeatureProvider = 'core' | 'local';
27
+ export type FeatureScope = 'core' | 'resource' | 'standalone';
28
+ export type FeatureName = 'players' | 'netEvents' | 'runtimeEvents' | 'commands' | 'exports' | 'chat' | 'principal' | 'sessionLifecycle';
29
+ /**
30
+ * User-facing feature configuration.
31
+ *
32
+ * @remarks
33
+ * Most features are enabled by default and providers are auto-inferred.
34
+ * Use this config only if you need to explicitly disable a feature.
35
+ */
36
+ export interface UserFeatureConfig {
37
+ /** Disable specific features if needed */
38
+ disabled?: FeatureName[];
39
+ }
40
+ /**
41
+ * Internal feature contract with all fields resolved.
42
+ *
43
+ * @remarks
44
+ * This is used internally by the framework after merging user config with defaults.
45
+ * Users don't interact with this directly.
46
+ *
47
+ * @internal
48
+ */
49
+ export interface FeatureContract {
50
+ /**
51
+ * Enables or disables the feature at runtime.
52
+ *
53
+ * If `required` is `true`, this must also be `true` (otherwise validation will throw).
54
+ */
55
+ enabled: boolean;
56
+ /**
57
+ * Determines where the implementation comes from.
58
+ *
59
+ * - `core`: feature is provided by the core resource (via exports when applicable)
60
+ * - `local`: feature is implemented/handled locally by the current runtime (resource/standalone)
61
+ */
62
+ provider: FeatureProvider;
63
+ /**
64
+ * Marks the feature as exportable via FiveM exports.
65
+ *
66
+ * Only meaningful in CORE mode. When `true`, the framework dynamically imports
67
+ * export controllers that expose the feature's API to RESOURCE mode.
68
+ */
69
+ export: boolean;
70
+ /**
71
+ * The runtime scope this feature contract is intended for.
72
+ *
73
+ * Must match the scope derived from the current FrameworkMode
74
+ */
75
+ scope: FeatureScope;
76
+ /**
77
+ * Marks the feature as mandatory for the current runtime configuration.
78
+ *
79
+ * When `true`, the feature cannot be disabled (`enabled` must be `true`).
80
+ */
81
+ required: boolean;
82
+ /**
83
+ * (sessionLifecycle only) Enable automatic session recovery on resource restart.
84
+ *
85
+ * @remarks
86
+ * When true, scans for connected players on startup and creates sessions
87
+ * for any that don't have an active session.
88
+ *
89
+ * @defaultValue true
90
+ */
91
+ recoveryOnRestart?: boolean;
92
+ }
93
+ export type FrameworkFeatures = Record<FeatureName, FeatureContract>;
94
+ export interface DevModeConfig {
95
+ /**
96
+ * Master switch for development mode.
97
+ * If false, no dev tools will be loaded.
98
+ */
99
+ enabled: boolean;
100
+ /**
101
+ * CLI bridge configuration for telemetry and logs.
102
+ * The bridge allows the OpenCore CLI to stream logs and inspect the framework state.
103
+ */
104
+ bridge?: {
105
+ /** WebSocket URL of the bridge */
106
+ url: string;
107
+ /** Whether to connect automatically on startup */
108
+ autoConnect: boolean;
109
+ };
110
+ /**
111
+ * Event interceptor configuration for debugging.
112
+ * Captures and records incoming/outgoing network events and commands.
113
+ */
114
+ interceptor?: {
115
+ /** Enable event interception */
116
+ enabled: boolean;
117
+ /** Whether to record a history of events in memory */
118
+ recordHistory: boolean;
119
+ /** Maximum number of events to keep in the history buffer */
120
+ maxHistorySize: number;
121
+ };
122
+ /**
123
+ * Player simulator configuration.
124
+ * Allows creating virtual players for testing logic without game clients.
125
+ */
126
+ simulator?: {
127
+ /** Enable player simulation features */
128
+ enabled: boolean;
129
+ /** Number of virtual players to connect automatically on startup */
130
+ autoConnectPlayers: number;
131
+ };
132
+ }
133
+ export interface Hooks {
134
+ waitFor?: Promise<any> | Promise<any>[];
135
+ onReady?: () => Promise<void> | void;
136
+ }
137
+ export interface ServerRuntimeOptions {
138
+ mode: FrameworkMode;
139
+ features: FrameworkFeatures;
140
+ coreResourceName: string;
141
+ /** Development mode configuration (disabled in production) */
142
+ devMode?: DevModeConfig;
143
+ onDependency?: Hooks;
144
+ }
145
+ export type RuntimeContext = ServerRuntimeOptions;
146
+ export declare function setRuntimeContext(ctx: RuntimeContext): void;
147
+ export declare function getRuntimeContext(): RuntimeContext;
148
+ export declare function getFrameworkModeScope(mode: FrameworkMode): FeatureScope;
149
+ /**
150
+ * Server initialization configuration.
151
+ *
152
+ * @remarks
153
+ * Defines the runtime mode and feature configuration for OpenCore.
154
+ *
155
+ * @example Minimal Mode
156
+ * ```typescript
157
+ * Server.init({
158
+ * mode: 'CORE'
159
+ * })
160
+ * ```
161
+ */
162
+ export interface ServerInitOptions {
163
+ /** Runtime mode determining feature availability and provider sources */
164
+ mode: FrameworkMode;
165
+ /**
166
+ * Feature configuration.
167
+ *
168
+ * @remarks
169
+ * Most features are enabled by default. Use this only to disable specific ones.
170
+ */
171
+ features?: UserFeatureConfig;
172
+ /**
173
+ * Name of the CORE resource.
174
+ *
175
+ * @remarks
176
+ * - **Required in RESOURCE mode** (to locate CORE exports)
177
+ * - Optional in CORE/STANDALONE modes
178
+ *
179
+ * @defaultValue 'core'
180
+ */
181
+ coreResourceName?: string;
182
+ /** Development mode configuration (disabled in production) */
183
+ devMode?: DevModeConfig;
184
+ /** If you want to wait for a dependency promise, or when ready do something (By default, the core server will emit a "ready" when it is ready to all resources.) */
185
+ onDependency?: Hooks;
186
+ }
187
+ export declare function resolveRuntimeOptions(options: ServerInitOptions): ServerRuntimeOptions;
188
+ export declare function validateRuntimeOptions(options: ServerRuntimeOptions): void;
189
+ /**
190
+ * @deprecated Use validateRuntimeOptions instead
191
+ */
192
+ export declare const validateRuntimeContextOrThrow: typeof validateRuntimeOptions;