@meowpanel/api 0.1.0 → 0.3.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/esm/mod.d.ts +3 -3
- package/esm/mod.d.ts.map +1 -1
- package/esm/mod.js +1 -1
- package/esm/src/errors.d.ts +8 -0
- package/esm/src/errors.d.ts.map +1 -1
- package/esm/src/errors.js +10 -0
- package/esm/src/resources/account.d.ts +54 -0
- package/esm/src/resources/account.d.ts.map +1 -1
- package/esm/src/resources/account.js +61 -0
- package/esm/src/resources/nodes.d.ts +136 -31
- package/esm/src/resources/nodes.d.ts.map +1 -1
- package/esm/src/resources/nodes.js +97 -17
- package/esm/src/resources/servers/files.js +2 -2
- package/esm/src/resources/servers/sftp.d.ts +9 -0
- package/esm/src/resources/servers/sftp.d.ts.map +1 -1
- package/esm/src/resources/servers/sftp.js +12 -0
- package/esm/src/resources/servers/types.d.ts +7 -5
- 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 +3 -1
- package/script/src/errors.d.ts +8 -0
- package/script/src/errors.d.ts.map +1 -1
- package/script/src/errors.js +10 -0
- package/script/src/resources/account.d.ts +54 -0
- package/script/src/resources/account.d.ts.map +1 -1
- package/script/src/resources/account.js +64 -1
- package/script/src/resources/nodes.d.ts +136 -31
- package/script/src/resources/nodes.d.ts.map +1 -1
- package/script/src/resources/nodes.js +97 -17
- package/script/src/resources/servers/files.js +2 -2
- package/script/src/resources/servers/sftp.d.ts +9 -0
- package/script/src/resources/servers/sftp.d.ts.map +1 -1
- package/script/src/resources/servers/sftp.js +12 -0
- package/script/src/resources/servers/types.d.ts +7 -5
- package/script/src/resources/servers/types.d.ts.map +1 -1
|
@@ -2,6 +2,7 @@ import { ResourceNamespace } from '../namespace.js';
|
|
|
2
2
|
import { ReactiveResource } from '../reactive.js';
|
|
3
3
|
import { joinIncludes, toNanoID } from '../types.js';
|
|
4
4
|
import { Member } from './members.js';
|
|
5
|
+
import { Host } from './hosts.js';
|
|
5
6
|
import { ActivityLog } from './servers/activity.js';
|
|
6
7
|
/**
|
|
7
8
|
* A geographic location associated with one or more nodes.
|
|
@@ -13,10 +14,10 @@ export class NodeLocation extends ReactiveResource {
|
|
|
13
14
|
name;
|
|
14
15
|
/** Short code used in node name generation, e.g. `"use"`. */
|
|
15
16
|
short;
|
|
16
|
-
/** The
|
|
17
|
-
|
|
18
|
-
/** The full
|
|
19
|
-
|
|
17
|
+
/** The host's NanoID. Always present. */
|
|
18
|
+
hostId;
|
|
19
|
+
/** The full host object. Requires `?include=host`. */
|
|
20
|
+
host;
|
|
20
21
|
/** Internal notes. */
|
|
21
22
|
notes;
|
|
22
23
|
/** When this location was created. */
|
|
@@ -29,8 +30,8 @@ export class NodeLocation extends ReactiveResource {
|
|
|
29
30
|
this.id = toNanoID(data.id);
|
|
30
31
|
this.name = data.name;
|
|
31
32
|
this.short = data.short;
|
|
32
|
-
this.
|
|
33
|
-
this.
|
|
33
|
+
this.hostId = toNanoID(data.host_id);
|
|
34
|
+
this.host = data.host ? new Host(data.host) : undefined;
|
|
34
35
|
this.notes = data.notes;
|
|
35
36
|
this.createdAt = new Date(data.created_at);
|
|
36
37
|
this.updatedAt = new Date(data.updated_at);
|
|
@@ -46,10 +47,10 @@ export class NodeType extends ReactiveResource {
|
|
|
46
47
|
name;
|
|
47
48
|
/** Short code used in node name generation, e.g. `"a"`. */
|
|
48
49
|
short;
|
|
49
|
-
/** The
|
|
50
|
-
|
|
51
|
-
/** The full
|
|
52
|
-
|
|
50
|
+
/** The host's NanoID. Always present. */
|
|
51
|
+
hostId;
|
|
52
|
+
/** The full host object. Requires `?include=host`. */
|
|
53
|
+
host;
|
|
53
54
|
/** Internal notes. */
|
|
54
55
|
notes;
|
|
55
56
|
/** When this type was created. */
|
|
@@ -62,8 +63,8 @@ export class NodeType extends ReactiveResource {
|
|
|
62
63
|
this.id = toNanoID(data.id);
|
|
63
64
|
this.name = data.name;
|
|
64
65
|
this.short = data.short;
|
|
65
|
-
this.
|
|
66
|
-
this.
|
|
66
|
+
this.hostId = toNanoID(data.host_id);
|
|
67
|
+
this.host = data.host ? new Host(data.host) : undefined;
|
|
67
68
|
this.notes = data.notes;
|
|
68
69
|
this.createdAt = new Date(data.created_at);
|
|
69
70
|
this.updatedAt = new Date(data.updated_at);
|
|
@@ -154,8 +155,21 @@ export class Node extends ReactiveResource {
|
|
|
154
155
|
num;
|
|
155
156
|
/** Resource limits configured for this node. */
|
|
156
157
|
limits;
|
|
157
|
-
/**
|
|
158
|
+
/**
|
|
159
|
+
* Daemon authentication token row id. `null` while the node is unclaimed,
|
|
160
|
+
* populated once a daemon redeems its install token.
|
|
161
|
+
*/
|
|
158
162
|
authToken;
|
|
163
|
+
/** Lifecycle state. See {@link NodeStatus}. */
|
|
164
|
+
status;
|
|
165
|
+
/** Timestamp of the first successful claim. `null` until claimed. */
|
|
166
|
+
claimedAt;
|
|
167
|
+
/**
|
|
168
|
+
* Expiry of the active install token. Only present for callers with the
|
|
169
|
+
* `node.install_token.manage` permission; `null` if no install token is
|
|
170
|
+
* currently active (e.g. claimed node, revoked token).
|
|
171
|
+
*/
|
|
172
|
+
installTokenExpiresAt;
|
|
159
173
|
/** Direct connection details for the node daemon API. Requires `?include=connection`. */
|
|
160
174
|
connection;
|
|
161
175
|
/** `true` when the node is in maintenance mode (no new servers will be started). */
|
|
@@ -192,6 +206,13 @@ export class Node extends ReactiveResource {
|
|
|
192
206
|
uploadSizeMb: data.limits.upload_size_mb,
|
|
193
207
|
};
|
|
194
208
|
this.authToken = data.auth_token;
|
|
209
|
+
this.status = data.status;
|
|
210
|
+
this.claimedAt = data.claimed_at ? new Date(data.claimed_at) : null;
|
|
211
|
+
this.installTokenExpiresAt = data.install_token_expires_at === undefined
|
|
212
|
+
? undefined
|
|
213
|
+
: data.install_token_expires_at
|
|
214
|
+
? new Date(data.install_token_expires_at)
|
|
215
|
+
: null;
|
|
195
216
|
this.connection = data.connection ?? undefined;
|
|
196
217
|
this.isMaintenanceMode = data.is_maintenance_mode;
|
|
197
218
|
this.canAutoDeploy = data.can_auto_deploy;
|
|
@@ -297,9 +318,9 @@ export class NodesNamespace extends ResourceNamespace {
|
|
|
297
318
|
return new Node(data);
|
|
298
319
|
}
|
|
299
320
|
/**
|
|
300
|
-
* Create a
|
|
301
|
-
*
|
|
302
|
-
*
|
|
321
|
+
* Create a node and receive its one-shot install token. The token is the
|
|
322
|
+
* credential a daemon uses to {@link NodesNamespace.claim claim} this
|
|
323
|
+
* node. Show once, never persist client-side.
|
|
303
324
|
*/
|
|
304
325
|
async create(payload) {
|
|
305
326
|
const body = {
|
|
@@ -328,7 +349,66 @@ export class NodesNamespace extends ResourceNamespace {
|
|
|
328
349
|
const node = new Node(data);
|
|
329
350
|
this.addToCache(node);
|
|
330
351
|
this.emit('created', node);
|
|
331
|
-
return
|
|
352
|
+
return {
|
|
353
|
+
node,
|
|
354
|
+
installToken: data.install_token,
|
|
355
|
+
installTokenExpiresAt: new Date(data.install_token_expires_at),
|
|
356
|
+
};
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* Claim a node by redeeming its install token. Public endpoint, no
|
|
360
|
+
* Authorization header. Returns a permanent daemon token; the install
|
|
361
|
+
* token is invalidated after a successful claim.
|
|
362
|
+
*/
|
|
363
|
+
async claim(payload) {
|
|
364
|
+
const data = await this.http.post(`/nodes/claim`, {
|
|
365
|
+
install_token: payload.installToken,
|
|
366
|
+
whisker_version: payload.whiskerVersion,
|
|
367
|
+
host_fingerprint: payload.hostFingerprint,
|
|
368
|
+
});
|
|
369
|
+
return {
|
|
370
|
+
daemonToken: data.daemon_token,
|
|
371
|
+
node: {
|
|
372
|
+
id: toNanoID(data.node.id),
|
|
373
|
+
status: data.node.status,
|
|
374
|
+
fqdn: data.node.fqdn,
|
|
375
|
+
claimedAt: data.node.claimed_at ? new Date(data.node.claimed_at) : null,
|
|
376
|
+
},
|
|
377
|
+
};
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* Re-issue the install token on an unclaimed node. Returns 409 if the
|
|
381
|
+
* node is not `unclaimed` (use {@link NodesNamespace.reset} first).
|
|
382
|
+
* Requires `node.install_token.manage`.
|
|
383
|
+
*/
|
|
384
|
+
async rotateInstallToken(id) {
|
|
385
|
+
const data = await this.http.post(`/nodes/${id}/install-token/rotate`);
|
|
386
|
+
return {
|
|
387
|
+
installToken: data.install_token,
|
|
388
|
+
installTokenExpiresAt: new Date(data.install_token_expires_at),
|
|
389
|
+
};
|
|
390
|
+
}
|
|
391
|
+
/**
|
|
392
|
+
* Clear the install token on an unclaimed node without issuing a new one.
|
|
393
|
+
* Returns 409 if the node is not `unclaimed`.
|
|
394
|
+
* Requires `node.install_token.manage`.
|
|
395
|
+
*/
|
|
396
|
+
async revokeInstallToken(id) {
|
|
397
|
+
await this.http.delete(`/nodes/${id}/install-token`);
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* Recovery flow. Returns a claimed/disabled node to `unclaimed`, expires
|
|
401
|
+
* its existing daemon token, and issues a fresh install token. Destructive:
|
|
402
|
+
* the existing daemon is kicked offline within ~60s of cache expiry.
|
|
403
|
+
* Returns 409 if the node is already `unclaimed`.
|
|
404
|
+
* Requires `node.reset`.
|
|
405
|
+
*/
|
|
406
|
+
async reset(id) {
|
|
407
|
+
const data = await this.http.post(`/nodes/${id}/reset`);
|
|
408
|
+
return {
|
|
409
|
+
installToken: data.install_token,
|
|
410
|
+
installTokenExpiresAt: new Date(data.install_token_expires_at),
|
|
411
|
+
};
|
|
332
412
|
}
|
|
333
413
|
/**
|
|
334
414
|
* Fetch all servers deployed on a specific node.
|
|
@@ -26,7 +26,7 @@ export class FileEntry {
|
|
|
26
26
|
this.name = data.name;
|
|
27
27
|
this.mode = data.mode;
|
|
28
28
|
this.modeBits = data.mode_bits;
|
|
29
|
-
this.size = data.
|
|
29
|
+
this.size = data.size_bytes;
|
|
30
30
|
this.isDirectory = data.type === 'directory';
|
|
31
31
|
this.mime = data.mime;
|
|
32
32
|
this.isSymlink = data.symlink;
|
|
@@ -107,7 +107,7 @@ export class ServerFilesManager {
|
|
|
107
107
|
const url = await this.buildFileUrl(path.startsWith('/') ? path : `/${path}`);
|
|
108
108
|
const res = await this.nodeFetch(url);
|
|
109
109
|
const data = await res.json();
|
|
110
|
-
return data.
|
|
110
|
+
return data.map((e) => new FileEntry(e));
|
|
111
111
|
}
|
|
112
112
|
/**
|
|
113
113
|
* Read the text content of a file.
|
|
@@ -145,6 +145,15 @@ export declare class ServerSftpManager {
|
|
|
145
145
|
* @param userId The SFTP user's NanoID.
|
|
146
146
|
*/
|
|
147
147
|
delete(userId: NanoID): Promise<void>;
|
|
148
|
+
/**
|
|
149
|
+
* Reset an SFTP user's password and receive the new one.
|
|
150
|
+
*
|
|
151
|
+
* The generated password is returned once here and is never retrievable again.
|
|
152
|
+
*
|
|
153
|
+
* @param userId The SFTP user's NanoID.
|
|
154
|
+
* @returns The newly generated plaintext password.
|
|
155
|
+
*/
|
|
156
|
+
resetPassword(userId: NanoID): Promise<string>;
|
|
148
157
|
}
|
|
149
158
|
export {};
|
|
150
159
|
//# sourceMappingURL=sftp.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sftp.d.ts","sourceRoot":"","sources":["../../../../src/src/resources/servers/sftp.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sftp.d.ts","sourceRoot":"","sources":["../../../../src/src/resources/servers/sftp.ts"],"names":[],"mappings":"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"}
|
|
@@ -150,4 +150,16 @@ export class ServerSftpManager {
|
|
|
150
150
|
async delete(userId) {
|
|
151
151
|
await this.http.delete(`/servers/${this.serverId}/sftp/users/${userId}`);
|
|
152
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Reset an SFTP user's password and receive the new one.
|
|
155
|
+
*
|
|
156
|
+
* The generated password is returned once here and is never retrievable again.
|
|
157
|
+
*
|
|
158
|
+
* @param userId The SFTP user's NanoID.
|
|
159
|
+
* @returns The newly generated plaintext password.
|
|
160
|
+
*/
|
|
161
|
+
async resetPassword(userId) {
|
|
162
|
+
const data = await this.http.post(`/servers/${this.serverId}/sftp/users/${userId}/reset-password`);
|
|
163
|
+
return data.password;
|
|
164
|
+
}
|
|
153
165
|
}
|
|
@@ -137,15 +137,17 @@ export interface FileEntryData {
|
|
|
137
137
|
modified: ISODate;
|
|
138
138
|
mode: string;
|
|
139
139
|
mode_bits: string;
|
|
140
|
-
|
|
140
|
+
size_bytes: number;
|
|
141
141
|
type: 'file' | 'directory';
|
|
142
142
|
symlink: boolean;
|
|
143
143
|
mime: string;
|
|
144
144
|
}
|
|
145
|
-
/**
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
145
|
+
/**
|
|
146
|
+
* Raw API shape for a directory listing from the Whisker node: a bare array of
|
|
147
|
+
* entries.
|
|
148
|
+
* @internal
|
|
149
|
+
*/
|
|
150
|
+
export type DirectoryListingData = FileEntryData[];
|
|
149
151
|
/** Raw API shape for a server. @internal */
|
|
150
152
|
export interface ServerData {
|
|
151
153
|
id: string;
|
|
@@ -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
|
@@ -57,14 +57,14 @@ export { SseConnection } from './src/sse.js';
|
|
|
57
57
|
export type { SseState } from './src/sse.js';
|
|
58
58
|
export { joinIncludes, toNanoID } from './src/types.js';
|
|
59
59
|
export type { IncludeOptions, ISODate, ListOptions, NanoID, Paginated, PowerAction, PowerState, ResourceWith, ServerRestrictedState, SftpPermission, UnionToIntersection, } from './src/types.js';
|
|
60
|
-
export { Account, AccountResource, ApiKeyAccount, UserAccount } from './src/resources/account.js';
|
|
61
|
-
export type { AccountInclude, UpdateAccountPayload } from './src/resources/account.js';
|
|
60
|
+
export { Account, AccountResource, AccountSshKeysManager, ApiKeyAccount, SshKey, UserAccount, } from './src/resources/account.js';
|
|
61
|
+
export type { AccountInclude, CreateSshKeyPayload, SshKeyData, UpdateAccountPayload } from './src/resources/account.js';
|
|
62
62
|
export { ApiKey, ApiKeysNamespace } from './src/resources/api-keys.js';
|
|
63
63
|
export type { ApiKeyEvents, CreateApiKeyPayload, CreateApiKeyResult } from './src/resources/api-keys.js';
|
|
64
64
|
export { Member, MembersNamespace } from './src/resources/members.js';
|
|
65
65
|
export type { MemberData, MemberDisplay, MemberEvents, MemberInclude, MemberWith, UpdateMemberPayload, } from './src/resources/members.js';
|
|
66
66
|
export { Node, NodeAllocationIp, NodeAllocationPort, NodeAllocationsManager, NodeLocation, NodesNamespace, NodeType, } from './src/resources/nodes.js';
|
|
67
|
-
export type { CreateNodeAllocationIpPayload, CreateNodeAllocationPortsPayload, CreateNodePayload, LogNodeActivityPayload, NodeAllocationIpData, NodeAllocationPortData, NodeConnection, NodeData, NodeEvents,
|
|
67
|
+
export type { ClaimNodePayload, ClaimNodeResponseData, ClaimNodeResult, CreateNodeAllocationIpPayload, CreateNodeAllocationPortsPayload, CreateNodePayload, CreateNodeResponseData, CreateNodeResult, InstallTokenResponseData, InstallTokenResult, LogNodeActivityPayload, NodeAllocationIpData, NodeAllocationPortData, NodeConnection, NodeData, NodeEvents, NodeInclude, NodeLimits, NodeLocationData, NodeStatus, NodeTypeData, NodeWith, UpdateNodeAllocationIpPayload, UpdateNodeAllocationPortPayload, } from './src/resources/nodes.js';
|
|
68
68
|
export { Egg, EggNest, EggsNamespace } from './src/resources/eggs.js';
|
|
69
69
|
export type { EggData, EggEvents, EggImage, EggImageData, EggInclude, EggInstaller, EggInstallerData, EggNestData, EggProcess, EggWith, UpdateEggPayload, } from './src/resources/eggs.js';
|
|
70
70
|
export { Host, HostsNamespace } from './src/resources/hosts.js';
|
package/script/mod.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG3D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGrD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EACX,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,wBAAwB,EACxB,wBAAwB,EACxB,0BAA0B,EAC1B,cAAc,GACd,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,YAAY,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG7C,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EACX,cAAc,EACd,OAAO,EACP,WAAW,EACX,MAAM,EACN,SAAS,EACT,WAAW,EACX,UAAU,EACV,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,mBAAmB,GACnB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"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"}
|
package/script/mod.js
CHANGED
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
* @module
|
|
45
45
|
*/
|
|
46
46
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
|
-
exports.ServerActivityManager = exports.ActivityLog = exports.ActivityJobLog = exports.ActivityJob = exports.ServerProfilesManager = exports.ServerProfile = exports.ServerAllocationsManager = exports.ServerAllocationPort = exports.SftpUser = exports.ServerSftpManager = exports.ServerFilesManager = exports.FileEntry = exports.ServerConnection = exports.Server = exports.ServersNamespace = exports.ServerGroupsNamespace = exports.ServerGroup = exports.HostsNamespace = exports.Host = exports.EggsNamespace = exports.EggNest = exports.Egg = exports.NodeType = exports.NodesNamespace = exports.NodeLocation = exports.NodeAllocationsManager = exports.NodeAllocationPort = exports.NodeAllocationIp = exports.Node = exports.MembersNamespace = exports.Member = exports.ApiKeysNamespace = exports.ApiKey = exports.UserAccount = exports.ApiKeyAccount = exports.AccountResource = exports.Account = exports.toNanoID = exports.joinIncludes = exports.SseConnection = exports.TypedEmitter = exports.HttpClient = exports.ApiError = exports.ReactiveResource = exports.AuthResource = exports.MeowPanelApi = void 0;
|
|
47
|
+
exports.ServerActivityManager = exports.ActivityLog = exports.ActivityJobLog = exports.ActivityJob = exports.ServerProfilesManager = exports.ServerProfile = exports.ServerAllocationsManager = exports.ServerAllocationPort = exports.SftpUser = exports.ServerSftpManager = exports.ServerFilesManager = exports.FileEntry = exports.ServerConnection = exports.Server = exports.ServersNamespace = exports.ServerGroupsNamespace = exports.ServerGroup = exports.HostsNamespace = exports.Host = exports.EggsNamespace = exports.EggNest = exports.Egg = exports.NodeType = exports.NodesNamespace = exports.NodeLocation = exports.NodeAllocationsManager = exports.NodeAllocationPort = exports.NodeAllocationIp = exports.Node = exports.MembersNamespace = exports.Member = exports.ApiKeysNamespace = exports.ApiKey = exports.UserAccount = exports.SshKey = exports.ApiKeyAccount = exports.AccountSshKeysManager = exports.AccountResource = exports.Account = exports.toNanoID = exports.joinIncludes = exports.SseConnection = exports.TypedEmitter = exports.HttpClient = exports.ApiError = exports.ReactiveResource = exports.AuthResource = exports.MeowPanelApi = void 0;
|
|
48
48
|
// Main client
|
|
49
49
|
var client_js_1 = require("./src/client.js");
|
|
50
50
|
Object.defineProperty(exports, "MeowPanelApi", { enumerable: true, get: function () { return client_js_1.MeowPanelApi; } });
|
|
@@ -70,7 +70,9 @@ Object.defineProperty(exports, "toNanoID", { enumerable: true, get: function ()
|
|
|
70
70
|
var account_js_1 = require("./src/resources/account.js");
|
|
71
71
|
Object.defineProperty(exports, "Account", { enumerable: true, get: function () { return account_js_1.Account; } });
|
|
72
72
|
Object.defineProperty(exports, "AccountResource", { enumerable: true, get: function () { return account_js_1.AccountResource; } });
|
|
73
|
+
Object.defineProperty(exports, "AccountSshKeysManager", { enumerable: true, get: function () { return account_js_1.AccountSshKeysManager; } });
|
|
73
74
|
Object.defineProperty(exports, "ApiKeyAccount", { enumerable: true, get: function () { return account_js_1.ApiKeyAccount; } });
|
|
75
|
+
Object.defineProperty(exports, "SshKey", { enumerable: true, get: function () { return account_js_1.SshKey; } });
|
|
74
76
|
Object.defineProperty(exports, "UserAccount", { enumerable: true, get: function () { return account_js_1.UserAccount; } });
|
|
75
77
|
// API Keys
|
|
76
78
|
var api_keys_js_1 = require("./src/resources/api-keys.js");
|
package/script/src/errors.d.ts
CHANGED
|
@@ -38,5 +38,13 @@ export declare class ApiError extends Error {
|
|
|
38
38
|
get isValidationError(): boolean;
|
|
39
39
|
/** `true` when the API returned a `5xx` server error. */
|
|
40
40
|
get isServerError(): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* `true` when the API returned `502 Bad Gateway` or `503 Service Unavailable`.
|
|
43
|
+
*
|
|
44
|
+
* Signals the target node's daemon is unreachable or returned an unexpected
|
|
45
|
+
* response, as opposed to a fault within Nexus itself. Useful for surfacing a
|
|
46
|
+
* "node offline, try again" state separately from a generic server error.
|
|
47
|
+
*/
|
|
48
|
+
get isNodeUnavailable(): boolean;
|
|
41
49
|
}
|
|
42
50
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/src/errors.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,MAAM,WAAW,eAAe;IAC/B,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,QAAS,SAAQ,KAAK;IAClC,8CAA8C;IAC9C,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,wEAAwE;IACxE,SAAgB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEpB,OAAO,EAAE,eAAe;IAO3C,oDAAoD;IACpD,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED,0EAA0E;IAC1E,IAAW,WAAW,IAAI,OAAO,CAEhC;IAED,oFAAoF;IACpF,IAAW,iBAAiB,IAAI,OAAO,CAEtC;IAED,yDAAyD;IACzD,IAAW,aAAa,IAAI,OAAO,CAElC;CACD"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/src/errors.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,MAAM,WAAW,eAAe;IAC/B,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,QAAS,SAAQ,KAAK;IAClC,8CAA8C;IAC9C,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,wEAAwE;IACxE,SAAgB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEpB,OAAO,EAAE,eAAe;IAO3C,oDAAoD;IACpD,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED,0EAA0E;IAC1E,IAAW,WAAW,IAAI,OAAO,CAEhC;IAED,oFAAoF;IACpF,IAAW,iBAAiB,IAAI,OAAO,CAEtC;IAED,yDAAyD;IACzD,IAAW,aAAa,IAAI,OAAO,CAElC;IAED;;;;;;OAMG;IACH,IAAW,iBAAiB,IAAI,OAAO,CAEtC;CACD"}
|
package/script/src/errors.js
CHANGED
|
@@ -45,5 +45,15 @@ class ApiError extends Error {
|
|
|
45
45
|
get isServerError() {
|
|
46
46
|
return this.status >= 500;
|
|
47
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* `true` when the API returned `502 Bad Gateway` or `503 Service Unavailable`.
|
|
50
|
+
*
|
|
51
|
+
* Signals the target node's daemon is unreachable or returned an unexpected
|
|
52
|
+
* response, as opposed to a fault within Nexus itself. Useful for surfacing a
|
|
53
|
+
* "node offline, try again" state separately from a generic server error.
|
|
54
|
+
*/
|
|
55
|
+
get isNodeUnavailable() {
|
|
56
|
+
return this.status === 502 || this.status === 503;
|
|
57
|
+
}
|
|
48
58
|
}
|
|
49
59
|
exports.ApiError = ApiError;
|
|
@@ -80,6 +80,58 @@ export declare class ApiKeyAccount extends Account {
|
|
|
80
80
|
/** @internal */
|
|
81
81
|
constructor(data: ApiKeyAccountData, http: HttpClient);
|
|
82
82
|
}
|
|
83
|
+
/** Raw API shape for an account SSH key. @internal */
|
|
84
|
+
export interface SshKeyData {
|
|
85
|
+
id: string;
|
|
86
|
+
name: string;
|
|
87
|
+
public_key: string;
|
|
88
|
+
created_at: ISODate;
|
|
89
|
+
updated_at: ISODate;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* An SSH public key registered on the authenticated user account, used to
|
|
93
|
+
* authenticate against a server's SFTP endpoint.
|
|
94
|
+
*
|
|
95
|
+
* Retrieved via {@link AccountSshKeysManager.list} or {@link AccountSshKeysManager.create}.
|
|
96
|
+
*/
|
|
97
|
+
export declare class SshKey extends ReactiveResource {
|
|
98
|
+
/** The SSH key's unique NanoID. */
|
|
99
|
+
readonly id: NanoID;
|
|
100
|
+
/** Display name for the key. */
|
|
101
|
+
name: string;
|
|
102
|
+
/** The OpenSSH-format public key, e.g. `"ssh-ed25519 AAAA..."`. */
|
|
103
|
+
publicKey: string;
|
|
104
|
+
/** When this key was added. */
|
|
105
|
+
createdAt: Date;
|
|
106
|
+
/** When this key was last updated. */
|
|
107
|
+
updatedAt: Date;
|
|
108
|
+
/** @internal */
|
|
109
|
+
constructor(data: SshKeyData);
|
|
110
|
+
}
|
|
111
|
+
/** Payload for registering a new SSH key. */
|
|
112
|
+
export interface CreateSshKeyPayload {
|
|
113
|
+
/** Display name for the key. */
|
|
114
|
+
name: string;
|
|
115
|
+
/** The OpenSSH-format public key. */
|
|
116
|
+
publicKey: string;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Manages SSH public keys on the authenticated user account.
|
|
120
|
+
*
|
|
121
|
+
* Access via `api.account.sshKeys`. Only user accounts can hold SSH keys; the
|
|
122
|
+
* API rejects these calls for non-user credentials.
|
|
123
|
+
*/
|
|
124
|
+
export declare class AccountSshKeysManager {
|
|
125
|
+
private readonly http;
|
|
126
|
+
/** @internal */
|
|
127
|
+
constructor(http: HttpClient);
|
|
128
|
+
/** List the SSH keys registered on the current user account. */
|
|
129
|
+
list(): Promise<SshKey[]>;
|
|
130
|
+
/** Register a new SSH public key on the current user account. */
|
|
131
|
+
create(payload: CreateSshKeyPayload): Promise<SshKey>;
|
|
132
|
+
/** Delete an SSH key from the current user account. */
|
|
133
|
+
delete(id: NanoID): Promise<void>;
|
|
134
|
+
}
|
|
83
135
|
/** Valid include keys for the account endpoint. */
|
|
84
136
|
export type AccountInclude = 'display' | 'permissions';
|
|
85
137
|
/** Fields that can be updated on a user account. */
|
|
@@ -120,6 +172,8 @@ export declare class AccountResource {
|
|
|
120
172
|
fetchAvatar(): Promise<Blob>;
|
|
121
173
|
/** Fetch the permission scopes available to the current account. */
|
|
122
174
|
scopes(): Promise<string[]>;
|
|
175
|
+
/** Manage SSH public keys on the current user account. */
|
|
176
|
+
get sshKeys(): AccountSshKeysManager;
|
|
123
177
|
}
|
|
124
178
|
export {};
|
|
125
179
|
//# sourceMappingURL=account.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/src/resources/account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGnE,gEAAgE;AAChE,UAAU,eAAe;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACpB;AAED,kDAAkD;AAClD,UAAU,eAAgB,SAAQ,eAAe;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE;QACT,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;KACrB,GAAG,IAAI,CAAC;CACT;AAED,sDAAsD;AACtD,UAAU,iBAAkB,SAAQ,eAAe;IAClD,WAAW,EAAE,SAAS,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,eAAe,CAAC;CACxB;AAED,KAAK,WAAW,GAAG,eAAe,GAAG,iBAAiB,CAAC;AAEvD;;;;GAIG;AACH,8BAAsB,OAAQ,SAAQ,gBAAgB;IAUpD,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU;IATpC,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,kBAAyB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACjD,WAAW,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAClC,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAEvB,gBAAgB;IAChB,SAAS,aACR,IAAI,EAAE,eAAe,EACF,IAAI,EAAE,UAAU;IAS7B,MAAM,IAAI,IAAI,IAAI,WAAW;IAI7B,QAAQ,IAAI,IAAI,IAAI,aAAa;IAIxC,gBAAgB;WACF,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,aAAa;CAUtF;AAED,4BAA4B;AAC5B,qBAAa,WAAY,SAAQ,OAAO;IACvC,SAAgB,UAAU,EAAG,MAAM,CAAU;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;OAGG;IACI,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,SAAS,CAAC;IAE9E,gBAAgB;gBACG,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU;IAQ1D,yCAAyC;IAC5B,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAajE,wCAAwC;IAC3B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAIzC;AAED,6BAA6B;AAC7B,qBAAa,aAAc,SAAQ,OAAO;IACzC,SAAgB,UAAU,EAAG,SAAS,CAAU;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,sBAAsB;IACf,KAAK,EAAE,WAAW,GAAG,SAAS,CAAC;IAEtC,gBAAgB;gBACG,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,UAAU;CAO5D;AAED,mDAAmD;AACnD,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,aAAa,CAAC;AAEvD,oDAAoD;AACpD,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACtB,CAAC;CACF;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,eAAe;IAER,OAAO,CAAC,QAAQ,CAAC,IAAI;IADxC,gBAAgB;gBACoB,IAAI,EAAE,UAAU;IAEpD,iDAAiD;IACpC,GAAG,CAAC,KAAK,CAAC,CAAC,SAAS,SAAS,cAAc,EAAE,GAAG,EAAE,EAC9D,IAAI,GAAE,cAAc,CAAC,cAAc,EAAE,CAAC,CAAM,GAC1C,OAAO,CAAC,WAAW,GAAG,aAAa,CAAC;IAQvC,qEAAqE;IACxD,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC;IAMxE,+DAA+D;IAClD,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,WAAW,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASxF,8CAA8C;IACjC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAKzC,oEAAoE;IAC7D,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/src/resources/account.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AccountResource = exports.ApiKeyAccount = exports.UserAccount = exports.Account = void 0;
|
|
3
|
+
exports.AccountResource = exports.AccountSshKeysManager = exports.SshKey = exports.ApiKeyAccount = exports.UserAccount = exports.Account = void 0;
|
|
4
4
|
const reactive_js_1 = require("../reactive.js");
|
|
5
5
|
const types_js_1 = require("../types.js");
|
|
6
6
|
/**
|
|
@@ -99,6 +99,65 @@ class ApiKeyAccount extends Account {
|
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
101
|
exports.ApiKeyAccount = ApiKeyAccount;
|
|
102
|
+
/**
|
|
103
|
+
* An SSH public key registered on the authenticated user account, used to
|
|
104
|
+
* authenticate against a server's SFTP endpoint.
|
|
105
|
+
*
|
|
106
|
+
* Retrieved via {@link AccountSshKeysManager.list} or {@link AccountSshKeysManager.create}.
|
|
107
|
+
*/
|
|
108
|
+
class SshKey extends reactive_js_1.ReactiveResource {
|
|
109
|
+
/** The SSH key's unique NanoID. */
|
|
110
|
+
id;
|
|
111
|
+
/** Display name for the key. */
|
|
112
|
+
name;
|
|
113
|
+
/** The OpenSSH-format public key, e.g. `"ssh-ed25519 AAAA..."`. */
|
|
114
|
+
publicKey;
|
|
115
|
+
/** When this key was added. */
|
|
116
|
+
createdAt;
|
|
117
|
+
/** When this key was last updated. */
|
|
118
|
+
updatedAt;
|
|
119
|
+
/** @internal */
|
|
120
|
+
constructor(data) {
|
|
121
|
+
super();
|
|
122
|
+
this.id = (0, types_js_1.toNanoID)(data.id);
|
|
123
|
+
this.name = data.name;
|
|
124
|
+
this.publicKey = data.public_key;
|
|
125
|
+
this.createdAt = new Date(data.created_at);
|
|
126
|
+
this.updatedAt = new Date(data.updated_at);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
exports.SshKey = SshKey;
|
|
130
|
+
/**
|
|
131
|
+
* Manages SSH public keys on the authenticated user account.
|
|
132
|
+
*
|
|
133
|
+
* Access via `api.account.sshKeys`. Only user accounts can hold SSH keys; the
|
|
134
|
+
* API rejects these calls for non-user credentials.
|
|
135
|
+
*/
|
|
136
|
+
class AccountSshKeysManager {
|
|
137
|
+
http;
|
|
138
|
+
/** @internal */
|
|
139
|
+
constructor(http) {
|
|
140
|
+
this.http = http;
|
|
141
|
+
}
|
|
142
|
+
/** List the SSH keys registered on the current user account. */
|
|
143
|
+
async list() {
|
|
144
|
+
const data = await this.http.get('/account/ssh-keys');
|
|
145
|
+
return data.map((d) => new SshKey(d));
|
|
146
|
+
}
|
|
147
|
+
/** Register a new SSH public key on the current user account. */
|
|
148
|
+
async create(payload) {
|
|
149
|
+
const data = await this.http.post('/account/ssh-keys', {
|
|
150
|
+
name: payload.name,
|
|
151
|
+
public_key: payload.publicKey,
|
|
152
|
+
});
|
|
153
|
+
return new SshKey(data);
|
|
154
|
+
}
|
|
155
|
+
/** Delete an SSH key from the current user account. */
|
|
156
|
+
async delete(id) {
|
|
157
|
+
await this.http.delete(`/account/ssh-keys/${id}`);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
exports.AccountSshKeysManager = AccountSshKeysManager;
|
|
102
161
|
/**
|
|
103
162
|
* Resource for the currently authenticated account.
|
|
104
163
|
*
|
|
@@ -154,5 +213,9 @@ class AccountResource {
|
|
|
154
213
|
scopes() {
|
|
155
214
|
return this.http.get('/account/scopes');
|
|
156
215
|
}
|
|
216
|
+
/** Manage SSH public keys on the current user account. */
|
|
217
|
+
get sshKeys() {
|
|
218
|
+
return new AccountSshKeysManager(this.http);
|
|
219
|
+
}
|
|
157
220
|
}
|
|
158
221
|
exports.AccountResource = AccountResource;
|