@open-core/framework 0.1.0-alpha.1 → 0.2.1-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +217 -360
- package/dist/adapters/contracts/IEngineEvents.d.ts +20 -0
- package/dist/adapters/contracts/IEngineEvents.js +6 -0
- package/dist/adapters/contracts/IEntityServer.d.ts +88 -0
- package/dist/adapters/contracts/IEntityServer.js +13 -0
- package/dist/adapters/contracts/IExports.d.ts +4 -0
- package/dist/adapters/contracts/IExports.js +6 -0
- package/dist/adapters/contracts/IHasher.d.ts +15 -0
- package/dist/adapters/contracts/IHasher.js +12 -0
- package/dist/adapters/contracts/INetTransport.d.ts +8 -0
- package/dist/adapters/contracts/INetTransport.js +6 -0
- package/dist/adapters/contracts/IPedAppearanceClient.d.ts +206 -0
- package/dist/adapters/contracts/IPedAppearanceClient.js +16 -0
- package/dist/adapters/contracts/IPedAppearanceServer.d.ts +45 -0
- package/dist/adapters/contracts/IPedAppearanceServer.js +16 -0
- package/dist/adapters/contracts/IPlayerInfo.d.ts +5 -0
- package/dist/adapters/contracts/IPlayerInfo.js +6 -0
- package/dist/adapters/contracts/IPlayerServer.d.ts +73 -0
- package/dist/adapters/contracts/IPlayerServer.js +13 -0
- package/dist/adapters/contracts/IResourceInfo.d.ts +3 -0
- package/dist/adapters/contracts/IResourceInfo.js +6 -0
- package/dist/adapters/contracts/ITick.d.ts +10 -0
- package/dist/adapters/contracts/ITick.js +9 -0
- package/dist/adapters/contracts/IVehicleServer.d.ts +55 -0
- package/dist/adapters/contracts/IVehicleServer.js +13 -0
- package/dist/{server/database/adapters → adapters/database}/oxmysql.adapter.d.ts +2 -2
- package/dist/{server/database/adapters → adapters/database}/oxmysql.adapter.js +2 -2
- package/dist/adapters/database/resource.adapter.d.ts +12 -0
- package/dist/adapters/database/resource.adapter.js +68 -0
- package/dist/adapters/fivem/fivem-engine-events.d.ts +5 -0
- package/dist/adapters/fivem/fivem-engine-events.js +13 -0
- package/dist/adapters/fivem/fivem-entity-server.d.ts +22 -0
- package/dist/adapters/fivem/fivem-entity-server.js +80 -0
- package/dist/adapters/fivem/fivem-exports.d.ts +5 -0
- package/dist/adapters/fivem/fivem-exports.js +14 -0
- package/dist/adapters/fivem/fivem-hasher.d.ts +7 -0
- package/dist/adapters/fivem/fivem-hasher.js +23 -0
- package/dist/adapters/fivem/fivem-net-transport.d.ts +5 -0
- package/dist/adapters/fivem/fivem-net-transport.js +24 -0
- package/dist/adapters/fivem/fivem-ped-appearance-client.d.ts +34 -0
- package/dist/adapters/fivem/fivem-ped-appearance-client.js +84 -0
- package/dist/adapters/fivem/fivem-ped-appearance-server.d.ts +14 -0
- package/dist/adapters/fivem/fivem-ped-appearance-server.js +26 -0
- package/dist/adapters/fivem/fivem-player-server.d.ts +15 -0
- package/dist/adapters/fivem/fivem-player-server.js +63 -0
- package/dist/adapters/fivem/fivem-playerinfo.d.ts +6 -0
- package/dist/adapters/fivem/fivem-playerinfo.js +14 -0
- package/dist/adapters/fivem/fivem-resourceinfo.d.ts +4 -0
- package/dist/adapters/fivem/fivem-resourceinfo.js +16 -0
- package/dist/adapters/fivem/fivem-tick.d.ts +7 -0
- package/dist/adapters/fivem/fivem-tick.js +22 -0
- package/dist/adapters/fivem/fivem-vehicle-server.d.ts +15 -0
- package/dist/adapters/fivem/fivem-vehicle-server.js +47 -0
- package/dist/adapters/index.d.ts +15 -0
- package/dist/adapters/index.js +40 -0
- package/dist/adapters/node/index.d.ts +8 -0
- package/dist/adapters/node/index.js +19 -0
- package/dist/adapters/node/node-engine-events.d.ts +20 -0
- package/dist/adapters/node/node-engine-events.js +42 -0
- package/dist/adapters/node/node-entity-server.d.ts +26 -0
- package/dist/adapters/node/node-entity-server.js +101 -0
- package/dist/adapters/node/node-exports.d.ts +26 -0
- package/dist/adapters/node/node-exports.js +63 -0
- package/dist/adapters/node/node-hasher.d.ts +12 -0
- package/dist/adapters/node/node-hasher.js +39 -0
- package/dist/adapters/node/node-net-transport.d.ts +18 -0
- package/dist/adapters/node/node-net-transport.js +57 -0
- package/dist/adapters/node/node-ped-appearance-client.d.ts +34 -0
- package/dist/adapters/node/node-ped-appearance-client.js +59 -0
- package/dist/adapters/node/node-ped-appearance-server.d.ts +14 -0
- package/dist/adapters/node/node-ped-appearance-server.js +18 -0
- package/dist/adapters/node/node-player-server.d.ts +27 -0
- package/dist/adapters/node/node-player-server.js +82 -0
- package/dist/adapters/node/node-playerinfo.d.ts +6 -0
- package/dist/adapters/node/node-playerinfo.js +12 -0
- package/dist/adapters/node/node-resourceinfo.d.ts +12 -0
- package/dist/adapters/node/node-resourceinfo.js +27 -0
- package/dist/adapters/node/node-tick.d.ts +10 -0
- package/dist/{server/system/processors/command.processor.js → adapters/node/node-tick.js} +27 -14
- package/dist/adapters/node/node-vehicle-server.d.ts +21 -0
- package/dist/adapters/node/node-vehicle-server.js +93 -0
- package/dist/adapters/register-capabilities.d.ts +11 -0
- package/dist/adapters/register-capabilities.js +148 -0
- package/dist/adapters/register-client-capabilities.d.ts +8 -0
- package/dist/adapters/register-client-capabilities.js +56 -0
- package/dist/index.d.ts +5 -4
- package/dist/index.js +9 -5
- package/dist/kernel/di/index.d.ts +4 -0
- package/dist/kernel/di/index.js +20 -0
- package/dist/{system → kernel/di}/metadata.scanner.d.ts +1 -2
- package/dist/kernel/di/tokens.d.ts +30 -0
- package/dist/kernel/di/tokens.js +38 -0
- package/dist/kernel/index.d.ts +7 -0
- package/dist/kernel/index.js +30 -0
- package/dist/kernel/schema/index.d.ts +32 -0
- package/dist/kernel/schema/index.js +5 -0
- package/dist/kernel/shared/appearance/appearance.interface.d.ts +276 -0
- package/dist/kernel/shared/appearance/appearance.interface.js +77 -0
- package/dist/kernel/shared/appearance/index.d.ts +1 -0
- package/dist/kernel/shared/appearance/index.js +17 -0
- package/dist/kernel/shared/index.d.ts +2 -0
- package/dist/{shared → kernel/shared}/index.js +1 -0
- package/dist/{shared → kernel/shared}/logger/core-logger.d.ts +13 -0
- package/dist/{shared → kernel/shared}/logger/core-logger.js +38 -9
- package/dist/{shared → kernel/shared}/logger/index.d.ts +12 -9
- package/dist/{shared → kernel/shared}/logger/index.js +24 -15
- package/dist/{shared → kernel/shared}/logger/logger.config.d.ts +1 -1
- package/dist/kernel/shared/logger/logger.env.d.ts +28 -0
- package/dist/kernel/shared/logger/logger.env.js +51 -0
- package/dist/{shared → kernel/shared}/logger/logger.service.d.ts +2 -2
- package/dist/{shared → kernel/shared}/logger/transports/buffered.transport.d.ts +2 -2
- package/dist/{shared → kernel/shared}/logger/transports/buffered.transport.js +1 -1
- package/dist/{shared → kernel/shared}/logger/transports/console.transport.d.ts +2 -2
- package/dist/{shared → kernel/shared}/logger/transports/console.transport.js +1 -0
- package/dist/kernel/shared/logger/transports/dev-transport.factory.d.ts +75 -0
- package/dist/kernel/shared/logger/transports/dev-transport.factory.js +111 -0
- package/dist/kernel/shared/logger/transports/http.transport.d.ts +67 -0
- package/dist/kernel/shared/logger/transports/http.transport.js +170 -0
- package/dist/kernel/shared/logger/transports/index.d.ts +7 -0
- package/dist/kernel/shared/logger/transports/index.js +34 -0
- package/dist/kernel/shared/logger/transports/simple-console.transport.d.ts +38 -0
- package/dist/kernel/shared/logger/transports/simple-console.transport.js +93 -0
- package/dist/{shared → kernel/shared}/logger/transports/transport.interface.d.ts +1 -1
- package/dist/kernel/shared/logger/transports/websocket.transport.d.ts +69 -0
- package/dist/kernel/shared/logger/transports/websocket.transport.js +169 -0
- package/dist/kernel/utils/error/app.error.d.ts +9 -0
- package/dist/{utils/errors.js → kernel/utils/error/app.error.js} +1 -9
- package/dist/kernel/utils/error/security.error.d.ts +6 -0
- package/dist/kernel/utils/error/security.error.js +12 -0
- package/dist/{utils → kernel/utils}/index.d.ts +3 -2
- package/dist/{utils → kernel/utils}/index.js +3 -2
- package/dist/{utils → kernel/utils}/result.d.ts +1 -1
- package/dist/runtime/client/client-bootstrap.d.ts +7 -0
- package/dist/runtime/client/client-bootstrap.js +180 -0
- package/dist/runtime/client/client-core.d.ts +19 -0
- package/dist/runtime/client/client-core.js +24 -0
- package/dist/runtime/client/client-runtime.d.ts +58 -0
- package/dist/runtime/client/client-runtime.js +32 -0
- package/dist/runtime/client/controllers/appearance.controller.d.ts +8 -0
- package/dist/runtime/client/controllers/appearance.controller.js +50 -0
- package/dist/runtime/client/controllers/player-sync.controller.d.ts +11 -0
- package/dist/runtime/client/controllers/player-sync.controller.js +54 -0
- package/dist/{client → runtime/client}/controllers/spawner.controller.d.ts +1 -1
- package/dist/runtime/client/decorators/controller.d.ts +20 -0
- package/dist/runtime/client/decorators/controller.js +55 -0
- package/dist/runtime/client/decorators/export.d.ts +21 -0
- package/dist/runtime/client/decorators/export.js +29 -0
- package/dist/{client → runtime/client}/decorators/gameEvent.d.ts +2 -2
- package/dist/runtime/client/decorators/interval.d.ts +23 -0
- package/dist/runtime/client/decorators/interval.js +31 -0
- package/dist/runtime/client/decorators/key.d.ts +23 -0
- package/dist/runtime/client/decorators/key.js +31 -0
- package/dist/runtime/client/decorators/localEvent.d.ts +21 -0
- package/dist/runtime/client/decorators/localEvent.js +29 -0
- package/dist/runtime/client/decorators/nui.d.ts +21 -0
- package/dist/runtime/client/decorators/nui.js +29 -0
- package/dist/runtime/client/decorators/onNet.d.ts +21 -0
- package/dist/runtime/client/decorators/onNet.js +29 -0
- package/dist/runtime/client/decorators/resourceLifecycle.d.ts +40 -0
- package/dist/runtime/client/decorators/resourceLifecycle.js +53 -0
- package/dist/runtime/client/decorators/tick.d.ts +21 -0
- package/dist/runtime/client/decorators/tick.js +29 -0
- package/dist/{client → runtime/client}/index.d.ts +2 -2
- package/dist/{client → runtime/client}/index.js +4 -2
- package/dist/runtime/client/interfaces/appearance.interface.d.ts +25 -0
- package/dist/runtime/client/interfaces/appearance.interface.js +2 -0
- package/dist/{client → runtime/client}/player/player.d.ts +1 -1
- package/dist/{client → runtime/client}/player/player.js +5 -6
- package/dist/{client → runtime/client}/player/player.loader.js +2 -2
- package/dist/runtime/client/services/appearance.service.d.ts +132 -0
- package/dist/runtime/client/services/appearance.service.js +328 -0
- package/dist/{client → runtime/client}/services/blip.service.d.ts +1 -1
- package/dist/{client → runtime/client}/services/index.d.ts +6 -5
- package/dist/{client → runtime/client}/services/index.js +6 -5
- package/dist/{client → runtime/client}/services/marker.service.d.ts +1 -1
- package/dist/{client → runtime/client}/services/ped.service.d.ts +1 -1
- package/dist/{client → runtime/client}/services/ped.service.js +3 -2
- package/dist/{client → runtime/client}/services/spawn.service.d.ts +2 -2
- package/dist/{client → runtime/client}/services/spawn.service.js +4 -8
- package/dist/{client → runtime/client}/services/textui.service.d.ts +1 -1
- package/dist/runtime/client/services/vehicle-client.service.d.ts +180 -0
- package/dist/runtime/client/services/vehicle-client.service.js +485 -0
- package/dist/{client → runtime/client}/services/vehicle.service.d.ts +2 -2
- package/dist/{client → runtime/client}/services/vehicle.service.js +1 -1
- package/dist/{client → runtime/client}/system/processors/export.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/export.processor.js +1 -1
- package/dist/{client → runtime/client}/system/processors/gameEvent.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/gameEvent.processor.js +2 -2
- package/dist/{client → runtime/client}/system/processors/interval.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/interval.processor.js +1 -1
- package/dist/{client → runtime/client}/system/processors/key.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/localEvent.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/localEvent.processor.js +1 -1
- package/dist/{client → runtime/client}/system/processors/netEvent.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/netEvent.processor.js +1 -1
- package/dist/{client → runtime/client}/system/processors/nui.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/nui.processor.js +1 -1
- package/dist/{client → runtime/client}/system/processors/resourceLifecycle.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/resourceLifecycle.processor.js +1 -1
- package/dist/{client → runtime/client}/system/processors/tick.processor.d.ts +1 -1
- package/dist/{client → runtime/client}/system/processors/tick.processor.js +1 -1
- package/dist/{client → runtime/client}/types/game-events.js +0 -8
- package/dist/{client → runtime/client}/ui-bridge.js +1 -1
- package/dist/runtime/index.d.ts +2 -0
- package/dist/runtime/index.js +39 -0
- package/dist/{server → runtime/server}/bootstrap.d.ts +2 -1
- package/dist/runtime/server/bootstrap.js +234 -0
- package/dist/runtime/server/bootstrap.validation.d.ts +12 -0
- package/dist/runtime/server/bootstrap.validation.js +102 -0
- package/dist/runtime/server/bus/core-event-bus.d.ts +6 -0
- package/dist/{server → runtime/server}/bus/core-event-bus.js +5 -5
- package/dist/{server → runtime/server}/configs/api.config.d.ts +1 -1
- package/dist/{server/templates/auth → runtime/server/contracts}/auth-provider.contract.d.ts +2 -2
- package/dist/runtime/server/contracts/index.d.ts +7 -0
- package/dist/{server/templates → runtime/server/contracts}/index.js +8 -4
- package/dist/{server/templates/persistence → runtime/server/contracts}/player-persistence.contract.d.ts +1 -1
- package/dist/{server/templates → runtime/server/contracts}/repository/index.d.ts +2 -2
- package/dist/{server/templates → runtime/server/contracts}/repository/index.js +1 -1
- package/dist/{server/templates → runtime/server/contracts}/repository/repository.contract.d.ts +2 -2
- package/dist/{server/templates → runtime/server/contracts}/repository/repository.contract.js +0 -1
- 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 +6 -0
- package/dist/{server/templates → runtime/server/contracts}/security/principal-provider.contract.d.ts +3 -3
- package/dist/{server/templates → runtime/server/contracts}/security/security-handler.contract.d.ts +2 -2
- package/dist/runtime/server/controllers/chat.controller.d.ts +11 -0
- package/dist/{server → runtime/server}/controllers/chat.controller.js +23 -11
- package/dist/runtime/server/controllers/command-export.controller.d.ts +74 -0
- package/dist/runtime/server/controllers/command-export.controller.js +260 -0
- package/dist/runtime/server/controllers/command.controller.d.ts +15 -0
- package/dist/runtime/server/controllers/command.controller.js +100 -0
- package/dist/runtime/server/controllers/player-export.controller.d.ts +29 -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 +296 -0
- package/dist/runtime/server/controllers/remote-command-execution.controller.d.ts +43 -0
- package/dist/runtime/server/controllers/remote-command-execution.controller.js +104 -0
- package/dist/runtime/server/controllers/session.controller.d.ts +11 -0
- package/dist/{server → runtime/server}/controllers/session.controller.js +15 -12
- package/dist/runtime/server/controllers/vehicle.controller.d.ts +55 -0
- package/dist/runtime/server/controllers/vehicle.controller.js +216 -0
- package/dist/runtime/server/core.d.ts +3 -0
- package/dist/runtime/server/core.js +11 -0
- package/dist/runtime/server/database/adapter.registry.d.ts +4 -0
- package/dist/runtime/server/database/adapter.registry.js +14 -0
- package/dist/{server → runtime/server}/database/database.contract.d.ts +1 -1
- package/dist/{server → runtime/server}/database/database.service.d.ts +3 -31
- package/dist/{server → runtime/server}/database/database.service.js +36 -50
- package/dist/runtime/server/database/index.d.ts +5 -0
- package/dist/runtime/server/database/index.js +25 -0
- package/dist/runtime/server/decorators/bind.d.ts +21 -0
- package/dist/runtime/server/decorators/bind.js +31 -0
- package/dist/runtime/server/decorators/command.d.ts +81 -0
- package/dist/runtime/server/decorators/command.js +32 -0
- package/dist/{server → runtime/server}/decorators/controller.d.ts +4 -3
- package/dist/runtime/server/decorators/controller.js +61 -0
- package/dist/runtime/server/decorators/export.d.ts +24 -0
- package/dist/runtime/server/decorators/export.js +32 -0
- package/dist/runtime/server/decorators/guard.d.ts +49 -0
- package/dist/{server → runtime/server}/decorators/guard.js +33 -32
- package/dist/{server → runtime/server}/decorators/index.d.ts +7 -4
- package/dist/{server → runtime/server}/decorators/index.js +8 -5
- package/dist/runtime/server/decorators/onFiveMEvent.d.ts +24 -0
- package/dist/runtime/server/decorators/onFiveMEvent.js +32 -0
- package/dist/runtime/server/decorators/onFrameworkEvent.d.ts +22 -0
- package/dist/{server → runtime/server}/decorators/onFrameworkEvent.js +9 -9
- package/dist/runtime/server/decorators/onNet.d.ts +62 -0
- package/dist/runtime/server/decorators/onNet.js +15 -0
- package/dist/runtime/server/decorators/onTick.d.ts +21 -0
- package/dist/runtime/server/decorators/onTick.js +29 -0
- package/dist/runtime/server/decorators/public.d.ts +26 -0
- package/dist/{server → runtime/server}/decorators/public.js +15 -16
- package/dist/{server → runtime/server}/decorators/requiresState.d.ts +29 -22
- package/dist/runtime/server/decorators/requiresState.js +73 -0
- package/dist/runtime/server/decorators/throttle.d.ts +56 -0
- package/dist/{server → runtime/server}/decorators/throttle.js +31 -19
- package/dist/runtime/server/decorators/utils.d.ts +54 -0
- package/dist/runtime/server/decorators/utils.js +60 -0
- package/dist/runtime/server/devmode/contracts/IDevModeBridge.d.ts +36 -0
- package/dist/runtime/server/devmode/contracts/IDevModeBridge.js +12 -0
- package/dist/runtime/server/devmode/contracts/IDevModeInspector.d.ts +52 -0
- package/dist/runtime/server/devmode/contracts/IDevModeInspector.js +12 -0
- package/dist/runtime/server/devmode/contracts/IDevModeInterceptor.d.ts +41 -0
- package/dist/runtime/server/devmode/contracts/IDevModeInterceptor.js +11 -0
- package/dist/runtime/server/devmode/contracts/index.d.ts +3 -0
- package/dist/runtime/server/devmode/contracts/index.js +9 -0
- package/dist/runtime/server/devmode/dev-mode.service.d.ts +110 -0
- package/dist/runtime/server/devmode/dev-mode.service.js +324 -0
- package/dist/runtime/server/devmode/event-interceptor.service.d.ts +80 -0
- package/dist/runtime/server/devmode/event-interceptor.service.js +232 -0
- package/dist/runtime/server/devmode/hot-reload.server.d.ts +74 -0
- package/dist/runtime/server/devmode/hot-reload.server.js +261 -0
- package/dist/runtime/server/devmode/index.d.ts +8 -0
- package/dist/runtime/server/devmode/index.js +32 -0
- package/dist/runtime/server/devmode/player-simulator.service.d.ts +66 -0
- package/dist/runtime/server/devmode/player-simulator.service.js +202 -0
- package/dist/runtime/server/devmode/state-inspector.service.d.ts +57 -0
- package/dist/runtime/server/devmode/state-inspector.service.js +183 -0
- package/dist/runtime/server/devmode/types.d.ts +161 -0
- package/dist/runtime/server/devmode/types.js +28 -0
- package/dist/runtime/server/entities/index.d.ts +2 -0
- package/dist/{server → runtime/server}/entities/index.js +1 -0
- package/dist/{server → runtime/server}/entities/player.d.ts +70 -3
- package/dist/{server → runtime/server}/entities/player.js +92 -14
- package/dist/runtime/server/entities/vehicle.d.ts +160 -0
- package/dist/runtime/server/entities/vehicle.js +261 -0
- package/dist/{server → runtime/server}/error-handler.d.ts +1 -1
- package/dist/{server → runtime/server}/error-handler.js +7 -8
- package/dist/runtime/server/helpers/command-validation.helper.d.ts +6 -0
- package/dist/runtime/server/helpers/command-validation.helper.js +72 -0
- package/dist/runtime/server/helpers/function-helper.d.ts +1 -0
- package/dist/runtime/server/helpers/function-helper.js +15 -0
- package/dist/{server → runtime/server}/helpers/resolve-method.d.ts +1 -1
- package/dist/runtime/server/helpers/resolve-method.js +28 -0
- package/dist/{server → runtime/server}/index.d.ts +8 -6
- package/dist/{server → runtime/server}/index.js +14 -10
- package/dist/runtime/server/runtime.d.ts +408 -0
- package/dist/runtime/server/runtime.js +234 -0
- package/dist/runtime/server/services/access-control.service.d.ts +59 -0
- package/dist/runtime/server/services/access-control.service.js +127 -0
- package/dist/runtime/server/services/appearance.service.d.ts +99 -0
- package/dist/runtime/server/services/appearance.service.js +307 -0
- package/dist/runtime/server/services/chat.service.d.ts +33 -0
- package/dist/{server → runtime/server}/services/chat.service.js +26 -0
- package/dist/{server → runtime/server}/services/config.service.js +1 -1
- package/dist/runtime/server/services/core/command.service.d.ts +49 -0
- package/dist/runtime/server/services/core/command.service.js +112 -0
- package/dist/{server/services → runtime/server/services/core}/player.service.d.ts +48 -22
- package/dist/{server/services → runtime/server/services/core}/player.service.js +98 -14
- package/dist/runtime/server/services/core/principal.service.d.ts +28 -0
- package/dist/runtime/server/services/core/principal.service.js +126 -0
- package/dist/runtime/server/services/core/vehicle-modification.service.d.ts +104 -0
- package/dist/runtime/server/services/core/vehicle-modification.service.js +330 -0
- package/dist/runtime/server/services/core/vehicle.service.d.ts +128 -0
- package/dist/runtime/server/services/core/vehicle.service.js +391 -0
- package/dist/runtime/server/services/default/default-net-event-security-observer.d.ts +15 -0
- package/dist/runtime/server/services/default/default-net-event-security-observer.js +28 -0
- package/dist/runtime/server/services/default/default-security.handler.d.ts +19 -0
- package/dist/{server → runtime/server}/services/default/default-security.handler.js +15 -2
- package/dist/{server → runtime/server}/services/http/http.service.js +5 -5
- package/dist/runtime/server/services/index.d.ts +16 -0
- package/dist/runtime/server/services/index.js +39 -0
- package/dist/{server → runtime/server}/services/parallel/index.d.ts +2 -4
- package/dist/{server → runtime/server}/services/parallel/index.js +13 -15
- package/dist/{server → runtime/server}/services/parallel/parallel-compute.service.d.ts +1 -1
- package/dist/{server → runtime/server}/services/parallel/parallel-compute.service.js +2 -1
- package/dist/{server → runtime/server}/services/parallel/worker-pool.d.ts +1 -1
- package/dist/{server → runtime/server}/services/parallel/worker.d.ts +1 -1
- package/dist/{server → runtime/server}/services/persistence.service.d.ts +1 -1
- package/dist/{server → runtime/server}/services/persistence.service.js +13 -9
- package/dist/runtime/server/services/ports/command-execution.port.d.ts +41 -0
- package/dist/runtime/server/services/ports/command-execution.port.js +15 -0
- package/dist/runtime/server/services/ports/player-directory.port.d.ts +107 -0
- package/dist/runtime/server/services/ports/player-directory.port.js +23 -0
- package/dist/runtime/server/services/ports/player-session-lifecycle.port.d.ts +49 -0
- package/dist/runtime/server/services/ports/player-session-lifecycle.port.js +16 -0
- package/dist/runtime/server/services/ports/principal.port.d.ts +149 -0
- package/dist/runtime/server/services/ports/principal.port.js +32 -0
- package/dist/runtime/server/services/rate-limiter.service.d.ts +23 -0
- package/dist/{server → runtime/server}/services/rate-limiter.service.js +18 -0
- package/dist/runtime/server/services/remote/remote-command.service.d.ts +63 -0
- package/dist/runtime/server/services/remote/remote-command.service.js +139 -0
- package/dist/runtime/server/services/remote/remote-player.service.d.ts +62 -0
- package/dist/runtime/server/services/remote/remote-player.service.js +191 -0
- package/dist/runtime/server/services/remote/remote-principal.provider.d.ts +55 -0
- package/dist/runtime/server/services/remote/remote-principal.provider.js +130 -0
- package/dist/runtime/server/services/remote/remote-principal.service.d.ts +33 -0
- package/dist/runtime/server/services/remote/remote-principal.service.js +99 -0
- package/dist/runtime/server/services/remote/server-bridge.d.ts +34 -0
- package/dist/runtime/server/services/remote/server-bridge.js +94 -0
- package/dist/runtime/server/services/services.register.d.ts +14 -0
- package/dist/runtime/server/services/services.register.js +98 -0
- package/dist/runtime/server/services/types/linked-id.d.ts +6 -0
- package/dist/runtime/server/services/types/player-session.object.d.ts +11 -0
- package/dist/runtime/server/services/vehicle-modification.service.d.ts +94 -0
- package/dist/runtime/server/services/vehicle-modification.service.js +310 -0
- package/dist/runtime/server/services/vehicle.service.d.ts +138 -0
- package/dist/runtime/server/services/vehicle.service.js +361 -0
- package/dist/runtime/server/setup.d.ts +10 -0
- package/dist/runtime/server/setup.js +33 -0
- package/dist/{server → runtime/server}/system/metadata-server.keys.d.ts +2 -0
- package/dist/{server → runtime/server}/system/metadata-server.keys.js +2 -0
- package/dist/runtime/server/system/processors/command.processor.d.ts +16 -0
- package/dist/runtime/server/system/processors/command.processor.js +54 -0
- package/dist/{server → runtime/server}/system/processors/coreEvent.processor.d.ts +1 -1
- package/dist/{server → runtime/server}/system/processors/coreEvent.processor.js +3 -3
- package/dist/runtime/server/system/processors/export.processor.d.ts +10 -0
- package/dist/{server → runtime/server}/system/processors/export.processor.js +15 -5
- package/dist/runtime/server/system/processors/fivemEvent.processor.d.ts +10 -0
- package/dist/{server → runtime/server}/system/processors/fivemEvent.processor.js +15 -5
- package/dist/runtime/server/system/processors/netEvent.processor.d.ts +23 -0
- package/dist/runtime/server/system/processors/netEvent.processor.js +240 -0
- package/dist/runtime/server/system/processors/tick.processor.d.ts +8 -0
- package/dist/{server → runtime/server}/system/processors/tick.processor.js +14 -4
- package/dist/runtime/server/system/processors.register.d.ts +2 -0
- package/dist/runtime/server/system/processors.register.js +37 -0
- package/dist/{server → runtime/server}/system/schema-generator.d.ts +1 -1
- package/dist/{server → runtime/server}/system/schema-generator.js +17 -8
- package/dist/{server/templates/admin → runtime/server/templates}/admin.controller-template.d.ts +1 -1
- package/dist/runtime/server/templates/index.d.ts +1 -0
- package/dist/runtime/server/templates/index.js +17 -0
- package/dist/runtime/server/types/core-exports.d.ts +285 -0
- package/dist/runtime/server/types/core-exports.js +2 -0
- package/dist/runtime/server/types/index.d.ts +4 -0
- package/dist/runtime/server/types/index.js +20 -0
- package/dist/runtime/server/types/security.types.js +2 -0
- package/dist/runtime/server/types/vehicle.types.d.ts +152 -0
- package/dist/runtime/server/types/vehicle.types.js +2 -0
- package/package.json +98 -98
- package/dist/client/client-bootstrap.d.ts +0 -1
- package/dist/client/client-bootstrap.js +0 -50
- package/dist/client/client-core.d.ts +0 -1
- package/dist/client/client-core.js +0 -7
- 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/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/interfaces/appearance.interface.d.ts +0 -19
- package/dist/client/services/appearance.service.d.ts +0 -6
- package/dist/client/services/appearance.service.js +0 -89
- package/dist/server/bootstrap.js +0 -57
- package/dist/server/bus/core-event-bus.d.ts +0 -6
- package/dist/server/controllers/chat.controller.d.ts +0 -10
- 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/core.d.ts +0 -1
- package/dist/server/core.js +0 -7
- package/dist/server/database/index.d.ts +0 -53
- package/dist/server/database/index.js +0 -70
- 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.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/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/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/requiresState.js +0 -63
- package/dist/server/decorators/throttle.d.ts +0 -48
- 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/helpers/resolve-method.js +0 -18
- package/dist/server/loaders/exports.loader.d.ts +0 -0
- 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/command.service.d.ts +0 -15
- package/dist/server/services/command.service.js +0 -77
- package/dist/server/services/default/default-security.handler.d.ts +0 -6
- package/dist/server/services/index.d.ts +0 -10
- package/dist/server/services/index.js +0 -26
- package/dist/server/services/rate-limiter.service.d.ts +0 -5
- 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/processors/command.processor.d.ts +0 -9
- package/dist/server/system/processors/export.processor.d.ts +0 -7
- package/dist/server/system/processors/fivemEvent.processor.d.ts +0 -7
- 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.register.d.ts +0 -1
- package/dist/server/system/processors.register.js +0 -23
- package/dist/server/templates/index.d.ts +0 -8
- package/dist/server/templates/persistence/index.d.ts +0 -30
- package/dist/server/templates/persistence/index.js +0 -34
- package/dist/shared/index.d.ts +0 -1
- package/dist/shared/logger/transports/index.d.ts +0 -3
- package/dist/shared/logger/transports/index.js +0 -19
- package/dist/utils/errors.d.ts +0 -14
- package/dist/{system → kernel/di}/class-constructor.d.ts +0 -0
- package/dist/{system → kernel/di}/class-constructor.js +0 -0
- package/dist/{server → kernel/di}/container.d.ts +0 -0
- package/dist/{server → kernel/di}/container.js +0 -0
- package/dist/{system → kernel/di}/decorator-processor.d.ts +0 -0
- package/dist/{system → kernel/di}/decorator-processor.js +0 -0
- package/dist/{system → kernel/di}/metadata.scanner.js +0 -0
- package/dist/{shared → kernel/shared}/logger/logger.config.js +0 -0
- package/dist/{shared → kernel/shared}/logger/logger.service.js +0 -0
- package/dist/{shared → kernel/shared}/logger/logger.types.d.ts +0 -0
- package/dist/{shared → kernel/shared}/logger/logger.types.js +0 -0
- package/dist/{shared → kernel/shared}/logger/transports/transport.interface.js +0 -0
- package/dist/{utils → kernel/utils}/result.js +0 -0
- package/dist/{utils → kernel/utils}/rgb.d.ts +0 -0
- package/dist/{utils → kernel/utils}/rgb.js +0 -0
- package/dist/{utils → kernel/utils}/vector3.d.ts +0 -0
- package/dist/{utils → kernel/utils}/vector3.js +0 -0
- package/dist/{client → runtime/client}/client-container.d.ts +0 -0
- package/dist/{client → runtime/client}/client-container.js +0 -0
- package/dist/{client → runtime/client}/controllers/spawner.controller.js +0 -0
- package/dist/{client → runtime/client}/decorators/gameEvent.js +0 -0
- package/dist/{client → runtime/client}/decorators/index.d.ts +5 -5
- package/dist/{client → runtime/client}/decorators/index.js +5 -5
- package/dist/{client → runtime/client}/player/player.loader.d.ts +0 -0
- package/dist/{client → runtime/client}/services/blip.service.js +0 -0
- package/dist/{client → runtime/client}/services/marker.service.js +0 -0
- package/dist/{client → runtime/client}/services/notification.service.d.ts +0 -0
- package/dist/{client → runtime/client}/services/notification.service.js +0 -0
- package/dist/{client → runtime/client}/services/progress.service.d.ts +0 -0
- package/dist/{client → runtime/client}/services/progress.service.js +0 -0
- package/dist/{client → runtime/client}/services/streaming.service.d.ts +0 -0
- package/dist/{client → runtime/client}/services/streaming.service.js +0 -0
- package/dist/{client → runtime/client}/services/textui.service.js +0 -0
- package/dist/{client → runtime/client}/system/metadata-client.keys.d.ts +0 -0
- package/dist/{client → runtime/client}/system/metadata-client.keys.js +0 -0
- package/dist/{client → runtime/client}/system/processors/key.processor.js +0 -0
- package/dist/{client → runtime/client}/system/processors.register.d.ts +0 -0
- package/dist/{client → runtime/client}/system/processors.register.js +6 -6
- /package/dist/{client → runtime/client}/types/game-events.d.ts +0 -0
- /package/dist/{client → runtime/client}/types/index.d.ts +0 -0
- /package/dist/{client → runtime/client}/types/index.js +0 -0
- /package/dist/{client → runtime/client}/ui-bridge.d.ts +0 -0
- /package/dist/{server → runtime/server}/configs/api.config.js +0 -0
- /package/dist/{server → runtime/server}/configs/config.base.d.ts +0 -0
- /package/dist/{server → runtime/server}/configs/config.base.js +0 -0
- /package/dist/{server → runtime/server}/configs/index.d.ts +0 -0
- /package/dist/{server → runtime/server}/configs/index.js +0 -0
- /package/dist/{server/templates/auth → runtime/server/contracts}/auth-provider.contract.js +0 -0
- /package/dist/{server/templates/persistence → runtime/server/contracts}/player-persistence.contract.js +0 -0
- /package/dist/{server/templates → runtime/server/contracts}/repository/repository.types.d.ts +0 -0
- /package/dist/{server/templates → runtime/server/contracts}/repository/repository.types.js +0 -0
- /package/dist/{server/templates → runtime/server/contracts}/security/permission.types.d.ts +0 -0
- /package/dist/{server/templates → runtime/server/contracts}/security/permission.types.js +0 -0
- /package/dist/{server/templates → runtime/server/contracts}/security/principal-provider.contract.js +0 -0
- /package/dist/{server/templates → runtime/server/contracts}/security/security-handler.contract.js +0 -0
- /package/dist/{server → runtime/server}/database/database.contract.js +0 -0
- /package/dist/{server → runtime/server}/database/types.d.ts +0 -0
- /package/dist/{server → runtime/server}/database/types.js +0 -0
- /package/dist/{server → runtime/server}/database.d.ts +0 -0
- /package/dist/{server → runtime/server}/database.js +0 -0
- /package/dist/{server → runtime/server}/services/config.service.d.ts +0 -0
- /package/dist/{server → runtime/server}/services/http/http.service.d.ts +0 -0
- /package/dist/{server → runtime/server}/services/parallel/types.d.ts +0 -0
- /package/dist/{server → runtime/server}/services/parallel/types.js +0 -0
- /package/dist/{server → runtime/server}/services/parallel/worker-pool.js +0 -0
- /package/dist/{server → runtime/server}/services/parallel/worker.js +0 -0
- /package/dist/{client/interfaces/appearance.interface.js → runtime/server/services/types/linked-id.js} +0 -0
- /package/dist/{server/templates/admin/admin.controller-template.js → runtime/server/services/types/player-session.object.js} +0 -0
- /package/dist/{server/types/core-events.js → runtime/server/templates/admin.controller-template.js} +0 -0
- /package/dist/{server → runtime/server}/types/core-events.d.ts +0 -0
- /package/dist/{server/types/security.types.js → runtime/server/types/core-events.js} +0 -0
- /package/dist/{server → runtime/server}/types/security.types.d.ts +0 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type LogEntry, LogLevel } from '../logger.types';
|
|
2
|
+
import { LogTransport } from './transport.interface';
|
|
3
|
+
export interface SimpleConsoleTransportOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Minimum log level to output. Defaults to INFO.
|
|
6
|
+
*/
|
|
7
|
+
minLevel?: LogLevel;
|
|
8
|
+
/**
|
|
9
|
+
* Whether to include timestamp in output. Defaults to true.
|
|
10
|
+
*/
|
|
11
|
+
timestamps?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Whether to show context data. Defaults to false for cleaner output.
|
|
14
|
+
*/
|
|
15
|
+
showContext?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Simple console transport without ANSI color codes.
|
|
19
|
+
* Designed for FiveM client console which doesn't support ANSI formatting.
|
|
20
|
+
*
|
|
21
|
+
* Output format: [HH:MM:SS.mmm] [DOMAIN] LEVEL [Source] Message
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* const transport = new SimpleConsoleTransport({
|
|
26
|
+
* minLevel: LogLevel.INFO,
|
|
27
|
+
* timestamps: true
|
|
28
|
+
* })
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export declare class SimpleConsoleTransport implements LogTransport {
|
|
32
|
+
readonly name = "simple-console";
|
|
33
|
+
minLevel: LogLevel;
|
|
34
|
+
private timestamps;
|
|
35
|
+
private showContext;
|
|
36
|
+
constructor(options?: SimpleConsoleTransportOptions);
|
|
37
|
+
write(entry: LogEntry): void;
|
|
38
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
+
t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
+
t[p[i]] = s[p[i]];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.SimpleConsoleTransport = void 0;
|
|
15
|
+
const logger_types_1 = require("../logger.types");
|
|
16
|
+
/**
|
|
17
|
+
* Simple console transport without ANSI color codes.
|
|
18
|
+
* Designed for FiveM client console which doesn't support ANSI formatting.
|
|
19
|
+
*
|
|
20
|
+
* Output format: [HH:MM:SS.mmm] [DOMAIN] LEVEL [Source] Message
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* const transport = new SimpleConsoleTransport({
|
|
25
|
+
* minLevel: LogLevel.INFO,
|
|
26
|
+
* timestamps: true
|
|
27
|
+
* })
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
class SimpleConsoleTransport {
|
|
31
|
+
constructor(options = {}) {
|
|
32
|
+
var _a, _b, _c;
|
|
33
|
+
this.name = 'simple-console';
|
|
34
|
+
this.minLevel = (_a = options.minLevel) !== null && _a !== void 0 ? _a : logger_types_1.LogLevel.INFO;
|
|
35
|
+
this.timestamps = (_b = options.timestamps) !== null && _b !== void 0 ? _b : true;
|
|
36
|
+
this.showContext = (_c = options.showContext) !== null && _c !== void 0 ? _c : false;
|
|
37
|
+
}
|
|
38
|
+
write(entry) {
|
|
39
|
+
var _a, _b;
|
|
40
|
+
const { level, domain, message, timestamp, context, error } = entry;
|
|
41
|
+
const levelLabel = logger_types_1.LogLevelLabels[level].padEnd(5);
|
|
42
|
+
const domainLabel = logger_types_1.LogDomainLabels[domain];
|
|
43
|
+
// Build the log line without ANSI codes
|
|
44
|
+
const parts = [];
|
|
45
|
+
if (this.timestamps) {
|
|
46
|
+
const time = (_b = (_a = timestamp.split('T')[1]) === null || _a === void 0 ? void 0 : _a.slice(0, 12)) !== null && _b !== void 0 ? _b : timestamp;
|
|
47
|
+
parts.push(`[${time}]`);
|
|
48
|
+
}
|
|
49
|
+
// Domain tag
|
|
50
|
+
parts.push(`[${domainLabel}]`);
|
|
51
|
+
// Level
|
|
52
|
+
parts.push(levelLabel);
|
|
53
|
+
// Source module/controller
|
|
54
|
+
if (context === null || context === void 0 ? void 0 : context.source) {
|
|
55
|
+
parts.push(`[${context.source}]`);
|
|
56
|
+
}
|
|
57
|
+
parts.push(message);
|
|
58
|
+
// Output the main log line
|
|
59
|
+
const logLine = parts.join(' ');
|
|
60
|
+
// Choose the appropriate console method
|
|
61
|
+
switch (level) {
|
|
62
|
+
case logger_types_1.LogLevel.TRACE:
|
|
63
|
+
case logger_types_1.LogLevel.DEBUG:
|
|
64
|
+
console.debug(logLine);
|
|
65
|
+
break;
|
|
66
|
+
case logger_types_1.LogLevel.INFO:
|
|
67
|
+
console.info(logLine);
|
|
68
|
+
break;
|
|
69
|
+
case logger_types_1.LogLevel.WARN:
|
|
70
|
+
console.warn(logLine);
|
|
71
|
+
break;
|
|
72
|
+
case logger_types_1.LogLevel.ERROR:
|
|
73
|
+
case logger_types_1.LogLevel.FATAL:
|
|
74
|
+
console.error(logLine);
|
|
75
|
+
break;
|
|
76
|
+
default:
|
|
77
|
+
console.log(logLine);
|
|
78
|
+
}
|
|
79
|
+
// Output context only if enabled and present
|
|
80
|
+
if (this.showContext && context) {
|
|
81
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
82
|
+
const { source, domain: _ } = context, rest = __rest(context, ["source", "domain"]);
|
|
83
|
+
if (Object.keys(rest).length > 0) {
|
|
84
|
+
console.debug(' context:', JSON.stringify(rest));
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// Output error stack if present
|
|
88
|
+
if (error === null || error === void 0 ? void 0 : error.stack) {
|
|
89
|
+
console.error(' stack:', error.stack);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
exports.SimpleConsoleTransport = SimpleConsoleTransport;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { type LogEntry, LogLevel } from '../logger.types';
|
|
2
|
+
import { LogTransport } from './transport.interface';
|
|
3
|
+
/**
|
|
4
|
+
* Configuration for WebSocket log transport.
|
|
5
|
+
*/
|
|
6
|
+
export interface WebSocketTransportOptions {
|
|
7
|
+
/** WebSocket server URL */
|
|
8
|
+
url: string;
|
|
9
|
+
/** Auto-reconnect on disconnect */
|
|
10
|
+
reconnect?: boolean;
|
|
11
|
+
/** Reconnect interval in milliseconds */
|
|
12
|
+
reconnectInterval?: number;
|
|
13
|
+
/** Maximum buffer size when disconnected */
|
|
14
|
+
bufferSize?: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* WebSocket-based log transport for streaming logs to external tools.
|
|
18
|
+
*
|
|
19
|
+
* Used during development to stream logs to the CLI or other monitoring tools.
|
|
20
|
+
* Buffers messages when disconnected and flushes on reconnection.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* const transport = new WebSocketLogTransport({
|
|
25
|
+
* url: 'ws://localhost:3848',
|
|
26
|
+
* reconnect: true,
|
|
27
|
+
* })
|
|
28
|
+
* await transport.connect()
|
|
29
|
+
* logger.addTransport(transport)
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export declare class WebSocketLogTransport implements LogTransport {
|
|
33
|
+
readonly name = "websocket";
|
|
34
|
+
minLevel: LogLevel;
|
|
35
|
+
private ws;
|
|
36
|
+
private buffer;
|
|
37
|
+
private options;
|
|
38
|
+
private connected;
|
|
39
|
+
private reconnectTimer;
|
|
40
|
+
private messageHandlers;
|
|
41
|
+
constructor(options: WebSocketTransportOptions, minLevel?: LogLevel);
|
|
42
|
+
/**
|
|
43
|
+
* Connects to the WebSocket server.
|
|
44
|
+
*/
|
|
45
|
+
connect(): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Writes a log entry to the WebSocket or buffer.
|
|
48
|
+
*/
|
|
49
|
+
write(entry: LogEntry): void;
|
|
50
|
+
/**
|
|
51
|
+
* Sends a raw message through the WebSocket.
|
|
52
|
+
*/
|
|
53
|
+
send(message: unknown): void;
|
|
54
|
+
/**
|
|
55
|
+
* Registers a handler for incoming messages.
|
|
56
|
+
*/
|
|
57
|
+
onMessage(handler: (data: unknown) => void): void;
|
|
58
|
+
/**
|
|
59
|
+
* Checks if currently connected.
|
|
60
|
+
*/
|
|
61
|
+
isConnected(): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Disconnects and cleans up resources.
|
|
64
|
+
*/
|
|
65
|
+
destroy(): void;
|
|
66
|
+
private bufferEntry;
|
|
67
|
+
private flushBuffer;
|
|
68
|
+
private scheduleReconnect;
|
|
69
|
+
}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WebSocketLogTransport = void 0;
|
|
4
|
+
const logger_types_1 = require("../logger.types");
|
|
5
|
+
/**
|
|
6
|
+
* WebSocket-based log transport for streaming logs to external tools.
|
|
7
|
+
*
|
|
8
|
+
* Used during development to stream logs to the CLI or other monitoring tools.
|
|
9
|
+
* Buffers messages when disconnected and flushes on reconnection.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* const transport = new WebSocketLogTransport({
|
|
14
|
+
* url: 'ws://localhost:3848',
|
|
15
|
+
* reconnect: true,
|
|
16
|
+
* })
|
|
17
|
+
* await transport.connect()
|
|
18
|
+
* logger.addTransport(transport)
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
class WebSocketLogTransport {
|
|
22
|
+
constructor(options, minLevel = logger_types_1.LogLevel.DEBUG) {
|
|
23
|
+
var _a, _b, _c;
|
|
24
|
+
this.name = 'websocket';
|
|
25
|
+
this.ws = null;
|
|
26
|
+
this.buffer = [];
|
|
27
|
+
this.connected = false;
|
|
28
|
+
this.reconnectTimer = null;
|
|
29
|
+
this.messageHandlers = [];
|
|
30
|
+
this.minLevel = minLevel;
|
|
31
|
+
this.options = {
|
|
32
|
+
url: options.url,
|
|
33
|
+
reconnect: (_a = options.reconnect) !== null && _a !== void 0 ? _a : true,
|
|
34
|
+
reconnectInterval: (_b = options.reconnectInterval) !== null && _b !== void 0 ? _b : 5000,
|
|
35
|
+
bufferSize: (_c = options.bufferSize) !== null && _c !== void 0 ? _c : 100,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Connects to the WebSocket server.
|
|
40
|
+
*/
|
|
41
|
+
async connect() {
|
|
42
|
+
return new Promise((resolve, reject) => {
|
|
43
|
+
try {
|
|
44
|
+
this.ws = new WebSocket(this.options.url);
|
|
45
|
+
this.ws.onopen = () => {
|
|
46
|
+
this.connected = true;
|
|
47
|
+
this.flushBuffer();
|
|
48
|
+
resolve();
|
|
49
|
+
};
|
|
50
|
+
this.ws.onclose = () => {
|
|
51
|
+
this.connected = false;
|
|
52
|
+
this.ws = null;
|
|
53
|
+
if (this.options.reconnect) {
|
|
54
|
+
this.scheduleReconnect();
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
this.ws.onerror = (error) => {
|
|
58
|
+
if (!this.connected) {
|
|
59
|
+
reject(error);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
this.ws.onmessage = (event) => {
|
|
63
|
+
try {
|
|
64
|
+
const data = JSON.parse(event.data);
|
|
65
|
+
for (const handler of this.messageHandlers) {
|
|
66
|
+
handler(data);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
catch (_a) {
|
|
70
|
+
// Ignore parse errors
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
reject(error);
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Writes a log entry to the WebSocket or buffer.
|
|
81
|
+
*/
|
|
82
|
+
write(entry) {
|
|
83
|
+
var _a;
|
|
84
|
+
const message = {
|
|
85
|
+
type: 'log',
|
|
86
|
+
payload: {
|
|
87
|
+
level: entry.level,
|
|
88
|
+
domain: entry.domain,
|
|
89
|
+
message: entry.message,
|
|
90
|
+
timestamp: entry.timestamp,
|
|
91
|
+
context: entry.context,
|
|
92
|
+
error: entry.error
|
|
93
|
+
? {
|
|
94
|
+
name: entry.error.name,
|
|
95
|
+
message: entry.error.message,
|
|
96
|
+
stack: entry.error.stack,
|
|
97
|
+
}
|
|
98
|
+
: undefined,
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
if (this.connected && ((_a = this.ws) === null || _a === void 0 ? void 0 : _a.readyState) === WebSocket.OPEN) {
|
|
102
|
+
this.ws.send(JSON.stringify(message));
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
this.bufferEntry(entry);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Sends a raw message through the WebSocket.
|
|
110
|
+
*/
|
|
111
|
+
send(message) {
|
|
112
|
+
var _a;
|
|
113
|
+
if (this.connected && ((_a = this.ws) === null || _a === void 0 ? void 0 : _a.readyState) === WebSocket.OPEN) {
|
|
114
|
+
this.ws.send(JSON.stringify(message));
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Registers a handler for incoming messages.
|
|
119
|
+
*/
|
|
120
|
+
onMessage(handler) {
|
|
121
|
+
this.messageHandlers.push(handler);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Checks if currently connected.
|
|
125
|
+
*/
|
|
126
|
+
isConnected() {
|
|
127
|
+
return this.connected;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Disconnects and cleans up resources.
|
|
131
|
+
*/
|
|
132
|
+
destroy() {
|
|
133
|
+
if (this.reconnectTimer) {
|
|
134
|
+
clearTimeout(this.reconnectTimer);
|
|
135
|
+
this.reconnectTimer = null;
|
|
136
|
+
}
|
|
137
|
+
if (this.ws) {
|
|
138
|
+
this.ws.onclose = null;
|
|
139
|
+
this.ws.close();
|
|
140
|
+
this.ws = null;
|
|
141
|
+
}
|
|
142
|
+
this.connected = false;
|
|
143
|
+
this.buffer = [];
|
|
144
|
+
this.messageHandlers = [];
|
|
145
|
+
}
|
|
146
|
+
bufferEntry(entry) {
|
|
147
|
+
this.buffer.push(entry);
|
|
148
|
+
if (this.buffer.length > this.options.bufferSize) {
|
|
149
|
+
this.buffer.shift();
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
flushBuffer() {
|
|
153
|
+
for (const entry of this.buffer) {
|
|
154
|
+
this.write(entry);
|
|
155
|
+
}
|
|
156
|
+
this.buffer = [];
|
|
157
|
+
}
|
|
158
|
+
scheduleReconnect() {
|
|
159
|
+
if (this.reconnectTimer)
|
|
160
|
+
return;
|
|
161
|
+
this.reconnectTimer = setTimeout(() => {
|
|
162
|
+
this.reconnectTimer = null;
|
|
163
|
+
this.connect().catch(() => {
|
|
164
|
+
// Will retry via onclose handler
|
|
165
|
+
});
|
|
166
|
+
}, this.options.reconnectInterval);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
exports.WebSocketLogTransport = WebSocketLogTransport;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ErrorOrigin } from './types/common.error-codes';
|
|
2
|
+
import { FrameworkErrorCode } from './types/framework.error-codes';
|
|
3
|
+
export declare class AppError extends Error {
|
|
4
|
+
readonly code: FrameworkErrorCode;
|
|
5
|
+
readonly details?: unknown;
|
|
6
|
+
readonly origin: ErrorOrigin;
|
|
7
|
+
constructor(code: FrameworkErrorCode, message: string, origin: ErrorOrigin, details?: unknown);
|
|
8
|
+
}
|
|
9
|
+
export declare function isAppError(error: unknown): error is AppError;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.AppError = void 0;
|
|
4
4
|
exports.isAppError = isAppError;
|
|
5
5
|
class AppError extends Error {
|
|
6
6
|
constructor(code, message, origin, details) {
|
|
@@ -15,11 +15,3 @@ exports.AppError = AppError;
|
|
|
15
15
|
function isAppError(error) {
|
|
16
16
|
return error instanceof AppError;
|
|
17
17
|
}
|
|
18
|
-
class SecurityError extends AppError {
|
|
19
|
-
constructor(action, message, details) {
|
|
20
|
-
super('NETWORK_ERROR', message, 'core', details);
|
|
21
|
-
this.action = action;
|
|
22
|
-
Object.setPrototypeOf(this, new.target.prototype);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
exports.SecurityError = SecurityError;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { SecurityAction } from '../../../runtime/server/types/security.types';
|
|
2
|
+
import { AppError } from './app.error';
|
|
3
|
+
export declare class SecurityError extends AppError {
|
|
4
|
+
readonly action: SecurityAction;
|
|
5
|
+
constructor(action: SecurityAction, message: string, details?: unknown);
|
|
6
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SecurityError = void 0;
|
|
4
|
+
const app_error_1 = require("./app.error");
|
|
5
|
+
class SecurityError extends app_error_1.AppError {
|
|
6
|
+
constructor(action, message, details) {
|
|
7
|
+
super('NETWORK:ERROR', message, 'core', details);
|
|
8
|
+
this.action = action;
|
|
9
|
+
Object.setPrototypeOf(this, new.target.prototype);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.SecurityError = SecurityError;
|
|
@@ -14,7 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./
|
|
17
|
+
__exportStar(require("./error/app.error"), exports);
|
|
18
|
+
__exportStar(require("./error/security.error"), exports);
|
|
18
19
|
__exportStar(require("./result"), exports);
|
|
19
|
-
__exportStar(require("./vector3"), exports);
|
|
20
20
|
__exportStar(require("./rgb"), exports);
|
|
21
|
+
__exportStar(require("./vector3"), exports);
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.initClientCore = initClientCore;
|
|
37
|
+
const register_client_capabilities_1 = require("../../adapters/register-client-capabilities");
|
|
38
|
+
const metadata_scanner_1 = require("../../kernel/di/metadata.scanner");
|
|
39
|
+
const logger_1 = require("../../kernel/shared/logger");
|
|
40
|
+
const client_container_1 = require("./client-container");
|
|
41
|
+
const client_runtime_1 = require("./client-runtime");
|
|
42
|
+
const decorators_1 = require("./decorators");
|
|
43
|
+
const player_loader_1 = require("./player/player.loader");
|
|
44
|
+
const services_1 = require("./services");
|
|
45
|
+
const processors_register_1 = require("./system/processors.register");
|
|
46
|
+
const ui_bridge_1 = require("./ui-bridge");
|
|
47
|
+
/**
|
|
48
|
+
* Services that have an init() method which registers global FiveM event listeners.
|
|
49
|
+
*
|
|
50
|
+
* These services are:
|
|
51
|
+
* - Registered in DI for ALL modes (so they can be injected and used)
|
|
52
|
+
* - Only initialized (.init() called) in CORE mode to avoid duplicate event handlers
|
|
53
|
+
*/
|
|
54
|
+
const SERVICES_WITH_GLOBAL_LISTENERS = [services_1.SpawnService];
|
|
55
|
+
/**
|
|
56
|
+
* All client services that should be available in the DI container
|
|
57
|
+
*/
|
|
58
|
+
// const ALL_CLIENT_SERVICES = [
|
|
59
|
+
// SpawnService,
|
|
60
|
+
// NuiBridge,
|
|
61
|
+
// NotificationService,
|
|
62
|
+
// TextUIService,
|
|
63
|
+
// ProgressService,
|
|
64
|
+
// MarkerService,
|
|
65
|
+
// BlipService,
|
|
66
|
+
// VehicleClientService,
|
|
67
|
+
// VehicleService,
|
|
68
|
+
// PedService,
|
|
69
|
+
// StreamingService,
|
|
70
|
+
// ] as const
|
|
71
|
+
/**
|
|
72
|
+
* Get current resource name safely
|
|
73
|
+
*/
|
|
74
|
+
function getCurrentResourceNameSafe() {
|
|
75
|
+
const fn = globalThis.GetCurrentResourceName;
|
|
76
|
+
if (typeof fn === 'function') {
|
|
77
|
+
const name = fn();
|
|
78
|
+
if (typeof name === 'string' && name.trim())
|
|
79
|
+
return name;
|
|
80
|
+
}
|
|
81
|
+
return 'default';
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Register singleton services in the DI container
|
|
85
|
+
*
|
|
86
|
+
* @remarks
|
|
87
|
+
* All services are registered in ALL modes so they can be injected and used.
|
|
88
|
+
* However, only CORE mode will call .init() on services with global listeners.
|
|
89
|
+
*/
|
|
90
|
+
function registerServices() {
|
|
91
|
+
// Register all client services in DI (available in all modes)
|
|
92
|
+
client_container_1.di.registerSingleton(services_1.SpawnService, services_1.SpawnService);
|
|
93
|
+
client_container_1.di.registerSingleton(ui_bridge_1.NuiBridge, ui_bridge_1.NuiBridge);
|
|
94
|
+
client_container_1.di.registerSingleton(services_1.NotificationService, services_1.NotificationService);
|
|
95
|
+
client_container_1.di.registerSingleton(services_1.TextUIService, services_1.TextUIService);
|
|
96
|
+
client_container_1.di.registerSingleton(services_1.ProgressService, services_1.ProgressService);
|
|
97
|
+
client_container_1.di.registerSingleton(services_1.MarkerService, services_1.MarkerService);
|
|
98
|
+
client_container_1.di.registerSingleton(services_1.BlipService, services_1.BlipService);
|
|
99
|
+
client_container_1.di.registerSingleton(services_1.VehicleClientService, services_1.VehicleClientService);
|
|
100
|
+
client_container_1.di.registerSingleton(services_1.VehicleService, services_1.VehicleService);
|
|
101
|
+
client_container_1.di.registerSingleton(services_1.PedService, services_1.PedService);
|
|
102
|
+
client_container_1.di.registerSingleton(services_1.StreamingService, services_1.StreamingService);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Bootstrap services that need initialization
|
|
106
|
+
*
|
|
107
|
+
* @remarks
|
|
108
|
+
* Only called in CORE mode to initialize services that register global event listeners.
|
|
109
|
+
* This prevents duplicate event handlers when multiple resources use the framework.
|
|
110
|
+
*
|
|
111
|
+
* @param mode - The client initialization mode
|
|
112
|
+
*/
|
|
113
|
+
async function bootstrapServices(mode) {
|
|
114
|
+
if (mode === 'CORE') {
|
|
115
|
+
// Initialize services with global listeners (only in CORE mode)
|
|
116
|
+
for (const Service of SERVICES_WITH_GLOBAL_LISTENERS) {
|
|
117
|
+
const instance = client_container_1.di.resolve(Service);
|
|
118
|
+
if (typeof instance.init === 'function') {
|
|
119
|
+
await instance.init();
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
// Instantiate VehicleClientService to register its event handlers
|
|
123
|
+
client_container_1.di.resolve(services_1.VehicleClientService);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Initialize the client core framework
|
|
128
|
+
*
|
|
129
|
+
* @param options - Client initialization options
|
|
130
|
+
*/
|
|
131
|
+
async function initClientCore(options = {}) {
|
|
132
|
+
var _a;
|
|
133
|
+
const mode = (_a = options.mode) !== null && _a !== void 0 ? _a : 'CORE';
|
|
134
|
+
const resourceName = getCurrentResourceNameSafe();
|
|
135
|
+
// Register system processors early (needed for MetadataScanner)
|
|
136
|
+
// These processors are safe - they just process metadata, they don't register event handlers
|
|
137
|
+
// Each resource bundle needs its own copy registered in its DI container
|
|
138
|
+
(0, processors_register_1.registerSystemClient)();
|
|
139
|
+
// Check if already initialized
|
|
140
|
+
const existingContext = (0, client_runtime_1.getClientRuntimeContext)();
|
|
141
|
+
if (existingContext === null || existingContext === void 0 ? void 0 : existingContext.isInitialized) {
|
|
142
|
+
// If already initialized, only scan controllers for this resource
|
|
143
|
+
if (mode === 'RESOURCE' || mode === 'STANDALONE') {
|
|
144
|
+
const scanner = client_container_1.di.resolve(metadata_scanner_1.MetadataScanner);
|
|
145
|
+
scanner.scan((0, decorators_1.getClientControllerRegistry)(resourceName));
|
|
146
|
+
logger_1.loggers.bootstrap.info(`Resource "${resourceName}" controllers registered`);
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
// If trying to initialize CORE mode twice, throw error
|
|
150
|
+
throw new Error(`Client already initialized in ${existingContext.mode} mode by resource "${existingContext.resourceName}". Cannot initialize again in ${mode} mode.`);
|
|
151
|
+
}
|
|
152
|
+
// Set runtime context
|
|
153
|
+
(0, client_runtime_1.setClientRuntimeContext)({
|
|
154
|
+
mode,
|
|
155
|
+
resourceName,
|
|
156
|
+
isInitialized: true,
|
|
157
|
+
});
|
|
158
|
+
// Register client-side adapters (IPedAppearanceClient, IHasher)
|
|
159
|
+
await (0, register_client_capabilities_1.registerClientCapabilities)();
|
|
160
|
+
// Register all services in DI (available in all modes)
|
|
161
|
+
registerServices();
|
|
162
|
+
// Bootstrap services (only in CORE mode)
|
|
163
|
+
// This is where services that register global event handlers are initialized
|
|
164
|
+
await bootstrapServices(mode);
|
|
165
|
+
// Player loader (only in CORE mode)
|
|
166
|
+
if (mode === 'CORE') {
|
|
167
|
+
(0, player_loader_1.playerClientLoader)();
|
|
168
|
+
}
|
|
169
|
+
// Import framework controllers (only in CORE mode)
|
|
170
|
+
// These controllers listen to global events and should only be registered once
|
|
171
|
+
if (mode === 'CORE') {
|
|
172
|
+
await Promise.resolve().then(() => __importStar(require('./controllers/spawner.controller')));
|
|
173
|
+
await Promise.resolve().then(() => __importStar(require('./controllers/appearance.controller')));
|
|
174
|
+
await Promise.resolve().then(() => __importStar(require('./controllers/player-sync.controller')));
|
|
175
|
+
}
|
|
176
|
+
// Scan and register controllers
|
|
177
|
+
const scanner = client_container_1.di.resolve(metadata_scanner_1.MetadataScanner);
|
|
178
|
+
scanner.scan((0, decorators_1.getClientControllerRegistry)(resourceName));
|
|
179
|
+
logger_1.loggers.bootstrap.info(`Client initialized in ${mode} mode`, { resourceName });
|
|
180
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ClientInitOptions } from './client-runtime';
|
|
2
|
+
/**
|
|
3
|
+
* Initialize the OpenCore client framework
|
|
4
|
+
*
|
|
5
|
+
* @param options - Client initialization options
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* // Core resource (initializes all services)
|
|
10
|
+
* await Client.init({ mode: 'CORE' })
|
|
11
|
+
*
|
|
12
|
+
* // Resource mode (only registers controllers)
|
|
13
|
+
* await Client.init({ mode: 'RESOURCE' })
|
|
14
|
+
*
|
|
15
|
+
* // Standalone mode (only registers controllers)
|
|
16
|
+
* await Client.init({ mode: 'STANDALONE' })
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare function init(options?: ClientInitOptions): Promise<void>;
|