@rebornteam/reborn-api 4.6.0 → 4.7.0

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.
@@ -109,6 +109,7 @@ docs/Region.md
109
109
  docs/ReportApi.md
110
110
  docs/ReportCategory.md
111
111
  docs/SearchKind.md
112
+ docs/ServerHeartbeatRequest.md
112
113
  docs/ServerRegisterRequest.md
113
114
  docs/ServerSessionDTO.md
114
115
  docs/ServerSessionsApi.md
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- ## @rebornteam/reborn-api@4.6.0
1
+ ## @rebornteam/reborn-api@4.7.0
2
2
 
3
3
  This generator creates TypeScript/JavaScript client that utilizes [axios](https://github.com/axios/axios). The generated Node module can be used in the following environments:
4
4
 
@@ -36,7 +36,7 @@ navigate to the folder of your consuming project and run one of the following co
36
36
  _published:_
37
37
 
38
38
  ```
39
- npm install @rebornteam/reborn-api@4.6.0 --save
39
+ npm install @rebornteam/reborn-api@4.7.0 --save
40
40
  ```
41
41
 
42
42
  _unPublished (not recommended):_
@@ -214,6 +214,7 @@ Class | Method | HTTP request | Description
214
214
  - [Region](docs/Region.md)
215
215
  - [ReportCategory](docs/ReportCategory.md)
216
216
  - [SearchKind](docs/SearchKind.md)
217
+ - [ServerHeartbeatRequest](docs/ServerHeartbeatRequest.md)
217
218
  - [ServerRegisterRequest](docs/ServerRegisterRequest.md)
218
219
  - [ServerSessionDTO](docs/ServerSessionDTO.md)
219
220
  - [SliceAdminAltAccount](docs/SliceAdminAltAccount.md)
package/api.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * Reborn API
5
5
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
6
6
  *
7
- * The version of the OpenAPI document: 4.6.0
7
+ * The version of the OpenAPI document: 4.7.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -775,6 +775,10 @@ export interface AdminPlayerSession {
775
775
  * Closed session duration in seconds (ended_at − started_at). Null while active.
776
776
  */
777
777
  'durationSeconds'?: number | null;
778
+ /**
779
+ * When the player transferred to another server, the id of the session they moved to. Null for a normal disconnect or an active session.
780
+ */
781
+ 'transferredTo'?: string | null;
778
782
  }
779
783
  /**
780
784
  * Aggregate session statistics for one player. Computed on demand from player_session.
@@ -1821,6 +1825,15 @@ export const SearchKind = {
1821
1825
  export type SearchKind = typeof SearchKind[keyof typeof SearchKind];
1822
1826
 
1823
1827
 
1828
+ /**
1829
+ * Optional heartbeat payload carrying the players currently on this server session.
1830
+ */
1831
+ export interface ServerHeartbeatRequest {
1832
+ /**
1833
+ * UUIDs of players currently on this server session. Open sessions for this server whose player is absent from this list are auto-closed. Omit to heartbeat without reconciling player sessions.
1834
+ */
1835
+ 'activePlayers'?: Array<string> | null;
1836
+ }
1824
1837
  export interface ServerRegisterRequest {
1825
1838
  'region': Region;
1826
1839
  'gameType': GameType;
@@ -7761,13 +7774,14 @@ export class ReportApi extends BaseAPI {
7761
7774
  export const ServerSessionsApiAxiosParamCreator = function (configuration?: Configuration) {
7762
7775
  return {
7763
7776
  /**
7764
- * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server.
7777
+ * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server. Optionally include an `activePlayers` list (the UUIDs currently on this server). When present, the API reconciles player sessions for this server: any open session whose player is absent from the list is closed, and linked to the player\'s new session if they transferred to another server. Omit the body for a plain liveness heartbeat.
7765
7778
  * @summary Send a heartbeat
7766
7779
  * @param {string} id Session UUID returned from the registration call
7780
+ * @param {ServerHeartbeatRequest} [serverHeartbeatRequest]
7767
7781
  * @param {*} [options] Override http request option.
7768
7782
  * @throws {RequiredError}
7769
7783
  */
7770
- heartbeat: async (id: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
7784
+ heartbeat: async (id: string, serverHeartbeatRequest?: ServerHeartbeatRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
7771
7785
  // verify required parameter 'id' is not null or undefined
7772
7786
  assertParamExists('heartbeat', 'id', id)
7773
7787
  const localVarPath = `/v1/servers/{id}/heartbeat`
@@ -7787,10 +7801,12 @@ export const ServerSessionsApiAxiosParamCreator = function (configuration?: Conf
7787
7801
  // http bearer authentication required
7788
7802
  await setBearerAuthToObject(localVarHeaderParameter, configuration)
7789
7803
 
7804
+ localVarHeaderParameter['Content-Type'] = 'application/json';
7790
7805
 
7791
7806
  setSearchParams(localVarUrlObj, localVarQueryParameter);
7792
7807
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
7793
7808
  localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
7809
+ localVarRequestOptions.data = serializeDataIfNeeded(serverHeartbeatRequest, localVarRequestOptions, configuration)
7794
7810
 
7795
7811
  return {
7796
7812
  url: toPathString(localVarUrlObj),
@@ -7951,14 +7967,15 @@ export const ServerSessionsApiFp = function(configuration?: Configuration) {
7951
7967
  const localVarAxiosParamCreator = ServerSessionsApiAxiosParamCreator(configuration)
7952
7968
  return {
7953
7969
  /**
7954
- * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server.
7970
+ * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server. Optionally include an `activePlayers` list (the UUIDs currently on this server). When present, the API reconciles player sessions for this server: any open session whose player is absent from the list is closed, and linked to the player\'s new session if they transferred to another server. Omit the body for a plain liveness heartbeat.
7955
7971
  * @summary Send a heartbeat
7956
7972
  * @param {string} id Session UUID returned from the registration call
7973
+ * @param {ServerHeartbeatRequest} [serverHeartbeatRequest]
7957
7974
  * @param {*} [options] Override http request option.
7958
7975
  * @throws {RequiredError}
7959
7976
  */
7960
- async heartbeat(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
7961
- const localVarAxiosArgs = await localVarAxiosParamCreator.heartbeat(id, options);
7977
+ async heartbeat(id: string, serverHeartbeatRequest?: ServerHeartbeatRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
7978
+ const localVarAxiosArgs = await localVarAxiosParamCreator.heartbeat(id, serverHeartbeatRequest, options);
7962
7979
  const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
7963
7980
  const localVarOperationServerBasePath = operationServerMap['ServerSessionsApi.heartbeat']?.[localVarOperationServerIndex]?.url;
7964
7981
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
@@ -8023,14 +8040,15 @@ export const ServerSessionsApiFactory = function (configuration?: Configuration,
8023
8040
  const localVarFp = ServerSessionsApiFp(configuration)
8024
8041
  return {
8025
8042
  /**
8026
- * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server.
8043
+ * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server. Optionally include an `activePlayers` list (the UUIDs currently on this server). When present, the API reconciles player sessions for this server: any open session whose player is absent from the list is closed, and linked to the player\'s new session if they transferred to another server. Omit the body for a plain liveness heartbeat.
8027
8044
  * @summary Send a heartbeat
8028
8045
  * @param {string} id Session UUID returned from the registration call
8046
+ * @param {ServerHeartbeatRequest} [serverHeartbeatRequest]
8029
8047
  * @param {*} [options] Override http request option.
8030
8048
  * @throws {RequiredError}
8031
8049
  */
8032
- heartbeat(id: string, options?: RawAxiosRequestConfig): AxiosPromise<void> {
8033
- return localVarFp.heartbeat(id, options).then((request) => request(axios, basePath));
8050
+ heartbeat(id: string, serverHeartbeatRequest?: ServerHeartbeatRequest, options?: RawAxiosRequestConfig): AxiosPromise<void> {
8051
+ return localVarFp.heartbeat(id, serverHeartbeatRequest, options).then((request) => request(axios, basePath));
8034
8052
  },
8035
8053
  /**
8036
8054
  * Returns all server sessions — both online and historical — ordered by start time descending. Used by the web UI to populate the session filter dropdown.
@@ -8078,14 +8096,15 @@ export const ServerSessionsApiFactory = function (configuration?: Configuration,
8078
8096
  */
8079
8097
  export class ServerSessionsApi extends BaseAPI {
8080
8098
  /**
8081
- * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server.
8099
+ * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server. Optionally include an `activePlayers` list (the UUIDs currently on this server). When present, the API reconciles player sessions for this server: any open session whose player is absent from the list is closed, and linked to the player\'s new session if they transferred to another server. Omit the body for a plain liveness heartbeat.
8082
8100
  * @summary Send a heartbeat
8083
8101
  * @param {string} id Session UUID returned from the registration call
8102
+ * @param {ServerHeartbeatRequest} [serverHeartbeatRequest]
8084
8103
  * @param {*} [options] Override http request option.
8085
8104
  * @throws {RequiredError}
8086
8105
  */
8087
- public heartbeat(id: string, options?: RawAxiosRequestConfig) {
8088
- return ServerSessionsApiFp(this.configuration).heartbeat(id, options).then((request) => request(this.axios, this.basePath));
8106
+ public heartbeat(id: string, serverHeartbeatRequest?: ServerHeartbeatRequest, options?: RawAxiosRequestConfig) {
8107
+ return ServerSessionsApiFp(this.configuration).heartbeat(id, serverHeartbeatRequest, options).then((request) => request(this.axios, this.basePath));
8089
8108
  }
8090
8109
 
8091
8110
  /**
package/base.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * Reborn API
5
5
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
6
6
  *
7
- * The version of the OpenAPI document: 4.6.0
7
+ * The version of the OpenAPI document: 4.7.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
package/common.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * Reborn API
5
5
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
6
6
  *
7
- * The version of the OpenAPI document: 4.6.0
7
+ * The version of the OpenAPI document: 4.7.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
package/configuration.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  * Reborn API
4
4
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
5
5
  *
6
- * The version of the OpenAPI document: 4.6.0
6
+ * The version of the OpenAPI document: 4.7.0
7
7
  *
8
8
  *
9
9
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
package/dist/api.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * Reborn API
3
3
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
4
4
  *
5
- * The version of the OpenAPI document: 4.6.0
5
+ * The version of the OpenAPI document: 4.7.0
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -755,6 +755,10 @@ export interface AdminPlayerSession {
755
755
  * Closed session duration in seconds (ended_at − started_at). Null while active.
756
756
  */
757
757
  'durationSeconds'?: number | null;
758
+ /**
759
+ * When the player transferred to another server, the id of the session they moved to. Null for a normal disconnect or an active session.
760
+ */
761
+ 'transferredTo'?: string | null;
758
762
  }
759
763
  /**
760
764
  * Aggregate session statistics for one player. Computed on demand from player_session.
@@ -1737,6 +1741,15 @@ export declare const SearchKind: {
1737
1741
  readonly Ip: "IP";
1738
1742
  };
1739
1743
  export type SearchKind = typeof SearchKind[keyof typeof SearchKind];
1744
+ /**
1745
+ * Optional heartbeat payload carrying the players currently on this server session.
1746
+ */
1747
+ export interface ServerHeartbeatRequest {
1748
+ /**
1749
+ * UUIDs of players currently on this server session. Open sessions for this server whose player is absent from this list are auto-closed. Omit to heartbeat without reconciling player sessions.
1750
+ */
1751
+ 'activePlayers'?: Array<string> | null;
1752
+ }
1740
1753
  export interface ServerRegisterRequest {
1741
1754
  'region': Region;
1742
1755
  'gameType': GameType;
@@ -4546,13 +4559,14 @@ export declare class ReportApi extends BaseAPI {
4546
4559
  */
4547
4560
  export declare const ServerSessionsApiAxiosParamCreator: (configuration?: Configuration) => {
4548
4561
  /**
4549
- * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server.
4562
+ * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server. Optionally include an `activePlayers` list (the UUIDs currently on this server). When present, the API reconciles player sessions for this server: any open session whose player is absent from the list is closed, and linked to the player\'s new session if they transferred to another server. Omit the body for a plain liveness heartbeat.
4550
4563
  * @summary Send a heartbeat
4551
4564
  * @param {string} id Session UUID returned from the registration call
4565
+ * @param {ServerHeartbeatRequest} [serverHeartbeatRequest]
4552
4566
  * @param {*} [options] Override http request option.
4553
4567
  * @throws {RequiredError}
4554
4568
  */
4555
- heartbeat: (id: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
4569
+ heartbeat: (id: string, serverHeartbeatRequest?: ServerHeartbeatRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
4556
4570
  /**
4557
4571
  * Returns all server sessions — both online and historical — ordered by start time descending. Used by the web UI to populate the session filter dropdown.
4558
4572
  * @summary List all server sessions
@@ -4589,13 +4603,14 @@ export declare const ServerSessionsApiAxiosParamCreator: (configuration?: Config
4589
4603
  */
4590
4604
  export declare const ServerSessionsApiFp: (configuration?: Configuration) => {
4591
4605
  /**
4592
- * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server.
4606
+ * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server. Optionally include an `activePlayers` list (the UUIDs currently on this server). When present, the API reconciles player sessions for this server: any open session whose player is absent from the list is closed, and linked to the player\'s new session if they transferred to another server. Omit the body for a plain liveness heartbeat.
4593
4607
  * @summary Send a heartbeat
4594
4608
  * @param {string} id Session UUID returned from the registration call
4609
+ * @param {ServerHeartbeatRequest} [serverHeartbeatRequest]
4595
4610
  * @param {*} [options] Override http request option.
4596
4611
  * @throws {RequiredError}
4597
4612
  */
4598
- heartbeat(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
4613
+ heartbeat(id: string, serverHeartbeatRequest?: ServerHeartbeatRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
4599
4614
  /**
4600
4615
  * Returns all server sessions — both online and historical — ordered by start time descending. Used by the web UI to populate the session filter dropdown.
4601
4616
  * @summary List all server sessions
@@ -4632,13 +4647,14 @@ export declare const ServerSessionsApiFp: (configuration?: Configuration) => {
4632
4647
  */
4633
4648
  export declare const ServerSessionsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
4634
4649
  /**
4635
- * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server.
4650
+ * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server. Optionally include an `activePlayers` list (the UUIDs currently on this server). When present, the API reconciles player sessions for this server: any open session whose player is absent from the list is closed, and linked to the player\'s new session if they transferred to another server. Omit the body for a plain liveness heartbeat.
4636
4651
  * @summary Send a heartbeat
4637
4652
  * @param {string} id Session UUID returned from the registration call
4653
+ * @param {ServerHeartbeatRequest} [serverHeartbeatRequest]
4638
4654
  * @param {*} [options] Override http request option.
4639
4655
  * @throws {RequiredError}
4640
4656
  */
4641
- heartbeat(id: string, options?: RawAxiosRequestConfig): AxiosPromise<void>;
4657
+ heartbeat(id: string, serverHeartbeatRequest?: ServerHeartbeatRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
4642
4658
  /**
4643
4659
  * Returns all server sessions — both online and historical — ordered by start time descending. Used by the web UI to populate the session filter dropdown.
4644
4660
  * @summary List all server sessions
@@ -4675,13 +4691,14 @@ export declare const ServerSessionsApiFactory: (configuration?: Configuration, b
4675
4691
  */
4676
4692
  export declare class ServerSessionsApi extends BaseAPI {
4677
4693
  /**
4678
- * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server.
4694
+ * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server. Optionally include an `activePlayers` list (the UUIDs currently on this server). When present, the API reconciles player sessions for this server: any open session whose player is absent from the list is closed, and linked to the player\'s new session if they transferred to another server. Omit the body for a plain liveness heartbeat.
4679
4695
  * @summary Send a heartbeat
4680
4696
  * @param {string} id Session UUID returned from the registration call
4697
+ * @param {ServerHeartbeatRequest} [serverHeartbeatRequest]
4681
4698
  * @param {*} [options] Override http request option.
4682
4699
  * @throws {RequiredError}
4683
4700
  */
4684
- heartbeat(id: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
4701
+ heartbeat(id: string, serverHeartbeatRequest?: ServerHeartbeatRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
4685
4702
  /**
4686
4703
  * Returns all server sessions — both online and historical — ordered by start time descending. Used by the web UI to populate the session filter dropdown.
4687
4704
  * @summary List all server sessions
package/dist/api.js CHANGED
@@ -5,7 +5,7 @@
5
5
  * Reborn API
6
6
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
7
7
  *
8
- * The version of the OpenAPI document: 4.6.0
8
+ * The version of the OpenAPI document: 4.7.0
9
9
  *
10
10
  *
11
11
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -5589,13 +5589,14 @@ exports.ReportApi = ReportApi;
5589
5589
  const ServerSessionsApiAxiosParamCreator = function (configuration) {
5590
5590
  return {
5591
5591
  /**
5592
- * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server.
5592
+ * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server. Optionally include an `activePlayers` list (the UUIDs currently on this server). When present, the API reconciles player sessions for this server: any open session whose player is absent from the list is closed, and linked to the player\'s new session if they transferred to another server. Omit the body for a plain liveness heartbeat.
5593
5593
  * @summary Send a heartbeat
5594
5594
  * @param {string} id Session UUID returned from the registration call
5595
+ * @param {ServerHeartbeatRequest} [serverHeartbeatRequest]
5595
5596
  * @param {*} [options] Override http request option.
5596
5597
  * @throws {RequiredError}
5597
5598
  */
5598
- heartbeat: (id_1, ...args_1) => __awaiter(this, [id_1, ...args_1], void 0, function* (id, options = {}) {
5599
+ heartbeat: (id_1, serverHeartbeatRequest_1, ...args_1) => __awaiter(this, [id_1, serverHeartbeatRequest_1, ...args_1], void 0, function* (id, serverHeartbeatRequest, options = {}) {
5599
5600
  // verify required parameter 'id' is not null or undefined
5600
5601
  (0, common_1.assertParamExists)('heartbeat', 'id', id);
5601
5602
  const localVarPath = `/v1/servers/{id}/heartbeat`
@@ -5612,9 +5613,11 @@ const ServerSessionsApiAxiosParamCreator = function (configuration) {
5612
5613
  // authentication DiscordAuth required
5613
5614
  // http bearer authentication required
5614
5615
  yield (0, common_1.setBearerAuthToObject)(localVarHeaderParameter, configuration);
5616
+ localVarHeaderParameter['Content-Type'] = 'application/json';
5615
5617
  (0, common_1.setSearchParams)(localVarUrlObj, localVarQueryParameter);
5616
5618
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
5617
5619
  localVarRequestOptions.headers = Object.assign(Object.assign(Object.assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
5620
+ localVarRequestOptions.data = (0, common_1.serializeDataIfNeeded)(serverHeartbeatRequest, localVarRequestOptions, configuration);
5618
5621
  return {
5619
5622
  url: (0, common_1.toPathString)(localVarUrlObj),
5620
5623
  options: localVarRequestOptions,
@@ -5754,16 +5757,17 @@ const ServerSessionsApiFp = function (configuration) {
5754
5757
  const localVarAxiosParamCreator = (0, exports.ServerSessionsApiAxiosParamCreator)(configuration);
5755
5758
  return {
5756
5759
  /**
5757
- * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server.
5760
+ * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server. Optionally include an `activePlayers` list (the UUIDs currently on this server). When present, the API reconciles player sessions for this server: any open session whose player is absent from the list is closed, and linked to the player\'s new session if they transferred to another server. Omit the body for a plain liveness heartbeat.
5758
5761
  * @summary Send a heartbeat
5759
5762
  * @param {string} id Session UUID returned from the registration call
5763
+ * @param {ServerHeartbeatRequest} [serverHeartbeatRequest]
5760
5764
  * @param {*} [options] Override http request option.
5761
5765
  * @throws {RequiredError}
5762
5766
  */
5763
- heartbeat(id, options) {
5767
+ heartbeat(id, serverHeartbeatRequest, options) {
5764
5768
  return __awaiter(this, void 0, void 0, function* () {
5765
5769
  var _a, _b, _c;
5766
- const localVarAxiosArgs = yield localVarAxiosParamCreator.heartbeat(id, options);
5770
+ const localVarAxiosArgs = yield localVarAxiosParamCreator.heartbeat(id, serverHeartbeatRequest, options);
5767
5771
  const localVarOperationServerIndex = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
5768
5772
  const localVarOperationServerBasePath = (_c = (_b = base_1.operationServerMap['ServerSessionsApi.heartbeat']) === null || _b === void 0 ? void 0 : _b[localVarOperationServerIndex]) === null || _c === void 0 ? void 0 : _c.url;
5769
5773
  return (axios, basePath) => (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
@@ -5841,14 +5845,15 @@ const ServerSessionsApiFactory = function (configuration, basePath, axios) {
5841
5845
  const localVarFp = (0, exports.ServerSessionsApiFp)(configuration);
5842
5846
  return {
5843
5847
  /**
5844
- * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server.
5848
+ * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server. Optionally include an `activePlayers` list (the UUIDs currently on this server). When present, the API reconciles player sessions for this server: any open session whose player is absent from the list is closed, and linked to the player\'s new session if they transferred to another server. Omit the body for a plain liveness heartbeat.
5845
5849
  * @summary Send a heartbeat
5846
5850
  * @param {string} id Session UUID returned from the registration call
5851
+ * @param {ServerHeartbeatRequest} [serverHeartbeatRequest]
5847
5852
  * @param {*} [options] Override http request option.
5848
5853
  * @throws {RequiredError}
5849
5854
  */
5850
- heartbeat(id, options) {
5851
- return localVarFp.heartbeat(id, options).then((request) => request(axios, basePath));
5855
+ heartbeat(id, serverHeartbeatRequest, options) {
5856
+ return localVarFp.heartbeat(id, serverHeartbeatRequest, options).then((request) => request(axios, basePath));
5852
5857
  },
5853
5858
  /**
5854
5859
  * Returns all server sessions — both online and historical — ordered by start time descending. Used by the web UI to populate the session filter dropdown.
@@ -5896,14 +5901,15 @@ exports.ServerSessionsApiFactory = ServerSessionsApiFactory;
5896
5901
  */
5897
5902
  class ServerSessionsApi extends base_1.BaseAPI {
5898
5903
  /**
5899
- * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server.
5904
+ * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server. Optionally include an `activePlayers` list (the UUIDs currently on this server). When present, the API reconciles player sessions for this server: any open session whose player is absent from the list is closed, and linked to the player\'s new session if they transferred to another server. Omit the body for a plain liveness heartbeat.
5900
5905
  * @summary Send a heartbeat
5901
5906
  * @param {string} id Session UUID returned from the registration call
5907
+ * @param {ServerHeartbeatRequest} [serverHeartbeatRequest]
5902
5908
  * @param {*} [options] Override http request option.
5903
5909
  * @throws {RequiredError}
5904
5910
  */
5905
- heartbeat(id, options) {
5906
- return (0, exports.ServerSessionsApiFp)(this.configuration).heartbeat(id, options).then((request) => request(this.axios, this.basePath));
5911
+ heartbeat(id, serverHeartbeatRequest, options) {
5912
+ return (0, exports.ServerSessionsApiFp)(this.configuration).heartbeat(id, serverHeartbeatRequest, options).then((request) => request(this.axios, this.basePath));
5907
5913
  }
5908
5914
  /**
5909
5915
  * Returns all server sessions — both online and historical — ordered by start time descending. Used by the web UI to populate the session filter dropdown.
package/dist/base.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * Reborn API
3
3
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
4
4
  *
5
- * The version of the OpenAPI document: 4.6.0
5
+ * The version of the OpenAPI document: 4.7.0
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
package/dist/base.js CHANGED
@@ -5,7 +5,7 @@
5
5
  * Reborn API
6
6
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
7
7
  *
8
- * The version of the OpenAPI document: 4.6.0
8
+ * The version of the OpenAPI document: 4.7.0
9
9
  *
10
10
  *
11
11
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
package/dist/common.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * Reborn API
3
3
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
4
4
  *
5
- * The version of the OpenAPI document: 4.6.0
5
+ * The version of the OpenAPI document: 4.7.0
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
package/dist/common.js CHANGED
@@ -5,7 +5,7 @@
5
5
  * Reborn API
6
6
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
7
7
  *
8
- * The version of the OpenAPI document: 4.6.0
8
+ * The version of the OpenAPI document: 4.7.0
9
9
  *
10
10
  *
11
11
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,7 +2,7 @@
2
2
  * Reborn API
3
3
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
4
4
  *
5
- * The version of the OpenAPI document: 4.6.0
5
+ * The version of the OpenAPI document: 4.7.0
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * Reborn API
5
5
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
6
6
  *
7
- * The version of the OpenAPI document: 4.6.0
7
+ * The version of the OpenAPI document: 4.7.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
package/dist/esm/api.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * Reborn API
3
3
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
4
4
  *
5
- * The version of the OpenAPI document: 4.6.0
5
+ * The version of the OpenAPI document: 4.7.0
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -755,6 +755,10 @@ export interface AdminPlayerSession {
755
755
  * Closed session duration in seconds (ended_at − started_at). Null while active.
756
756
  */
757
757
  'durationSeconds'?: number | null;
758
+ /**
759
+ * When the player transferred to another server, the id of the session they moved to. Null for a normal disconnect or an active session.
760
+ */
761
+ 'transferredTo'?: string | null;
758
762
  }
759
763
  /**
760
764
  * Aggregate session statistics for one player. Computed on demand from player_session.
@@ -1737,6 +1741,15 @@ export declare const SearchKind: {
1737
1741
  readonly Ip: "IP";
1738
1742
  };
1739
1743
  export type SearchKind = typeof SearchKind[keyof typeof SearchKind];
1744
+ /**
1745
+ * Optional heartbeat payload carrying the players currently on this server session.
1746
+ */
1747
+ export interface ServerHeartbeatRequest {
1748
+ /**
1749
+ * UUIDs of players currently on this server session. Open sessions for this server whose player is absent from this list are auto-closed. Omit to heartbeat without reconciling player sessions.
1750
+ */
1751
+ 'activePlayers'?: Array<string> | null;
1752
+ }
1740
1753
  export interface ServerRegisterRequest {
1741
1754
  'region': Region;
1742
1755
  'gameType': GameType;
@@ -4546,13 +4559,14 @@ export declare class ReportApi extends BaseAPI {
4546
4559
  */
4547
4560
  export declare const ServerSessionsApiAxiosParamCreator: (configuration?: Configuration) => {
4548
4561
  /**
4549
- * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server.
4562
+ * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server. Optionally include an `activePlayers` list (the UUIDs currently on this server). When present, the API reconciles player sessions for this server: any open session whose player is absent from the list is closed, and linked to the player\'s new session if they transferred to another server. Omit the body for a plain liveness heartbeat.
4550
4563
  * @summary Send a heartbeat
4551
4564
  * @param {string} id Session UUID returned from the registration call
4565
+ * @param {ServerHeartbeatRequest} [serverHeartbeatRequest]
4552
4566
  * @param {*} [options] Override http request option.
4553
4567
  * @throws {RequiredError}
4554
4568
  */
4555
- heartbeat: (id: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
4569
+ heartbeat: (id: string, serverHeartbeatRequest?: ServerHeartbeatRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
4556
4570
  /**
4557
4571
  * Returns all server sessions — both online and historical — ordered by start time descending. Used by the web UI to populate the session filter dropdown.
4558
4572
  * @summary List all server sessions
@@ -4589,13 +4603,14 @@ export declare const ServerSessionsApiAxiosParamCreator: (configuration?: Config
4589
4603
  */
4590
4604
  export declare const ServerSessionsApiFp: (configuration?: Configuration) => {
4591
4605
  /**
4592
- * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server.
4606
+ * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server. Optionally include an `activePlayers` list (the UUIDs currently on this server). When present, the API reconciles player sessions for this server: any open session whose player is absent from the list is closed, and linked to the player\'s new session if they transferred to another server. Omit the body for a plain liveness heartbeat.
4593
4607
  * @summary Send a heartbeat
4594
4608
  * @param {string} id Session UUID returned from the registration call
4609
+ * @param {ServerHeartbeatRequest} [serverHeartbeatRequest]
4595
4610
  * @param {*} [options] Override http request option.
4596
4611
  * @throws {RequiredError}
4597
4612
  */
4598
- heartbeat(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
4613
+ heartbeat(id: string, serverHeartbeatRequest?: ServerHeartbeatRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
4599
4614
  /**
4600
4615
  * Returns all server sessions — both online and historical — ordered by start time descending. Used by the web UI to populate the session filter dropdown.
4601
4616
  * @summary List all server sessions
@@ -4632,13 +4647,14 @@ export declare const ServerSessionsApiFp: (configuration?: Configuration) => {
4632
4647
  */
4633
4648
  export declare const ServerSessionsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
4634
4649
  /**
4635
- * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server.
4650
+ * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server. Optionally include an `activePlayers` list (the UUIDs currently on this server). When present, the API reconciles player sessions for this server: any open session whose player is absent from the list is closed, and linked to the player\'s new session if they transferred to another server. Omit the body for a plain liveness heartbeat.
4636
4651
  * @summary Send a heartbeat
4637
4652
  * @param {string} id Session UUID returned from the registration call
4653
+ * @param {ServerHeartbeatRequest} [serverHeartbeatRequest]
4638
4654
  * @param {*} [options] Override http request option.
4639
4655
  * @throws {RequiredError}
4640
4656
  */
4641
- heartbeat(id: string, options?: RawAxiosRequestConfig): AxiosPromise<void>;
4657
+ heartbeat(id: string, serverHeartbeatRequest?: ServerHeartbeatRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
4642
4658
  /**
4643
4659
  * Returns all server sessions — both online and historical — ordered by start time descending. Used by the web UI to populate the session filter dropdown.
4644
4660
  * @summary List all server sessions
@@ -4675,13 +4691,14 @@ export declare const ServerSessionsApiFactory: (configuration?: Configuration, b
4675
4691
  */
4676
4692
  export declare class ServerSessionsApi extends BaseAPI {
4677
4693
  /**
4678
- * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server.
4694
+ * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server. Optionally include an `activePlayers` list (the UUIDs currently on this server). When present, the API reconciles player sessions for this server: any open session whose player is absent from the list is closed, and linked to the player\'s new session if they transferred to another server. Omit the body for a plain liveness heartbeat.
4679
4695
  * @summary Send a heartbeat
4680
4696
  * @param {string} id Session UUID returned from the registration call
4697
+ * @param {ServerHeartbeatRequest} [serverHeartbeatRequest]
4681
4698
  * @param {*} [options] Override http request option.
4682
4699
  * @throws {RequiredError}
4683
4700
  */
4684
- heartbeat(id: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
4701
+ heartbeat(id: string, serverHeartbeatRequest?: ServerHeartbeatRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
4685
4702
  /**
4686
4703
  * Returns all server sessions — both online and historical — ordered by start time descending. Used by the web UI to populate the session filter dropdown.
4687
4704
  * @summary List all server sessions
package/dist/esm/api.js CHANGED
@@ -4,7 +4,7 @@
4
4
  * Reborn API
5
5
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
6
6
  *
7
- * The version of the OpenAPI document: 4.6.0
7
+ * The version of the OpenAPI document: 4.7.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -5525,13 +5525,14 @@ export class ReportApi extends BaseAPI {
5525
5525
  export const ServerSessionsApiAxiosParamCreator = function (configuration) {
5526
5526
  return {
5527
5527
  /**
5528
- * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server.
5528
+ * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server. Optionally include an `activePlayers` list (the UUIDs currently on this server). When present, the API reconciles player sessions for this server: any open session whose player is absent from the list is closed, and linked to the player\'s new session if they transferred to another server. Omit the body for a plain liveness heartbeat.
5529
5529
  * @summary Send a heartbeat
5530
5530
  * @param {string} id Session UUID returned from the registration call
5531
+ * @param {ServerHeartbeatRequest} [serverHeartbeatRequest]
5531
5532
  * @param {*} [options] Override http request option.
5532
5533
  * @throws {RequiredError}
5533
5534
  */
5534
- heartbeat: (id_1, ...args_1) => __awaiter(this, [id_1, ...args_1], void 0, function* (id, options = {}) {
5535
+ heartbeat: (id_1, serverHeartbeatRequest_1, ...args_1) => __awaiter(this, [id_1, serverHeartbeatRequest_1, ...args_1], void 0, function* (id, serverHeartbeatRequest, options = {}) {
5535
5536
  // verify required parameter 'id' is not null or undefined
5536
5537
  assertParamExists('heartbeat', 'id', id);
5537
5538
  const localVarPath = `/v1/servers/{id}/heartbeat`
@@ -5548,9 +5549,11 @@ export const ServerSessionsApiAxiosParamCreator = function (configuration) {
5548
5549
  // authentication DiscordAuth required
5549
5550
  // http bearer authentication required
5550
5551
  yield setBearerAuthToObject(localVarHeaderParameter, configuration);
5552
+ localVarHeaderParameter['Content-Type'] = 'application/json';
5551
5553
  setSearchParams(localVarUrlObj, localVarQueryParameter);
5552
5554
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
5553
5555
  localVarRequestOptions.headers = Object.assign(Object.assign(Object.assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
5556
+ localVarRequestOptions.data = serializeDataIfNeeded(serverHeartbeatRequest, localVarRequestOptions, configuration);
5554
5557
  return {
5555
5558
  url: toPathString(localVarUrlObj),
5556
5559
  options: localVarRequestOptions,
@@ -5689,16 +5692,17 @@ export const ServerSessionsApiFp = function (configuration) {
5689
5692
  const localVarAxiosParamCreator = ServerSessionsApiAxiosParamCreator(configuration);
5690
5693
  return {
5691
5694
  /**
5692
- * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server.
5695
+ * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server. Optionally include an `activePlayers` list (the UUIDs currently on this server). When present, the API reconciles player sessions for this server: any open session whose player is absent from the list is closed, and linked to the player\'s new session if they transferred to another server. Omit the body for a plain liveness heartbeat.
5693
5696
  * @summary Send a heartbeat
5694
5697
  * @param {string} id Session UUID returned from the registration call
5698
+ * @param {ServerHeartbeatRequest} [serverHeartbeatRequest]
5695
5699
  * @param {*} [options] Override http request option.
5696
5700
  * @throws {RequiredError}
5697
5701
  */
5698
- heartbeat(id, options) {
5702
+ heartbeat(id, serverHeartbeatRequest, options) {
5699
5703
  return __awaiter(this, void 0, void 0, function* () {
5700
5704
  var _a, _b, _c;
5701
- const localVarAxiosArgs = yield localVarAxiosParamCreator.heartbeat(id, options);
5705
+ const localVarAxiosArgs = yield localVarAxiosParamCreator.heartbeat(id, serverHeartbeatRequest, options);
5702
5706
  const localVarOperationServerIndex = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
5703
5707
  const localVarOperationServerBasePath = (_c = (_b = operationServerMap['ServerSessionsApi.heartbeat']) === null || _b === void 0 ? void 0 : _b[localVarOperationServerIndex]) === null || _c === void 0 ? void 0 : _c.url;
5704
5708
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
@@ -5775,14 +5779,15 @@ export const ServerSessionsApiFactory = function (configuration, basePath, axios
5775
5779
  const localVarFp = ServerSessionsApiFp(configuration);
5776
5780
  return {
5777
5781
  /**
5778
- * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server.
5782
+ * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server. Optionally include an `activePlayers` list (the UUIDs currently on this server). When present, the API reconciles player sessions for this server: any open session whose player is absent from the list is closed, and linked to the player\'s new session if they transferred to another server. Omit the body for a plain liveness heartbeat.
5779
5783
  * @summary Send a heartbeat
5780
5784
  * @param {string} id Session UUID returned from the registration call
5785
+ * @param {ServerHeartbeatRequest} [serverHeartbeatRequest]
5781
5786
  * @param {*} [options] Override http request option.
5782
5787
  * @throws {RequiredError}
5783
5788
  */
5784
- heartbeat(id, options) {
5785
- return localVarFp.heartbeat(id, options).then((request) => request(axios, basePath));
5789
+ heartbeat(id, serverHeartbeatRequest, options) {
5790
+ return localVarFp.heartbeat(id, serverHeartbeatRequest, options).then((request) => request(axios, basePath));
5786
5791
  },
5787
5792
  /**
5788
5793
  * Returns all server sessions — both online and historical — ordered by start time descending. Used by the web UI to populate the session filter dropdown.
@@ -5829,14 +5834,15 @@ export const ServerSessionsApiFactory = function (configuration, basePath, axios
5829
5834
  */
5830
5835
  export class ServerSessionsApi extends BaseAPI {
5831
5836
  /**
5832
- * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server.
5837
+ * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server. Optionally include an `activePlayers` list (the UUIDs currently on this server). When present, the API reconciles player sessions for this server: any open session whose player is absent from the list is closed, and linked to the player\'s new session if they transferred to another server. Omit the body for a plain liveness heartbeat.
5833
5838
  * @summary Send a heartbeat
5834
5839
  * @param {string} id Session UUID returned from the registration call
5840
+ * @param {ServerHeartbeatRequest} [serverHeartbeatRequest]
5835
5841
  * @param {*} [options] Override http request option.
5836
5842
  * @throws {RequiredError}
5837
5843
  */
5838
- heartbeat(id, options) {
5839
- return ServerSessionsApiFp(this.configuration).heartbeat(id, options).then((request) => request(this.axios, this.basePath));
5844
+ heartbeat(id, serverHeartbeatRequest, options) {
5845
+ return ServerSessionsApiFp(this.configuration).heartbeat(id, serverHeartbeatRequest, options).then((request) => request(this.axios, this.basePath));
5840
5846
  }
5841
5847
  /**
5842
5848
  * Returns all server sessions — both online and historical — ordered by start time descending. Used by the web UI to populate the session filter dropdown.
@@ -2,7 +2,7 @@
2
2
  * Reborn API
3
3
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
4
4
  *
5
- * The version of the OpenAPI document: 4.6.0
5
+ * The version of the OpenAPI document: 4.7.0
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
package/dist/esm/base.js CHANGED
@@ -4,7 +4,7 @@
4
4
  * Reborn API
5
5
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
6
6
  *
7
- * The version of the OpenAPI document: 4.6.0
7
+ * The version of the OpenAPI document: 4.7.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,7 +2,7 @@
2
2
  * Reborn API
3
3
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
4
4
  *
5
- * The version of the OpenAPI document: 4.6.0
5
+ * The version of the OpenAPI document: 4.7.0
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * Reborn API
5
5
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
6
6
  *
7
- * The version of the OpenAPI document: 4.6.0
7
+ * The version of the OpenAPI document: 4.7.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,7 +2,7 @@
2
2
  * Reborn API
3
3
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
4
4
  *
5
- * The version of the OpenAPI document: 4.6.0
5
+ * The version of the OpenAPI document: 4.7.0
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -3,7 +3,7 @@
3
3
  * Reborn API
4
4
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
5
5
  *
6
- * The version of the OpenAPI document: 4.6.0
6
+ * The version of the OpenAPI document: 4.7.0
7
7
  *
8
8
  *
9
9
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,7 +2,7 @@
2
2
  * Reborn API
3
3
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
4
4
  *
5
- * The version of the OpenAPI document: 4.6.0
5
+ * The version of the OpenAPI document: 4.7.0
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
package/dist/esm/index.js CHANGED
@@ -4,7 +4,7 @@
4
4
  * Reborn API
5
5
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
6
6
  *
7
- * The version of the OpenAPI document: 4.6.0
7
+ * The version of the OpenAPI document: 4.7.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * Reborn API
3
3
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
4
4
  *
5
- * The version of the OpenAPI document: 4.6.0
5
+ * The version of the OpenAPI document: 4.7.0
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@
5
5
  * Reborn API
6
6
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
7
7
  *
8
- * The version of the OpenAPI document: 4.6.0
8
+ * The version of the OpenAPI document: 4.7.0
9
9
  *
10
10
  *
11
11
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -12,6 +12,7 @@ Name | Type | Description | Notes
12
12
  **startedAt** | **string** | When the player joined (ISO-8601) | [default to undefined]
13
13
  **endedAt** | **string** | When the player disconnected (ISO-8601). Null while the session is still active. | [optional] [default to undefined]
14
14
  **durationSeconds** | **number** | Closed session duration in seconds (ended_at − started_at). Null while active. | [optional] [default to undefined]
15
+ **transferredTo** | **string** | When the player transferred to another server, the id of the session they moved to. Null for a normal disconnect or an active session. | [optional] [default to undefined]
15
16
 
16
17
  ## Example
17
18
 
@@ -25,6 +26,7 @@ const instance: AdminPlayerSession = {
25
26
  startedAt,
26
27
  endedAt,
27
28
  durationSeconds,
29
+ transferredTo,
28
30
  };
29
31
  ```
30
32
 
@@ -0,0 +1,21 @@
1
+ # ServerHeartbeatRequest
2
+
3
+ Optional heartbeat payload carrying the players currently on this server session.
4
+
5
+ ## Properties
6
+
7
+ Name | Type | Description | Notes
8
+ ------------ | ------------- | ------------- | -------------
9
+ **activePlayers** | **Array&lt;string&gt;** | UUIDs of players currently on this server session. Open sessions for this server whose player is absent from this list are auto-closed. Omit to heartbeat without reconciling player sessions. | [optional] [default to undefined]
10
+
11
+ ## Example
12
+
13
+ ```typescript
14
+ import { ServerHeartbeatRequest } from '@rebornteam/reborn-api';
15
+
16
+ const instance: ServerHeartbeatRequest = {
17
+ activePlayers,
18
+ };
19
+ ```
20
+
21
+ [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
@@ -13,23 +13,26 @@ All URIs are relative to *https://api.smsh.sh*
13
13
  # **heartbeat**
14
14
  > heartbeat()
15
15
 
16
- Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server.
16
+ Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server. Optionally include an `activePlayers` list (the UUIDs currently on this server). When present, the API reconciles player sessions for this server: any open session whose player is absent from the list is closed, and linked to the player\'s new session if they transferred to another server. Omit the body for a plain liveness heartbeat.
17
17
 
18
18
  ### Example
19
19
 
20
20
  ```typescript
21
21
  import {
22
22
  ServerSessionsApi,
23
- Configuration
23
+ Configuration,
24
+ ServerHeartbeatRequest
24
25
  } from '@rebornteam/reborn-api';
25
26
 
26
27
  const configuration = new Configuration();
27
28
  const apiInstance = new ServerSessionsApi(configuration);
28
29
 
29
30
  let id: string; //Session UUID returned from the registration call (default to undefined)
31
+ let serverHeartbeatRequest: ServerHeartbeatRequest; // (optional)
30
32
 
31
33
  const { status, data } = await apiInstance.heartbeat(
32
- id
34
+ id,
35
+ serverHeartbeatRequest
33
36
  );
34
37
  ```
35
38
 
@@ -37,6 +40,7 @@ const { status, data } = await apiInstance.heartbeat(
37
40
 
38
41
  |Name | Type | Description | Notes|
39
42
  |------------- | ------------- | ------------- | -------------|
43
+ | **serverHeartbeatRequest** | **ServerHeartbeatRequest**| | |
40
44
  | **id** | [**string**] | Session UUID returned from the registration call | defaults to undefined|
41
45
 
42
46
 
@@ -50,7 +54,7 @@ void (empty response body)
50
54
 
51
55
  ### HTTP request headers
52
56
 
53
- - **Content-Type**: Not defined
57
+ - **Content-Type**: application/json
54
58
  - **Accept**: Not defined
55
59
 
56
60
 
package/index.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * Reborn API
5
5
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
6
6
  *
7
- * The version of the OpenAPI document: 4.6.0
7
+ * The version of the OpenAPI document: 4.7.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rebornteam/reborn-api",
3
- "version": "4.6.0",
3
+ "version": "4.7.0",
4
4
  "description": "OpenAPI client for @rebornteam/reborn-api",
5
5
  "author": "OpenAPI-Generator Contributors",
6
6
  "repository": {