@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.
Files changed (37) hide show
  1. package/esm/mod.d.ts +3 -3
  2. package/esm/mod.d.ts.map +1 -1
  3. package/esm/mod.js +1 -1
  4. package/esm/src/errors.d.ts +8 -0
  5. package/esm/src/errors.d.ts.map +1 -1
  6. package/esm/src/errors.js +10 -0
  7. package/esm/src/resources/account.d.ts +54 -0
  8. package/esm/src/resources/account.d.ts.map +1 -1
  9. package/esm/src/resources/account.js +61 -0
  10. package/esm/src/resources/nodes.d.ts +136 -31
  11. package/esm/src/resources/nodes.d.ts.map +1 -1
  12. package/esm/src/resources/nodes.js +97 -17
  13. package/esm/src/resources/servers/files.js +2 -2
  14. package/esm/src/resources/servers/sftp.d.ts +9 -0
  15. package/esm/src/resources/servers/sftp.d.ts.map +1 -1
  16. package/esm/src/resources/servers/sftp.js +12 -0
  17. package/esm/src/resources/servers/types.d.ts +7 -5
  18. package/esm/src/resources/servers/types.d.ts.map +1 -1
  19. package/package.json +1 -1
  20. package/script/mod.d.ts +3 -3
  21. package/script/mod.d.ts.map +1 -1
  22. package/script/mod.js +3 -1
  23. package/script/src/errors.d.ts +8 -0
  24. package/script/src/errors.d.ts.map +1 -1
  25. package/script/src/errors.js +10 -0
  26. package/script/src/resources/account.d.ts +54 -0
  27. package/script/src/resources/account.d.ts.map +1 -1
  28. package/script/src/resources/account.js +64 -1
  29. package/script/src/resources/nodes.d.ts +136 -31
  30. package/script/src/resources/nodes.d.ts.map +1 -1
  31. package/script/src/resources/nodes.js +97 -17
  32. package/script/src/resources/servers/files.js +2 -2
  33. package/script/src/resources/servers/sftp.d.ts +9 -0
  34. package/script/src/resources/servers/sftp.d.ts.map +1 -1
  35. package/script/src/resources/servers/sftp.js +12 -0
  36. package/script/src/resources/servers/types.d.ts +7 -5
  37. 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 owner's NanoID. Always present. */
17
- ownerId;
18
- /** The full owner object. Requires `?include=owner`. */
19
- owner;
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.ownerId = toNanoID(data.owner_id);
33
- this.owner = data.owner ? new Member(data.owner) : undefined;
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 owner's NanoID. Always present. */
50
- ownerId;
51
- /** The full owner object. Requires `?include=owner`. */
52
- owner;
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.ownerId = toNanoID(data.owner_id);
66
- this.owner = data.owner ? new Member(data.owner) : undefined;
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
- /** Authentication token for the daemon. */
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 new node.
301
- *
302
- * @param payload Node creation parameters.
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 node;
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.size;
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.entries.map((e) => new FileEntry(e));
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
- size: number;
140
+ size_bytes: number;
141
141
  type: 'file' | 'directory';
142
142
  symlink: boolean;
143
143
  mime: string;
144
144
  }
145
- /** Raw API shape for a directory listing from the Whisker node. @internal */
146
- export interface DirectoryListingData {
147
- entries: FileEntryData[];
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meowpanel/api",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "description": "MeowPanel API client library",
5
5
  "license": "MIT",
6
6
  "main": "./script/mod.js",
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, NodeHostData, NodeInclude, NodeLimits, NodeLocationData, NodeTypeData, NodeWith, UpdateNodeAllocationIpPayload, UpdateNodeAllocationPortPayload, } from './src/resources/nodes.js';
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';
@@ -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
@@ -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");
@@ -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"}
@@ -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":"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"}
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;