@truenas/api-client 10.0.0 → 11.0.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 +16 -0
- package/dist/{chunk-PWRUBUVD.cjs → chunk-MQAS7GKB.cjs} +42 -7
- package/dist/chunk-MQAS7GKB.cjs.map +1 -0
- package/dist/{chunk-Z5U5ZRKJ.js → chunk-ZH75OPDH.js} +42 -7
- package/dist/chunk-ZH75OPDH.js.map +1 -0
- package/dist/index.cjs +37 -37
- package/dist/index.d.cts +27 -3
- package/dist/index.d.ts +27 -3
- package/dist/index.js +1 -1
- package/dist/testing/index.cjs +13 -13
- package/dist/testing/index.d.cts +1 -1
- package/dist/testing/index.d.ts +1 -1
- package/dist/testing/index.js +2 -2
- package/dist/{truenas-auth-mechanism.enum-CzbVnvTU.d.cts → truenas-auth-mechanism.enum-B0j9EN8G.d.cts} +13 -0
- package/dist/{truenas-auth-mechanism.enum-CzbVnvTU.d.ts → truenas-auth-mechanism.enum-B0j9EN8G.d.ts} +13 -0
- package/package.json +1 -1
- package/dist/chunk-PWRUBUVD.cjs.map +0 -1
- package/dist/chunk-Z5U5ZRKJ.js.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -1,152 +1,152 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkMQAS7GKB_cjs = require('./chunk-MQAS7GKB.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
Object.defineProperty(exports, "AppState", {
|
|
8
8
|
enumerable: true,
|
|
9
|
-
get: function () { return
|
|
9
|
+
get: function () { return chunkMQAS7GKB_cjs.AppState; }
|
|
10
10
|
});
|
|
11
11
|
Object.defineProperty(exports, "AuthError", {
|
|
12
12
|
enumerable: true,
|
|
13
|
-
get: function () { return
|
|
13
|
+
get: function () { return chunkMQAS7GKB_cjs.AuthError; }
|
|
14
14
|
});
|
|
15
15
|
Object.defineProperty(exports, "AuthErrorCode", {
|
|
16
16
|
enumerable: true,
|
|
17
|
-
get: function () { return
|
|
17
|
+
get: function () { return chunkMQAS7GKB_cjs.AuthErrorCode; }
|
|
18
18
|
});
|
|
19
19
|
Object.defineProperty(exports, "AuthResponseType", {
|
|
20
20
|
enumerable: true,
|
|
21
|
-
get: function () { return
|
|
21
|
+
get: function () { return chunkMQAS7GKB_cjs.AuthResponseType; }
|
|
22
22
|
});
|
|
23
23
|
Object.defineProperty(exports, "InvalidVersionResponseError", {
|
|
24
24
|
enumerable: true,
|
|
25
|
-
get: function () { return
|
|
25
|
+
get: function () { return chunkMQAS7GKB_cjs.InvalidVersionResponseError; }
|
|
26
26
|
});
|
|
27
27
|
Object.defineProperty(exports, "JobState", {
|
|
28
28
|
enumerable: true,
|
|
29
|
-
get: function () { return
|
|
29
|
+
get: function () { return chunkMQAS7GKB_cjs.JobState; }
|
|
30
30
|
});
|
|
31
31
|
Object.defineProperty(exports, "NoCompatibleVersionsError", {
|
|
32
32
|
enumerable: true,
|
|
33
|
-
get: function () { return
|
|
33
|
+
get: function () { return chunkMQAS7GKB_cjs.NoCompatibleVersionsError; }
|
|
34
34
|
});
|
|
35
35
|
Object.defineProperty(exports, "SUPPORTED_API_VERSIONS", {
|
|
36
36
|
enumerable: true,
|
|
37
|
-
get: function () { return
|
|
37
|
+
get: function () { return chunkMQAS7GKB_cjs.SUPPORTED_API_VERSIONS; }
|
|
38
38
|
});
|
|
39
39
|
Object.defineProperty(exports, "TrueNasApiClient", {
|
|
40
40
|
enumerable: true,
|
|
41
|
-
get: function () { return
|
|
41
|
+
get: function () { return chunkMQAS7GKB_cjs.TrueNasApiClient; }
|
|
42
42
|
});
|
|
43
43
|
Object.defineProperty(exports, "TrueNasApiClientV2510", {
|
|
44
44
|
enumerable: true,
|
|
45
|
-
get: function () { return
|
|
45
|
+
get: function () { return chunkMQAS7GKB_cjs.TrueNasApiClientV2510; }
|
|
46
46
|
});
|
|
47
47
|
Object.defineProperty(exports, "TrueNasApiClientV27", {
|
|
48
48
|
enumerable: true,
|
|
49
|
-
get: function () { return
|
|
49
|
+
get: function () { return chunkMQAS7GKB_cjs.TrueNasApiClientV27; }
|
|
50
50
|
});
|
|
51
51
|
Object.defineProperty(exports, "TrueNasApiClientV28", {
|
|
52
52
|
enumerable: true,
|
|
53
|
-
get: function () { return
|
|
53
|
+
get: function () { return chunkMQAS7GKB_cjs.TrueNasApiClientV28; }
|
|
54
54
|
});
|
|
55
55
|
Object.defineProperty(exports, "TrueNasApiError", {
|
|
56
56
|
enumerable: true,
|
|
57
|
-
get: function () { return
|
|
57
|
+
get: function () { return chunkMQAS7GKB_cjs.TrueNasApiError; }
|
|
58
58
|
});
|
|
59
59
|
Object.defineProperty(exports, "TrueNasAuthMechanism", {
|
|
60
60
|
enumerable: true,
|
|
61
|
-
get: function () { return
|
|
61
|
+
get: function () { return chunkMQAS7GKB_cjs.TrueNasAuthMechanism; }
|
|
62
62
|
});
|
|
63
63
|
Object.defineProperty(exports, "UserRole", {
|
|
64
64
|
enumerable: true,
|
|
65
|
-
get: function () { return
|
|
65
|
+
get: function () { return chunkMQAS7GKB_cjs.UserRole; }
|
|
66
66
|
});
|
|
67
67
|
Object.defineProperty(exports, "VersionCompatibility", {
|
|
68
68
|
enumerable: true,
|
|
69
|
-
get: function () { return
|
|
69
|
+
get: function () { return chunkMQAS7GKB_cjs.VersionCompatibility; }
|
|
70
70
|
});
|
|
71
71
|
Object.defineProperty(exports, "VersionDiscovery", {
|
|
72
72
|
enumerable: true,
|
|
73
|
-
get: function () { return
|
|
73
|
+
get: function () { return chunkMQAS7GKB_cjs.VersionDiscovery; }
|
|
74
74
|
});
|
|
75
75
|
Object.defineProperty(exports, "VersionDiscoveryError", {
|
|
76
76
|
enumerable: true,
|
|
77
|
-
get: function () { return
|
|
77
|
+
get: function () { return chunkMQAS7GKB_cjs.VersionDiscoveryError; }
|
|
78
78
|
});
|
|
79
79
|
Object.defineProperty(exports, "VersionDiscoveryNetworkError", {
|
|
80
80
|
enumerable: true,
|
|
81
|
-
get: function () { return
|
|
81
|
+
get: function () { return chunkMQAS7GKB_cjs.VersionDiscoveryNetworkError; }
|
|
82
82
|
});
|
|
83
83
|
Object.defineProperty(exports, "VersionDiscoveryTimeoutError", {
|
|
84
84
|
enumerable: true,
|
|
85
|
-
get: function () { return
|
|
85
|
+
get: function () { return chunkMQAS7GKB_cjs.VersionDiscoveryTimeoutError; }
|
|
86
86
|
});
|
|
87
87
|
Object.defineProperty(exports, "VersionEndpointNotFoundError", {
|
|
88
88
|
enumerable: true,
|
|
89
|
-
get: function () { return
|
|
89
|
+
get: function () { return chunkMQAS7GKB_cjs.VersionEndpointNotFoundError; }
|
|
90
90
|
});
|
|
91
91
|
Object.defineProperty(exports, "VersionTooNewError", {
|
|
92
92
|
enumerable: true,
|
|
93
|
-
get: function () { return
|
|
93
|
+
get: function () { return chunkMQAS7GKB_cjs.VersionTooNewError; }
|
|
94
94
|
});
|
|
95
95
|
Object.defineProperty(exports, "VersionTooOldError", {
|
|
96
96
|
enumerable: true,
|
|
97
|
-
get: function () { return
|
|
97
|
+
get: function () { return chunkMQAS7GKB_cjs.VersionTooOldError; }
|
|
98
98
|
});
|
|
99
99
|
Object.defineProperty(exports, "consoleLogger", {
|
|
100
100
|
enumerable: true,
|
|
101
|
-
get: function () { return
|
|
101
|
+
get: function () { return chunkMQAS7GKB_cjs.consoleLogger; }
|
|
102
102
|
});
|
|
103
103
|
Object.defineProperty(exports, "createTrueNasClient", {
|
|
104
104
|
enumerable: true,
|
|
105
|
-
get: function () { return
|
|
105
|
+
get: function () { return chunkMQAS7GKB_cjs.createTrueNasClient; }
|
|
106
106
|
});
|
|
107
107
|
Object.defineProperty(exports, "getApiErrorMessage", {
|
|
108
108
|
enumerable: true,
|
|
109
|
-
get: function () { return
|
|
109
|
+
get: function () { return chunkMQAS7GKB_cjs.getApiErrorMessage; }
|
|
110
110
|
});
|
|
111
111
|
Object.defineProperty(exports, "isJobFinished", {
|
|
112
112
|
enumerable: true,
|
|
113
|
-
get: function () { return
|
|
113
|
+
get: function () { return chunkMQAS7GKB_cjs.isJobFinished; }
|
|
114
114
|
});
|
|
115
115
|
Object.defineProperty(exports, "noopLogger", {
|
|
116
116
|
enumerable: true,
|
|
117
|
-
get: function () { return
|
|
117
|
+
get: function () { return chunkMQAS7GKB_cjs.noopLogger; }
|
|
118
118
|
});
|
|
119
119
|
Object.defineProperty(exports, "v25_10_0", {
|
|
120
120
|
enumerable: true,
|
|
121
|
-
get: function () { return
|
|
121
|
+
get: function () { return chunkMQAS7GKB_cjs.v25_10_0_exports; }
|
|
122
122
|
});
|
|
123
123
|
Object.defineProperty(exports, "v25_10_1", {
|
|
124
124
|
enumerable: true,
|
|
125
|
-
get: function () { return
|
|
125
|
+
get: function () { return chunkMQAS7GKB_cjs.v25_10_1_exports; }
|
|
126
126
|
});
|
|
127
127
|
Object.defineProperty(exports, "v25_10_2", {
|
|
128
128
|
enumerable: true,
|
|
129
|
-
get: function () { return
|
|
129
|
+
get: function () { return chunkMQAS7GKB_cjs.v25_10_2_exports; }
|
|
130
130
|
});
|
|
131
131
|
Object.defineProperty(exports, "v25_10_3", {
|
|
132
132
|
enumerable: true,
|
|
133
|
-
get: function () { return
|
|
133
|
+
get: function () { return chunkMQAS7GKB_cjs.v25_10_3_exports; }
|
|
134
134
|
});
|
|
135
135
|
Object.defineProperty(exports, "v25_10_4", {
|
|
136
136
|
enumerable: true,
|
|
137
|
-
get: function () { return
|
|
137
|
+
get: function () { return chunkMQAS7GKB_cjs.v25_10_4_exports; }
|
|
138
138
|
});
|
|
139
139
|
Object.defineProperty(exports, "v25_10_5", {
|
|
140
140
|
enumerable: true,
|
|
141
|
-
get: function () { return
|
|
141
|
+
get: function () { return chunkMQAS7GKB_cjs.v25_10_5_exports; }
|
|
142
142
|
});
|
|
143
143
|
Object.defineProperty(exports, "v27_0_0", {
|
|
144
144
|
enumerable: true,
|
|
145
|
-
get: function () { return
|
|
145
|
+
get: function () { return chunkMQAS7GKB_cjs.v27_0_0_exports; }
|
|
146
146
|
});
|
|
147
147
|
Object.defineProperty(exports, "v28_0_0", {
|
|
148
148
|
enumerable: true,
|
|
149
|
-
get: function () { return
|
|
149
|
+
get: function () { return chunkMQAS7GKB_cjs.v28_0_0_exports; }
|
|
150
150
|
});
|
|
151
151
|
//# sourceMappingURL=index.cjs.map
|
|
152
152
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { T as TrueNasApiClient, A as ApiDirectory, O as OperationMappings, a as ApiDirectory$1, b as ApiDirectory$2, L as Logger, c as ApplianceProtocol, d as ApiVersion, e as AuthResponse, f as TrueNasErrorFrame, g as TrueNasErrorData } from './truenas-auth-mechanism.enum-
|
|
2
|
-
export { h as ApiCallDirectoryV25_10_0, i as ApiCallDirectoryV25_10_1, j as ApiCallDirectoryV25_10_2, k as ApiCallDirectoryV25_10_3, l as ApiCallDirectoryV25_10_4, m as ApiCallDirectoryV25_10_5, n as ApiCallDirectoryV27_0_0, o as ApiCallDirectoryV28_0_0, p as ApiDirectoryByVersion, q as ApiDirectoryShape, r as ApiDirectoryV25_10_1, s as ApiDirectoryV25_10_2, t as ApiDirectoryV25_10_3, u as ApiDirectoryV25_10_4, v as ApiDirectoryV25_10_5, w as ApiError, x as ApiEventDirectoryV25_10_0, y as ApiEventDirectoryV25_10_1, z as ApiEventDirectoryV25_10_2, B as ApiEventDirectoryV25_10_3, C as ApiEventDirectoryV25_10_4, D as ApiEventDirectoryV25_10_5, E as ApiEventDirectoryV27_0_0, F as ApiEventDirectoryV28_0_0, G as ApiJobDirectoryV25_10_0, H as ApiJobDirectoryV25_10_1, I as ApiJobDirectoryV25_10_2, J as ApiJobDirectoryV25_10_3, K as ApiJobDirectoryV25_10_4, M as ApiJobDirectoryV25_10_5, N as ApiJobDirectoryV27_0_0, P as ApiJobDirectoryV28_0_0, Q as ApiKeyCreate, R as ApiVersionResponse, S as AppState, U as ArgsOf, V as AuthResponseType, W as BaseApiDirectory, X as CallMethod, Y as CallParams, Z as CallResponse, _ as ConnectionClose, $ as ConnectionEndpoint, a0 as ConnectionInterceptor, a1 as ConnectionOptions, a2 as Container, a3 as CreateClientOptions, a4 as DefaultApiDirectory, a5 as EventKind, a6 as EventName, a7 as EventSourceName, a8 as EventUnion, a9 as Job, aa as JobMethod, ab as JobParams, ac as JobProgress, ad as JobResult, ae as JobState, af as PasswordLoginOptions, ag as QueryDirectory, ah as QueryEntity, ai as QueryListOptions, aj as QueryMethod, ak as QuerySingleOptions, al as ReconnectOptions, am as SUPPORTED_API_VERSIONS, an as SmbStatusInfoLevel, ao as SmbStatusOptions, ap as SmbStatusRequest, aq as SmbStatusResponse, ar as SmbStatusRow, as as SubscribableEvent, at as SubscriptionArgs, au as SubscriptionParams, av as SupportedApiVersion, aw as TrueNasAuthMechanism, ax as TrueNasDate, ay as TrueNasMessage, az as UserRole, aA as UserRoleName, aB as VersionCompatibility, aC as consoleLogger, aD as createTrueNasClient, aE as getApiErrorMessage, aF as isJobFinished, aG as noopLogger, aH as v25_10_0, aI as v25_10_1, aJ as v25_10_2, aK as v25_10_3, aL as v25_10_4, aM as v25_10_5, aN as v27_0_0, aO as v28_0_0 } from './truenas-auth-mechanism.enum-
|
|
1
|
+
import { T as TrueNasApiClient, A as ApiDirectory, O as OperationMappings, a as ApiDirectory$1, b as ApiDirectory$2, L as Logger, c as ApplianceProtocol, d as ApiVersion, e as AuthResponse, f as TrueNasErrorFrame, g as TrueNasErrorData } from './truenas-auth-mechanism.enum-B0j9EN8G.cjs';
|
|
2
|
+
export { h as ApiCallDirectoryV25_10_0, i as ApiCallDirectoryV25_10_1, j as ApiCallDirectoryV25_10_2, k as ApiCallDirectoryV25_10_3, l as ApiCallDirectoryV25_10_4, m as ApiCallDirectoryV25_10_5, n as ApiCallDirectoryV27_0_0, o as ApiCallDirectoryV28_0_0, p as ApiDirectoryByVersion, q as ApiDirectoryShape, r as ApiDirectoryV25_10_1, s as ApiDirectoryV25_10_2, t as ApiDirectoryV25_10_3, u as ApiDirectoryV25_10_4, v as ApiDirectoryV25_10_5, w as ApiError, x as ApiEventDirectoryV25_10_0, y as ApiEventDirectoryV25_10_1, z as ApiEventDirectoryV25_10_2, B as ApiEventDirectoryV25_10_3, C as ApiEventDirectoryV25_10_4, D as ApiEventDirectoryV25_10_5, E as ApiEventDirectoryV27_0_0, F as ApiEventDirectoryV28_0_0, G as ApiJobDirectoryV25_10_0, H as ApiJobDirectoryV25_10_1, I as ApiJobDirectoryV25_10_2, J as ApiJobDirectoryV25_10_3, K as ApiJobDirectoryV25_10_4, M as ApiJobDirectoryV25_10_5, N as ApiJobDirectoryV27_0_0, P as ApiJobDirectoryV28_0_0, Q as ApiKeyCreate, R as ApiVersionResponse, S as AppState, U as ArgsOf, V as AuthResponseType, W as BaseApiDirectory, X as CallMethod, Y as CallParams, Z as CallResponse, _ as ConnectionClose, $ as ConnectionEndpoint, a0 as ConnectionInterceptor, a1 as ConnectionOptions, a2 as Container, a3 as CreateClientOptions, a4 as DefaultApiDirectory, a5 as EventKind, a6 as EventName, a7 as EventSourceName, a8 as EventUnion, a9 as Job, aa as JobMethod, ab as JobParams, ac as JobProgress, ad as JobResult, ae as JobState, af as PasswordLoginOptions, ag as QueryDirectory, ah as QueryEntity, ai as QueryListOptions, aj as QueryMethod, ak as QuerySingleOptions, al as ReconnectOptions, am as SUPPORTED_API_VERSIONS, an as SmbStatusInfoLevel, ao as SmbStatusOptions, ap as SmbStatusRequest, aq as SmbStatusResponse, ar as SmbStatusRow, as as SubscribableEvent, at as SubscriptionArgs, au as SubscriptionParams, av as SupportedApiVersion, aw as TrueNasAuthMechanism, ax as TrueNasDate, ay as TrueNasMessage, az as UserRole, aA as UserRoleName, aB as VersionCompatibility, aC as consoleLogger, aD as createTrueNasClient, aE as getApiErrorMessage, aF as isJobFinished, aG as noopLogger, aH as v25_10_0, aI as v25_10_1, aJ as v25_10_2, aK as v25_10_3, aL as v25_10_4, aM as v25_10_5, aN as v27_0_0, aO as v28_0_0 } from './truenas-auth-mechanism.enum-B0j9EN8G.cjs';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
4
|
import 'rxjs/webSocket';
|
|
5
5
|
|
|
@@ -271,7 +271,18 @@ declare class InvalidVersionResponseError extends VersionDiscoveryError {
|
|
|
271
271
|
|
|
272
272
|
declare enum AuthErrorCode {
|
|
273
273
|
PasswordAuthFailed = "PASSWORD_AUTH_FAILED",
|
|
274
|
+
/**
|
|
275
|
+
* The appliance refused the one-time code. `loginPending` says what comes
|
|
276
|
+
* next: `true`, the same login takes another code; `false`, it is gone and
|
|
277
|
+
* the login starts over with the password.
|
|
278
|
+
*/
|
|
274
279
|
OtpAuthFailed = "OTP_AUTH_FAILED",
|
|
280
|
+
/**
|
|
281
|
+
* A one-time code was sent with no login waiting for one: the appliance
|
|
282
|
+
* dropped it after an earlier refusal, or it never asked. Start over with the
|
|
283
|
+
* password. `loginPending` is always `false`.
|
|
284
|
+
*/
|
|
285
|
+
OtpLoginNotPending = "OTP_LOGIN_NOT_PENDING",
|
|
275
286
|
ApiKeyAuthFailed = "API_KEY_AUTH_FAILED",
|
|
276
287
|
TokenAuthFailed = "TOKEN_AUTH_FAILED",
|
|
277
288
|
/**
|
|
@@ -291,13 +302,26 @@ declare enum AuthErrorCode {
|
|
|
291
302
|
declare class AuthError extends Error {
|
|
292
303
|
readonly code: AuthErrorCode;
|
|
293
304
|
readonly response?: AuthResponse | undefined;
|
|
305
|
+
/**
|
|
306
|
+
* Whether the appliance still holds this login open for another attempt, so
|
|
307
|
+
* the caller can ask for a new one-time code instead of the password.
|
|
308
|
+
*
|
|
309
|
+
* Only a refused code can leave it `true`, and only on releases that keep a
|
|
310
|
+
* two-factor login after a wrong code (25.10, up to three tries); 27 and
|
|
311
|
+
* later drop it on the first. It is read from the appliance's answer, never
|
|
312
|
+
* from the API version, which does not tell the two apart. Every other
|
|
313
|
+
* failure is `false`: the next attempt is a fresh login.
|
|
314
|
+
*/
|
|
315
|
+
readonly loginPending: boolean;
|
|
294
316
|
/**
|
|
295
317
|
* @param response - the answer middleware refused the login with, when there was one.
|
|
296
318
|
* Its `response_type` is what tells `EXPIRED`, `DENIED` and `REDIRECT` apart from
|
|
297
319
|
* `AUTH_ERR`; the code alone says only which mechanism failed. Absent when the login
|
|
298
320
|
* never got an answer of that kind (an error frame, or a superseded login).
|
|
299
321
|
*/
|
|
300
|
-
constructor(code: AuthErrorCode, message: string, response?: AuthResponse | undefined
|
|
322
|
+
constructor(code: AuthErrorCode, message: string, response?: AuthResponse | undefined, options?: {
|
|
323
|
+
loginPending?: boolean;
|
|
324
|
+
});
|
|
301
325
|
}
|
|
302
326
|
|
|
303
327
|
/**
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { T as TrueNasApiClient, A as ApiDirectory, O as OperationMappings, a as ApiDirectory$1, b as ApiDirectory$2, L as Logger, c as ApplianceProtocol, d as ApiVersion, e as AuthResponse, f as TrueNasErrorFrame, g as TrueNasErrorData } from './truenas-auth-mechanism.enum-
|
|
2
|
-
export { h as ApiCallDirectoryV25_10_0, i as ApiCallDirectoryV25_10_1, j as ApiCallDirectoryV25_10_2, k as ApiCallDirectoryV25_10_3, l as ApiCallDirectoryV25_10_4, m as ApiCallDirectoryV25_10_5, n as ApiCallDirectoryV27_0_0, o as ApiCallDirectoryV28_0_0, p as ApiDirectoryByVersion, q as ApiDirectoryShape, r as ApiDirectoryV25_10_1, s as ApiDirectoryV25_10_2, t as ApiDirectoryV25_10_3, u as ApiDirectoryV25_10_4, v as ApiDirectoryV25_10_5, w as ApiError, x as ApiEventDirectoryV25_10_0, y as ApiEventDirectoryV25_10_1, z as ApiEventDirectoryV25_10_2, B as ApiEventDirectoryV25_10_3, C as ApiEventDirectoryV25_10_4, D as ApiEventDirectoryV25_10_5, E as ApiEventDirectoryV27_0_0, F as ApiEventDirectoryV28_0_0, G as ApiJobDirectoryV25_10_0, H as ApiJobDirectoryV25_10_1, I as ApiJobDirectoryV25_10_2, J as ApiJobDirectoryV25_10_3, K as ApiJobDirectoryV25_10_4, M as ApiJobDirectoryV25_10_5, N as ApiJobDirectoryV27_0_0, P as ApiJobDirectoryV28_0_0, Q as ApiKeyCreate, R as ApiVersionResponse, S as AppState, U as ArgsOf, V as AuthResponseType, W as BaseApiDirectory, X as CallMethod, Y as CallParams, Z as CallResponse, _ as ConnectionClose, $ as ConnectionEndpoint, a0 as ConnectionInterceptor, a1 as ConnectionOptions, a2 as Container, a3 as CreateClientOptions, a4 as DefaultApiDirectory, a5 as EventKind, a6 as EventName, a7 as EventSourceName, a8 as EventUnion, a9 as Job, aa as JobMethod, ab as JobParams, ac as JobProgress, ad as JobResult, ae as JobState, af as PasswordLoginOptions, ag as QueryDirectory, ah as QueryEntity, ai as QueryListOptions, aj as QueryMethod, ak as QuerySingleOptions, al as ReconnectOptions, am as SUPPORTED_API_VERSIONS, an as SmbStatusInfoLevel, ao as SmbStatusOptions, ap as SmbStatusRequest, aq as SmbStatusResponse, ar as SmbStatusRow, as as SubscribableEvent, at as SubscriptionArgs, au as SubscriptionParams, av as SupportedApiVersion, aw as TrueNasAuthMechanism, ax as TrueNasDate, ay as TrueNasMessage, az as UserRole, aA as UserRoleName, aB as VersionCompatibility, aC as consoleLogger, aD as createTrueNasClient, aE as getApiErrorMessage, aF as isJobFinished, aG as noopLogger, aH as v25_10_0, aI as v25_10_1, aJ as v25_10_2, aK as v25_10_3, aL as v25_10_4, aM as v25_10_5, aN as v27_0_0, aO as v28_0_0 } from './truenas-auth-mechanism.enum-
|
|
1
|
+
import { T as TrueNasApiClient, A as ApiDirectory, O as OperationMappings, a as ApiDirectory$1, b as ApiDirectory$2, L as Logger, c as ApplianceProtocol, d as ApiVersion, e as AuthResponse, f as TrueNasErrorFrame, g as TrueNasErrorData } from './truenas-auth-mechanism.enum-B0j9EN8G.js';
|
|
2
|
+
export { h as ApiCallDirectoryV25_10_0, i as ApiCallDirectoryV25_10_1, j as ApiCallDirectoryV25_10_2, k as ApiCallDirectoryV25_10_3, l as ApiCallDirectoryV25_10_4, m as ApiCallDirectoryV25_10_5, n as ApiCallDirectoryV27_0_0, o as ApiCallDirectoryV28_0_0, p as ApiDirectoryByVersion, q as ApiDirectoryShape, r as ApiDirectoryV25_10_1, s as ApiDirectoryV25_10_2, t as ApiDirectoryV25_10_3, u as ApiDirectoryV25_10_4, v as ApiDirectoryV25_10_5, w as ApiError, x as ApiEventDirectoryV25_10_0, y as ApiEventDirectoryV25_10_1, z as ApiEventDirectoryV25_10_2, B as ApiEventDirectoryV25_10_3, C as ApiEventDirectoryV25_10_4, D as ApiEventDirectoryV25_10_5, E as ApiEventDirectoryV27_0_0, F as ApiEventDirectoryV28_0_0, G as ApiJobDirectoryV25_10_0, H as ApiJobDirectoryV25_10_1, I as ApiJobDirectoryV25_10_2, J as ApiJobDirectoryV25_10_3, K as ApiJobDirectoryV25_10_4, M as ApiJobDirectoryV25_10_5, N as ApiJobDirectoryV27_0_0, P as ApiJobDirectoryV28_0_0, Q as ApiKeyCreate, R as ApiVersionResponse, S as AppState, U as ArgsOf, V as AuthResponseType, W as BaseApiDirectory, X as CallMethod, Y as CallParams, Z as CallResponse, _ as ConnectionClose, $ as ConnectionEndpoint, a0 as ConnectionInterceptor, a1 as ConnectionOptions, a2 as Container, a3 as CreateClientOptions, a4 as DefaultApiDirectory, a5 as EventKind, a6 as EventName, a7 as EventSourceName, a8 as EventUnion, a9 as Job, aa as JobMethod, ab as JobParams, ac as JobProgress, ad as JobResult, ae as JobState, af as PasswordLoginOptions, ag as QueryDirectory, ah as QueryEntity, ai as QueryListOptions, aj as QueryMethod, ak as QuerySingleOptions, al as ReconnectOptions, am as SUPPORTED_API_VERSIONS, an as SmbStatusInfoLevel, ao as SmbStatusOptions, ap as SmbStatusRequest, aq as SmbStatusResponse, ar as SmbStatusRow, as as SubscribableEvent, at as SubscriptionArgs, au as SubscriptionParams, av as SupportedApiVersion, aw as TrueNasAuthMechanism, ax as TrueNasDate, ay as TrueNasMessage, az as UserRole, aA as UserRoleName, aB as VersionCompatibility, aC as consoleLogger, aD as createTrueNasClient, aE as getApiErrorMessage, aF as isJobFinished, aG as noopLogger, aH as v25_10_0, aI as v25_10_1, aJ as v25_10_2, aK as v25_10_3, aL as v25_10_4, aM as v25_10_5, aN as v27_0_0, aO as v28_0_0 } from './truenas-auth-mechanism.enum-B0j9EN8G.js';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
4
|
import 'rxjs/webSocket';
|
|
5
5
|
|
|
@@ -271,7 +271,18 @@ declare class InvalidVersionResponseError extends VersionDiscoveryError {
|
|
|
271
271
|
|
|
272
272
|
declare enum AuthErrorCode {
|
|
273
273
|
PasswordAuthFailed = "PASSWORD_AUTH_FAILED",
|
|
274
|
+
/**
|
|
275
|
+
* The appliance refused the one-time code. `loginPending` says what comes
|
|
276
|
+
* next: `true`, the same login takes another code; `false`, it is gone and
|
|
277
|
+
* the login starts over with the password.
|
|
278
|
+
*/
|
|
274
279
|
OtpAuthFailed = "OTP_AUTH_FAILED",
|
|
280
|
+
/**
|
|
281
|
+
* A one-time code was sent with no login waiting for one: the appliance
|
|
282
|
+
* dropped it after an earlier refusal, or it never asked. Start over with the
|
|
283
|
+
* password. `loginPending` is always `false`.
|
|
284
|
+
*/
|
|
285
|
+
OtpLoginNotPending = "OTP_LOGIN_NOT_PENDING",
|
|
275
286
|
ApiKeyAuthFailed = "API_KEY_AUTH_FAILED",
|
|
276
287
|
TokenAuthFailed = "TOKEN_AUTH_FAILED",
|
|
277
288
|
/**
|
|
@@ -291,13 +302,26 @@ declare enum AuthErrorCode {
|
|
|
291
302
|
declare class AuthError extends Error {
|
|
292
303
|
readonly code: AuthErrorCode;
|
|
293
304
|
readonly response?: AuthResponse | undefined;
|
|
305
|
+
/**
|
|
306
|
+
* Whether the appliance still holds this login open for another attempt, so
|
|
307
|
+
* the caller can ask for a new one-time code instead of the password.
|
|
308
|
+
*
|
|
309
|
+
* Only a refused code can leave it `true`, and only on releases that keep a
|
|
310
|
+
* two-factor login after a wrong code (25.10, up to three tries); 27 and
|
|
311
|
+
* later drop it on the first. It is read from the appliance's answer, never
|
|
312
|
+
* from the API version, which does not tell the two apart. Every other
|
|
313
|
+
* failure is `false`: the next attempt is a fresh login.
|
|
314
|
+
*/
|
|
315
|
+
readonly loginPending: boolean;
|
|
294
316
|
/**
|
|
295
317
|
* @param response - the answer middleware refused the login with, when there was one.
|
|
296
318
|
* Its `response_type` is what tells `EXPIRED`, `DENIED` and `REDIRECT` apart from
|
|
297
319
|
* `AUTH_ERR`; the code alone says only which mechanism failed. Absent when the login
|
|
298
320
|
* never got an answer of that kind (an error frame, or a superseded login).
|
|
299
321
|
*/
|
|
300
|
-
constructor(code: AuthErrorCode, message: string, response?: AuthResponse | undefined
|
|
322
|
+
constructor(code: AuthErrorCode, message: string, response?: AuthResponse | undefined, options?: {
|
|
323
|
+
loginPending?: boolean;
|
|
324
|
+
});
|
|
301
325
|
}
|
|
302
326
|
|
|
303
327
|
/**
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { AppState, AuthError, AuthErrorCode, AuthResponseType, InvalidVersionResponseError, JobState, NoCompatibleVersionsError, SUPPORTED_API_VERSIONS, TrueNasApiClient, TrueNasApiClientV2510, TrueNasApiClientV27, TrueNasApiClientV28, TrueNasApiError, TrueNasAuthMechanism, UserRole, VersionCompatibility, VersionDiscovery, VersionDiscoveryError, VersionDiscoveryNetworkError, VersionDiscoveryTimeoutError, VersionEndpointNotFoundError, VersionTooNewError, VersionTooOldError, consoleLogger, createTrueNasClient, getApiErrorMessage, isJobFinished, noopLogger, v25_10_0_exports as v25_10_0, v25_10_1_exports as v25_10_1, v25_10_2_exports as v25_10_2, v25_10_3_exports as v25_10_3, v25_10_4_exports as v25_10_4, v25_10_5_exports as v25_10_5, v27_0_0_exports as v27_0_0, v28_0_0_exports as v28_0_0 } from './chunk-
|
|
1
|
+
export { AppState, AuthError, AuthErrorCode, AuthResponseType, InvalidVersionResponseError, JobState, NoCompatibleVersionsError, SUPPORTED_API_VERSIONS, TrueNasApiClient, TrueNasApiClientV2510, TrueNasApiClientV27, TrueNasApiClientV28, TrueNasApiError, TrueNasAuthMechanism, UserRole, VersionCompatibility, VersionDiscovery, VersionDiscoveryError, VersionDiscoveryNetworkError, VersionDiscoveryTimeoutError, VersionEndpointNotFoundError, VersionTooNewError, VersionTooOldError, consoleLogger, createTrueNasClient, getApiErrorMessage, isJobFinished, noopLogger, v25_10_0_exports as v25_10_0, v25_10_1_exports as v25_10_1, v25_10_2_exports as v25_10_2, v25_10_3_exports as v25_10_3, v25_10_4_exports as v25_10_4, v25_10_5_exports as v25_10_5, v27_0_0_exports as v27_0_0, v28_0_0_exports as v28_0_0 } from './chunk-ZH75OPDH.js';
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
package/dist/testing/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkMQAS7GKB_cjs = require('../chunk-MQAS7GKB.cjs');
|
|
4
4
|
var rxjs = require('rxjs');
|
|
5
5
|
|
|
6
6
|
// src/testing/unmocked-call-error.ts
|
|
@@ -17,7 +17,7 @@ var UnmockedCallError = class extends Error {
|
|
|
17
17
|
|
|
18
18
|
// src/testing/fake-connection.ts
|
|
19
19
|
var CLIENT_HOUSEKEEPING = /* @__PURE__ */ new Set(["core.subscribe", "core.unsubscribe"]);
|
|
20
|
-
var FakeConnection = class extends
|
|
20
|
+
var FakeConnection = class extends chunkMQAS7GKB_cjs.TrueNasConnection {
|
|
21
21
|
constructor(options = {}) {
|
|
22
22
|
super(
|
|
23
23
|
// Disabled: `connection$` derives from this, so no socket is ever built
|
|
@@ -29,7 +29,7 @@ var FakeConnection = class extends chunkPWRUBUVD_cjs.TrueNasConnection {
|
|
|
29
29
|
void 0,
|
|
30
30
|
0,
|
|
31
31
|
0,
|
|
32
|
-
|
|
32
|
+
chunkMQAS7GKB_cjs.noopLogger
|
|
33
33
|
);
|
|
34
34
|
this.incoming = new rxjs.Subject();
|
|
35
35
|
this.frames = [];
|
|
@@ -192,10 +192,10 @@ var FakeConnection = class extends chunkPWRUBUVD_cjs.TrueNasConnection {
|
|
|
192
192
|
this.closesSubject.next({
|
|
193
193
|
code,
|
|
194
194
|
reason,
|
|
195
|
-
message:
|
|
195
|
+
message: chunkMQAS7GKB_cjs.getCloseMessage(code, reason),
|
|
196
196
|
hostname: this.endpoint.hostnames[0] ?? "",
|
|
197
197
|
wasOpen: true,
|
|
198
|
-
refused: code ===
|
|
198
|
+
refused: code === chunkMQAS7GKB_cjs.policyViolationCloseCode
|
|
199
199
|
});
|
|
200
200
|
}
|
|
201
201
|
/**
|
|
@@ -224,7 +224,7 @@ var FakeConnection = class extends chunkPWRUBUVD_cjs.TrueNasConnection {
|
|
|
224
224
|
};
|
|
225
225
|
|
|
226
226
|
// src/testing/fake-authenticator.ts
|
|
227
|
-
var FakeAuthenticator = class extends
|
|
227
|
+
var FakeAuthenticator = class extends chunkMQAS7GKB_cjs.TrueNasAuthenticator {
|
|
228
228
|
constructor(fakeConnection, version) {
|
|
229
229
|
super(fakeConnection, version);
|
|
230
230
|
this.fakeConnection = fakeConnection;
|
|
@@ -551,7 +551,7 @@ function createMockAnswers(connection) {
|
|
|
551
551
|
connection.receive({
|
|
552
552
|
jsonrpc: "2.0",
|
|
553
553
|
method: "collection_update",
|
|
554
|
-
params: { collection:
|
|
554
|
+
params: { collection: chunkMQAS7GKB_cjs.subscriptionName(event, params), ...change }
|
|
555
555
|
});
|
|
556
556
|
}
|
|
557
557
|
};
|
|
@@ -574,12 +574,12 @@ function withFakeCollaborators(Base, options) {
|
|
|
574
574
|
};
|
|
575
575
|
}
|
|
576
576
|
function createFakeClient(options = {}) {
|
|
577
|
-
const versionString = options.version ??
|
|
578
|
-
const version =
|
|
577
|
+
const versionString = options.version ?? chunkMQAS7GKB_cjs.SUPPORTED_API_VERSIONS[0];
|
|
578
|
+
const version = chunkMQAS7GKB_cjs.parseApiVersion(versionString);
|
|
579
579
|
if (!version) {
|
|
580
580
|
throw new Error(`'${versionString}' is not a version this package parses.`);
|
|
581
581
|
}
|
|
582
|
-
const Base =
|
|
582
|
+
const Base = chunkMQAS7GKB_cjs.clientClassFor(version);
|
|
583
583
|
if (!Base) {
|
|
584
584
|
throw new Error(
|
|
585
585
|
`No client implementation for '${versionString}'. The real factory would have refused it too.`
|
|
@@ -665,8 +665,8 @@ function withSpies(client, spy) {
|
|
|
665
665
|
}
|
|
666
666
|
|
|
667
667
|
// src/testing/fake-api-version.ts
|
|
668
|
-
function fakeApiVersion(version =
|
|
669
|
-
const parsed =
|
|
668
|
+
function fakeApiVersion(version = chunkMQAS7GKB_cjs.SUPPORTED_API_VERSIONS[0], overrides = {}) {
|
|
669
|
+
const parsed = chunkMQAS7GKB_cjs.parseApiVersion(version);
|
|
670
670
|
if (!parsed) {
|
|
671
671
|
throw new Error(
|
|
672
672
|
`fakeApiVersion('${version}'): not a version this package parses. Expected vYY.MINOR.PATCH \u2014 v25.10.0, v27.0.0. For a version the parser rejects, pass one it accepts and override its fields.`
|
|
@@ -735,7 +735,7 @@ function fakeAuthResponse(overrides = {}) {
|
|
|
735
735
|
|
|
736
736
|
Object.defineProperty(exports, "AuthResponseType", {
|
|
737
737
|
enumerable: true,
|
|
738
|
-
get: function () { return
|
|
738
|
+
get: function () { return chunkMQAS7GKB_cjs.AuthResponseType; }
|
|
739
739
|
});
|
|
740
740
|
exports.FakeAuthenticator = FakeAuthenticator;
|
|
741
741
|
exports.FakeConnection = FakeConnection;
|
package/dist/testing/index.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as rxjs from 'rxjs';
|
|
2
2
|
import { Subscription, Observable } from 'rxjs';
|
|
3
|
-
import { aP as TrueNasConnection, ay as TrueNasMessage, f as TrueNasErrorFrame, aQ as TrueNasAuthenticator, d as ApiVersion, aw as TrueNasAuthMechanism, e as AuthResponse, V as AuthResponseType, af as PasswordLoginOptions, a9 as Job, ac as JobProgress, q as ApiDirectoryShape, X as CallMethod, aj as QueryMethod, Z as CallResponse, Y as CallParams, ah as QueryEntity, aa as JobMethod, ad as JobResult, a6 as EventName, a8 as EventUnion, a7 as EventSourceName, at as SubscriptionArgs, av as SupportedApiVersion, T as TrueNasApiClient, aR as DerivedDirectory, g as TrueNasErrorData } from '../truenas-auth-mechanism.enum-
|
|
3
|
+
import { aP as TrueNasConnection, ay as TrueNasMessage, f as TrueNasErrorFrame, aQ as TrueNasAuthenticator, d as ApiVersion, aw as TrueNasAuthMechanism, e as AuthResponse, V as AuthResponseType, af as PasswordLoginOptions, a9 as Job, ac as JobProgress, q as ApiDirectoryShape, X as CallMethod, aj as QueryMethod, Z as CallResponse, Y as CallParams, ah as QueryEntity, aa as JobMethod, ad as JobResult, a6 as EventName, a8 as EventUnion, a7 as EventSourceName, at as SubscriptionArgs, av as SupportedApiVersion, T as TrueNasApiClient, aR as DerivedDirectory, g as TrueNasErrorData } from '../truenas-auth-mechanism.enum-B0j9EN8G.cjs';
|
|
4
4
|
import 'rxjs/webSocket';
|
|
5
5
|
|
|
6
6
|
/** How a fake connection is set up. Every field has a usable default. */
|
package/dist/testing/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as rxjs from 'rxjs';
|
|
2
2
|
import { Subscription, Observable } from 'rxjs';
|
|
3
|
-
import { aP as TrueNasConnection, ay as TrueNasMessage, f as TrueNasErrorFrame, aQ as TrueNasAuthenticator, d as ApiVersion, aw as TrueNasAuthMechanism, e as AuthResponse, V as AuthResponseType, af as PasswordLoginOptions, a9 as Job, ac as JobProgress, q as ApiDirectoryShape, X as CallMethod, aj as QueryMethod, Z as CallResponse, Y as CallParams, ah as QueryEntity, aa as JobMethod, ad as JobResult, a6 as EventName, a8 as EventUnion, a7 as EventSourceName, at as SubscriptionArgs, av as SupportedApiVersion, T as TrueNasApiClient, aR as DerivedDirectory, g as TrueNasErrorData } from '../truenas-auth-mechanism.enum-
|
|
3
|
+
import { aP as TrueNasConnection, ay as TrueNasMessage, f as TrueNasErrorFrame, aQ as TrueNasAuthenticator, d as ApiVersion, aw as TrueNasAuthMechanism, e as AuthResponse, V as AuthResponseType, af as PasswordLoginOptions, a9 as Job, ac as JobProgress, q as ApiDirectoryShape, X as CallMethod, aj as QueryMethod, Z as CallResponse, Y as CallParams, ah as QueryEntity, aa as JobMethod, ad as JobResult, a6 as EventName, a8 as EventUnion, a7 as EventSourceName, at as SubscriptionArgs, av as SupportedApiVersion, T as TrueNasApiClient, aR as DerivedDirectory, g as TrueNasErrorData } from '../truenas-auth-mechanism.enum-B0j9EN8G.js';
|
|
4
4
|
import 'rxjs/webSocket';
|
|
5
5
|
|
|
6
6
|
/** How a fake connection is set up. Every field has a usable default. */
|
package/dist/testing/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { SUPPORTED_API_VERSIONS, TrueNasConnection, noopLogger, policyViolationCloseCode, getCloseMessage, TrueNasAuthenticator, parseApiVersion, clientClassFor, subscriptionName } from '../chunk-
|
|
2
|
-
export { AuthResponseType } from '../chunk-
|
|
1
|
+
import { SUPPORTED_API_VERSIONS, TrueNasConnection, noopLogger, policyViolationCloseCode, getCloseMessage, TrueNasAuthenticator, parseApiVersion, clientClassFor, subscriptionName } from '../chunk-ZH75OPDH.js';
|
|
2
|
+
export { AuthResponseType } from '../chunk-ZH75OPDH.js';
|
|
3
3
|
import { Subject, distinctUntilChanged, takeUntil, filter, map, Subscription } from 'rxjs';
|
|
4
4
|
|
|
5
5
|
// src/testing/unmocked-call-error.ts
|
|
@@ -33239,6 +33239,19 @@ declare class TrueNasAuthenticator {
|
|
|
33239
33239
|
private beginLogin;
|
|
33240
33240
|
private endLogin;
|
|
33241
33241
|
loginWithUserPass(username: string, password: string, options?: PasswordLoginOptions): rxjs.Observable<AuthResponse>;
|
|
33242
|
+
/**
|
|
33243
|
+
* The second step of a two-factor login, after `loginWithUserPass` answered
|
|
33244
|
+
* `OTP_REQUIRED`.
|
|
33245
|
+
*
|
|
33246
|
+
* Emits the answer when the code is accepted (`SUCCESS`), or when middleware
|
|
33247
|
+
* refuses the account outright (`EXPIRED`, `DENIED`, `REDIRECT`); never
|
|
33248
|
+
* `OTP_REQUIRED`. A refused code errors with `AuthError`, the same way on
|
|
33249
|
+
* every release:
|
|
33250
|
+
*
|
|
33251
|
+
* - `OtpAuthFailed` with `loginPending: true`: ask for another code.
|
|
33252
|
+
* - `OtpAuthFailed` with `loginPending: false`: start over with the password.
|
|
33253
|
+
* - `OtpLoginNotPending`: no login was waiting for a code; start over.
|
|
33254
|
+
*/
|
|
33242
33255
|
loginWithOtp(code: string): rxjs.Observable<AuthResponse>;
|
|
33243
33256
|
/**
|
|
33244
33257
|
* Re-authenticate with a token from a previous login's `reconnect_token`,
|
package/dist/{truenas-auth-mechanism.enum-CzbVnvTU.d.ts → truenas-auth-mechanism.enum-B0j9EN8G.d.ts}
RENAMED
|
@@ -33239,6 +33239,19 @@ declare class TrueNasAuthenticator {
|
|
|
33239
33239
|
private beginLogin;
|
|
33240
33240
|
private endLogin;
|
|
33241
33241
|
loginWithUserPass(username: string, password: string, options?: PasswordLoginOptions): rxjs.Observable<AuthResponse>;
|
|
33242
|
+
/**
|
|
33243
|
+
* The second step of a two-factor login, after `loginWithUserPass` answered
|
|
33244
|
+
* `OTP_REQUIRED`.
|
|
33245
|
+
*
|
|
33246
|
+
* Emits the answer when the code is accepted (`SUCCESS`), or when middleware
|
|
33247
|
+
* refuses the account outright (`EXPIRED`, `DENIED`, `REDIRECT`); never
|
|
33248
|
+
* `OTP_REQUIRED`. A refused code errors with `AuthError`, the same way on
|
|
33249
|
+
* every release:
|
|
33250
|
+
*
|
|
33251
|
+
* - `OtpAuthFailed` with `loginPending: true`: ask for another code.
|
|
33252
|
+
* - `OtpAuthFailed` with `loginPending: false`: start over with the password.
|
|
33253
|
+
* - `OtpLoginNotPending`: no login was waiting for a code; start over.
|
|
33254
|
+
*/
|
|
33242
33255
|
loginWithOtp(code: string): rxjs.Observable<AuthResponse>;
|
|
33243
33256
|
/**
|
|
33244
33257
|
* Re-authenticate with a token from a previous login's `reconnect_token`,
|