@ludeo/cloud-common 1.2.258-ygbeta1 → 1.2.258

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.
Files changed (105) hide show
  1. package/.github/workflows/pr-check.yml +9 -0
  2. package/dist/tsconfig.tsbuildinfo +1 -1
  3. package/dist/v4/contexts/cloud-session-context.d.ts +1 -0
  4. package/dist/v4/contexts/cloud-session-context.js +5 -0
  5. package/dist/v4/contexts/cloud-session-context.js.map +1 -1
  6. package/dist/v4/events/build-assignment-settings-ready.d.ts +2 -0
  7. package/dist/v4/events/build-assignment-settings-ready.js +5 -0
  8. package/dist/v4/events/build-assignment-settings-ready.js.map +1 -1
  9. package/dist/v4/events/cloud-sessions/cloud-session-preempted.d.ts +20 -0
  10. package/dist/v4/events/cloud-sessions/cloud-session-preempted.js +74 -0
  11. package/dist/v4/events/cloud-sessions/cloud-session-preempted.js.map +1 -0
  12. package/dist/v4/events/cloud-sessions/index.d.ts +1 -0
  13. package/dist/v4/events/cloud-sessions/index.js +18 -0
  14. package/dist/v4/events/cloud-sessions/index.js.map +1 -0
  15. package/dist/v4/events/create-game-resource-request.d.ts +1 -0
  16. package/dist/v4/events/create-game-resource-request.js +5 -0
  17. package/dist/v4/events/create-game-resource-request.js.map +1 -1
  18. package/dist/v4/events/export-ludeocast-logs-request.d.ts +1 -0
  19. package/dist/v4/events/export-ludeocast-logs-request.js +4 -0
  20. package/dist/v4/events/export-ludeocast-logs-request.js.map +1 -1
  21. package/dist/v4/events/gameplay-waiting-for-user.d.ts +1 -1
  22. package/dist/v4/events/gameplay-waiting-for-user.js +1 -0
  23. package/dist/v4/events/gameplay-waiting-for-user.js.map +1 -1
  24. package/dist/v4/events/index.d.ts +1 -0
  25. package/dist/v4/events/index.js +2 -1
  26. package/dist/v4/events/index.js.map +1 -1
  27. package/dist/v4/events/ludeocast-agent/resource-update.js.map +1 -1
  28. package/dist/v4/events/provisioner/provisioning-ended.d.ts +2 -0
  29. package/dist/v4/events/provisioner/provisioning-ended.js +5 -0
  30. package/dist/v4/events/provisioner/provisioning-ended.js.map +1 -1
  31. package/dist/v4/events/site-controller/machine-ludeocast-preempted.d.ts +2 -0
  32. package/dist/v4/events/site-controller/machine-ludeocast-preempted.js +10 -0
  33. package/dist/v4/events/site-controller/machine-ludeocast-preempted.js.map +1 -1
  34. package/dist/v4/events/swap-cloud-user-gameplay-request-failed.d.ts +2 -2
  35. package/dist/v4/events/swap-cloud-user-gameplay-request-failed.js +2 -0
  36. package/dist/v4/events/swap-cloud-user-gameplay-request-failed.js.map +1 -1
  37. package/dist/v4/events/swap-cloud-user-gameplay-request.d.ts +2 -2
  38. package/dist/v4/events/swap-cloud-user-gameplay-request.js +2 -0
  39. package/dist/v4/events/swap-cloud-user-gameplay-request.js.map +1 -1
  40. package/dist/v4/events/swap-cloud-user-request-failed.d.ts +1 -1
  41. package/dist/v4/events/swap-cloud-user-request-failed.js +1 -0
  42. package/dist/v4/events/swap-cloud-user-request-failed.js.map +1 -1
  43. package/dist/v4/events/swap-cloud-user-request.d.ts +1 -1
  44. package/dist/v4/events/swap-cloud-user-request.js +1 -0
  45. package/dist/v4/events/swap-cloud-user-request.js.map +1 -1
  46. package/dist/v4/events/swap-to-default-user-completed.d.ts +1 -1
  47. package/dist/v4/events/swap-to-default-user-completed.js +1 -0
  48. package/dist/v4/events/swap-to-default-user-completed.js.map +1 -1
  49. package/dist/v4/events/swap-to-default-user-request-failed.d.ts +1 -1
  50. package/dist/v4/events/swap-to-default-user-request-failed.js +1 -0
  51. package/dist/v4/events/swap-to-default-user-request-failed.js.map +1 -1
  52. package/dist/v4/events/swap-to-default-user.d.ts +1 -1
  53. package/dist/v4/events/swap-to-default-user.js +1 -0
  54. package/dist/v4/events/swap-to-default-user.js.map +1 -1
  55. package/dist/v4/types/build.d.ts +1 -0
  56. package/dist/v4/types/build.js +5 -0
  57. package/dist/v4/types/build.js.map +1 -1
  58. package/dist/v4/types/cloud/cloud-configuration-settings.d.ts +12 -1
  59. package/dist/v4/types/cloud/cloud-configuration-settings.js +24 -6
  60. package/dist/v4/types/cloud/cloud-configuration-settings.js.map +1 -1
  61. package/dist/v4/types/cloud/cloud-configuration-settings.spec.d.ts +1 -0
  62. package/dist/v4/types/cloud/cloud-configuration-settings.spec.js +12 -0
  63. package/dist/v4/types/cloud/cloud-configuration-settings.spec.js.map +1 -0
  64. package/dist/v4/types/cloud/ludeocast-v2/gpu-type.d.ts +16 -0
  65. package/dist/v4/types/cloud/ludeocast-v2/gpu-type.js +54 -0
  66. package/dist/v4/types/cloud/ludeocast-v2/gpu-type.js.map +1 -0
  67. package/dist/v4/types/cloud/ludeocast-v2/index.d.ts +2 -0
  68. package/dist/v4/types/cloud/ludeocast-v2/index.js +2 -0
  69. package/dist/v4/types/cloud/ludeocast-v2/index.js.map +1 -1
  70. package/dist/v4/types/cloud/ludeocast-v2/machine-class.d.ts +7 -1
  71. package/dist/v4/types/cloud/ludeocast-v2/machine-class.js +6 -0
  72. package/dist/v4/types/cloud/ludeocast-v2/machine-class.js.map +1 -1
  73. package/dist/v4/types/cloud/ludeocast-v2/machine-resource-meta.d.ts +3 -0
  74. package/dist/v4/types/cloud/ludeocast-v2/machine-resource-meta.js +3 -0
  75. package/dist/v4/types/cloud/ludeocast-v2/machine-resource-meta.js.map +1 -0
  76. package/dist/v4/types/site-controller/types.d.ts +6 -0
  77. package/dist/v4/types/site-controller/types.js +25 -2
  78. package/dist/v4/types/site-controller/types.js.map +1 -1
  79. package/package.json +1 -1
  80. package/src/v4/contexts/cloud-session-context.ts +4 -0
  81. package/src/v4/events/build-assignment-settings-ready.ts +4 -0
  82. package/src/v4/events/cloud-sessions/cloud-session-preempted.ts +50 -0
  83. package/src/v4/events/cloud-sessions/index.ts +1 -0
  84. package/src/v4/events/create-game-resource-request.ts +4 -0
  85. package/src/v4/events/export-ludeocast-logs-request.ts +3 -0
  86. package/src/v4/events/gameplay-waiting-for-user.ts +2 -1
  87. package/src/v4/events/index.ts +1 -0
  88. package/src/v4/events/ludeocast-agent/resource-update.ts +4 -0
  89. package/src/v4/events/provisioner/provisioning-ended.ts +9 -1
  90. package/src/v4/events/site-controller/machine-ludeocast-preempted.ts +8 -0
  91. package/src/v4/events/swap-cloud-user-gameplay-request-failed.ts +5 -3
  92. package/src/v4/events/swap-cloud-user-gameplay-request.ts +4 -2
  93. package/src/v4/events/swap-cloud-user-request-failed.ts +2 -1
  94. package/src/v4/events/swap-cloud-user-request.ts +2 -1
  95. package/src/v4/events/swap-to-default-user-completed.ts +2 -1
  96. package/src/v4/events/swap-to-default-user-request-failed.ts +2 -1
  97. package/src/v4/events/swap-to-default-user.ts +2 -1
  98. package/src/v4/types/build.ts +4 -0
  99. package/src/v4/types/cloud/cloud-configuration-settings.spec.ts +12 -0
  100. package/src/v4/types/cloud/cloud-configuration-settings.ts +35 -10
  101. package/src/v4/types/cloud/ludeocast-v2/gpu-type.ts +57 -0
  102. package/src/v4/types/cloud/ludeocast-v2/index.ts +2 -0
  103. package/src/v4/types/cloud/ludeocast-v2/machine-class.ts +6 -0
  104. package/src/v4/types/cloud/ludeocast-v2/machine-resource-meta.ts +10 -0
  105. package/src/v4/types/site-controller/types.ts +22 -2
@@ -1 +1 @@
1
- {"version":3,"file":"swap-to-default-user.js","sourceRoot":"","sources":["../../../src/v4/events/swap-to-default-user.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA+D;AAC/D,yDAAqD;AACrD,oGAAqF;AACrF,0CAAmD;AACnD,4FAA4E;AAE5E,MAAa,wBAAwB;CAmBpC;AAnBD,4DAmBC;AAjBC;IADC,IAAA,wBAAM,GAAE;;iEACe;AAGxB;IADC,IAAA,wBAAM,GAAE;;8DACY;AAGrB;IADC,IAAA,wBAAM,GAAE;;wDACM;AAIf;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0CAAa,GAAE;;yDACC;AAGjB;IADC,IAAA,wBAAM,GAAE;;wDACM;AAGf;IADC,IAAA,0BAAQ,GAAE;;yEACqB;AAGlC,MAAa,iBAAkB,SAAQ,wBAAU;IAG/C,YACE,OAAiC,EACjC,OAA6B;QAE7B,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;;AAVH,8CAiBC;AAhBiB,4BAAU,GAAG,sCAAsC,CAAC;AAYpE;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,+BAAoB,CAAC;8BACtC,+BAAoB;kDAAC;AAG9B;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC;8BAC1C,wBAAwB;kDAAC"}
1
+ {"version":3,"file":"swap-to-default-user.js","sourceRoot":"","sources":["../../../src/v4/events/swap-to-default-user.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA+D;AAC/D,yDAAqD;AACrD,oGAAqF;AACrF,0CAAmD;AACnD,4FAA4E;AAE5E,MAAa,wBAAwB;CAoBpC;AApBD,4DAoBC;AAjBC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;;iEACgB;AAGzB;IADC,IAAA,wBAAM,GAAE;;8DACY;AAGrB;IADC,IAAA,wBAAM,GAAE;;wDACM;AAIf;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0CAAa,GAAE;;yDACC;AAGjB;IADC,IAAA,wBAAM,GAAE;;wDACM;AAGf;IADC,IAAA,0BAAQ,GAAE;;yEACqB;AAGlC,MAAa,iBAAkB,SAAQ,wBAAU;IAG/C,YACE,OAAiC,EACjC,OAA6B;QAE7B,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;;AAVH,8CAiBC;AAhBiB,4BAAU,GAAG,sCAAsC,CAAC;AAYpE;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,+BAAoB,CAAC;8BACtC,+BAAoB;kDAAC;AAG9B;IADC,IAAA,mDAAkB,EAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC;8BAC1C,wBAAwB;kDAAC"}
@@ -146,6 +146,7 @@ export declare enum StreamGroupStatus {
146
146
  export declare class BuildVersionMeta {
147
147
  buildId: string;
148
148
  buildVersion: string;
149
+ gameVersionId?: string;
149
150
  }
150
151
  export declare class RolloutConfig {
151
152
  value?: number;
@@ -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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"}
@@ -1,4 +1,8 @@
1
1
  import { LudeoCastV2MachineClass } from "./ludeocast-v2";
2
+ export declare enum CloudScalingMode {
3
+ MARKETING = "Marketing",
4
+ AUTO_SCALING = "Auto Scaling"
5
+ }
2
6
  export declare enum CloudSettingsKeys {
3
7
  GAME_LOADING_TIME = "gameLoadingTime",
4
8
  FIRST_TIME_LUDEO_LOAD = "firstTimeLudeoLoad",
@@ -7,7 +11,8 @@ export declare enum CloudSettingsKeys {
7
11
  ADDITIONAL_LAUNCH_ARGS = "additionalLaunchArgs",
8
12
  ADDITIONAL_ENVIRONMENT_VARIABLES = "additionalEnvironmentVariables",
9
13
  MACHINE_CLASS_PRIORITY = "machineClassPriority",
10
- SPOT_ROLLOUT = "spotRollout"
14
+ SPOT_ROLLOUT = "spotRollout",
15
+ SCALING = "scaling"
11
16
  }
12
17
  export interface CloudSettingsTypeMap {
13
18
  [CloudSettingsKeys.GAME_LOADING_TIME]: number;
@@ -18,6 +23,7 @@ export interface CloudSettingsTypeMap {
18
23
  [CloudSettingsKeys.ADDITIONAL_ENVIRONMENT_VARIABLES]: Record<string, string>;
19
24
  [CloudSettingsKeys.MACHINE_CLASS_PRIORITY]: LudeoCastV2MachineClass[];
20
25
  [CloudSettingsKeys.SPOT_ROLLOUT]: number;
26
+ [CloudSettingsKeys.SCALING]: CloudScalingMode;
21
27
  }
22
28
  export declare const MACHINE_CLASS_PRIORITY_DEFAULT_VALUES: LudeoCastV2MachineClass[];
23
29
  export type CloudSettings = {
@@ -49,5 +55,10 @@ export type CloudSettingConfig = {
49
55
  key: CloudSettingsKeys;
50
56
  displayKey: string;
51
57
  defaultValue: LudeoCastV2MachineClass[];
58
+ } | {
59
+ type: "enum";
60
+ key: CloudSettingsKeys;
61
+ displayKey: string;
62
+ defaultValue: CloudScalingMode;
52
63
  };
53
64
  export declare const CLOUD_SETTINGS_DEFAULT_VALUES: Record<CloudSettingsKeys, CloudSettingConfig>;
@@ -1,7 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CLOUD_SETTINGS_DEFAULT_VALUES = exports.getCloudSettingsByKey = exports.MACHINE_CLASS_PRIORITY_DEFAULT_VALUES = exports.CloudSettingsKeys = void 0;
3
+ exports.CLOUD_SETTINGS_DEFAULT_VALUES = exports.getCloudSettingsByKey = exports.MACHINE_CLASS_PRIORITY_DEFAULT_VALUES = exports.CloudSettingsKeys = exports.CloudScalingMode = void 0;
4
4
  const ludeocast_v2_1 = require("./ludeocast-v2");
5
+ var CloudScalingMode;
6
+ (function (CloudScalingMode) {
7
+ CloudScalingMode["MARKETING"] = "Marketing";
8
+ CloudScalingMode["AUTO_SCALING"] = "Auto Scaling";
9
+ })(CloudScalingMode || (exports.CloudScalingMode = CloudScalingMode = {}));
5
10
  var CloudSettingsKeys;
6
11
  (function (CloudSettingsKeys) {
7
12
  CloudSettingsKeys["GAME_LOADING_TIME"] = "gameLoadingTime";
@@ -12,20 +17,27 @@ var CloudSettingsKeys;
12
17
  CloudSettingsKeys["ADDITIONAL_ENVIRONMENT_VARIABLES"] = "additionalEnvironmentVariables";
13
18
  CloudSettingsKeys["MACHINE_CLASS_PRIORITY"] = "machineClassPriority";
14
19
  CloudSettingsKeys["SPOT_ROLLOUT"] = "spotRollout";
20
+ CloudSettingsKeys["SCALING"] = "scaling";
15
21
  })(CloudSettingsKeys || (exports.CloudSettingsKeys = CloudSettingsKeys = {}));
16
22
  exports.MACHINE_CLASS_PRIORITY_DEFAULT_VALUES = [
17
23
  ludeocast_v2_1.LudeoCastV2MachineClass.N1_STANDARD_8,
18
24
  ludeocast_v2_1.LudeoCastV2MachineClass.G4DN_2XLARGE,
19
25
  ludeocast_v2_1.LudeoCastV2MachineClass.N1_STANDARD_16,
20
- ludeocast_v2_1.LudeoCastV2MachineClass.G4DN_2XLARGE,
26
+ ludeocast_v2_1.LudeoCastV2MachineClass.G4DN_4XLARGE,
27
+ ludeocast_v2_1.LudeoCastV2MachineClass.G5_2XLARGE,
28
+ ludeocast_v2_1.LudeoCastV2MachineClass.G5_4XLARGE,
21
29
  ludeocast_v2_1.LudeoCastV2MachineClass.G2_STANDARD_16,
22
30
  ludeocast_v2_1.LudeoCastV2MachineClass.G6_2XLARGE,
23
31
  ludeocast_v2_1.LudeoCastV2MachineClass.G6_4XLARGE,
32
+ ludeocast_v2_1.LudeoCastV2MachineClass.G6E_2XLARGE,
33
+ ludeocast_v2_1.LudeoCastV2MachineClass.G6E_4XLARGE,
24
34
  ludeocast_v2_1.LudeoCastV2MachineClass.G4_STANDARD_48,
35
+ ludeocast_v2_1.LudeoCastV2MachineClass.G7E_2XLARGE,
36
+ ludeocast_v2_1.LudeoCastV2MachineClass.G7E_4XLARGE,
25
37
  ];
26
38
  const getCloudSettingsByKey = (key, cloudSettings) => {
27
- return (cloudSettings[key] ||
28
- exports.CLOUD_SETTINGS_DEFAULT_VALUES[key].defaultValue);
39
+ const raw = cloudSettings[key];
40
+ return (raw ?? exports.CLOUD_SETTINGS_DEFAULT_VALUES[key].defaultValue);
29
41
  };
30
42
  exports.getCloudSettingsByKey = getCloudSettingsByKey;
31
43
  exports.CLOUD_SETTINGS_DEFAULT_VALUES = {
@@ -69,13 +81,19 @@ exports.CLOUD_SETTINGS_DEFAULT_VALUES = {
69
81
  type: "array",
70
82
  key: CloudSettingsKeys.MACHINE_CLASS_PRIORITY,
71
83
  displayKey: "Machine Class Priority",
72
- defaultValue: exports.MACHINE_CLASS_PRIORITY_DEFAULT_VALUES
84
+ defaultValue: exports.MACHINE_CLASS_PRIORITY_DEFAULT_VALUES,
73
85
  },
74
86
  [CloudSettingsKeys.SPOT_ROLLOUT]: {
75
87
  type: "number",
76
88
  key: CloudSettingsKeys.SPOT_ROLLOUT,
77
89
  displayKey: "Spot Rollout (%)",
78
- defaultValue: 0,
90
+ defaultValue: 100,
91
+ },
92
+ [CloudSettingsKeys.SCALING]: {
93
+ type: "enum",
94
+ key: CloudSettingsKeys.SCALING,
95
+ displayKey: "Scaling",
96
+ defaultValue: CloudScalingMode.AUTO_SCALING,
79
97
  },
80
98
  };
81
99
  //# sourceMappingURL=cloud-configuration-settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cloud-configuration-settings.js","sourceRoot":"","sources":["../../../../src/v4/types/cloud/cloud-configuration-settings.ts"],"names":[],"mappings":";;;AAAA,iDAAyD;AAEzD,IAAY,iBASX;AATD,WAAY,iBAAiB;IAC3B,0DAAqC,CAAA;IACrC,iEAA4C,CAAA;IAC5C,uEAAkD,CAAA;IAClD,+DAA0C,CAAA;IAC1C,oEAA+C,CAAA;IAC/C,wFAAmE,CAAA;IACnE,oEAA+C,CAAA;IAC/C,iDAA4B,CAAA;AAC9B,CAAC,EATW,iBAAiB,iCAAjB,iBAAiB,QAS5B;AAeY,QAAA,qCAAqC,GAAG;IACnD,sCAAuB,CAAC,aAAa;IACrC,sCAAuB,CAAC,YAAY;IACpC,sCAAuB,CAAC,cAAc;IACtC,sCAAuB,CAAC,YAAY;IACpC,sCAAuB,CAAC,cAAc;IACtC,sCAAuB,CAAC,UAAU;IAClC,sCAAuB,CAAC,UAAU;IAClC,sCAAuB,CAAC,cAAc;CACvC,CAAC;AAQK,MAAM,qBAAqB,GAAG,CACnC,GAAM,EACN,aAA4B,EACH,EAAE;IAC3B,OAAO,CACL,aAAa,CAAC,GAAG,CAAC;QACjB,qCAA6B,CAAC,GAAG,CAAC,CAAC,YAAwC,CAC7E,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,qBAAqB,yBAQhC;AAmCW,QAAA,6BAA6B,GAGtC;IACF,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAAE;QACrC,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,iBAAiB,CAAC,iBAAiB;QACxC,UAAU,EAAE,wBAAwB;QACpC,YAAY,EAAE,MAAM;KACrB;IACD,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,EAAE;QACzC,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,iBAAiB,CAAC,qBAAqB;QAC5C,UAAU,EAAE,4BAA4B;QACxC,YAAY,EAAE,KAAK;KACpB;IACD,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,EAAE;QAC5C,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,iBAAiB,CAAC,wBAAwB;QAC/C,UAAU,EAAE,+BAA+B;QAC3C,YAAY,EAAE,KAAK;KACpB;IACD,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,EAAE;QACxC,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,iBAAiB,CAAC,oBAAoB;QAC3C,UAAU,EAAE,2BAA2B;QACvC,YAAY,EAAE,CAAC;KAChB;IACD,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,EAAE;QAC1C,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,iBAAiB,CAAC,sBAAsB;QAC7C,UAAU,EAAE,wBAAwB;QACpC,YAAY,EAAE,EAAE;KACjB;IACD,CAAC,iBAAiB,CAAC,gCAAgC,CAAC,EAAE;QACpD,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,iBAAiB,CAAC,gCAAgC;QACvD,UAAU,EAAE,kCAAkC;QAC9C,YAAY,EAAE,EAAE;KACjB;IACD,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,EAAE;QAC1C,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,iBAAiB,CAAC,sBAAsB;QAC7C,UAAU,EAAE,wBAAwB;QACpC,YAAY,EAAE,6CAAqC;KACpD;IACD,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE;QAChC,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,iBAAiB,CAAC,YAAY;QACnC,UAAU,EAAE,kBAAkB;QAC9B,YAAY,EAAE,CAAC;KAChB;CACF,CAAC"}
1
+ {"version":3,"file":"cloud-configuration-settings.js","sourceRoot":"","sources":["../../../../src/v4/types/cloud/cloud-configuration-settings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const cloud_configuration_settings_1 = require("./cloud-configuration-settings");
4
+ describe("getCloudSettingsByKey", () => {
5
+ it("preserves SPOT_ROLLOUT 0 instead of falling back to default (100)", () => {
6
+ const settings = {
7
+ [cloud_configuration_settings_1.CloudSettingsKeys.SPOT_ROLLOUT]: 0,
8
+ };
9
+ expect((0, cloud_configuration_settings_1.getCloudSettingsByKey)(cloud_configuration_settings_1.CloudSettingsKeys.SPOT_ROLLOUT, settings)).toBe(0);
10
+ });
11
+ });
12
+ //# sourceMappingURL=cloud-configuration-settings.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-configuration-settings.spec.js","sourceRoot":"","sources":["../../../../src/v4/types/cloud/cloud-configuration-settings.spec.ts"],"names":[],"mappings":";;AACA,iFAA0F;AAE1F,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QACzE,MAAM,QAAQ,GAAG;YACb,CAAC,gDAAiB,CAAC,YAAY,CAAC,EAAE,CAAC;SACrB,CAAC;QAEnB,MAAM,CAAC,IAAA,oDAAqB,EAAC,gDAAiB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,16 @@
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;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ 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.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
+ //# 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,gCAAhB,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"}
@@ -1,3 +1,4 @@
1
+ export * from "./machine-resource-meta";
1
2
  export * from "./resource-provider-settings";
2
3
  export * from "./provider-settings";
3
4
  export * from "./request-data";
@@ -5,3 +6,4 @@ export * from "./game-creation-response";
5
6
  export * from "./allocation-data";
6
7
  export * from "./machine-provider-settings";
7
8
  export * from "./machine-class";
9
+ export * from "./gpu-type";
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./machine-resource-meta"), exports);
17
18
  __exportStar(require("./resource-provider-settings"), exports);
18
19
  __exportStar(require("./provider-settings"), exports);
19
20
  __exportStar(require("./request-data"), exports);
@@ -21,4 +22,5 @@ __exportStar(require("./game-creation-response"), exports);
21
22
  __exportStar(require("./allocation-data"), exports);
22
23
  __exportStar(require("./machine-provider-settings"), exports);
23
24
  __exportStar(require("./machine-class"), exports);
25
+ __exportStar(require("./gpu-type"), exports);
24
26
  //# 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,0DAAwC;AACxC,+DAA6C;AAC7C,sDAAoC;AACpC,iDAA+B;AAC/B,2DAAyC;AACzC,oDAAkC;AAClC,8DAA4C;AAC5C,kDAAgC;AAChC,6CAA2B"}
@@ -8,6 +8,12 @@ export declare enum LudeoCastV2MachineClass {
8
8
  G4_STANDARD_48 = "g4-standard-48",
9
9
  G4DN_2XLARGE = "g4dn.2xlarge",
10
10
  G4DN_4XLARGE = "g4dn.4xlarge",
11
+ G5_2XLARGE = "g5.2xlarge",
12
+ G5_4XLARGE = "g5.4xlarge",
11
13
  G6_2XLARGE = "g6.2xlarge",
12
- G6_4XLARGE = "g6.4xlarge"
14
+ G6_4XLARGE = "g6.4xlarge",
15
+ G6E_2XLARGE = "g6e.2xlarge",
16
+ G6E_4XLARGE = "g6e.4xlarge",
17
+ G7E_2XLARGE = "g7e.2xlarge",
18
+ G7E_4XLARGE = "g7e.4xlarge"
13
19
  }
@@ -12,7 +12,13 @@ var LudeoCastV2MachineClass;
12
12
  LudeoCastV2MachineClass["G4_STANDARD_48"] = "g4-standard-48";
13
13
  LudeoCastV2MachineClass["G4DN_2XLARGE"] = "g4dn.2xlarge";
14
14
  LudeoCastV2MachineClass["G4DN_4XLARGE"] = "g4dn.4xlarge";
15
+ LudeoCastV2MachineClass["G5_2XLARGE"] = "g5.2xlarge";
16
+ LudeoCastV2MachineClass["G5_4XLARGE"] = "g5.4xlarge";
15
17
  LudeoCastV2MachineClass["G6_2XLARGE"] = "g6.2xlarge";
16
18
  LudeoCastV2MachineClass["G6_4XLARGE"] = "g6.4xlarge";
19
+ LudeoCastV2MachineClass["G6E_2XLARGE"] = "g6e.2xlarge";
20
+ LudeoCastV2MachineClass["G6E_4XLARGE"] = "g6e.4xlarge";
21
+ LudeoCastV2MachineClass["G7E_2XLARGE"] = "g7e.2xlarge";
22
+ LudeoCastV2MachineClass["G7E_4XLARGE"] = "g7e.4xlarge";
17
23
  })(LudeoCastV2MachineClass || (exports.LudeoCastV2MachineClass = LudeoCastV2MachineClass = {}));
18
24
  //# sourceMappingURL=machine-class.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"machine-class.js","sourceRoot":"","sources":["../../../../../src/v4/types/cloud/ludeocast-v2/machine-class.ts"],"names":[],"mappings":";;;AAAA,IAAY,uBAcX;AAdD,WAAY,uBAAuB;IAEjC,0DAA+B,CAAA;IAC/B,4DAAiC,CAAA;IACjC,4DAAiC,CAAA;IACjC,0DAA+B,CAAA;IAC/B,4DAAiC,CAAA;IACjC,4DAAiC,CAAA;IACjC,4DAAiC,CAAA;IAEjC,wDAA6B,CAAA;IAC7B,wDAA6B,CAAA;IAC7B,oDAAyB,CAAA;IACzB,oDAAyB,CAAA;AAC3B,CAAC,EAdW,uBAAuB,uCAAvB,uBAAuB,QAclC"}
1
+ {"version":3,"file":"machine-class.js","sourceRoot":"","sources":["../../../../../src/v4/types/cloud/ludeocast-v2/machine-class.ts"],"names":[],"mappings":";;;AAAA,IAAY,uBAoBX;AApBD,WAAY,uBAAuB;IAEjC,0DAA+B,CAAA;IAC/B,4DAAiC,CAAA;IACjC,4DAAiC,CAAA;IACjC,0DAA+B,CAAA;IAC/B,4DAAiC,CAAA;IACjC,4DAAiC,CAAA;IACjC,4DAAiC,CAAA;IAEjC,wDAA6B,CAAA;IAC7B,wDAA6B,CAAA;IAC7B,oDAAyB,CAAA;IACzB,oDAAyB,CAAA;IACzB,oDAAyB,CAAA;IACzB,oDAAyB,CAAA;IACzB,sDAA2B,CAAA;IAC3B,sDAA2B,CAAA;IAC3B,sDAA2B,CAAA;IAC3B,sDAA2B,CAAA;AAC7B,CAAC,EApBW,uBAAuB,uCAAvB,uBAAuB,QAoBlC"}
@@ -0,0 +1,3 @@
1
+ export interface MachineResourceMeta {
2
+ nvidiaDriverVersion?: string;
3
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=machine-resource-meta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machine-resource-meta.js","sourceRoot":"","sources":["../../../../../src/v4/types/cloud/ludeocast-v2/machine-resource-meta.ts"],"names":[],"mappings":""}
@@ -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
+ downloadUrls: 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,27 @@ 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.IsArray)(),
30
+ (0, class_validator_1.IsString)({ each: true }),
31
+ __metadata("design:type", Array)
32
+ ], RuntimeArtifactsPayload.prototype, "downloadUrls", void 0);
20
33
  class ProtonGameCreationPayload {
21
34
  }
22
35
  exports.ProtonGameCreationPayload = ProtonGameCreationPayload;
@@ -35,9 +48,19 @@ __decorate([
35
48
  __metadata("design:type", Array)
36
49
  ], ProtonGameCreationPayload.prototype, "additionalLaunchArgs", void 0);
37
50
  __decorate([
38
- (0, class_validator_1.IsString)(),
51
+ (0, class_validator_1.IsUUID)(),
39
52
  __metadata("design:type", String)
40
53
  ], ProtonGameCreationPayload.prototype, "buildId", void 0);
54
+ __decorate([
55
+ (0, class_validator_1.IsOptional)(),
56
+ (0, class_validator_1.IsString)(),
57
+ __metadata("design:type", String)
58
+ ], ProtonGameCreationPayload.prototype, "gameVersionId", void 0);
59
+ __decorate([
60
+ (0, class_validator_1.IsOptional)(),
61
+ (0, decorators_1.ValidateNestedType)(() => RuntimeArtifactsPayload),
62
+ __metadata("design:type", RuntimeArtifactsPayload)
63
+ ], ProtonGameCreationPayload.prototype, "runtimeArtifacts", void 0);
41
64
  class AndroidGameCreationPayload {
42
65
  }
43
66
  exports.AndroidGameCreationPayload = AndroidGameCreationPayload;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/v4/types/site-controller/types.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA0E;AAK1E,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,kCAAmB,CAAA;IACnB,sCAAuB,CAAA;AACzB,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB;AAED,MAAa,yBAAyB;CAcrC;AAdD,8DAcC;AAZC;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,0BAAQ,GAAE;;0DACK;AAGlB,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"}
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;CAQnC;AARD,0DAQC;AANC;IADC,IAAA,0BAAQ,GAAE;;8DACW;AAKtB;IAFC,IAAA,yBAAO,GAAE;IACT,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;6DACF;AAGzB,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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ludeo/cloud-common",
3
- "version": "1.2.258-ygbeta1",
3
+ "version": "1.2.258",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "author": "Yahil Didi",
@@ -95,4 +95,8 @@ export class CloudSessionContext {
95
95
  @IsOptional()
96
96
  @ValidateNestedType(() => ClientGeoData)
97
97
  clientGeoData?: ClientGeoData;
98
+
99
+ @IsOptional()
100
+ @IsString()
101
+ machineClass?: string;
98
102
  }
@@ -2,6 +2,7 @@ import { IsUUID } from "class-validator";
2
2
  import { BuildContext } from "../contexts/build-context";
3
3
  import { ValidateNestedType } from "../../decorators/validate-nested-type.decorator";
4
4
  import { LudeoEvent } from "../../infra/ludeo-event";
5
+ import { BuildAssignmentProvidersSettings } from "../types/build";
5
6
 
6
7
  export class BuildAssignmentSettingsReadyPayload {
7
8
  @IsUUID()
@@ -9,6 +10,9 @@ export class BuildAssignmentSettingsReadyPayload {
9
10
 
10
11
  @IsUUID()
11
12
  buildId: string;
13
+
14
+ @ValidateNestedType(() => BuildAssignmentProvidersSettings)
15
+ assignmentProvidersSettings: BuildAssignmentProvidersSettings;
12
16
  }
13
17
 
14
18
  export class BuildAssignmentSettingsReady extends LudeoEvent {
@@ -0,0 +1,50 @@
1
+ import { LudeoEvent } from '../../../infra';
2
+ import { ValidateNestedType } from '../../../decorators';
3
+ import { IsEnum, IsNumber, IsString, IsUUID } from 'class-validator';
4
+ import { CloudSessionContext } from '../../contexts';
5
+ import { CloudSessionStatus } from '../../../v4/types/cloud/session';
6
+
7
+ export class CloudSessionPreemptedPayload {
8
+ @IsUUID()
9
+ cloudSessionId: string;
10
+
11
+ @IsUUID()
12
+ userId: string;
13
+
14
+ @IsEnum(CloudSessionStatus)
15
+ status: CloudSessionStatus;
16
+
17
+ @IsUUID()
18
+ machineResourceId: string;
19
+
20
+ @IsUUID()
21
+ machinePoolId: string;
22
+
23
+ @IsString()
24
+ machineClass: string;
25
+
26
+ @IsUUID()
27
+ gameResourceId: string;
28
+
29
+ @IsUUID()
30
+ ludeoResourceId: string;
31
+
32
+ @IsNumber()
33
+ gracePeriodMs: number;
34
+ }
35
+
36
+ export class CloudSessionPreempted extends LudeoEvent {
37
+ static readonly EVENT_NAME = 'cloud-sessions.cloud-session-preempted';
38
+
39
+ constructor(payload: CloudSessionPreemptedPayload, context: CloudSessionContext) {
40
+ super(CloudSessionPreempted.EVENT_NAME);
41
+ this.payload = payload;
42
+ this.context = context;
43
+ }
44
+
45
+ @ValidateNestedType(() => CloudSessionPreemptedPayload)
46
+ payload: CloudSessionPreemptedPayload;
47
+
48
+ @ValidateNestedType(() => CloudSessionContext)
49
+ context: CloudSessionContext;
50
+ }
@@ -0,0 +1 @@
1
+ export * from './cloud-session-preempted';
@@ -42,6 +42,10 @@ export class CreateGameResourceRequestPayload<
42
42
  @IsOptional()
43
43
  @IsString()
44
44
  gameId?: string;
45
+
46
+ @IsOptional()
47
+ @IsString()
48
+ gameVersionId?: string;
45
49
  }
46
50
 
47
51
  export class CreateGameResourceRequest extends LudeoEvent {
@@ -13,6 +13,9 @@ export class ExportLudeocastLogsRequestPayload {
13
13
  @IsString()
14
14
  logsUploadUrl: string;
15
15
 
16
+ @IsString()
17
+ site: string;
18
+
16
19
  @IsOptional()
17
20
  @IsString()
18
21
  sourceService?: string;
@@ -4,8 +4,9 @@ import { ValidateNestedType } from "../../decorators/validate-nested-type.decora
4
4
  import { CloudResourceContext } from "../contexts";
5
5
 
6
6
  export class GameplayWaitingForUserPayload {
7
+ @IsOptional()
7
8
  @IsUUID()
8
- ludeoResourceId: string;
9
+ ludeoResourceId?: string;
9
10
 
10
11
  @IsUUID()
11
12
  @IsOptional()
@@ -186,3 +186,4 @@ export * as LudeocastAgent from "./ludeocast-agent";
186
186
  export * as SonicServer from "./sonic-server";
187
187
  export * as CloudSessionAllocator from "./cloud-session-allocator";
188
188
  export * as CloudResourceMonitor from "./cloud-resource-monitor";
189
+ export * as CloudSessions from "./cloud-sessions";
@@ -25,6 +25,10 @@ export class ResourceUpdatePayload extends BaseCommandPayload {
25
25
  @IsString()
26
26
  reason?: string;
27
27
 
28
+ /**
29
+ * Per-update metadata. Machine lifecycle keys follow `MachineResourceMeta` (cloud-common); game
30
+ * updates may include other keys (e.g. `deviceId` on GameLaunched).
31
+ */
28
32
  @IsOptional()
29
33
  meta?: Record<string, any>;
30
34
  }
@@ -1,6 +1,6 @@
1
1
  import { LudeoEvent } from "../../../infra";
2
2
  import { ValidateNestedType } from "../../../decorators";
3
- import { IsArray, IsDefined, IsEnum, IsNumber, IsOptional, IsString } from "class-validator";
3
+ import { IsArray, IsDefined, IsEnum, IsNumber, IsObject, IsOptional, IsString } from "class-validator";
4
4
  import { ProvisionerContext } from "../../contexts";
5
5
  import { LudeoFeatures } from "../../types/predictor";
6
6
  import { CloudPoolType } from "../../types/pools";
@@ -19,6 +19,9 @@ export class UserLocationDemandAllocation {
19
19
  demand: number;
20
20
  }
21
21
 
22
+ /** gamePoolId → allocated units on this machine pool (ProvisioningEnded machine pool metadata only). */
23
+ export type GamePoolAllocationSplits = Record<string, number>;
24
+
22
25
  export class ProvisionedPoolMetadata {
23
26
  @IsString()
24
27
  instanceType: string;
@@ -42,6 +45,11 @@ export class ProvisionedPoolMetadata {
42
45
  @IsOptional()
43
46
  effectiveSupplyConstraint?: number;
44
47
 
48
+ /** Machine pools only: allocated units per game pool id on this machine pool (sums to pool size when present). */
49
+ @IsOptional()
50
+ @IsObject()
51
+ gamePoolAllocationSplits?: GamePoolAllocationSplits;
52
+
45
53
  }
46
54
 
47
55
  export class ProvisionedPool {
@@ -10,6 +10,14 @@ export class MachineLudeocastPreemptedPayload {
10
10
  @IsUUID()
11
11
  @IsOptional()
12
12
  machinePoolId?: string;
13
+
14
+ @IsOptional()
15
+ @IsString()
16
+ machineClass?: string;
17
+
18
+ @IsOptional()
19
+ @IsString()
20
+ region?: string;
13
21
 
14
22
  @IsOptional()
15
23
  @IsArray()