@meowpanel/api 0.14.0 → 0.16.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.
- package/README.md +1 -1
- package/esm/mod.d.ts +3 -3
- package/esm/mod.d.ts.map +1 -1
- package/esm/mod.js +1 -1
- package/esm/src/client.d.ts +1 -1
- package/esm/src/client.js +1 -1
- package/esm/src/http.d.ts +11 -3
- package/esm/src/http.d.ts.map +1 -1
- package/esm/src/http.js +25 -15
- package/esm/src/resources/servers/activity.d.ts +16 -1
- package/esm/src/resources/servers/activity.d.ts.map +1 -1
- package/esm/src/resources/servers/activity.js +10 -1
- package/esm/src/resources/servers/backups.d.ts +7 -7
- package/esm/src/resources/servers/backups.d.ts.map +1 -1
- package/esm/src/resources/servers/backups.js +8 -8
- package/esm/src/resources/servers/connection.d.ts +82 -40
- package/esm/src/resources/servers/connection.d.ts.map +1 -1
- package/esm/src/resources/servers/connection.js +117 -76
- package/esm/src/resources/servers/node-client.d.ts +5 -4
- package/esm/src/resources/servers/node-client.d.ts.map +1 -1
- package/esm/src/resources/servers/node-client.js +6 -10
- package/esm/src/resources/servers/server.d.ts +1 -1
- package/esm/src/resources/servers/server.js +3 -3
- package/esm/src/resources/servers/types.d.ts +6 -1
- package/esm/src/resources/servers/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/script/mod.d.ts +3 -3
- package/script/mod.d.ts.map +1 -1
- package/script/mod.js +1 -1
- package/script/src/client.d.ts +1 -1
- package/script/src/client.js +1 -1
- package/script/src/http.d.ts +11 -3
- package/script/src/http.d.ts.map +1 -1
- package/script/src/http.js +25 -15
- package/script/src/resources/servers/activity.d.ts +16 -1
- package/script/src/resources/servers/activity.d.ts.map +1 -1
- package/script/src/resources/servers/activity.js +9 -0
- package/script/src/resources/servers/backups.d.ts +7 -7
- package/script/src/resources/servers/backups.d.ts.map +1 -1
- package/script/src/resources/servers/backups.js +8 -8
- package/script/src/resources/servers/connection.d.ts +82 -40
- package/script/src/resources/servers/connection.d.ts.map +1 -1
- package/script/src/resources/servers/connection.js +117 -76
- package/script/src/resources/servers/node-client.d.ts +5 -4
- package/script/src/resources/servers/node-client.d.ts.map +1 -1
- package/script/src/resources/servers/node-client.js +6 -10
- package/script/src/resources/servers/server.d.ts +1 -1
- package/script/src/resources/servers/server.js +3 -3
- package/script/src/resources/servers/types.d.ts +6 -1
- package/script/src/resources/servers/types.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../../src/src/resources/servers/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAiB,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../../src/src/resources/servers/connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { ReactiveResource } from '../../reactive.js';
|
|
2
2
|
import { SseConnection } from '../../sse.js';
|
|
3
|
+
const transferStatuses = ['pending', 'processing', 'canceling', 'canceled', 'failed', 'completed'];
|
|
3
4
|
/**
|
|
4
5
|
* A real-time SSE connection to a specific server on its Whisker node daemon.
|
|
5
6
|
*
|
|
6
|
-
* Emits typed events for console
|
|
7
|
-
* Also
|
|
8
|
-
*
|
|
7
|
+
* Emits typed events for the console timeline, power state changes, and resource utilization.
|
|
8
|
+
* Also keeps the console timeline in {@link entries}, starting with the history the node holds,
|
|
9
|
+
* fetched on {@link open}.
|
|
9
10
|
*
|
|
10
11
|
* The stream reconnects on its own after the daemon restarts or the network drops. Track it
|
|
11
|
-
* through {@link state} or the `connection_state` event. After a reconnect,
|
|
12
|
-
*
|
|
12
|
+
* through {@link state} or the `connection_state` event. After a reconnect, or when the daemon
|
|
13
|
+
* dropped entries for a viewer that fell behind, the missing entries are fetched and appended to
|
|
14
|
+
* {@link entries} in order, and emitted as `console_entry`.
|
|
13
15
|
*
|
|
14
16
|
* Obtain a connection via `Server.createConnection`.
|
|
15
17
|
*
|
|
@@ -22,8 +24,8 @@ import { SseConnection } from '../../sse.js';
|
|
|
22
24
|
*
|
|
23
25
|
* await conn.open();
|
|
24
26
|
*
|
|
25
|
-
* // Reactive: $conn.
|
|
26
|
-
* // Live
|
|
27
|
+
* // Reactive: $conn.entries is the console timeline
|
|
28
|
+
* // Live entries are appended automatically as they arrive over SSE
|
|
27
29
|
*
|
|
28
30
|
* // Later...
|
|
29
31
|
* conn.close();
|
|
@@ -32,11 +34,9 @@ import { SseConnection } from '../../sse.js';
|
|
|
32
34
|
export class ServerConnection extends ReactiveResource {
|
|
33
35
|
serverId;
|
|
34
36
|
nodeUrl;
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
static
|
|
38
|
-
/** Console history lines fetched from the node on open and after each reconnect. */
|
|
39
|
-
static historyLines = 100;
|
|
37
|
+
http;
|
|
38
|
+
/** How many entries {@link ServerConnection.entries} keeps, the size of the daemon's timeline. */
|
|
39
|
+
static maxEntries = 1000;
|
|
40
40
|
/**
|
|
41
41
|
* Whisker sends a keepalive every 20 seconds, so a stream silent for this long is dead even
|
|
42
42
|
* if the socket never closed.
|
|
@@ -44,23 +44,23 @@ export class ServerConnection extends ReactiveResource {
|
|
|
44
44
|
static idleTimeoutMs = 45_000;
|
|
45
45
|
listeners = new Map();
|
|
46
46
|
sse;
|
|
47
|
-
/** Live
|
|
48
|
-
|
|
47
|
+
/** Live entries held back while the post-reconnect history is merged in. */
|
|
48
|
+
pendingEntries;
|
|
49
49
|
/**
|
|
50
|
-
*
|
|
50
|
+
* The console timeline, oldest first, capped at the daemon's timeline size.
|
|
51
51
|
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
52
|
+
* Starts with the history the node holds when {@link open} is called, then grows as
|
|
53
|
+
* `console_entry` events arrive.
|
|
54
54
|
*
|
|
55
|
-
* Use as a reactive store: `$conn.
|
|
55
|
+
* Use as a reactive store: `$conn.entries`.
|
|
56
56
|
*/
|
|
57
|
-
|
|
57
|
+
entries = [];
|
|
58
58
|
/** @internal */
|
|
59
|
-
constructor(serverId, nodeUrl,
|
|
59
|
+
constructor(serverId, nodeUrl, http) {
|
|
60
60
|
super();
|
|
61
61
|
this.serverId = serverId;
|
|
62
62
|
this.nodeUrl = nodeUrl;
|
|
63
|
-
this.
|
|
63
|
+
this.http = http;
|
|
64
64
|
}
|
|
65
65
|
/** State of the stream to the daemon. */
|
|
66
66
|
get state() {
|
|
@@ -71,10 +71,16 @@ export class ServerConnection extends ReactiveResource {
|
|
|
71
71
|
return this.state === 'connected';
|
|
72
72
|
}
|
|
73
73
|
/**
|
|
74
|
-
*
|
|
74
|
+
* The auth issuer id the connection's token belongs to, which is how {@link ConsoleEntry.issuerId}
|
|
75
|
+
* names the viewer. `undefined` if the token does not say.
|
|
76
|
+
*/
|
|
77
|
+
get viewerIssuerId() {
|
|
78
|
+
return tokenSubject(this.http.getToken());
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Fetch the console history and open the SSE stream.
|
|
75
82
|
*
|
|
76
|
-
*
|
|
77
|
-
* live events.
|
|
83
|
+
* Fills {@link entries} with the history the node holds, then begins streaming live events.
|
|
78
84
|
*
|
|
79
85
|
* Only one stream is maintained at a time.
|
|
80
86
|
*
|
|
@@ -84,16 +90,18 @@ export class ServerConnection extends ReactiveResource {
|
|
|
84
90
|
this.close();
|
|
85
91
|
const history = await this.fetchHistory();
|
|
86
92
|
if (history) {
|
|
87
|
-
this.
|
|
93
|
+
this.entries = history.slice(-ServerConnection.maxEntries);
|
|
88
94
|
this.notify();
|
|
89
95
|
}
|
|
90
96
|
const url = `${this.nodeUrl}/api/servers/${this.serverId}/sse`;
|
|
91
|
-
const sse = new SseConnection(url, this.getToken, {
|
|
97
|
+
const sse = new SseConnection(url, () => this.http.getToken(), {
|
|
98
|
+
idleTimeoutMs: ServerConnection.idleTimeoutMs,
|
|
99
|
+
});
|
|
92
100
|
this.sse = sse;
|
|
93
101
|
let previous = sse.state;
|
|
94
102
|
sse.on('state', (state) => {
|
|
95
103
|
if (state === 'connected' && previous === 'reconnecting')
|
|
96
|
-
this.
|
|
104
|
+
this.resyncEntries(sse);
|
|
97
105
|
previous = state;
|
|
98
106
|
this.notify();
|
|
99
107
|
this.emit('connection_state', state);
|
|
@@ -104,7 +112,7 @@ export class ServerConnection extends ReactiveResource {
|
|
|
104
112
|
close() {
|
|
105
113
|
const sse = this.sse;
|
|
106
114
|
this.sse = undefined;
|
|
107
|
-
this.
|
|
115
|
+
this.pendingEntries = undefined;
|
|
108
116
|
sse?.disconnect();
|
|
109
117
|
sse?.removeAllListeners();
|
|
110
118
|
}
|
|
@@ -138,41 +146,49 @@ export class ServerConnection extends ReactiveResource {
|
|
|
138
146
|
}
|
|
139
147
|
async fetchHistory() {
|
|
140
148
|
try {
|
|
141
|
-
const res = await
|
|
149
|
+
const res = await this.http.fetchUrl(`${this.nodeUrl}/api/servers/${this.serverId}/logs`);
|
|
142
150
|
if (!res.ok)
|
|
143
151
|
return undefined;
|
|
144
152
|
const json = (await res.json());
|
|
145
|
-
return json.data ?? [];
|
|
153
|
+
return (json.data ?? []).map(parseConsoleEntry).filter((e) => e !== undefined);
|
|
146
154
|
}
|
|
147
155
|
catch {
|
|
148
156
|
return undefined;
|
|
149
157
|
}
|
|
150
158
|
}
|
|
151
159
|
/**
|
|
152
|
-
* Fill in the
|
|
160
|
+
* Fill in the entries missed while the stream was down, or that the daemon dropped, from the
|
|
161
|
+
* history. `first` is a live entry that came after the gap.
|
|
153
162
|
*
|
|
154
|
-
* Live
|
|
155
|
-
*
|
|
163
|
+
* Live entries are held back until the history arrives, so the gap comes before them. A
|
|
164
|
+
* daemon whose newest entry is older than the last one seen has lost its timeline, and its
|
|
165
|
+
* history is taken as new.
|
|
156
166
|
*/
|
|
157
|
-
async
|
|
158
|
-
const pending = [];
|
|
159
|
-
this.
|
|
167
|
+
async resyncEntries(sse, first) {
|
|
168
|
+
const pending = first ? [first] : [];
|
|
169
|
+
this.pendingEntries = pending;
|
|
160
170
|
const history = await this.fetchHistory();
|
|
161
|
-
if (this.sse !== sse || this.
|
|
171
|
+
if (this.sse !== sse || this.pendingEntries !== pending)
|
|
162
172
|
return;
|
|
163
|
-
this.
|
|
164
|
-
const
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
173
|
+
this.pendingEntries = undefined;
|
|
174
|
+
const newest = history?.at(-1)?.seq ?? 0;
|
|
175
|
+
if (newest < this.lastSeq)
|
|
176
|
+
this.entries = [];
|
|
177
|
+
for (const entry of [...(history ?? []), ...pending])
|
|
178
|
+
this.appendEntry(entry);
|
|
179
|
+
}
|
|
180
|
+
get lastSeq() {
|
|
181
|
+
return this.entries.at(-1)?.seq ?? 0;
|
|
168
182
|
}
|
|
169
|
-
|
|
170
|
-
this.
|
|
171
|
-
|
|
172
|
-
|
|
183
|
+
appendEntry(entry) {
|
|
184
|
+
if (entry.seq <= this.lastSeq)
|
|
185
|
+
return;
|
|
186
|
+
this.entries.push(entry);
|
|
187
|
+
if (this.entries.length > ServerConnection.maxEntries) {
|
|
188
|
+
this.entries.shift();
|
|
173
189
|
}
|
|
174
190
|
this.notify();
|
|
175
|
-
this.emit('
|
|
191
|
+
this.emit('console_entry', entry);
|
|
176
192
|
}
|
|
177
193
|
emit(event, payload) {
|
|
178
194
|
this.listeners.get(event)?.forEach((h) => h(payload));
|
|
@@ -188,11 +204,19 @@ export class ServerConnection extends ReactiveResource {
|
|
|
188
204
|
try {
|
|
189
205
|
const parsed = JSON.parse(rawData);
|
|
190
206
|
switch (event) {
|
|
191
|
-
case '
|
|
192
|
-
|
|
207
|
+
case 'console_entry': {
|
|
208
|
+
const entry = parseConsoleEntry(parsed);
|
|
209
|
+
if (!entry)
|
|
193
210
|
return;
|
|
194
|
-
|
|
195
|
-
|
|
211
|
+
if (this.pendingEntries)
|
|
212
|
+
this.pendingEntries.push(entry);
|
|
213
|
+
// A skipped number means the daemon dropped entries for a viewer that fell behind.
|
|
214
|
+
else if (this.sse && this.entries.length > 0 && entry.seq > this.lastSeq + 1) {
|
|
215
|
+
void this.resyncEntries(this.sse, entry);
|
|
216
|
+
}
|
|
217
|
+
else
|
|
218
|
+
this.appendEntry(entry);
|
|
219
|
+
return;
|
|
196
220
|
}
|
|
197
221
|
case 'status': {
|
|
198
222
|
if (typeof parsed !== 'string')
|
|
@@ -251,9 +275,13 @@ export class ServerConnection extends ReactiveResource {
|
|
|
251
275
|
payload = '';
|
|
252
276
|
break;
|
|
253
277
|
}
|
|
254
|
-
case '
|
|
278
|
+
case 'transfer_status': {
|
|
279
|
+
if (!transferStatuses.includes(parsed))
|
|
280
|
+
return;
|
|
281
|
+
payload = parsed;
|
|
282
|
+
break;
|
|
283
|
+
}
|
|
255
284
|
case 'daemon_message':
|
|
256
|
-
case 'transfer_status':
|
|
257
285
|
case 'transfer_logs': {
|
|
258
286
|
if (typeof parsed !== 'string')
|
|
259
287
|
return;
|
|
@@ -261,10 +289,10 @@ export class ServerConnection extends ReactiveResource {
|
|
|
261
289
|
break;
|
|
262
290
|
}
|
|
263
291
|
case 'backup_completed': {
|
|
264
|
-
if (typeof parsed?.
|
|
292
|
+
if (typeof parsed?.id !== 'string')
|
|
265
293
|
return;
|
|
266
294
|
payload = {
|
|
267
|
-
|
|
295
|
+
id: parsed.id,
|
|
268
296
|
isSuccessful: Boolean(parsed.is_successful),
|
|
269
297
|
checksum: typeof parsed.checksum === 'string' ? parsed.checksum : '',
|
|
270
298
|
checksumType: typeof parsed.checksum_type === 'string' ? parsed.checksum_type : '',
|
|
@@ -279,29 +307,42 @@ export class ServerConnection extends ReactiveResource {
|
|
|
279
307
|
catch {
|
|
280
308
|
return;
|
|
281
309
|
}
|
|
282
|
-
if (event === 'console_output') {
|
|
283
|
-
const line = payload;
|
|
284
|
-
if (this.pendingOutput)
|
|
285
|
-
this.pendingOutput.push(line);
|
|
286
|
-
else
|
|
287
|
-
this.appendOutput(line);
|
|
288
|
-
return;
|
|
289
|
-
}
|
|
290
310
|
this.emit(event, payload);
|
|
291
311
|
}
|
|
292
312
|
}
|
|
293
|
-
/**
|
|
294
|
-
function
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
313
|
+
/** Map a raw timeline entry from the daemon, or `undefined` if it is not one. */
|
|
314
|
+
function parseConsoleEntry(raw) {
|
|
315
|
+
const r = raw;
|
|
316
|
+
if (typeof r?.seq !== 'number' || typeof r.kind !== 'string' || typeof r.time !== 'string')
|
|
317
|
+
return undefined;
|
|
318
|
+
const text = (key) => (typeof r[key] === 'string' && r[key] !== '' ? r[key] : undefined);
|
|
319
|
+
return {
|
|
320
|
+
seq: r.seq,
|
|
321
|
+
time: new Date(r.time),
|
|
322
|
+
kind: r.kind,
|
|
323
|
+
text: text('text'),
|
|
324
|
+
state: text('state'),
|
|
325
|
+
action: text('action'),
|
|
326
|
+
status: text('status'),
|
|
327
|
+
error: text('error'),
|
|
328
|
+
jobId: text('job'),
|
|
329
|
+
issuerId: text('issuer'),
|
|
330
|
+
activityId: text('activity'),
|
|
331
|
+
exitCode: typeof r.exit_code === 'number' ? r.exit_code : undefined,
|
|
332
|
+
outOfMemory: r.out_of_memory === true ? true : undefined,
|
|
333
|
+
};
|
|
334
|
+
}
|
|
335
|
+
/** The `sub` claim of a JWT, without verifying it. */
|
|
336
|
+
function tokenSubject(token) {
|
|
337
|
+
try {
|
|
338
|
+
const payload = token.split('.')[1];
|
|
339
|
+
if (!payload)
|
|
340
|
+
return undefined;
|
|
341
|
+
const json = atob(payload.replace(/-/g, '+').replace(/_/g, '/'));
|
|
342
|
+
const sub = JSON.parse(json).sub;
|
|
343
|
+
return typeof sub === 'string' ? sub : undefined;
|
|
344
|
+
}
|
|
345
|
+
catch {
|
|
346
|
+
return undefined;
|
|
305
347
|
}
|
|
306
|
-
return 0;
|
|
307
348
|
}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
|
+
import type { HttpClient } from '../../http.js';
|
|
1
2
|
import type { NanoID } from '../../types.js';
|
|
2
3
|
/**
|
|
3
4
|
* Transport for direct calls to a server's Whisker node daemon.
|
|
4
5
|
*
|
|
5
6
|
* File operations, backups, jobs, and the live connection all bypass Nexus and talk
|
|
6
7
|
* to the node that hosts the server. The node URL is resolved lazily on first use and
|
|
7
|
-
* cached.
|
|
8
|
-
* non-2xx responses.
|
|
8
|
+
* cached. Requests go through the client's `fetch` with its current bearer token, so a
|
|
9
|
+
* refreshed token applies to them too, and throw {@link ApiError} on non-2xx responses.
|
|
9
10
|
*
|
|
10
11
|
* @internal
|
|
11
12
|
*/
|
|
12
13
|
export declare class NodeClient {
|
|
13
14
|
private readonly serverId;
|
|
14
|
-
private readonly
|
|
15
|
+
private readonly http;
|
|
15
16
|
private readonly resolveNodeUrl;
|
|
16
17
|
private nodeUrl?;
|
|
17
|
-
constructor(serverId: NanoID,
|
|
18
|
+
constructor(serverId: NanoID, http: HttpClient, resolveNodeUrl: () => Promise<string>);
|
|
18
19
|
/** Base URL for this server on its node, e.g. `https://node:8080/api/servers/<id>`. */
|
|
19
20
|
private base;
|
|
20
21
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-client.d.ts","sourceRoot":"","sources":["../../../../src/src/resources/servers/node-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;;;;;GASG;AACH,qBAAa,UAAU;IAIrB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"node-client.d.ts","sourceRoot":"","sources":["../../../../src/src/resources/servers/node-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;;;;;GASG;AACH,qBAAa,UAAU;IAIrB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,cAAc;IALhC,OAAO,CAAC,OAAO,CAAC,CAAS;gBAGP,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,UAAU,EAChB,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC;IAGvD,uFAAuF;YACzE,IAAI;IAKlB;;;;;OAKG;IACU,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAa/E,8DAA8D;IACjD,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC;CAQ/F"}
|
|
@@ -4,19 +4,19 @@ import { ApiError } from '../../errors.js';
|
|
|
4
4
|
*
|
|
5
5
|
* File operations, backups, jobs, and the live connection all bypass Nexus and talk
|
|
6
6
|
* to the node that hosts the server. The node URL is resolved lazily on first use and
|
|
7
|
-
* cached.
|
|
8
|
-
* non-2xx responses.
|
|
7
|
+
* cached. Requests go through the client's `fetch` with its current bearer token, so a
|
|
8
|
+
* refreshed token applies to them too, and throw {@link ApiError} on non-2xx responses.
|
|
9
9
|
*
|
|
10
10
|
* @internal
|
|
11
11
|
*/
|
|
12
12
|
export class NodeClient {
|
|
13
13
|
serverId;
|
|
14
|
-
|
|
14
|
+
http;
|
|
15
15
|
resolveNodeUrl;
|
|
16
16
|
nodeUrl;
|
|
17
|
-
constructor(serverId,
|
|
17
|
+
constructor(serverId, http, resolveNodeUrl) {
|
|
18
18
|
this.serverId = serverId;
|
|
19
|
-
this.
|
|
19
|
+
this.http = http;
|
|
20
20
|
this.resolveNodeUrl = resolveNodeUrl;
|
|
21
21
|
}
|
|
22
22
|
/** Base URL for this server on its node, e.g. `https://node:8080/api/servers/<id>`. */
|
|
@@ -32,11 +32,7 @@ export class NodeClient {
|
|
|
32
32
|
* @param init Standard `RequestInit`; the bearer header is added automatically.
|
|
33
33
|
*/
|
|
34
34
|
async fetch(endpoint, init = {}) {
|
|
35
|
-
const
|
|
36
|
-
const res = await globalThis.fetch(url, {
|
|
37
|
-
...init,
|
|
38
|
-
headers: { 'Authorization': `Bearer ${this.token}`, ...init.headers },
|
|
39
|
-
});
|
|
35
|
+
const res = await this.http.fetchUrl((await this.base()) + endpoint, init);
|
|
40
36
|
if (!res.ok) {
|
|
41
37
|
let message = `HTTP ${res.status}`;
|
|
42
38
|
try {
|
|
@@ -74,7 +74,7 @@ export interface ServerBuild {
|
|
|
74
74
|
* await server.sendCommand('say Hello!');
|
|
75
75
|
*
|
|
76
76
|
* const conn = await server.createConnection();
|
|
77
|
-
* conn.on('
|
|
77
|
+
* conn.on('console_entry', (entry) => console.log(entry.text));
|
|
78
78
|
* await conn.open();
|
|
79
79
|
* ```
|
|
80
80
|
*/
|
|
@@ -24,7 +24,7 @@ import { ServerUserManager } from './sub-users.js';
|
|
|
24
24
|
* await server.sendCommand('say Hello!');
|
|
25
25
|
*
|
|
26
26
|
* const conn = await server.createConnection();
|
|
27
|
-
* conn.on('
|
|
27
|
+
* conn.on('console_entry', (entry) => console.log(entry.text));
|
|
28
28
|
* await conn.open();
|
|
29
29
|
* ```
|
|
30
30
|
*/
|
|
@@ -78,7 +78,7 @@ export class Server extends ReactiveResource {
|
|
|
78
78
|
this.activity = new ServerActivityManager(this.id, http);
|
|
79
79
|
this.subUsers = new ServerUserManager(`/servers/${this.id}`, http);
|
|
80
80
|
this.features = new ServerFeaturesManager(this.id, http);
|
|
81
|
-
this.node = new NodeClient(this.id, http
|
|
81
|
+
this.node = new NodeClient(this.id, http, resolveNodeUrl);
|
|
82
82
|
this.files = new ServerFilesManager(this.node);
|
|
83
83
|
this.backups = new ServerBackupsManager(this.node);
|
|
84
84
|
this.jobs = new ServerJobsManager(this.node);
|
|
@@ -172,7 +172,7 @@ export class Server extends ReactiveResource {
|
|
|
172
172
|
*/
|
|
173
173
|
async createConnection() {
|
|
174
174
|
const nodeUrl = await this.resolveNodeUrl();
|
|
175
|
-
return new ServerConnection(this.id, nodeUrl,
|
|
175
|
+
return new ServerConnection(this.id, nodeUrl, this.http);
|
|
176
176
|
}
|
|
177
177
|
}
|
|
178
178
|
function parseStatus(data) {
|
|
@@ -123,7 +123,7 @@ export interface ActivityJobLogSourceData {
|
|
|
123
123
|
export interface ActivityJobData {
|
|
124
124
|
id: string;
|
|
125
125
|
kind: string;
|
|
126
|
-
status: 'in_progress' | 'completed' | 'failed';
|
|
126
|
+
status: 'in_progress' | 'completed' | 'failed' | 'canceled';
|
|
127
127
|
progress: number | null;
|
|
128
128
|
message: string | null;
|
|
129
129
|
log_source: ActivityJobLogSourceData;
|
|
@@ -135,6 +135,11 @@ export interface ActivityJobData {
|
|
|
135
135
|
/** Raw API shape for an activity log entry. @internal */
|
|
136
136
|
export interface ActivityLogData {
|
|
137
137
|
id: string;
|
|
138
|
+
/**
|
|
139
|
+
* The id the node daemon gave an entry it reported, or `null` for one the API recorded.
|
|
140
|
+
* Present only with the `node_entry_id` include.
|
|
141
|
+
*/
|
|
142
|
+
node_entry_id?: string | null;
|
|
138
143
|
event: string;
|
|
139
144
|
server_id?: string | null;
|
|
140
145
|
node_id?: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/src/resources/servers/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/src/resources/servers/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/script/mod.d.ts
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
*
|
|
28
28
|
* // Real-time console via SSE
|
|
29
29
|
* const conn = await server.createConnection();
|
|
30
|
-
* conn.on("
|
|
30
|
+
* conn.on("console_entry", (entry) => console.log(entry.text));
|
|
31
31
|
* conn.on("stats", (stats) => console.log(`CPU: ${stats.cpuAbsolute}%`));
|
|
32
32
|
* await conn.open();
|
|
33
33
|
* ```
|
|
@@ -87,7 +87,7 @@ export type { CreateServerPayload, ServerEvents, ServerInclude, ServerWith, Upda
|
|
|
87
87
|
export { Server } from './src/resources/servers/server.js';
|
|
88
88
|
export type { ServerBuild, ServerStatsHistory, ServerStatus } from './src/resources/servers/server.js';
|
|
89
89
|
export { ServerConnection } from './src/resources/servers/connection.js';
|
|
90
|
-
export type { BackupCompletedEvent, JobLogEvent, JobProgressEvent, ServerConnectionEvents, ServerUtilization, } from './src/resources/servers/connection.js';
|
|
90
|
+
export type { BackupCompletedEvent, ConsoleEntry, ConsoleEntryKind, JobLogEvent, JobProgressEvent, ServerConnectionEvents, ServerUtilization, TransferStatus, } from './src/resources/servers/connection.js';
|
|
91
91
|
export { FileEntry, ServerFilesManager } from './src/resources/servers/files.js';
|
|
92
92
|
export { ServerBackupsManager } from './src/resources/servers/backups.js';
|
|
93
93
|
export type { BackupAdapter, CreateBackupOptions, RestoreBackupOptions } from './src/resources/servers/backups.js';
|
|
@@ -105,5 +105,5 @@ export type { EffectiveFeature, FeatureSetting, FeatureSettingSource, FeatureSou
|
|
|
105
105
|
export { ServerUser, ServerUserManager } from './src/resources/servers/sub-users.js';
|
|
106
106
|
export type { AddServerUserInput, ServerUserGrant, ServerUserKind } from './src/resources/servers/sub-users.js';
|
|
107
107
|
export { ActivityJob, ActivityJobLog, ActivityLog, ServerActivityManager } from './src/resources/servers/activity.js';
|
|
108
|
-
export type { ActivityFeedOptions, ActivityJobLogSource, ServerActivityFeedOptions, } from './src/resources/servers/activity.js';
|
|
108
|
+
export type { ActivityFeedOptions, ActivityInclude, ActivityJobLogSource, ServerActivityFeedOptions, } from './src/resources/servers/activity.js';
|
|
109
109
|
//# sourceMappingURL=mod.d.ts.map
|
package/script/mod.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"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"}
|
package/script/mod.js
CHANGED
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
*
|
|
29
29
|
* // Real-time console via SSE
|
|
30
30
|
* const conn = await server.createConnection();
|
|
31
|
-
* conn.on("
|
|
31
|
+
* conn.on("console_entry", (entry) => console.log(entry.text));
|
|
32
32
|
* conn.on("stats", (stats) => console.log(`CPU: ${stats.cpuAbsolute}%`));
|
|
33
33
|
* await conn.open();
|
|
34
34
|
* ```
|
package/script/src/client.d.ts
CHANGED
|
@@ -202,7 +202,7 @@ export declare class MeowPanelApi {
|
|
|
202
202
|
*
|
|
203
203
|
* // Real-time events
|
|
204
204
|
* const conn = await server.createConnection();
|
|
205
|
-
* conn.on('
|
|
205
|
+
* conn.on('console_entry', (entry) => console.log(entry.text));
|
|
206
206
|
* conn.on('stats', (stats) => console.log(`CPU: ${stats.cpuAbsolute}%`));
|
|
207
207
|
* await conn.open();
|
|
208
208
|
* ```
|
package/script/src/client.js
CHANGED
|
@@ -180,7 +180,7 @@ class MeowPanelApi {
|
|
|
180
180
|
*
|
|
181
181
|
* // Real-time events
|
|
182
182
|
* const conn = await server.createConnection();
|
|
183
|
-
* conn.on('
|
|
183
|
+
* conn.on('console_entry', (entry) => console.log(entry.text));
|
|
184
184
|
* conn.on('stats', (stats) => console.log(`CPU: ${stats.cpuAbsolute}%`));
|
|
185
185
|
* await conn.open();
|
|
186
186
|
* ```
|
package/script/src/http.d.ts
CHANGED
|
@@ -81,6 +81,13 @@ export declare class HttpClient {
|
|
|
81
81
|
* @param params Query parameters to append.
|
|
82
82
|
*/
|
|
83
83
|
fetch(path: string, init?: RequestInit, params?: Record<string, string | number | boolean | undefined>): Promise<Response>;
|
|
84
|
+
/**
|
|
85
|
+
* Send a request to a URL outside the API, such as a node daemon, through the configured
|
|
86
|
+
* `fetch` with the current bearer token. Non-2xx responses are returned, not thrown.
|
|
87
|
+
*
|
|
88
|
+
* @internal
|
|
89
|
+
*/
|
|
90
|
+
fetchUrl(url: string, init?: RequestInit): Promise<Response>;
|
|
84
91
|
/**
|
|
85
92
|
* GET and deserialize a JSON response body.
|
|
86
93
|
*
|
|
@@ -89,7 +96,8 @@ export declare class HttpClient {
|
|
|
89
96
|
*/
|
|
90
97
|
get<T>(path: string, opts?: RequestOptions): Promise<T>;
|
|
91
98
|
/**
|
|
92
|
-
* POST with an optional JSON body. Returns `undefined` for
|
|
99
|
+
* POST with an optional JSON body. Returns `undefined` for a response without a body, such as
|
|
100
|
+
* `204 No Content` or a bare `202 Accepted`.
|
|
93
101
|
*
|
|
94
102
|
* @param path Path relative to the API base URL.
|
|
95
103
|
* @param body Request body, serialized as JSON.
|
|
@@ -97,7 +105,7 @@ export declare class HttpClient {
|
|
|
97
105
|
*/
|
|
98
106
|
post<T = void>(path: string, body?: unknown, opts?: RequestOptions): Promise<T>;
|
|
99
107
|
/**
|
|
100
|
-
* PATCH with an optional JSON body. Returns `undefined` for
|
|
108
|
+
* PATCH with an optional JSON body. Returns `undefined` for a response without a body.
|
|
101
109
|
*
|
|
102
110
|
* @param path Path relative to the API base URL.
|
|
103
111
|
* @param body Partial update body, serialized as JSON.
|
|
@@ -105,7 +113,7 @@ export declare class HttpClient {
|
|
|
105
113
|
*/
|
|
106
114
|
patch<T = void>(path: string, body?: unknown, opts?: RequestOptions): Promise<T>;
|
|
107
115
|
/**
|
|
108
|
-
* DELETE a resource. Returns `undefined` for
|
|
116
|
+
* DELETE a resource. Returns `undefined` for a response without a body, otherwise the parsed body.
|
|
109
117
|
*
|
|
110
118
|
* @param path Path relative to the API base URL.
|
|
111
119
|
* @param opts Additional request options.
|