@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,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.validateAndExecuteCommand = validateAndExecuteCommand;
|
|
7
|
+
const zod_1 = __importDefault(require("zod"));
|
|
8
|
+
const kernel_1 = require("../../../kernel");
|
|
9
|
+
const schema_generator_1 = require("../system/schema-generator");
|
|
10
|
+
/**
|
|
11
|
+
* Centraliza validación de argumentos de comandos.
|
|
12
|
+
*/
|
|
13
|
+
async function validateAndExecuteCommand(meta, player, args, handler) {
|
|
14
|
+
const paramNames = meta.expectsPlayer ? meta.paramNames.slice(1) : meta.paramNames;
|
|
15
|
+
let schema = meta.schema;
|
|
16
|
+
// Caso: comando sin player → no espera argumentos
|
|
17
|
+
if (!meta.expectsPlayer) {
|
|
18
|
+
if (args.length > 0) {
|
|
19
|
+
throw new kernel_1.AppError('GAME:BAD_REQUEST', `Incorrect usage, use: ${meta.usage}`, 'client', {
|
|
20
|
+
usage: meta.usage,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
return await handler();
|
|
24
|
+
}
|
|
25
|
+
// Autogenerar esquema si no lo definieron
|
|
26
|
+
if (!schema) {
|
|
27
|
+
schema = (0, schema_generator_1.generateSchemaFromTypes)(meta.paramTypes);
|
|
28
|
+
if (!schema) {
|
|
29
|
+
if (paramNames.length > 0) {
|
|
30
|
+
throw new kernel_1.AppError('SCHEMA:MISMATCH', `Command '${meta.command}' has parameters ${paramNames.join(', ')} but no schema was provided.`, 'core');
|
|
31
|
+
}
|
|
32
|
+
return await handler(player);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
// OBJETO schema
|
|
36
|
+
if (schema instanceof zod_1.default.ZodObject) {
|
|
37
|
+
const keys = Object.keys(schema.shape);
|
|
38
|
+
for (const p of paramNames) {
|
|
39
|
+
if (!keys.includes(p)) {
|
|
40
|
+
throw new kernel_1.AppError('SCHEMA:MISMATCH', `Command '${meta.command}' is missing schema for parameter '${p}'.`, 'core');
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
for (const key of keys) {
|
|
44
|
+
if (!paramNames.includes(key)) {
|
|
45
|
+
throw new kernel_1.AppError('SCHEMA:MISMATCH', `Schema for command '${meta.command}' defines '${key}', but handler does not.`, 'core');
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
const inputObj = {};
|
|
49
|
+
for (let i = 0; i < paramNames.length; i++) {
|
|
50
|
+
inputObj[paramNames[i]] = args[i];
|
|
51
|
+
}
|
|
52
|
+
const validated = await schema.parseAsync(inputObj).catch(() => {
|
|
53
|
+
throw new kernel_1.AppError('GAME:BAD_REQUEST', `Incorrect usage, use: ${meta.usage}`, 'client', {
|
|
54
|
+
usage: meta.usage,
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
const obj = validated;
|
|
58
|
+
const finalArgs = paramNames.map((name) => obj[name]);
|
|
59
|
+
return await handler(player, ...finalArgs);
|
|
60
|
+
}
|
|
61
|
+
// TUPLA schema
|
|
62
|
+
if (schema instanceof zod_1.default.ZodTuple) {
|
|
63
|
+
const validated = await schema.parseAsync(args).catch(() => {
|
|
64
|
+
throw new kernel_1.AppError('GAME:BAD_REQUEST', `Incorrect usage, use: ${meta.usage}`, 'client', {
|
|
65
|
+
usage: meta.usage,
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
return await handler(player, ...validated);
|
|
69
|
+
}
|
|
70
|
+
// fallback
|
|
71
|
+
return await handler(player);
|
|
72
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getParameterNames(func: Function): string[];
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getParameterNames = getParameterNames;
|
|
4
|
+
function getParameterNames(func) {
|
|
5
|
+
const stripped = func
|
|
6
|
+
.toString()
|
|
7
|
+
.replace(/\/\/.*$/gm, '')
|
|
8
|
+
.replace(/\/\*[\s\S]*?\*\//gm, '');
|
|
9
|
+
const args = stripped
|
|
10
|
+
.slice(stripped.indexOf('(') + 1, stripped.indexOf(')'))
|
|
11
|
+
.split(',')
|
|
12
|
+
.map((arg) => arg.replace(/=[\s\S]*/, '').trim())
|
|
13
|
+
.filter(Boolean);
|
|
14
|
+
return args;
|
|
15
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveMethod = resolveMethod;
|
|
4
|
+
const logger_1 = require("../../../kernel/shared/logger");
|
|
5
|
+
const utils_1 = require("../../../kernel/utils");
|
|
6
|
+
function resolveMethod(instance, methodName, errorMessage) {
|
|
7
|
+
try {
|
|
8
|
+
const proto = Object.getPrototypeOf(instance);
|
|
9
|
+
const method = instance[methodName];
|
|
10
|
+
if (typeof method !== 'function') {
|
|
11
|
+
logger_1.loggers.scanner.error(errorMessage, {
|
|
12
|
+
className: instance.constructor.name,
|
|
13
|
+
methodName,
|
|
14
|
+
});
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
const handler = method.bind(instance);
|
|
18
|
+
const handlerName = `${instance.constructor.name}.${methodName}`;
|
|
19
|
+
return { handler, handlerName, proto };
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
if (error instanceof Error) {
|
|
23
|
+
throw new utils_1.AppError('COMMON:UNKNOWN', `[${error.name}] ${error.message}`, 'server', error.stack);
|
|
24
|
+
}
|
|
25
|
+
else
|
|
26
|
+
throw error;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './bootstrap.validation';
|
|
2
|
+
export * from './configs';
|
|
3
|
+
export * from './contracts/index';
|
|
4
|
+
export { init } from './core';
|
|
2
5
|
export * from './decorators';
|
|
3
|
-
export * from './
|
|
4
|
-
export * from './services';
|
|
6
|
+
export * from './devmode';
|
|
5
7
|
export * from './entities';
|
|
6
|
-
export * from './
|
|
8
|
+
export * from './runtime';
|
|
9
|
+
export * from './services';
|
|
7
10
|
export * from './setup';
|
|
11
|
+
export * from './templates';
|
|
8
12
|
export type * from './types/core-events';
|
|
9
|
-
import './controllers/command.controller';
|
|
10
|
-
import './controllers/chat.controller';
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
// Framework modules
|
|
2
3
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
4
|
if (k2 === undefined) k2 = k;
|
|
4
5
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -14,18 +15,21 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
15
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
16
|
};
|
|
16
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
|
|
18
|
-
__exportStar(require("./
|
|
18
|
+
exports.init = void 0;
|
|
19
|
+
__exportStar(require("./bootstrap.validation"), exports);
|
|
20
|
+
// Configs
|
|
21
|
+
__exportStar(require("./configs"), exports);
|
|
22
|
+
__exportStar(require("./contracts/index"), exports);
|
|
23
|
+
var core_1 = require("./core");
|
|
24
|
+
Object.defineProperty(exports, "init", { enumerable: true, get: function () { return core_1.init; } });
|
|
19
25
|
__exportStar(require("./decorators"), exports);
|
|
20
|
-
|
|
21
|
-
__exportStar(require("./
|
|
26
|
+
// DevMode (development tools)
|
|
27
|
+
__exportStar(require("./devmode"), exports);
|
|
22
28
|
// Entities
|
|
23
29
|
__exportStar(require("./entities"), exports);
|
|
24
|
-
|
|
25
|
-
__exportStar(require("./
|
|
30
|
+
__exportStar(require("./runtime"), exports);
|
|
31
|
+
__exportStar(require("./services"), exports);
|
|
26
32
|
__exportStar(require("./setup"), exports);
|
|
27
|
-
|
|
28
|
-
require("
|
|
29
|
-
require("./controllers/chat.controller");
|
|
30
|
-
const container_1 = require("./container");
|
|
33
|
+
__exportStar(require("./templates"), exports);
|
|
34
|
+
const container_1 = require("../../kernel/di/container");
|
|
31
35
|
globalThis.oc_container = container_1.di;
|
|
@@ -0,0 +1,408 @@
|
|
|
1
|
+
export type FrameworkMode = 'CORE' | 'RESOURCE' | 'STANDALONE';
|
|
2
|
+
/**
|
|
3
|
+
* Feature provider source configuration.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* Determines where a feature's implementation comes from:
|
|
7
|
+
*
|
|
8
|
+
* - `'core'`: Feature provided by CORE resource via exports
|
|
9
|
+
* - Used in RESOURCE mode for: players, principal, auth, commands
|
|
10
|
+
* - Triggers remote service implementations that delegate to CORE
|
|
11
|
+
*
|
|
12
|
+
* - `'local'`: Feature implemented locally in current resource
|
|
13
|
+
* - Used in CORE/STANDALONE for all features
|
|
14
|
+
* - Used in RESOURCE for: netEvents, fiveMEvents, exports, http, chat, database
|
|
15
|
+
* - Triggers local service implementations
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* // RESOURCE mode - commands delegate to CORE
|
|
20
|
+
* commands: { enabled: true, provider: 'core' }
|
|
21
|
+
*
|
|
22
|
+
* // STANDALONE mode - commands execute locally
|
|
23
|
+
* commands: { enabled: true, provider: 'local' }
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export type FeatureProvider = 'core' | 'local';
|
|
27
|
+
export type FeatureScope = 'core' | 'resource' | 'standalone';
|
|
28
|
+
export type FeatureName = 'players' | 'netEvents' | 'fiveMEvents' | 'commands' | 'exports' | 'http' | 'chat' | 'database' | 'principal' | 'auth' | 'sessionLifecycle';
|
|
29
|
+
/**
|
|
30
|
+
* Base feature configuration (all features support this).
|
|
31
|
+
*/
|
|
32
|
+
export interface BaseFeatureConfig {
|
|
33
|
+
/**
|
|
34
|
+
* Enable or disable this feature.
|
|
35
|
+
*
|
|
36
|
+
* @defaultValue Varies by feature and mode (see specific feature docs)
|
|
37
|
+
*/
|
|
38
|
+
enabled?: boolean;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Feature configuration with configurable provider.
|
|
42
|
+
*
|
|
43
|
+
* @remarks
|
|
44
|
+
* Only applies to: `players`, `commands`, `principal`, `auth`
|
|
45
|
+
*
|
|
46
|
+
* For these features, you can choose:
|
|
47
|
+
* - `'core'`: Use CORE's implementation (RESOURCE mode)
|
|
48
|
+
* - `'local'`: Use local implementation (STANDALONE mode)
|
|
49
|
+
*
|
|
50
|
+
* **Defaults by mode:**
|
|
51
|
+
* - CORE: `'core'`
|
|
52
|
+
* - RESOURCE: `'core'` (delegates to CORE)
|
|
53
|
+
* - STANDALONE: `'local'`
|
|
54
|
+
*/
|
|
55
|
+
export interface ProviderFeatureConfig extends BaseFeatureConfig {
|
|
56
|
+
/**
|
|
57
|
+
* Provider source for this feature.
|
|
58
|
+
*
|
|
59
|
+
* @remarks
|
|
60
|
+
* - RESOURCE mode: Use `'core'` to delegate to CORE (default)
|
|
61
|
+
* - STANDALONE mode: Must use `'local'` (default)
|
|
62
|
+
*/
|
|
63
|
+
provider?: FeatureProvider;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Feature configuration with export option (CORE mode only).
|
|
67
|
+
*
|
|
68
|
+
* @remarks
|
|
69
|
+
* Only applies to: `players`, `principal`, `chat` in CORE mode
|
|
70
|
+
*
|
|
71
|
+
* When `export: true`, the feature exposes FiveM exports for RESOURCE mode access.
|
|
72
|
+
*/
|
|
73
|
+
export interface ExportableFeatureConfig extends BaseFeatureConfig {
|
|
74
|
+
/**
|
|
75
|
+
* Whether to expose this feature via FiveM exports.
|
|
76
|
+
*
|
|
77
|
+
* @remarks
|
|
78
|
+
* - Only valid in CORE mode
|
|
79
|
+
* - Requires `exports` feature to be enabled
|
|
80
|
+
* - Used by RESOURCE mode to access CORE functionality
|
|
81
|
+
*
|
|
82
|
+
* @defaultValue false
|
|
83
|
+
*/
|
|
84
|
+
export?: boolean;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* User-facing feature configuration.
|
|
88
|
+
*
|
|
89
|
+
* @remarks
|
|
90
|
+
* This is what users configure in `Server.init({ features: {...} })`.
|
|
91
|
+
* Internal fields like `scope` and `required` are auto-managed by the framework.
|
|
92
|
+
*/
|
|
93
|
+
export interface UserFeatureConfig {
|
|
94
|
+
/**
|
|
95
|
+
* Player management and directory.
|
|
96
|
+
*
|
|
97
|
+
* @remarks
|
|
98
|
+
* **Dependencies**: None
|
|
99
|
+
* **Provider**: Configurable
|
|
100
|
+
* - CORE/STANDALONE: Local player management
|
|
101
|
+
* - RESOURCE: Delegates to CORE
|
|
102
|
+
*
|
|
103
|
+
* **Export** (CORE only): When true, exposes player APIs to RESOURCE mode
|
|
104
|
+
*
|
|
105
|
+
* @defaultValue
|
|
106
|
+
* - enabled: true
|
|
107
|
+
* - provider: 'core' (RESOURCE), 'core' (CORE), 'local' (STANDALONE)
|
|
108
|
+
* - export: false
|
|
109
|
+
*/
|
|
110
|
+
players?: ProviderFeatureConfig & ExportableFeatureConfig;
|
|
111
|
+
/**
|
|
112
|
+
* Command registration and execution.
|
|
113
|
+
*
|
|
114
|
+
* @remarks
|
|
115
|
+
* **Dependencies**: Requires `players` to be enabled
|
|
116
|
+
* **Provider**: Configurable
|
|
117
|
+
* - CORE/STANDALONE: Local command execution
|
|
118
|
+
* - RESOURCE: Commands register with CORE for centralized security validation
|
|
119
|
+
*
|
|
120
|
+
* **Export** (CORE only): Always exported when enabled (for RESOURCE mode access)
|
|
121
|
+
*
|
|
122
|
+
* @defaultValue
|
|
123
|
+
* - enabled: false
|
|
124
|
+
* - provider: 'core' (RESOURCE), 'local' (CORE/STANDALONE)
|
|
125
|
+
* - export: true (CORE only, automatic)
|
|
126
|
+
*/
|
|
127
|
+
commands?: ProviderFeatureConfig;
|
|
128
|
+
/**
|
|
129
|
+
* Principal (identity) provider for permissions.
|
|
130
|
+
*
|
|
131
|
+
* @remarks
|
|
132
|
+
* **Dependencies**: None
|
|
133
|
+
* **Provider**: Configurable
|
|
134
|
+
* - CORE: User-provided PrincipalProvider implementation
|
|
135
|
+
* - RESOURCE: Delegates to CORE
|
|
136
|
+
* - STANDALONE: User-provided PrincipalProvider implementation
|
|
137
|
+
*
|
|
138
|
+
* **Export** (CORE only): When true, exposes principal APIs to RESOURCE mode
|
|
139
|
+
*
|
|
140
|
+
* @defaultValue
|
|
141
|
+
* - enabled: false
|
|
142
|
+
* - provider: 'core' (RESOURCE), 'core' (CORE), 'local' (STANDALONE)
|
|
143
|
+
* - export: false
|
|
144
|
+
*/
|
|
145
|
+
principal?: ProviderFeatureConfig & ExportableFeatureConfig;
|
|
146
|
+
/**
|
|
147
|
+
* Authentication provider for login/logout.
|
|
148
|
+
*
|
|
149
|
+
* @remarks
|
|
150
|
+
* **Dependencies**: None
|
|
151
|
+
* **Provider**: Configurable
|
|
152
|
+
* - CORE: User-provided AuthProvider implementation
|
|
153
|
+
* - RESOURCE: Delegates to CORE
|
|
154
|
+
* - STANDALONE: User-provided AuthProvider implementation
|
|
155
|
+
*
|
|
156
|
+
* @defaultValue
|
|
157
|
+
* - enabled: false
|
|
158
|
+
* - provider: 'core' (RESOURCE), 'core' (CORE), 'local' (STANDALONE)
|
|
159
|
+
*/
|
|
160
|
+
auth?: ProviderFeatureConfig;
|
|
161
|
+
/**
|
|
162
|
+
* Network events (`onNet` decorator support).
|
|
163
|
+
*
|
|
164
|
+
* @remarks
|
|
165
|
+
* **Dependencies**: Requires `players` to be enabled
|
|
166
|
+
* **Provider**: Auto-determined (not configurable)
|
|
167
|
+
* - Always `'local'` (events are handled locally in each resource)
|
|
168
|
+
*
|
|
169
|
+
* @defaultValue enabled: true
|
|
170
|
+
*/
|
|
171
|
+
netEvents?: BaseFeatureConfig;
|
|
172
|
+
/**
|
|
173
|
+
* FiveM lifecycle events (`onServer`, `onClient`, etc.).
|
|
174
|
+
*
|
|
175
|
+
* @remarks
|
|
176
|
+
* **Dependencies**: None
|
|
177
|
+
* **Provider**: Auto-determined (not configurable)
|
|
178
|
+
* - Always `'local'`
|
|
179
|
+
* - Disabled in RESOURCE mode (only CORE/STANDALONE need lifecycle management)
|
|
180
|
+
*
|
|
181
|
+
* @defaultValue
|
|
182
|
+
* - enabled: true (CORE/STANDALONE), false (RESOURCE)
|
|
183
|
+
*/
|
|
184
|
+
fiveMEvents?: BaseFeatureConfig;
|
|
185
|
+
/**
|
|
186
|
+
* FiveM exports support (`@Export` decorator).
|
|
187
|
+
*
|
|
188
|
+
* @remarks
|
|
189
|
+
* **Dependencies**: None
|
|
190
|
+
* **Provider**: Auto-determined (not configurable)
|
|
191
|
+
* - Always `'local'`
|
|
192
|
+
*
|
|
193
|
+
* @defaultValue enabled: false
|
|
194
|
+
*/
|
|
195
|
+
exports?: BaseFeatureConfig;
|
|
196
|
+
/**
|
|
197
|
+
* HTTP server and endpoints.
|
|
198
|
+
*
|
|
199
|
+
* @remarks
|
|
200
|
+
* **Dependencies**: None
|
|
201
|
+
* **Provider**: Auto-determined (not configurable)
|
|
202
|
+
* - Always `'local'`
|
|
203
|
+
*
|
|
204
|
+
* @defaultValue enabled: false
|
|
205
|
+
*/
|
|
206
|
+
http?: BaseFeatureConfig;
|
|
207
|
+
/**
|
|
208
|
+
* Chat message handling.
|
|
209
|
+
*
|
|
210
|
+
* @remarks
|
|
211
|
+
* **Dependencies**: Requires `players` to be enabled
|
|
212
|
+
* **Provider**: Auto-determined (not configurable)
|
|
213
|
+
* - Always `'local'`
|
|
214
|
+
*
|
|
215
|
+
* **Export** (CORE only): When true, exposes chat APIs to RESOURCE mode
|
|
216
|
+
*
|
|
217
|
+
* @defaultValue
|
|
218
|
+
* - enabled: false
|
|
219
|
+
* - export: false
|
|
220
|
+
*/
|
|
221
|
+
chat?: BaseFeatureConfig & ExportableFeatureConfig;
|
|
222
|
+
/**
|
|
223
|
+
* Database access.
|
|
224
|
+
*
|
|
225
|
+
* @remarks
|
|
226
|
+
* **Dependencies**: None
|
|
227
|
+
* **Provider**: Auto-determined (not configurable)
|
|
228
|
+
* - Always `'local'`
|
|
229
|
+
*
|
|
230
|
+
* @defaultValue enabled: false
|
|
231
|
+
*/
|
|
232
|
+
database?: BaseFeatureConfig;
|
|
233
|
+
/**
|
|
234
|
+
* Session lifecycle management (internal).
|
|
235
|
+
*
|
|
236
|
+
* @remarks
|
|
237
|
+
* **Dependencies**: None
|
|
238
|
+
* **Provider**: Auto-determined (not configurable)
|
|
239
|
+
* - Disabled in RESOURCE mode (CORE manages sessions)
|
|
240
|
+
*
|
|
241
|
+
* @defaultValue
|
|
242
|
+
* - enabled: true (CORE/STANDALONE), false (RESOURCE)
|
|
243
|
+
*/
|
|
244
|
+
sessionLifecycle?: BaseFeatureConfig;
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Internal feature contract with all fields resolved.
|
|
248
|
+
*
|
|
249
|
+
* @remarks
|
|
250
|
+
* This is used internally by the framework after merging user config with defaults.
|
|
251
|
+
* Users don't interact with this directly.
|
|
252
|
+
*
|
|
253
|
+
* @internal
|
|
254
|
+
*/
|
|
255
|
+
export interface FeatureContract {
|
|
256
|
+
/**
|
|
257
|
+
* Enables or disables the feature at runtime.
|
|
258
|
+
*
|
|
259
|
+
* If `required` is `true`, this must also be `true` (otherwise validation will throw).
|
|
260
|
+
*/
|
|
261
|
+
enabled: boolean;
|
|
262
|
+
/**
|
|
263
|
+
* Determines where the implementation comes from.
|
|
264
|
+
*
|
|
265
|
+
* - `core`: feature is provided by the core resource (via exports when applicable)
|
|
266
|
+
* - `local`: feature is implemented/handled locally by the current runtime (resource/standalone)
|
|
267
|
+
*/
|
|
268
|
+
provider: FeatureProvider;
|
|
269
|
+
/**
|
|
270
|
+
* Marks the feature as exportable via FiveM exports.
|
|
271
|
+
*
|
|
272
|
+
* Only meaningful in CORE mode. When `true`, the framework dynamically imports
|
|
273
|
+
* export controllers that expose the feature's API to RESOURCE mode.
|
|
274
|
+
*/
|
|
275
|
+
export: boolean;
|
|
276
|
+
/**
|
|
277
|
+
* The runtime scope this feature contract is intended for.
|
|
278
|
+
*
|
|
279
|
+
* Must match the scope derived from the current FrameworkMode
|
|
280
|
+
*/
|
|
281
|
+
scope: FeatureScope;
|
|
282
|
+
/**
|
|
283
|
+
* Marks the feature as mandatory for the current runtime configuration.
|
|
284
|
+
*
|
|
285
|
+
* When `true`, the feature cannot be disabled (`enabled` must be `true`).
|
|
286
|
+
*/
|
|
287
|
+
required: boolean;
|
|
288
|
+
}
|
|
289
|
+
export type FrameworkFeatures = Record<FeatureName, FeatureContract>;
|
|
290
|
+
export interface ResourceGrants {
|
|
291
|
+
database?: boolean;
|
|
292
|
+
principal?: boolean;
|
|
293
|
+
auth?: boolean;
|
|
294
|
+
}
|
|
295
|
+
export interface DevModeConfig {
|
|
296
|
+
/** Enable dev mode */
|
|
297
|
+
enabled: boolean;
|
|
298
|
+
/** Hot reload configuration */
|
|
299
|
+
hotReload?: {
|
|
300
|
+
enabled: boolean;
|
|
301
|
+
port: number;
|
|
302
|
+
allowedResources?: string[];
|
|
303
|
+
};
|
|
304
|
+
/** CLI bridge configuration */
|
|
305
|
+
bridge?: {
|
|
306
|
+
url: string;
|
|
307
|
+
autoConnect: boolean;
|
|
308
|
+
};
|
|
309
|
+
/** Event interceptor configuration */
|
|
310
|
+
interceptor?: {
|
|
311
|
+
enabled: boolean;
|
|
312
|
+
recordHistory: boolean;
|
|
313
|
+
maxHistorySize: number;
|
|
314
|
+
};
|
|
315
|
+
/** Player simulator configuration */
|
|
316
|
+
simulator?: {
|
|
317
|
+
enabled: boolean;
|
|
318
|
+
autoConnectPlayers: number;
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
export interface ServerRuntimeOptions {
|
|
322
|
+
mode: FrameworkMode;
|
|
323
|
+
features: FrameworkFeatures;
|
|
324
|
+
coreResourceName: string;
|
|
325
|
+
resourceGrants?: ResourceGrants;
|
|
326
|
+
/** Development mode configuration (disabled in production) */
|
|
327
|
+
devMode?: DevModeConfig;
|
|
328
|
+
}
|
|
329
|
+
export type RuntimeContext = ServerRuntimeOptions;
|
|
330
|
+
export declare function setRuntimeContext(ctx: RuntimeContext): void;
|
|
331
|
+
export declare function getRuntimeContext(): RuntimeContext;
|
|
332
|
+
export declare function getFrameworkModeScope(mode: FrameworkMode): FeatureScope;
|
|
333
|
+
/**
|
|
334
|
+
* Server initialization configuration.
|
|
335
|
+
*
|
|
336
|
+
* @remarks
|
|
337
|
+
* Defines the runtime mode and feature configuration for OpenCore.
|
|
338
|
+
*
|
|
339
|
+
* @example Minimal CORE Mode
|
|
340
|
+
* ```typescript
|
|
341
|
+
* Server.init({
|
|
342
|
+
* mode: 'CORE',
|
|
343
|
+
* features: {
|
|
344
|
+
* commands: { enabled: true },
|
|
345
|
+
* principal: { enabled: true },
|
|
346
|
+
* }
|
|
347
|
+
* })
|
|
348
|
+
* ```
|
|
349
|
+
*
|
|
350
|
+
* @example Minimal RESOURCE Mode
|
|
351
|
+
* ```typescript
|
|
352
|
+
* Server.init({
|
|
353
|
+
* mode: 'RESOURCE',
|
|
354
|
+
* coreResourceName: 'my-core',
|
|
355
|
+
* features: {
|
|
356
|
+
* commands: { enabled: true }, // Auto-uses 'core' provider
|
|
357
|
+
* }
|
|
358
|
+
* })
|
|
359
|
+
* ```
|
|
360
|
+
*
|
|
361
|
+
* @example STANDALONE Mode
|
|
362
|
+
* ```typescript
|
|
363
|
+
* Server.init({
|
|
364
|
+
* mode: 'STANDALONE',
|
|
365
|
+
* features: {
|
|
366
|
+
* players: { enabled: true },
|
|
367
|
+
* commands: { enabled: true },
|
|
368
|
+
* }
|
|
369
|
+
* })
|
|
370
|
+
* ```
|
|
371
|
+
*/
|
|
372
|
+
export interface ServerInitOptions {
|
|
373
|
+
/** Runtime mode determining feature availability and provider sources */
|
|
374
|
+
mode: FrameworkMode;
|
|
375
|
+
/**
|
|
376
|
+
* Feature configuration.
|
|
377
|
+
*
|
|
378
|
+
* @remarks
|
|
379
|
+
* All features have sensible defaults. You only need to configure:
|
|
380
|
+
* - `enabled: true` to enable a feature
|
|
381
|
+
* - `provider` (optional, only for players/commands/principal/auth if you want non-default)
|
|
382
|
+
* - `export: true` (optional, CORE mode only, for players/principal/chat)
|
|
383
|
+
*
|
|
384
|
+
* **Most features auto-determine their provider based on mode.**
|
|
385
|
+
* Only configure `provider` if you need to override defaults.
|
|
386
|
+
*/
|
|
387
|
+
features?: UserFeatureConfig;
|
|
388
|
+
/**
|
|
389
|
+
* Name of the CORE resource.
|
|
390
|
+
*
|
|
391
|
+
* @remarks
|
|
392
|
+
* - **Required in RESOURCE mode** (to locate CORE exports)
|
|
393
|
+
* - Optional in CORE/STANDALONE modes
|
|
394
|
+
*
|
|
395
|
+
* @defaultValue 'core'
|
|
396
|
+
*/
|
|
397
|
+
coreResourceName?: string;
|
|
398
|
+
/** Resource grants configuration (CORE mode only) */
|
|
399
|
+
resourceGrants?: ResourceGrants;
|
|
400
|
+
/** Development mode configuration (disabled in production) */
|
|
401
|
+
devMode?: DevModeConfig;
|
|
402
|
+
}
|
|
403
|
+
export declare function resolveRuntimeOptions(options: ServerInitOptions): ServerRuntimeOptions;
|
|
404
|
+
export declare function validateRuntimeOptions(options: ServerRuntimeOptions): void;
|
|
405
|
+
/**
|
|
406
|
+
* @deprecated Use validateRuntimeOptions instead
|
|
407
|
+
*/
|
|
408
|
+
export declare const validateRuntimeContextOrThrow: typeof validateRuntimeOptions;
|