@open-core/framework 1.0.4-beta.1 → 1.0.5-beta.2

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 (964) hide show
  1. package/LICENSE +373 -373
  2. package/README.md +196 -268
  3. package/dist/adapters/contracts/IEngineEvents.d.ts +23 -0
  4. package/dist/adapters/contracts/IEngineEvents.js +9 -0
  5. package/dist/adapters/contracts/IExports.d.ts +4 -0
  6. package/dist/adapters/contracts/IExports.js +2 -0
  7. package/dist/adapters/contracts/IHasher.d.ts +15 -0
  8. package/dist/adapters/contracts/IHasher.js +8 -0
  9. package/dist/adapters/contracts/IPlatformContext.d.ts +43 -0
  10. package/dist/adapters/contracts/IPlatformContext.js +8 -0
  11. package/dist/adapters/contracts/IPlayerInfo.d.ts +5 -0
  12. package/dist/adapters/contracts/IPlayerInfo.js +2 -0
  13. package/dist/adapters/contracts/IResourceInfo.d.ts +4 -0
  14. package/dist/adapters/contracts/IResourceInfo.js +2 -0
  15. package/dist/adapters/contracts/ITick.d.ts +10 -0
  16. package/dist/adapters/contracts/ITick.js +5 -0
  17. package/dist/adapters/contracts/client/IClientLocalPlayerBridge.d.ts +4 -0
  18. package/dist/adapters/contracts/client/IClientLocalPlayerBridge.js +2 -0
  19. package/dist/adapters/contracts/client/IClientLogConsole.d.ts +13 -0
  20. package/dist/adapters/contracts/client/IClientLogConsole.js +2 -0
  21. package/dist/adapters/contracts/client/IClientPlatformBridge.d.ts +195 -0
  22. package/dist/adapters/contracts/client/IClientPlatformBridge.js +282 -0
  23. package/dist/adapters/contracts/client/IClientRuntimeBridge.d.ts +18 -0
  24. package/dist/adapters/contracts/client/IClientRuntimeBridge.js +14 -0
  25. package/dist/adapters/contracts/client/IGtaPedAppearanceBridge.d.ts +26 -0
  26. package/dist/adapters/contracts/client/IGtaPedAppearanceBridge.js +2 -0
  27. package/dist/adapters/contracts/client/index.d.ts +7 -0
  28. package/dist/adapters/contracts/client/index.js +7 -0
  29. package/dist/adapters/contracts/client/spawn/IClientSpawnBridge.d.ts +7 -0
  30. package/dist/adapters/contracts/client/spawn/IClientSpawnBridge.js +2 -0
  31. package/dist/adapters/contracts/client/spawn/index.d.ts +2 -0
  32. package/dist/adapters/contracts/client/spawn/index.js +2 -0
  33. package/dist/adapters/contracts/client/spawn/types.d.ts +14 -0
  34. package/dist/adapters/contracts/client/ui/IClientBlipBridge.d.ts +25 -0
  35. package/dist/adapters/contracts/client/ui/IClientBlipBridge.js +2 -0
  36. package/dist/adapters/contracts/client/ui/IClientMarkerBridge.d.ts +31 -0
  37. package/dist/adapters/contracts/client/ui/IClientMarkerBridge.js +2 -0
  38. package/dist/adapters/contracts/client/ui/IClientNotificationBridge.d.ts +21 -0
  39. package/dist/adapters/contracts/client/ui/IClientNotificationBridge.js +2 -0
  40. package/dist/adapters/contracts/client/ui/index.d.ts +4 -0
  41. package/dist/adapters/contracts/client/ui/index.js +4 -0
  42. package/dist/adapters/contracts/client/ui/webview/IClientWebViewBridge.d.ts +13 -0
  43. package/dist/adapters/contracts/client/ui/webview/IClientWebViewBridge.js +2 -0
  44. package/dist/adapters/contracts/client/ui/webview/index.d.ts +2 -0
  45. package/dist/adapters/contracts/client/ui/webview/index.js +2 -0
  46. package/dist/adapters/contracts/client/ui/webview/types.d.ts +25 -0
  47. package/dist/adapters/contracts/client/ui/webview/types.js +0 -0
  48. package/dist/adapters/contracts/index.d.ts +4 -0
  49. package/dist/adapters/contracts/index.js +4 -0
  50. package/dist/adapters/contracts/runtime/index.d.ts +1 -0
  51. package/dist/adapters/contracts/runtime/index.js +1 -0
  52. package/dist/adapters/contracts/runtime/runtime-events.d.ts +9 -0
  53. package/dist/adapters/contracts/runtime/runtime-events.js +7 -0
  54. package/dist/adapters/contracts/server/IEntityServer.d.ts +164 -0
  55. package/dist/adapters/contracts/server/IEntityServer.js +9 -0
  56. package/dist/adapters/contracts/server/IPedAppearanceServer.d.ts +45 -0
  57. package/dist/adapters/contracts/server/IPedAppearanceServer.js +12 -0
  58. package/dist/adapters/contracts/server/IPedServer.d.ts +29 -0
  59. package/dist/adapters/contracts/server/IPedServer.js +8 -0
  60. package/dist/adapters/contracts/server/IPlayerServer.d.ts +98 -0
  61. package/dist/adapters/contracts/server/IPlayerServer.js +9 -0
  62. package/dist/adapters/contracts/server/IVehicleServer.d.ts +55 -0
  63. package/dist/adapters/contracts/server/IVehicleServer.js +9 -0
  64. package/dist/adapters/contracts/server/index.d.ts +10 -0
  65. package/dist/adapters/contracts/server/index.js +10 -0
  66. package/dist/adapters/contracts/server/npc-lifecycle/INpcLifecycleServer.d.ts +5 -0
  67. package/dist/adapters/contracts/server/npc-lifecycle/INpcLifecycleServer.js +2 -0
  68. package/dist/adapters/contracts/server/npc-lifecycle/index.d.ts +2 -0
  69. package/dist/adapters/contracts/server/npc-lifecycle/index.js +2 -0
  70. package/dist/adapters/contracts/server/npc-lifecycle/types.d.ts +17 -0
  71. package/dist/adapters/contracts/server/npc-lifecycle/types.js +0 -0
  72. package/dist/adapters/contracts/server/player-appearance/IPlayerAppearanceLifecycleServer.d.ts +11 -0
  73. package/dist/adapters/contracts/server/player-appearance/IPlayerAppearanceLifecycleServer.js +2 -0
  74. package/dist/adapters/contracts/server/player-appearance/index.d.ts +1 -0
  75. package/dist/adapters/contracts/server/player-appearance/index.js +1 -0
  76. package/dist/adapters/contracts/server/player-lifecycle/IPlayerLifecycleServer.d.ts +6 -0
  77. package/dist/adapters/contracts/server/player-lifecycle/IPlayerLifecycleServer.js +2 -0
  78. package/dist/adapters/contracts/server/player-lifecycle/index.d.ts +2 -0
  79. package/dist/adapters/contracts/server/player-lifecycle/index.js +2 -0
  80. package/dist/adapters/contracts/server/player-lifecycle/types.d.ts +17 -0
  81. package/dist/adapters/contracts/server/player-lifecycle/types.js +0 -0
  82. package/dist/adapters/contracts/server/player-state/IPlayerStateSyncServer.d.ts +6 -0
  83. package/dist/adapters/contracts/server/player-state/IPlayerStateSyncServer.js +2 -0
  84. package/dist/adapters/contracts/server/player-state/index.d.ts +1 -0
  85. package/dist/adapters/contracts/server/player-state/index.js +1 -0
  86. package/dist/adapters/contracts/server/vehicle-lifecycle/IVehicleLifecycleServer.d.ts +5 -0
  87. package/dist/adapters/contracts/server/vehicle-lifecycle/IVehicleLifecycleServer.js +2 -0
  88. package/dist/adapters/contracts/server/vehicle-lifecycle/index.d.ts +2 -0
  89. package/dist/adapters/contracts/server/vehicle-lifecycle/index.js +2 -0
  90. package/dist/adapters/contracts/server/vehicle-lifecycle/types.d.ts +16 -0
  91. package/dist/adapters/contracts/server/vehicle-lifecycle/types.js +0 -0
  92. package/dist/adapters/contracts/transport/context.d.ts +5 -0
  93. package/dist/adapters/contracts/transport/context.js +0 -0
  94. package/dist/adapters/contracts/transport/events.api.d.ts +36 -0
  95. package/dist/adapters/contracts/transport/events.api.js +5 -0
  96. package/dist/adapters/contracts/transport/index.d.ts +4 -0
  97. package/dist/adapters/contracts/transport/index.js +4 -0
  98. package/dist/adapters/contracts/transport/messaging.transport.d.ts +8 -0
  99. package/dist/adapters/contracts/transport/messaging.transport.js +2 -0
  100. package/dist/adapters/contracts/transport/rpc.api.d.ts +66 -0
  101. package/dist/adapters/contracts/transport/rpc.api.js +20 -0
  102. package/dist/adapters/contracts/types/identifier.d.ts +67 -0
  103. package/dist/adapters/contracts/types/identifier.js +58 -0
  104. package/dist/adapters/contracts/types/index.d.ts +1 -0
  105. package/dist/adapters/contracts/types/index.js +1 -0
  106. package/dist/adapters/index.d.ts +10 -0
  107. package/dist/adapters/index.js +15 -0
  108. package/dist/adapters/node/index.d.ts +16 -0
  109. package/dist/adapters/node/index.js +18 -0
  110. package/dist/adapters/node/node-capabilities.d.ts +19 -0
  111. package/dist/adapters/node/node-capabilities.js +36 -0
  112. package/dist/adapters/node/node-engine-events.d.ts +20 -0
  113. package/dist/adapters/node/node-engine-events.js +41 -0
  114. package/dist/adapters/node/node-entity-server.d.ts +37 -0
  115. package/dist/adapters/node/node-entity-server.js +118 -0
  116. package/dist/adapters/node/node-exports.d.ts +26 -0
  117. package/dist/adapters/node/node-exports.js +58 -0
  118. package/dist/adapters/node/node-hasher.d.ts +12 -0
  119. package/dist/adapters/node/node-hasher.js +36 -0
  120. package/dist/adapters/node/node-ped-appearance-client.d.ts +34 -0
  121. package/dist/adapters/node/node-ped-appearance-client.js +55 -0
  122. package/dist/adapters/node/node-ped-appearance-server.d.ts +14 -0
  123. package/dist/adapters/node/node-ped-appearance-server.js +14 -0
  124. package/dist/adapters/node/node-ped-server.d.ts +13 -0
  125. package/dist/adapters/node/node-ped-server.js +45 -0
  126. package/dist/adapters/node/node-platform.d.ts +5 -0
  127. package/dist/adapters/node/node-platform.js +76 -0
  128. package/dist/adapters/node/node-player-server.d.ts +45 -0
  129. package/dist/adapters/node/node-player-server.js +111 -0
  130. package/dist/adapters/node/node-playerinfo.d.ts +6 -0
  131. package/dist/adapters/node/node-playerinfo.js +20 -0
  132. package/dist/adapters/node/node-resourceinfo.d.ts +13 -0
  133. package/dist/adapters/node/node-resourceinfo.js +27 -0
  134. package/dist/adapters/node/node-tick.d.ts +10 -0
  135. package/dist/adapters/node/node-tick.js +41 -0
  136. package/dist/adapters/node/node-vehicle-server.d.ts +21 -0
  137. package/dist/adapters/node/node-vehicle-server.js +84 -0
  138. package/dist/adapters/node/transport/adapter.d.ts +10 -0
  139. package/dist/adapters/node/transport/adapter.js +14 -0
  140. package/dist/adapters/node/transport/node.events.d.ts +14 -0
  141. package/dist/adapters/node/transport/node.events.js +38 -0
  142. package/dist/adapters/node/transport/node.rpc.d.ts +18 -0
  143. package/dist/adapters/node/transport/node.rpc.js +71 -0
  144. package/dist/adapters/platform/index.d.ts +1 -0
  145. package/dist/adapters/platform/index.js +1 -0
  146. package/dist/adapters/platform/platform-registry.d.ts +101 -0
  147. package/dist/adapters/platform/platform-registry.js +113 -0
  148. package/dist/adapters/register-capabilities.d.ts +61 -0
  149. package/dist/adapters/register-capabilities.js +76 -0
  150. package/dist/adapters/register-client-capabilities.d.ts +9 -0
  151. package/dist/adapters/register-client-capabilities.js +33 -0
  152. package/dist/contracts/client.d.ts +5 -0
  153. package/dist/contracts/client.js +5 -0
  154. package/dist/contracts/server.d.ts +19 -0
  155. package/dist/contracts/server.js +19 -0
  156. package/dist/contracts.d.ts +4 -0
  157. package/dist/contracts.js +4 -0
  158. package/dist/index.d.ts +3 -4
  159. package/dist/index.js +4 -41
  160. package/dist/kernel/di/class-constructor.js +0 -0
  161. package/dist/kernel/di/container.d.ts +5 -0
  162. package/dist/kernel/di/container.js +6 -0
  163. package/dist/kernel/di/decorator-processor.js +0 -0
  164. package/dist/kernel/di/index.d.ts +4 -0
  165. package/dist/kernel/di/index.js +4 -0
  166. package/dist/kernel/di/metadata.scanner.d.ts +7 -0
  167. package/dist/kernel/di/metadata.scanner.js +61 -0
  168. package/dist/kernel/error/app.error.d.ts +9 -0
  169. package/dist/kernel/error/app.error.js +15 -0
  170. package/dist/kernel/error/common.error-codes.d.ts +1 -0
  171. package/dist/kernel/error/common.error-codes.js +0 -0
  172. package/dist/kernel/error/framework.error-codes.d.ts +12 -0
  173. package/dist/kernel/error/framework.error-codes.js +0 -0
  174. package/dist/kernel/error/index.d.ts +4 -0
  175. package/dist/kernel/error/index.js +2 -0
  176. package/dist/kernel/error/security.error.d.ts +6 -0
  177. package/dist/kernel/error/security.error.js +9 -0
  178. package/dist/kernel/error/security.types.js +0 -0
  179. package/dist/kernel/index.d.ts +6 -0
  180. package/dist/kernel/index.js +7 -0
  181. package/dist/kernel/logger/client-log-console.d.ts +4 -0
  182. package/dist/kernel/logger/client-log-console.js +43 -0
  183. package/dist/kernel/logger/core-logger.d.ts +33 -0
  184. package/dist/kernel/logger/core-logger.js +68 -0
  185. package/dist/kernel/logger/index.d.ts +16 -0
  186. package/dist/kernel/logger/index.js +13 -0
  187. package/dist/kernel/logger/logger.config.d.ts +47 -0
  188. package/dist/kernel/logger/logger.config.js +32 -0
  189. package/dist/kernel/logger/logger.env.d.ts +35 -0
  190. package/dist/kernel/logger/logger.env.js +59 -0
  191. package/dist/kernel/logger/logger.service.d.ts +175 -0
  192. package/dist/kernel/logger/logger.service.js +301 -0
  193. package/dist/kernel/logger/logger.types.js +70 -0
  194. package/dist/kernel/logger/transports/buffered.transport.d.ts +88 -0
  195. package/dist/kernel/logger/transports/buffered.transport.js +154 -0
  196. package/dist/kernel/logger/transports/console.transport.d.ts +37 -0
  197. package/dist/kernel/logger/transports/console.transport.js +121 -0
  198. package/dist/kernel/logger/transports/dev-transport.factory.d.ts +75 -0
  199. package/dist/kernel/logger/transports/dev-transport.factory.js +101 -0
  200. package/dist/kernel/logger/transports/http.transport.d.ts +67 -0
  201. package/dist/kernel/logger/transports/http.transport.js +168 -0
  202. package/dist/kernel/logger/transports/index.d.ts +7 -0
  203. package/dist/kernel/logger/transports/index.js +7 -0
  204. package/dist/kernel/logger/transports/simple-console.transport.d.ts +38 -0
  205. package/dist/kernel/logger/transports/simple-console.transport.js +84 -0
  206. package/dist/kernel/logger/transports/transport.interface.d.ts +40 -0
  207. package/dist/kernel/logger/transports/transport.interface.js +0 -0
  208. package/dist/kernel/logger/transports/websocket.transport.d.ts +69 -0
  209. package/dist/kernel/logger/transports/websocket.transport.js +164 -0
  210. package/dist/kernel/schema/index.d.ts +32 -0
  211. package/dist/kernel/schema/index.js +4 -0
  212. package/dist/kernel/shared/index.d.ts +1 -0
  213. package/dist/kernel/shared/index.js +1 -0
  214. package/dist/kernel/shared/player-appearance.types.d.ts +276 -0
  215. package/dist/kernel/shared/player-appearance.types.js +74 -0
  216. package/dist/kernel/utils/index.d.ts +3 -0
  217. package/dist/kernel/utils/index.js +3 -0
  218. package/dist/kernel/utils/result.d.ts +12 -0
  219. package/dist/kernel/utils/result.js +6 -0
  220. package/dist/kernel/utils/rgb.d.ts +17 -0
  221. package/dist/kernel/utils/rgb.js +61 -0
  222. package/dist/kernel/utils/vector3.d.ts +14 -0
  223. package/dist/kernel/utils/vector3.js +24 -0
  224. package/dist/kernel-public.d.ts +1 -0
  225. package/dist/kernel-public.js +1 -0
  226. package/dist/runtime/client/.opencore/autoload.client.controllers.d.ts +1 -0
  227. package/dist/runtime/client/.opencore/autoload.client.controllers.js +0 -0
  228. package/dist/runtime/client/adapter/client-adapter.d.ts +25 -0
  229. package/dist/runtime/client/adapter/client-adapter.js +11 -0
  230. package/dist/runtime/client/adapter/index.d.ts +15 -0
  231. package/dist/runtime/client/adapter/index.js +15 -0
  232. package/dist/runtime/client/adapter/local-player-bridge.d.ts +1 -0
  233. package/dist/runtime/client/adapter/local-player-bridge.js +1 -0
  234. package/dist/runtime/client/adapter/node-blip-bridge.d.ts +9 -0
  235. package/dist/runtime/client/adapter/node-blip-bridge.js +34 -0
  236. package/dist/runtime/client/adapter/node-client-adapter.d.ts +5 -0
  237. package/dist/runtime/client/adapter/node-client-adapter.js +50 -0
  238. package/dist/runtime/client/adapter/node-local-player-bridge.d.ts +8 -0
  239. package/dist/runtime/client/adapter/node-local-player-bridge.js +18 -0
  240. package/dist/runtime/client/adapter/node-log-console.d.ts +11 -0
  241. package/dist/runtime/client/adapter/node-log-console.js +48 -0
  242. package/dist/runtime/client/adapter/node-marker-bridge.d.ts +10 -0
  243. package/dist/runtime/client/adapter/node-marker-bridge.js +35 -0
  244. package/dist/runtime/client/adapter/node-notification-bridge.d.ts +5 -0
  245. package/dist/runtime/client/adapter/node-notification-bridge.js +16 -0
  246. package/dist/runtime/client/adapter/node-platform-bridge.d.ts +3 -0
  247. package/dist/runtime/client/adapter/node-platform-bridge.js +14 -0
  248. package/dist/runtime/client/adapter/node-runtime-bridge.d.ts +24 -0
  249. package/dist/runtime/client/adapter/node-runtime-bridge.js +58 -0
  250. package/dist/runtime/client/adapter/node-spawn-bridge.d.ts +8 -0
  251. package/dist/runtime/client/adapter/node-spawn-bridge.js +18 -0
  252. package/dist/runtime/client/adapter/node-webview-bridge.d.ts +15 -0
  253. package/dist/runtime/client/adapter/node-webview-bridge.js +43 -0
  254. package/dist/runtime/client/adapter/platform-bridge.d.ts +1 -0
  255. package/dist/runtime/client/adapter/platform-bridge.js +1 -0
  256. package/dist/runtime/client/adapter/registry.d.ts +9 -0
  257. package/dist/runtime/client/adapter/registry.js +85 -0
  258. package/dist/runtime/client/adapter/runtime-bridge.d.ts +1 -0
  259. package/dist/runtime/client/adapter/runtime-bridge.js +1 -0
  260. package/dist/runtime/client/api.d.ts +9 -0
  261. package/dist/runtime/client/api.js +9 -0
  262. package/dist/runtime/client/bus/library-event.bus.d.ts +5 -0
  263. package/dist/runtime/client/bus/library-event.bus.js +28 -0
  264. package/dist/runtime/client/client-api-runtime.d.ts +7 -0
  265. package/dist/runtime/client/client-api-runtime.js +34 -0
  266. package/dist/runtime/client/client-bootstrap.d.ts +7 -0
  267. package/dist/runtime/client/client-bootstrap.js +167 -0
  268. package/dist/runtime/client/client-container.js +3 -0
  269. package/dist/runtime/client/client-core.d.ts +21 -0
  270. package/dist/runtime/client/client-core.js +32 -0
  271. package/dist/runtime/client/client-runtime.d.ts +66 -0
  272. package/dist/runtime/client/client-runtime.js +24 -0
  273. package/dist/runtime/client/controllers/appearance.controller.d.ts +10 -0
  274. package/dist/runtime/client/controllers/appearance.controller.js +58 -0
  275. package/dist/runtime/client/controllers/spawner.controller.d.ts +12 -0
  276. package/dist/runtime/client/controllers/spawner.controller.js +51 -0
  277. package/dist/runtime/client/decorators/controller.d.ts +20 -0
  278. package/dist/runtime/client/decorators/controller.js +54 -0
  279. package/dist/runtime/client/decorators/export.d.ts +21 -0
  280. package/dist/runtime/client/decorators/export.js +26 -0
  281. package/dist/runtime/client/decorators/gameEvent.d.ts +47 -0
  282. package/dist/runtime/client/decorators/gameEvent.js +50 -0
  283. package/dist/runtime/client/decorators/index.d.ts +13 -0
  284. package/dist/runtime/client/decorators/index.js +13 -0
  285. package/dist/runtime/client/decorators/interval.d.ts +23 -0
  286. package/dist/runtime/client/decorators/interval.js +28 -0
  287. package/dist/runtime/client/decorators/key.d.ts +23 -0
  288. package/dist/runtime/client/decorators/key.js +28 -0
  289. package/dist/runtime/client/decorators/localEvent.d.ts +21 -0
  290. package/dist/runtime/client/decorators/localEvent.js +26 -0
  291. package/dist/runtime/client/decorators/onLibraryEvent.d.ts +17 -0
  292. package/dist/runtime/client/decorators/onLibraryEvent.js +22 -0
  293. package/dist/runtime/client/decorators/onNet.d.ts +21 -0
  294. package/dist/runtime/client/decorators/onNet.js +26 -0
  295. package/dist/runtime/client/decorators/onRPC.d.ts +41 -0
  296. package/dist/runtime/client/decorators/onRPC.js +40 -0
  297. package/dist/runtime/client/decorators/onTick.d.ts +21 -0
  298. package/dist/runtime/client/decorators/onTick.js +26 -0
  299. package/dist/runtime/client/decorators/onView.d.ts +21 -0
  300. package/dist/runtime/client/decorators/onView.js +26 -0
  301. package/dist/runtime/client/decorators/resourceLifecycle.d.ts +40 -0
  302. package/dist/runtime/client/decorators/resourceLifecycle.js +49 -0
  303. package/dist/runtime/client/index.d.ts +5 -0
  304. package/dist/runtime/client/index.js +3 -0
  305. package/dist/runtime/client/library/create-client-library.d.ts +13 -0
  306. package/dist/runtime/client/library/create-client-library.js +53 -0
  307. package/dist/runtime/client/library/index.d.ts +4 -0
  308. package/dist/runtime/client/library/index.js +2 -0
  309. package/dist/runtime/client/library/plugin/client-plugin-api.d.ts +5 -0
  310. package/dist/runtime/client/library/plugin/client-plugin-api.js +0 -0
  311. package/dist/runtime/client/library/plugin/index.d.ts +4 -0
  312. package/dist/runtime/client/library/plugin/index.js +4 -0
  313. package/dist/runtime/client/library/plugin/install-client-plugins.d.ts +3 -0
  314. package/dist/runtime/client/library/plugin/install-client-plugins.js +35 -0
  315. package/dist/runtime/client/library/plugin/plugin-context.d.ts +10 -0
  316. package/dist/runtime/client/library/plugin/plugin-context.js +0 -0
  317. package/dist/runtime/client/library/plugin/plugin-registry.d.ts +6 -0
  318. package/dist/runtime/client/library/plugin/plugin-registry.js +12 -0
  319. package/dist/runtime/client/library/plugin/plugin.interface.d.ts +11 -0
  320. package/dist/runtime/client/library/plugin/plugin.interface.js +0 -0
  321. package/dist/runtime/client/services/appearance.service.d.ts +132 -0
  322. package/dist/runtime/client/services/appearance.service.js +333 -0
  323. package/dist/runtime/client/services/blip.service.d.ts +25 -0
  324. package/dist/runtime/client/services/blip.service.js +114 -0
  325. package/dist/runtime/client/services/camera-effects.registry.d.ts +97 -0
  326. package/dist/runtime/client/services/camera-effects.registry.js +158 -0
  327. package/dist/runtime/client/services/camera.d.ts +49 -0
  328. package/dist/runtime/client/services/camera.js +102 -0
  329. package/dist/runtime/client/services/cinematic-builder.d.ts +107 -0
  330. package/dist/runtime/client/services/cinematic-builder.js +467 -0
  331. package/dist/runtime/client/services/cinematic.d.ts +288 -0
  332. package/dist/runtime/client/services/cinematic.js +798 -0
  333. package/dist/runtime/client/services/index.d.ts +15 -0
  334. package/dist/runtime/client/services/index.js +15 -0
  335. package/dist/runtime/client/services/marker.service.d.ts +43 -0
  336. package/dist/runtime/client/services/marker.service.js +113 -0
  337. package/dist/runtime/client/services/notification.service.d.ts +25 -0
  338. package/dist/runtime/client/services/notification.service.js +70 -0
  339. package/dist/runtime/client/services/ped.service.d.ts +55 -0
  340. package/dist/runtime/client/services/ped.service.js +166 -0
  341. package/dist/runtime/client/services/progress.service.d.ts +57 -0
  342. package/dist/runtime/client/services/progress.service.js +173 -0
  343. package/dist/runtime/client/services/session-bridge.service.d.ts +15 -0
  344. package/dist/runtime/client/services/session-bridge.service.js +61 -0
  345. package/dist/runtime/client/services/spawn.service.d.ts +23 -0
  346. package/dist/runtime/client/services/spawn.service.js +98 -0
  347. package/dist/runtime/client/services/streaming.service.d.ts +44 -0
  348. package/dist/runtime/client/services/streaming.service.js +186 -0
  349. package/dist/runtime/client/services/textui.service.d.ts +42 -0
  350. package/dist/runtime/client/services/textui.service.js +127 -0
  351. package/dist/runtime/client/services/vehicle-client.service.d.ts +43 -0
  352. package/dist/runtime/client/services/vehicle-client.service.js +337 -0
  353. package/dist/runtime/client/services/vehicle.service.d.ts +62 -0
  354. package/dist/runtime/client/services/vehicle.service.js +193 -0
  355. package/dist/runtime/client/system/metadata-client.keys.d.ts +15 -0
  356. package/dist/runtime/client/system/metadata-client.keys.js +15 -0
  357. package/dist/runtime/client/system/processors/export.processor.d.ts +10 -0
  358. package/dist/runtime/client/system/processors/export.processor.js +47 -0
  359. package/dist/runtime/client/system/processors/gameEvent.processor.d.ts +13 -0
  360. package/dist/runtime/client/system/processors/gameEvent.processor.js +66 -0
  361. package/dist/runtime/client/system/processors/interval.processor.d.ts +10 -0
  362. package/dist/runtime/client/system/processors/interval.processor.js +51 -0
  363. package/dist/runtime/client/system/processors/key.processor.d.ts +11 -0
  364. package/dist/runtime/client/system/processors/key.processor.js +35 -0
  365. package/dist/runtime/client/system/processors/libraryEvent.processor.d.ts +6 -0
  366. package/dist/runtime/client/system/processors/libraryEvent.processor.js +36 -0
  367. package/dist/runtime/client/system/processors/localEvent.processor.d.ts +10 -0
  368. package/dist/runtime/client/system/processors/localEvent.processor.js +46 -0
  369. package/dist/runtime/client/system/processors/netEvent.processor.d.ts +10 -0
  370. package/dist/runtime/client/system/processors/netEvent.processor.js +46 -0
  371. package/dist/runtime/client/system/processors/onRpc.processor.d.ts +9 -0
  372. package/dist/runtime/client/system/processors/onRpc.processor.js +62 -0
  373. package/dist/runtime/client/system/processors/resourceLifecycle.processor.d.ts +14 -0
  374. package/dist/runtime/client/system/processors/resourceLifecycle.processor.js +81 -0
  375. package/dist/runtime/client/system/processors/tick.processor.d.ts +8 -0
  376. package/dist/runtime/client/system/processors/tick.processor.js +45 -0
  377. package/dist/runtime/client/system/processors/view.processor.d.ts +10 -0
  378. package/dist/runtime/client/system/processors/view.processor.js +47 -0
  379. package/dist/runtime/client/system/processors.register.d.ts +2 -0
  380. package/dist/runtime/client/system/processors.register.js +36 -0
  381. package/dist/runtime/client/types/game-events.d.ts +128 -0
  382. package/dist/runtime/client/types/game-events.js +72 -0
  383. package/dist/runtime/client/types/index.js +1 -0
  384. package/dist/runtime/client/ui-bridge.d.ts +4 -0
  385. package/dist/runtime/client/ui-bridge.js +4 -0
  386. package/dist/runtime/client/webview-bridge.d.ts +31 -0
  387. package/dist/runtime/client/webview-bridge.js +97 -0
  388. package/dist/runtime/client/webview.service.d.ts +14 -0
  389. package/dist/runtime/client/webview.service.js +98 -0
  390. package/dist/runtime/core/entity.d.ts +168 -0
  391. package/dist/runtime/core/entity.js +232 -0
  392. package/dist/runtime/core/index.d.ts +5 -0
  393. package/dist/runtime/core/index.js +5 -0
  394. package/dist/runtime/core/library/create-library-base.d.ts +15 -0
  395. package/dist/runtime/core/library/create-library-base.js +27 -0
  396. package/dist/runtime/core/library/index.d.ts +5 -0
  397. package/dist/runtime/core/library/index.js +4 -0
  398. package/dist/runtime/core/library/library-bus.d.ts +9 -0
  399. package/dist/runtime/core/library/library-bus.js +46 -0
  400. package/dist/runtime/core/library/library-config.d.ts +10 -0
  401. package/dist/runtime/core/library/library-config.js +12 -0
  402. package/dist/runtime/core/library/library-event-id.d.ts +8 -0
  403. package/dist/runtime/core/library/library-event-id.js +9 -0
  404. package/dist/runtime/core/library/types.d.ts +146 -0
  405. package/dist/runtime/core/library/types.js +0 -0
  406. package/dist/runtime/core/nativehandle.d.ts +3 -0
  407. package/dist/runtime/core/nativehandle.js +0 -0
  408. package/dist/runtime/core/spatial.d.ts +7 -0
  409. package/dist/runtime/core/spatial.js +0 -0
  410. package/dist/runtime/core/world.d.ts +13 -0
  411. package/dist/runtime/core/world.js +57 -0
  412. package/dist/runtime/server/.opencore/autoload.server.controllers.d.ts +1 -0
  413. package/dist/runtime/server/.opencore/autoload.server.controllers.js +0 -0
  414. package/dist/runtime/server/adapter/index.d.ts +5 -0
  415. package/dist/runtime/server/adapter/index.js +5 -0
  416. package/dist/runtime/server/adapter/node-npc-lifecycle-server.d.ts +12 -0
  417. package/dist/runtime/server/adapter/node-npc-lifecycle-server.js +52 -0
  418. package/dist/runtime/server/adapter/node-player-appearance-lifecycle-server.d.ts +22 -0
  419. package/dist/runtime/server/adapter/node-player-appearance-lifecycle-server.js +94 -0
  420. package/dist/runtime/server/adapter/node-player-lifecycle-server.d.ts +11 -0
  421. package/dist/runtime/server/adapter/node-player-lifecycle-server.js +55 -0
  422. package/dist/runtime/server/adapter/node-player-state-sync-server.d.ts +12 -0
  423. package/dist/runtime/server/adapter/node-player-state-sync-server.js +49 -0
  424. package/dist/runtime/server/adapter/node-server-adapter.d.ts +5 -0
  425. package/dist/runtime/server/adapter/node-server-adapter.js +67 -0
  426. package/dist/runtime/server/adapter/node-vehicle-lifecycle-server.d.ts +13 -0
  427. package/dist/runtime/server/adapter/node-vehicle-lifecycle-server.js +57 -0
  428. package/dist/runtime/server/adapter/player-adapter.d.ts +28 -0
  429. package/dist/runtime/server/adapter/player-adapter.js +28 -0
  430. package/dist/runtime/server/adapter/registry.d.ts +26 -0
  431. package/dist/runtime/server/adapter/registry.js +101 -0
  432. package/dist/runtime/server/adapter/serialization.d.ts +6 -0
  433. package/dist/runtime/server/adapter/serialization.js +9 -0
  434. package/dist/runtime/server/adapter/server-adapter.d.ts +28 -0
  435. package/dist/runtime/server/adapter/server-adapter.js +14 -0
  436. package/dist/runtime/server/api.d.ts +16 -0
  437. package/dist/runtime/server/api.js +22 -0
  438. package/dist/runtime/server/apis/appearance.api.d.ts +43 -0
  439. package/dist/runtime/server/apis/appearance.api.js +79 -0
  440. package/dist/runtime/server/apis/chat.api.d.ts +69 -0
  441. package/dist/runtime/server/apis/chat.api.js +129 -0
  442. package/dist/runtime/server/apis/index.d.ts +6 -0
  443. package/dist/runtime/server/apis/index.js +6 -0
  444. package/dist/runtime/server/apis/npcs.api.d.ts +212 -0
  445. package/dist/runtime/server/apis/npcs.api.js +435 -0
  446. package/dist/runtime/server/apis/parallel-compute.api.d.ts +118 -0
  447. package/dist/runtime/server/apis/parallel-compute.api.js +423 -0
  448. package/dist/runtime/server/apis/vehicle-modification.api.d.ts +96 -0
  449. package/dist/runtime/server/apis/vehicle-modification.api.js +313 -0
  450. package/dist/runtime/server/apis/vehicles.api.d.ts +146 -0
  451. package/dist/runtime/server/apis/vehicles.api.js +398 -0
  452. package/dist/runtime/server/bootstrap.d.ts +21 -0
  453. package/dist/runtime/server/bootstrap.js +318 -0
  454. package/dist/runtime/server/bus/internal-event.bus.d.ts +6 -0
  455. package/dist/runtime/server/bus/internal-event.bus.js +30 -0
  456. package/dist/runtime/server/bus/library-event.bus.d.ts +5 -0
  457. package/dist/runtime/server/bus/library-event.bus.js +27 -0
  458. package/dist/runtime/server/concepts/channel.d.ts +29 -0
  459. package/dist/runtime/server/concepts/channel.js +70 -0
  460. package/dist/runtime/server/contracts/index.d.ts +6 -0
  461. package/dist/runtime/server/contracts/index.js +8 -0
  462. package/dist/runtime/server/contracts/player-persistence.contract.d.ts +84 -0
  463. package/dist/runtime/server/contracts/player-persistence.contract.js +46 -0
  464. package/dist/runtime/server/contracts/security/command-error-observer.contract.d.ts +73 -0
  465. package/dist/runtime/server/contracts/security/command-error-observer.contract.js +5 -0
  466. package/dist/runtime/server/contracts/security/net-event-security-observer.contract.d.ts +15 -0
  467. package/dist/runtime/server/contracts/security/net-event-security-observer.contract.js +2 -0
  468. package/dist/runtime/server/contracts/security/principal-provider.contract.d.ts +43 -0
  469. package/dist/runtime/server/contracts/security/principal-provider.contract.js +15 -0
  470. package/dist/runtime/server/contracts/security/security-handler.contract.d.ts +5 -0
  471. package/dist/runtime/server/contracts/security/security-handler.contract.js +2 -0
  472. package/dist/runtime/server/controllers/channel.controller.d.ts +115 -0
  473. package/dist/runtime/server/controllers/channel.controller.js +374 -0
  474. package/dist/runtime/server/controllers/chat.controller.d.ts +11 -0
  475. package/dist/runtime/server/controllers/chat.controller.js +67 -0
  476. package/dist/runtime/server/controllers/command-export.controller.d.ts +83 -0
  477. package/dist/runtime/server/controllers/command-export.controller.js +331 -0
  478. package/dist/runtime/server/controllers/player-export.controller.d.ts +30 -0
  479. package/dist/runtime/server/controllers/player-export.controller.js +173 -0
  480. package/dist/runtime/server/controllers/principal-export.controller.d.ts +79 -0
  481. package/dist/runtime/server/controllers/principal-export.controller.js +292 -0
  482. package/dist/runtime/server/controllers/ready.controller.d.ts +4 -0
  483. package/dist/runtime/server/controllers/ready.controller.js +27 -0
  484. package/dist/runtime/server/controllers/remote-command-execution.controller.d.ts +52 -0
  485. package/dist/runtime/server/controllers/remote-command-execution.controller.js +172 -0
  486. package/dist/runtime/server/controllers/session.controller.d.ts +11 -0
  487. package/dist/runtime/server/controllers/session.controller.js +84 -0
  488. package/dist/runtime/server/controllers/vehicle.controller.d.ts +22 -0
  489. package/dist/runtime/server/controllers/vehicle.controller.js +73 -0
  490. package/dist/runtime/server/core.d.ts +9 -0
  491. package/dist/runtime/server/core.js +45 -0
  492. package/dist/runtime/server/decorators/binaryCall.d.ts +15 -0
  493. package/dist/runtime/server/decorators/binaryCall.js +23 -0
  494. package/dist/runtime/server/decorators/binaryEvent.d.ts +21 -0
  495. package/dist/runtime/server/decorators/binaryEvent.js +22 -0
  496. package/dist/runtime/server/decorators/binaryService.d.ts +27 -0
  497. package/dist/runtime/server/decorators/binaryService.js +71 -0
  498. package/dist/runtime/server/decorators/bind.d.ts +21 -0
  499. package/dist/runtime/server/decorators/bind.js +28 -0
  500. package/dist/runtime/server/decorators/command.d.ts +87 -0
  501. package/dist/runtime/server/decorators/command.js +36 -0
  502. package/dist/runtime/server/decorators/controller.d.ts +26 -0
  503. package/dist/runtime/server/decorators/controller.js +56 -0
  504. package/dist/runtime/server/decorators/export.d.ts +24 -0
  505. package/dist/runtime/server/decorators/export.js +29 -0
  506. package/dist/runtime/server/decorators/guard.d.ts +51 -0
  507. package/dist/runtime/server/decorators/guard.js +80 -0
  508. package/dist/runtime/server/decorators/index.d.ts +18 -0
  509. package/dist/runtime/server/decorators/index.js +18 -0
  510. package/dist/runtime/server/decorators/onFrameworkEvent.d.ts +24 -0
  511. package/dist/runtime/server/decorators/onFrameworkEvent.js +28 -0
  512. package/dist/runtime/server/decorators/onLibraryEvent.d.ts +17 -0
  513. package/dist/runtime/server/decorators/onLibraryEvent.js +22 -0
  514. package/dist/runtime/server/decorators/onNet.d.ts +65 -0
  515. package/dist/runtime/server/decorators/onNet.js +12 -0
  516. package/dist/runtime/server/decorators/onRPC.d.ts +78 -0
  517. package/dist/runtime/server/decorators/onRPC.js +59 -0
  518. package/dist/runtime/server/decorators/onRuntimeEvent.d.ts +26 -0
  519. package/dist/runtime/server/decorators/onRuntimeEvent.js +30 -0
  520. package/dist/runtime/server/decorators/onTick.d.ts +21 -0
  521. package/dist/runtime/server/decorators/onTick.js +26 -0
  522. package/dist/runtime/server/decorators/public.d.ts +26 -0
  523. package/dist/runtime/server/decorators/public.js +32 -0
  524. package/dist/runtime/server/decorators/requiresState.d.ts +63 -0
  525. package/dist/runtime/server/decorators/requiresState.js +70 -0
  526. package/dist/runtime/server/decorators/throttle.d.ts +56 -0
  527. package/dist/runtime/server/decorators/throttle.js +73 -0
  528. package/dist/runtime/server/decorators/utils.d.ts +54 -0
  529. package/dist/runtime/server/decorators/utils.js +54 -0
  530. package/dist/runtime/server/default/default-command-error-observer.d.ts +14 -0
  531. package/dist/runtime/server/default/default-command-error-observer.js +40 -0
  532. package/dist/runtime/server/default/default-net-event-security-observer.d.ts +15 -0
  533. package/dist/runtime/server/default/default-net-event-security-observer.js +25 -0
  534. package/dist/runtime/server/default/default-principal.provider.d.ts +13 -0
  535. package/dist/runtime/server/default/default-principal.provider.js +35 -0
  536. package/dist/runtime/server/default/default-security.handler.d.ts +19 -0
  537. package/dist/runtime/server/default/default-security.handler.js +36 -0
  538. package/dist/runtime/server/devmode/contracts/IDevModeBridge.d.ts +36 -0
  539. package/dist/runtime/server/devmode/contracts/IDevModeBridge.js +8 -0
  540. package/dist/runtime/server/devmode/contracts/IDevModeInspector.d.ts +52 -0
  541. package/dist/runtime/server/devmode/contracts/IDevModeInspector.js +8 -0
  542. package/dist/runtime/server/devmode/contracts/IDevModeInterceptor.d.ts +41 -0
  543. package/dist/runtime/server/devmode/contracts/IDevModeInterceptor.js +7 -0
  544. package/dist/runtime/server/devmode/contracts/index.d.ts +3 -0
  545. package/dist/runtime/server/devmode/contracts/index.js +3 -0
  546. package/dist/runtime/server/devmode/dev-mode.service.d.ts +109 -0
  547. package/dist/runtime/server/devmode/dev-mode.service.js +290 -0
  548. package/dist/runtime/server/devmode/event-interceptor.service.d.ts +80 -0
  549. package/dist/runtime/server/devmode/event-interceptor.service.js +233 -0
  550. package/dist/runtime/server/devmode/index.d.ts +6 -0
  551. package/dist/runtime/server/devmode/index.js +7 -0
  552. package/dist/runtime/server/devmode/player-simulator.service.d.ts +66 -0
  553. package/dist/runtime/server/devmode/player-simulator.service.js +199 -0
  554. package/dist/runtime/server/devmode/state-inspector.service.d.ts +57 -0
  555. package/dist/runtime/server/devmode/state-inspector.service.js +175 -0
  556. package/dist/runtime/server/devmode/types.d.ts +197 -0
  557. package/dist/runtime/server/devmode/types.js +22 -0
  558. package/dist/runtime/server/entities/index.d.ts +3 -0
  559. package/dist/runtime/server/entities/index.js +3 -0
  560. package/dist/runtime/server/entities/npc.d.ts +257 -0
  561. package/dist/runtime/server/entities/npc.js +307 -0
  562. package/dist/runtime/server/entities/player.d.ts +236 -0
  563. package/dist/runtime/server/entities/player.js +351 -0
  564. package/dist/runtime/server/entities/vehicle.d.ts +113 -0
  565. package/dist/runtime/server/entities/vehicle.js +245 -0
  566. package/dist/runtime/server/error-handler.d.ts +2 -0
  567. package/dist/runtime/server/error-handler.js +50 -0
  568. package/dist/runtime/server/helpers/command-validation.helper.d.ts +3 -0
  569. package/dist/runtime/server/helpers/command-validation.helper.js +73 -0
  570. package/dist/runtime/server/helpers/function-helper.d.ts +6 -0
  571. package/dist/runtime/server/helpers/function-helper.js +28 -0
  572. package/dist/runtime/server/helpers/normalize-app-error.d.ts +9 -0
  573. package/dist/runtime/server/helpers/normalize-app-error.js +17 -0
  574. package/dist/runtime/server/helpers/resolve-method.d.ts +5 -0
  575. package/dist/runtime/server/helpers/resolve-method.js +25 -0
  576. package/dist/runtime/server/implementations/local/channel.local.d.ts +32 -0
  577. package/dist/runtime/server/implementations/local/channel.local.js +185 -0
  578. package/dist/runtime/server/implementations/local/command.local.d.ts +57 -0
  579. package/dist/runtime/server/implementations/local/command.local.js +110 -0
  580. package/dist/runtime/server/implementations/local/player.local.d.ts +114 -0
  581. package/dist/runtime/server/implementations/local/player.local.js +216 -0
  582. package/dist/runtime/server/implementations/local/principal.local.d.ts +28 -0
  583. package/dist/runtime/server/implementations/local/principal.local.js +120 -0
  584. package/dist/runtime/server/implementations/remote/channel.remote.d.ts +48 -0
  585. package/dist/runtime/server/implementations/remote/channel.remote.js +168 -0
  586. package/dist/runtime/server/implementations/remote/command.remote.d.ts +66 -0
  587. package/dist/runtime/server/implementations/remote/command.remote.js +159 -0
  588. package/dist/runtime/server/implementations/remote/player.remote.d.ts +62 -0
  589. package/dist/runtime/server/implementations/remote/player.remote.js +199 -0
  590. package/dist/runtime/server/implementations/remote/principal.remote.d.ts +33 -0
  591. package/dist/runtime/server/implementations/remote/principal.remote.js +97 -0
  592. package/dist/runtime/server/index.d.ts +9 -0
  593. package/dist/runtime/server/index.js +4 -0
  594. package/dist/runtime/server/library/create-server-library.d.ts +13 -0
  595. package/dist/runtime/server/library/create-server-library.js +63 -0
  596. package/dist/runtime/server/library/index.d.ts +4 -0
  597. package/dist/runtime/server/library/index.js +2 -0
  598. package/dist/runtime/server/library/plugin/index.d.ts +4 -0
  599. package/dist/runtime/server/library/plugin/index.js +4 -0
  600. package/dist/runtime/server/library/plugin/plugin-context.d.ts +10 -0
  601. package/dist/runtime/server/library/plugin/plugin-context.js +0 -0
  602. package/dist/runtime/server/library/plugin/plugin-registry.d.ts +7 -0
  603. package/dist/runtime/server/library/plugin/plugin-registry.js +25 -0
  604. package/dist/runtime/server/library/plugin/plugin.interface.d.ts +19 -0
  605. package/dist/runtime/server/library/plugin/plugin.interface.js +0 -0
  606. package/dist/runtime/server/library/plugin/server-plugin-api.d.ts +5 -0
  607. package/dist/runtime/server/library/plugin/server-plugin-api.js +0 -0
  608. package/dist/runtime/server/ports/authorization.api-port.d.ts +149 -0
  609. package/dist/runtime/server/ports/authorization.api-port.js +28 -0
  610. package/dist/runtime/server/ports/channel.api-port.d.ts +218 -0
  611. package/dist/runtime/server/ports/channel.api-port.js +2 -0
  612. package/dist/runtime/server/ports/internal/command-execution.port.d.ts +48 -0
  613. package/dist/runtime/server/ports/internal/command-execution.port.js +11 -0
  614. package/dist/runtime/server/ports/internal/player-session-lifecycle.port.d.ts +37 -0
  615. package/dist/runtime/server/ports/internal/player-session-lifecycle.port.js +12 -0
  616. package/dist/runtime/server/ports/players.api-port.d.ts +108 -0
  617. package/dist/runtime/server/ports/players.api-port.js +19 -0
  618. package/dist/runtime/server/runtime.d.ts +195 -0
  619. package/dist/runtime/server/runtime.js +197 -0
  620. package/dist/runtime/server/server.runtime.d.ts +7 -0
  621. package/dist/runtime/server/server.runtime.js +34 -0
  622. package/dist/runtime/server/services/appearance.service.d.ts +4 -0
  623. package/dist/runtime/server/services/appearance.service.js +130 -0
  624. package/dist/runtime/server/services/index.d.ts +6 -0
  625. package/dist/runtime/server/services/index.js +6 -0
  626. package/dist/runtime/server/services/parallel/native-worker.entry.d.ts +1 -0
  627. package/dist/runtime/server/services/parallel/native-worker.entry.js +10 -0
  628. package/dist/runtime/server/services/parallel/worker-pool.d.ts +79 -0
  629. package/dist/runtime/server/services/parallel/worker-pool.js +428 -0
  630. package/dist/runtime/server/services/parallel/worker.d.ts +22 -0
  631. package/dist/runtime/server/services/parallel/worker.js +48 -0
  632. package/dist/runtime/server/services/persistence.service.d.ts +59 -0
  633. package/dist/runtime/server/services/persistence.service.js +161 -0
  634. package/dist/runtime/server/services/rate-limiter.service.d.ts +23 -0
  635. package/dist/runtime/server/services/rate-limiter.service.js +52 -0
  636. package/dist/runtime/server/services/services.register.d.ts +11 -0
  637. package/dist/runtime/server/services/services.register.js +140 -0
  638. package/dist/runtime/server/services/session-recovery.local.d.ts +39 -0
  639. package/dist/runtime/server/services/session-recovery.local.js +108 -0
  640. package/dist/runtime/server/setup.d.ts +9 -0
  641. package/dist/runtime/server/setup.js +25 -0
  642. package/dist/runtime/server/system/managers/binary-process.manager.d.ts +19 -0
  643. package/dist/runtime/server/system/managers/binary-process.manager.js +312 -0
  644. package/dist/runtime/server/system/metadata-server.keys.d.ts +18 -0
  645. package/dist/runtime/server/system/metadata-server.keys.js +18 -0
  646. package/dist/runtime/server/system/processors/command.processor.d.ts +16 -0
  647. package/dist/runtime/server/system/processors/command.processor.js +62 -0
  648. package/dist/runtime/server/system/processors/export.processor.d.ts +10 -0
  649. package/dist/runtime/server/system/processors/export.processor.js +38 -0
  650. package/dist/runtime/server/system/processors/internalEvent.processor.d.ts +7 -0
  651. package/dist/runtime/server/system/processors/internalEvent.processor.js +36 -0
  652. package/dist/runtime/server/system/processors/libraryEvent.processor.d.ts +6 -0
  653. package/dist/runtime/server/system/processors/libraryEvent.processor.js +38 -0
  654. package/dist/runtime/server/system/processors/netEvent.processor.d.ts +23 -0
  655. package/dist/runtime/server/system/processors/netEvent.processor.js +243 -0
  656. package/dist/runtime/server/system/processors/onRpc.processor.d.ts +12 -0
  657. package/dist/runtime/server/system/processors/onRpc.processor.js +142 -0
  658. package/dist/runtime/server/system/processors/runtimeEvent.processor.d.ts +11 -0
  659. package/dist/runtime/server/system/processors/runtimeEvent.processor.js +48 -0
  660. package/dist/runtime/server/system/processors/tick.processor.d.ts +8 -0
  661. package/dist/runtime/server/system/processors/tick.processor.js +44 -0
  662. package/dist/runtime/server/system/processors.register.d.ts +2 -0
  663. package/dist/runtime/server/system/processors.register.js +43 -0
  664. package/dist/runtime/server/system/schema-generator.d.ts +2 -0
  665. package/dist/runtime/server/system/schema-generator.js +38 -0
  666. package/dist/runtime/server/types/channel.types.d.ts +44 -0
  667. package/dist/runtime/server/types/channel.types.js +10 -0
  668. package/dist/runtime/server/types/core-exports.types.d.ts +291 -0
  669. package/dist/runtime/server/types/core-exports.types.js +0 -0
  670. package/dist/runtime/server/types/framework-events.types.d.ts +22 -0
  671. package/dist/runtime/server/types/framework-events.types.js +0 -0
  672. package/dist/runtime/server/types/index.d.ts +9 -0
  673. package/dist/runtime/server/types/index.js +9 -0
  674. package/dist/runtime/server/types/linked-id.d.ts +6 -0
  675. package/dist/runtime/server/types/linked-id.js +0 -0
  676. package/dist/runtime/server/types/npc.types.d.ts +36 -0
  677. package/dist/runtime/server/types/npc.types.js +0 -0
  678. package/dist/runtime/server/types/parallel.types.d.ts +191 -0
  679. package/dist/runtime/server/types/parallel.types.js +5 -0
  680. package/dist/runtime/server/types/player-session.types.d.ts +11 -0
  681. package/dist/runtime/server/types/player-session.types.js +0 -0
  682. package/dist/runtime/server/types/principal.type.d.ts +32 -0
  683. package/dist/runtime/server/types/principal.type.js +0 -0
  684. package/dist/runtime/server/types/vehicle.types.d.ts +152 -0
  685. package/dist/runtime/server/types/vehicle.types.js +0 -0
  686. package/dist/runtime/shared/helpers/process-tuple-schema.d.ts +2 -0
  687. package/dist/runtime/shared/helpers/process-tuple-schema.js +29 -0
  688. package/package.json +61 -46
  689. package/dist/client/client-bootstrap.d.ts +0 -1
  690. package/dist/client/client-bootstrap.js +0 -50
  691. package/dist/client/client-container.js +0 -6
  692. package/dist/client/client-core.d.ts +0 -1
  693. package/dist/client/client-core.js +0 -7
  694. package/dist/client/controllers/spawner.controller.d.ts +0 -12
  695. package/dist/client/controllers/spawner.controller.js +0 -51
  696. package/dist/client/decorators/controller.d.ts +0 -3
  697. package/dist/client/decorators/controller.js +0 -14
  698. package/dist/client/decorators/export.d.ts +0 -7
  699. package/dist/client/decorators/export.js +0 -15
  700. package/dist/client/decorators/gameEvent.d.ts +0 -47
  701. package/dist/client/decorators/gameEvent.js +0 -54
  702. package/dist/client/decorators/index.d.ts +0 -10
  703. package/dist/client/decorators/index.js +0 -26
  704. package/dist/client/decorators/interval.d.ts +0 -7
  705. package/dist/client/decorators/interval.js +0 -15
  706. package/dist/client/decorators/key.d.ts +0 -2
  707. package/dist/client/decorators/key.js +0 -10
  708. package/dist/client/decorators/localEvent.d.ts +0 -7
  709. package/dist/client/decorators/localEvent.js +0 -15
  710. package/dist/client/decorators/nui.d.ts +0 -1
  711. package/dist/client/decorators/nui.js +0 -9
  712. package/dist/client/decorators/onNet.d.ts +0 -1
  713. package/dist/client/decorators/onNet.js +0 -9
  714. package/dist/client/decorators/resourceLifecycle.d.ts +0 -11
  715. package/dist/client/decorators/resourceLifecycle.js +0 -24
  716. package/dist/client/decorators/tick.d.ts +0 -1
  717. package/dist/client/decorators/tick.js +0 -9
  718. package/dist/client/index.d.ts +0 -7
  719. package/dist/client/index.js +0 -23
  720. package/dist/client/interfaces/appearance.interface.d.ts +0 -19
  721. package/dist/client/interfaces/appearance.interface.js +0 -2
  722. package/dist/client/player/player.d.ts +0 -262
  723. package/dist/client/player/player.js +0 -480
  724. package/dist/client/player/player.loader.d.ts +0 -1
  725. package/dist/client/player/player.loader.js +0 -22
  726. package/dist/client/services/appearance.service.d.ts +0 -6
  727. package/dist/client/services/appearance.service.js +0 -89
  728. package/dist/client/services/blip.service.d.ts +0 -112
  729. package/dist/client/services/blip.service.js +0 -215
  730. package/dist/client/services/index.d.ts +0 -9
  731. package/dist/client/services/index.js +0 -25
  732. package/dist/client/services/marker.service.d.ts +0 -94
  733. package/dist/client/services/marker.service.js +0 -153
  734. package/dist/client/services/notification.service.d.ts +0 -76
  735. package/dist/client/services/notification.service.js +0 -111
  736. package/dist/client/services/ped.service.d.ts +0 -182
  737. package/dist/client/services/ped.service.js +0 -302
  738. package/dist/client/services/progress.service.d.ts +0 -82
  739. package/dist/client/services/progress.service.js +0 -210
  740. package/dist/client/services/spawn.service.d.ts +0 -73
  741. package/dist/client/services/spawn.service.js +0 -261
  742. package/dist/client/services/streaming.service.d.ts +0 -165
  743. package/dist/client/services/streaming.service.js +0 -341
  744. package/dist/client/services/textui.service.d.ts +0 -82
  745. package/dist/client/services/textui.service.js +0 -156
  746. package/dist/client/services/vehicle.service.d.ts +0 -168
  747. package/dist/client/services/vehicle.service.js +0 -296
  748. package/dist/client/system/metadata-client.keys.d.ts +0 -13
  749. package/dist/client/system/metadata-client.keys.js +0 -16
  750. package/dist/client/system/processors/export.processor.d.ts +0 -7
  751. package/dist/client/system/processors/export.processor.js +0 -39
  752. package/dist/client/system/processors/gameEvent.processor.d.ts +0 -10
  753. package/dist/client/system/processors/gameEvent.processor.js +0 -58
  754. package/dist/client/system/processors/interval.processor.d.ts +0 -7
  755. package/dist/client/system/processors/interval.processor.js +0 -43
  756. package/dist/client/system/processors/key.processor.d.ts +0 -8
  757. package/dist/client/system/processors/key.processor.js +0 -27
  758. package/dist/client/system/processors/localEvent.processor.d.ts +0 -7
  759. package/dist/client/system/processors/localEvent.processor.js +0 -38
  760. package/dist/client/system/processors/netEvent.processor.d.ts +0 -7
  761. package/dist/client/system/processors/netEvent.processor.js +0 -38
  762. package/dist/client/system/processors/nui.processor.d.ts +0 -7
  763. package/dist/client/system/processors/nui.processor.js +0 -40
  764. package/dist/client/system/processors/resourceLifecycle.processor.d.ts +0 -9
  765. package/dist/client/system/processors/resourceLifecycle.processor.js +0 -69
  766. package/dist/client/system/processors/tick.processor.d.ts +0 -5
  767. package/dist/client/system/processors/tick.processor.js +0 -37
  768. package/dist/client/system/processors.register.d.ts +0 -1
  769. package/dist/client/system/processors.register.js +0 -27
  770. package/dist/client/types/game-events.d.ts +0 -126
  771. package/dist/client/types/game-events.js +0 -83
  772. package/dist/client/types/index.js +0 -17
  773. package/dist/client/ui-bridge.d.ts +0 -116
  774. package/dist/client/ui-bridge.js +0 -201
  775. package/dist/server/bootstrap.d.ts +0 -16
  776. package/dist/server/bootstrap.js +0 -57
  777. package/dist/server/bus/core-event-bus.d.ts +0 -6
  778. package/dist/server/bus/core-event-bus.js +0 -31
  779. package/dist/server/configs/api.config.d.ts +0 -71
  780. package/dist/server/configs/api.config.js +0 -81
  781. package/dist/server/configs/config.base.d.ts +0 -63
  782. package/dist/server/configs/config.base.js +0 -64
  783. package/dist/server/configs/index.d.ts +0 -2
  784. package/dist/server/configs/index.js +0 -18
  785. package/dist/server/container.d.ts +0 -2
  786. package/dist/server/container.js +0 -6
  787. package/dist/server/controllers/chat.controller.d.ts +0 -10
  788. package/dist/server/controllers/chat.controller.js +0 -50
  789. package/dist/server/controllers/command.controller.d.ts +0 -7
  790. package/dist/server/controllers/command.controller.js +0 -47
  791. package/dist/server/controllers/session.controller.d.ts +0 -9
  792. package/dist/server/controllers/session.controller.js +0 -70
  793. package/dist/server/core.d.ts +0 -1
  794. package/dist/server/core.js +0 -7
  795. package/dist/server/database/adapters/oxmysql.adapter.d.ts +0 -89
  796. package/dist/server/database/adapters/oxmysql.adapter.js +0 -149
  797. package/dist/server/database/database.contract.d.ts +0 -128
  798. package/dist/server/database/database.contract.js +0 -29
  799. package/dist/server/database/database.service.d.ts +0 -216
  800. package/dist/server/database/database.service.js +0 -301
  801. package/dist/server/database/index.d.ts +0 -53
  802. package/dist/server/database/index.js +0 -70
  803. package/dist/server/database/types.d.ts +0 -67
  804. package/dist/server/database/types.js +0 -7
  805. package/dist/server/database.d.ts +0 -7
  806. package/dist/server/database.js +0 -23
  807. package/dist/server/decorators/bind.d.ts +0 -2
  808. package/dist/server/decorators/bind.js +0 -15
  809. package/dist/server/decorators/command.d.ts +0 -49
  810. package/dist/server/decorators/command.js +0 -23
  811. package/dist/server/decorators/controller.d.ts +0 -25
  812. package/dist/server/decorators/controller.js +0 -36
  813. package/dist/server/decorators/export.d.ts +0 -39
  814. package/dist/server/decorators/export.js +0 -47
  815. package/dist/server/decorators/guard.d.ts +0 -56
  816. package/dist/server/decorators/guard.js +0 -82
  817. package/dist/server/decorators/index.d.ts +0 -10
  818. package/dist/server/decorators/index.js +0 -29
  819. package/dist/server/decorators/onFiveMEvent.d.ts +0 -6
  820. package/dist/server/decorators/onFiveMEvent.js +0 -14
  821. package/dist/server/decorators/onFrameworkEvent.d.ts +0 -22
  822. package/dist/server/decorators/onFrameworkEvent.js +0 -29
  823. package/dist/server/decorators/onNet.d.ts +0 -58
  824. package/dist/server/decorators/onNet.js +0 -57
  825. package/dist/server/decorators/onTick.d.ts +0 -32
  826. package/dist/server/decorators/onTick.js +0 -40
  827. package/dist/server/decorators/public.d.ts +0 -27
  828. package/dist/server/decorators/public.js +0 -36
  829. package/dist/server/decorators/requiresState.d.ts +0 -56
  830. package/dist/server/decorators/requiresState.js +0 -63
  831. package/dist/server/decorators/throttle.d.ts +0 -48
  832. package/dist/server/decorators/throttle.js +0 -63
  833. package/dist/server/decorators/utils.d.ts +0 -57
  834. package/dist/server/decorators/utils.js +0 -63
  835. package/dist/server/entities/index.d.ts +0 -1
  836. package/dist/server/entities/index.js +0 -17
  837. package/dist/server/entities/player.d.ts +0 -157
  838. package/dist/server/entities/player.js +0 -217
  839. package/dist/server/error-handler.d.ts +0 -2
  840. package/dist/server/error-handler.js +0 -43
  841. package/dist/server/helpers/resolve-method.d.ts +0 -5
  842. package/dist/server/helpers/resolve-method.js +0 -18
  843. package/dist/server/index.d.ts +0 -10
  844. package/dist/server/index.js +0 -31
  845. package/dist/server/loaders/exports.loader.js +0 -23
  846. package/dist/server/loaders/playerSession.loader.d.ts +0 -1
  847. package/dist/server/loaders/playerSession.loader.js +0 -51
  848. package/dist/server/services/access-control.service.d.ts +0 -56
  849. package/dist/server/services/access-control.service.js +0 -99
  850. package/dist/server/services/chat.service.d.ts +0 -7
  851. package/dist/server/services/chat.service.js +0 -31
  852. package/dist/server/services/command.service.d.ts +0 -15
  853. package/dist/server/services/command.service.js +0 -77
  854. package/dist/server/services/config.service.d.ts +0 -75
  855. package/dist/server/services/config.service.js +0 -116
  856. package/dist/server/services/default/default-security.handler.d.ts +0 -6
  857. package/dist/server/services/default/default-security.handler.js +0 -26
  858. package/dist/server/services/http/http.service.d.ts +0 -50
  859. package/dist/server/services/http/http.service.js +0 -126
  860. package/dist/server/services/index.d.ts +0 -10
  861. package/dist/server/services/index.js +0 -26
  862. package/dist/server/services/parallel/index.d.ts +0 -49
  863. package/dist/server/services/parallel/index.js +0 -67
  864. package/dist/server/services/parallel/parallel-compute.service.d.ts +0 -132
  865. package/dist/server/services/parallel/parallel-compute.service.js +0 -449
  866. package/dist/server/services/parallel/types.d.ts +0 -188
  867. package/dist/server/services/parallel/types.js +0 -7
  868. package/dist/server/services/parallel/worker-pool.d.ts +0 -83
  869. package/dist/server/services/parallel/worker-pool.js +0 -350
  870. package/dist/server/services/parallel/worker.d.ts +0 -19
  871. package/dist/server/services/parallel/worker.js +0 -49
  872. package/dist/server/services/persistence.service.d.ts +0 -59
  873. package/dist/server/services/persistence.service.js +0 -166
  874. package/dist/server/services/player.service.d.ts +0 -96
  875. package/dist/server/services/player.service.js +0 -132
  876. package/dist/server/services/rate-limiter.service.d.ts +0 -5
  877. package/dist/server/services/rate-limiter.service.js +0 -39
  878. package/dist/server/services/registers.d.ts +0 -1
  879. package/dist/server/services/registers.js +0 -18
  880. package/dist/server/setup.d.ts +0 -9
  881. package/dist/server/setup.js +0 -28
  882. package/dist/server/system/metadata-server.keys.d.ts +0 -10
  883. package/dist/server/system/metadata-server.keys.js +0 -13
  884. package/dist/server/system/processors/command.processor.d.ts +0 -9
  885. package/dist/server/system/processors/command.processor.js +0 -30
  886. package/dist/server/system/processors/coreEvent.processor.d.ts +0 -7
  887. package/dist/server/system/processors/coreEvent.processor.js +0 -41
  888. package/dist/server/system/processors/export.processor.d.ts +0 -7
  889. package/dist/server/system/processors/export.processor.js +0 -30
  890. package/dist/server/system/processors/fivemEvent.processor.d.ts +0 -7
  891. package/dist/server/system/processors/fivemEvent.processor.js +0 -40
  892. package/dist/server/system/processors/netEvent.processor.d.ts +0 -11
  893. package/dist/server/system/processors/netEvent.processor.js +0 -103
  894. package/dist/server/system/processors/tick.processor.d.ts +0 -5
  895. package/dist/server/system/processors/tick.processor.js +0 -36
  896. package/dist/server/system/processors.register.d.ts +0 -1
  897. package/dist/server/system/processors.register.js +0 -23
  898. package/dist/server/system/schema-generator.d.ts +0 -2
  899. package/dist/server/system/schema-generator.js +0 -34
  900. package/dist/server/templates/admin/admin.controller-template.d.ts +0 -12
  901. package/dist/server/templates/admin/admin.controller-template.js +0 -2
  902. package/dist/server/templates/auth/auth-provider.contract.d.ts +0 -58
  903. package/dist/server/templates/auth/auth-provider.contract.js +0 -23
  904. package/dist/server/templates/index.d.ts +0 -8
  905. package/dist/server/templates/index.js +0 -21
  906. package/dist/server/templates/persistence/index.d.ts +0 -30
  907. package/dist/server/templates/persistence/index.js +0 -34
  908. package/dist/server/templates/persistence/player-persistence.contract.d.ts +0 -86
  909. package/dist/server/templates/persistence/player-persistence.contract.js +0 -52
  910. package/dist/server/templates/repository/index.d.ts +0 -57
  911. package/dist/server/templates/repository/index.js +0 -61
  912. package/dist/server/templates/repository/repository.contract.d.ts +0 -224
  913. package/dist/server/templates/repository/repository.contract.js +0 -342
  914. package/dist/server/templates/repository/repository.types.d.ts +0 -51
  915. package/dist/server/templates/repository/repository.types.js +0 -7
  916. package/dist/server/templates/security/permission.types.d.ts +0 -32
  917. package/dist/server/templates/security/permission.types.js +0 -2
  918. package/dist/server/templates/security/principal-provider.contract.d.ts +0 -43
  919. package/dist/server/templates/security/principal-provider.contract.js +0 -19
  920. package/dist/server/templates/security/security-handler.contract.d.ts +0 -5
  921. package/dist/server/templates/security/security-handler.contract.js +0 -6
  922. package/dist/server/types/core-events.d.ts +0 -22
  923. package/dist/server/types/core-events.js +0 -2
  924. package/dist/server/types/security.types.js +0 -2
  925. package/dist/shared/index.d.ts +0 -1
  926. package/dist/shared/index.js +0 -17
  927. package/dist/shared/logger/core-logger.d.ts +0 -35
  928. package/dist/shared/logger/core-logger.js +0 -52
  929. package/dist/shared/logger/index.d.ts +0 -11
  930. package/dist/shared/logger/index.js +0 -26
  931. package/dist/shared/logger/logger.config.d.ts +0 -47
  932. package/dist/shared/logger/logger.config.js +0 -33
  933. package/dist/shared/logger/logger.service.d.ts +0 -161
  934. package/dist/shared/logger/logger.service.js +0 -279
  935. package/dist/shared/logger/logger.types.js +0 -74
  936. package/dist/shared/logger/transports/buffered.transport.d.ts +0 -88
  937. package/dist/shared/logger/transports/buffered.transport.js +0 -174
  938. package/dist/shared/logger/transports/console.transport.d.ts +0 -37
  939. package/dist/shared/logger/transports/console.transport.js +0 -134
  940. package/dist/shared/logger/transports/index.d.ts +0 -3
  941. package/dist/shared/logger/transports/index.js +0 -19
  942. package/dist/shared/logger/transports/transport.interface.d.ts +0 -40
  943. package/dist/shared/logger/transports/transport.interface.js +0 -2
  944. package/dist/system/class-constructor.js +0 -2
  945. package/dist/system/decorator-processor.js +0 -2
  946. package/dist/system/metadata.scanner.d.ts +0 -7
  947. package/dist/system/metadata.scanner.js +0 -45
  948. package/dist/utils/errors.d.ts +0 -14
  949. package/dist/utils/errors.js +0 -25
  950. package/dist/utils/index.d.ts +0 -4
  951. package/dist/utils/index.js +0 -20
  952. package/dist/utils/result.d.ts +0 -12
  953. package/dist/utils/result.js +0 -10
  954. package/dist/utils/rgb.d.ts +0 -5
  955. package/dist/utils/rgb.js +0 -2
  956. package/dist/utils/vector3.d.ts +0 -13
  957. package/dist/utils/vector3.js +0 -27
  958. /package/dist/{server/loaders/exports.loader.d.ts → adapters/contracts/client/spawn/types.js} +0 -0
  959. /package/dist/{system → kernel/di}/class-constructor.d.ts +0 -0
  960. /package/dist/{system → kernel/di}/decorator-processor.d.ts +0 -0
  961. /package/dist/{server/types → kernel/error}/security.types.d.ts +0 -0
  962. /package/dist/{shared → kernel}/logger/logger.types.d.ts +0 -0
  963. /package/dist/{client → runtime/client}/client-container.d.ts +0 -0
  964. /package/dist/{client → runtime/client}/types/index.d.ts +0 -0
@@ -0,0 +1,172 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { inject } from 'tsyringe';
14
+ import { IEngineEvents } from '../../../adapters/contracts/IEngineEvents';
15
+ import { IResourceInfo } from '../../../adapters/contracts/IResourceInfo';
16
+ import { loggers } from '../../../kernel/logger';
17
+ import { CommandErrorObserverContract } from '../contracts/security/command-error-observer.contract';
18
+ import { Controller } from '../decorators';
19
+ import { normalizeToAppError } from '../helpers/normalize-app-error';
20
+ import { getRuntimeContext } from '../runtime';
21
+ import { CommandExecutionPort } from '../ports/internal/command-execution.port';
22
+ import { Players } from '../ports/players.api-port';
23
+ /**
24
+ * Controller for executing remote commands in RESOURCE mode.
25
+ *
26
+ * @remarks
27
+ * Listens for command execution events from CORE and invokes
28
+ * the local handler stored in RemoteCommandService.
29
+ *
30
+ * Flow:
31
+ * 1. Player executes command → sent to CORE
32
+ * 2. CORE validates and emits local event to owning resource
33
+ * 3. This controller receives event → looks up handler → executes
34
+ *
35
+ * @note Uses IEngineEvents.on() (local event) not @OnNet (network event)
36
+ * because CORE→RESOURCE communication is server-to-server.
37
+ * Event registration happens in constructor via adapter layer.
38
+ */
39
+ let RemoteCommandExecutionController = class RemoteCommandExecutionController {
40
+ commandService;
41
+ playerDirectory;
42
+ commandErrorObserver;
43
+ engineEvents;
44
+ resourceInfo;
45
+ constructor(commandService, playerDirectory, commandErrorObserver, engineEvents, resourceInfo) {
46
+ this.commandService = commandService;
47
+ this.playerDirectory = playerDirectory;
48
+ this.commandErrorObserver = commandErrorObserver;
49
+ this.engineEvents = engineEvents;
50
+ this.resourceInfo = resourceInfo;
51
+ this.registerEventHandler();
52
+ }
53
+ /**
54
+ * Invokes the global {@link CommandErrorObserverContract} safely.
55
+ *
56
+ * @remarks
57
+ * Observers are user-land code; failures must never break command execution.
58
+ */
59
+ async safeObserve(ctx) {
60
+ try {
61
+ await this.commandErrorObserver.onError(ctx);
62
+ }
63
+ catch (e) {
64
+ loggers.command.fatal(`Command error observer failed`, ctx, e);
65
+ }
66
+ }
67
+ /**
68
+ * Registers the event handler for command execution from CORE.
69
+ *
70
+ * @remarks
71
+ * Event format: `opencore:command:execute:{resourceName}`
72
+ * Uses adapter layer instead of direct FiveM globals.
73
+ */
74
+ registerEventHandler() {
75
+ const resourceName = this.resourceInfo.getCurrentResourceName();
76
+ const eventName = `opencore:command:execute:${resourceName}`;
77
+ this.engineEvents.on(eventName, async (clientID, commandName, args) => {
78
+ await this.handleCommandExecution(clientID, commandName, args);
79
+ });
80
+ loggers.command.debug(`Registered remote command handler for resource: ${resourceName}`);
81
+ }
82
+ /**
83
+ * Handles command execution requests from CORE.
84
+ *
85
+ * @param clientID - The client ID of the player executing the command
86
+ * @param commandName - The command to execute
87
+ * @param args - Command arguments
88
+ */
89
+ async handleCommandExecution(clientID, commandName, args) {
90
+ loggers.command.debug(`Received command execution request`, {
91
+ command: commandName,
92
+ clientID,
93
+ args,
94
+ });
95
+ const player = this.playerDirectory.getByClient(clientID);
96
+ if (!player) {
97
+ loggers.command.warn(`Command execution failed: player not found`, {
98
+ command: commandName,
99
+ clientID,
100
+ });
101
+ return;
102
+ }
103
+ loggers.command.debug(`Executing command for player`, {
104
+ command: commandName,
105
+ playerName: player.name,
106
+ clientID,
107
+ });
108
+ try {
109
+ await this.commandService.execute(player, commandName, args);
110
+ loggers.command.debug(`Command executed successfully`, {
111
+ command: commandName,
112
+ clientID,
113
+ });
114
+ }
115
+ catch (error) {
116
+ // Do not notify the player here. Report through the global observer.
117
+ const runtime = getRuntimeContext();
118
+ const appError = normalizeToAppError(error, 'server');
119
+ const meta = this.commandService.getCommandMeta(commandName);
120
+ const stage = appError.code === 'GAME:BAD_REQUEST' || appError.code.startsWith('SCHEMA:')
121
+ ? 'validation'
122
+ : appError.code === 'COMMAND:NOT_FOUND'
123
+ ? 'dispatch'
124
+ : 'handler';
125
+ await this.safeObserve({
126
+ mode: runtime.mode,
127
+ scope: runtime.mode === 'CORE'
128
+ ? 'core'
129
+ : runtime.mode === 'RESOURCE'
130
+ ? 'resource'
131
+ : 'standalone',
132
+ stage,
133
+ error: appError,
134
+ commandName,
135
+ args,
136
+ player: {
137
+ clientId: player.clientID,
138
+ accountId: player.accountID,
139
+ name: player.name,
140
+ },
141
+ playerRef: player,
142
+ command: meta
143
+ ? {
144
+ command: meta.command,
145
+ description: meta.description,
146
+ usage: meta.usage,
147
+ isPublic: meta.isPublic,
148
+ methodName: meta.methodName,
149
+ expectsPlayer: meta.expectsPlayer,
150
+ paramNames: meta.paramNames,
151
+ }
152
+ : undefined,
153
+ commandMeta: meta,
154
+ ownerResourceName: this.resourceInfo.getCurrentResourceName(),
155
+ });
156
+ }
157
+ }
158
+ };
159
+ RemoteCommandExecutionController = __decorate([
160
+ Controller(),
161
+ __param(0, inject(CommandExecutionPort)),
162
+ __param(1, inject(Players)),
163
+ __param(2, inject(CommandErrorObserverContract)),
164
+ __param(3, inject(IEngineEvents)),
165
+ __param(4, inject(IResourceInfo)),
166
+ __metadata("design:paramtypes", [CommandExecutionPort,
167
+ Players,
168
+ CommandErrorObserverContract,
169
+ IEngineEvents,
170
+ IResourceInfo])
171
+ ], RemoteCommandExecutionController);
172
+ export { RemoteCommandExecutionController };
@@ -0,0 +1,11 @@
1
+ import { PlayerPersistenceService } from '../services/persistence.service';
2
+ import { PlayerSessionLifecyclePort } from '../ports/internal/player-session-lifecycle.port';
3
+ import { Players } from '../ports/players.api-port';
4
+ export declare class SessionController {
5
+ private readonly playerSessionLifecycle;
6
+ private readonly playerDirectory;
7
+ private readonly persistance;
8
+ constructor(playerSessionLifecycle: PlayerSessionLifecyclePort, playerDirectory: Players, persistance: PlayerPersistenceService);
9
+ onPlayerJoining(clientId: number, identifiers?: Record<string, string>): Promise<void>;
10
+ onPlayerDropped(clientId: number): Promise<void>;
11
+ }
@@ -0,0 +1,84 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { RUNTIME_EVENTS } from '../../../adapters/contracts/runtime';
14
+ import { inject } from 'tsyringe';
15
+ import { loggers } from '../../../kernel/logger';
16
+ import { emitFrameworkEvent } from '../bus/internal-event.bus';
17
+ import { Controller } from '../decorators';
18
+ import { OnRuntimeEvent } from '../decorators/onRuntimeEvent';
19
+ import { PlayerPersistenceService } from '../services/persistence.service';
20
+ import { PlayerSessionLifecyclePort } from '../ports/internal/player-session-lifecycle.port';
21
+ import { Players } from '../ports/players.api-port';
22
+ let SessionController = class SessionController {
23
+ playerSessionLifecycle;
24
+ playerDirectory;
25
+ persistance;
26
+ constructor(playerSessionLifecycle, playerDirectory, persistance) {
27
+ this.playerSessionLifecycle = playerSessionLifecycle;
28
+ this.playerDirectory = playerDirectory;
29
+ this.persistance = persistance;
30
+ }
31
+ async onPlayerJoining(clientId, identifiers) {
32
+ const player = this.playerSessionLifecycle.bind(clientId, {
33
+ license: identifiers?.license,
34
+ ...identifiers,
35
+ });
36
+ loggers.session.info(`Player session created`, {
37
+ clientId,
38
+ license: identifiers?.license ?? 'none',
39
+ });
40
+ await this.persistance.handleSessionLoad(player);
41
+ emitFrameworkEvent('internal:playerSessionCreated', {
42
+ clientId,
43
+ license: identifiers?.license,
44
+ });
45
+ setImmediate(() => {
46
+ const currentPlayer = this.playerDirectory.getByClient(clientId);
47
+ if (!currentPlayer)
48
+ return;
49
+ const payload = { player: currentPlayer };
50
+ emitFrameworkEvent('internal:playerFullyConnected', payload);
51
+ });
52
+ }
53
+ async onPlayerDropped(clientId) {
54
+ const player = this.playerDirectory.getByClient(clientId);
55
+ if (player) {
56
+ await this.persistance.handleSessionSave(player);
57
+ }
58
+ this.playerSessionLifecycle.unbind(clientId);
59
+ emitFrameworkEvent('internal:playerSessionDestroyed', { clientId });
60
+ loggers.session.info(`Player session destroyed`, { clientId });
61
+ }
62
+ };
63
+ __decorate([
64
+ OnRuntimeEvent(RUNTIME_EVENTS.playerJoining),
65
+ __metadata("design:type", Function),
66
+ __metadata("design:paramtypes", [Number, Object]),
67
+ __metadata("design:returntype", Promise)
68
+ ], SessionController.prototype, "onPlayerJoining", null);
69
+ __decorate([
70
+ OnRuntimeEvent(RUNTIME_EVENTS.playerDropped),
71
+ __metadata("design:type", Function),
72
+ __metadata("design:paramtypes", [Number]),
73
+ __metadata("design:returntype", Promise)
74
+ ], SessionController.prototype, "onPlayerDropped", null);
75
+ SessionController = __decorate([
76
+ Controller(),
77
+ __param(0, inject(PlayerSessionLifecyclePort)),
78
+ __param(1, inject(Players)),
79
+ __param(2, inject(PlayerPersistenceService)),
80
+ __metadata("design:paramtypes", [PlayerSessionLifecyclePort,
81
+ Players,
82
+ PlayerPersistenceService])
83
+ ], SessionController);
84
+ export { SessionController };
@@ -0,0 +1,22 @@
1
+ import { EventsAPI } from '../../../adapters/contracts/transport/events.api';
2
+ import { Player } from '../entities/player';
3
+ import { Vehicles } from '../apis/vehicles.api';
4
+ /**
5
+ * Controller for handling vehicle-related network events.
6
+ *
7
+ * All client requests for vehicle operations go through this controller
8
+ * for validation and security checks.
9
+ */
10
+ export declare class VehicleController {
11
+ private readonly vehicleService;
12
+ private readonly events;
13
+ constructor(vehicleService: Vehicles, events: EventsAPI<'server'>);
14
+ /**
15
+ * Handles client request to get vehicle data.
16
+ */
17
+ handleGetData(player: Player, networkId: number): import("..").SerializedVehicleData | null;
18
+ /**
19
+ * Handles client request to get all player vehicles.
20
+ */
21
+ handleGetPlayerVehicles(player: Player): import("..").SerializedVehicleData[];
22
+ }
@@ -0,0 +1,73 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { inject } from 'tsyringe';
14
+ import { EventsAPI } from '../../../adapters/contracts/transport/events.api';
15
+ import { Controller, OnNet } from '../decorators';
16
+ import { Player } from '../entities/player';
17
+ import { Vehicles } from '../apis/vehicles.api';
18
+ /**
19
+ * Controller for handling vehicle-related network events.
20
+ *
21
+ * All client requests for vehicle operations go through this controller
22
+ * for validation and security checks.
23
+ */
24
+ let VehicleController = class VehicleController {
25
+ vehicleService;
26
+ events;
27
+ constructor(vehicleService, events) {
28
+ this.vehicleService = vehicleService;
29
+ this.events = events;
30
+ }
31
+ /**
32
+ * Handles client request to get vehicle data.
33
+ */
34
+ handleGetData(player, networkId) {
35
+ const vehicle = this.vehicleService.getByNetworkId(networkId);
36
+ if (!vehicle) {
37
+ this.events.emit('opencore:vehicle:dataResult', player.clientID, null);
38
+ return null;
39
+ }
40
+ const data = vehicle.serialize();
41
+ this.events.emit('opencore:vehicle:dataResult', player.clientID, data);
42
+ return data;
43
+ }
44
+ /**
45
+ * Handles client request to get all player vehicles.
46
+ */
47
+ handleGetPlayerVehicles(player) {
48
+ const vehicles = this.vehicleService.getPlayerVehicles(player.clientID);
49
+ const serialized = vehicles.map((v) => v.serialize());
50
+ this.events.emit('opencore:vehicle:playerVehiclesResult', player.clientID, serialized);
51
+ return serialized;
52
+ }
53
+ };
54
+ __decorate([
55
+ OnNet('opencore:vehicle:getData'),
56
+ __metadata("design:type", Function),
57
+ __metadata("design:paramtypes", [Player, Number]),
58
+ __metadata("design:returntype", void 0)
59
+ ], VehicleController.prototype, "handleGetData", null);
60
+ __decorate([
61
+ OnNet('opencore:vehicle:getPlayerVehicles'),
62
+ __metadata("design:type", Function),
63
+ __metadata("design:paramtypes", [Player]),
64
+ __metadata("design:returntype", void 0)
65
+ ], VehicleController.prototype, "handleGetPlayerVehicles", null);
66
+ VehicleController = __decorate([
67
+ Controller(),
68
+ __param(0, inject(Vehicles)),
69
+ __param(1, inject(EventsAPI)),
70
+ __metadata("design:paramtypes", [Vehicles,
71
+ EventsAPI])
72
+ ], VehicleController);
73
+ export { VehicleController };
@@ -0,0 +1,9 @@
1
+ import { type OpenCorePlugin } from './library/plugin';
2
+ import { type FrameworkMode, type ServerInitOptions } from './runtime';
3
+ import { OpenCoreServerAdapter } from './adapter';
4
+ export declare let _mode: FrameworkMode;
5
+ export interface OpenCoreInitOptions extends ServerInitOptions {
6
+ plugins?: OpenCorePlugin[];
7
+ }
8
+ export declare function useAdapter(adapter: OpenCoreServerAdapter): void;
9
+ export declare function init(options: OpenCoreInitOptions): Promise<void>;
@@ -0,0 +1,45 @@
1
+ import { GLOBAL_CONTAINER } from '../../kernel/di/container';
2
+ import { PluginRegistry } from './library/plugin';
3
+ import { Server } from './server.runtime';
4
+ import { initServer } from './bootstrap';
5
+ import { resolveRuntimeOptions, } from './runtime';
6
+ export let _mode;
7
+ let _pendingAdapter;
8
+ export function useAdapter(adapter) {
9
+ _pendingAdapter = adapter;
10
+ }
11
+ function createConfigAccessor(options) {
12
+ const runtimeOptions = { ...options };
13
+ return {
14
+ get(key) {
15
+ const segments = key.split('.').filter(Boolean);
16
+ let current = runtimeOptions;
17
+ for (const segment of segments) {
18
+ if (typeof current !== 'object' || current === null) {
19
+ return undefined;
20
+ }
21
+ current = current[segment];
22
+ }
23
+ return current;
24
+ },
25
+ };
26
+ }
27
+ export async function init(options) {
28
+ if (!options.adapter && _pendingAdapter) {
29
+ options = { ...options, adapter: _pendingAdapter };
30
+ }
31
+ const resolved = resolveRuntimeOptions(options);
32
+ _mode = resolved.mode;
33
+ const registry = new PluginRegistry();
34
+ const pluginContext = {
35
+ server: Server,
36
+ di: {
37
+ register(token, value) {
38
+ GLOBAL_CONTAINER.registerInstance(token, value);
39
+ },
40
+ },
41
+ config: createConfigAccessor(resolved),
42
+ };
43
+ await registry.installAll(options.plugins ?? [], pluginContext);
44
+ await initServer(resolved, { registry, context: pluginContext });
45
+ }
@@ -0,0 +1,15 @@
1
+ export interface BinaryCallOptions {
2
+ action?: string;
3
+ timeoutMs?: number;
4
+ service?: string;
5
+ }
6
+ /**
7
+ * marks a method as a remote binary action executed by a BinaryService. When a method decorated with @BinaryCall is invoked, its implementation is never executed locally. Instead, OpenCore replaces the method at runtime with an asynchronous proxy that:
8
+ * - Serializes the method arguments
9
+ * - Sends a request to the associated binary process
10
+ * - Waits for a response
11
+ * - Resolves or rejects the returned Promise
12
+ *
13
+ * From the developer’s perspective, the method behaves like a normal async function, while the actual logic is executed externally.
14
+ */
15
+ export declare function BinaryCall(options?: BinaryCallOptions): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void;
@@ -0,0 +1,23 @@
1
+ import { METADATA_KEYS } from '../system/metadata-server.keys';
2
+ /**
3
+ * marks a method as a remote binary action executed by a BinaryService. When a method decorated with @BinaryCall is invoked, its implementation is never executed locally. Instead, OpenCore replaces the method at runtime with an asynchronous proxy that:
4
+ * - Serializes the method arguments
5
+ * - Sends a request to the associated binary process
6
+ * - Waits for a response
7
+ * - Resolves or rejects the returned Promise
8
+ *
9
+ * From the developer’s perspective, the method behaves like a normal async function, while the actual logic is executed externally.
10
+ */
11
+ export function BinaryCall(options = {}) {
12
+ return (target, propertyKey, descriptor) => {
13
+ if (!descriptor.value) {
14
+ throw new Error(`@BinaryCall(): descriptor.value is undefined for method '${propertyKey}'`);
15
+ }
16
+ Reflect.defineMetadata(METADATA_KEYS.BINARY_CALL, {
17
+ methodName: propertyKey,
18
+ action: options.action ?? propertyKey,
19
+ timeoutMs: options.timeoutMs,
20
+ service: options.service,
21
+ }, target, propertyKey);
22
+ };
23
+ }
@@ -0,0 +1,21 @@
1
+ export interface BinaryEventOptions {
2
+ event?: string;
3
+ service?: string;
4
+ }
5
+ export interface BinaryEventMetadata {
6
+ methodName: string;
7
+ event: string;
8
+ service?: string;
9
+ }
10
+ /**
11
+ * Registers a method as a listener for events emitted by a BinaryService process.
12
+ * When the binary writes an event message to stdout, the framework dispatches it
13
+ * to the matching handler automatically.
14
+ *
15
+ * The binary must emit a JSON line with the shape:
16
+ * `{ "type": "event", "event": "<name>", "data": <any> }`
17
+ *
18
+ * @param options.event - Event name to listen for. Defaults to the method name.
19
+ * @param options.service - Target BinaryService name. Only needed when the handler lives outside the service class.
20
+ */
21
+ export declare function BinaryEvent(options?: BinaryEventOptions): (target: any, propertyKey: string, _descriptor: PropertyDescriptor) => void;
@@ -0,0 +1,22 @@
1
+ import { METADATA_KEYS } from '../system/metadata-server.keys';
2
+ /**
3
+ * Registers a method as a listener for events emitted by a BinaryService process.
4
+ * When the binary writes an event message to stdout, the framework dispatches it
5
+ * to the matching handler automatically.
6
+ *
7
+ * The binary must emit a JSON line with the shape:
8
+ * `{ "type": "event", "event": "<name>", "data": <any> }`
9
+ *
10
+ * @param options.event - Event name to listen for. Defaults to the method name.
11
+ * @param options.service - Target BinaryService name. Only needed when the handler lives outside the service class.
12
+ */
13
+ export function BinaryEvent(options = {}) {
14
+ return (target, propertyKey, _descriptor) => {
15
+ const metadata = {
16
+ methodName: propertyKey,
17
+ event: options.event ?? propertyKey,
18
+ service: options.service,
19
+ };
20
+ Reflect.defineMetadata(METADATA_KEYS.BINARY_EVENT, metadata, target, propertyKey);
21
+ };
22
+ }
@@ -0,0 +1,27 @@
1
+ import { ClassConstructor } from '../../../kernel/di/class-constructor';
2
+ export interface BinaryServiceOptions {
3
+ /** Logical identifier of the service inside OpenCore. This name is used to route binary calls and must be unique per resource. */
4
+ name: string;
5
+ /** Logical binary filename (without extension). The framework resolves the correct executable automatically depending on the platform */
6
+ binary: string;
7
+ /**
8
+ * Default timeout for binary calls in milliseconds. If the binary does not respond within this time, the call is rejected automatically.
9
+ */
10
+ timeoutMs?: number;
11
+ }
12
+ export interface BinaryServiceMetadata extends BinaryServiceOptions {
13
+ serviceClass: ClassConstructor;
14
+ }
15
+ export declare const _serverBinaryServiceRegistryByResource: Map<string, Set<ClassConstructor>>;
16
+ export declare function getServerBinaryServiceRegistry(resourceName?: string): ClassConstructor[];
17
+ /**
18
+ * Declares a native external binary service managed by OpenCore.
19
+ * A BinaryService represents a persistent operating system process executed outside the FiveM runtime, allowing heavy or sensitive logic to run in complete isolation while being consumed from TypeScript as normal asynchronous methods.
20
+ * Binary services communicate with OpenCore using a simple JSON-based RPC protocol over stdin / stdout.
21
+ *
22
+ * @remarks
23
+ * - The binary name is logical (no extensions). The framework resolves platform-specific files.
24
+ * - A single process is spawned and kept alive for the resource lifecycle.
25
+ * - This system is language-agnostic and can be implemented in any language capable of reading from standard input and writing to standard output.
26
+ */
27
+ export declare function BinaryService(options: BinaryServiceOptions): (target: ClassConstructor) => void;
@@ -0,0 +1,71 @@
1
+ import path from 'node:path';
2
+ import { METADATA_KEYS } from '../system/metadata-server.keys';
3
+ import { Bind } from './bind';
4
+ export const _serverBinaryServiceRegistryByResource = new Map();
5
+ function getCurrentResourceNameSafe() {
6
+ const fn = globalThis.GetCurrentResourceName;
7
+ if (typeof fn === 'function') {
8
+ const name = fn();
9
+ if (typeof name === 'string' && name.trim())
10
+ return name;
11
+ }
12
+ return 'default';
13
+ }
14
+ export function getServerBinaryServiceRegistry(resourceName) {
15
+ const key = resourceName ?? getCurrentResourceNameSafe();
16
+ let registry = _serverBinaryServiceRegistryByResource.get(key);
17
+ if (!registry) {
18
+ registry = new Set();
19
+ _serverBinaryServiceRegistryByResource.set(key, registry);
20
+ }
21
+ return Array.from(registry);
22
+ }
23
+ function assertValidBinaryName(binary) {
24
+ if (!binary || !binary.trim()) {
25
+ throw new Error('[OpenCore] BinaryService requires a non-empty binary name');
26
+ }
27
+ if (binary.includes('.') || path.extname(binary)) {
28
+ throw new Error(`[OpenCore] BinaryService binary name must not include extensions: ${binary}`);
29
+ }
30
+ if (/[/\\]/.test(binary)) {
31
+ throw new Error(`[OpenCore] BinaryService binary name must not include path separators: ${binary}`);
32
+ }
33
+ if (!/^[a-zA-Z0-9_-]+$/.test(binary)) {
34
+ throw new Error(`[OpenCore] BinaryService binary name has invalid characters: ${binary}`);
35
+ }
36
+ }
37
+ function assertValidServiceName(name) {
38
+ if (!name || !name.trim()) {
39
+ throw new Error('[OpenCore] BinaryService requires a non-empty service name');
40
+ }
41
+ }
42
+ /**
43
+ * Declares a native external binary service managed by OpenCore.
44
+ * A BinaryService represents a persistent operating system process executed outside the FiveM runtime, allowing heavy or sensitive logic to run in complete isolation while being consumed from TypeScript as normal asynchronous methods.
45
+ * Binary services communicate with OpenCore using a simple JSON-based RPC protocol over stdin / stdout.
46
+ *
47
+ * @remarks
48
+ * - The binary name is logical (no extensions). The framework resolves platform-specific files.
49
+ * - A single process is spawned and kept alive for the resource lifecycle.
50
+ * - This system is language-agnostic and can be implemented in any language capable of reading from standard input and writing to standard output.
51
+ */
52
+ export function BinaryService(options) {
53
+ return (target) => {
54
+ assertValidServiceName(options.name);
55
+ assertValidBinaryName(options.binary);
56
+ Bind('singleton')(target);
57
+ const metadata = {
58
+ ...options,
59
+ serviceClass: target,
60
+ };
61
+ Reflect.defineMetadata(METADATA_KEYS.BINARY_SERVICE, metadata, target);
62
+ Reflect.defineMetadata(METADATA_KEYS.BINARY_SERVICE_NAME, metadata.name, target);
63
+ const key = getCurrentResourceNameSafe();
64
+ let registry = _serverBinaryServiceRegistryByResource.get(key);
65
+ if (!registry) {
66
+ registry = new Set();
67
+ _serverBinaryServiceRegistryByResource.set(key, registry);
68
+ }
69
+ registry.add(target);
70
+ };
71
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Supported binding scopes for {@link Bind}.
3
+ */
4
+ export type BindingScope = 'singleton' | 'transient';
5
+ /**
6
+ * Marks a class as injectable and binds it into the framework DI container.
7
+ *
8
+ * @remarks
9
+ * - This decorator is a small wrapper around tsyringe's `@injectable()` plus a lifecycle binding.
10
+ * - Use `singleton` for shared stateless/stateful services.
11
+ * - Use `transient` when you want a new instance per resolution scope.
12
+ *
13
+ * @param scope - Binding scope. Defaults to `singleton`.
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * @Server.Bind('singleton')
18
+ * export class InventoryService {}
19
+ * ```
20
+ */
21
+ export declare function Bind(scope?: BindingScope): (target: any) => void;
@@ -0,0 +1,28 @@
1
+ import { injectable, Lifecycle, scoped, singleton } from 'tsyringe';
2
+ /**
3
+ * Marks a class as injectable and binds it into the framework DI container.
4
+ *
5
+ * @remarks
6
+ * - This decorator is a small wrapper around tsyringe's `@injectable()` plus a lifecycle binding.
7
+ * - Use `singleton` for shared stateless/stateful services.
8
+ * - Use `transient` when you want a new instance per resolution scope.
9
+ *
10
+ * @param scope - Binding scope. Defaults to `singleton`.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * @Server.Bind('singleton')
15
+ * export class InventoryService {}
16
+ * ```
17
+ */
18
+ export function Bind(scope = 'singleton') {
19
+ return (target) => {
20
+ injectable()(target);
21
+ if (scope === 'singleton') {
22
+ singleton()(target);
23
+ }
24
+ else {
25
+ scoped(Lifecycle.ResolutionScoped)(target);
26
+ }
27
+ };
28
+ }