@open-core/framework 1.0.5-beta.2 → 1.0.5
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/IEngineEvents.d.ts +3 -3
- package/dist/adapters/contracts/IExports.d.ts +2 -2
- package/dist/adapters/contracts/client/IClientLocalPlayerBridge.d.ts +21 -0
- package/dist/adapters/contracts/client/IClientLocalPlayerBridge.js +6 -0
- package/dist/adapters/contracts/client/IClientRuntimeBridge.d.ts +5 -5
- package/dist/adapters/contracts/client/camera/IClientCameraPort.d.ts +107 -0
- package/dist/adapters/contracts/client/camera/IClientCameraPort.js +8 -0
- package/dist/adapters/contracts/client/camera/index.d.ts +1 -0
- package/dist/adapters/contracts/client/camera/index.js +1 -0
- package/dist/adapters/contracts/client/index.d.ts +4 -0
- package/dist/adapters/contracts/client/index.js +4 -0
- package/dist/adapters/contracts/client/ped/IClientPedPort.d.ts +62 -0
- package/dist/adapters/contracts/client/ped/IClientPedPort.js +5 -0
- package/dist/adapters/contracts/client/ped/index.d.ts +1 -0
- package/dist/adapters/contracts/client/ped/index.js +1 -0
- package/dist/adapters/contracts/client/progress/IClientProgressPort.d.ts +53 -0
- package/dist/adapters/contracts/client/progress/IClientProgressPort.js +8 -0
- package/dist/adapters/contracts/client/progress/index.d.ts +1 -0
- package/dist/adapters/contracts/client/progress/index.js +1 -0
- package/dist/adapters/contracts/client/spawn/IClientSpawnBridge.d.ts +5 -6
- package/dist/adapters/contracts/client/spawn/IClientSpawnBridge.js +5 -1
- package/dist/adapters/contracts/client/spawn/IClientSpawnPort.d.ts +19 -0
- package/dist/adapters/contracts/client/spawn/IClientSpawnPort.js +2 -0
- package/dist/adapters/contracts/client/spawn/index.d.ts +2 -0
- package/dist/adapters/contracts/client/spawn/index.js +2 -0
- package/dist/adapters/contracts/client/spawn/types.d.ts +3 -0
- package/dist/adapters/contracts/client/ui/webview/IClientWebViewBridge.d.ts +1 -0
- package/dist/adapters/contracts/client/ui/webview/types.d.ts +2 -0
- package/dist/adapters/contracts/client/vehicle/IClientVehiclePort.d.ts +166 -0
- package/dist/adapters/contracts/client/vehicle/IClientVehiclePort.js +8 -0
- package/dist/adapters/contracts/client/vehicle/index.d.ts +1 -0
- package/dist/adapters/contracts/client/vehicle/index.js +1 -0
- package/dist/adapters/contracts/transport/events.api.d.ts +3 -3
- package/dist/adapters/contracts/transport/rpc.api.d.ts +3 -3
- package/dist/adapters/node/transport/node.events.d.ts +4 -4
- package/dist/adapters/node/transport/node.rpc.d.ts +3 -3
- package/dist/adapters/node/transport/node.rpc.js +1 -1
- package/dist/contracts.d.ts +1 -0
- package/dist/contracts.js +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/kernel/logger/client-log-console.js +8 -8
- package/dist/kernel/logger/index.d.ts +1 -1
- package/dist/kernel/logger/index.js +1 -1
- package/dist/kernel/logger/logger.types.d.ts +1 -0
- package/dist/kernel/logger/logger.types.js +35 -0
- package/dist/kernel/logger/transports/buffered.transport.js +4 -4
- package/dist/kernel/logger/transports/console.transport.js +2 -2
- package/dist/kernel/logger/transports/simple-console.transport.js +2 -2
- package/dist/runtime/client/adapter/index.d.ts +5 -0
- package/dist/runtime/client/adapter/index.js +5 -0
- package/dist/runtime/client/adapter/node-camera-port.d.ts +19 -0
- package/dist/runtime/client/adapter/node-camera-port.js +31 -0
- package/dist/runtime/client/adapter/node-client-adapter.js +15 -1
- package/dist/runtime/client/adapter/node-local-player-bridge.d.ts +3 -0
- package/dist/runtime/client/adapter/node-local-player-bridge.js +9 -0
- package/dist/runtime/client/adapter/node-log-console.js +8 -8
- package/dist/runtime/client/adapter/node-ped-port.d.ts +20 -0
- package/dist/runtime/client/adapter/node-ped-port.js +38 -0
- package/dist/runtime/client/adapter/node-progress-port.d.ts +8 -0
- package/dist/runtime/client/adapter/node-progress-port.js +27 -0
- package/dist/runtime/client/adapter/node-runtime-bridge.d.ts +2 -4
- package/dist/runtime/client/adapter/node-spawn-bridge.d.ts +5 -5
- package/dist/runtime/client/adapter/node-spawn-bridge.js +8 -4
- package/dist/runtime/client/adapter/node-vehicle-port.d.ts +31 -0
- package/dist/runtime/client/adapter/node-vehicle-port.js +73 -0
- package/dist/runtime/client/adapter/node-webview-bridge.d.ts +1 -0
- package/dist/runtime/client/adapter/node-webview-bridge.js +2 -0
- package/dist/runtime/client/controllers/appearance.controller.d.ts +3 -3
- package/dist/runtime/client/controllers/appearance.controller.js +11 -10
- package/dist/runtime/client/controllers/spawner.controller.js +4 -3
- package/dist/runtime/client/services/camera.d.ts +4 -26
- package/dist/runtime/client/services/camera.js +21 -27
- package/dist/runtime/client/services/notification.service.d.ts +3 -3
- package/dist/runtime/client/services/notification.service.js +7 -7
- package/dist/runtime/client/services/ped.service.d.ts +6 -21
- package/dist/runtime/client/services/ped.service.js +31 -78
- package/dist/runtime/client/services/progress.service.d.ts +4 -50
- package/dist/runtime/client/services/progress.service.js +11 -143
- package/dist/runtime/client/services/session-bridge.service.js +3 -2
- package/dist/runtime/client/services/spawn.service.d.ts +3 -5
- package/dist/runtime/client/services/spawn.service.js +12 -17
- package/dist/runtime/client/services/vehicle-client.service.d.ts +3 -3
- package/dist/runtime/client/services/vehicle-client.service.js +43 -143
- package/dist/runtime/client/services/vehicle.service.d.ts +4 -41
- package/dist/runtime/client/services/vehicle.service.js +24 -130
- package/dist/runtime/client/webview-bridge.d.ts +3 -0
- package/dist/runtime/client/webview-bridge.js +6 -0
- package/dist/runtime/client/webview.service.d.ts +1 -0
- package/dist/runtime/client/webview.service.js +5 -0
- package/dist/runtime/server/adapter/node-player-appearance-lifecycle-server.js +3 -2
- package/dist/runtime/server/adapter/node-player-lifecycle-server.js +4 -3
- package/dist/runtime/server/adapter/node-vehicle-lifecycle-server.js +2 -1
- package/dist/runtime/server/apis/chat.api.js +6 -5
- package/dist/runtime/server/apis/npcs.api.js +2 -1
- package/dist/runtime/server/apis/parallel-compute.api.js +1 -0
- package/dist/runtime/server/apis/vehicle-modification.api.js +6 -4
- package/dist/runtime/server/apis/vehicles.api.js +7 -4
- package/dist/runtime/server/bootstrap.js +13 -12
- package/dist/runtime/server/controllers/command-export.controller.js +4 -2
- package/dist/runtime/server/controllers/remote-command-execution.controller.js +2 -1
- package/dist/runtime/server/controllers/vehicle.controller.js +6 -5
- package/dist/runtime/server/decorators/command.d.ts +2 -0
- package/dist/runtime/server/decorators/command.js +3 -1
- package/dist/runtime/server/entities/npc.d.ts +1 -1
- package/dist/runtime/server/entities/player.d.ts +1 -1
- package/dist/runtime/server/entities/player.js +10 -3
- package/dist/runtime/server/helpers/command-validation.helper.js +20 -7
- package/dist/runtime/server/helpers/function-helper.d.ts +1 -0
- package/dist/runtime/server/helpers/function-helper.js +15 -8
- package/dist/runtime/server/implementations/local/channel.local.d.ts +1 -1
- package/dist/runtime/server/implementations/local/channel.local.js +3 -2
- package/dist/runtime/server/ports/channel.api-port.d.ts +1 -1
- package/dist/runtime/server/services/parallel/worker-pool.d.ts +1 -1
- package/dist/runtime/server/services/parallel/worker-pool.js +38 -6
- package/dist/runtime/server/services/parallel/worker.js +1 -0
- package/dist/runtime/server/system/schema-generator.d.ts +1 -1
- package/dist/runtime/server/system/schema-generator.js +6 -3
- package/dist/runtime/shared/helpers/process-tuple-schema.js +3 -0
- package/dist/runtime/shared/types/system-types.d.ts +55 -0
- package/dist/runtime/shared/types/system-types.js +54 -0
- package/package.json +21 -11
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EventContext, RuntimeContext } from './context';
|
|
2
2
|
import { Player } from '../../../runtime/server/entities/player';
|
|
3
|
-
type EmitArgs<C extends RuntimeContext> = C extends 'server' ? [target: Player | number | number[] | 'all', ...args:
|
|
3
|
+
type EmitArgs<C extends RuntimeContext> = C extends 'server' ? [target: Player | number | number[] | 'all', ...args: unknown[]] : [...args: unknown[]];
|
|
4
4
|
/**
|
|
5
5
|
* broadcast and listen to events without relying on runtime. The adapter will be used.
|
|
6
6
|
*/
|
|
@@ -13,7 +13,7 @@ export declare abstract class EventsAPI<C extends RuntimeContext> {
|
|
|
13
13
|
* Client:
|
|
14
14
|
* - triggered by server
|
|
15
15
|
*/
|
|
16
|
-
abstract on(event: string, handler: (ctx: EventContext, ...args:
|
|
16
|
+
abstract on<TArgs extends readonly unknown[]>(event: string, handler: (ctx: EventContext, ...args: TArgs) => void | Promise<void>): void;
|
|
17
17
|
/**
|
|
18
18
|
* Emit an event.
|
|
19
19
|
* SERVER → CLIENT
|
|
@@ -22,7 +22,7 @@ export declare abstract class EventsAPI<C extends RuntimeContext> {
|
|
|
22
22
|
* Client:
|
|
23
23
|
* - sends to server, targetOrArg will be ignored
|
|
24
24
|
*/
|
|
25
|
-
abstract emit(event: string, target: Player | number | number[] | 'all', ...args:
|
|
25
|
+
abstract emit(event: string, target: Player | number | number[] | 'all', ...args: unknown[]): void;
|
|
26
26
|
/**
|
|
27
27
|
* Emit an event.
|
|
28
28
|
* CLIENT → SERVER
|
|
@@ -14,8 +14,8 @@ export interface RpcContext extends EventContext {
|
|
|
14
14
|
*/
|
|
15
15
|
export type RpcTarget = number | number[] | 'all';
|
|
16
16
|
export type RpcCallTarget = number | number[];
|
|
17
|
-
type RpcCallArgs<C extends RuntimeContext> = C extends 'server' ? [target: RpcCallTarget, ...args:
|
|
18
|
-
type RpcNotifyArgs<C extends RuntimeContext> = C extends 'server' ? [target: RpcTarget, ...args:
|
|
17
|
+
type RpcCallArgs<C extends RuntimeContext> = C extends 'server' ? [target: RpcCallTarget, ...args: unknown[]] : [...args: unknown[]];
|
|
18
|
+
type RpcNotifyArgs<C extends RuntimeContext> = C extends 'server' ? [target: RpcTarget, ...args: unknown[]] : [...args: unknown[]];
|
|
19
19
|
/**
|
|
20
20
|
* Remote Procedure Call API.
|
|
21
21
|
*
|
|
@@ -47,7 +47,7 @@ export declare abstract class RpcAPI<C extends RuntimeContext> {
|
|
|
47
47
|
* The handler receives a {@link RpcContext}. In server environments this usually includes
|
|
48
48
|
* the `clientId` of the caller (via {@link EventContext}).
|
|
49
49
|
*/
|
|
50
|
-
abstract on<TArgs extends
|
|
50
|
+
abstract on<TArgs extends readonly unknown[], TResult>(name: string, handler: (ctx: RpcContext, ...args: TArgs) => TResult | Promise<TResult>): void;
|
|
51
51
|
/**
|
|
52
52
|
* Call an RPC and wait for the result.
|
|
53
53
|
*
|
|
@@ -3,12 +3,12 @@ import { RuntimeContext } from '../../contracts/transport/context';
|
|
|
3
3
|
type NodeTarget = number | number[] | 'all';
|
|
4
4
|
export declare class NodeEvents extends EventsAPI<RuntimeContext> {
|
|
5
5
|
private readonly emitter;
|
|
6
|
-
on(event: string, handler: (ctx: {
|
|
6
|
+
on<TArgs extends readonly unknown[]>(event: string, handler: (ctx: {
|
|
7
7
|
clientId?: number;
|
|
8
8
|
raw?: unknown;
|
|
9
|
-
}, ...args:
|
|
10
|
-
emit(event: string, targetOrArg?: NodeTarget |
|
|
11
|
-
simulateClientEvent(event: string, clientId: number, ...args:
|
|
9
|
+
}, ...args: TArgs) => unknown): void;
|
|
10
|
+
emit(event: string, targetOrArg?: NodeTarget | unknown, ...args: unknown[]): void;
|
|
11
|
+
simulateClientEvent(event: string, clientId: number, ...args: unknown[]): void;
|
|
12
12
|
clearHandlers(): void;
|
|
13
13
|
}
|
|
14
14
|
export {};
|
|
@@ -4,13 +4,13 @@ export declare class NodeRpc<C extends RuntimeContext = RuntimeContext> extends
|
|
|
4
4
|
private readonly context;
|
|
5
5
|
private readonly handlers;
|
|
6
6
|
constructor(context: C);
|
|
7
|
-
on<TArgs extends
|
|
7
|
+
on<TArgs extends readonly unknown[], TResult>(name: string, handler: (ctx: {
|
|
8
8
|
requestId: string;
|
|
9
9
|
clientId?: number;
|
|
10
10
|
raw?: unknown;
|
|
11
11
|
}, ...args: TArgs) => TResult | Promise<TResult>): void;
|
|
12
|
-
call<TResult = unknown>(name: string, ...args:
|
|
13
|
-
notify(name: string, ...args:
|
|
12
|
+
call<TResult = unknown>(name: string, ...args: unknown[]): Promise<TResult>;
|
|
13
|
+
notify(name: string, ...args: unknown[]): Promise<void>;
|
|
14
14
|
private normalizeInvocation;
|
|
15
15
|
private isValidTarget;
|
|
16
16
|
private executeCall;
|
|
@@ -8,7 +8,7 @@ export class NodeRpc extends RpcAPI {
|
|
|
8
8
|
this.context = context;
|
|
9
9
|
}
|
|
10
10
|
on(name, handler) {
|
|
11
|
-
this.handlers.set(name, handler);
|
|
11
|
+
this.handlers.set(name, (ctx, ...args) => handler(ctx, ...args));
|
|
12
12
|
}
|
|
13
13
|
call(name, ...args) {
|
|
14
14
|
const { target, payload } = this.normalizeInvocation(name, 'call', args);
|
package/dist/contracts.d.ts
CHANGED
package/dist/contracts.js
CHANGED
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -9,26 +9,26 @@ class DefaultClientLogConsole extends IClientLogConsole {
|
|
|
9
9
|
return DEFAULT_CLIENT_LOG_CONSOLE_CAPABILITIES;
|
|
10
10
|
}
|
|
11
11
|
trace(message, details) {
|
|
12
|
-
this.write(
|
|
12
|
+
this.write('debug', message, details);
|
|
13
13
|
}
|
|
14
14
|
debug(message, details) {
|
|
15
|
-
this.write(
|
|
15
|
+
this.write('debug', message, details);
|
|
16
16
|
}
|
|
17
17
|
info(message, details) {
|
|
18
|
-
this.write(
|
|
18
|
+
this.write('info', message, details);
|
|
19
19
|
}
|
|
20
20
|
warn(message, details) {
|
|
21
|
-
this.write(
|
|
21
|
+
this.write('warn', message, details);
|
|
22
22
|
}
|
|
23
23
|
error(message, details) {
|
|
24
|
-
this.write(
|
|
24
|
+
this.write('error', message, details);
|
|
25
25
|
}
|
|
26
|
-
write(
|
|
26
|
+
write(level, message, details) {
|
|
27
27
|
if (details === undefined) {
|
|
28
|
-
|
|
28
|
+
console[level](message);
|
|
29
29
|
return;
|
|
30
30
|
}
|
|
31
|
-
|
|
31
|
+
console[level](message, details);
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
let activeClientLogConsole = new DefaultClientLogConsole();
|
|
@@ -6,7 +6,7 @@ export { getLogLevel, isClientEnvironment, isDebugMode, isFiveMEnvironment, isSe
|
|
|
6
6
|
export { ChildLogger, LoggerService } from './logger.service';
|
|
7
7
|
export type { ClientLogConsoleCapabilities } from '../../adapters/contracts/client/IClientLogConsole';
|
|
8
8
|
export type { LogContext, LogEntry } from './logger.types';
|
|
9
|
-
export { LogDomain, LogDomainLabels, LogLevel, LogLevelLabels, parseLogLevel } from './logger.types';
|
|
9
|
+
export { getLogDomainLabel, LogDomain, LogDomainLabels, LogLevel, LogLevelLabels, parseLogLevel, } from './logger.types';
|
|
10
10
|
export type { BufferedTransportOptions, LogOutputFormat } from './transports/buffered.transport';
|
|
11
11
|
export { BufferedTransport } from './transports/buffered.transport';
|
|
12
12
|
export type { ConsoleTransportOptions } from './transports/console.transport';
|
|
@@ -7,7 +7,7 @@ export { createLoggerConfig, DEFAULT_LOGGER_CONFIG } from './logger.config';
|
|
|
7
7
|
export { getLogLevel, isClientEnvironment, isDebugMode, isFiveMEnvironment, isServerEnvironment, } from './logger.env';
|
|
8
8
|
// Service
|
|
9
9
|
export { ChildLogger, LoggerService } from './logger.service';
|
|
10
|
-
export { LogDomain, LogDomainLabels, LogLevel, LogLevelLabels, parseLogLevel } from './logger.types';
|
|
10
|
+
export { getLogDomainLabel, LogDomain, LogDomainLabels, LogLevel, LogLevelLabels, parseLogLevel, } from './logger.types';
|
|
11
11
|
export { BufferedTransport } from './transports/buffered.transport';
|
|
12
12
|
export { ConsoleTransport } from './transports/console.transport';
|
|
13
13
|
export { SimpleConsoleTransport } from './transports/simple-console.transport';
|
|
@@ -45,6 +45,7 @@ export declare enum LogDomain {
|
|
|
45
45
|
* Human-readable labels for each log domain.
|
|
46
46
|
*/
|
|
47
47
|
export declare const LogDomainLabels: Record<LogDomain, string>;
|
|
48
|
+
export declare function getLogDomainLabel(domain: LogDomain): string;
|
|
48
49
|
/**
|
|
49
50
|
* Additional contextual information that can be attached to any log entry.
|
|
50
51
|
* Useful for tracing, debugging, and correlation.
|
|
@@ -60,6 +60,41 @@ export const LogDomainLabels = {
|
|
|
60
60
|
[LogDomain.CLIENT]: 'CLIENT',
|
|
61
61
|
[LogDomain.EXTERNAL]: 'EXTERNAL',
|
|
62
62
|
};
|
|
63
|
+
function normalizeResourceName(resourceName) {
|
|
64
|
+
return resourceName.trim().replace(/^\[(.*)\]$/, '$1');
|
|
65
|
+
}
|
|
66
|
+
function getInjectedResourceName() {
|
|
67
|
+
if (typeof __OPENCORE_RESOURCE_NAME__ === 'string' &&
|
|
68
|
+
normalizeResourceName(__OPENCORE_RESOURCE_NAME__).length > 0) {
|
|
69
|
+
return normalizeResourceName(__OPENCORE_RESOURCE_NAME__);
|
|
70
|
+
}
|
|
71
|
+
const fn = globalThis.GetCurrentResourceName;
|
|
72
|
+
if (typeof fn === 'function') {
|
|
73
|
+
try {
|
|
74
|
+
const value = fn();
|
|
75
|
+
if (typeof value === 'string' && normalizeResourceName(value).length > 0) {
|
|
76
|
+
return normalizeResourceName(value);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
// Ignore runtime lookup failures and fall back to default labels.
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return undefined;
|
|
84
|
+
}
|
|
85
|
+
export function getLogDomainLabel(domain) {
|
|
86
|
+
if (domain !== LogDomain.FRAMEWORK) {
|
|
87
|
+
return LogDomainLabels[domain];
|
|
88
|
+
}
|
|
89
|
+
const resourceName = getInjectedResourceName();
|
|
90
|
+
if (!resourceName) {
|
|
91
|
+
return LogDomainLabels[domain];
|
|
92
|
+
}
|
|
93
|
+
if (resourceName.toLowerCase() === 'core') {
|
|
94
|
+
return 'CORE';
|
|
95
|
+
}
|
|
96
|
+
return resourceName.toUpperCase();
|
|
97
|
+
}
|
|
63
98
|
/**
|
|
64
99
|
* Configuration for parsing log level from string (useful for env vars).
|
|
65
100
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getLogDomainLabel, LogLevel, LogLevelLabels } from '../logger.types';
|
|
2
2
|
/**
|
|
3
3
|
* A transport that buffers log entries in memory for later export.
|
|
4
4
|
*
|
|
@@ -95,7 +95,7 @@ export class BufferedTransport {
|
|
|
95
95
|
const entries = this.buffer.map((entry) => ({
|
|
96
96
|
timestamp: entry.timestamp,
|
|
97
97
|
level: LogLevelLabels[entry.level],
|
|
98
|
-
domain:
|
|
98
|
+
domain: getLogDomainLabel(entry.domain),
|
|
99
99
|
source: entry.context?.source,
|
|
100
100
|
message: entry.message,
|
|
101
101
|
context: this.cleanContext(entry.context),
|
|
@@ -114,7 +114,7 @@ export class BufferedTransport {
|
|
|
114
114
|
.map((entry) => {
|
|
115
115
|
const time = entry.timestamp.replace('T', ' ').slice(0, 23);
|
|
116
116
|
const level = LogLevelLabels[entry.level].padEnd(5);
|
|
117
|
-
const domain =
|
|
117
|
+
const domain = getLogDomainLabel(entry.domain).padEnd(8);
|
|
118
118
|
const source = entry.context?.source ? `[${entry.context.source}]` : '';
|
|
119
119
|
let line = `${time} | ${domain} | ${level} | ${source} ${entry.message}`;
|
|
120
120
|
const ctx = this.cleanContext(entry.context);
|
|
@@ -133,7 +133,7 @@ export class BufferedTransport {
|
|
|
133
133
|
const rows = this.buffer.map((entry) => [
|
|
134
134
|
entry.timestamp,
|
|
135
135
|
LogLevelLabels[entry.level],
|
|
136
|
-
|
|
136
|
+
getLogDomainLabel(entry.domain),
|
|
137
137
|
entry.context?.source ?? '',
|
|
138
138
|
`"${entry.message.replace(/"/g, '""')}"`,
|
|
139
139
|
JSON.stringify(this.cleanContext(entry.context)),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getLogDomainLabel, LogDomain, LogLevel, LogLevelLabels, } from '../logger.types';
|
|
2
2
|
/**
|
|
3
3
|
* Color codes for console output.
|
|
4
4
|
* Uses ANSI escape codes compatible with most terminals.
|
|
@@ -63,7 +63,7 @@ export class ConsoleTransport {
|
|
|
63
63
|
write(entry) {
|
|
64
64
|
const { level, domain, message, timestamp, context, error } = entry;
|
|
65
65
|
const levelLabel = LogLevelLabels[level].padEnd(5);
|
|
66
|
-
const domainLabel =
|
|
66
|
+
const domainLabel = getLogDomainLabel(domain);
|
|
67
67
|
const levelColor = this.colors ? LEVEL_COLORS[level] : '';
|
|
68
68
|
const domainColor = this.colors ? DOMAIN_COLORS[domain] : '';
|
|
69
69
|
const reset = this.colors ? COLORS.reset : '';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getLogDomainLabel, LogLevel, LogLevelLabels } from '../logger.types';
|
|
2
2
|
import { getClientLogConsole } from '../client-log-console';
|
|
3
3
|
/**
|
|
4
4
|
* Simple console transport without ANSI color codes.
|
|
@@ -29,7 +29,7 @@ export class SimpleConsoleTransport {
|
|
|
29
29
|
const output = getClientLogConsole();
|
|
30
30
|
const capabilities = output.getCapabilities();
|
|
31
31
|
const levelLabel = LogLevelLabels[level].padEnd(5);
|
|
32
|
-
const domainLabel =
|
|
32
|
+
const domainLabel = getLogDomainLabel(domain);
|
|
33
33
|
// Build the log line without ANSI codes
|
|
34
34
|
const parts = [];
|
|
35
35
|
if (this.timestamps) {
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
export * from './client-adapter';
|
|
2
|
+
export * from '../../../adapters/contracts/client/camera/IClientCameraPort';
|
|
2
3
|
export * from '../../../adapters/contracts/client/IClientLogConsole';
|
|
4
|
+
export * from '../../../adapters/contracts/client/ped/IClientPedPort';
|
|
5
|
+
export * from '../../../adapters/contracts/client/progress/IClientProgressPort';
|
|
6
|
+
export * from '../../../adapters/contracts/client/spawn/IClientSpawnPort';
|
|
3
7
|
export * from '../../../adapters/contracts/client/spawn/IClientSpawnBridge';
|
|
8
|
+
export * from '../../../adapters/contracts/client/vehicle/IClientVehiclePort';
|
|
4
9
|
export * from '../../../adapters/contracts/client/ui/IClientBlipBridge';
|
|
5
10
|
export * from '../../../adapters/contracts/client/ui/IClientMarkerBridge';
|
|
6
11
|
export * from '../../../adapters/contracts/client/ui/IClientNotificationBridge';
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
export * from './client-adapter';
|
|
2
|
+
export * from '../../../adapters/contracts/client/camera/IClientCameraPort';
|
|
2
3
|
export * from '../../../adapters/contracts/client/IClientLogConsole';
|
|
4
|
+
export * from '../../../adapters/contracts/client/ped/IClientPedPort';
|
|
5
|
+
export * from '../../../adapters/contracts/client/progress/IClientProgressPort';
|
|
6
|
+
export * from '../../../adapters/contracts/client/spawn/IClientSpawnPort';
|
|
3
7
|
export * from '../../../adapters/contracts/client/spawn/IClientSpawnBridge';
|
|
8
|
+
export * from '../../../adapters/contracts/client/vehicle/IClientVehiclePort';
|
|
4
9
|
export * from '../../../adapters/contracts/client/ui/IClientBlipBridge';
|
|
5
10
|
export * from '../../../adapters/contracts/client/ui/IClientMarkerBridge';
|
|
6
11
|
export * from '../../../adapters/contracts/client/ui/IClientNotificationBridge';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type ClientCameraCreateOptions, type ClientCameraRotation, type ClientCameraRenderOptions, type ClientCameraShakeOptions, type ClientCameraTransform, IClientCameraPort } from '../../../adapters/contracts/client/camera/IClientCameraPort';
|
|
2
|
+
import type { Vector3 } from '../../../kernel/utils/vector3';
|
|
3
|
+
export declare class NodeClientCameraPort extends IClientCameraPort {
|
|
4
|
+
create(_options?: ClientCameraCreateOptions): number;
|
|
5
|
+
setActive(_camera: number, _active: boolean): void;
|
|
6
|
+
render(_enable: boolean, _options?: ClientCameraRenderOptions): void;
|
|
7
|
+
destroy(_camera: number, _destroyActiveCamera?: boolean): void;
|
|
8
|
+
destroyAll(_destroyActiveCamera?: boolean): void;
|
|
9
|
+
setTransform(_camera: number, _transform: ClientCameraTransform): void;
|
|
10
|
+
setPosition(_camera: number, _position: Vector3): void;
|
|
11
|
+
setRotation(_camera: number, _rotation: ClientCameraRotation, _rotationOrder?: number): void;
|
|
12
|
+
setFov(_camera: number, _fov: number): void;
|
|
13
|
+
pointAtCoords(_camera: number, _position: Vector3): void;
|
|
14
|
+
pointAtEntity(_camera: number, _entity: number, _offset?: Vector3): void;
|
|
15
|
+
stopPointing(_camera: number): void;
|
|
16
|
+
interpolate(_fromCamera: number, _toCamera: number, _durationMs: number, _easeLocation?: boolean, _easeRotation?: boolean): void;
|
|
17
|
+
shake(_camera: number, _options: ClientCameraShakeOptions): void;
|
|
18
|
+
stopShaking(_camera: number, _stopImmediately?: boolean): void;
|
|
19
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { injectable } from 'tsyringe';
|
|
8
|
+
import { IClientCameraPort, } from '../../../adapters/contracts/client/camera/IClientCameraPort';
|
|
9
|
+
let NodeClientCameraPort = class NodeClientCameraPort extends IClientCameraPort {
|
|
10
|
+
create(_options) {
|
|
11
|
+
return 0;
|
|
12
|
+
}
|
|
13
|
+
setActive(_camera, _active) { }
|
|
14
|
+
render(_enable, _options) { }
|
|
15
|
+
destroy(_camera, _destroyActiveCamera) { }
|
|
16
|
+
destroyAll(_destroyActiveCamera) { }
|
|
17
|
+
setTransform(_camera, _transform) { }
|
|
18
|
+
setPosition(_camera, _position) { }
|
|
19
|
+
setRotation(_camera, _rotation, _rotationOrder) { }
|
|
20
|
+
setFov(_camera, _fov) { }
|
|
21
|
+
pointAtCoords(_camera, _position) { }
|
|
22
|
+
pointAtEntity(_camera, _entity, _offset) { }
|
|
23
|
+
stopPointing(_camera) { }
|
|
24
|
+
interpolate(_fromCamera, _toCamera, _durationMs, _easeLocation, _easeRotation) { }
|
|
25
|
+
shake(_camera, _options) { }
|
|
26
|
+
stopShaking(_camera, _stopImmediately) { }
|
|
27
|
+
};
|
|
28
|
+
NodeClientCameraPort = __decorate([
|
|
29
|
+
injectable()
|
|
30
|
+
], NodeClientCameraPort);
|
|
31
|
+
export { NodeClientCameraPort };
|
|
@@ -5,20 +5,29 @@ import { NodeClientLocalPlayerBridge } from './node-local-player-bridge';
|
|
|
5
5
|
import { NodeClientNotificationBridge } from './node-notification-bridge';
|
|
6
6
|
import { IClientLogConsole } from '../../../adapters/contracts/client/IClientLogConsole';
|
|
7
7
|
import { IClientSpawnBridge } from '../../../adapters/contracts/client/spawn/IClientSpawnBridge';
|
|
8
|
+
import { IClientSpawnPort } from '../../../adapters/contracts/client/spawn/IClientSpawnPort';
|
|
8
9
|
import { IClientBlipBridge } from '../../../adapters/contracts/client/ui/IClientBlipBridge';
|
|
9
10
|
import { IClientMarkerBridge } from '../../../adapters/contracts/client/ui/IClientMarkerBridge';
|
|
10
11
|
import { IClientNotificationBridge } from '../../../adapters/contracts/client/ui/IClientNotificationBridge';
|
|
11
12
|
import { IClientWebViewBridge } from '../../../adapters/contracts/client/ui/webview/IClientWebViewBridge';
|
|
12
13
|
import { installNodeClientLogConsole, NodeClientLogConsole } from './node-log-console';
|
|
13
14
|
import { NodeClientBlipBridge } from './node-blip-bridge';
|
|
15
|
+
import { NodeClientCameraPort } from './node-camera-port';
|
|
14
16
|
import { NodeClientMarkerBridge } from './node-marker-bridge';
|
|
17
|
+
import { NodeClientPedPort } from './node-ped-port';
|
|
15
18
|
import { NodeClientPlatformBridge } from './node-platform-bridge';
|
|
19
|
+
import { NodeClientProgressPort } from './node-progress-port';
|
|
16
20
|
import { NodeClientSpawnBridge } from './node-spawn-bridge';
|
|
21
|
+
import { NodeClientVehiclePort } from './node-vehicle-port';
|
|
17
22
|
import { NodeClientWebViewBridge } from './node-webview-bridge';
|
|
18
23
|
import { IClientPlatformBridge } from './platform-bridge';
|
|
19
24
|
import { NodeClientRuntimeBridge } from './node-runtime-bridge';
|
|
20
25
|
import { defineClientAdapter } from './client-adapter';
|
|
21
26
|
import { IClientRuntimeBridge } from './runtime-bridge';
|
|
27
|
+
import { IClientCameraPort } from '../../../adapters/contracts/client/camera/IClientCameraPort';
|
|
28
|
+
import { IClientPedPort } from '../../../adapters/contracts/client/ped/IClientPedPort';
|
|
29
|
+
import { IClientProgressPort } from '../../../adapters/contracts/client/progress/IClientProgressPort';
|
|
30
|
+
import { IClientVehiclePort } from '../../../adapters/contracts/client/vehicle/IClientVehiclePort';
|
|
22
31
|
/**
|
|
23
32
|
* Default client adapter used when no runtime adapter is provided.
|
|
24
33
|
*/
|
|
@@ -38,7 +47,12 @@ export function createNodeClientAdapter() {
|
|
|
38
47
|
ctx.bindSingleton(IClientRuntimeBridge, NodeClientRuntimeBridge);
|
|
39
48
|
ctx.bindSingleton(IClientLocalPlayerBridge, NodeClientLocalPlayerBridge);
|
|
40
49
|
ctx.bindSingleton(IClientPlatformBridge, NodeClientPlatformBridge);
|
|
41
|
-
ctx.bindSingleton(
|
|
50
|
+
ctx.bindSingleton(IClientCameraPort, NodeClientCameraPort);
|
|
51
|
+
ctx.bindSingleton(IClientVehiclePort, NodeClientVehiclePort);
|
|
52
|
+
ctx.bindSingleton(IClientPedPort, NodeClientPedPort);
|
|
53
|
+
ctx.bindSingleton(IClientProgressPort, NodeClientProgressPort);
|
|
54
|
+
ctx.bindSingleton(IClientSpawnPort, NodeClientSpawnBridge);
|
|
55
|
+
ctx.bindFactory(IClientSpawnBridge, () => ctx.container.resolve(IClientSpawnPort));
|
|
42
56
|
ctx.bindSingleton(IClientBlipBridge, NodeClientBlipBridge);
|
|
43
57
|
ctx.bindSingleton(IClientMarkerBridge, NodeClientMarkerBridge);
|
|
44
58
|
ctx.bindSingleton(IClientNotificationBridge, NodeClientNotificationBridge);
|
|
@@ -4,5 +4,8 @@ import { IClientLocalPlayerBridge } from './local-player-bridge';
|
|
|
4
4
|
* Node fallback local player bridge.
|
|
5
5
|
*/
|
|
6
6
|
export declare class NodeClientLocalPlayerBridge extends IClientLocalPlayerBridge {
|
|
7
|
+
getHandle(): number;
|
|
8
|
+
getPosition(): Vector3;
|
|
9
|
+
getHeading(): number;
|
|
7
10
|
setPosition(_position: Vector3, _heading?: number): void;
|
|
8
11
|
}
|
|
@@ -10,6 +10,15 @@ import { IClientLocalPlayerBridge } from './local-player-bridge';
|
|
|
10
10
|
* Node fallback local player bridge.
|
|
11
11
|
*/
|
|
12
12
|
let NodeClientLocalPlayerBridge = class NodeClientLocalPlayerBridge extends IClientLocalPlayerBridge {
|
|
13
|
+
getHandle() {
|
|
14
|
+
return 0;
|
|
15
|
+
}
|
|
16
|
+
getPosition() {
|
|
17
|
+
return { x: 0, y: 0, z: 0 };
|
|
18
|
+
}
|
|
19
|
+
getHeading() {
|
|
20
|
+
return 0;
|
|
21
|
+
}
|
|
13
22
|
setPosition(_position, _heading) { }
|
|
14
23
|
};
|
|
15
24
|
NodeClientLocalPlayerBridge = __decorate([
|
|
@@ -17,26 +17,26 @@ let NodeClientLogConsole = class NodeClientLogConsole extends IClientLogConsole
|
|
|
17
17
|
return NODE_CLIENT_LOG_CAPABILITIES;
|
|
18
18
|
}
|
|
19
19
|
trace(message, details) {
|
|
20
|
-
this.write(
|
|
20
|
+
this.write('debug', message, details);
|
|
21
21
|
}
|
|
22
22
|
debug(message, details) {
|
|
23
|
-
this.write(
|
|
23
|
+
this.write('debug', message, details);
|
|
24
24
|
}
|
|
25
25
|
info(message, details) {
|
|
26
|
-
this.write(
|
|
26
|
+
this.write('info', message, details);
|
|
27
27
|
}
|
|
28
28
|
warn(message, details) {
|
|
29
|
-
this.write(
|
|
29
|
+
this.write('warn', message, details);
|
|
30
30
|
}
|
|
31
31
|
error(message, details) {
|
|
32
|
-
this.write(
|
|
32
|
+
this.write('error', message, details);
|
|
33
33
|
}
|
|
34
|
-
write(
|
|
34
|
+
write(level, message, details) {
|
|
35
35
|
if (details === undefined) {
|
|
36
|
-
|
|
36
|
+
console[level](message);
|
|
37
37
|
return;
|
|
38
38
|
}
|
|
39
|
-
|
|
39
|
+
console[level](message, details);
|
|
40
40
|
}
|
|
41
41
|
};
|
|
42
42
|
NodeClientLogConsole = __decorate([
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type ClientPedAnimationOptions, type ClientPedSpawnOptions, IClientPedPort } from '../../../adapters/contracts/client/ped/IClientPedPort';
|
|
2
|
+
import type { Vector3 } from '../../../kernel/utils/vector3';
|
|
3
|
+
export declare class NodeClientPedPort extends IClientPedPort {
|
|
4
|
+
spawn(_options: ClientPedSpawnOptions): Promise<number>;
|
|
5
|
+
delete(_handle: number): void;
|
|
6
|
+
exists(_handle: number): boolean;
|
|
7
|
+
playAnimation(_handle: number, _options: ClientPedAnimationOptions): Promise<void>;
|
|
8
|
+
stopAnimation(_handle: number): void;
|
|
9
|
+
stopAnimationImmediately(_handle: number): void;
|
|
10
|
+
freeze(_handle: number, _freeze: boolean): void;
|
|
11
|
+
setInvincible(_handle: number, _invincible: boolean): void;
|
|
12
|
+
giveWeapon(_handle: number, _weapon: string, _ammo?: number, _hidden?: boolean, _forceInHand?: boolean): void;
|
|
13
|
+
removeAllWeapons(_handle: number): void;
|
|
14
|
+
getClosest(_radius?: number, _excludeLocalPlayer?: boolean): number | null;
|
|
15
|
+
getNearby(_position: Vector3, _radius: number, _excludeEntity?: number): number[];
|
|
16
|
+
lookAtEntity(_handle: number, _entity: number, _duration?: number): void;
|
|
17
|
+
lookAtCoords(_handle: number, _position: Vector3, _duration?: number): void;
|
|
18
|
+
walkTo(_handle: number, _position: Vector3, _speed?: number): void;
|
|
19
|
+
setCombatAttributes(_handle: number, _canFight: boolean, _canUseCover?: boolean): void;
|
|
20
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { injectable } from 'tsyringe';
|
|
8
|
+
import { IClientPedPort, } from '../../../adapters/contracts/client/ped/IClientPedPort';
|
|
9
|
+
let NodeClientPedPort = class NodeClientPedPort extends IClientPedPort {
|
|
10
|
+
async spawn(_options) {
|
|
11
|
+
return 0;
|
|
12
|
+
}
|
|
13
|
+
delete(_handle) { }
|
|
14
|
+
exists(_handle) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
async playAnimation(_handle, _options) { }
|
|
18
|
+
stopAnimation(_handle) { }
|
|
19
|
+
stopAnimationImmediately(_handle) { }
|
|
20
|
+
freeze(_handle, _freeze) { }
|
|
21
|
+
setInvincible(_handle, _invincible) { }
|
|
22
|
+
giveWeapon(_handle, _weapon, _ammo = 100, _hidden = false, _forceInHand = true) { }
|
|
23
|
+
removeAllWeapons(_handle) { }
|
|
24
|
+
getClosest(_radius = 10, _excludeLocalPlayer = true) {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
getNearby(_position, _radius, _excludeEntity) {
|
|
28
|
+
return [];
|
|
29
|
+
}
|
|
30
|
+
lookAtEntity(_handle, _entity, _duration = -1) { }
|
|
31
|
+
lookAtCoords(_handle, _position, _duration = -1) { }
|
|
32
|
+
walkTo(_handle, _position, _speed = 1) { }
|
|
33
|
+
setCombatAttributes(_handle, _canFight, _canUseCover = true) { }
|
|
34
|
+
};
|
|
35
|
+
NodeClientPedPort = __decorate([
|
|
36
|
+
injectable()
|
|
37
|
+
], NodeClientPedPort);
|
|
38
|
+
export { NodeClientPedPort };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type ClientProgressOptions, type ClientProgressState, IClientProgressPort } from '../../../adapters/contracts/client/progress/IClientProgressPort';
|
|
2
|
+
export declare class NodeClientProgressPort extends IClientProgressPort {
|
|
3
|
+
start(_options: ClientProgressOptions): Promise<boolean>;
|
|
4
|
+
cancel(): void;
|
|
5
|
+
isActive(): boolean;
|
|
6
|
+
getProgress(): number;
|
|
7
|
+
getState(): ClientProgressState | null;
|
|
8
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { injectable } from 'tsyringe';
|
|
8
|
+
import { IClientProgressPort, } from '../../../adapters/contracts/client/progress/IClientProgressPort';
|
|
9
|
+
let NodeClientProgressPort = class NodeClientProgressPort extends IClientProgressPort {
|
|
10
|
+
start(_options) {
|
|
11
|
+
return Promise.resolve(true);
|
|
12
|
+
}
|
|
13
|
+
cancel() { }
|
|
14
|
+
isActive() {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
getProgress() {
|
|
18
|
+
return 0;
|
|
19
|
+
}
|
|
20
|
+
getState() {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
NodeClientProgressPort = __decorate([
|
|
25
|
+
injectable()
|
|
26
|
+
], NodeClientProgressPort);
|
|
27
|
+
export { NodeClientProgressPort };
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { IClientRuntimeBridge } from './runtime-bridge';
|
|
2
|
-
type RuntimeHandler = (...args: readonly unknown[]) => void | Promise<void>;
|
|
3
2
|
type WebViewCallback = (data: unknown, cb: (response: unknown) => void) => void | Promise<void>;
|
|
4
|
-
type RuntimeExport = (...args: readonly unknown[]) => unknown;
|
|
5
3
|
/**
|
|
6
4
|
* Node fallback runtime bridge used in tests and standalone execution.
|
|
7
5
|
*/
|
|
@@ -9,7 +7,7 @@ export declare class NodeClientRuntimeBridge extends IClientRuntimeBridge {
|
|
|
9
7
|
private readonly events;
|
|
10
8
|
private readonly tickHandles;
|
|
11
9
|
getCurrentResourceName(): string;
|
|
12
|
-
on(eventName: string, handler:
|
|
10
|
+
on<TArgs extends readonly unknown[]>(eventName: string, handler: (...args: TArgs) => void | Promise<void>): void;
|
|
13
11
|
registerCommand(_commandName: string, _handler: (...args: readonly unknown[]) => void, _restricted: boolean): void;
|
|
14
12
|
registerKeyMapping(_commandName: string, _description: string, _inputMapper: string, _key: string): void;
|
|
15
13
|
setTick(handler: () => void | Promise<void>): unknown;
|
|
@@ -19,6 +17,6 @@ export declare class NodeClientRuntimeBridge extends IClientRuntimeBridge {
|
|
|
19
17
|
sendNuiMessage(_message: string): void;
|
|
20
18
|
setNuiFocus(_hasFocus: boolean, _hasCursor: boolean): void;
|
|
21
19
|
setNuiFocusKeepInput(_keepInput: boolean): void;
|
|
22
|
-
registerExport(exportName: string, handler:
|
|
20
|
+
registerExport<TArgs extends readonly unknown[], TResult = unknown>(exportName: string, handler: (...args: TArgs) => TResult): void;
|
|
23
21
|
}
|
|
24
22
|
export {};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { RespawnRequest, SpawnRequest, TeleportRequest } from '../../../adapters/contracts/client/spawn/types';
|
|
3
|
-
export declare class NodeClientSpawnBridge extends
|
|
1
|
+
import { IClientSpawnPort } from '../../../adapters/contracts/client/spawn/IClientSpawnPort';
|
|
2
|
+
import type { RespawnRequest, SpawnExecutionResult, SpawnRequest, TeleportRequest } from '../../../adapters/contracts/client/spawn/types';
|
|
3
|
+
export declare class NodeClientSpawnBridge extends IClientSpawnPort {
|
|
4
4
|
waitUntilReady(_timeoutMs?: number): Promise<void>;
|
|
5
|
-
spawn(_request: SpawnRequest): Promise<
|
|
6
|
-
respawn(_request: RespawnRequest): Promise<
|
|
5
|
+
spawn(_request: SpawnRequest): Promise<SpawnExecutionResult>;
|
|
6
|
+
respawn(_request: RespawnRequest): Promise<SpawnExecutionResult>;
|
|
7
7
|
teleport(_request: TeleportRequest): Promise<void>;
|
|
8
8
|
}
|