@pelican.ts/sdk 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/.github/logo.png +0 -0
  2. package/.idea/Pterodactyl.ts.iml +12 -0
  3. package/.idea/discord.xml +14 -0
  4. package/.idea/modules.xml +8 -0
  5. package/.idea/vcs.xml +6 -0
  6. package/LICENSE +21 -0
  7. package/README.md +5 -2
  8. package/dist/api/application/client.d.ts +8 -0
  9. package/dist/api/application/client.d.ts.map +1 -0
  10. package/dist/api/application/client.js +14 -0
  11. package/dist/api/application/client.js.map +1 -0
  12. package/dist/api/application/nodes.d.ts +36 -0
  13. package/dist/api/application/nodes.d.ts.map +1 -0
  14. package/dist/api/application/nodes.js +47 -0
  15. package/dist/api/application/nodes.js.map +1 -0
  16. package/dist/api/application/nodes_allocations.d.ts +11 -0
  17. package/dist/api/application/nodes_allocations.d.ts.map +1 -0
  18. package/dist/api/application/nodes_allocations.js +36 -0
  19. package/dist/api/application/nodes_allocations.js.map +1 -0
  20. package/dist/api/application/types/container.d.ts +12 -0
  21. package/dist/api/application/types/container.d.ts.map +1 -0
  22. package/dist/api/application/types/container.js +3 -0
  23. package/dist/api/application/types/container.js.map +1 -0
  24. package/dist/api/application/types/location.d.ts +8 -0
  25. package/dist/api/application/types/location.d.ts.map +1 -0
  26. package/dist/api/application/types/location.js +3 -0
  27. package/dist/api/application/types/location.js.map +1 -0
  28. package/dist/api/application/types/node.d.ts +32 -0
  29. package/dist/api/application/types/node.d.ts.map +1 -0
  30. package/dist/api/application/types/node.js +3 -0
  31. package/dist/api/application/types/node.js.map +1 -0
  32. package/dist/api/application/types/server.d.ts +23 -0
  33. package/dist/api/application/types/server.d.ts.map +1 -0
  34. package/dist/api/application/types/server.js +3 -0
  35. package/dist/api/application/types/server.js.map +1 -0
  36. package/dist/api/application/types/user.d.ts +20 -0
  37. package/dist/api/application/types/user.d.ts.map +1 -0
  38. package/dist/api/application/types/user.js +3 -0
  39. package/dist/api/application/types/user.js.map +1 -0
  40. package/dist/api/application/users.d.ts +38 -0
  41. package/dist/api/application/users.d.ts.map +1 -0
  42. package/dist/api/application/users.js +54 -0
  43. package/dist/api/application/users.js.map +1 -0
  44. package/dist/api/base/request.d.ts +8 -0
  45. package/dist/api/base/request.d.ts.map +1 -0
  46. package/dist/api/base/request.js +33 -0
  47. package/dist/api/base/request.js.map +1 -0
  48. package/dist/api/base/types.d.ts +40 -0
  49. package/dist/api/base/types.d.ts.map +1 -0
  50. package/dist/api/base/types.js +14 -0
  51. package/dist/api/base/types.js.map +1 -0
  52. package/dist/api/client/account.d.ts +31 -0
  53. package/dist/api/client/account.d.ts.map +1 -0
  54. package/dist/api/client/account.js +70 -0
  55. package/dist/api/client/account.js.map +1 -0
  56. package/dist/api/client/client.d.ts +14 -0
  57. package/dist/api/client/client.d.ts.map +1 -0
  58. package/dist/api/client/client.js +37 -0
  59. package/dist/api/client/client.js.map +1 -0
  60. package/dist/api/client/server.d.ts +33 -0
  61. package/dist/api/client/server.d.ts.map +1 -0
  62. package/dist/api/client/server.js +62 -0
  63. package/dist/api/client/server.js.map +1 -0
  64. package/dist/api/client/server_activity.d.ts +9 -0
  65. package/dist/api/client/server_activity.d.ts.map +1 -0
  66. package/dist/api/client/server_activity.js +22 -0
  67. package/dist/api/client/server_activity.js.map +1 -0
  68. package/dist/api/client/server_allocations.d.ts +13 -0
  69. package/dist/api/client/server_allocations.d.ts.map +1 -0
  70. package/dist/api/client/server_allocations.js +32 -0
  71. package/dist/api/client/server_allocations.js.map +1 -0
  72. package/dist/api/client/server_backups.d.ts +18 -0
  73. package/dist/api/client/server_backups.d.ts.map +1 -0
  74. package/dist/api/client/server_backups.js +50 -0
  75. package/dist/api/client/server_backups.js.map +1 -0
  76. package/dist/api/client/server_databases.d.ts +12 -0
  77. package/dist/api/client/server_databases.d.ts.map +1 -0
  78. package/dist/api/client/server_databases.js +36 -0
  79. package/dist/api/client/server_databases.js.map +1 -0
  80. package/dist/api/client/server_files.d.ts +34 -0
  81. package/dist/api/client/server_files.d.ts.map +1 -0
  82. package/dist/api/client/server_files.js +86 -0
  83. package/dist/api/client/server_files.js.map +1 -0
  84. package/dist/api/client/server_schedules.d.ts +38 -0
  85. package/dist/api/client/server_schedules.d.ts.map +1 -0
  86. package/dist/api/client/server_schedules.js +59 -0
  87. package/dist/api/client/server_schedules.js.map +1 -0
  88. package/dist/api/client/server_settings.d.ts +12 -0
  89. package/dist/api/client/server_settings.d.ts.map +1 -0
  90. package/dist/api/client/server_settings.js +30 -0
  91. package/dist/api/client/server_settings.js.map +1 -0
  92. package/dist/api/client/server_startup.d.ts +11 -0
  93. package/dist/api/client/server_startup.d.ts.map +1 -0
  94. package/dist/api/client/server_startup.js +25 -0
  95. package/dist/api/client/server_startup.js.map +1 -0
  96. package/dist/api/client/server_users.d.ts +13 -0
  97. package/dist/api/client/server_users.d.ts.map +1 -0
  98. package/dist/api/client/server_users.js +32 -0
  99. package/dist/api/client/server_users.js.map +1 -0
  100. package/dist/api/client/server_websocket.d.ts +60 -0
  101. package/dist/api/client/server_websocket.d.ts.map +1 -0
  102. package/dist/api/client/server_websocket.js +431 -0
  103. package/dist/api/client/server_websocket.js.map +1 -0
  104. package/dist/api/client/types/server.d.ts +64 -0
  105. package/dist/api/client/types/server.d.ts.map +1 -0
  106. package/dist/api/client/types/server.js +3 -0
  107. package/dist/api/client/types/server.js.map +1 -0
  108. package/dist/api/client/types/server_subuser.d.ts +14 -0
  109. package/dist/api/client/types/server_subuser.d.ts.map +1 -0
  110. package/dist/api/client/types/server_subuser.js +3 -0
  111. package/dist/api/client/types/server_subuser.js.map +1 -0
  112. package/dist/api/client/types/user.d.ts +31 -0
  113. package/dist/api/client/types/user.d.ts.map +1 -0
  114. package/dist/api/client/types/user.js +3 -0
  115. package/dist/api/client/types/user.js.map +1 -0
  116. package/dist/api/client/types/websocket.d.ts +116 -0
  117. package/dist/api/client/types/websocket.d.ts.map +1 -0
  118. package/dist/api/client/types/websocket.js +37 -0
  119. package/dist/api/client/types/websocket.js.map +1 -0
  120. package/dist/api/client/websocket_old.d.ts +171 -0
  121. package/dist/api/client/websocket_old.d.ts.map +1 -0
  122. package/dist/api/client/websocket_old.js +319 -0
  123. package/dist/api/client/websocket_old.js.map +1 -0
  124. package/dist/api/common/types/egg.d.ts +10 -0
  125. package/dist/api/common/types/egg.d.ts.map +1 -0
  126. package/dist/api/common/types/egg.js +3 -0
  127. package/dist/api/common/types/egg.js.map +1 -0
  128. package/dist/api/common/types/server_allocations.d.ts +18 -0
  129. package/dist/api/common/types/server_allocations.d.ts.map +1 -0
  130. package/dist/api/common/types/server_allocations.js +3 -0
  131. package/dist/api/common/types/server_allocations.js.map +1 -0
  132. package/dist/api/common/types/server_backup.d.ts +13 -0
  133. package/dist/api/common/types/server_backup.d.ts.map +1 -0
  134. package/dist/api/common/types/server_backup.js +3 -0
  135. package/dist/api/common/types/server_backup.js.map +1 -0
  136. package/dist/api/common/types/server_database.d.ts +18 -0
  137. package/dist/api/common/types/server_database.d.ts.map +1 -0
  138. package/dist/api/common/types/server_database.js +3 -0
  139. package/dist/api/common/types/server_database.js.map +1 -0
  140. package/dist/api/common/types/server_files.d.ts +12 -0
  141. package/dist/api/common/types/server_files.d.ts.map +1 -0
  142. package/dist/api/common/types/server_files.js +3 -0
  143. package/dist/api/common/types/server_files.js.map +1 -0
  144. package/dist/api/common/types/server_limits.d.ts +17 -0
  145. package/dist/api/common/types/server_limits.d.ts.map +1 -0
  146. package/dist/api/common/types/server_limits.js +3 -0
  147. package/dist/api/common/types/server_limits.js.map +1 -0
  148. package/dist/api/common/types/server_power.d.ts +2 -0
  149. package/dist/api/common/types/server_power.d.ts.map +1 -0
  150. package/dist/api/common/types/server_power.js +3 -0
  151. package/dist/api/common/types/server_power.js.map +1 -0
  152. package/dist/api/common/types/server_schedule.d.ts +34 -0
  153. package/dist/api/common/types/server_schedule.d.ts.map +1 -0
  154. package/dist/api/common/types/server_schedule.js +3 -0
  155. package/dist/api/common/types/server_schedule.js.map +1 -0
  156. package/dist/api/common/types/server_startup.d.ts +14 -0
  157. package/dist/api/common/types/server_startup.d.ts.map +1 -0
  158. package/dist/api/common/types/server_startup.js +3 -0
  159. package/dist/api/common/types/server_startup.js.map +1 -0
  160. package/dist/index.d.ts +9 -0
  161. package/dist/index.d.ts.map +1 -0
  162. package/dist/index.js +21 -0
  163. package/dist/index.js.map +1 -0
  164. package/dist/pterodactyl.d.ts +8 -0
  165. package/dist/pterodactyl.d.ts.map +1 -0
  166. package/dist/pterodactyl.js +20 -0
  167. package/dist/pterodactyl.js.map +1 -0
  168. package/dist/utils/sized.d.ts +10 -0
  169. package/dist/utils/sized.d.ts.map +1 -0
  170. package/dist/utils/sized.js +15 -0
  171. package/dist/utils/sized.js.map +1 -0
  172. package/dist/utils/transform.d.ts +9 -0
  173. package/dist/utils/transform.d.ts.map +1 -0
  174. package/dist/utils/transform.js +19 -0
  175. package/dist/utils/transform.js.map +1 -0
  176. package/dist/utils/types.d.ts +14 -0
  177. package/dist/utils/types.d.ts.map +1 -0
  178. package/dist/utils/types.js +3 -0
  179. package/dist/utils/types.js.map +1 -0
  180. package/package.json +3 -2
  181. package/bun.lock +0 -159
@@ -0,0 +1,431 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ServerWebsocket = void 0;
7
+ const events_1 = require("events");
8
+ const isomorphic_ws_1 = __importDefault(require("isomorphic-ws"));
9
+ const strip_color_1 = __importDefault(require("strip-color"));
10
+ const websocket_1 = require("../../api/client/types/websocket");
11
+ const isBrowser = typeof window !== "undefined";
12
+ const RECONNECT_ERRORS = new Set([
13
+ "jwt: exp claim is invalid",
14
+ "jwt: created too far in past (denylist)",
15
+ ]);
16
+ const FALLBACK_LOG_MESSAGE = "No logs - is the server online?";
17
+ class ServerWebsocket {
18
+ r;
19
+ serverId;
20
+ socket;
21
+ currentToken;
22
+ bus = new events_1.EventEmitter();
23
+ debugLogging = false;
24
+ stripColors;
25
+ detachMessageListener;
26
+ constructor(requester, id, stripColors = false) {
27
+ this.r = requester;
28
+ this.serverId = id;
29
+ this.stripColors = stripColors;
30
+ }
31
+ on(event, listener) {
32
+ const handler = listener;
33
+ this.bus.on(event, handler);
34
+ return () => {
35
+ this.bus.removeListener(event, handler);
36
+ };
37
+ }
38
+ deregister(event, listener) {
39
+ const handler = listener;
40
+ this.bus.removeListener(event, handler);
41
+ }
42
+ emit(event, ...args) {
43
+ if (args.length === 0) {
44
+ this.bus.emit(event);
45
+ }
46
+ else {
47
+ this.bus.emit(event, args[0]);
48
+ }
49
+ }
50
+ async connect(resumable, debugLogging) {
51
+ this.debugLogging = debugLogging ?? false;
52
+ if (this.socket) {
53
+ return;
54
+ }
55
+ const socketUrl = await this.refreshCredentials();
56
+ this.socket = isBrowser
57
+ ? new isomorphic_ws_1.default(socketUrl)
58
+ : new isomorphic_ws_1.default(socketUrl, undefined, { origin: new URL(socketUrl).origin });
59
+ await new Promise((resolve, reject) => {
60
+ const socket = this.socket;
61
+ if (!socket) {
62
+ reject(new Error("Failed to create socket connection"));
63
+ return;
64
+ }
65
+ socket.onopen = async () => {
66
+ try {
67
+ await this.authenticate();
68
+ this.attachMessageListener();
69
+ socket.onopen = null;
70
+ socket.onerror = null;
71
+ resolve();
72
+ }
73
+ catch (error) {
74
+ socket.onopen = null;
75
+ socket.onerror = null;
76
+ reject(error instanceof Error ? error : new Error("Websocket authentication failed"));
77
+ }
78
+ };
79
+ socket.onerror = (event) => {
80
+ socket.onopen = null;
81
+ socket.onerror = null;
82
+ reject(event instanceof Error ? event : new Error("Websocket connection error"));
83
+ };
84
+ });
85
+ if (resumable) {
86
+ this.makeResumable(true);
87
+ }
88
+ }
89
+ onSocketDisconnect(handler) {
90
+ if (!this.socket) {
91
+ console.error(new Error("No socket connection"));
92
+ return;
93
+ }
94
+ this.socket.onclose = handler;
95
+ }
96
+ onSocketError(handler) {
97
+ if (!this.socket) {
98
+ console.error(new Error("No socket connection"));
99
+ return;
100
+ }
101
+ this.socket.onerror = handler;
102
+ }
103
+ makeResumable(disconnectsToo) {
104
+ const scheduleReconnect = () => {
105
+ setTimeout(() => {
106
+ const previous = this.socket;
107
+ this.detachMessageListener?.();
108
+ this.detachMessageListener = undefined;
109
+ this.socket = undefined;
110
+ previous?.close();
111
+ void this.connect(true, this.debugLogging);
112
+ }, 1000);
113
+ };
114
+ this.onSocketError(() => scheduleReconnect());
115
+ if (disconnectsToo) {
116
+ this.onSocketDisconnect(() => scheduleReconnect());
117
+ }
118
+ }
119
+ attachMessageListener() {
120
+ if (!this.socket) {
121
+ throw new Error("No socket connection");
122
+ }
123
+ this.detachMessageListener?.();
124
+ const handler = (event) => {
125
+ void this.handleIncomingMessage(event);
126
+ };
127
+ if (typeof this.socket.addEventListener === "function") {
128
+ this.socket.addEventListener("message", handler);
129
+ this.detachMessageListener = () => {
130
+ this.socket?.removeEventListener?.("message", handler);
131
+ };
132
+ }
133
+ else {
134
+ const fallback = (data) => handler({ data });
135
+ const socket = this.socket;
136
+ socket.on?.("message", fallback);
137
+ this.detachMessageListener = () => {
138
+ const target = this.socket;
139
+ if (!target) {
140
+ return;
141
+ }
142
+ if (typeof target.off === "function") {
143
+ target.off("message", fallback);
144
+ }
145
+ else if (typeof target.removeListener === "function") {
146
+ target.removeListener("message", fallback);
147
+ }
148
+ };
149
+ }
150
+ }
151
+ async handleIncomingMessage(event) {
152
+ const message = this.parseMessage(event);
153
+ if (!message) {
154
+ return;
155
+ }
156
+ try {
157
+ await this.dispatchMessage(message);
158
+ }
159
+ catch (error) {
160
+ if (this.debugLogging) {
161
+ console.error("Error while handling websocket message", error);
162
+ }
163
+ }
164
+ }
165
+ parseMessage(event) {
166
+ const payload = this.normalisePayload(event);
167
+ if (!payload) {
168
+ return null;
169
+ }
170
+ try {
171
+ return JSON.parse(payload);
172
+ }
173
+ catch (error) {
174
+ if (this.debugLogging) {
175
+ console.warn("Failed to parse websocket payload", error);
176
+ }
177
+ return null;
178
+ }
179
+ }
180
+ normalisePayload(event) {
181
+ if (typeof event === "string") {
182
+ return event;
183
+ }
184
+ if (typeof event === "object" && event !== null && "data" in event) {
185
+ return this.normalisePayload(event.data);
186
+ }
187
+ if (typeof Buffer !== "undefined" && Buffer.isBuffer(event)) {
188
+ return event.toString("utf8");
189
+ }
190
+ if (typeof ArrayBuffer !== "undefined" && event instanceof ArrayBuffer) {
191
+ if (typeof TextDecoder !== "undefined") {
192
+ return new TextDecoder().decode(new Uint8Array(event));
193
+ }
194
+ if (typeof Buffer !== "undefined") {
195
+ return Buffer.from(event).toString("utf8");
196
+ }
197
+ }
198
+ return null;
199
+ }
200
+ async dispatchMessage(message) {
201
+ switch (message.event) {
202
+ case websocket_1.SOCKET_EVENT.AUTH_SUCCESS: {
203
+ if (this.debugLogging) {
204
+ console.debug("Auth success");
205
+ }
206
+ this.emit(websocket_1.SOCKET_EVENT.AUTH_SUCCESS);
207
+ break;
208
+ }
209
+ case websocket_1.SOCKET_EVENT.STATUS: {
210
+ if (this.debugLogging) {
211
+ console.debug("Received status event", message.args[0]);
212
+ }
213
+ this.emit(websocket_1.SOCKET_EVENT.STATUS, message.args[0]);
214
+ break;
215
+ }
216
+ case websocket_1.SOCKET_EVENT.CONSOLE_OUTPUT: {
217
+ let output = message.args[0];
218
+ if (this.stripColors) {
219
+ output = (0, strip_color_1.default)(output);
220
+ }
221
+ if (this.debugLogging) {
222
+ console.debug("Received console output", output);
223
+ }
224
+ this.emit(websocket_1.SOCKET_EVENT.CONSOLE_OUTPUT, output);
225
+ break;
226
+ }
227
+ case websocket_1.SOCKET_EVENT.STATS: {
228
+ try {
229
+ const payload = JSON.parse(message.args[0]);
230
+ this.emit(websocket_1.SOCKET_EVENT.STATS, payload);
231
+ }
232
+ catch (error) {
233
+ if (this.debugLogging) {
234
+ console.warn("Failed to parse stats payload", error);
235
+ }
236
+ }
237
+ break;
238
+ }
239
+ case websocket_1.SOCKET_EVENT.DAEMON_ERROR: {
240
+ this.emit(websocket_1.SOCKET_EVENT.DAEMON_ERROR);
241
+ break;
242
+ }
243
+ case websocket_1.SOCKET_EVENT.BACKUP_COMPLETED: {
244
+ try {
245
+ const payload = JSON.parse(message.args[0]);
246
+ this.emit(websocket_1.SOCKET_EVENT.BACKUP_COMPLETED, payload);
247
+ }
248
+ catch (error) {
249
+ if (this.debugLogging) {
250
+ console.warn("Failed to parse backup payload", error);
251
+ }
252
+ }
253
+ break;
254
+ }
255
+ case websocket_1.SOCKET_EVENT.DAEMON_MESSAGE: {
256
+ let output = message.args[0];
257
+ if (this.stripColors) {
258
+ output = (0, strip_color_1.default)(output);
259
+ }
260
+ this.emit(websocket_1.SOCKET_EVENT.DAEMON_MESSAGE, output);
261
+ break;
262
+ }
263
+ case websocket_1.SOCKET_EVENT.INSTALL_OUTPUT: {
264
+ let output = message.args[0];
265
+ if (this.stripColors) {
266
+ output = (0, strip_color_1.default)(output);
267
+ }
268
+ this.emit(websocket_1.SOCKET_EVENT.INSTALL_OUTPUT, output);
269
+ break;
270
+ }
271
+ case websocket_1.SOCKET_EVENT.BACKUP_RESTORE_COMPLETED: {
272
+ this.emit(websocket_1.SOCKET_EVENT.BACKUP_RESTORE_COMPLETED);
273
+ break;
274
+ }
275
+ case websocket_1.SOCKET_EVENT.INSTALL_COMPLETED: {
276
+ this.emit(websocket_1.SOCKET_EVENT.INSTALL_COMPLETED);
277
+ break;
278
+ }
279
+ case websocket_1.SOCKET_EVENT.INSTALL_STARTED: {
280
+ this.emit(websocket_1.SOCKET_EVENT.INSTALL_STARTED);
281
+ break;
282
+ }
283
+ case websocket_1.SOCKET_EVENT.TRANSFER_LOGS: {
284
+ this.emit(websocket_1.SOCKET_EVENT.TRANSFER_LOGS, message.args[0]);
285
+ break;
286
+ }
287
+ case websocket_1.SOCKET_EVENT.TRANSFER_STATUS: {
288
+ this.emit(websocket_1.SOCKET_EVENT.TRANSFER_STATUS, message.args[0]);
289
+ break;
290
+ }
291
+ case websocket_1.SOCKET_EVENT.TOKEN_EXPIRING: {
292
+ this.emit(websocket_1.SOCKET_EVENT.TOKEN_EXPIRING);
293
+ if (this.debugLogging) {
294
+ console.warn("Token expiring, renewing...");
295
+ }
296
+ await this.refreshCredentials();
297
+ await this.authenticate();
298
+ break;
299
+ }
300
+ case websocket_1.SOCKET_EVENT.TOKEN_EXPIRED: {
301
+ this.emit(websocket_1.SOCKET_EVENT.TOKEN_EXPIRED);
302
+ throw new Error("Token expired");
303
+ }
304
+ case websocket_1.SOCKET_EVENT.JWT_ERROR: {
305
+ const reason = message.args[0];
306
+ if (RECONNECT_ERRORS.has(reason)) {
307
+ this.emit(websocket_1.SOCKET_EVENT.TOKEN_EXPIRING);
308
+ if (this.debugLogging) {
309
+ console.warn("Token expiring (JWT error), renewing...");
310
+ }
311
+ await this.refreshCredentials();
312
+ await this.authenticate();
313
+ }
314
+ else {
315
+ this.emit(websocket_1.SOCKET_EVENT.JWT_ERROR, reason);
316
+ throw new Error("Token expired");
317
+ }
318
+ break;
319
+ }
320
+ default: {
321
+ if (this.debugLogging) {
322
+ console.warn("Unknown websocket event", message);
323
+ }
324
+ break;
325
+ }
326
+ }
327
+ }
328
+ async refreshCredentials() {
329
+ const { data } = await this.r.get(`/servers/${this.serverId}/websocket`);
330
+ this.currentToken = data.data.token;
331
+ return data.data.socket;
332
+ }
333
+ async authenticate() {
334
+ if (!this.socket) {
335
+ throw new Error("No socket connection");
336
+ }
337
+ if (!this.currentToken) {
338
+ throw new Error("Missing websocket token");
339
+ }
340
+ this.socket.send(JSON.stringify({ event: "auth", args: [this.currentToken] }));
341
+ }
342
+ disconnect() {
343
+ this.detachMessageListener?.();
344
+ this.detachMessageListener = undefined;
345
+ if (this.socket) {
346
+ this.socket.close();
347
+ this.socket = undefined;
348
+ }
349
+ }
350
+ requestStats() {
351
+ this.send("send stats", [null]);
352
+ }
353
+ requestLogs() {
354
+ this.send("send logs", [null]);
355
+ }
356
+ send(event, args) {
357
+ if (!this.socket) {
358
+ if (this.debugLogging) {
359
+ console.warn(`Attempted to send "${event}" without an active websocket connection`);
360
+ }
361
+ return;
362
+ }
363
+ this.socket.send(JSON.stringify({ event, args }));
364
+ }
365
+ getStats() {
366
+ return new Promise((resolve, reject) => {
367
+ if (!this.socket) {
368
+ reject(new Error("No socket connection"));
369
+ return;
370
+ }
371
+ let off;
372
+ const timeout = setTimeout(() => {
373
+ off?.();
374
+ reject(new Error("Timed out waiting for stats"));
375
+ }, 5000);
376
+ off = this.on(websocket_1.SOCKET_EVENT.STATS, (payload) => {
377
+ clearTimeout(timeout);
378
+ off?.();
379
+ resolve(payload);
380
+ });
381
+ this.requestStats();
382
+ });
383
+ }
384
+ getLogs() {
385
+ return new Promise((resolve, reject) => {
386
+ if (!this.socket) {
387
+ reject(new Error("No socket connection"));
388
+ return;
389
+ }
390
+ const lines = [];
391
+ let off;
392
+ let initialTimeout;
393
+ let idleTimeout;
394
+ const finalize = (payload) => {
395
+ off?.();
396
+ if (initialTimeout) {
397
+ clearTimeout(initialTimeout);
398
+ }
399
+ if (idleTimeout) {
400
+ clearTimeout(idleTimeout);
401
+ }
402
+ resolve(payload);
403
+ };
404
+ initialTimeout = setTimeout(() => {
405
+ finalize(lines.length > 0 ? lines : [FALLBACK_LOG_MESSAGE]);
406
+ }, 5000);
407
+ off = this.on(websocket_1.SOCKET_EVENT.CONSOLE_OUTPUT, (line) => {
408
+ lines.push(line);
409
+ if (initialTimeout) {
410
+ clearTimeout(initialTimeout);
411
+ initialTimeout = undefined;
412
+ }
413
+ if (idleTimeout) {
414
+ clearTimeout(idleTimeout);
415
+ }
416
+ idleTimeout = setTimeout(() => {
417
+ finalize(lines);
418
+ }, 1000);
419
+ });
420
+ this.requestLogs();
421
+ });
422
+ }
423
+ sendPoweraction(action) {
424
+ this.send("set state", [action]);
425
+ }
426
+ sendCommand(cmd) {
427
+ this.send("send command", [cmd]);
428
+ }
429
+ }
430
+ exports.ServerWebsocket = ServerWebsocket;
431
+ //# sourceMappingURL=server_websocket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server_websocket.js","sourceRoot":"","sources":["../../../src/api/client/server_websocket.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ import { GenericListResponse, GenericResponse } from "../../../api/base/types";
2
+ import { EggVariable } from "../../../api/common/types/egg";
3
+ import { ServerSubuser } from "../../../api/client/types/server_subuser";
4
+ import { FeatureLimits, ServerLimits } from "../../../api/common/types/server_limits";
5
+ import { Allocation } from "../../../api/common/types/server_allocations";
6
+ import { Nullable } from "../../../utils/types";
7
+ export type Server = {
8
+ server_owner: boolean;
9
+ identifier: string;
10
+ internal_id?: number;
11
+ uuid: string;
12
+ name: string;
13
+ node: string;
14
+ is_node_under_maintenance: boolean;
15
+ sftp_details: {
16
+ ip: string;
17
+ alias: Nullable<string>;
18
+ port: number;
19
+ };
20
+ description: string;
21
+ limits: ServerLimits;
22
+ invocation: string;
23
+ docker_image: string;
24
+ egg_features: string[] | null;
25
+ feature_limits: FeatureLimits;
26
+ status: Nullable<unknown>;
27
+ is_suspended: boolean;
28
+ is_installing: boolean;
29
+ is_transferring: boolean;
30
+ relationships: {
31
+ allocations: GenericListResponse<GenericResponse<Allocation, "allocation">>;
32
+ variables: GenericListResponse<GenericResponse<EggVariable, "egg_variable">>;
33
+ egg?: GenericResponse<{
34
+ uuid: string;
35
+ name: string;
36
+ }, "egg">;
37
+ subusers: GenericListResponse<GenericResponse<ServerSubuser, "server_subuser">>;
38
+ };
39
+ };
40
+ export type ServerStats = {
41
+ current_state: "installing" | "install_failed" | "reinstall_failed" | "suspended" | "restoring_backup" | "running" | "stopped" | "offline";
42
+ is_suspended: boolean;
43
+ resources: ServerResources;
44
+ };
45
+ type ServerResources = {
46
+ memory_bytes: number;
47
+ cpu_absolute: number;
48
+ disk_bytes: number;
49
+ network_tx_bytes: number;
50
+ network_rx_bytes: number;
51
+ uptime: number;
52
+ };
53
+ export type ServerActivityLog = {
54
+ id: string;
55
+ event: string;
56
+ is_api: boolean;
57
+ ip: string;
58
+ description: Nullable<string>;
59
+ properties: Record<string, string>;
60
+ has_additional_metadata: boolean;
61
+ timestamp: string;
62
+ };
63
+ export {};
64
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../src/api/client/types/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAC,aAAa,EAAC,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAC,aAAa,EAAE,YAAY,EAAC,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAC,UAAU,EAAC,MAAM,uCAAuC,CAAC;AACjE,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAEvC,MAAM,MAAM,MAAM,GAAG;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB,EAAE,OAAO,CAAC;IACnC,YAAY,EAAE;QACV,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACxB,IAAI,EAAE,MAAM,CAAA;KACf,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9B,cAAc,EAAE,aAAa,CAAC;IAC9B,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE;QACX,WAAW,EAAE,mBAAmB,CAAC,eAAe,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;QAC5E,SAAS,EAAE,mBAAmB,CAAC,eAAe,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;QAC7E,GAAG,CAAC,EAAE,eAAe,CAAC;YAClB,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAA;SACf,EAAE,KAAK,CAAC,CAAC;QACV,QAAQ,EAAE,mBAAmB,CAAC,eAAe,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC,CAAA;KAClF,CAAA;CACJ,CAAA;AAGD,MAAM,MAAM,WAAW,GAAG;IACtB,aAAa,EAAE,YAAY,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,WAAW,GAC3E,kBAAkB,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAC7D,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,eAAe,CAAA;CAC7B,CAAA;AAED,KAAK,eAAe,GAAG;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAA;CACjB,CAAA;AACD,MAAM,MAAM,iBAAiB,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,uBAAuB,EAAE,OAAO,CAAC;IACjC,SAAS,EAAE,MAAM,CAAA;CACpB,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../src/api/client/types/server.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ export type ServerSubuser = {
2
+ uuid: string;
3
+ username: string;
4
+ email: string;
5
+ language: string;
6
+ image: string;
7
+ admin: false;
8
+ root_admin: false;
9
+ "2fa_enabled": boolean;
10
+ created_at: string;
11
+ permissions: SubuserPermission[] | string[];
12
+ };
13
+ export type SubuserPermission = "activity.read" | "allocation.create" | "allocation.delete" | "allocation.read" | "allocation.update" | "backup.create" | "backup.delete" | "backup.download" | "backup.read" | "backup.restore" | "control.console" | "control.restart" | "control.start" | "control.stop" | "database.create" | "database.delete" | "database.read" | "database.update" | "database.view-password" | "file.archive" | "file.create" | "file.delete" | "file.read" | "file.read-content" | "file.sftp" | "file.update" | "schedule.create" | "schedule.delete" | "schedule.read" | "schedule.update" | "settings.description" | "settings.reinstall" | "settings.rename" | "startup.docker-image" | "startup.read" | "startup.update" | "user.create" | "user.delete" | "user.read" | "user.update" | "websocket.connect";
14
+ //# sourceMappingURL=server_subuser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server_subuser.d.ts","sourceRoot":"","sources":["../../../../src/api/client/types/server_subuser.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,KAAK,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,iBAAiB,EAAE,GAAG,MAAM,EAAE,CAAA;CAC9C,CAAA;AAGD,MAAM,MAAM,iBAAiB,GACvB,eAAe,GACf,mBAAmB,GACnB,mBAAmB,GACnB,iBAAiB,GACjB,mBAAmB,GACnB,eAAe,GACf,eAAe,GACf,iBAAiB,GACjB,aAAa,GACb,gBAAgB,GAChB,iBAAiB,GACjB,iBAAiB,GACjB,eAAe,GACf,cAAc,GACd,iBAAiB,GACjB,iBAAiB,GACjB,eAAe,GACf,iBAAiB,GACjB,wBAAwB,GACxB,cAAc,GACd,aAAa,GACb,aAAa,GACb,WAAW,GACX,mBAAmB,GACnB,WAAW,GACX,aAAa,GACb,iBAAiB,GACjB,iBAAiB,GACjB,eAAe,GACf,iBAAiB,GACjB,sBAAsB,GACtB,oBAAoB,GACpB,iBAAiB,GACjB,sBAAsB,GACtB,cAAc,GACd,gBAAgB,GAChB,aAAa,GACb,aAAa,GACb,WAAW,GACX,aAAa,GACb,mBAAmB,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=server_subuser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server_subuser.js","sourceRoot":"","sources":["../../../../src/api/client/types/server_subuser.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ import { Nullable } from "../../../utils/types";
2
+ export type User = {
3
+ uuid: string;
4
+ username: string;
5
+ email: string;
6
+ language: string;
7
+ image: string;
8
+ admin: boolean;
9
+ root_admin: boolean;
10
+ "2fa_enabled": number;
11
+ created_at: string;
12
+ updated_at: string;
13
+ };
14
+ export type APIKey = {
15
+ identifier: string;
16
+ description: string;
17
+ allowed_ips: string[];
18
+ last_used_at: Nullable<string>;
19
+ created_at: string;
20
+ };
21
+ export type SSHKey = {
22
+ name: string;
23
+ fingerprint: string;
24
+ pubic_key: string;
25
+ created_at: string;
26
+ };
27
+ export type Permission = {
28
+ description: string;
29
+ keys: Record<string, string>;
30
+ };
31
+ //# sourceMappingURL=user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../src/api/client/types/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAEvC,MAAM,MAAM,IAAI,GAAG;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAA;CAErB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC/B,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../src/api/client/types/user.ts"],"names":[],"mappings":""}