@ludeo/cloud-common 1.2.256 → 1.2.257-beta-yahil-2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/v4/events/create-game-resource-request.d.ts +1 -0
- package/dist/v4/events/create-game-resource-request.js +5 -0
- package/dist/v4/events/create-game-resource-request.js.map +1 -1
- package/dist/v4/types/build.d.ts +1 -0
- package/dist/v4/types/build.js +5 -0
- package/dist/v4/types/build.js.map +1 -1
- package/dist/v4/types/cloud/ludeocast-v2/gpu-type.d.ts +20 -0
- package/dist/v4/types/cloud/ludeocast-v2/gpu-type.js +57 -0
- package/dist/v4/types/cloud/ludeocast-v2/gpu-type.js.map +1 -0
- package/dist/v4/types/cloud/ludeocast-v2/index.d.ts +1 -0
- package/dist/v4/types/cloud/ludeocast-v2/index.js +1 -0
- package/dist/v4/types/cloud/ludeocast-v2/index.js.map +1 -1
- package/dist/v4/types/site-controller/types.d.ts +6 -0
- package/dist/v4/types/site-controller/types.js +24 -2
- package/dist/v4/types/site-controller/types.js.map +1 -1
- package/package.json +1 -1
- package/src/v4/events/create-game-resource-request.ts +4 -0
- package/src/v4/types/build.ts +4 -0
- package/src/v4/types/cloud/ludeocast-v2/gpu-type.ts +69 -0
- package/src/v4/types/cloud/ludeocast-v2/index.ts +1 -0
- package/src/v4/types/site-controller/types.ts +21 -2
|
@@ -11,6 +11,7 @@ export declare class CreateGameResourceRequestPayload<T extends CloudProviderSet
|
|
|
11
11
|
machineResourceSettings?: MachineResourceProviderSettings;
|
|
12
12
|
buildId?: string;
|
|
13
13
|
gameId?: string;
|
|
14
|
+
gameVersionId?: string;
|
|
14
15
|
}
|
|
15
16
|
export declare class CreateGameResourceRequest extends LudeoEvent {
|
|
16
17
|
static readonly EVENT_NAME = "cloud-pools.create-game-resource-request";
|
|
@@ -57,6 +57,11 @@ __decorate([
|
|
|
57
57
|
(0, class_validator_1.IsString)(),
|
|
58
58
|
__metadata("design:type", String)
|
|
59
59
|
], CreateGameResourceRequestPayload.prototype, "gameId", void 0);
|
|
60
|
+
__decorate([
|
|
61
|
+
(0, class_validator_1.IsOptional)(),
|
|
62
|
+
(0, class_validator_1.IsString)(),
|
|
63
|
+
__metadata("design:type", String)
|
|
64
|
+
], CreateGameResourceRequestPayload.prototype, "gameVersionId", void 0);
|
|
60
65
|
class CreateGameResourceRequest extends ludeo_event_1.LudeoEvent {
|
|
61
66
|
constructor(payload, context) {
|
|
62
67
|
super(CreateGameResourceRequest.EVENT_NAME);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-game-resource-request.js","sourceRoot":"","sources":["../../../src/v4/events/create-game-resource-request.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAuE;AAEvE,0CAAmD;AACnD,yDAAqD;AACrD,oGAAqF;AACrF,oCAKkB;AAElB,MAAa,gCAAgC;
|
|
1
|
+
{"version":3,"file":"create-game-resource-request.js","sourceRoot":"","sources":["../../../src/v4/events/create-game-resource-request.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAuE;AAEvE,0CAAmD;AACnD,yDAAqD;AACrD,oGAAqF;AACrF,oCAKkB;AAElB,MAAa,gCAAgC;CAoC5C;AApCD,4EAoCC;AAhCC;IADC,IAAA,wBAAM,GAAE;;wEACc;AAGvB;IADC,IAAA,wBAAM,GAAE;;oEACU;AAGnB;IADC,IAAA,mDAAkB,EAAC,+BAAuB,CAAC;;0EACxB;AAGpB;IADC,IAAA,wBAAM,EAAC,qBAAa,CAAC;;uEACO;AAG7B;IADC,IAAA,wBAAM,GAAE;;oEACU;AAInB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;;kEACS;AAGlB;IADC,IAAA,4BAAU,GAAE;;iFAC6C;AAI1D;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;iEACM;AAIjB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;gEACK;AAIhB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;uEACY;AAGzB,MAAa,yBAA0B,SAAQ,wBAAU;IAGvD,YACE,OAAyC,EACzC,OAA6B;QAE7B,KAAK,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;;AAVH,8DAiBC;AAhBiB,oCAAU,GAAG,0CAA0C,CAAC;AAYxE;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,+BAAoB,CAAC;8BACtC,+BAAoB;0DAAC;AAG9B;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,gCAAgC,CAAC;8BAClD,gCAAgC;0DAAC"}
|
package/dist/v4/types/build.d.ts
CHANGED
package/dist/v4/types/build.js
CHANGED
|
@@ -172,6 +172,11 @@ __decorate([
|
|
|
172
172
|
(0, class_validator_1.IsString)(),
|
|
173
173
|
__metadata("design:type", String)
|
|
174
174
|
], BuildVersionMeta.prototype, "buildVersion", void 0);
|
|
175
|
+
__decorate([
|
|
176
|
+
(0, class_validator_1.IsOptional)(),
|
|
177
|
+
(0, class_validator_1.IsString)(),
|
|
178
|
+
__metadata("design:type", String)
|
|
179
|
+
], BuildVersionMeta.prototype, "gameVersionId", void 0);
|
|
175
180
|
class RolloutConfig {
|
|
176
181
|
}
|
|
177
182
|
exports.RolloutConfig = RolloutConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/v4/types/build.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/v4/types/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { LudeoCastV2MachineClass } from "./machine-class";
|
|
2
|
+
export declare enum LudeocastGpuType {
|
|
3
|
+
AMPERE = "ampere",
|
|
4
|
+
BOHR = "bohr",
|
|
5
|
+
T4 = "T4",
|
|
6
|
+
L4 = "L4",
|
|
7
|
+
A10G = "A10G",
|
|
8
|
+
L40S = "L40S",
|
|
9
|
+
RTXPRO6000 = "RTXPRO6000"
|
|
10
|
+
}
|
|
11
|
+
export declare const SPOT_SUFFIX = "-spot";
|
|
12
|
+
export declare const isSpotMachineClass: (machineClass: string) => boolean;
|
|
13
|
+
export declare const stripSpotSuffix: (value: string) => string;
|
|
14
|
+
export declare const MACHINE_CLASS_TO_GPU_TYPE: Record<LudeoCastV2MachineClass, LudeocastGpuType>;
|
|
15
|
+
export declare function getGpuTypeByMachineClass(machineClass: string | LudeoCastV2MachineClass): LudeocastGpuType;
|
|
16
|
+
export declare function tryResolveGpuTypeByMachineClass(machineClass: string | undefined): LudeocastGpuType | undefined;
|
|
17
|
+
export { LudeocastGpuType as LudeocastShaderType };
|
|
18
|
+
export declare const MACHINE_CLASS_TO_SHADER_TYPE: Record<LudeoCastV2MachineClass, LudeocastGpuType>;
|
|
19
|
+
export declare const getShaderTypeByMachineClass: typeof getGpuTypeByMachineClass;
|
|
20
|
+
export declare const tryResolveShaderTypeByMachineClass: typeof tryResolveGpuTypeByMachineClass;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.tryResolveShaderTypeByMachineClass = exports.getShaderTypeByMachineClass = exports.MACHINE_CLASS_TO_SHADER_TYPE = exports.LudeocastShaderType = exports.MACHINE_CLASS_TO_GPU_TYPE = exports.stripSpotSuffix = exports.isSpotMachineClass = exports.SPOT_SUFFIX = exports.LudeocastGpuType = void 0;
|
|
4
|
+
exports.getGpuTypeByMachineClass = getGpuTypeByMachineClass;
|
|
5
|
+
exports.tryResolveGpuTypeByMachineClass = tryResolveGpuTypeByMachineClass;
|
|
6
|
+
const machine_class_1 = require("./machine-class");
|
|
7
|
+
var LudeocastGpuType;
|
|
8
|
+
(function (LudeocastGpuType) {
|
|
9
|
+
LudeocastGpuType["AMPERE"] = "ampere";
|
|
10
|
+
LudeocastGpuType["BOHR"] = "bohr";
|
|
11
|
+
LudeocastGpuType["T4"] = "T4";
|
|
12
|
+
LudeocastGpuType["L4"] = "L4";
|
|
13
|
+
LudeocastGpuType["A10G"] = "A10G";
|
|
14
|
+
LudeocastGpuType["L40S"] = "L40S";
|
|
15
|
+
LudeocastGpuType["RTXPRO6000"] = "RTXPRO6000";
|
|
16
|
+
})(LudeocastGpuType || (exports.LudeocastShaderType = exports.LudeocastGpuType = LudeocastGpuType = {}));
|
|
17
|
+
exports.SPOT_SUFFIX = "-spot";
|
|
18
|
+
const isSpotMachineClass = (machineClass) => machineClass.endsWith(exports.SPOT_SUFFIX);
|
|
19
|
+
exports.isSpotMachineClass = isSpotMachineClass;
|
|
20
|
+
const stripSpotSuffix = (value) => ((0, exports.isSpotMachineClass)(value) ? value.slice(0, -exports.SPOT_SUFFIX.length) : value);
|
|
21
|
+
exports.stripSpotSuffix = stripSpotSuffix;
|
|
22
|
+
exports.MACHINE_CLASS_TO_GPU_TYPE = {
|
|
23
|
+
[machine_class_1.LudeoCastV2MachineClass.N1_STANDARD_8]: LudeocastGpuType.T4,
|
|
24
|
+
[machine_class_1.LudeoCastV2MachineClass.N1_STANDARD_16]: LudeocastGpuType.T4,
|
|
25
|
+
[machine_class_1.LudeoCastV2MachineClass.G4DN_2XLARGE]: LudeocastGpuType.T4,
|
|
26
|
+
[machine_class_1.LudeoCastV2MachineClass.G4DN_4XLARGE]: LudeocastGpuType.T4,
|
|
27
|
+
[machine_class_1.LudeoCastV2MachineClass.G5_2XLARGE]: LudeocastGpuType.A10G,
|
|
28
|
+
[machine_class_1.LudeoCastV2MachineClass.G5_4XLARGE]: LudeocastGpuType.A10G,
|
|
29
|
+
[machine_class_1.LudeoCastV2MachineClass.G2_STANDARD_16]: LudeocastGpuType.L4,
|
|
30
|
+
[machine_class_1.LudeoCastV2MachineClass.G6_2XLARGE]: LudeocastGpuType.L4,
|
|
31
|
+
[machine_class_1.LudeoCastV2MachineClass.G6_4XLARGE]: LudeocastGpuType.L4,
|
|
32
|
+
[machine_class_1.LudeoCastV2MachineClass.G6E_2XLARGE]: LudeocastGpuType.L40S,
|
|
33
|
+
[machine_class_1.LudeoCastV2MachineClass.G6E_4XLARGE]: LudeocastGpuType.L40S,
|
|
34
|
+
[machine_class_1.LudeoCastV2MachineClass.G7E_2XLARGE]: LudeocastGpuType.RTXPRO6000,
|
|
35
|
+
[machine_class_1.LudeoCastV2MachineClass.G7E_4XLARGE]: LudeocastGpuType.RTXPRO6000,
|
|
36
|
+
[machine_class_1.LudeoCastV2MachineClass.G4_STANDARD_48]: LudeocastGpuType.RTXPRO6000,
|
|
37
|
+
[machine_class_1.LudeoCastV2MachineClass.G4_STANDARD_24]: LudeocastGpuType.RTXPRO6000,
|
|
38
|
+
[machine_class_1.LudeoCastV2MachineClass.G4_STANDARD_12]: LudeocastGpuType.RTXPRO6000,
|
|
39
|
+
[machine_class_1.LudeoCastV2MachineClass.G4_STANDARD_6]: LudeocastGpuType.RTXPRO6000,
|
|
40
|
+
};
|
|
41
|
+
function getGpuTypeByMachineClass(machineClass) {
|
|
42
|
+
const baseMachineClass = (0, exports.stripSpotSuffix)(machineClass);
|
|
43
|
+
const gpuType = exports.MACHINE_CLASS_TO_GPU_TYPE[baseMachineClass];
|
|
44
|
+
if (!gpuType)
|
|
45
|
+
throw new Error(`No GPU type mapping for machine class: ${machineClass}`);
|
|
46
|
+
return gpuType;
|
|
47
|
+
}
|
|
48
|
+
function tryResolveGpuTypeByMachineClass(machineClass) {
|
|
49
|
+
if (!machineClass?.trim())
|
|
50
|
+
return undefined;
|
|
51
|
+
const base = (0, exports.stripSpotSuffix)(machineClass.trim());
|
|
52
|
+
return exports.MACHINE_CLASS_TO_GPU_TYPE[base];
|
|
53
|
+
}
|
|
54
|
+
exports.MACHINE_CLASS_TO_SHADER_TYPE = exports.MACHINE_CLASS_TO_GPU_TYPE;
|
|
55
|
+
exports.getShaderTypeByMachineClass = getGpuTypeByMachineClass;
|
|
56
|
+
exports.tryResolveShaderTypeByMachineClass = tryResolveGpuTypeByMachineClass;
|
|
57
|
+
//# sourceMappingURL=gpu-type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gpu-type.js","sourceRoot":"","sources":["../../../../../src/v4/types/cloud/ludeocast-v2/gpu-type.ts"],"names":[],"mappings":";;;AA4CA,4DAKC;AAGD,0EAIC;AAxDD,mDAA0D;AAE1D,IAAY,gBAQX;AARD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,iCAAa,CAAA;IACb,6BAAS,CAAA;IACT,6BAAS,CAAA;IACT,iCAAa,CAAA;IACb,iCAAa,CAAA;IACb,6CAAyB,CAAA;AAC3B,CAAC,EARW,gBAAgB,8DAAhB,gBAAgB,QAQ3B;AAEY,QAAA,WAAW,GAAG,OAAO,CAAC;AAE5B,MAAM,kBAAkB,GAAG,CAAC,YAAoB,EAAW,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,mBAAW,CAAC,CAAC;AAA3F,QAAA,kBAAkB,sBAAyE;AAEjG,MAAM,eAAe,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,CAAC,IAAA,0BAAkB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,mBAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAAvH,QAAA,eAAe,mBAAwG;AAGvH,QAAA,yBAAyB,GAAsD;IAE1F,CAAC,uCAAuB,CAAC,aAAa,CAAC,EAAE,gBAAgB,CAAC,EAAE;IAC5D,CAAC,uCAAuB,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC,EAAE;IAC7D,CAAC,uCAAuB,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC,EAAE;IAC3D,CAAC,uCAAuB,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC,EAAE;IAE3D,CAAC,uCAAuB,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC,IAAI;IAC3D,CAAC,uCAAuB,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC,IAAI;IAE3D,CAAC,uCAAuB,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC,EAAE;IAC7D,CAAC,uCAAuB,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC,EAAE;IACzD,CAAC,uCAAuB,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC,EAAE;IAEzD,CAAC,uCAAuB,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC,IAAI;IAC5D,CAAC,uCAAuB,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC,IAAI;IAE5D,CAAC,uCAAuB,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC,UAAU;IAClE,CAAC,uCAAuB,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC,UAAU;IAClE,CAAC,uCAAuB,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC,UAAU;IACrE,CAAC,uCAAuB,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC,UAAU;IACrE,CAAC,uCAAuB,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC,UAAU;IACrE,CAAC,uCAAuB,CAAC,aAAa,CAAC,EAAE,gBAAgB,CAAC,UAAU;CACrE,CAAC;AAEF,SAAgB,wBAAwB,CAAC,YAA8C;IACrF,MAAM,gBAAgB,GAAG,IAAA,uBAAe,EAAC,YAAsB,CAA4B,CAAC;IAC5F,MAAM,OAAO,GAAG,iCAAyB,CAAC,gBAAgB,CAAC,CAAC;IAC5D,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,YAAY,EAAE,CAAC,CAAC;IACxF,OAAO,OAAO,CAAC;AACjB,CAAC;AAGD,SAAgB,+BAA+B,CAAC,YAAgC;IAC9E,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,IAAI,GAAG,IAAA,uBAAe,EAAC,YAAY,CAAC,IAAI,EAAE,CAA4B,CAAC;IAC7E,OAAO,iCAAyB,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAMY,QAAA,4BAA4B,GAAG,iCAAyB,CAAC;AAGzD,QAAA,2BAA2B,GAAG,wBAAwB,CAAC;AAGvD,QAAA,kCAAkC,GAAG,+BAA+B,CAAC"}
|
|
@@ -21,4 +21,5 @@ __exportStar(require("./game-creation-response"), exports);
|
|
|
21
21
|
__exportStar(require("./allocation-data"), exports);
|
|
22
22
|
__exportStar(require("./machine-provider-settings"), exports);
|
|
23
23
|
__exportStar(require("./machine-class"), exports);
|
|
24
|
+
__exportStar(require("./gpu-type"), exports);
|
|
24
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/v4/types/cloud/ludeocast-v2/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C;AAC7C,sDAAoC;AACpC,iDAA+B;AAC/B,2DAAyC;AACzC,oDAAkC;AAClC,8DAA4C;AAC5C,kDAAgC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/v4/types/cloud/ludeocast-v2/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C;AAC7C,sDAAoC;AACpC,iDAA+B;AAC/B,2DAAyC;AACzC,oDAAkC;AAClC,8DAA4C;AAC5C,kDAAgC;AAChC,6CAA2B"}
|
|
@@ -6,11 +6,17 @@ export declare enum MachineMode {
|
|
|
6
6
|
ANDROID = "android",
|
|
7
7
|
PROTON_V2 = "proton-v2"
|
|
8
8
|
}
|
|
9
|
+
export declare class RuntimeArtifactsPayload {
|
|
10
|
+
latestVersion: string;
|
|
11
|
+
downloadUrl: string;
|
|
12
|
+
}
|
|
9
13
|
export declare class ProtonGameCreationPayload {
|
|
10
14
|
exeRelativePath: string;
|
|
11
15
|
additionalEnvironmentVariables?: Record<string, string>;
|
|
12
16
|
additionalLaunchArgs?: string[];
|
|
13
17
|
buildId: string;
|
|
18
|
+
gameVersionId?: string;
|
|
19
|
+
runtimeArtifacts?: RuntimeArtifactsPayload;
|
|
14
20
|
}
|
|
15
21
|
export declare class AndroidGameCreationPayload {
|
|
16
22
|
packageId: string;
|
|
@@ -9,14 +9,26 @@ 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
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.TerminationType = exports.SiteAdapterFlow = exports.AgentRunMode = exports.GameStatusReason = exports.MachineStatusReason = exports.SiteOperationStatus = exports.AndroidGameCreationPayload = exports.ProtonGameCreationPayload = exports.MachineMode = void 0;
|
|
12
|
+
exports.TerminationType = exports.SiteAdapterFlow = exports.AgentRunMode = exports.GameStatusReason = exports.MachineStatusReason = exports.SiteOperationStatus = exports.AndroidGameCreationPayload = exports.ProtonGameCreationPayload = exports.RuntimeArtifactsPayload = exports.MachineMode = void 0;
|
|
13
13
|
const class_validator_1 = require("class-validator");
|
|
14
|
+
const decorators_1 = require("../../../decorators");
|
|
14
15
|
var MachineMode;
|
|
15
16
|
(function (MachineMode) {
|
|
16
17
|
MachineMode["PROTON"] = "proton";
|
|
17
18
|
MachineMode["ANDROID"] = "android";
|
|
18
19
|
MachineMode["PROTON_V2"] = "proton-v2";
|
|
19
20
|
})(MachineMode || (exports.MachineMode = MachineMode = {}));
|
|
21
|
+
class RuntimeArtifactsPayload {
|
|
22
|
+
}
|
|
23
|
+
exports.RuntimeArtifactsPayload = RuntimeArtifactsPayload;
|
|
24
|
+
__decorate([
|
|
25
|
+
(0, class_validator_1.IsString)(),
|
|
26
|
+
__metadata("design:type", String)
|
|
27
|
+
], RuntimeArtifactsPayload.prototype, "latestVersion", void 0);
|
|
28
|
+
__decorate([
|
|
29
|
+
(0, class_validator_1.IsString)(),
|
|
30
|
+
__metadata("design:type", String)
|
|
31
|
+
], RuntimeArtifactsPayload.prototype, "downloadUrl", void 0);
|
|
20
32
|
class ProtonGameCreationPayload {
|
|
21
33
|
}
|
|
22
34
|
exports.ProtonGameCreationPayload = ProtonGameCreationPayload;
|
|
@@ -35,9 +47,19 @@ __decorate([
|
|
|
35
47
|
__metadata("design:type", Array)
|
|
36
48
|
], ProtonGameCreationPayload.prototype, "additionalLaunchArgs", void 0);
|
|
37
49
|
__decorate([
|
|
38
|
-
(0, class_validator_1.
|
|
50
|
+
(0, class_validator_1.IsUUID)(),
|
|
39
51
|
__metadata("design:type", String)
|
|
40
52
|
], ProtonGameCreationPayload.prototype, "buildId", void 0);
|
|
53
|
+
__decorate([
|
|
54
|
+
(0, class_validator_1.IsOptional)(),
|
|
55
|
+
(0, class_validator_1.IsString)(),
|
|
56
|
+
__metadata("design:type", String)
|
|
57
|
+
], ProtonGameCreationPayload.prototype, "gameVersionId", void 0);
|
|
58
|
+
__decorate([
|
|
59
|
+
(0, class_validator_1.IsOptional)(),
|
|
60
|
+
(0, decorators_1.ValidateNestedType)(() => RuntimeArtifactsPayload),
|
|
61
|
+
__metadata("design:type", RuntimeArtifactsPayload)
|
|
62
|
+
], ProtonGameCreationPayload.prototype, "runtimeArtifacts", void 0);
|
|
41
63
|
class AndroidGameCreationPayload {
|
|
42
64
|
}
|
|
43
65
|
exports.AndroidGameCreationPayload = AndroidGameCreationPayload;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/v4/types/site-controller/types.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/v4/types/site-controller/types.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAkF;AAIlF,oDAAyD;AAEzD,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,kCAAmB,CAAA;IACnB,sCAAuB,CAAA;AACzB,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB;AAGD,MAAa,uBAAuB;CAOnC;AAPD,0DAOC;AALC;IADC,IAAA,0BAAQ,GAAE;;8DACW;AAItB;IADC,IAAA,0BAAQ,GAAE;;4DACS;AAGtB,MAAa,yBAAyB;CAsBrC;AAtBD,8DAsBC;AApBC;IADC,IAAA,0BAAQ,GAAE;;kEACa;AAIxB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;iFAC6C;AAIxD;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,yBAAO,GAAE;;uEACsB;AAGhC;IADC,IAAA,wBAAM,GAAE;;0DACO;AAIhB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;gEACY;AAIvB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,+BAAkB,EAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC;8BAC/B,uBAAuB;mEAAC;AAG7C,MAAa,0BAA0B;CAOtC;AAPD,gEAOC;AALC;IADC,IAAA,0BAAQ,GAAE;;6DACO;AAIlB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;kFAC6C;AAO1D,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,0CAAmB,CAAA;IACnB,sCAAe,CAAA;AACjB,CAAC,EAHW,mBAAmB,mCAAnB,mBAAmB,QAG9B;AAED,IAAY,mBAOX;AAPD,WAAY,mBAAmB;IAC7B,0CAAmB,CAAA;IACnB,sEAA+C,CAAA;IAC/C,oEAA6C,CAAA;IAC7C,oDAA6B,CAAA;IAC7B,0DAAmC,CAAA;IACnC,8CAAuB,CAAA;AACzB,CAAC,EAPW,mBAAmB,mCAAnB,mBAAmB,QAO9B;AAED,IAAY,gBAMX;AAND,WAAY,gBAAgB;IAC1B,iDAA6B,CAAA;IAC7B,iDAA6B,CAAA;IAC7B,qDAAiC,CAAA;IACjC,iDAA6B,CAAA;IAC7B,2CAAuB,CAAA;AACzB,CAAC,EANW,gBAAgB,gCAAhB,gBAAgB,QAM3B;AAED,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,yCAAyB,CAAA;IACzB,6CAA6B,CAAA;AAC/B,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB;AAED,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,wCAAqB,CAAA;IACrB,8CAA2B,CAAA;IAC3B,gCAAa,CAAA;AACf,CAAC,EAJW,eAAe,+BAAf,eAAe,QAI1B;AAED,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,oDAAiC,CAAA;IACjC,kDAA+B,CAAA;AACjC,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B"}
|
package/package.json
CHANGED
package/src/v4/types/build.ts
CHANGED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { LudeoCastV2MachineClass } from "./machine-class";
|
|
2
|
+
|
|
3
|
+
export enum LudeocastGpuType {
|
|
4
|
+
AMPERE = "ampere",
|
|
5
|
+
BOHR = "bohr",
|
|
6
|
+
T4 = "T4",
|
|
7
|
+
L4 = "L4",
|
|
8
|
+
A10G = "A10G",
|
|
9
|
+
L40S = "L40S",
|
|
10
|
+
RTXPRO6000 = "RTXPRO6000",
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export const SPOT_SUFFIX = "-spot";
|
|
14
|
+
|
|
15
|
+
export const isSpotMachineClass = (machineClass: string): boolean => machineClass.endsWith(SPOT_SUFFIX);
|
|
16
|
+
|
|
17
|
+
export const stripSpotSuffix = (value: string): string => (isSpotMachineClass(value) ? value.slice(0, -SPOT_SUFFIX.length) : value);
|
|
18
|
+
|
|
19
|
+
/** Canonical machine-class → gpu-type map (ludeocast pool agent / site-controller Redis & S3). */
|
|
20
|
+
export const MACHINE_CLASS_TO_GPU_TYPE: Record<LudeoCastV2MachineClass, LudeocastGpuType> = {
|
|
21
|
+
// NVIDIA T4 (Turing)
|
|
22
|
+
[LudeoCastV2MachineClass.N1_STANDARD_8]: LudeocastGpuType.T4,
|
|
23
|
+
[LudeoCastV2MachineClass.N1_STANDARD_16]: LudeocastGpuType.T4,
|
|
24
|
+
[LudeoCastV2MachineClass.G4DN_2XLARGE]: LudeocastGpuType.T4,
|
|
25
|
+
[LudeoCastV2MachineClass.G4DN_4XLARGE]: LudeocastGpuType.T4,
|
|
26
|
+
// NVIDIA A10G (Ampere)
|
|
27
|
+
[LudeoCastV2MachineClass.G5_2XLARGE]: LudeocastGpuType.A10G,
|
|
28
|
+
[LudeoCastV2MachineClass.G5_4XLARGE]: LudeocastGpuType.A10G,
|
|
29
|
+
// NVIDIA L4 (Ada Lovelace)
|
|
30
|
+
[LudeoCastV2MachineClass.G2_STANDARD_16]: LudeocastGpuType.L4,
|
|
31
|
+
[LudeoCastV2MachineClass.G6_2XLARGE]: LudeocastGpuType.L4,
|
|
32
|
+
[LudeoCastV2MachineClass.G6_4XLARGE]: LudeocastGpuType.L4,
|
|
33
|
+
// NVIDIA L40S (Ada Lovelace)
|
|
34
|
+
[LudeoCastV2MachineClass.G6E_2XLARGE]: LudeocastGpuType.L40S,
|
|
35
|
+
[LudeoCastV2MachineClass.G6E_4XLARGE]: LudeocastGpuType.L40S,
|
|
36
|
+
// NVIDIA RTX PRO 6000 Blackwell Server Edition
|
|
37
|
+
[LudeoCastV2MachineClass.G7E_2XLARGE]: LudeocastGpuType.RTXPRO6000,
|
|
38
|
+
[LudeoCastV2MachineClass.G7E_4XLARGE]: LudeocastGpuType.RTXPRO6000,
|
|
39
|
+
[LudeoCastV2MachineClass.G4_STANDARD_48]: LudeocastGpuType.RTXPRO6000,
|
|
40
|
+
[LudeoCastV2MachineClass.G4_STANDARD_24]: LudeocastGpuType.RTXPRO6000,
|
|
41
|
+
[LudeoCastV2MachineClass.G4_STANDARD_12]: LudeocastGpuType.RTXPRO6000,
|
|
42
|
+
[LudeoCastV2MachineClass.G4_STANDARD_6]: LudeocastGpuType.RTXPRO6000,
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export function getGpuTypeByMachineClass(machineClass: string | LudeoCastV2MachineClass): LudeocastGpuType {
|
|
46
|
+
const baseMachineClass = stripSpotSuffix(machineClass as string) as LudeoCastV2MachineClass;
|
|
47
|
+
const gpuType = MACHINE_CLASS_TO_GPU_TYPE[baseMachineClass];
|
|
48
|
+
if (!gpuType) throw new Error(`No GPU type mapping for machine class: ${machineClass}`);
|
|
49
|
+
return gpuType;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/** For callers using raw pool `machineClass` strings (e.g. site-controller Redis / S3 path segments). */
|
|
53
|
+
export function tryResolveGpuTypeByMachineClass(machineClass: string | undefined): LudeocastGpuType | undefined {
|
|
54
|
+
if (!machineClass?.trim()) return undefined;
|
|
55
|
+
const base = stripSpotSuffix(machineClass.trim()) as LudeoCastV2MachineClass;
|
|
56
|
+
return MACHINE_CLASS_TO_GPU_TYPE[base];
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/** @deprecated Use {@link LudeocastGpuType} */
|
|
60
|
+
export { LudeocastGpuType as LudeocastShaderType };
|
|
61
|
+
|
|
62
|
+
/** @deprecated Use {@link MACHINE_CLASS_TO_GPU_TYPE} */
|
|
63
|
+
export const MACHINE_CLASS_TO_SHADER_TYPE = MACHINE_CLASS_TO_GPU_TYPE;
|
|
64
|
+
|
|
65
|
+
/** @deprecated Use {@link getGpuTypeByMachineClass} */
|
|
66
|
+
export const getShaderTypeByMachineClass = getGpuTypeByMachineClass;
|
|
67
|
+
|
|
68
|
+
/** @deprecated Use {@link tryResolveGpuTypeByMachineClass} */
|
|
69
|
+
export const tryResolveShaderTypeByMachineClass = tryResolveGpuTypeByMachineClass;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { IsString, IsOptional, IsObject, IsArray } from "class-validator";
|
|
1
|
+
import { IsString, IsOptional, IsObject, IsArray, IsUUID } from "class-validator";
|
|
2
2
|
import { LudeocastV2Distributions } from "../build";
|
|
3
3
|
import { MachineResourceSettings } from "../pools";
|
|
4
4
|
import { LudeoCastV2MachineResourceProviderSettings } from "../cloud";
|
|
5
|
+
import { ValidateNestedType } from "../../../decorators";
|
|
5
6
|
|
|
6
7
|
export enum MachineMode {
|
|
7
8
|
PROTON = "proton",
|
|
@@ -9,6 +10,16 @@ export enum MachineMode {
|
|
|
9
10
|
PROTON_V2 = "proton-v2",
|
|
10
11
|
}
|
|
11
12
|
|
|
13
|
+
/** Shader / runtime artifact bundle (site-controller may fill when ENABLE_RUNTIME_ARTIFACTS is true). */
|
|
14
|
+
export class RuntimeArtifactsPayload {
|
|
15
|
+
@IsString()
|
|
16
|
+
latestVersion: string;
|
|
17
|
+
|
|
18
|
+
/** Presigned GET URL for the `.tar.gz` artifact tree. */
|
|
19
|
+
@IsString()
|
|
20
|
+
downloadUrl: string;
|
|
21
|
+
}
|
|
22
|
+
|
|
12
23
|
export class ProtonGameCreationPayload {
|
|
13
24
|
@IsString()
|
|
14
25
|
exeRelativePath: string;
|
|
@@ -21,8 +32,16 @@ export class ProtonGameCreationPayload {
|
|
|
21
32
|
@IsArray()
|
|
22
33
|
additionalLaunchArgs?: string[];
|
|
23
34
|
|
|
24
|
-
@
|
|
35
|
+
@IsUUID()
|
|
25
36
|
buildId: string;
|
|
37
|
+
|
|
38
|
+
@IsOptional()
|
|
39
|
+
@IsString()
|
|
40
|
+
gameVersionId?: string;
|
|
41
|
+
|
|
42
|
+
@IsOptional()
|
|
43
|
+
@ValidateNestedType(() => RuntimeArtifactsPayload)
|
|
44
|
+
runtimeArtifacts?: RuntimeArtifactsPayload;
|
|
26
45
|
}
|
|
27
46
|
|
|
28
47
|
export class AndroidGameCreationPayload {
|