@open-core/framework 0.2.9 → 0.3.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/dist/adapters/contracts/IPlatformCapabilities.d.ts +79 -0
- package/dist/adapters/contracts/IPlatformCapabilities.js +31 -0
- package/dist/adapters/contracts/IPlayerInfo.d.ts +1 -1
- package/dist/adapters/contracts/{IPedAppearanceClient.d.ts → client/IPedAppearanceClient.d.ts} +1 -1
- package/dist/adapters/contracts/server/IEntityServer.d.ts +188 -0
- package/dist/adapters/contracts/server/IEntityServer.js +39 -0
- package/dist/adapters/contracts/{IPlayerServer.d.ts → server/IPlayerServer.d.ts} +52 -9
- package/dist/adapters/contracts/server/IPlayerServer.js +39 -0
- package/dist/adapters/contracts/types/identifier.d.ts +67 -0
- package/dist/adapters/contracts/types/identifier.js +64 -0
- package/dist/adapters/contracts/types/index.d.ts +1 -0
- package/dist/{kernel/shared/appearance → adapters/contracts/types}/index.js +1 -1
- package/dist/adapters/fivem/fivem-capabilities.d.ts +18 -0
- package/dist/adapters/fivem/fivem-capabilities.js +67 -0
- package/dist/adapters/fivem/fivem-engine-events.js +17 -4
- package/dist/adapters/fivem/fivem-entity-server.d.ts +6 -2
- package/dist/adapters/fivem/fivem-entity-server.js +14 -1
- package/dist/adapters/fivem/fivem-ped-appearance-client.d.ts +1 -1
- package/dist/adapters/fivem/fivem-ped-appearance-client.js +1 -1
- package/dist/adapters/fivem/fivem-ped-appearance-server.d.ts +1 -1
- package/dist/adapters/fivem/fivem-ped-appearance-server.js +1 -1
- package/dist/adapters/fivem/fivem-platform.d.ts +5 -0
- package/dist/adapters/fivem/fivem-platform.js +100 -0
- package/dist/adapters/fivem/fivem-player-server.d.ts +7 -1
- package/dist/adapters/fivem/fivem-player-server.js +19 -1
- package/dist/adapters/fivem/fivem-playerinfo.d.ts +1 -1
- package/dist/adapters/fivem/fivem-vehicle-server.d.ts +1 -1
- package/dist/adapters/fivem/fivem-vehicle-server.js +1 -1
- package/dist/adapters/fivem/index.d.ts +13 -0
- package/dist/adapters/fivem/index.js +31 -0
- package/dist/adapters/index.d.ts +8 -7
- package/dist/adapters/index.js +13 -12
- package/dist/adapters/node/index.d.ts +5 -0
- package/dist/adapters/node/index.js +13 -1
- package/dist/adapters/node/node-capabilities.d.ts +19 -0
- package/dist/adapters/node/node-capabilities.js +54 -0
- package/dist/adapters/node/node-entity-server.d.ts +17 -6
- package/dist/adapters/node/node-entity-server.js +41 -15
- package/dist/adapters/node/node-net-transport.js +2 -2
- package/dist/adapters/node/node-ped-appearance-client.d.ts +1 -1
- package/dist/adapters/node/node-ped-appearance-client.js +1 -1
- package/dist/adapters/node/node-ped-appearance-server.d.ts +1 -1
- package/dist/adapters/node/node-ped-appearance-server.js +1 -1
- package/dist/adapters/node/node-platform.d.ts +5 -0
- package/dist/adapters/node/node-platform.js +103 -0
- package/dist/adapters/node/node-player-server.d.ts +19 -3
- package/dist/adapters/node/node-player-server.js +43 -9
- package/dist/adapters/node/node-playerinfo.d.ts +2 -2
- package/dist/adapters/node/node-playerinfo.js +14 -3
- package/dist/adapters/node/node-vehicle-server.d.ts +1 -1
- package/dist/adapters/node/node-vehicle-server.js +1 -1
- package/dist/adapters/platform/index.d.ts +1 -0
- package/dist/{runtime/server/database.js → adapters/platform/index.js} +1 -7
- package/dist/adapters/platform/platform-registry.d.ts +101 -0
- package/dist/adapters/platform/platform-registry.js +122 -0
- package/dist/adapters/register-capabilities.d.ts +52 -2
- package/dist/adapters/register-capabilities.js +69 -130
- package/dist/adapters/register-client-capabilities.js +1 -1
- package/dist/index.d.ts +2 -5
- package/dist/index.js +5 -31
- package/dist/kernel/di/container.d.ts +4 -2
- package/dist/kernel/di/container.js +5 -3
- package/dist/kernel/di/metadata.scanner.d.ts +2 -1
- package/dist/kernel/di/metadata.scanner.js +3 -2
- package/dist/kernel/{utils/error → error}/app.error.d.ts +2 -2
- package/dist/kernel/error/common.error-codes.d.ts +1 -0
- package/dist/kernel/error/framework.error-codes.d.ts +12 -0
- package/dist/kernel/error/index.d.ts +4 -0
- package/dist/kernel/error/index.js +18 -0
- package/dist/kernel/{utils/error → error}/security.error.d.ts +1 -1
- package/dist/kernel/error/security.types.js +2 -0
- package/dist/kernel/index.d.ts +4 -5
- package/dist/kernel/index.js +6 -11
- package/dist/kernel/{shared/logger → logger}/core-logger.d.ts +0 -19
- package/dist/kernel/{shared/logger → logger}/core-logger.js +10 -24
- package/dist/kernel/{shared/logger → logger}/logger.env.d.ts +12 -5
- package/dist/kernel/{shared/logger → logger}/logger.env.js +29 -13
- package/dist/kernel/{shared/logger → logger}/logger.service.d.ts +14 -0
- package/dist/kernel/{shared/logger → logger}/logger.service.js +20 -2
- package/dist/kernel/logger/transports/transport.interface.js +2 -0
- package/dist/kernel/shared/index.d.ts +1 -2
- package/dist/kernel/shared/index.js +1 -2
- package/dist/kernel/utils/index.d.ts +0 -2
- package/dist/kernel/utils/index.js +0 -2
- package/dist/kernel/utils/result.d.ts +1 -1
- package/dist/runtime/client/api.d.ts +7 -0
- package/dist/runtime/client/api.js +23 -0
- package/dist/runtime/client/client-bootstrap.js +1 -1
- package/dist/runtime/client/controllers/spawner.controller.d.ts +1 -1
- package/dist/runtime/client/decorators/index.d.ts +2 -2
- package/dist/runtime/client/decorators/index.js +2 -2
- package/dist/runtime/client/decorators/key.d.ts +2 -2
- package/dist/runtime/client/decorators/key.js +3 -3
- package/dist/runtime/client/decorators/localEvent.d.ts +1 -1
- package/dist/runtime/client/decorators/localEvent.js +1 -1
- package/dist/runtime/client/decorators/{tick.d.ts → onTick.d.ts} +1 -1
- package/dist/runtime/client/decorators/{tick.js → onTick.js} +2 -2
- package/dist/runtime/client/decorators/{nui.d.ts → onView.d.ts} +4 -4
- package/dist/runtime/client/decorators/{nui.js → onView.js} +5 -5
- package/dist/runtime/client/index.d.ts +1 -7
- package/dist/runtime/client/index.js +26 -12
- package/dist/runtime/client/player/player.d.ts +1 -1
- package/dist/runtime/client/player/player.loader.js +3 -3
- package/dist/runtime/client/services/appearance.service.d.ts +1 -1
- package/dist/runtime/client/services/appearance.service.js +1 -1
- package/dist/runtime/client/services/blip.service.d.ts +1 -1
- package/dist/runtime/client/services/marker.service.d.ts +1 -1
- package/dist/runtime/client/services/ped.service.d.ts +1 -1
- package/dist/runtime/client/services/spawn.service.d.ts +2 -2
- package/dist/runtime/client/services/spawn.service.js +12 -12
- package/dist/runtime/client/services/textui.service.d.ts +1 -1
- package/dist/runtime/client/services/vehicle-client.service.d.ts +1 -1
- package/dist/runtime/client/services/vehicle.service.d.ts +1 -1
- package/dist/runtime/client/system/processors/export.processor.js +1 -1
- package/dist/runtime/client/system/processors/gameEvent.processor.js +1 -1
- package/dist/runtime/client/system/processors/interval.processor.js +1 -1
- package/dist/runtime/client/system/processors/localEvent.processor.js +1 -1
- package/dist/runtime/client/system/processors/netEvent.processor.js +1 -1
- package/dist/runtime/client/system/processors/nui.processor.js +1 -1
- package/dist/runtime/client/system/processors/resourceLifecycle.processor.js +1 -1
- package/dist/runtime/client/system/processors/tick.processor.js +1 -1
- package/dist/runtime/client/ui-bridge.js +1 -1
- package/dist/runtime/core/entity.d.ts +168 -0
- package/dist/runtime/core/entity.js +226 -0
- package/dist/runtime/core/index.d.ts +3 -0
- package/dist/runtime/core/index.js +19 -0
- package/dist/runtime/core/spatial.d.ts +5 -0
- package/dist/runtime/core/spatial.js +2 -0
- package/dist/runtime/core/world.d.ts +13 -0
- package/dist/runtime/core/world.js +64 -0
- package/dist/runtime/server/api.d.ts +12 -0
- package/dist/runtime/server/api.js +34 -0
- package/dist/runtime/server/bootstrap.js +84 -108
- package/dist/runtime/server/bus/internal-event.bus.js +1 -1
- package/dist/runtime/server/contracts/index.d.ts +1 -2
- package/dist/runtime/server/contracts/index.js +2 -3
- package/dist/runtime/server/contracts/player-persistence.contract.d.ts +16 -18
- package/dist/runtime/server/contracts/player-persistence.contract.js +16 -18
- package/dist/runtime/server/contracts/security/command-error-observer.contract.d.ts +73 -0
- package/dist/runtime/server/contracts/security/command-error-observer.contract.js +9 -0
- package/dist/runtime/server/contracts/security/permission.types.d.ts +2 -2
- package/dist/runtime/server/contracts/security/principal-provider.contract.d.ts +3 -3
- package/dist/runtime/server/contracts/security/principal-provider.contract.js +2 -2
- package/dist/runtime/server/contracts/security/security-handler.contract.d.ts +2 -2
- package/dist/runtime/server/controllers/chat.controller.d.ts +1 -1
- package/dist/runtime/server/controllers/chat.controller.js +5 -0
- package/dist/runtime/server/controllers/command-export.controller.d.ts +12 -3
- package/dist/runtime/server/controllers/command-export.controller.js +94 -28
- package/dist/runtime/server/controllers/player-export.controller.d.ts +2 -2
- package/dist/runtime/server/controllers/player-export.controller.js +5 -0
- package/dist/runtime/server/controllers/principal-export.controller.js +8 -7
- package/dist/runtime/server/controllers/ready.controller.d.ts +4 -0
- package/dist/runtime/server/controllers/ready.controller.js +32 -0
- package/dist/runtime/server/controllers/remote-command-execution.controller.d.ts +10 -1
- package/dist/runtime/server/controllers/remote-command-execution.controller.js +79 -13
- package/dist/runtime/server/controllers/session.controller.d.ts +2 -2
- package/dist/runtime/server/controllers/session.controller.js +25 -17
- package/dist/runtime/server/controllers/vehicle.controller.d.ts +3 -38
- package/dist/runtime/server/controllers/vehicle.controller.js +6 -152
- package/dist/runtime/server/decorators/guard.js +2 -2
- package/dist/runtime/server/decorators/index.d.ts +1 -1
- package/dist/runtime/server/decorators/index.js +1 -1
- package/dist/runtime/server/decorators/{onFiveMEvent.d.ts → onRuntimeEvent.d.ts} +5 -4
- package/dist/runtime/server/decorators/{onFiveMEvent.js → onRuntimeEvent.js} +7 -6
- package/dist/runtime/server/decorators/requiresState.js +3 -3
- package/dist/runtime/server/decorators/throttle.d.ts +1 -1
- package/dist/runtime/server/decorators/throttle.js +1 -1
- package/dist/runtime/server/decorators/utils.d.ts +1 -1
- package/dist/runtime/server/decorators/utils.js +1 -1
- package/dist/runtime/server/devmode/dev-mode.service.d.ts +7 -8
- package/dist/runtime/server/devmode/dev-mode.service.js +18 -46
- package/dist/runtime/server/devmode/index.d.ts +1 -3
- package/dist/runtime/server/devmode/index.js +1 -18
- package/dist/runtime/server/devmode/player-simulator.service.js +3 -3
- package/dist/runtime/server/devmode/state-inspector.service.js +2 -2
- package/dist/runtime/server/devmode/types.d.ts +67 -31
- package/dist/runtime/server/devmode/types.js +1 -4
- package/dist/runtime/server/entities/player.d.ts +80 -66
- package/dist/runtime/server/entities/player.js +137 -98
- package/dist/runtime/server/entities/vehicle.d.ts +3 -3
- package/dist/runtime/server/error-handler.js +5 -5
- package/dist/runtime/server/helpers/command-validation.helper.d.ts +0 -3
- package/dist/runtime/server/helpers/command-validation.helper.js +3 -7
- package/dist/runtime/server/helpers/normalize-app-error.d.ts +9 -0
- package/dist/runtime/server/helpers/normalize-app-error.js +20 -0
- package/dist/runtime/server/helpers/process-tuple-schema.d.ts +20 -0
- package/dist/runtime/server/helpers/process-tuple-schema.js +51 -0
- package/dist/runtime/server/helpers/resolve-method.js +3 -3
- package/dist/runtime/server/index.d.ts +1 -13
- package/dist/runtime/server/index.js +25 -23
- package/dist/runtime/server/runtime.d.ts +32 -281
- package/dist/runtime/server/runtime.js +46 -60
- package/dist/runtime/server/services/appearance.service.d.ts +5 -5
- package/dist/runtime/server/services/appearance.service.js +5 -5
- package/dist/runtime/server/services/chat.service.d.ts +5 -3
- package/dist/runtime/server/services/chat.service.js +17 -12
- package/dist/runtime/server/services/core/command.service.d.ts +9 -1
- package/dist/runtime/server/services/core/command.service.js +16 -7
- package/dist/runtime/server/services/core/player.service.d.ts +12 -16
- package/dist/runtime/server/services/core/player.service.js +42 -47
- package/dist/runtime/server/services/core/principal.service.js +5 -5
- package/dist/runtime/server/services/core/session-recovery.service.d.ts +1 -1
- package/dist/runtime/server/services/core/session-recovery.service.js +2 -2
- package/dist/runtime/server/services/default/default-command-error-observer.d.ts +14 -0
- package/dist/runtime/server/services/default/default-command-error-observer.js +43 -0
- package/dist/runtime/server/services/default/default-principal.provider.d.ts +13 -0
- package/dist/runtime/server/services/default/default-principal.provider.js +38 -0
- package/dist/runtime/server/services/default/default-security.handler.d.ts +1 -1
- package/dist/runtime/server/services/default/default-security.handler.js +1 -1
- package/dist/runtime/server/services/index.d.ts +0 -3
- package/dist/runtime/server/services/index.js +1 -6
- package/dist/runtime/server/services/persistence.service.js +3 -3
- package/dist/runtime/server/services/ports/command-execution.port.d.ts +7 -0
- package/dist/runtime/server/services/ports/principal.port.d.ts +1 -1
- package/dist/runtime/server/services/remote/remote-command.service.d.ts +1 -0
- package/dist/runtime/server/services/remote/remote-command.service.js +30 -11
- package/dist/runtime/server/services/remote/remote-player.service.d.ts +2 -2
- package/dist/runtime/server/services/remote/remote-player.service.js +3 -3
- package/dist/runtime/server/services/remote/server-bridge.js +2 -2
- package/dist/runtime/server/services/services.register.d.ts +2 -5
- package/dist/runtime/server/services/services.register.js +29 -41
- package/dist/runtime/server/services/vehicle-modification.service.js +1 -1
- package/dist/runtime/server/services/vehicle.service.d.ts +3 -3
- package/dist/runtime/server/services/vehicle.service.js +5 -5
- package/dist/runtime/server/setup.d.ts +2 -3
- package/dist/runtime/server/setup.js +10 -11
- package/dist/runtime/server/system/metadata-server.keys.d.ts +1 -1
- package/dist/runtime/server/system/metadata-server.keys.js +1 -1
- package/dist/runtime/server/system/processors/command.processor.js +4 -0
- package/dist/runtime/server/system/processors/export.processor.js +1 -1
- package/dist/runtime/server/system/processors/internalEvent.processor.js +1 -1
- package/dist/runtime/server/system/processors/netEvent.processor.js +11 -10
- package/dist/runtime/server/system/processors/{fivemEvent.processor.d.ts → runtimeEvent.processor.d.ts} +1 -1
- package/dist/runtime/server/system/processors/{fivemEvent.processor.js → runtimeEvent.processor.js} +8 -8
- package/dist/runtime/server/system/processors/tick.processor.js +1 -1
- package/dist/runtime/server/system/processors.register.js +16 -11
- package/dist/runtime/server/system/schema-generator.js +5 -3
- package/dist/runtime/server/types/core-exports.d.ts +6 -6
- package/dist/runtime/server/types/index.d.ts +1 -1
- package/dist/runtime/server/types/index.js +1 -1
- package/dist/runtime/server/types/internal-events.d.ts +1 -1
- package/dist/runtime/server/types/vehicle.types.d.ts +1 -1
- package/package.json +7 -15
- package/dist/adapters/contracts/IEntityServer.d.ts +0 -88
- package/dist/adapters/contracts/IEntityServer.js +0 -13
- package/dist/adapters/contracts/IPlayerServer.js +0 -13
- package/dist/adapters/database/oxmysql.adapter.d.ts +0 -89
- package/dist/adapters/database/oxmysql.adapter.js +0 -149
- package/dist/adapters/database/resource.adapter.d.ts +0 -12
- package/dist/adapters/database/resource.adapter.js +0 -68
- package/dist/kernel/shared/appearance/index.d.ts +0 -1
- package/dist/runtime/index.d.ts +0 -2
- package/dist/runtime/index.js +0 -39
- package/dist/runtime/server/bootstrap.validation.d.ts +0 -12
- package/dist/runtime/server/bootstrap.validation.js +0 -104
- package/dist/runtime/server/contracts/auth-provider.contract.d.ts +0 -58
- package/dist/runtime/server/contracts/auth-provider.contract.js +0 -23
- package/dist/runtime/server/contracts/repository/index.d.ts +0 -57
- package/dist/runtime/server/contracts/repository/index.js +0 -61
- package/dist/runtime/server/contracts/repository/repository.contract.d.ts +0 -224
- package/dist/runtime/server/contracts/repository/repository.contract.js +0 -341
- package/dist/runtime/server/contracts/repository/repository.types.d.ts +0 -51
- package/dist/runtime/server/contracts/repository/repository.types.js +0 -7
- package/dist/runtime/server/database/adapter.registry.d.ts +0 -4
- package/dist/runtime/server/database/adapter.registry.js +0 -14
- package/dist/runtime/server/database/database.contract.d.ts +0 -128
- package/dist/runtime/server/database/database.contract.js +0 -29
- package/dist/runtime/server/database/database.service.d.ts +0 -188
- package/dist/runtime/server/database/database.service.js +0 -287
- package/dist/runtime/server/database/index.d.ts +0 -5
- package/dist/runtime/server/database/index.js +0 -25
- package/dist/runtime/server/database/types.d.ts +0 -67
- package/dist/runtime/server/database/types.js +0 -7
- package/dist/runtime/server/database.d.ts +0 -7
- package/dist/runtime/server/devmode/hot-reload.server.d.ts +0 -74
- package/dist/runtime/server/devmode/hot-reload.server.js +0 -261
- package/dist/runtime/server/services/config.service.d.ts +0 -75
- package/dist/runtime/server/services/config.service.js +0 -116
- package/dist/runtime/server/services/http/http.service.d.ts +0 -50
- package/dist/runtime/server/services/http/http.service.js +0 -126
- /package/dist/adapters/contracts/{IPedAppearanceClient.js → client/IPedAppearanceClient.js} +0 -0
- /package/dist/adapters/contracts/{IPedAppearanceServer.d.ts → server/IPedAppearanceServer.d.ts} +0 -0
- /package/dist/adapters/contracts/{IPedAppearanceServer.js → server/IPedAppearanceServer.js} +0 -0
- /package/dist/adapters/contracts/{IVehicleServer.d.ts → server/IVehicleServer.d.ts} +0 -0
- /package/dist/adapters/contracts/{IVehicleServer.js → server/IVehicleServer.js} +0 -0
- /package/dist/kernel/{utils/error → error}/app.error.js +0 -0
- /package/dist/kernel/{shared/logger/transports/transport.interface.js → error/common.error-codes.js} +0 -0
- /package/dist/{runtime/server/types/security.types.js → kernel/error/framework.error-codes.js} +0 -0
- /package/dist/kernel/{utils/error → error}/security.error.js +0 -0
- /package/dist/{runtime/server/types → kernel/error}/security.types.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/index.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/index.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/logger.config.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/logger.config.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/logger.types.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/logger.types.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/buffered.transport.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/buffered.transport.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/console.transport.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/console.transport.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/dev-transport.factory.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/dev-transport.factory.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/http.transport.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/http.transport.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/index.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/index.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/simple-console.transport.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/simple-console.transport.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/transport.interface.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/websocket.transport.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/websocket.transport.js +0 -0
- /package/dist/kernel/shared/{appearance/appearance.interface.d.ts → player-appearance.types.d.ts} +0 -0
- /package/dist/kernel/shared/{appearance/appearance.interface.js → player-appearance.types.js} +0 -0
|
@@ -15,17 +15,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
16
16
|
};
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.RateLimiterService = exports.PlayerPersistenceService = exports.
|
|
19
|
-
__exportStar(require("../database"), exports);
|
|
18
|
+
exports.RateLimiterService = exports.PlayerPersistenceService = exports.SessionRecoveryService = exports.ChatService = void 0;
|
|
20
19
|
__exportStar(require("./appearance.service"), exports);
|
|
21
20
|
var chat_service_1 = require("./chat.service");
|
|
22
21
|
Object.defineProperty(exports, "ChatService", { enumerable: true, get: function () { return chat_service_1.ChatService; } });
|
|
23
|
-
var config_service_1 = require("./config.service");
|
|
24
|
-
Object.defineProperty(exports, "ConfigService", { enumerable: true, get: function () { return config_service_1.ConfigService; } });
|
|
25
22
|
var session_recovery_service_1 = require("./core/session-recovery.service");
|
|
26
23
|
Object.defineProperty(exports, "SessionRecoveryService", { enumerable: true, get: function () { return session_recovery_service_1.SessionRecoveryService; } });
|
|
27
|
-
var http_service_1 = require("./http/http.service");
|
|
28
|
-
Object.defineProperty(exports, "HttpService", { enumerable: true, get: function () { return http_service_1.HttpService; } });
|
|
29
24
|
__exportStar(require("./parallel"), exports);
|
|
30
25
|
var persistence_service_1 = require("./persistence.service");
|
|
31
26
|
Object.defineProperty(exports, "PlayerPersistenceService", { enumerable: true, get: function () { return persistence_service_1.PlayerPersistenceService; } });
|
|
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
exports.PlayerPersistenceService = void 0;
|
|
10
10
|
const tsyringe_1 = require("tsyringe");
|
|
11
11
|
const container_1 = require("../../../kernel/di/container");
|
|
12
|
-
const logger_1 = require("../../../kernel/
|
|
12
|
+
const logger_1 = require("../../../kernel/logger");
|
|
13
13
|
const contracts_1 = require("../contracts");
|
|
14
14
|
/**
|
|
15
15
|
* Internal service that orchestrates player data persistence.
|
|
@@ -31,8 +31,8 @@ let PlayerPersistenceService = class PlayerPersistenceService {
|
|
|
31
31
|
if (this.initialized)
|
|
32
32
|
return;
|
|
33
33
|
try {
|
|
34
|
-
if (container_1.
|
|
35
|
-
const provider = container_1.
|
|
34
|
+
if (container_1.GLOBAL_CONTAINER.isRegistered(contracts_1.PlayerPersistenceContract)) {
|
|
35
|
+
const provider = container_1.GLOBAL_CONTAINER.resolve(contracts_1.PlayerPersistenceContract);
|
|
36
36
|
this.provider = provider;
|
|
37
37
|
logger_1.loggers.bootstrap.info('Player Persistence Provider initialized', {
|
|
38
38
|
autoSaveEnabled: provider.config.autoSaveEnabled,
|
|
@@ -34,6 +34,13 @@ export declare abstract class CommandExecutionPort {
|
|
|
34
34
|
* @param args - Raw argument strings
|
|
35
35
|
*/
|
|
36
36
|
abstract execute(player: Player, commandName: string, args: string[]): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Returns metadata for a command if registered in this runtime.
|
|
39
|
+
*
|
|
40
|
+
* @remarks
|
|
41
|
+
* Used to enrich error observation (usage/description/etc.).
|
|
42
|
+
*/
|
|
43
|
+
abstract getCommandMeta(commandName: string): CommandMetadata | undefined;
|
|
37
44
|
/**
|
|
38
45
|
* Returns all registered commands.
|
|
39
46
|
*/
|
|
@@ -38,7 +38,7 @@ export declare abstract class PrincipalPort {
|
|
|
38
38
|
/**
|
|
39
39
|
* Gets Principal by account ID (works for offline players too).
|
|
40
40
|
*
|
|
41
|
-
* @param accountId -
|
|
41
|
+
* @param accountId - Account identifier
|
|
42
42
|
* @returns Principal data or null
|
|
43
43
|
*/
|
|
44
44
|
abstract getPrincipalByAccountId(accountId: string): Promise<Principal | null>;
|
|
@@ -24,6 +24,7 @@ import { CommandExecutionPort, type CommandInfo } from '../ports/command-executi
|
|
|
24
24
|
export declare class RemoteCommandService extends CommandExecutionPort {
|
|
25
25
|
private exportsService;
|
|
26
26
|
private commands;
|
|
27
|
+
getCommandMeta(commandName: string): CommandMetadata | undefined;
|
|
27
28
|
constructor(exportsService: IExports);
|
|
28
29
|
/**
|
|
29
30
|
* Gets typed access to CORE resource exports.
|
|
@@ -15,8 +15,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.RemoteCommandService = void 0;
|
|
16
16
|
const tsyringe_1 = require("tsyringe");
|
|
17
17
|
const IExports_1 = require("../../../../adapters/contracts/IExports");
|
|
18
|
-
const
|
|
19
|
-
const
|
|
18
|
+
const app_error_1 = require("../../../../kernel/error/app.error");
|
|
19
|
+
const logger_1 = require("../../../../kernel/logger");
|
|
20
20
|
const command_validation_helper_1 = require("../../helpers/command-validation.helper");
|
|
21
21
|
const runtime_1 = require("../../runtime");
|
|
22
22
|
const command_execution_port_1 = require("../ports/command-execution.port");
|
|
@@ -40,6 +40,10 @@ const command_execution_port_1 = require("../ports/command-execution.port");
|
|
|
40
40
|
* - RESOURCE validates: Zod schema (not serializable, must be local)
|
|
41
41
|
*/
|
|
42
42
|
let RemoteCommandService = class RemoteCommandService extends command_execution_port_1.CommandExecutionPort {
|
|
43
|
+
getCommandMeta(commandName) {
|
|
44
|
+
var _a;
|
|
45
|
+
return (_a = this.commands.get(commandName.toLowerCase())) === null || _a === void 0 ? void 0 : _a.meta;
|
|
46
|
+
}
|
|
43
47
|
constructor(exportsService) {
|
|
44
48
|
super();
|
|
45
49
|
this.exportsService = exportsService;
|
|
@@ -68,20 +72,35 @@ let RemoteCommandService = class RemoteCommandService extends command_execution_
|
|
|
68
72
|
register(metadata, handler) {
|
|
69
73
|
var _a, _b, _c, _d;
|
|
70
74
|
const commandKey = metadata.command.toLowerCase();
|
|
75
|
+
const resourceName = GetCurrentResourceName();
|
|
76
|
+
logger_1.loggers.command.debug(`Registering command locally`, {
|
|
77
|
+
command: metadata.command,
|
|
78
|
+
resource: resourceName,
|
|
79
|
+
});
|
|
71
80
|
// Store handler with full metadata locally (for schema validation)
|
|
72
81
|
this.commands.set(commandKey, {
|
|
73
82
|
meta: metadata,
|
|
74
83
|
handler,
|
|
75
84
|
});
|
|
76
85
|
// Register metadata with CORE (security only, schema is not serializable)
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
86
|
+
try {
|
|
87
|
+
this.core.registerCommand({
|
|
88
|
+
command: metadata.command,
|
|
89
|
+
description: metadata.description,
|
|
90
|
+
usage: metadata.usage,
|
|
91
|
+
isPublic: (_a = metadata.isPublic) !== null && _a !== void 0 ? _a : false,
|
|
92
|
+
resourceName,
|
|
93
|
+
security: metadata.security,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
catch (e) {
|
|
97
|
+
logger_1.loggers.command.error(`Failed to register command with CORE`, {
|
|
98
|
+
command: metadata.command,
|
|
99
|
+
resource: resourceName,
|
|
100
|
+
error: e,
|
|
101
|
+
});
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
85
104
|
const publicFlag = metadata.isPublic ? ' [Public]' : '';
|
|
86
105
|
const schemaFlag = metadata.schema ? ' [Validated]' : '';
|
|
87
106
|
const securityFlags = [];
|
|
@@ -119,7 +138,7 @@ let RemoteCommandService = class RemoteCommandService extends command_execution_
|
|
|
119
138
|
command: commandName,
|
|
120
139
|
resource: GetCurrentResourceName(),
|
|
121
140
|
});
|
|
122
|
-
throw new
|
|
141
|
+
throw new app_error_1.AppError('COMMAND:NOT_FOUND', `Command not found: ${commandName}`, 'server');
|
|
123
142
|
}
|
|
124
143
|
const { meta, handler } = entry;
|
|
125
144
|
return await (0, command_validation_helper_1.validateAndExecuteCommand)(meta, player, args, handler);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IExports, IPlayerInfo } from '../../../../adapters';
|
|
2
|
-
import { IEntityServer } from '../../../../adapters/contracts/IEntityServer';
|
|
3
2
|
import { INetTransport } from '../../../../adapters/contracts/INetTransport';
|
|
4
|
-
import {
|
|
3
|
+
import { IEntityServer } from '../../../../adapters/contracts/server/IEntityServer';
|
|
4
|
+
import { IPlayerServer } from '../../../../adapters/contracts/server/IPlayerServer';
|
|
5
5
|
import { Player } from '../../entities';
|
|
6
6
|
import { PlayerDirectoryPort } from '../ports/player-directory.port';
|
|
7
7
|
/**
|
|
@@ -15,10 +15,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.RemotePlayerService = void 0;
|
|
16
16
|
const tsyringe_1 = require("tsyringe");
|
|
17
17
|
const adapters_1 = require("../../../../adapters");
|
|
18
|
-
const IEntityServer_1 = require("../../../../adapters/contracts/IEntityServer");
|
|
19
18
|
const INetTransport_1 = require("../../../../adapters/contracts/INetTransport");
|
|
20
|
-
const
|
|
21
|
-
const
|
|
19
|
+
const IEntityServer_1 = require("../../../../adapters/contracts/server/IEntityServer");
|
|
20
|
+
const IPlayerServer_1 = require("../../../../adapters/contracts/server/IPlayerServer");
|
|
21
|
+
const logger_1 = require("../../../../kernel/logger");
|
|
22
22
|
const entities_1 = require("../../entities");
|
|
23
23
|
const runtime_1 = require("../../runtime");
|
|
24
24
|
const player_directory_port_1 = require("../ports/player-directory.port");
|
|
@@ -83,12 +83,12 @@ function getCoreExports() {
|
|
|
83
83
|
* @returns An instance of PlayerServiceContract
|
|
84
84
|
*/
|
|
85
85
|
function getPlayerService() {
|
|
86
|
-
return container_1.
|
|
86
|
+
return container_1.GLOBAL_CONTAINER.resolve(player_directory_port_1.PlayerDirectoryPort);
|
|
87
87
|
}
|
|
88
88
|
/**
|
|
89
89
|
* Gets the principal provider from the dependency injection container
|
|
90
90
|
* @returns An instance of PrincipalProviderContract
|
|
91
91
|
*/
|
|
92
92
|
function getPrincipalProvider() {
|
|
93
|
-
return container_1.
|
|
93
|
+
return container_1.GLOBAL_CONTAINER.resolve(contracts_1.PrincipalProviderContract);
|
|
94
94
|
}
|
|
@@ -3,12 +3,9 @@ import { RuntimeContext } from '../runtime';
|
|
|
3
3
|
* Registers server runtime services in the dependency injection container.
|
|
4
4
|
*
|
|
5
5
|
* @remarks
|
|
6
|
-
* This function
|
|
7
|
-
* - In `RESOURCE` mode, some features require explicit grants (`resourceGrants`).
|
|
6
|
+
* This function handles service bindings based on the runtime mode:
|
|
8
7
|
* - Service bindings may resolve to local implementations (CORE mode) or remote proxies.
|
|
9
8
|
*
|
|
10
|
-
* @param ctx - Runtime context containing mode
|
|
11
|
-
*
|
|
12
|
-
* @throws Error - If a forbidden feature is enabled in `RESOURCE` mode without the corresponding grant.
|
|
9
|
+
* @param ctx - Runtime context containing mode and feature flags.
|
|
13
10
|
*/
|
|
14
11
|
export declare function registerServicesServer(ctx: RuntimeContext): void;
|
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.registerServicesServer = registerServicesServer;
|
|
4
4
|
const index_1 = require("../../../kernel/di/index");
|
|
5
|
-
const
|
|
5
|
+
const world_1 = require("../../core/world");
|
|
6
|
+
const principal_provider_contract_1 = require("../contracts/security/principal-provider.contract");
|
|
6
7
|
const chat_service_1 = require("./chat.service");
|
|
7
8
|
const command_service_1 = require("./core/command.service");
|
|
8
9
|
const player_service_1 = require("./core/player.service");
|
|
9
10
|
const principal_service_1 = require("./core/principal.service");
|
|
10
11
|
const session_recovery_service_1 = require("./core/session-recovery.service");
|
|
11
|
-
const
|
|
12
|
+
const default_principal_provider_1 = require("./default/default-principal.provider");
|
|
12
13
|
const persistence_service_1 = require("./persistence.service");
|
|
13
14
|
const command_execution_port_1 = require("./ports/command-execution.port");
|
|
14
15
|
const player_directory_port_1 = require("./ports/player-directory.port");
|
|
@@ -21,80 +22,67 @@ const remote_principal_service_1 = require("./remote/remote-principal.service");
|
|
|
21
22
|
* Registers server runtime services in the dependency injection container.
|
|
22
23
|
*
|
|
23
24
|
* @remarks
|
|
24
|
-
* This function
|
|
25
|
-
* - In `RESOURCE` mode, some features require explicit grants (`resourceGrants`).
|
|
25
|
+
* This function handles service bindings based on the runtime mode:
|
|
26
26
|
* - Service bindings may resolve to local implementations (CORE mode) or remote proxies.
|
|
27
27
|
*
|
|
28
|
-
* @param ctx - Runtime context containing mode
|
|
29
|
-
*
|
|
30
|
-
* @throws Error - If a forbidden feature is enabled in `RESOURCE` mode without the corresponding grant.
|
|
28
|
+
* @param ctx - Runtime context containing mode and feature flags.
|
|
31
29
|
*/
|
|
32
30
|
function registerServicesServer(ctx) {
|
|
33
|
-
const { mode, features
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
if (features.auth.enabled && !(resourceGrants === null || resourceGrants === void 0 ? void 0 : resourceGrants.auth)) {
|
|
42
|
-
throw new Error(`[OpenCore] Feature 'auth' is forbidden in RESOURCE mode unless resourceGrants.auth=true`);
|
|
43
|
-
}
|
|
31
|
+
const { mode, features } = ctx;
|
|
32
|
+
// ═══════════════════════════════════════════════════════════════
|
|
33
|
+
// PHASE 1: Register all service types FIRST (recipes only)
|
|
34
|
+
// ═══════════════════════════════════════════════════════════════
|
|
35
|
+
// WorldContext must be registered first as it has no dependencies
|
|
36
|
+
if (!index_1.GLOBAL_CONTAINER.isRegistered(world_1.WorldContext)) {
|
|
37
|
+
index_1.GLOBAL_CONTAINER.registerSingleton(world_1.WorldContext);
|
|
44
38
|
}
|
|
45
39
|
if (features.players.enabled) {
|
|
46
40
|
if (features.players.provider === 'local' || mode === 'CORE') {
|
|
47
|
-
index_1.
|
|
48
|
-
index_1.
|
|
49
|
-
index_1.
|
|
41
|
+
index_1.GLOBAL_CONTAINER.registerSingleton(player_service_1.PlayerService);
|
|
42
|
+
index_1.GLOBAL_CONTAINER.register(player_directory_port_1.PlayerDirectoryPort, { useToken: player_service_1.PlayerService });
|
|
43
|
+
index_1.GLOBAL_CONTAINER.register(player_session_lifecycle_port_1.PlayerSessionLifecyclePort, { useToken: player_service_1.PlayerService });
|
|
50
44
|
}
|
|
51
45
|
else {
|
|
52
|
-
index_1.
|
|
46
|
+
index_1.GLOBAL_CONTAINER.registerSingleton(player_directory_port_1.PlayerDirectoryPort, remote_player_service_1.RemotePlayerService);
|
|
53
47
|
}
|
|
54
48
|
}
|
|
55
49
|
if (mode === 'RESOURCE' && features.players.enabled) {
|
|
56
|
-
index_1.
|
|
50
|
+
index_1.GLOBAL_CONTAINER.register(player_session_lifecycle_port_1.PlayerSessionLifecyclePort, {
|
|
57
51
|
useFactory: () => {
|
|
58
52
|
throw new Error('[OpenCore] PlayerSessionLifecyclePort is not available in RESOURCE mode');
|
|
59
53
|
},
|
|
60
54
|
});
|
|
61
55
|
}
|
|
62
56
|
if (features.sessionLifecycle.enabled && mode !== 'RESOURCE') {
|
|
63
|
-
index_1.
|
|
64
|
-
index_1.
|
|
57
|
+
index_1.GLOBAL_CONTAINER.registerSingleton(persistence_service_1.PlayerPersistenceService, persistence_service_1.PlayerPersistenceService);
|
|
58
|
+
index_1.GLOBAL_CONTAINER.registerSingleton(session_recovery_service_1.SessionRecoveryService, session_recovery_service_1.SessionRecoveryService);
|
|
65
59
|
}
|
|
66
60
|
if (features.principal.enabled) {
|
|
67
61
|
if (features.principal.provider === 'local' || mode === 'CORE' || mode === 'STANDALONE') {
|
|
68
62
|
// CORE/STANDALONE: Local principal service wraps user's PrincipalProviderContract
|
|
69
|
-
index_1.
|
|
70
|
-
|
|
63
|
+
if (!index_1.GLOBAL_CONTAINER.isRegistered(principal_provider_contract_1.PrincipalProviderContract)) {
|
|
64
|
+
index_1.GLOBAL_CONTAINER.registerSingleton(principal_provider_contract_1.PrincipalProviderContract, default_principal_provider_1.DefaultPrincipalProvider);
|
|
65
|
+
}
|
|
66
|
+
index_1.GLOBAL_CONTAINER.registerSingleton(principal_service_1.LocalPrincipalService);
|
|
67
|
+
index_1.GLOBAL_CONTAINER.register(principal_port_1.PrincipalPort, { useToken: principal_service_1.LocalPrincipalService });
|
|
71
68
|
}
|
|
72
69
|
else {
|
|
73
70
|
// RESOURCE: Remote principal service delegates to CORE
|
|
74
|
-
index_1.
|
|
71
|
+
index_1.GLOBAL_CONTAINER.registerSingleton(principal_port_1.PrincipalPort, remote_principal_service_1.RemotePrincipalService);
|
|
75
72
|
}
|
|
76
73
|
}
|
|
77
|
-
if (features.auth.enabled && features.auth.provider === 'core' && mode === 'RESOURCE') {
|
|
78
|
-
throw new Error("[OpenCore] Feature 'auth' with provider='core' in RESOURCE mode is not implemented yet (missing RemoteAuthProvider).");
|
|
79
|
-
}
|
|
80
|
-
if (features.database.enabled) {
|
|
81
|
-
index_1.di.registerSingleton(database_1.DatabaseService);
|
|
82
|
-
}
|
|
83
74
|
if (features.commands.enabled) {
|
|
84
75
|
if (features.commands.provider === 'local' || mode === 'CORE') {
|
|
85
76
|
// CORE/STANDALONE: local command execution
|
|
86
|
-
index_1.
|
|
87
|
-
index_1.
|
|
77
|
+
index_1.GLOBAL_CONTAINER.registerSingleton(command_service_1.CommandService);
|
|
78
|
+
index_1.GLOBAL_CONTAINER.register(command_execution_port_1.CommandExecutionPort, { useToken: command_service_1.CommandService });
|
|
88
79
|
}
|
|
89
80
|
else {
|
|
90
81
|
// RESOURCE: remote command execution (delegates to CORE)
|
|
91
|
-
index_1.
|
|
82
|
+
index_1.GLOBAL_CONTAINER.registerSingleton(command_execution_port_1.CommandExecutionPort, remote_command_service_1.RemoteCommandService);
|
|
92
83
|
}
|
|
93
84
|
}
|
|
94
|
-
if (features.http.enabled) {
|
|
95
|
-
index_1.di.registerSingleton(http_service_1.HttpService);
|
|
96
|
-
}
|
|
97
85
|
if (features.chat.enabled) {
|
|
98
|
-
index_1.
|
|
86
|
+
index_1.GLOBAL_CONTAINER.registerSingleton(chat_service_1.ChatService);
|
|
99
87
|
}
|
|
100
88
|
}
|
|
@@ -14,7 +14,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.VehicleModificationService = void 0;
|
|
16
16
|
const tsyringe_1 = require("tsyringe");
|
|
17
|
-
const logger_1 = require("../../../kernel/
|
|
17
|
+
const logger_1 = require("../../../kernel/logger");
|
|
18
18
|
const vehicle_service_1 = require("./vehicle.service");
|
|
19
19
|
/**
|
|
20
20
|
* Service for handling vehicle modifications with validation.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { IEntityServer } from '../../../adapters/contracts/IEntityServer';
|
|
2
1
|
import { IHasher } from '../../../adapters/contracts/IHasher';
|
|
3
2
|
import { INetTransport } from '../../../adapters/contracts/INetTransport';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { IEntityServer } from '../../../adapters/contracts/server/IEntityServer';
|
|
4
|
+
import { IPlayerServer } from '../../../adapters/contracts/server/IPlayerServer';
|
|
5
|
+
import { IVehicleServer } from '../../../adapters/contracts/server/IVehicleServer';
|
|
6
6
|
import { Vehicle } from '../entities/vehicle';
|
|
7
7
|
import { SerializedVehicleData, VehicleCreateOptions, VehicleSpawnResult } from '../types/vehicle.types';
|
|
8
8
|
import { PlayerDirectoryPort } from './ports/player-directory.port';
|
|
@@ -14,12 +14,12 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.VehicleService = void 0;
|
|
16
16
|
const tsyringe_1 = require("tsyringe");
|
|
17
|
-
const IEntityServer_1 = require("../../../adapters/contracts/IEntityServer");
|
|
18
17
|
const IHasher_1 = require("../../../adapters/contracts/IHasher");
|
|
19
18
|
const INetTransport_1 = require("../../../adapters/contracts/INetTransport");
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const
|
|
19
|
+
const IEntityServer_1 = require("../../../adapters/contracts/server/IEntityServer");
|
|
20
|
+
const IPlayerServer_1 = require("../../../adapters/contracts/server/IPlayerServer");
|
|
21
|
+
const IVehicleServer_1 = require("../../../adapters/contracts/server/IVehicleServer");
|
|
22
|
+
const logger_1 = require("../../../kernel/logger");
|
|
23
23
|
const vehicle_1 = require("../entities/vehicle");
|
|
24
24
|
const player_directory_port_1 = require("./ports/player-directory.port");
|
|
25
25
|
/**
|
|
@@ -295,7 +295,7 @@ let VehicleService = class VehicleService {
|
|
|
295
295
|
const player = this.playerDirectory.getByClient(clientID);
|
|
296
296
|
if (!player)
|
|
297
297
|
return false;
|
|
298
|
-
const playerPed = this.playerServer.getPed(player.
|
|
298
|
+
const playerPed = this.playerServer.getPed(player.clientID.toString());
|
|
299
299
|
if (!playerPed || playerPed === 0)
|
|
300
300
|
return false;
|
|
301
301
|
const playerPos = this.entityServer.getCoords(playerPed);
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { ClassConstructor } from '../../kernel/di/index';
|
|
2
|
-
import { PlayerPersistenceContract, PrincipalProviderContract } from './contracts';
|
|
3
|
-
import { AuthProviderContract } from './contracts/auth-provider.contract';
|
|
2
|
+
import { CommandErrorObserverContract, PlayerPersistenceContract, PrincipalProviderContract } from './contracts';
|
|
4
3
|
import { NetEventSecurityObserverContract } from './contracts/security/net-event-security-observer.contract';
|
|
5
4
|
import { SecurityHandlerContract } from './contracts/security/security-handler.contract';
|
|
6
5
|
export declare function setPrincipalProvider(provider: ClassConstructor<PrincipalProviderContract>): void;
|
|
7
|
-
export declare function setAuthProvider(provider: ClassConstructor<AuthProviderContract>): void;
|
|
8
6
|
export declare function setSecurityHandler(handler: ClassConstructor<SecurityHandlerContract>): void;
|
|
9
7
|
export declare function setPersistenceProvider(provider: ClassConstructor<PlayerPersistenceContract>): void;
|
|
10
8
|
export declare function setNetEventSecurityObserver(observer: ClassConstructor<NetEventSecurityObserverContract>): void;
|
|
9
|
+
export declare function setCommandErrorObserver(observer: ClassConstructor<CommandErrorObserverContract>): void;
|
|
@@ -1,33 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.setPrincipalProvider = setPrincipalProvider;
|
|
4
|
-
exports.setAuthProvider = setAuthProvider;
|
|
5
4
|
exports.setSecurityHandler = setSecurityHandler;
|
|
6
5
|
exports.setPersistenceProvider = setPersistenceProvider;
|
|
7
6
|
exports.setNetEventSecurityObserver = setNetEventSecurityObserver;
|
|
7
|
+
exports.setCommandErrorObserver = setCommandErrorObserver;
|
|
8
8
|
const index_1 = require("../../kernel/di/index");
|
|
9
|
-
const logger_1 = require("../../kernel/
|
|
9
|
+
const logger_1 = require("../../kernel/logger");
|
|
10
10
|
const contracts_1 = require("./contracts");
|
|
11
|
-
const auth_provider_contract_1 = require("./contracts/auth-provider.contract");
|
|
12
11
|
const net_event_security_observer_contract_1 = require("./contracts/security/net-event-security-observer.contract");
|
|
13
12
|
const security_handler_contract_1 = require("./contracts/security/security-handler.contract");
|
|
14
13
|
function setPrincipalProvider(provider) {
|
|
15
|
-
index_1.
|
|
14
|
+
index_1.GLOBAL_CONTAINER.registerSingleton(contracts_1.PrincipalProviderContract, provider);
|
|
16
15
|
logger_1.loggers.bootstrap.info(`Principal Provider configured: ${provider.name}`);
|
|
17
16
|
}
|
|
18
|
-
function setAuthProvider(provider) {
|
|
19
|
-
index_1.di.registerSingleton(auth_provider_contract_1.AuthProviderContract, provider);
|
|
20
|
-
logger_1.loggers.bootstrap.info(`Auth Provider configured: ${provider.name}`);
|
|
21
|
-
}
|
|
22
17
|
function setSecurityHandler(handler) {
|
|
23
|
-
index_1.
|
|
18
|
+
index_1.GLOBAL_CONTAINER.registerSingleton(security_handler_contract_1.SecurityHandlerContract, handler);
|
|
24
19
|
logger_1.loggers.bootstrap.info(`Security Handler configured: ${handler.name}`);
|
|
25
20
|
}
|
|
26
21
|
function setPersistenceProvider(provider) {
|
|
27
|
-
index_1.
|
|
22
|
+
index_1.GLOBAL_CONTAINER.registerSingleton(contracts_1.PlayerPersistenceContract, provider);
|
|
28
23
|
logger_1.loggers.bootstrap.info(`Persistence Provider configured: ${provider.name}`);
|
|
29
24
|
}
|
|
30
25
|
function setNetEventSecurityObserver(observer) {
|
|
31
|
-
index_1.
|
|
26
|
+
index_1.GLOBAL_CONTAINER.registerSingleton(net_event_security_observer_contract_1.NetEventSecurityObserverContract, observer);
|
|
32
27
|
logger_1.loggers.bootstrap.info(`NetEvent Security Observer configured: ${observer.name}`);
|
|
33
28
|
}
|
|
29
|
+
function setCommandErrorObserver(observer) {
|
|
30
|
+
index_1.GLOBAL_CONTAINER.registerSingleton(contracts_1.CommandErrorObserverContract, observer);
|
|
31
|
+
logger_1.loggers.bootstrap.info(`Command Security Observer configured: ${observer.name}`);
|
|
32
|
+
}
|
|
@@ -7,7 +7,7 @@ exports.METADATA_KEYS = {
|
|
|
7
7
|
NET_EVENT: 'decorator:meta:net_event',
|
|
8
8
|
TICK: 'decorator:meta:tick',
|
|
9
9
|
INTERNAL_EVENT: 'decorator:meta:internal_event',
|
|
10
|
-
|
|
10
|
+
RUNTIME_EVENT: 'decorator:meta:runtime_event',
|
|
11
11
|
EXPORT: 'decorator:meta:export',
|
|
12
12
|
PUBLIC: 'decorator:meta:public',
|
|
13
13
|
THROTTLE: 'decorator:throttle',
|
|
@@ -8,6 +8,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
15
|
exports.CommandProcessor = void 0;
|
|
13
16
|
const tsyringe_1 = require("tsyringe");
|
|
@@ -50,5 +53,6 @@ let CommandProcessor = class CommandProcessor {
|
|
|
50
53
|
exports.CommandProcessor = CommandProcessor;
|
|
51
54
|
exports.CommandProcessor = CommandProcessor = __decorate([
|
|
52
55
|
(0, tsyringe_1.injectable)(),
|
|
56
|
+
__param(0, (0, tsyringe_1.inject)(command_execution_port_1.CommandExecutionPort)),
|
|
53
57
|
__metadata("design:paramtypes", [command_execution_port_1.CommandExecutionPort])
|
|
54
58
|
], CommandProcessor);
|
|
@@ -15,7 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.ExportProcessor = void 0;
|
|
16
16
|
const tsyringe_1 = require("tsyringe");
|
|
17
17
|
const IExports_1 = require("../../../../adapters/contracts/IExports");
|
|
18
|
-
const logger_1 = require("../../../../kernel/
|
|
18
|
+
const logger_1 = require("../../../../kernel/logger");
|
|
19
19
|
const resolve_method_1 = require("../../helpers/resolve-method");
|
|
20
20
|
const metadata_server_keys_1 = require("../metadata-server.keys");
|
|
21
21
|
let ExportProcessor = class ExportProcessor {
|
|
@@ -8,7 +8,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.InternalEventProcessor = void 0;
|
|
10
10
|
const tsyringe_1 = require("tsyringe");
|
|
11
|
-
const logger_1 = require("../../../../kernel/
|
|
11
|
+
const logger_1 = require("../../../../kernel/logger");
|
|
12
12
|
const internal_event_bus_1 = require("../../bus/internal-event.bus");
|
|
13
13
|
const resolve_method_1 = require("../../helpers/resolve-method");
|
|
14
14
|
const metadata_server_keys_1 = require("../metadata-server.keys");
|
|
@@ -18,12 +18,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
18
18
|
exports.NetEventProcessor = void 0;
|
|
19
19
|
const tsyringe_1 = require("tsyringe");
|
|
20
20
|
const zod_1 = __importDefault(require("zod"));
|
|
21
|
+
const __1 = require("../../../../");
|
|
21
22
|
const INetTransport_1 = require("../../../../adapters/contracts/INetTransport");
|
|
22
|
-
const logger_1 = require("../../../../kernel/
|
|
23
|
-
const utils_1 = require("../../../../kernel/utils");
|
|
24
|
-
const security_error_1 = require("../../../../kernel/utils/error/security.error");
|
|
23
|
+
const logger_1 = require("../../../../kernel/logger");
|
|
25
24
|
const net_event_security_observer_contract_1 = require("../../contracts/security/net-event-security-observer.contract");
|
|
26
25
|
const security_handler_contract_1 = require("../../contracts/security/security-handler.contract");
|
|
26
|
+
const process_tuple_schema_1 = require("../../helpers/process-tuple-schema");
|
|
27
27
|
const resolve_method_1 = require("../../helpers/resolve-method");
|
|
28
28
|
const player_directory_port_1 = require("../../services/ports/player-directory.port");
|
|
29
29
|
const metadata_server_keys_1 = require("../metadata-server.keys");
|
|
@@ -62,7 +62,6 @@ let NetEventProcessor = class NetEventProcessor {
|
|
|
62
62
|
event: metadata.eventName,
|
|
63
63
|
clientId: clientId,
|
|
64
64
|
});
|
|
65
|
-
player.emit('core:auth:required', { event: metadata.eventName });
|
|
66
65
|
return;
|
|
67
66
|
}
|
|
68
67
|
let validatedArgs = args;
|
|
@@ -71,7 +70,7 @@ let NetEventProcessor = class NetEventProcessor {
|
|
|
71
70
|
schema = (_a = metadata.schema) !== null && _a !== void 0 ? _a : (0, schema_generator_1.generateSchemaFromTypes)(metadata.paramTypes);
|
|
72
71
|
}
|
|
73
72
|
catch (error) {
|
|
74
|
-
if (error instanceof
|
|
73
|
+
if (error instanceof __1.AppError) {
|
|
75
74
|
logger_1.loggers.netEvent.fatal(error.message, { playerId: clientId }, error);
|
|
76
75
|
return;
|
|
77
76
|
}
|
|
@@ -83,11 +82,12 @@ let NetEventProcessor = class NetEventProcessor {
|
|
|
83
82
|
}
|
|
84
83
|
try {
|
|
85
84
|
if (schema instanceof zod_1.default.ZodTuple) {
|
|
86
|
-
|
|
85
|
+
const processedArgs = (0, process_tuple_schema_1.processTupleSchema)(schema, args);
|
|
86
|
+
validatedArgs = schema.parse(processedArgs);
|
|
87
87
|
}
|
|
88
88
|
else {
|
|
89
89
|
if (args.length !== 1) {
|
|
90
|
-
throw new
|
|
90
|
+
throw new __1.SecurityError('LOG', `Invalid argument count in ${metadata.eventName}`, {
|
|
91
91
|
expected: 1,
|
|
92
92
|
received: args.length,
|
|
93
93
|
});
|
|
@@ -107,7 +107,7 @@ let NetEventProcessor = class NetEventProcessor {
|
|
|
107
107
|
});
|
|
108
108
|
return;
|
|
109
109
|
}
|
|
110
|
-
if (error instanceof
|
|
110
|
+
if (error instanceof __1.SecurityError) {
|
|
111
111
|
await this.handleInvalidPayload({
|
|
112
112
|
player,
|
|
113
113
|
event: metadata.eventName,
|
|
@@ -128,7 +128,7 @@ let NetEventProcessor = class NetEventProcessor {
|
|
|
128
128
|
await handler(player, ...validatedArgs);
|
|
129
129
|
}
|
|
130
130
|
catch (error) {
|
|
131
|
-
if (error instanceof
|
|
131
|
+
if (error instanceof __1.SecurityError) {
|
|
132
132
|
await this.handleInvalidPayload({
|
|
133
133
|
player,
|
|
134
134
|
event: metadata.eventName,
|
|
@@ -186,7 +186,7 @@ let NetEventProcessor = class NetEventProcessor {
|
|
|
186
186
|
return;
|
|
187
187
|
}
|
|
188
188
|
if (params.zodError) {
|
|
189
|
-
const violation = new
|
|
189
|
+
const violation = new __1.SecurityError('LOG', `Invalid data received in ${params.event}`, {
|
|
190
190
|
issues: zodSummary !== null && zodSummary !== void 0 ? zodSummary : params.zodError.message,
|
|
191
191
|
});
|
|
192
192
|
await this.safeHandleViolation(params.player, violation, params.event);
|
|
@@ -230,6 +230,7 @@ let NetEventProcessor = class NetEventProcessor {
|
|
|
230
230
|
exports.NetEventProcessor = NetEventProcessor;
|
|
231
231
|
exports.NetEventProcessor = NetEventProcessor = __decorate([
|
|
232
232
|
(0, tsyringe_1.injectable)(),
|
|
233
|
+
__param(0, (0, tsyringe_1.inject)(player_directory_port_1.PlayerDirectoryPort)),
|
|
233
234
|
__param(1, (0, tsyringe_1.inject)(security_handler_contract_1.SecurityHandlerContract)),
|
|
234
235
|
__param(2, (0, tsyringe_1.inject)(net_event_security_observer_contract_1.NetEventSecurityObserverContract)),
|
|
235
236
|
__param(3, (0, tsyringe_1.inject)(INetTransport_1.INetTransport)),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IEngineEvents } from '../../../../adapters/contracts/IEngineEvents';
|
|
2
2
|
import { type DecoratorProcessor } from '../../../../kernel/di/index';
|
|
3
|
-
export declare class
|
|
3
|
+
export declare class RuntimeEventProcessor implements DecoratorProcessor {
|
|
4
4
|
private readonly engineEvents;
|
|
5
5
|
readonly metadataKey: string;
|
|
6
6
|
constructor(engineEvents: IEngineEvents);
|