@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.
- package/LICENSE +373 -373
- package/README.md +196 -268
- package/dist/adapters/contracts/IEngineEvents.d.ts +23 -0
- package/dist/adapters/contracts/IEngineEvents.js +9 -0
- package/dist/adapters/contracts/IExports.d.ts +4 -0
- package/dist/adapters/contracts/IExports.js +2 -0
- package/dist/adapters/contracts/IHasher.d.ts +15 -0
- package/dist/adapters/contracts/IHasher.js +8 -0
- package/dist/adapters/contracts/IPlatformContext.d.ts +43 -0
- package/dist/adapters/contracts/IPlatformContext.js +8 -0
- package/dist/adapters/contracts/IPlayerInfo.d.ts +5 -0
- package/dist/adapters/contracts/IPlayerInfo.js +2 -0
- package/dist/adapters/contracts/IResourceInfo.d.ts +4 -0
- package/dist/adapters/contracts/IResourceInfo.js +2 -0
- package/dist/adapters/contracts/ITick.d.ts +10 -0
- package/dist/adapters/contracts/ITick.js +5 -0
- package/dist/adapters/contracts/client/IClientLocalPlayerBridge.d.ts +4 -0
- package/dist/adapters/contracts/client/IClientLocalPlayerBridge.js +2 -0
- package/dist/adapters/contracts/client/IClientLogConsole.d.ts +13 -0
- package/dist/adapters/contracts/client/IClientLogConsole.js +2 -0
- package/dist/adapters/contracts/client/IClientPlatformBridge.d.ts +195 -0
- package/dist/adapters/contracts/client/IClientPlatformBridge.js +282 -0
- package/dist/adapters/contracts/client/IClientRuntimeBridge.d.ts +18 -0
- package/dist/adapters/contracts/client/IClientRuntimeBridge.js +14 -0
- package/dist/adapters/contracts/client/IGtaPedAppearanceBridge.d.ts +26 -0
- package/dist/adapters/contracts/client/IGtaPedAppearanceBridge.js +2 -0
- package/dist/adapters/contracts/client/index.d.ts +7 -0
- package/dist/adapters/contracts/client/index.js +7 -0
- package/dist/adapters/contracts/client/spawn/IClientSpawnBridge.d.ts +7 -0
- package/dist/adapters/contracts/client/spawn/IClientSpawnBridge.js +2 -0
- package/dist/adapters/contracts/client/spawn/index.d.ts +2 -0
- package/dist/adapters/contracts/client/spawn/index.js +2 -0
- package/dist/adapters/contracts/client/spawn/types.d.ts +14 -0
- package/dist/adapters/contracts/client/ui/IClientBlipBridge.d.ts +25 -0
- package/dist/adapters/contracts/client/ui/IClientBlipBridge.js +2 -0
- package/dist/adapters/contracts/client/ui/IClientMarkerBridge.d.ts +31 -0
- package/dist/adapters/contracts/client/ui/IClientMarkerBridge.js +2 -0
- package/dist/adapters/contracts/client/ui/IClientNotificationBridge.d.ts +21 -0
- package/dist/adapters/contracts/client/ui/IClientNotificationBridge.js +2 -0
- package/dist/adapters/contracts/client/ui/index.d.ts +4 -0
- package/dist/adapters/contracts/client/ui/index.js +4 -0
- package/dist/adapters/contracts/client/ui/webview/IClientWebViewBridge.d.ts +13 -0
- package/dist/adapters/contracts/client/ui/webview/IClientWebViewBridge.js +2 -0
- package/dist/adapters/contracts/client/ui/webview/index.d.ts +2 -0
- package/dist/adapters/contracts/client/ui/webview/index.js +2 -0
- package/dist/adapters/contracts/client/ui/webview/types.d.ts +25 -0
- package/dist/adapters/contracts/client/ui/webview/types.js +0 -0
- package/dist/adapters/contracts/index.d.ts +4 -0
- package/dist/adapters/contracts/index.js +4 -0
- package/dist/adapters/contracts/runtime/index.d.ts +1 -0
- package/dist/adapters/contracts/runtime/index.js +1 -0
- package/dist/adapters/contracts/runtime/runtime-events.d.ts +9 -0
- package/dist/adapters/contracts/runtime/runtime-events.js +7 -0
- package/dist/adapters/contracts/server/IEntityServer.d.ts +164 -0
- package/dist/adapters/contracts/server/IEntityServer.js +9 -0
- package/dist/adapters/contracts/server/IPedAppearanceServer.d.ts +45 -0
- package/dist/adapters/contracts/server/IPedAppearanceServer.js +12 -0
- package/dist/adapters/contracts/server/IPedServer.d.ts +29 -0
- package/dist/adapters/contracts/server/IPedServer.js +8 -0
- package/dist/adapters/contracts/server/IPlayerServer.d.ts +98 -0
- package/dist/adapters/contracts/server/IPlayerServer.js +9 -0
- package/dist/adapters/contracts/server/IVehicleServer.d.ts +55 -0
- package/dist/adapters/contracts/server/IVehicleServer.js +9 -0
- package/dist/adapters/contracts/server/index.d.ts +10 -0
- package/dist/adapters/contracts/server/index.js +10 -0
- package/dist/adapters/contracts/server/npc-lifecycle/INpcLifecycleServer.d.ts +5 -0
- package/dist/adapters/contracts/server/npc-lifecycle/INpcLifecycleServer.js +2 -0
- package/dist/adapters/contracts/server/npc-lifecycle/index.d.ts +2 -0
- package/dist/adapters/contracts/server/npc-lifecycle/index.js +2 -0
- package/dist/adapters/contracts/server/npc-lifecycle/types.d.ts +17 -0
- package/dist/adapters/contracts/server/npc-lifecycle/types.js +0 -0
- package/dist/adapters/contracts/server/player-appearance/IPlayerAppearanceLifecycleServer.d.ts +11 -0
- package/dist/adapters/contracts/server/player-appearance/IPlayerAppearanceLifecycleServer.js +2 -0
- package/dist/adapters/contracts/server/player-appearance/index.d.ts +1 -0
- package/dist/adapters/contracts/server/player-appearance/index.js +1 -0
- package/dist/adapters/contracts/server/player-lifecycle/IPlayerLifecycleServer.d.ts +6 -0
- package/dist/adapters/contracts/server/player-lifecycle/IPlayerLifecycleServer.js +2 -0
- package/dist/adapters/contracts/server/player-lifecycle/index.d.ts +2 -0
- package/dist/adapters/contracts/server/player-lifecycle/index.js +2 -0
- package/dist/adapters/contracts/server/player-lifecycle/types.d.ts +17 -0
- package/dist/adapters/contracts/server/player-lifecycle/types.js +0 -0
- package/dist/adapters/contracts/server/player-state/IPlayerStateSyncServer.d.ts +6 -0
- package/dist/adapters/contracts/server/player-state/IPlayerStateSyncServer.js +2 -0
- package/dist/adapters/contracts/server/player-state/index.d.ts +1 -0
- package/dist/adapters/contracts/server/player-state/index.js +1 -0
- package/dist/adapters/contracts/server/vehicle-lifecycle/IVehicleLifecycleServer.d.ts +5 -0
- package/dist/adapters/contracts/server/vehicle-lifecycle/IVehicleLifecycleServer.js +2 -0
- package/dist/adapters/contracts/server/vehicle-lifecycle/index.d.ts +2 -0
- package/dist/adapters/contracts/server/vehicle-lifecycle/index.js +2 -0
- package/dist/adapters/contracts/server/vehicle-lifecycle/types.d.ts +16 -0
- package/dist/adapters/contracts/server/vehicle-lifecycle/types.js +0 -0
- package/dist/adapters/contracts/transport/context.d.ts +5 -0
- package/dist/adapters/contracts/transport/context.js +0 -0
- package/dist/adapters/contracts/transport/events.api.d.ts +36 -0
- package/dist/adapters/contracts/transport/events.api.js +5 -0
- package/dist/adapters/contracts/transport/index.d.ts +4 -0
- package/dist/adapters/contracts/transport/index.js +4 -0
- package/dist/adapters/contracts/transport/messaging.transport.d.ts +8 -0
- package/dist/adapters/contracts/transport/messaging.transport.js +2 -0
- package/dist/adapters/contracts/transport/rpc.api.d.ts +66 -0
- package/dist/adapters/contracts/transport/rpc.api.js +20 -0
- package/dist/adapters/contracts/types/identifier.d.ts +67 -0
- package/dist/adapters/contracts/types/identifier.js +58 -0
- package/dist/adapters/contracts/types/index.d.ts +1 -0
- package/dist/adapters/contracts/types/index.js +1 -0
- package/dist/adapters/index.d.ts +10 -0
- package/dist/adapters/index.js +15 -0
- package/dist/adapters/node/index.d.ts +16 -0
- package/dist/adapters/node/index.js +18 -0
- package/dist/adapters/node/node-capabilities.d.ts +19 -0
- package/dist/adapters/node/node-capabilities.js +36 -0
- package/dist/adapters/node/node-engine-events.d.ts +20 -0
- package/dist/adapters/node/node-engine-events.js +41 -0
- package/dist/adapters/node/node-entity-server.d.ts +37 -0
- package/dist/adapters/node/node-entity-server.js +118 -0
- package/dist/adapters/node/node-exports.d.ts +26 -0
- package/dist/adapters/node/node-exports.js +58 -0
- package/dist/adapters/node/node-hasher.d.ts +12 -0
- package/dist/adapters/node/node-hasher.js +36 -0
- package/dist/adapters/node/node-ped-appearance-client.d.ts +34 -0
- package/dist/adapters/node/node-ped-appearance-client.js +55 -0
- package/dist/adapters/node/node-ped-appearance-server.d.ts +14 -0
- package/dist/adapters/node/node-ped-appearance-server.js +14 -0
- package/dist/adapters/node/node-ped-server.d.ts +13 -0
- package/dist/adapters/node/node-ped-server.js +45 -0
- package/dist/adapters/node/node-platform.d.ts +5 -0
- package/dist/adapters/node/node-platform.js +76 -0
- package/dist/adapters/node/node-player-server.d.ts +45 -0
- package/dist/adapters/node/node-player-server.js +111 -0
- package/dist/adapters/node/node-playerinfo.d.ts +6 -0
- package/dist/adapters/node/node-playerinfo.js +20 -0
- package/dist/adapters/node/node-resourceinfo.d.ts +13 -0
- package/dist/adapters/node/node-resourceinfo.js +27 -0
- package/dist/adapters/node/node-tick.d.ts +10 -0
- package/dist/adapters/node/node-tick.js +41 -0
- package/dist/adapters/node/node-vehicle-server.d.ts +21 -0
- package/dist/adapters/node/node-vehicle-server.js +84 -0
- package/dist/adapters/node/transport/adapter.d.ts +10 -0
- package/dist/adapters/node/transport/adapter.js +14 -0
- package/dist/adapters/node/transport/node.events.d.ts +14 -0
- package/dist/adapters/node/transport/node.events.js +38 -0
- package/dist/adapters/node/transport/node.rpc.d.ts +18 -0
- package/dist/adapters/node/transport/node.rpc.js +71 -0
- package/dist/adapters/platform/index.d.ts +1 -0
- package/dist/adapters/platform/index.js +1 -0
- package/dist/adapters/platform/platform-registry.d.ts +101 -0
- package/dist/adapters/platform/platform-registry.js +113 -0
- package/dist/adapters/register-capabilities.d.ts +61 -0
- package/dist/adapters/register-capabilities.js +76 -0
- package/dist/adapters/register-client-capabilities.d.ts +9 -0
- package/dist/adapters/register-client-capabilities.js +33 -0
- package/dist/contracts/client.d.ts +5 -0
- package/dist/contracts/client.js +5 -0
- package/dist/contracts/server.d.ts +19 -0
- package/dist/contracts/server.js +19 -0
- package/dist/contracts.d.ts +4 -0
- package/dist/contracts.js +4 -0
- package/dist/index.d.ts +3 -4
- package/dist/index.js +4 -41
- package/dist/kernel/di/class-constructor.js +0 -0
- package/dist/kernel/di/container.d.ts +5 -0
- package/dist/kernel/di/container.js +6 -0
- package/dist/kernel/di/decorator-processor.js +0 -0
- package/dist/kernel/di/index.d.ts +4 -0
- package/dist/kernel/di/index.js +4 -0
- package/dist/kernel/di/metadata.scanner.d.ts +7 -0
- package/dist/kernel/di/metadata.scanner.js +61 -0
- package/dist/kernel/error/app.error.d.ts +9 -0
- package/dist/kernel/error/app.error.js +15 -0
- package/dist/kernel/error/common.error-codes.d.ts +1 -0
- package/dist/kernel/error/common.error-codes.js +0 -0
- package/dist/kernel/error/framework.error-codes.d.ts +12 -0
- package/dist/kernel/error/framework.error-codes.js +0 -0
- package/dist/kernel/error/index.d.ts +4 -0
- package/dist/kernel/error/index.js +2 -0
- package/dist/kernel/error/security.error.d.ts +6 -0
- package/dist/kernel/error/security.error.js +9 -0
- package/dist/kernel/error/security.types.js +0 -0
- package/dist/kernel/index.d.ts +6 -0
- package/dist/kernel/index.js +7 -0
- package/dist/kernel/logger/client-log-console.d.ts +4 -0
- package/dist/kernel/logger/client-log-console.js +43 -0
- package/dist/kernel/logger/core-logger.d.ts +33 -0
- package/dist/kernel/logger/core-logger.js +68 -0
- package/dist/kernel/logger/index.d.ts +16 -0
- package/dist/kernel/logger/index.js +13 -0
- package/dist/kernel/logger/logger.config.d.ts +47 -0
- package/dist/kernel/logger/logger.config.js +32 -0
- package/dist/kernel/logger/logger.env.d.ts +35 -0
- package/dist/kernel/logger/logger.env.js +59 -0
- package/dist/kernel/logger/logger.service.d.ts +175 -0
- package/dist/kernel/logger/logger.service.js +301 -0
- package/dist/kernel/logger/logger.types.js +70 -0
- package/dist/kernel/logger/transports/buffered.transport.d.ts +88 -0
- package/dist/kernel/logger/transports/buffered.transport.js +154 -0
- package/dist/kernel/logger/transports/console.transport.d.ts +37 -0
- package/dist/kernel/logger/transports/console.transport.js +121 -0
- package/dist/kernel/logger/transports/dev-transport.factory.d.ts +75 -0
- package/dist/kernel/logger/transports/dev-transport.factory.js +101 -0
- package/dist/kernel/logger/transports/http.transport.d.ts +67 -0
- package/dist/kernel/logger/transports/http.transport.js +168 -0
- package/dist/kernel/logger/transports/index.d.ts +7 -0
- package/dist/kernel/logger/transports/index.js +7 -0
- package/dist/kernel/logger/transports/simple-console.transport.d.ts +38 -0
- package/dist/kernel/logger/transports/simple-console.transport.js +84 -0
- package/dist/kernel/logger/transports/transport.interface.d.ts +40 -0
- package/dist/kernel/logger/transports/transport.interface.js +0 -0
- package/dist/kernel/logger/transports/websocket.transport.d.ts +69 -0
- package/dist/kernel/logger/transports/websocket.transport.js +164 -0
- package/dist/kernel/schema/index.d.ts +32 -0
- package/dist/kernel/schema/index.js +4 -0
- package/dist/kernel/shared/index.d.ts +1 -0
- package/dist/kernel/shared/index.js +1 -0
- package/dist/kernel/shared/player-appearance.types.d.ts +276 -0
- package/dist/kernel/shared/player-appearance.types.js +74 -0
- package/dist/kernel/utils/index.d.ts +3 -0
- package/dist/kernel/utils/index.js +3 -0
- package/dist/kernel/utils/result.d.ts +12 -0
- package/dist/kernel/utils/result.js +6 -0
- package/dist/kernel/utils/rgb.d.ts +17 -0
- package/dist/kernel/utils/rgb.js +61 -0
- package/dist/kernel/utils/vector3.d.ts +14 -0
- package/dist/kernel/utils/vector3.js +24 -0
- package/dist/kernel-public.d.ts +1 -0
- package/dist/kernel-public.js +1 -0
- package/dist/runtime/client/.opencore/autoload.client.controllers.d.ts +1 -0
- package/dist/runtime/client/.opencore/autoload.client.controllers.js +0 -0
- package/dist/runtime/client/adapter/client-adapter.d.ts +25 -0
- package/dist/runtime/client/adapter/client-adapter.js +11 -0
- package/dist/runtime/client/adapter/index.d.ts +15 -0
- package/dist/runtime/client/adapter/index.js +15 -0
- package/dist/runtime/client/adapter/local-player-bridge.d.ts +1 -0
- package/dist/runtime/client/adapter/local-player-bridge.js +1 -0
- package/dist/runtime/client/adapter/node-blip-bridge.d.ts +9 -0
- package/dist/runtime/client/adapter/node-blip-bridge.js +34 -0
- package/dist/runtime/client/adapter/node-client-adapter.d.ts +5 -0
- package/dist/runtime/client/adapter/node-client-adapter.js +50 -0
- package/dist/runtime/client/adapter/node-local-player-bridge.d.ts +8 -0
- package/dist/runtime/client/adapter/node-local-player-bridge.js +18 -0
- package/dist/runtime/client/adapter/node-log-console.d.ts +11 -0
- package/dist/runtime/client/adapter/node-log-console.js +48 -0
- package/dist/runtime/client/adapter/node-marker-bridge.d.ts +10 -0
- package/dist/runtime/client/adapter/node-marker-bridge.js +35 -0
- package/dist/runtime/client/adapter/node-notification-bridge.d.ts +5 -0
- package/dist/runtime/client/adapter/node-notification-bridge.js +16 -0
- package/dist/runtime/client/adapter/node-platform-bridge.d.ts +3 -0
- package/dist/runtime/client/adapter/node-platform-bridge.js +14 -0
- package/dist/runtime/client/adapter/node-runtime-bridge.d.ts +24 -0
- package/dist/runtime/client/adapter/node-runtime-bridge.js +58 -0
- package/dist/runtime/client/adapter/node-spawn-bridge.d.ts +8 -0
- package/dist/runtime/client/adapter/node-spawn-bridge.js +18 -0
- package/dist/runtime/client/adapter/node-webview-bridge.d.ts +15 -0
- package/dist/runtime/client/adapter/node-webview-bridge.js +43 -0
- package/dist/runtime/client/adapter/platform-bridge.d.ts +1 -0
- package/dist/runtime/client/adapter/platform-bridge.js +1 -0
- package/dist/runtime/client/adapter/registry.d.ts +9 -0
- package/dist/runtime/client/adapter/registry.js +85 -0
- package/dist/runtime/client/adapter/runtime-bridge.d.ts +1 -0
- package/dist/runtime/client/adapter/runtime-bridge.js +1 -0
- package/dist/runtime/client/api.d.ts +9 -0
- package/dist/runtime/client/api.js +9 -0
- package/dist/runtime/client/bus/library-event.bus.d.ts +5 -0
- package/dist/runtime/client/bus/library-event.bus.js +28 -0
- package/dist/runtime/client/client-api-runtime.d.ts +7 -0
- package/dist/runtime/client/client-api-runtime.js +34 -0
- package/dist/runtime/client/client-bootstrap.d.ts +7 -0
- package/dist/runtime/client/client-bootstrap.js +167 -0
- package/dist/runtime/client/client-container.js +3 -0
- package/dist/runtime/client/client-core.d.ts +21 -0
- package/dist/runtime/client/client-core.js +32 -0
- package/dist/runtime/client/client-runtime.d.ts +66 -0
- package/dist/runtime/client/client-runtime.js +24 -0
- package/dist/runtime/client/controllers/appearance.controller.d.ts +10 -0
- package/dist/runtime/client/controllers/appearance.controller.js +58 -0
- package/dist/runtime/client/controllers/spawner.controller.d.ts +12 -0
- package/dist/runtime/client/controllers/spawner.controller.js +51 -0
- package/dist/runtime/client/decorators/controller.d.ts +20 -0
- package/dist/runtime/client/decorators/controller.js +54 -0
- package/dist/runtime/client/decorators/export.d.ts +21 -0
- package/dist/runtime/client/decorators/export.js +26 -0
- package/dist/runtime/client/decorators/gameEvent.d.ts +47 -0
- package/dist/runtime/client/decorators/gameEvent.js +50 -0
- package/dist/runtime/client/decorators/index.d.ts +13 -0
- package/dist/runtime/client/decorators/index.js +13 -0
- package/dist/runtime/client/decorators/interval.d.ts +23 -0
- package/dist/runtime/client/decorators/interval.js +28 -0
- package/dist/runtime/client/decorators/key.d.ts +23 -0
- package/dist/runtime/client/decorators/key.js +28 -0
- package/dist/runtime/client/decorators/localEvent.d.ts +21 -0
- package/dist/runtime/client/decorators/localEvent.js +26 -0
- package/dist/runtime/client/decorators/onLibraryEvent.d.ts +17 -0
- package/dist/runtime/client/decorators/onLibraryEvent.js +22 -0
- package/dist/runtime/client/decorators/onNet.d.ts +21 -0
- package/dist/runtime/client/decorators/onNet.js +26 -0
- package/dist/runtime/client/decorators/onRPC.d.ts +41 -0
- package/dist/runtime/client/decorators/onRPC.js +40 -0
- package/dist/runtime/client/decorators/onTick.d.ts +21 -0
- package/dist/runtime/client/decorators/onTick.js +26 -0
- package/dist/runtime/client/decorators/onView.d.ts +21 -0
- package/dist/runtime/client/decorators/onView.js +26 -0
- package/dist/runtime/client/decorators/resourceLifecycle.d.ts +40 -0
- package/dist/runtime/client/decorators/resourceLifecycle.js +49 -0
- package/dist/runtime/client/index.d.ts +5 -0
- package/dist/runtime/client/index.js +3 -0
- package/dist/runtime/client/library/create-client-library.d.ts +13 -0
- package/dist/runtime/client/library/create-client-library.js +53 -0
- package/dist/runtime/client/library/index.d.ts +4 -0
- package/dist/runtime/client/library/index.js +2 -0
- package/dist/runtime/client/library/plugin/client-plugin-api.d.ts +5 -0
- package/dist/runtime/client/library/plugin/client-plugin-api.js +0 -0
- package/dist/runtime/client/library/plugin/index.d.ts +4 -0
- package/dist/runtime/client/library/plugin/index.js +4 -0
- package/dist/runtime/client/library/plugin/install-client-plugins.d.ts +3 -0
- package/dist/runtime/client/library/plugin/install-client-plugins.js +35 -0
- package/dist/runtime/client/library/plugin/plugin-context.d.ts +10 -0
- package/dist/runtime/client/library/plugin/plugin-context.js +0 -0
- package/dist/runtime/client/library/plugin/plugin-registry.d.ts +6 -0
- package/dist/runtime/client/library/plugin/plugin-registry.js +12 -0
- package/dist/runtime/client/library/plugin/plugin.interface.d.ts +11 -0
- package/dist/runtime/client/library/plugin/plugin.interface.js +0 -0
- package/dist/runtime/client/services/appearance.service.d.ts +132 -0
- package/dist/runtime/client/services/appearance.service.js +333 -0
- package/dist/runtime/client/services/blip.service.d.ts +25 -0
- package/dist/runtime/client/services/blip.service.js +114 -0
- package/dist/runtime/client/services/camera-effects.registry.d.ts +97 -0
- package/dist/runtime/client/services/camera-effects.registry.js +158 -0
- package/dist/runtime/client/services/camera.d.ts +49 -0
- package/dist/runtime/client/services/camera.js +102 -0
- package/dist/runtime/client/services/cinematic-builder.d.ts +107 -0
- package/dist/runtime/client/services/cinematic-builder.js +467 -0
- package/dist/runtime/client/services/cinematic.d.ts +288 -0
- package/dist/runtime/client/services/cinematic.js +798 -0
- package/dist/runtime/client/services/index.d.ts +15 -0
- package/dist/runtime/client/services/index.js +15 -0
- package/dist/runtime/client/services/marker.service.d.ts +43 -0
- package/dist/runtime/client/services/marker.service.js +113 -0
- package/dist/runtime/client/services/notification.service.d.ts +25 -0
- package/dist/runtime/client/services/notification.service.js +70 -0
- package/dist/runtime/client/services/ped.service.d.ts +55 -0
- package/dist/runtime/client/services/ped.service.js +166 -0
- package/dist/runtime/client/services/progress.service.d.ts +57 -0
- package/dist/runtime/client/services/progress.service.js +173 -0
- package/dist/runtime/client/services/session-bridge.service.d.ts +15 -0
- package/dist/runtime/client/services/session-bridge.service.js +61 -0
- package/dist/runtime/client/services/spawn.service.d.ts +23 -0
- package/dist/runtime/client/services/spawn.service.js +98 -0
- package/dist/runtime/client/services/streaming.service.d.ts +44 -0
- package/dist/runtime/client/services/streaming.service.js +186 -0
- package/dist/runtime/client/services/textui.service.d.ts +42 -0
- package/dist/runtime/client/services/textui.service.js +127 -0
- package/dist/runtime/client/services/vehicle-client.service.d.ts +43 -0
- package/dist/runtime/client/services/vehicle-client.service.js +337 -0
- package/dist/runtime/client/services/vehicle.service.d.ts +62 -0
- package/dist/runtime/client/services/vehicle.service.js +193 -0
- package/dist/runtime/client/system/metadata-client.keys.d.ts +15 -0
- package/dist/runtime/client/system/metadata-client.keys.js +15 -0
- package/dist/runtime/client/system/processors/export.processor.d.ts +10 -0
- package/dist/runtime/client/system/processors/export.processor.js +47 -0
- package/dist/runtime/client/system/processors/gameEvent.processor.d.ts +13 -0
- package/dist/runtime/client/system/processors/gameEvent.processor.js +66 -0
- package/dist/runtime/client/system/processors/interval.processor.d.ts +10 -0
- package/dist/runtime/client/system/processors/interval.processor.js +51 -0
- package/dist/runtime/client/system/processors/key.processor.d.ts +11 -0
- package/dist/runtime/client/system/processors/key.processor.js +35 -0
- package/dist/runtime/client/system/processors/libraryEvent.processor.d.ts +6 -0
- package/dist/runtime/client/system/processors/libraryEvent.processor.js +36 -0
- package/dist/runtime/client/system/processors/localEvent.processor.d.ts +10 -0
- package/dist/runtime/client/system/processors/localEvent.processor.js +46 -0
- package/dist/runtime/client/system/processors/netEvent.processor.d.ts +10 -0
- package/dist/runtime/client/system/processors/netEvent.processor.js +46 -0
- package/dist/runtime/client/system/processors/onRpc.processor.d.ts +9 -0
- package/dist/runtime/client/system/processors/onRpc.processor.js +62 -0
- package/dist/runtime/client/system/processors/resourceLifecycle.processor.d.ts +14 -0
- package/dist/runtime/client/system/processors/resourceLifecycle.processor.js +81 -0
- package/dist/runtime/client/system/processors/tick.processor.d.ts +8 -0
- package/dist/runtime/client/system/processors/tick.processor.js +45 -0
- package/dist/runtime/client/system/processors/view.processor.d.ts +10 -0
- package/dist/runtime/client/system/processors/view.processor.js +47 -0
- package/dist/runtime/client/system/processors.register.d.ts +2 -0
- package/dist/runtime/client/system/processors.register.js +36 -0
- package/dist/runtime/client/types/game-events.d.ts +128 -0
- package/dist/runtime/client/types/game-events.js +72 -0
- package/dist/runtime/client/types/index.js +1 -0
- package/dist/runtime/client/ui-bridge.d.ts +4 -0
- package/dist/runtime/client/ui-bridge.js +4 -0
- package/dist/runtime/client/webview-bridge.d.ts +31 -0
- package/dist/runtime/client/webview-bridge.js +97 -0
- package/dist/runtime/client/webview.service.d.ts +14 -0
- package/dist/runtime/client/webview.service.js +98 -0
- package/dist/runtime/core/entity.d.ts +168 -0
- package/dist/runtime/core/entity.js +232 -0
- package/dist/runtime/core/index.d.ts +5 -0
- package/dist/runtime/core/index.js +5 -0
- package/dist/runtime/core/library/create-library-base.d.ts +15 -0
- package/dist/runtime/core/library/create-library-base.js +27 -0
- package/dist/runtime/core/library/index.d.ts +5 -0
- package/dist/runtime/core/library/index.js +4 -0
- package/dist/runtime/core/library/library-bus.d.ts +9 -0
- package/dist/runtime/core/library/library-bus.js +46 -0
- package/dist/runtime/core/library/library-config.d.ts +10 -0
- package/dist/runtime/core/library/library-config.js +12 -0
- package/dist/runtime/core/library/library-event-id.d.ts +8 -0
- package/dist/runtime/core/library/library-event-id.js +9 -0
- package/dist/runtime/core/library/types.d.ts +146 -0
- package/dist/runtime/core/library/types.js +0 -0
- package/dist/runtime/core/nativehandle.d.ts +3 -0
- package/dist/runtime/core/nativehandle.js +0 -0
- package/dist/runtime/core/spatial.d.ts +7 -0
- package/dist/runtime/core/spatial.js +0 -0
- package/dist/runtime/core/world.d.ts +13 -0
- package/dist/runtime/core/world.js +57 -0
- package/dist/runtime/server/.opencore/autoload.server.controllers.d.ts +1 -0
- package/dist/runtime/server/.opencore/autoload.server.controllers.js +0 -0
- package/dist/runtime/server/adapter/index.d.ts +5 -0
- package/dist/runtime/server/adapter/index.js +5 -0
- package/dist/runtime/server/adapter/node-npc-lifecycle-server.d.ts +12 -0
- package/dist/runtime/server/adapter/node-npc-lifecycle-server.js +52 -0
- package/dist/runtime/server/adapter/node-player-appearance-lifecycle-server.d.ts +22 -0
- package/dist/runtime/server/adapter/node-player-appearance-lifecycle-server.js +94 -0
- package/dist/runtime/server/adapter/node-player-lifecycle-server.d.ts +11 -0
- package/dist/runtime/server/adapter/node-player-lifecycle-server.js +55 -0
- package/dist/runtime/server/adapter/node-player-state-sync-server.d.ts +12 -0
- package/dist/runtime/server/adapter/node-player-state-sync-server.js +49 -0
- package/dist/runtime/server/adapter/node-server-adapter.d.ts +5 -0
- package/dist/runtime/server/adapter/node-server-adapter.js +67 -0
- package/dist/runtime/server/adapter/node-vehicle-lifecycle-server.d.ts +13 -0
- package/dist/runtime/server/adapter/node-vehicle-lifecycle-server.js +57 -0
- package/dist/runtime/server/adapter/player-adapter.d.ts +28 -0
- package/dist/runtime/server/adapter/player-adapter.js +28 -0
- package/dist/runtime/server/adapter/registry.d.ts +26 -0
- package/dist/runtime/server/adapter/registry.js +101 -0
- package/dist/runtime/server/adapter/serialization.d.ts +6 -0
- package/dist/runtime/server/adapter/serialization.js +9 -0
- package/dist/runtime/server/adapter/server-adapter.d.ts +28 -0
- package/dist/runtime/server/adapter/server-adapter.js +14 -0
- package/dist/runtime/server/api.d.ts +16 -0
- package/dist/runtime/server/api.js +22 -0
- package/dist/runtime/server/apis/appearance.api.d.ts +43 -0
- package/dist/runtime/server/apis/appearance.api.js +79 -0
- package/dist/runtime/server/apis/chat.api.d.ts +69 -0
- package/dist/runtime/server/apis/chat.api.js +129 -0
- package/dist/runtime/server/apis/index.d.ts +6 -0
- package/dist/runtime/server/apis/index.js +6 -0
- package/dist/runtime/server/apis/npcs.api.d.ts +212 -0
- package/dist/runtime/server/apis/npcs.api.js +435 -0
- package/dist/runtime/server/apis/parallel-compute.api.d.ts +118 -0
- package/dist/runtime/server/apis/parallel-compute.api.js +423 -0
- package/dist/runtime/server/apis/vehicle-modification.api.d.ts +96 -0
- package/dist/runtime/server/apis/vehicle-modification.api.js +313 -0
- package/dist/runtime/server/apis/vehicles.api.d.ts +146 -0
- package/dist/runtime/server/apis/vehicles.api.js +398 -0
- package/dist/runtime/server/bootstrap.d.ts +21 -0
- package/dist/runtime/server/bootstrap.js +318 -0
- package/dist/runtime/server/bus/internal-event.bus.d.ts +6 -0
- package/dist/runtime/server/bus/internal-event.bus.js +30 -0
- package/dist/runtime/server/bus/library-event.bus.d.ts +5 -0
- package/dist/runtime/server/bus/library-event.bus.js +27 -0
- package/dist/runtime/server/concepts/channel.d.ts +29 -0
- package/dist/runtime/server/concepts/channel.js +70 -0
- package/dist/runtime/server/contracts/index.d.ts +6 -0
- package/dist/runtime/server/contracts/index.js +8 -0
- package/dist/runtime/server/contracts/player-persistence.contract.d.ts +84 -0
- package/dist/runtime/server/contracts/player-persistence.contract.js +46 -0
- package/dist/runtime/server/contracts/security/command-error-observer.contract.d.ts +73 -0
- package/dist/runtime/server/contracts/security/command-error-observer.contract.js +5 -0
- package/dist/runtime/server/contracts/security/net-event-security-observer.contract.d.ts +15 -0
- package/dist/runtime/server/contracts/security/net-event-security-observer.contract.js +2 -0
- package/dist/runtime/server/contracts/security/principal-provider.contract.d.ts +43 -0
- package/dist/runtime/server/contracts/security/principal-provider.contract.js +15 -0
- package/dist/runtime/server/contracts/security/security-handler.contract.d.ts +5 -0
- package/dist/runtime/server/contracts/security/security-handler.contract.js +2 -0
- package/dist/runtime/server/controllers/channel.controller.d.ts +115 -0
- package/dist/runtime/server/controllers/channel.controller.js +374 -0
- package/dist/runtime/server/controllers/chat.controller.d.ts +11 -0
- package/dist/runtime/server/controllers/chat.controller.js +67 -0
- package/dist/runtime/server/controllers/command-export.controller.d.ts +83 -0
- package/dist/runtime/server/controllers/command-export.controller.js +331 -0
- package/dist/runtime/server/controllers/player-export.controller.d.ts +30 -0
- package/dist/runtime/server/controllers/player-export.controller.js +173 -0
- package/dist/runtime/server/controllers/principal-export.controller.d.ts +79 -0
- package/dist/runtime/server/controllers/principal-export.controller.js +292 -0
- package/dist/runtime/server/controllers/ready.controller.d.ts +4 -0
- package/dist/runtime/server/controllers/ready.controller.js +27 -0
- package/dist/runtime/server/controllers/remote-command-execution.controller.d.ts +52 -0
- package/dist/runtime/server/controllers/remote-command-execution.controller.js +172 -0
- package/dist/runtime/server/controllers/session.controller.d.ts +11 -0
- package/dist/runtime/server/controllers/session.controller.js +84 -0
- package/dist/runtime/server/controllers/vehicle.controller.d.ts +22 -0
- package/dist/runtime/server/controllers/vehicle.controller.js +73 -0
- package/dist/runtime/server/core.d.ts +9 -0
- package/dist/runtime/server/core.js +45 -0
- package/dist/runtime/server/decorators/binaryCall.d.ts +15 -0
- package/dist/runtime/server/decorators/binaryCall.js +23 -0
- package/dist/runtime/server/decorators/binaryEvent.d.ts +21 -0
- package/dist/runtime/server/decorators/binaryEvent.js +22 -0
- package/dist/runtime/server/decorators/binaryService.d.ts +27 -0
- package/dist/runtime/server/decorators/binaryService.js +71 -0
- package/dist/runtime/server/decorators/bind.d.ts +21 -0
- package/dist/runtime/server/decorators/bind.js +28 -0
- package/dist/runtime/server/decorators/command.d.ts +87 -0
- package/dist/runtime/server/decorators/command.js +36 -0
- package/dist/runtime/server/decorators/controller.d.ts +26 -0
- package/dist/runtime/server/decorators/controller.js +56 -0
- package/dist/runtime/server/decorators/export.d.ts +24 -0
- package/dist/runtime/server/decorators/export.js +29 -0
- package/dist/runtime/server/decorators/guard.d.ts +51 -0
- package/dist/runtime/server/decorators/guard.js +80 -0
- package/dist/runtime/server/decorators/index.d.ts +18 -0
- package/dist/runtime/server/decorators/index.js +18 -0
- package/dist/runtime/server/decorators/onFrameworkEvent.d.ts +24 -0
- package/dist/runtime/server/decorators/onFrameworkEvent.js +28 -0
- package/dist/runtime/server/decorators/onLibraryEvent.d.ts +17 -0
- package/dist/runtime/server/decorators/onLibraryEvent.js +22 -0
- package/dist/runtime/server/decorators/onNet.d.ts +65 -0
- package/dist/runtime/server/decorators/onNet.js +12 -0
- package/dist/runtime/server/decorators/onRPC.d.ts +78 -0
- package/dist/runtime/server/decorators/onRPC.js +59 -0
- package/dist/runtime/server/decorators/onRuntimeEvent.d.ts +26 -0
- package/dist/runtime/server/decorators/onRuntimeEvent.js +30 -0
- package/dist/runtime/server/decorators/onTick.d.ts +21 -0
- package/dist/runtime/server/decorators/onTick.js +26 -0
- package/dist/runtime/server/decorators/public.d.ts +26 -0
- package/dist/runtime/server/decorators/public.js +32 -0
- package/dist/runtime/server/decorators/requiresState.d.ts +63 -0
- package/dist/runtime/server/decorators/requiresState.js +70 -0
- package/dist/runtime/server/decorators/throttle.d.ts +56 -0
- package/dist/runtime/server/decorators/throttle.js +73 -0
- package/dist/runtime/server/decorators/utils.d.ts +54 -0
- package/dist/runtime/server/decorators/utils.js +54 -0
- package/dist/runtime/server/default/default-command-error-observer.d.ts +14 -0
- package/dist/runtime/server/default/default-command-error-observer.js +40 -0
- package/dist/runtime/server/default/default-net-event-security-observer.d.ts +15 -0
- package/dist/runtime/server/default/default-net-event-security-observer.js +25 -0
- package/dist/runtime/server/default/default-principal.provider.d.ts +13 -0
- package/dist/runtime/server/default/default-principal.provider.js +35 -0
- package/dist/runtime/server/default/default-security.handler.d.ts +19 -0
- package/dist/runtime/server/default/default-security.handler.js +36 -0
- package/dist/runtime/server/devmode/contracts/IDevModeBridge.d.ts +36 -0
- package/dist/runtime/server/devmode/contracts/IDevModeBridge.js +8 -0
- package/dist/runtime/server/devmode/contracts/IDevModeInspector.d.ts +52 -0
- package/dist/runtime/server/devmode/contracts/IDevModeInspector.js +8 -0
- package/dist/runtime/server/devmode/contracts/IDevModeInterceptor.d.ts +41 -0
- package/dist/runtime/server/devmode/contracts/IDevModeInterceptor.js +7 -0
- package/dist/runtime/server/devmode/contracts/index.d.ts +3 -0
- package/dist/runtime/server/devmode/contracts/index.js +3 -0
- package/dist/runtime/server/devmode/dev-mode.service.d.ts +109 -0
- package/dist/runtime/server/devmode/dev-mode.service.js +290 -0
- package/dist/runtime/server/devmode/event-interceptor.service.d.ts +80 -0
- package/dist/runtime/server/devmode/event-interceptor.service.js +233 -0
- package/dist/runtime/server/devmode/index.d.ts +6 -0
- package/dist/runtime/server/devmode/index.js +7 -0
- package/dist/runtime/server/devmode/player-simulator.service.d.ts +66 -0
- package/dist/runtime/server/devmode/player-simulator.service.js +199 -0
- package/dist/runtime/server/devmode/state-inspector.service.d.ts +57 -0
- package/dist/runtime/server/devmode/state-inspector.service.js +175 -0
- package/dist/runtime/server/devmode/types.d.ts +197 -0
- package/dist/runtime/server/devmode/types.js +22 -0
- package/dist/runtime/server/entities/index.d.ts +3 -0
- package/dist/runtime/server/entities/index.js +3 -0
- package/dist/runtime/server/entities/npc.d.ts +257 -0
- package/dist/runtime/server/entities/npc.js +307 -0
- package/dist/runtime/server/entities/player.d.ts +236 -0
- package/dist/runtime/server/entities/player.js +351 -0
- package/dist/runtime/server/entities/vehicle.d.ts +113 -0
- package/dist/runtime/server/entities/vehicle.js +245 -0
- package/dist/runtime/server/error-handler.d.ts +2 -0
- package/dist/runtime/server/error-handler.js +50 -0
- package/dist/runtime/server/helpers/command-validation.helper.d.ts +3 -0
- package/dist/runtime/server/helpers/command-validation.helper.js +73 -0
- package/dist/runtime/server/helpers/function-helper.d.ts +6 -0
- package/dist/runtime/server/helpers/function-helper.js +28 -0
- package/dist/runtime/server/helpers/normalize-app-error.d.ts +9 -0
- package/dist/runtime/server/helpers/normalize-app-error.js +17 -0
- package/dist/runtime/server/helpers/resolve-method.d.ts +5 -0
- package/dist/runtime/server/helpers/resolve-method.js +25 -0
- package/dist/runtime/server/implementations/local/channel.local.d.ts +32 -0
- package/dist/runtime/server/implementations/local/channel.local.js +185 -0
- package/dist/runtime/server/implementations/local/command.local.d.ts +57 -0
- package/dist/runtime/server/implementations/local/command.local.js +110 -0
- package/dist/runtime/server/implementations/local/player.local.d.ts +114 -0
- package/dist/runtime/server/implementations/local/player.local.js +216 -0
- package/dist/runtime/server/implementations/local/principal.local.d.ts +28 -0
- package/dist/runtime/server/implementations/local/principal.local.js +120 -0
- package/dist/runtime/server/implementations/remote/channel.remote.d.ts +48 -0
- package/dist/runtime/server/implementations/remote/channel.remote.js +168 -0
- package/dist/runtime/server/implementations/remote/command.remote.d.ts +66 -0
- package/dist/runtime/server/implementations/remote/command.remote.js +159 -0
- package/dist/runtime/server/implementations/remote/player.remote.d.ts +62 -0
- package/dist/runtime/server/implementations/remote/player.remote.js +199 -0
- package/dist/runtime/server/implementations/remote/principal.remote.d.ts +33 -0
- package/dist/runtime/server/implementations/remote/principal.remote.js +97 -0
- package/dist/runtime/server/index.d.ts +9 -0
- package/dist/runtime/server/index.js +4 -0
- package/dist/runtime/server/library/create-server-library.d.ts +13 -0
- package/dist/runtime/server/library/create-server-library.js +63 -0
- package/dist/runtime/server/library/index.d.ts +4 -0
- package/dist/runtime/server/library/index.js +2 -0
- package/dist/runtime/server/library/plugin/index.d.ts +4 -0
- package/dist/runtime/server/library/plugin/index.js +4 -0
- package/dist/runtime/server/library/plugin/plugin-context.d.ts +10 -0
- package/dist/runtime/server/library/plugin/plugin-context.js +0 -0
- package/dist/runtime/server/library/plugin/plugin-registry.d.ts +7 -0
- package/dist/runtime/server/library/plugin/plugin-registry.js +25 -0
- package/dist/runtime/server/library/plugin/plugin.interface.d.ts +19 -0
- package/dist/runtime/server/library/plugin/plugin.interface.js +0 -0
- package/dist/runtime/server/library/plugin/server-plugin-api.d.ts +5 -0
- package/dist/runtime/server/library/plugin/server-plugin-api.js +0 -0
- package/dist/runtime/server/ports/authorization.api-port.d.ts +149 -0
- package/dist/runtime/server/ports/authorization.api-port.js +28 -0
- package/dist/runtime/server/ports/channel.api-port.d.ts +218 -0
- package/dist/runtime/server/ports/channel.api-port.js +2 -0
- package/dist/runtime/server/ports/internal/command-execution.port.d.ts +48 -0
- package/dist/runtime/server/ports/internal/command-execution.port.js +11 -0
- package/dist/runtime/server/ports/internal/player-session-lifecycle.port.d.ts +37 -0
- package/dist/runtime/server/ports/internal/player-session-lifecycle.port.js +12 -0
- package/dist/runtime/server/ports/players.api-port.d.ts +108 -0
- package/dist/runtime/server/ports/players.api-port.js +19 -0
- package/dist/runtime/server/runtime.d.ts +195 -0
- package/dist/runtime/server/runtime.js +197 -0
- package/dist/runtime/server/server.runtime.d.ts +7 -0
- package/dist/runtime/server/server.runtime.js +34 -0
- package/dist/runtime/server/services/appearance.service.d.ts +4 -0
- package/dist/runtime/server/services/appearance.service.js +130 -0
- package/dist/runtime/server/services/index.d.ts +6 -0
- package/dist/runtime/server/services/index.js +6 -0
- package/dist/runtime/server/services/parallel/native-worker.entry.d.ts +1 -0
- package/dist/runtime/server/services/parallel/native-worker.entry.js +10 -0
- package/dist/runtime/server/services/parallel/worker-pool.d.ts +79 -0
- package/dist/runtime/server/services/parallel/worker-pool.js +428 -0
- package/dist/runtime/server/services/parallel/worker.d.ts +22 -0
- package/dist/runtime/server/services/parallel/worker.js +48 -0
- package/dist/runtime/server/services/persistence.service.d.ts +59 -0
- package/dist/runtime/server/services/persistence.service.js +161 -0
- package/dist/runtime/server/services/rate-limiter.service.d.ts +23 -0
- package/dist/runtime/server/services/rate-limiter.service.js +52 -0
- package/dist/runtime/server/services/services.register.d.ts +11 -0
- package/dist/runtime/server/services/services.register.js +140 -0
- package/dist/runtime/server/services/session-recovery.local.d.ts +39 -0
- package/dist/runtime/server/services/session-recovery.local.js +108 -0
- package/dist/runtime/server/setup.d.ts +9 -0
- package/dist/runtime/server/setup.js +25 -0
- package/dist/runtime/server/system/managers/binary-process.manager.d.ts +19 -0
- package/dist/runtime/server/system/managers/binary-process.manager.js +312 -0
- package/dist/runtime/server/system/metadata-server.keys.d.ts +18 -0
- package/dist/runtime/server/system/metadata-server.keys.js +18 -0
- package/dist/runtime/server/system/processors/command.processor.d.ts +16 -0
- package/dist/runtime/server/system/processors/command.processor.js +62 -0
- package/dist/runtime/server/system/processors/export.processor.d.ts +10 -0
- package/dist/runtime/server/system/processors/export.processor.js +38 -0
- package/dist/runtime/server/system/processors/internalEvent.processor.d.ts +7 -0
- package/dist/runtime/server/system/processors/internalEvent.processor.js +36 -0
- package/dist/runtime/server/system/processors/libraryEvent.processor.d.ts +6 -0
- package/dist/runtime/server/system/processors/libraryEvent.processor.js +38 -0
- package/dist/runtime/server/system/processors/netEvent.processor.d.ts +23 -0
- package/dist/runtime/server/system/processors/netEvent.processor.js +243 -0
- package/dist/runtime/server/system/processors/onRpc.processor.d.ts +12 -0
- package/dist/runtime/server/system/processors/onRpc.processor.js +142 -0
- package/dist/runtime/server/system/processors/runtimeEvent.processor.d.ts +11 -0
- package/dist/runtime/server/system/processors/runtimeEvent.processor.js +48 -0
- package/dist/runtime/server/system/processors/tick.processor.d.ts +8 -0
- package/dist/runtime/server/system/processors/tick.processor.js +44 -0
- package/dist/runtime/server/system/processors.register.d.ts +2 -0
- package/dist/runtime/server/system/processors.register.js +43 -0
- package/dist/runtime/server/system/schema-generator.d.ts +2 -0
- package/dist/runtime/server/system/schema-generator.js +38 -0
- package/dist/runtime/server/types/channel.types.d.ts +44 -0
- package/dist/runtime/server/types/channel.types.js +10 -0
- package/dist/runtime/server/types/core-exports.types.d.ts +291 -0
- package/dist/runtime/server/types/core-exports.types.js +0 -0
- package/dist/runtime/server/types/framework-events.types.d.ts +22 -0
- package/dist/runtime/server/types/framework-events.types.js +0 -0
- package/dist/runtime/server/types/index.d.ts +9 -0
- package/dist/runtime/server/types/index.js +9 -0
- package/dist/runtime/server/types/linked-id.d.ts +6 -0
- package/dist/runtime/server/types/linked-id.js +0 -0
- package/dist/runtime/server/types/npc.types.d.ts +36 -0
- package/dist/runtime/server/types/npc.types.js +0 -0
- package/dist/runtime/server/types/parallel.types.d.ts +191 -0
- package/dist/runtime/server/types/parallel.types.js +5 -0
- package/dist/runtime/server/types/player-session.types.d.ts +11 -0
- package/dist/runtime/server/types/player-session.types.js +0 -0
- package/dist/runtime/server/types/principal.type.d.ts +32 -0
- package/dist/runtime/server/types/principal.type.js +0 -0
- package/dist/runtime/server/types/vehicle.types.d.ts +152 -0
- package/dist/runtime/server/types/vehicle.types.js +0 -0
- package/dist/runtime/shared/helpers/process-tuple-schema.d.ts +2 -0
- package/dist/runtime/shared/helpers/process-tuple-schema.js +29 -0
- package/package.json +61 -46
- package/dist/client/client-bootstrap.d.ts +0 -1
- package/dist/client/client-bootstrap.js +0 -50
- package/dist/client/client-container.js +0 -6
- package/dist/client/client-core.d.ts +0 -1
- package/dist/client/client-core.js +0 -7
- package/dist/client/controllers/spawner.controller.d.ts +0 -12
- package/dist/client/controllers/spawner.controller.js +0 -51
- package/dist/client/decorators/controller.d.ts +0 -3
- package/dist/client/decorators/controller.js +0 -14
- package/dist/client/decorators/export.d.ts +0 -7
- package/dist/client/decorators/export.js +0 -15
- package/dist/client/decorators/gameEvent.d.ts +0 -47
- package/dist/client/decorators/gameEvent.js +0 -54
- package/dist/client/decorators/index.d.ts +0 -10
- package/dist/client/decorators/index.js +0 -26
- package/dist/client/decorators/interval.d.ts +0 -7
- package/dist/client/decorators/interval.js +0 -15
- package/dist/client/decorators/key.d.ts +0 -2
- package/dist/client/decorators/key.js +0 -10
- package/dist/client/decorators/localEvent.d.ts +0 -7
- package/dist/client/decorators/localEvent.js +0 -15
- package/dist/client/decorators/nui.d.ts +0 -1
- package/dist/client/decorators/nui.js +0 -9
- package/dist/client/decorators/onNet.d.ts +0 -1
- package/dist/client/decorators/onNet.js +0 -9
- package/dist/client/decorators/resourceLifecycle.d.ts +0 -11
- package/dist/client/decorators/resourceLifecycle.js +0 -24
- package/dist/client/decorators/tick.d.ts +0 -1
- package/dist/client/decorators/tick.js +0 -9
- package/dist/client/index.d.ts +0 -7
- package/dist/client/index.js +0 -23
- package/dist/client/interfaces/appearance.interface.d.ts +0 -19
- package/dist/client/interfaces/appearance.interface.js +0 -2
- package/dist/client/player/player.d.ts +0 -262
- package/dist/client/player/player.js +0 -480
- package/dist/client/player/player.loader.d.ts +0 -1
- package/dist/client/player/player.loader.js +0 -22
- package/dist/client/services/appearance.service.d.ts +0 -6
- package/dist/client/services/appearance.service.js +0 -89
- package/dist/client/services/blip.service.d.ts +0 -112
- package/dist/client/services/blip.service.js +0 -215
- package/dist/client/services/index.d.ts +0 -9
- package/dist/client/services/index.js +0 -25
- package/dist/client/services/marker.service.d.ts +0 -94
- package/dist/client/services/marker.service.js +0 -153
- package/dist/client/services/notification.service.d.ts +0 -76
- package/dist/client/services/notification.service.js +0 -111
- package/dist/client/services/ped.service.d.ts +0 -182
- package/dist/client/services/ped.service.js +0 -302
- package/dist/client/services/progress.service.d.ts +0 -82
- package/dist/client/services/progress.service.js +0 -210
- package/dist/client/services/spawn.service.d.ts +0 -73
- package/dist/client/services/spawn.service.js +0 -261
- package/dist/client/services/streaming.service.d.ts +0 -165
- package/dist/client/services/streaming.service.js +0 -341
- package/dist/client/services/textui.service.d.ts +0 -82
- package/dist/client/services/textui.service.js +0 -156
- package/dist/client/services/vehicle.service.d.ts +0 -168
- package/dist/client/services/vehicle.service.js +0 -296
- package/dist/client/system/metadata-client.keys.d.ts +0 -13
- package/dist/client/system/metadata-client.keys.js +0 -16
- package/dist/client/system/processors/export.processor.d.ts +0 -7
- package/dist/client/system/processors/export.processor.js +0 -39
- package/dist/client/system/processors/gameEvent.processor.d.ts +0 -10
- package/dist/client/system/processors/gameEvent.processor.js +0 -58
- package/dist/client/system/processors/interval.processor.d.ts +0 -7
- package/dist/client/system/processors/interval.processor.js +0 -43
- package/dist/client/system/processors/key.processor.d.ts +0 -8
- package/dist/client/system/processors/key.processor.js +0 -27
- package/dist/client/system/processors/localEvent.processor.d.ts +0 -7
- package/dist/client/system/processors/localEvent.processor.js +0 -38
- package/dist/client/system/processors/netEvent.processor.d.ts +0 -7
- package/dist/client/system/processors/netEvent.processor.js +0 -38
- package/dist/client/system/processors/nui.processor.d.ts +0 -7
- package/dist/client/system/processors/nui.processor.js +0 -40
- package/dist/client/system/processors/resourceLifecycle.processor.d.ts +0 -9
- package/dist/client/system/processors/resourceLifecycle.processor.js +0 -69
- package/dist/client/system/processors/tick.processor.d.ts +0 -5
- package/dist/client/system/processors/tick.processor.js +0 -37
- package/dist/client/system/processors.register.d.ts +0 -1
- package/dist/client/system/processors.register.js +0 -27
- package/dist/client/types/game-events.d.ts +0 -126
- package/dist/client/types/game-events.js +0 -83
- package/dist/client/types/index.js +0 -17
- package/dist/client/ui-bridge.d.ts +0 -116
- package/dist/client/ui-bridge.js +0 -201
- package/dist/server/bootstrap.d.ts +0 -16
- package/dist/server/bootstrap.js +0 -57
- package/dist/server/bus/core-event-bus.d.ts +0 -6
- package/dist/server/bus/core-event-bus.js +0 -31
- package/dist/server/configs/api.config.d.ts +0 -71
- package/dist/server/configs/api.config.js +0 -81
- package/dist/server/configs/config.base.d.ts +0 -63
- package/dist/server/configs/config.base.js +0 -64
- package/dist/server/configs/index.d.ts +0 -2
- package/dist/server/configs/index.js +0 -18
- package/dist/server/container.d.ts +0 -2
- package/dist/server/container.js +0 -6
- package/dist/server/controllers/chat.controller.d.ts +0 -10
- package/dist/server/controllers/chat.controller.js +0 -50
- package/dist/server/controllers/command.controller.d.ts +0 -7
- package/dist/server/controllers/command.controller.js +0 -47
- package/dist/server/controllers/session.controller.d.ts +0 -9
- package/dist/server/controllers/session.controller.js +0 -70
- package/dist/server/core.d.ts +0 -1
- package/dist/server/core.js +0 -7
- package/dist/server/database/adapters/oxmysql.adapter.d.ts +0 -89
- package/dist/server/database/adapters/oxmysql.adapter.js +0 -149
- package/dist/server/database/database.contract.d.ts +0 -128
- package/dist/server/database/database.contract.js +0 -29
- package/dist/server/database/database.service.d.ts +0 -216
- package/dist/server/database/database.service.js +0 -301
- package/dist/server/database/index.d.ts +0 -53
- package/dist/server/database/index.js +0 -70
- package/dist/server/database/types.d.ts +0 -67
- package/dist/server/database/types.js +0 -7
- package/dist/server/database.d.ts +0 -7
- package/dist/server/database.js +0 -23
- package/dist/server/decorators/bind.d.ts +0 -2
- package/dist/server/decorators/bind.js +0 -15
- package/dist/server/decorators/command.d.ts +0 -49
- package/dist/server/decorators/command.js +0 -23
- package/dist/server/decorators/controller.d.ts +0 -25
- package/dist/server/decorators/controller.js +0 -36
- package/dist/server/decorators/export.d.ts +0 -39
- package/dist/server/decorators/export.js +0 -47
- package/dist/server/decorators/guard.d.ts +0 -56
- package/dist/server/decorators/guard.js +0 -82
- package/dist/server/decorators/index.d.ts +0 -10
- package/dist/server/decorators/index.js +0 -29
- package/dist/server/decorators/onFiveMEvent.d.ts +0 -6
- package/dist/server/decorators/onFiveMEvent.js +0 -14
- package/dist/server/decorators/onFrameworkEvent.d.ts +0 -22
- package/dist/server/decorators/onFrameworkEvent.js +0 -29
- package/dist/server/decorators/onNet.d.ts +0 -58
- package/dist/server/decorators/onNet.js +0 -57
- package/dist/server/decorators/onTick.d.ts +0 -32
- package/dist/server/decorators/onTick.js +0 -40
- package/dist/server/decorators/public.d.ts +0 -27
- package/dist/server/decorators/public.js +0 -36
- package/dist/server/decorators/requiresState.d.ts +0 -56
- package/dist/server/decorators/requiresState.js +0 -63
- package/dist/server/decorators/throttle.d.ts +0 -48
- package/dist/server/decorators/throttle.js +0 -63
- package/dist/server/decorators/utils.d.ts +0 -57
- package/dist/server/decorators/utils.js +0 -63
- package/dist/server/entities/index.d.ts +0 -1
- package/dist/server/entities/index.js +0 -17
- package/dist/server/entities/player.d.ts +0 -157
- package/dist/server/entities/player.js +0 -217
- package/dist/server/error-handler.d.ts +0 -2
- package/dist/server/error-handler.js +0 -43
- package/dist/server/helpers/resolve-method.d.ts +0 -5
- package/dist/server/helpers/resolve-method.js +0 -18
- package/dist/server/index.d.ts +0 -10
- package/dist/server/index.js +0 -31
- package/dist/server/loaders/exports.loader.js +0 -23
- package/dist/server/loaders/playerSession.loader.d.ts +0 -1
- package/dist/server/loaders/playerSession.loader.js +0 -51
- package/dist/server/services/access-control.service.d.ts +0 -56
- package/dist/server/services/access-control.service.js +0 -99
- package/dist/server/services/chat.service.d.ts +0 -7
- package/dist/server/services/chat.service.js +0 -31
- package/dist/server/services/command.service.d.ts +0 -15
- package/dist/server/services/command.service.js +0 -77
- package/dist/server/services/config.service.d.ts +0 -75
- package/dist/server/services/config.service.js +0 -116
- package/dist/server/services/default/default-security.handler.d.ts +0 -6
- package/dist/server/services/default/default-security.handler.js +0 -26
- package/dist/server/services/http/http.service.d.ts +0 -50
- package/dist/server/services/http/http.service.js +0 -126
- package/dist/server/services/index.d.ts +0 -10
- package/dist/server/services/index.js +0 -26
- package/dist/server/services/parallel/index.d.ts +0 -49
- package/dist/server/services/parallel/index.js +0 -67
- package/dist/server/services/parallel/parallel-compute.service.d.ts +0 -132
- package/dist/server/services/parallel/parallel-compute.service.js +0 -449
- package/dist/server/services/parallel/types.d.ts +0 -188
- package/dist/server/services/parallel/types.js +0 -7
- package/dist/server/services/parallel/worker-pool.d.ts +0 -83
- package/dist/server/services/parallel/worker-pool.js +0 -350
- package/dist/server/services/parallel/worker.d.ts +0 -19
- package/dist/server/services/parallel/worker.js +0 -49
- package/dist/server/services/persistence.service.d.ts +0 -59
- package/dist/server/services/persistence.service.js +0 -166
- package/dist/server/services/player.service.d.ts +0 -96
- package/dist/server/services/player.service.js +0 -132
- package/dist/server/services/rate-limiter.service.d.ts +0 -5
- package/dist/server/services/rate-limiter.service.js +0 -39
- package/dist/server/services/registers.d.ts +0 -1
- package/dist/server/services/registers.js +0 -18
- package/dist/server/setup.d.ts +0 -9
- package/dist/server/setup.js +0 -28
- package/dist/server/system/metadata-server.keys.d.ts +0 -10
- package/dist/server/system/metadata-server.keys.js +0 -13
- package/dist/server/system/processors/command.processor.d.ts +0 -9
- package/dist/server/system/processors/command.processor.js +0 -30
- package/dist/server/system/processors/coreEvent.processor.d.ts +0 -7
- package/dist/server/system/processors/coreEvent.processor.js +0 -41
- package/dist/server/system/processors/export.processor.d.ts +0 -7
- package/dist/server/system/processors/export.processor.js +0 -30
- package/dist/server/system/processors/fivemEvent.processor.d.ts +0 -7
- package/dist/server/system/processors/fivemEvent.processor.js +0 -40
- package/dist/server/system/processors/netEvent.processor.d.ts +0 -11
- package/dist/server/system/processors/netEvent.processor.js +0 -103
- package/dist/server/system/processors/tick.processor.d.ts +0 -5
- package/dist/server/system/processors/tick.processor.js +0 -36
- package/dist/server/system/processors.register.d.ts +0 -1
- package/dist/server/system/processors.register.js +0 -23
- package/dist/server/system/schema-generator.d.ts +0 -2
- package/dist/server/system/schema-generator.js +0 -34
- package/dist/server/templates/admin/admin.controller-template.d.ts +0 -12
- package/dist/server/templates/admin/admin.controller-template.js +0 -2
- package/dist/server/templates/auth/auth-provider.contract.d.ts +0 -58
- package/dist/server/templates/auth/auth-provider.contract.js +0 -23
- package/dist/server/templates/index.d.ts +0 -8
- package/dist/server/templates/index.js +0 -21
- package/dist/server/templates/persistence/index.d.ts +0 -30
- package/dist/server/templates/persistence/index.js +0 -34
- package/dist/server/templates/persistence/player-persistence.contract.d.ts +0 -86
- package/dist/server/templates/persistence/player-persistence.contract.js +0 -52
- package/dist/server/templates/repository/index.d.ts +0 -57
- package/dist/server/templates/repository/index.js +0 -61
- package/dist/server/templates/repository/repository.contract.d.ts +0 -224
- package/dist/server/templates/repository/repository.contract.js +0 -342
- package/dist/server/templates/repository/repository.types.d.ts +0 -51
- package/dist/server/templates/repository/repository.types.js +0 -7
- package/dist/server/templates/security/permission.types.d.ts +0 -32
- package/dist/server/templates/security/permission.types.js +0 -2
- package/dist/server/templates/security/principal-provider.contract.d.ts +0 -43
- package/dist/server/templates/security/principal-provider.contract.js +0 -19
- package/dist/server/templates/security/security-handler.contract.d.ts +0 -5
- package/dist/server/templates/security/security-handler.contract.js +0 -6
- package/dist/server/types/core-events.d.ts +0 -22
- package/dist/server/types/core-events.js +0 -2
- package/dist/server/types/security.types.js +0 -2
- package/dist/shared/index.d.ts +0 -1
- package/dist/shared/index.js +0 -17
- package/dist/shared/logger/core-logger.d.ts +0 -35
- package/dist/shared/logger/core-logger.js +0 -52
- package/dist/shared/logger/index.d.ts +0 -11
- package/dist/shared/logger/index.js +0 -26
- package/dist/shared/logger/logger.config.d.ts +0 -47
- package/dist/shared/logger/logger.config.js +0 -33
- package/dist/shared/logger/logger.service.d.ts +0 -161
- package/dist/shared/logger/logger.service.js +0 -279
- package/dist/shared/logger/logger.types.js +0 -74
- package/dist/shared/logger/transports/buffered.transport.d.ts +0 -88
- package/dist/shared/logger/transports/buffered.transport.js +0 -174
- package/dist/shared/logger/transports/console.transport.d.ts +0 -37
- package/dist/shared/logger/transports/console.transport.js +0 -134
- package/dist/shared/logger/transports/index.d.ts +0 -3
- package/dist/shared/logger/transports/index.js +0 -19
- package/dist/shared/logger/transports/transport.interface.d.ts +0 -40
- package/dist/shared/logger/transports/transport.interface.js +0 -2
- package/dist/system/class-constructor.js +0 -2
- package/dist/system/decorator-processor.js +0 -2
- package/dist/system/metadata.scanner.d.ts +0 -7
- package/dist/system/metadata.scanner.js +0 -45
- package/dist/utils/errors.d.ts +0 -14
- package/dist/utils/errors.js +0 -25
- package/dist/utils/index.d.ts +0 -4
- package/dist/utils/index.js +0 -20
- package/dist/utils/result.d.ts +0 -12
- package/dist/utils/result.js +0 -10
- package/dist/utils/rgb.d.ts +0 -5
- package/dist/utils/rgb.js +0 -2
- package/dist/utils/vector3.d.ts +0 -13
- package/dist/utils/vector3.js +0 -27
- /package/dist/{server/loaders/exports.loader.d.ts → adapters/contracts/client/spawn/types.js} +0 -0
- /package/dist/{system → kernel/di}/class-constructor.d.ts +0 -0
- /package/dist/{system → kernel/di}/decorator-processor.d.ts +0 -0
- /package/dist/{server/types → kernel/error}/security.types.d.ts +0 -0
- /package/dist/{shared → kernel}/logger/logger.types.d.ts +0 -0
- /package/dist/{client → runtime/client}/client-container.d.ts +0 -0
- /package/dist/{client → runtime/client}/types/index.d.ts +0 -0
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { Principal } from '../types/principal.type';
|
|
2
|
+
import { GuardOptions } from '../decorators/guard';
|
|
3
|
+
import { Player } from '../entities';
|
|
4
|
+
/**
|
|
5
|
+
* Core port that provides access to player authorization and permissions.
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* This port defines a framework-owned boundary for querying permission-related data
|
|
9
|
+
* regardless of the current runtime mode (CORE, RESOURCE, etc.).
|
|
10
|
+
*
|
|
11
|
+
* Implementations of this port are responsible for resolving permission information
|
|
12
|
+
* from the authoritative source (local provider, remote core exports, etc.).
|
|
13
|
+
*
|
|
14
|
+
* **Mode Differences:**
|
|
15
|
+
* - **CORE/STANDALONE**: Uses the user-provided PrincipalProviderContract directly
|
|
16
|
+
* - **RESOURCE**: Delegates to CORE via exports
|
|
17
|
+
*
|
|
18
|
+
* **Usage:**
|
|
19
|
+
* ```typescript
|
|
20
|
+
* @injectable()
|
|
21
|
+
* class MyService {
|
|
22
|
+
* constructor(private principal: PrincipalPort) {}
|
|
23
|
+
*
|
|
24
|
+
* async canBan(player: Player): Promise<boolean> {
|
|
25
|
+
* return await this.principal.hasPermission(player, 'admin.ban')
|
|
26
|
+
* }
|
|
27
|
+
* }
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare abstract class Authorization {
|
|
31
|
+
/**
|
|
32
|
+
* Gets the full Principal object for a player.
|
|
33
|
+
*
|
|
34
|
+
* @param player - The player entity
|
|
35
|
+
* @returns Principal data or null if not authenticated
|
|
36
|
+
*/
|
|
37
|
+
abstract getPrincipal(player: Player): Promise<Principal | null>;
|
|
38
|
+
/**
|
|
39
|
+
* Gets Principal by account ID (works for offline players too).
|
|
40
|
+
*
|
|
41
|
+
* @param accountId - Account identifier
|
|
42
|
+
* @returns Principal data or null
|
|
43
|
+
*/
|
|
44
|
+
abstract getPrincipalByAccountId(accountId: string): Promise<Principal | null>;
|
|
45
|
+
/**
|
|
46
|
+
* Forces a refresh of the player's permissions from persistence.
|
|
47
|
+
*
|
|
48
|
+
* @remarks
|
|
49
|
+
* Use this after promoting/demoting a player while they're online.
|
|
50
|
+
*
|
|
51
|
+
* @param player - The player to refresh
|
|
52
|
+
*/
|
|
53
|
+
abstract refreshPrincipal(player: Player): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Checks if player has a specific permission.
|
|
56
|
+
*
|
|
57
|
+
* @remarks
|
|
58
|
+
* Supports wildcard '*' permission for super-admin access.
|
|
59
|
+
*
|
|
60
|
+
* @param player - The player entity
|
|
61
|
+
* @param permission - Permission string to check
|
|
62
|
+
* @returns True if player has permission
|
|
63
|
+
*/
|
|
64
|
+
abstract hasPermission(player: Player, permission: string): Promise<boolean>;
|
|
65
|
+
/**
|
|
66
|
+
* Checks if player has at least the required rank.
|
|
67
|
+
*
|
|
68
|
+
* @remarks
|
|
69
|
+
* Uses numeric comparison: playerRank >= requiredRank
|
|
70
|
+
*
|
|
71
|
+
* @param player - The player entity
|
|
72
|
+
* @param requiredRank - Minimum rank value
|
|
73
|
+
* @returns True if playerRank >= requiredRank
|
|
74
|
+
*/
|
|
75
|
+
abstract hasRank(player: Player, requiredRank: number): Promise<boolean>;
|
|
76
|
+
/**
|
|
77
|
+
* Checks if player has ANY of the specified permissions.
|
|
78
|
+
*
|
|
79
|
+
* @param player - The player entity
|
|
80
|
+
* @param permissions - Array of permissions to check
|
|
81
|
+
* @returns True if player has at least one permission
|
|
82
|
+
*/
|
|
83
|
+
abstract hasAnyPermission(player: Player, permissions: string[]): Promise<boolean>;
|
|
84
|
+
/**
|
|
85
|
+
* Checks if player has ALL of the specified permissions.
|
|
86
|
+
*
|
|
87
|
+
* @param player - The player entity
|
|
88
|
+
* @param permissions - Array of permissions to check
|
|
89
|
+
* @returns True if player has all permissions
|
|
90
|
+
*/
|
|
91
|
+
abstract hasAllPermissions(player: Player, permissions: string[]): Promise<boolean>;
|
|
92
|
+
/**
|
|
93
|
+
* Gets all permissions for a player.
|
|
94
|
+
*
|
|
95
|
+
* @param player - The player entity
|
|
96
|
+
* @returns Array of permission strings
|
|
97
|
+
*/
|
|
98
|
+
abstract getPermissions(player: Player): Promise<string[]>;
|
|
99
|
+
/**
|
|
100
|
+
* Gets the rank value for a player.
|
|
101
|
+
*
|
|
102
|
+
* @param player - The player entity
|
|
103
|
+
* @returns Rank number or null if not set
|
|
104
|
+
*/
|
|
105
|
+
abstract getRank(player: Player): Promise<number | null>;
|
|
106
|
+
/**
|
|
107
|
+
* Gets the principal name/role name for a player.
|
|
108
|
+
*
|
|
109
|
+
* @param player - The player entity
|
|
110
|
+
* @returns Role name or null
|
|
111
|
+
*/
|
|
112
|
+
abstract getPrincipalName(player: Player): Promise<string | null>;
|
|
113
|
+
/**
|
|
114
|
+
* Gets principal metadata for a player.
|
|
115
|
+
*
|
|
116
|
+
* @param player - The player entity
|
|
117
|
+
* @param key - Metadata key
|
|
118
|
+
* @returns Metadata value or null
|
|
119
|
+
*/
|
|
120
|
+
abstract getPrincipalMeta(player: Player, key: string): Promise<unknown>;
|
|
121
|
+
/**
|
|
122
|
+
* Enforces access control requirements, throwing on failure.
|
|
123
|
+
*
|
|
124
|
+
* @remarks
|
|
125
|
+
* This is the primary method used by `@Guard` decorator and security validation.
|
|
126
|
+
* It validates rank and/or permission requirements and throws `AppError` if
|
|
127
|
+
* the player doesn't meet the criteria.
|
|
128
|
+
*
|
|
129
|
+
* **Validation Order:**
|
|
130
|
+
* 1. Rank check (if `rank` specified)
|
|
131
|
+
* 2. Permission check (if `permission` specified)
|
|
132
|
+
*
|
|
133
|
+
* @param player - The player entity to validate
|
|
134
|
+
* @param requirements - Guard options containing rank and/or permission requirements
|
|
135
|
+
*
|
|
136
|
+
* @throws AppError - `AUTH:UNAUTHORIZED` if player has no principal
|
|
137
|
+
* @throws AppError - `GAME:NO_RANK_IN_PRINCIPAL` if rank check requested but principal has no rank
|
|
138
|
+
* @throws AppError - `AUTH:PERMISSION_DENIED` if player doesn't meet requirements
|
|
139
|
+
*
|
|
140
|
+
* @example
|
|
141
|
+
* ```typescript
|
|
142
|
+
* // In a service or controller
|
|
143
|
+
* await this.principal.enforce(player, { rank: 5 })
|
|
144
|
+
* await this.principal.enforce(player, { permission: 'admin.ban' })
|
|
145
|
+
* await this.principal.enforce(player, { rank: 3, permission: 'mod.kick' })
|
|
146
|
+
* ```
|
|
147
|
+
*/
|
|
148
|
+
abstract enforce(player: Player, requirements: GuardOptions): Promise<void>;
|
|
149
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core port that provides access to player authorization and permissions.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* This port defines a framework-owned boundary for querying permission-related data
|
|
6
|
+
* regardless of the current runtime mode (CORE, RESOURCE, etc.).
|
|
7
|
+
*
|
|
8
|
+
* Implementations of this port are responsible for resolving permission information
|
|
9
|
+
* from the authoritative source (local provider, remote core exports, etc.).
|
|
10
|
+
*
|
|
11
|
+
* **Mode Differences:**
|
|
12
|
+
* - **CORE/STANDALONE**: Uses the user-provided PrincipalProviderContract directly
|
|
13
|
+
* - **RESOURCE**: Delegates to CORE via exports
|
|
14
|
+
*
|
|
15
|
+
* **Usage:**
|
|
16
|
+
* ```typescript
|
|
17
|
+
* @injectable()
|
|
18
|
+
* class MyService {
|
|
19
|
+
* constructor(private principal: PrincipalPort) {}
|
|
20
|
+
*
|
|
21
|
+
* async canBan(player: Player): Promise<boolean> {
|
|
22
|
+
* return await this.principal.hasPermission(player, 'admin.ban')
|
|
23
|
+
* }
|
|
24
|
+
* }
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export class Authorization {
|
|
28
|
+
}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
import { RGB } from 'src/kernel';
|
|
2
|
+
import { Channel } from '../concepts/channel';
|
|
3
|
+
import { Player } from '../entities';
|
|
4
|
+
import { ChannelMetadata, ChannelType, IChannelValidator } from '../types';
|
|
5
|
+
export declare abstract class Channels {
|
|
6
|
+
/**
|
|
7
|
+
* Sets a custom validator for channel operations.
|
|
8
|
+
*
|
|
9
|
+
* @remarks
|
|
10
|
+
* Validators control who can subscribe to channels and who can broadcast messages.
|
|
11
|
+
* Only works in CORE/STANDALONE mode. In RESOURCE mode, validators must be set in CORE.
|
|
12
|
+
*
|
|
13
|
+
* @param validator - Custom validator implementing IChannelValidator
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* channels.setValidator({
|
|
18
|
+
* canSubscribe: (player, channelId) => {
|
|
19
|
+
* return !player.hasState('banned')
|
|
20
|
+
* },
|
|
21
|
+
* canBroadcast: (player, channelId) => {
|
|
22
|
+
* return !player.hasState('muted')
|
|
23
|
+
* }
|
|
24
|
+
* })
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
abstract setValidator(validator: IChannelValidator): void;
|
|
28
|
+
/**
|
|
29
|
+
* Creates a new channel.
|
|
30
|
+
*
|
|
31
|
+
* @param id - Unique channel identifier (e.g., 'group:police', 'radio:100')
|
|
32
|
+
* @param metadata - Channel configuration (type, persistence, etc.)
|
|
33
|
+
* @param maxSubscribers - Optional maximum number of subscribers
|
|
34
|
+
* @returns The created channel
|
|
35
|
+
* @throws Error if channel with the same ID already exists
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```typescript
|
|
39
|
+
* const channel = channels.create('radio:100', {
|
|
40
|
+
* type: ChannelType.RADIO,
|
|
41
|
+
* frequency: 100,
|
|
42
|
+
* persistent: true
|
|
43
|
+
* })
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
abstract create(id: string, metadata: ChannelMetadata, maxSubscribers?: number): Channel;
|
|
47
|
+
/**
|
|
48
|
+
* Creates a private channel for specific players.
|
|
49
|
+
*
|
|
50
|
+
* @remarks
|
|
51
|
+
* Automatically subscribes all provided players to the channel.
|
|
52
|
+
* Channel ID is auto-generated and non-persistent.
|
|
53
|
+
*
|
|
54
|
+
* @param players - Array of players to include in the private channel
|
|
55
|
+
* @param metadata - Channel configuration (type should be PRIVATE)
|
|
56
|
+
* @returns The created private channel with all players subscribed
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```typescript
|
|
60
|
+
* const privateChannel = channels.createPrivate([player1, player2], {
|
|
61
|
+
* type: ChannelType.PRIVATE,
|
|
62
|
+
* persistent: false
|
|
63
|
+
* })
|
|
64
|
+
* channels.broadcast(privateChannel.id, player1, 'Private message')
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
abstract createPrivate(players: Player[], metadata: ChannelMetadata): Channel;
|
|
68
|
+
abstract get(id: string): Channel | undefined;
|
|
69
|
+
abstract delete(id: string): boolean;
|
|
70
|
+
abstract exists(id: string): boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Subscribes a player to a channel.
|
|
73
|
+
*
|
|
74
|
+
* @remarks
|
|
75
|
+
* If a validator is set, it will be checked before subscribing.
|
|
76
|
+
* Players can only be subscribed once to the same channel.
|
|
77
|
+
*
|
|
78
|
+
* @param channelId - Channel identifier
|
|
79
|
+
* @param player - Player to subscribe
|
|
80
|
+
* @param metadata - Optional subscription metadata
|
|
81
|
+
* @returns true if subscribed successfully, false if validation failed or already subscribed
|
|
82
|
+
* @throws Error if channel doesn't exist
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* ```typescript
|
|
86
|
+
* if (channels.subscribe('group:police', player)) {
|
|
87
|
+
* // Player joined the group channel
|
|
88
|
+
* }
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
abstract subscribe(channelId: string, player: Player, metadata?: Record<string, unknown>): boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Unsubscribes a player from a channel.
|
|
94
|
+
*
|
|
95
|
+
* @param channelId - Channel identifier
|
|
96
|
+
* @param player - Player to unsubscribe
|
|
97
|
+
* @returns true if unsubscribed successfully, false if channel doesn't exist or player wasn't subscribed
|
|
98
|
+
*/
|
|
99
|
+
abstract unsubscribe(channelId: string, player: Player): boolean;
|
|
100
|
+
abstract isSubscribed(channelId: string, player: Player): boolean;
|
|
101
|
+
/**
|
|
102
|
+
* Broadcasts a message to all subscribers of a channel.
|
|
103
|
+
*
|
|
104
|
+
* @remarks
|
|
105
|
+
* If a validator is set, it will check if the sender can broadcast.
|
|
106
|
+
* Only sends to currently subscribed players.
|
|
107
|
+
*
|
|
108
|
+
* @param channelId - Channel identifier
|
|
109
|
+
* @param sender - Player sending the message
|
|
110
|
+
* @param message - Message content
|
|
111
|
+
* @param author - Display name for the sender (defaults to sender.name)
|
|
112
|
+
* @param color - Message color (defaults to white)
|
|
113
|
+
* @throws Error if channel doesn't exist
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
* ```typescript
|
|
117
|
+
* channels.broadcast(
|
|
118
|
+
* 'group:police',
|
|
119
|
+
* player,
|
|
120
|
+
* 'Suspect heading north',
|
|
121
|
+
* undefined,
|
|
122
|
+
* { r: 0, g: 100, b: 255 }
|
|
123
|
+
* )
|
|
124
|
+
* ```
|
|
125
|
+
*/
|
|
126
|
+
abstract broadcast(channelId: string, sender: Player, message: string, author?: string, color?: RGB): void;
|
|
127
|
+
/**
|
|
128
|
+
* Broadcasts a system message to all subscribers of a channel.
|
|
129
|
+
*
|
|
130
|
+
* @remarks
|
|
131
|
+
* System messages bypass validator checks and don't require a sender.
|
|
132
|
+
*
|
|
133
|
+
* @param channelId - Channel identifier
|
|
134
|
+
* @param message - Message content
|
|
135
|
+
* @param author - Display name (defaults to 'SYSTEM')
|
|
136
|
+
* @param color - Message color (defaults to light blue)
|
|
137
|
+
* @throws Error if channel doesn't exist
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```typescript
|
|
141
|
+
* channels.broadcastSystem(
|
|
142
|
+
* 'group:police',
|
|
143
|
+
* 'group meeting in 5 minutes',
|
|
144
|
+
* 'DISPATCH'
|
|
145
|
+
* )
|
|
146
|
+
* ```
|
|
147
|
+
*/
|
|
148
|
+
abstract broadcastSystem(channelId: string, message: string, author?: string, color?: RGB): void;
|
|
149
|
+
abstract getSubscribers(channelId: string): Player[];
|
|
150
|
+
/**
|
|
151
|
+
* Gets all channels of a specific type.
|
|
152
|
+
*
|
|
153
|
+
* @param type - Channel type to filter by
|
|
154
|
+
* @returns Array of channels matching the type
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* ```typescript
|
|
158
|
+
* const groupChannels = channels.getChannelsByType(ChannelType.group)
|
|
159
|
+
* ```
|
|
160
|
+
*/
|
|
161
|
+
abstract getChannelsByType(type: ChannelType): Channel[];
|
|
162
|
+
/**
|
|
163
|
+
* Gets all channels a player is subscribed to.
|
|
164
|
+
*
|
|
165
|
+
* @param player - Player to check
|
|
166
|
+
* @returns Array of channels the player is subscribed to
|
|
167
|
+
*
|
|
168
|
+
* @example
|
|
169
|
+
* ```typescript
|
|
170
|
+
* const playerChannels = channels.getChannelsByPlayer(player)
|
|
171
|
+
* playerChannels.forEach(ch => {
|
|
172
|
+
* console.log(`Player is in channel: ${ch.id}`)
|
|
173
|
+
* })
|
|
174
|
+
* ```
|
|
175
|
+
*/
|
|
176
|
+
abstract getChannelsByPlayer(player: Player): Channel[];
|
|
177
|
+
abstract getAllChannels(): Channel[];
|
|
178
|
+
/**
|
|
179
|
+
* Clears all channels and their subscribers.
|
|
180
|
+
*
|
|
181
|
+
* @remarks
|
|
182
|
+
* Persistent channels are cleared but not deleted.
|
|
183
|
+
* Only available in CORE/STANDALONE mode.
|
|
184
|
+
*/
|
|
185
|
+
abstract clear(): void;
|
|
186
|
+
/**
|
|
187
|
+
* Deletes all non-persistent (temporary) channels.
|
|
188
|
+
*
|
|
189
|
+
* @remarks
|
|
190
|
+
* Useful for cleanup operations. Persistent channels are not affected.
|
|
191
|
+
* Only available in CORE/STANDALONE mode.
|
|
192
|
+
*/
|
|
193
|
+
abstract clearNonPersistent(): void;
|
|
194
|
+
/**
|
|
195
|
+
* Creates a temporary proximity-based channel around a player.
|
|
196
|
+
*
|
|
197
|
+
* @remarks
|
|
198
|
+
* Automatically subscribes all players within the specified radius.
|
|
199
|
+
* Channel is non-persistent and should be deleted after use.
|
|
200
|
+
* Calculates 3D distance between players.
|
|
201
|
+
*
|
|
202
|
+
* @param originPlayer - Player at the center of the proximity area
|
|
203
|
+
* @param radius - Distance radius in game units
|
|
204
|
+
* @param channelId - Optional custom channel ID (auto-generated if not provided)
|
|
205
|
+
* @returns The created channel with nearby players subscribed, or undefined if origin player has no position
|
|
206
|
+
*
|
|
207
|
+
* @example
|
|
208
|
+
* ```typescript
|
|
209
|
+
* // Create proximity channel for local chat
|
|
210
|
+
* const nearby = channels.createProximityChannel(player, 50.0)
|
|
211
|
+
* if (nearby) {
|
|
212
|
+
* channels.broadcast(nearby.id, player, 'Hello nearby players!')
|
|
213
|
+
* channels.delete(nearby.id) // Clean up
|
|
214
|
+
* }
|
|
215
|
+
* ```
|
|
216
|
+
*/
|
|
217
|
+
abstract createProximityChannel(originPlayer: Player, radius: number, channelId?: string): Channel | undefined;
|
|
218
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { CommandMetadata } from '../../decorators/command';
|
|
2
|
+
import { Player } from '../../entities';
|
|
3
|
+
/**
|
|
4
|
+
* Command information returned by getAllCommands.
|
|
5
|
+
*/
|
|
6
|
+
export interface CommandInfo {
|
|
7
|
+
command: string;
|
|
8
|
+
description?: string;
|
|
9
|
+
usage?: string;
|
|
10
|
+
isPublic: boolean;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Abstract port for command registration and execution.
|
|
14
|
+
*
|
|
15
|
+
* @remarks
|
|
16
|
+
* This port provides mode-agnostic access to the command system.
|
|
17
|
+
* Implementations:
|
|
18
|
+
* - CommandService (local): CORE/STANDALONE modes maintain command registry locally
|
|
19
|
+
* - RemoteCommandService (remote): RESOURCE mode delegates to CORE via exports
|
|
20
|
+
*/
|
|
21
|
+
export declare abstract class CommandExecutionPort {
|
|
22
|
+
/**
|
|
23
|
+
* Registers a command handler.
|
|
24
|
+
*
|
|
25
|
+
* @param metadata - Command metadata from decorator
|
|
26
|
+
* @param handler - Bound method to invoke when command is executed
|
|
27
|
+
*/
|
|
28
|
+
abstract register(metadata: CommandMetadata, handler: (...args: any[]) => any): void;
|
|
29
|
+
/**
|
|
30
|
+
* Executes a registered command.
|
|
31
|
+
*
|
|
32
|
+
* @param player - Player invoking the command
|
|
33
|
+
* @param commandName - Command name (without leading slash)
|
|
34
|
+
* @param args - Raw argument strings
|
|
35
|
+
*/
|
|
36
|
+
abstract execute(player: Player, commandName: string, args: string[]): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Returns metadata for a command if registered in this runtime.
|
|
39
|
+
*
|
|
40
|
+
* @remarks
|
|
41
|
+
* Used to enrich error observation (usage/description/etc.).
|
|
42
|
+
*/
|
|
43
|
+
abstract getCommandMeta(commandName: string): CommandMetadata | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* Returns all registered commands.
|
|
46
|
+
*/
|
|
47
|
+
abstract getAllCommands(): CommandInfo[];
|
|
48
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Abstract port for command registration and execution.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* This port provides mode-agnostic access to the command system.
|
|
6
|
+
* Implementations:
|
|
7
|
+
* - CommandService (local): CORE/STANDALONE modes maintain command registry locally
|
|
8
|
+
* - RemoteCommandService (remote): RESOURCE mode delegates to CORE via exports
|
|
9
|
+
*/
|
|
10
|
+
export class CommandExecutionPort {
|
|
11
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Player } from '../../entities';
|
|
2
|
+
import { PlayerSession } from '../../services';
|
|
3
|
+
/**
|
|
4
|
+
* Core port responsible for managing the lifecycle of player sessions.
|
|
5
|
+
*
|
|
6
|
+
* @remarks
|
|
7
|
+
* This port defines the authoritative boundary for creating, linking, and
|
|
8
|
+
* destroying player sessions within the framework.
|
|
9
|
+
*
|
|
10
|
+
* Implementations of this port own the session state and are expected to be
|
|
11
|
+
* invoked in response to connection, authentication, and disconnection events.
|
|
12
|
+
*/
|
|
13
|
+
export declare abstract class PlayerSessionLifecyclePort {
|
|
14
|
+
/**
|
|
15
|
+
* Creates and binds a new player session to a connected client.
|
|
16
|
+
*
|
|
17
|
+
* @remarks
|
|
18
|
+
* This method is typically called when a player joins the server or completes
|
|
19
|
+
* the initial handshake phase. The returned {@link Player} represents the
|
|
20
|
+
* runtime session associated with the client.
|
|
21
|
+
*
|
|
22
|
+
* @param clientID - The FiveM server client ID (`source`).
|
|
23
|
+
* @param identifiers - Optional platform identifiers (license, steam, etc.).
|
|
24
|
+
* @returns The newly created {@link Player} instance.
|
|
25
|
+
*/
|
|
26
|
+
abstract bind(clientID: number, identifiers?: PlayerSession['identifiers']): Player;
|
|
27
|
+
/**
|
|
28
|
+
* Terminates and removes the player session associated with a client.
|
|
29
|
+
*
|
|
30
|
+
* @remarks
|
|
31
|
+
* This method should be called when the client disconnects to ensure
|
|
32
|
+
* session state is properly cleaned up and memory is released.
|
|
33
|
+
*
|
|
34
|
+
* @param clientID - The FiveM server client ID (`source`).
|
|
35
|
+
*/
|
|
36
|
+
abstract unbind(clientID: number): void;
|
|
37
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core port responsible for managing the lifecycle of player sessions.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* This port defines the authoritative boundary for creating, linking, and
|
|
6
|
+
* destroying player sessions within the framework.
|
|
7
|
+
*
|
|
8
|
+
* Implementations of this port own the session state and are expected to be
|
|
9
|
+
* invoked in response to connection, authentication, and disconnection events.
|
|
10
|
+
*/
|
|
11
|
+
export class PlayerSessionLifecyclePort {
|
|
12
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { Player } from '../entities';
|
|
2
|
+
import { LinkedID } from '../services';
|
|
3
|
+
/**
|
|
4
|
+
* Core port that provides access to active player sessions.
|
|
5
|
+
*
|
|
6
|
+
* @remarks
|
|
7
|
+
* This port defines a framework-owned boundary for querying and managing player-related data
|
|
8
|
+
* regardless of the current runtime mode (CORE, RESOURCE, etc.).
|
|
9
|
+
*
|
|
10
|
+
* Implementations of this port are responsible for resolving player information
|
|
11
|
+
* from the authoritative source (local session store, remote core exports, etc.).
|
|
12
|
+
*
|
|
13
|
+
* Consumers should treat returned {@link Player} instances as runtime representations
|
|
14
|
+
* of connected clients, not as persistent domain models.
|
|
15
|
+
*
|
|
16
|
+
* **Mode Differences:**
|
|
17
|
+
* - **CORE/STANDALONE**: Data is local and authoritative
|
|
18
|
+
* - **RESOURCE**: Data is fetched from CORE via exports
|
|
19
|
+
*/
|
|
20
|
+
export declare abstract class Players {
|
|
21
|
+
/**
|
|
22
|
+
* Returns the {@link Player} associated with a given FiveM client ID.
|
|
23
|
+
*
|
|
24
|
+
* @param clientID - The FiveM server client ID (`source`).
|
|
25
|
+
* @returns The corresponding {@link Player} instance, or `undefined` if the player is not connected.
|
|
26
|
+
*/
|
|
27
|
+
abstract getByClient(clientID: number): Player | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* Returns a group of {@link Player} associated with a given fivem clients ids
|
|
30
|
+
*
|
|
31
|
+
* @param clientIds The fivem server client ID (`source`)
|
|
32
|
+
*/
|
|
33
|
+
abstract getMany(clientIds: number[]): Player[];
|
|
34
|
+
/**
|
|
35
|
+
* Returns all currently connected players.
|
|
36
|
+
*
|
|
37
|
+
* @returns An array of {@link Player} instances representing all active clients.
|
|
38
|
+
*/
|
|
39
|
+
abstract getAll(): Player[];
|
|
40
|
+
/**
|
|
41
|
+
* Returns the persistent account identifier associated with a client.
|
|
42
|
+
*
|
|
43
|
+
* @remarks
|
|
44
|
+
* The returned identifier is typically assigned after authentication and may be
|
|
45
|
+
* `undefined` if the player has not completed the login or character selection flow.
|
|
46
|
+
*
|
|
47
|
+
* @param clientID - The FiveM server client ID (`source`).
|
|
48
|
+
* @returns The linked account ID, or `undefined` if none is associated.
|
|
49
|
+
*/
|
|
50
|
+
abstract getAccountLinked(clientID: number): LinkedID | undefined;
|
|
51
|
+
/**
|
|
52
|
+
* Retrieves a metadata value associated with a player session.
|
|
53
|
+
*
|
|
54
|
+
* @remarks
|
|
55
|
+
* Metadata values are transient and scoped to the current session.
|
|
56
|
+
* Implementations may resolve this data locally or delegate to the core runtime.
|
|
57
|
+
*
|
|
58
|
+
* @typeParam T - The expected type of the stored value.
|
|
59
|
+
* @param clientID - The FiveM server client ID (`source`).
|
|
60
|
+
* @param key - The metadata key to retrieve.
|
|
61
|
+
* @returns The stored value, or `undefined` if the key does not exist.
|
|
62
|
+
*/
|
|
63
|
+
abstract getMeta<T = unknown>(clientID: number, key: string): Promise<T | undefined>;
|
|
64
|
+
/**
|
|
65
|
+
* Stores a metadata value in the player session.
|
|
66
|
+
*
|
|
67
|
+
* @remarks
|
|
68
|
+
* Metadata is intended for transient runtime state such as flags, gameplay context,
|
|
69
|
+
* or temporary attributes. It is not persisted across reconnects.
|
|
70
|
+
*
|
|
71
|
+
* @param clientID - The FiveM server client ID (`source`).
|
|
72
|
+
* @param key - The metadata key to store.
|
|
73
|
+
* @param value - The value to associate with the given key.
|
|
74
|
+
*/
|
|
75
|
+
abstract setMeta(clientID: number, key: string, value: unknown): void;
|
|
76
|
+
/**
|
|
77
|
+
* Returns the {@link Player} associated with a persistent account ID.
|
|
78
|
+
*
|
|
79
|
+
* @remarks
|
|
80
|
+
* Searches all connected players for one with the matching accountID.
|
|
81
|
+
* Returns `undefined` if no player with that account is currently online.
|
|
82
|
+
*
|
|
83
|
+
* @param accountId - The persistent account identifier.
|
|
84
|
+
* @returns The corresponding {@link Player} instance, or `undefined` if not online.
|
|
85
|
+
*/
|
|
86
|
+
abstract getByAccountId(accountId: string): Player | undefined;
|
|
87
|
+
/**
|
|
88
|
+
* Returns the current number of connected players.
|
|
89
|
+
*
|
|
90
|
+
* @remarks
|
|
91
|
+
* More efficient than `getAll().length` for implementations that
|
|
92
|
+
* can provide a count without fetching all player data.
|
|
93
|
+
*
|
|
94
|
+
* @returns The number of currently connected players.
|
|
95
|
+
*/
|
|
96
|
+
abstract getPlayerCount(): number;
|
|
97
|
+
/**
|
|
98
|
+
* Checks if a player with the given account ID is currently online.
|
|
99
|
+
*
|
|
100
|
+
* @remarks
|
|
101
|
+
* More efficient than `getByAccountId() !== undefined` for implementations
|
|
102
|
+
* that can check presence without fetching full player data.
|
|
103
|
+
*
|
|
104
|
+
* @param accountId - The persistent account identifier.
|
|
105
|
+
* @returns `true` if the player is online, `false` otherwise.
|
|
106
|
+
*/
|
|
107
|
+
abstract isOnline(accountId: string): boolean;
|
|
108
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core port that provides access to active player sessions.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* This port defines a framework-owned boundary for querying and managing player-related data
|
|
6
|
+
* regardless of the current runtime mode (CORE, RESOURCE, etc.).
|
|
7
|
+
*
|
|
8
|
+
* Implementations of this port are responsible for resolving player information
|
|
9
|
+
* from the authoritative source (local session store, remote core exports, etc.).
|
|
10
|
+
*
|
|
11
|
+
* Consumers should treat returned {@link Player} instances as runtime representations
|
|
12
|
+
* of connected clients, not as persistent domain models.
|
|
13
|
+
*
|
|
14
|
+
* **Mode Differences:**
|
|
15
|
+
* - **CORE/STANDALONE**: Data is local and authoritative
|
|
16
|
+
* - **RESOURCE**: Data is fetched from CORE via exports
|
|
17
|
+
*/
|
|
18
|
+
export class Players {
|
|
19
|
+
}
|