@truenas/api-client 8.0.0 → 9.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 +4 -4
- package/dist/{chunk-RH7UXULE.js → chunk-LFNAVARU.js} +111 -35
- package/dist/chunk-LFNAVARU.js.map +1 -0
- package/dist/{chunk-DIZAGV4B.cjs → chunk-TSO2EHF3.cjs} +112 -36
- package/dist/chunk-TSO2EHF3.cjs.map +1 -0
- package/dist/index.cjs +40 -40
- package/dist/index.d.cts +33 -21
- package/dist/index.d.ts +33 -21
- package/dist/index.js +1 -1
- package/dist/testing/index.cjs +12 -12
- 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-DUitTxen.d.cts → truenas-auth-mechanism.enum-CW5Wwz1s.d.cts} +531 -104
- package/dist/{truenas-auth-mechanism.enum-DUitTxen.d.ts → truenas-auth-mechanism.enum-CW5Wwz1s.d.ts} +531 -104
- package/package.json +1 -1
- package/dist/chunk-DIZAGV4B.cjs.map +0 -1
- package/dist/chunk-RH7UXULE.js.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -1,148 +1,148 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkTSO2EHF3_cjs = require('./chunk-TSO2EHF3.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 chunkTSO2EHF3_cjs.AppState; }
|
|
10
10
|
});
|
|
11
11
|
Object.defineProperty(exports, "AuthError", {
|
|
12
12
|
enumerable: true,
|
|
13
|
-
get: function () { return
|
|
13
|
+
get: function () { return chunkTSO2EHF3_cjs.AuthError; }
|
|
14
14
|
});
|
|
15
15
|
Object.defineProperty(exports, "AuthErrorCode", {
|
|
16
16
|
enumerable: true,
|
|
17
|
-
get: function () { return
|
|
17
|
+
get: function () { return chunkTSO2EHF3_cjs.AuthErrorCode; }
|
|
18
18
|
});
|
|
19
19
|
Object.defineProperty(exports, "AuthResponseType", {
|
|
20
20
|
enumerable: true,
|
|
21
|
-
get: function () { return
|
|
21
|
+
get: function () { return chunkTSO2EHF3_cjs.AuthResponseType; }
|
|
22
22
|
});
|
|
23
23
|
Object.defineProperty(exports, "InvalidVersionResponseError", {
|
|
24
24
|
enumerable: true,
|
|
25
|
-
get: function () { return
|
|
25
|
+
get: function () { return chunkTSO2EHF3_cjs.InvalidVersionResponseError; }
|
|
26
26
|
});
|
|
27
27
|
Object.defineProperty(exports, "JobState", {
|
|
28
28
|
enumerable: true,
|
|
29
|
-
get: function () { return
|
|
29
|
+
get: function () { return chunkTSO2EHF3_cjs.JobState; }
|
|
30
30
|
});
|
|
31
31
|
Object.defineProperty(exports, "NoCompatibleVersionsError", {
|
|
32
32
|
enumerable: true,
|
|
33
|
-
get: function () { return
|
|
33
|
+
get: function () { return chunkTSO2EHF3_cjs.NoCompatibleVersionsError; }
|
|
34
34
|
});
|
|
35
35
|
Object.defineProperty(exports, "SUPPORTED_API_VERSIONS", {
|
|
36
36
|
enumerable: true,
|
|
37
|
-
get: function () { return
|
|
37
|
+
get: function () { return chunkTSO2EHF3_cjs.SUPPORTED_API_VERSIONS; }
|
|
38
38
|
});
|
|
39
39
|
Object.defineProperty(exports, "TrueNasApiClient", {
|
|
40
40
|
enumerable: true,
|
|
41
|
-
get: function () { return
|
|
41
|
+
get: function () { return chunkTSO2EHF3_cjs.TrueNasApiClient; }
|
|
42
42
|
});
|
|
43
43
|
Object.defineProperty(exports, "TrueNasApiClientV2510", {
|
|
44
44
|
enumerable: true,
|
|
45
|
-
get: function () { return
|
|
45
|
+
get: function () { return chunkTSO2EHF3_cjs.TrueNasApiClientV2510; }
|
|
46
46
|
});
|
|
47
|
-
Object.defineProperty(exports, "
|
|
47
|
+
Object.defineProperty(exports, "TrueNasApiClientV27", {
|
|
48
48
|
enumerable: true,
|
|
49
|
-
get: function () { return
|
|
49
|
+
get: function () { return chunkTSO2EHF3_cjs.TrueNasApiClientV27; }
|
|
50
50
|
});
|
|
51
|
-
Object.defineProperty(exports, "
|
|
51
|
+
Object.defineProperty(exports, "TrueNasApiClientV28", {
|
|
52
52
|
enumerable: true,
|
|
53
|
-
get: function () { return
|
|
53
|
+
get: function () { return chunkTSO2EHF3_cjs.TrueNasApiClientV28; }
|
|
54
54
|
});
|
|
55
55
|
Object.defineProperty(exports, "TrueNasAuthMechanism", {
|
|
56
56
|
enumerable: true,
|
|
57
|
-
get: function () { return
|
|
57
|
+
get: function () { return chunkTSO2EHF3_cjs.TrueNasAuthMechanism; }
|
|
58
58
|
});
|
|
59
59
|
Object.defineProperty(exports, "UserRole", {
|
|
60
60
|
enumerable: true,
|
|
61
|
-
get: function () { return
|
|
61
|
+
get: function () { return chunkTSO2EHF3_cjs.UserRole; }
|
|
62
62
|
});
|
|
63
63
|
Object.defineProperty(exports, "VersionCompatibility", {
|
|
64
64
|
enumerable: true,
|
|
65
|
-
get: function () { return
|
|
65
|
+
get: function () { return chunkTSO2EHF3_cjs.VersionCompatibility; }
|
|
66
66
|
});
|
|
67
67
|
Object.defineProperty(exports, "VersionDiscovery", {
|
|
68
68
|
enumerable: true,
|
|
69
|
-
get: function () { return
|
|
69
|
+
get: function () { return chunkTSO2EHF3_cjs.VersionDiscovery; }
|
|
70
70
|
});
|
|
71
71
|
Object.defineProperty(exports, "VersionDiscoveryError", {
|
|
72
72
|
enumerable: true,
|
|
73
|
-
get: function () { return
|
|
73
|
+
get: function () { return chunkTSO2EHF3_cjs.VersionDiscoveryError; }
|
|
74
74
|
});
|
|
75
75
|
Object.defineProperty(exports, "VersionDiscoveryNetworkError", {
|
|
76
76
|
enumerable: true,
|
|
77
|
-
get: function () { return
|
|
77
|
+
get: function () { return chunkTSO2EHF3_cjs.VersionDiscoveryNetworkError; }
|
|
78
78
|
});
|
|
79
79
|
Object.defineProperty(exports, "VersionDiscoveryTimeoutError", {
|
|
80
80
|
enumerable: true,
|
|
81
|
-
get: function () { return
|
|
81
|
+
get: function () { return chunkTSO2EHF3_cjs.VersionDiscoveryTimeoutError; }
|
|
82
82
|
});
|
|
83
83
|
Object.defineProperty(exports, "VersionEndpointNotFoundError", {
|
|
84
84
|
enumerable: true,
|
|
85
|
-
get: function () { return
|
|
85
|
+
get: function () { return chunkTSO2EHF3_cjs.VersionEndpointNotFoundError; }
|
|
86
86
|
});
|
|
87
87
|
Object.defineProperty(exports, "VersionTooNewError", {
|
|
88
88
|
enumerable: true,
|
|
89
|
-
get: function () { return
|
|
89
|
+
get: function () { return chunkTSO2EHF3_cjs.VersionTooNewError; }
|
|
90
90
|
});
|
|
91
91
|
Object.defineProperty(exports, "VersionTooOldError", {
|
|
92
92
|
enumerable: true,
|
|
93
|
-
get: function () { return
|
|
93
|
+
get: function () { return chunkTSO2EHF3_cjs.VersionTooOldError; }
|
|
94
94
|
});
|
|
95
95
|
Object.defineProperty(exports, "consoleLogger", {
|
|
96
96
|
enumerable: true,
|
|
97
|
-
get: function () { return
|
|
97
|
+
get: function () { return chunkTSO2EHF3_cjs.consoleLogger; }
|
|
98
98
|
});
|
|
99
99
|
Object.defineProperty(exports, "createTrueNasClient", {
|
|
100
100
|
enumerable: true,
|
|
101
|
-
get: function () { return
|
|
101
|
+
get: function () { return chunkTSO2EHF3_cjs.createTrueNasClient; }
|
|
102
102
|
});
|
|
103
103
|
Object.defineProperty(exports, "getApiErrorMessage", {
|
|
104
104
|
enumerable: true,
|
|
105
|
-
get: function () { return
|
|
105
|
+
get: function () { return chunkTSO2EHF3_cjs.getApiErrorMessage; }
|
|
106
106
|
});
|
|
107
107
|
Object.defineProperty(exports, "isJobFinished", {
|
|
108
108
|
enumerable: true,
|
|
109
|
-
get: function () { return
|
|
109
|
+
get: function () { return chunkTSO2EHF3_cjs.isJobFinished; }
|
|
110
110
|
});
|
|
111
111
|
Object.defineProperty(exports, "noopLogger", {
|
|
112
112
|
enumerable: true,
|
|
113
|
-
get: function () { return
|
|
113
|
+
get: function () { return chunkTSO2EHF3_cjs.noopLogger; }
|
|
114
114
|
});
|
|
115
115
|
Object.defineProperty(exports, "v25_10_0", {
|
|
116
116
|
enumerable: true,
|
|
117
|
-
get: function () { return
|
|
117
|
+
get: function () { return chunkTSO2EHF3_cjs.v25_10_0_exports; }
|
|
118
118
|
});
|
|
119
119
|
Object.defineProperty(exports, "v25_10_1", {
|
|
120
120
|
enumerable: true,
|
|
121
|
-
get: function () { return
|
|
121
|
+
get: function () { return chunkTSO2EHF3_cjs.v25_10_1_exports; }
|
|
122
122
|
});
|
|
123
123
|
Object.defineProperty(exports, "v25_10_2", {
|
|
124
124
|
enumerable: true,
|
|
125
|
-
get: function () { return
|
|
125
|
+
get: function () { return chunkTSO2EHF3_cjs.v25_10_2_exports; }
|
|
126
126
|
});
|
|
127
127
|
Object.defineProperty(exports, "v25_10_3", {
|
|
128
128
|
enumerable: true,
|
|
129
|
-
get: function () { return
|
|
129
|
+
get: function () { return chunkTSO2EHF3_cjs.v25_10_3_exports; }
|
|
130
130
|
});
|
|
131
131
|
Object.defineProperty(exports, "v25_10_4", {
|
|
132
132
|
enumerable: true,
|
|
133
|
-
get: function () { return
|
|
133
|
+
get: function () { return chunkTSO2EHF3_cjs.v25_10_4_exports; }
|
|
134
134
|
});
|
|
135
135
|
Object.defineProperty(exports, "v25_10_5", {
|
|
136
136
|
enumerable: true,
|
|
137
|
-
get: function () { return
|
|
137
|
+
get: function () { return chunkTSO2EHF3_cjs.v25_10_5_exports; }
|
|
138
138
|
});
|
|
139
|
-
Object.defineProperty(exports, "
|
|
139
|
+
Object.defineProperty(exports, "v27_0_0", {
|
|
140
140
|
enumerable: true,
|
|
141
|
-
get: function () { return
|
|
141
|
+
get: function () { return chunkTSO2EHF3_cjs.v27_0_0_exports; }
|
|
142
142
|
});
|
|
143
|
-
Object.defineProperty(exports, "
|
|
143
|
+
Object.defineProperty(exports, "v28_0_0", {
|
|
144
144
|
enumerable: true,
|
|
145
|
-
get: function () { return
|
|
145
|
+
get: function () { return chunkTSO2EHF3_cjs.v28_0_0_exports; }
|
|
146
146
|
});
|
|
147
147
|
//# sourceMappingURL=index.cjs.map
|
|
148
148
|
//# 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 } from './truenas-auth-mechanism.enum-
|
|
2
|
-
export { e as ApiCallDirectoryV25_10_0, f as ApiCallDirectoryV25_10_1, g as ApiCallDirectoryV25_10_2, h as ApiCallDirectoryV25_10_3, i as ApiCallDirectoryV25_10_4, j as ApiCallDirectoryV25_10_5, k as
|
|
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 } from './truenas-auth-mechanism.enum-CW5Wwz1s.cjs';
|
|
2
|
+
export { e as ApiCallDirectoryV25_10_0, f as ApiCallDirectoryV25_10_1, g as ApiCallDirectoryV25_10_2, h as ApiCallDirectoryV25_10_3, i as ApiCallDirectoryV25_10_4, j as ApiCallDirectoryV25_10_5, k as ApiCallDirectoryV27_0_0, l as ApiCallDirectoryV28_0_0, m as ApiDirectoryByVersion, n as ApiDirectoryShape, o as ApiDirectoryV25_10_1, p as ApiDirectoryV25_10_2, q as ApiDirectoryV25_10_3, r as ApiDirectoryV25_10_4, s as ApiDirectoryV25_10_5, t as ApiError, u as ApiEventDirectoryV25_10_0, v as ApiEventDirectoryV25_10_1, w as ApiEventDirectoryV25_10_2, x as ApiEventDirectoryV25_10_3, y as ApiEventDirectoryV25_10_4, z as ApiEventDirectoryV25_10_5, B as ApiEventDirectoryV27_0_0, C as ApiEventDirectoryV28_0_0, D as ApiJobDirectoryV25_10_0, E as ApiJobDirectoryV25_10_1, F as ApiJobDirectoryV25_10_2, G as ApiJobDirectoryV25_10_3, H as ApiJobDirectoryV25_10_4, I as ApiJobDirectoryV25_10_5, J as ApiJobDirectoryV27_0_0, K as ApiJobDirectoryV28_0_0, M as ApiKeyCreate, N as ApiVersionResponse, P as AppState, Q as ArgsOf, R as AuthResponse, S as AuthResponseType, U as BaseApiDirectory, V as CallMethod, W as CallParams, X as CallResponse, Y as ConnectionClose, Z as ConnectionEndpoint, _ as Container, $ as CreateClientOptions, a0 as DefaultApiDirectory, a1 as EventKind, a2 as EventName, a3 as EventUnion, a4 as Job, a5 as JobMethod, a6 as JobParams, a7 as JobProgress, a8 as JobResult, a9 as JobState, aa as QueryDirectory, ab as QueryEntity, ac as QueryListOptions, ad as QueryMethod, ae as QuerySingleOptions, af as ReconnectOptions, ag as SUPPORTED_API_VERSIONS, ah as SmbStatusInfoLevel, ai as SmbStatusOptions, aj as SmbStatusRequest, ak as SmbStatusResponse, al as SmbStatusRow, am as SupportedApiVersion, an as TrueNasAuthMechanism, ao as TrueNasDate, ap as TrueNasErrorData, aq as TrueNasErrorFrame, ar as UserRole, as as UserRoleName, at as VersionCompatibility, au as consoleLogger, av as createTrueNasClient, aw as getApiErrorMessage, ax as isJobFinished, ay as noopLogger, az as v25_10_0, aA as v25_10_1, aB as v25_10_2, aC as v25_10_3, aD as v25_10_4, aE as v25_10_5, aF as v27_0_0, aG as v28_0_0 } from './truenas-auth-mechanism.enum-CW5Wwz1s.cjs';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
4
|
import 'rxjs/webSocket';
|
|
5
5
|
|
|
@@ -39,11 +39,12 @@ declare class TrueNasApiClientV2510 extends TrueNasApiClient<ApiDirectory> {
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
/**
|
|
42
|
-
* TrueNAS API Client for
|
|
42
|
+
* TrueNAS API Client for v27.X.Y
|
|
43
43
|
*
|
|
44
|
-
* Handles
|
|
45
|
-
*
|
|
46
|
-
*
|
|
44
|
+
* Handles the v27 series: minor and patch versions are backward compatible, so
|
|
45
|
+
* one implementation covers them. Discovery is stricter — it admits only what
|
|
46
|
+
* `SUPPORTED_API_VERSIONS` names, so a v27 patch reaches this client only once
|
|
47
|
+
* the types are regenerated for it.
|
|
47
48
|
*
|
|
48
49
|
* To add version-specific behavior, override the factory methods:
|
|
49
50
|
* - createConnection() - for connection-specific changes
|
|
@@ -53,7 +54,7 @@ declare class TrueNasApiClientV2510 extends TrueNasApiClient<ApiDirectory> {
|
|
|
53
54
|
*/
|
|
54
55
|
|
|
55
56
|
/**
|
|
56
|
-
* API client for TrueNAS API
|
|
57
|
+
* API client for TrueNAS API v27 (JSON-RPC 2.0 over /api/v27.{minor}.{patch}).
|
|
57
58
|
*
|
|
58
59
|
* - containerQuery → container.query (with response transformation)
|
|
59
60
|
* - containerStart → container.start (synchronous, emits null)
|
|
@@ -62,9 +63,9 @@ declare class TrueNasApiClientV2510 extends TrueNasApiClient<ApiDirectory> {
|
|
|
62
63
|
* - containerDelete → container.delete (a job; force/recursive)
|
|
63
64
|
* - smbStatus → smb.status (public, gated on `SHARING_SMB_READ`)
|
|
64
65
|
*/
|
|
65
|
-
declare class
|
|
66
|
+
declare class TrueNasApiClientV27 extends TrueNasApiClient<ApiDirectory$1> {
|
|
66
67
|
/**
|
|
67
|
-
* Create
|
|
68
|
+
* Create v27-specific operation mappings
|
|
68
69
|
*
|
|
69
70
|
* Operations return Observable<Job | null>:
|
|
70
71
|
* - Async operations emit Job updates until complete
|
|
@@ -74,28 +75,29 @@ declare class TrueNasApiClientV26 extends TrueNasApiClient<ApiDirectory$1> {
|
|
|
74
75
|
}
|
|
75
76
|
|
|
76
77
|
/**
|
|
77
|
-
* TrueNAS API Client for
|
|
78
|
+
* TrueNAS API Client for v28.X.Y
|
|
78
79
|
*
|
|
79
|
-
* Handles the whole
|
|
80
|
+
* Handles the whole v28 series; breaking changes only arrive with v29.
|
|
80
81
|
*
|
|
81
|
-
* Discovery admits less:
|
|
82
|
-
* so
|
|
82
|
+
* Discovery admits less: a version has to be one `SUPPORTED_API_VERSIONS`
|
|
83
|
+
* names, so v28.0.1 and v28.1.0 are reported `Unsupported` and never reach this
|
|
84
|
+
* client until the types are regenerated for them.
|
|
83
85
|
*
|
|
84
86
|
* To add version-specific behavior, override createConnection(), createApi(),
|
|
85
87
|
* createAuthenticator() or createOperations().
|
|
86
88
|
*/
|
|
87
89
|
|
|
88
90
|
/**
|
|
89
|
-
* API client for TrueNAS API
|
|
91
|
+
* API client for TrueNAS API v28 (JSON-RPC 2.0 over /api/v28.{minor}.{patch}).
|
|
90
92
|
*
|
|
91
|
-
* Operations currently match `
|
|
92
|
-
* entry they use. The spec pins the four container entries to
|
|
93
|
+
* Operations currently match `TrueNasApiClientV27`'s because v28 inherits every
|
|
94
|
+
* entry they use. The spec pins the four container entries to v27's;
|
|
93
95
|
* `smb.status` is unpinned, so a widened param or narrowed response would
|
|
94
96
|
* still compile here. Duplicated rather than shared so the series can diverge.
|
|
95
97
|
*/
|
|
96
|
-
declare class
|
|
98
|
+
declare class TrueNasApiClientV28 extends TrueNasApiClient<ApiDirectory$2> {
|
|
97
99
|
/**
|
|
98
|
-
* Create
|
|
100
|
+
* Create v28-specific operation mappings
|
|
99
101
|
*
|
|
100
102
|
* Operations return Observable<Job | null>:
|
|
101
103
|
* - Async operations emit Job updates until complete
|
|
@@ -232,17 +234,27 @@ declare class VersionDiscoveryNetworkError extends VersionDiscoveryError {
|
|
|
232
234
|
}
|
|
233
235
|
/**
|
|
234
236
|
* Thrown when no compatible versions are found in the response
|
|
237
|
+
*
|
|
238
|
+
* The message lists the versions rather than a span. An appliance can offer a
|
|
239
|
+
* version inside `supportedRange` that this package still ships no types for —
|
|
240
|
+
* v26.0.0, which middleware renumbered to v27.0.0 before release — and telling
|
|
241
|
+
* that caller "supported: v25.10.0 to v28.0.0" would describe their version as
|
|
242
|
+
* qualifying while refusing it.
|
|
235
243
|
*/
|
|
236
244
|
declare class NoCompatibleVersionsError extends VersionDiscoveryError {
|
|
237
245
|
readonly availableVersions: string[];
|
|
246
|
+
/** The span the range checks use. Retained for callers that render it; it is wider than {@link supportedVersions}. */
|
|
238
247
|
readonly supportedRange: {
|
|
239
248
|
min: string;
|
|
240
249
|
max: string;
|
|
241
250
|
};
|
|
242
|
-
|
|
251
|
+
readonly supportedVersions: readonly string[];
|
|
252
|
+
constructor(hostname: string, availableVersions: string[],
|
|
253
|
+
/** The span the range checks use. Retained for callers that render it; it is wider than {@link supportedVersions}. */
|
|
254
|
+
supportedRange?: {
|
|
243
255
|
min: string;
|
|
244
256
|
max: string;
|
|
245
|
-
});
|
|
257
|
+
}, supportedVersions?: readonly string[]);
|
|
246
258
|
}
|
|
247
259
|
/**
|
|
248
260
|
* Thrown when the API response is malformed or invalid
|
|
@@ -281,4 +293,4 @@ declare class AuthError extends Error {
|
|
|
281
293
|
constructor(code: AuthErrorCode, message: string);
|
|
282
294
|
}
|
|
283
295
|
|
|
284
|
-
export { ApiDirectory as ApiDirectoryV25_10_0, ApiDirectory$1 as
|
|
296
|
+
export { ApiDirectory as ApiDirectoryV25_10_0, ApiDirectory$1 as ApiDirectoryV27_0_0, ApiDirectory$2 as ApiDirectoryV28_0_0, ApiVersion, ApplianceProtocol, AuthError, AuthErrorCode, InvalidVersionResponseError, Logger, NoCompatibleVersionsError, OperationMappings, TrueNasApiClient, TrueNasApiClientV2510, TrueNasApiClientV27, TrueNasApiClientV28, VersionDiscovery, VersionDiscoveryError, VersionDiscoveryNetworkError, VersionDiscoveryTimeoutError, VersionEndpointNotFoundError, VersionTooNewError, VersionTooOldError };
|
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 } from './truenas-auth-mechanism.enum-
|
|
2
|
-
export { e as ApiCallDirectoryV25_10_0, f as ApiCallDirectoryV25_10_1, g as ApiCallDirectoryV25_10_2, h as ApiCallDirectoryV25_10_3, i as ApiCallDirectoryV25_10_4, j as ApiCallDirectoryV25_10_5, k as
|
|
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 } from './truenas-auth-mechanism.enum-CW5Wwz1s.js';
|
|
2
|
+
export { e as ApiCallDirectoryV25_10_0, f as ApiCallDirectoryV25_10_1, g as ApiCallDirectoryV25_10_2, h as ApiCallDirectoryV25_10_3, i as ApiCallDirectoryV25_10_4, j as ApiCallDirectoryV25_10_5, k as ApiCallDirectoryV27_0_0, l as ApiCallDirectoryV28_0_0, m as ApiDirectoryByVersion, n as ApiDirectoryShape, o as ApiDirectoryV25_10_1, p as ApiDirectoryV25_10_2, q as ApiDirectoryV25_10_3, r as ApiDirectoryV25_10_4, s as ApiDirectoryV25_10_5, t as ApiError, u as ApiEventDirectoryV25_10_0, v as ApiEventDirectoryV25_10_1, w as ApiEventDirectoryV25_10_2, x as ApiEventDirectoryV25_10_3, y as ApiEventDirectoryV25_10_4, z as ApiEventDirectoryV25_10_5, B as ApiEventDirectoryV27_0_0, C as ApiEventDirectoryV28_0_0, D as ApiJobDirectoryV25_10_0, E as ApiJobDirectoryV25_10_1, F as ApiJobDirectoryV25_10_2, G as ApiJobDirectoryV25_10_3, H as ApiJobDirectoryV25_10_4, I as ApiJobDirectoryV25_10_5, J as ApiJobDirectoryV27_0_0, K as ApiJobDirectoryV28_0_0, M as ApiKeyCreate, N as ApiVersionResponse, P as AppState, Q as ArgsOf, R as AuthResponse, S as AuthResponseType, U as BaseApiDirectory, V as CallMethod, W as CallParams, X as CallResponse, Y as ConnectionClose, Z as ConnectionEndpoint, _ as Container, $ as CreateClientOptions, a0 as DefaultApiDirectory, a1 as EventKind, a2 as EventName, a3 as EventUnion, a4 as Job, a5 as JobMethod, a6 as JobParams, a7 as JobProgress, a8 as JobResult, a9 as JobState, aa as QueryDirectory, ab as QueryEntity, ac as QueryListOptions, ad as QueryMethod, ae as QuerySingleOptions, af as ReconnectOptions, ag as SUPPORTED_API_VERSIONS, ah as SmbStatusInfoLevel, ai as SmbStatusOptions, aj as SmbStatusRequest, ak as SmbStatusResponse, al as SmbStatusRow, am as SupportedApiVersion, an as TrueNasAuthMechanism, ao as TrueNasDate, ap as TrueNasErrorData, aq as TrueNasErrorFrame, ar as UserRole, as as UserRoleName, at as VersionCompatibility, au as consoleLogger, av as createTrueNasClient, aw as getApiErrorMessage, ax as isJobFinished, ay as noopLogger, az as v25_10_0, aA as v25_10_1, aB as v25_10_2, aC as v25_10_3, aD as v25_10_4, aE as v25_10_5, aF as v27_0_0, aG as v28_0_0 } from './truenas-auth-mechanism.enum-CW5Wwz1s.js';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
4
|
import 'rxjs/webSocket';
|
|
5
5
|
|
|
@@ -39,11 +39,12 @@ declare class TrueNasApiClientV2510 extends TrueNasApiClient<ApiDirectory> {
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
/**
|
|
42
|
-
* TrueNAS API Client for
|
|
42
|
+
* TrueNAS API Client for v27.X.Y
|
|
43
43
|
*
|
|
44
|
-
* Handles
|
|
45
|
-
*
|
|
46
|
-
*
|
|
44
|
+
* Handles the v27 series: minor and patch versions are backward compatible, so
|
|
45
|
+
* one implementation covers them. Discovery is stricter — it admits only what
|
|
46
|
+
* `SUPPORTED_API_VERSIONS` names, so a v27 patch reaches this client only once
|
|
47
|
+
* the types are regenerated for it.
|
|
47
48
|
*
|
|
48
49
|
* To add version-specific behavior, override the factory methods:
|
|
49
50
|
* - createConnection() - for connection-specific changes
|
|
@@ -53,7 +54,7 @@ declare class TrueNasApiClientV2510 extends TrueNasApiClient<ApiDirectory> {
|
|
|
53
54
|
*/
|
|
54
55
|
|
|
55
56
|
/**
|
|
56
|
-
* API client for TrueNAS API
|
|
57
|
+
* API client for TrueNAS API v27 (JSON-RPC 2.0 over /api/v27.{minor}.{patch}).
|
|
57
58
|
*
|
|
58
59
|
* - containerQuery → container.query (with response transformation)
|
|
59
60
|
* - containerStart → container.start (synchronous, emits null)
|
|
@@ -62,9 +63,9 @@ declare class TrueNasApiClientV2510 extends TrueNasApiClient<ApiDirectory> {
|
|
|
62
63
|
* - containerDelete → container.delete (a job; force/recursive)
|
|
63
64
|
* - smbStatus → smb.status (public, gated on `SHARING_SMB_READ`)
|
|
64
65
|
*/
|
|
65
|
-
declare class
|
|
66
|
+
declare class TrueNasApiClientV27 extends TrueNasApiClient<ApiDirectory$1> {
|
|
66
67
|
/**
|
|
67
|
-
* Create
|
|
68
|
+
* Create v27-specific operation mappings
|
|
68
69
|
*
|
|
69
70
|
* Operations return Observable<Job | null>:
|
|
70
71
|
* - Async operations emit Job updates until complete
|
|
@@ -74,28 +75,29 @@ declare class TrueNasApiClientV26 extends TrueNasApiClient<ApiDirectory$1> {
|
|
|
74
75
|
}
|
|
75
76
|
|
|
76
77
|
/**
|
|
77
|
-
* TrueNAS API Client for
|
|
78
|
+
* TrueNAS API Client for v28.X.Y
|
|
78
79
|
*
|
|
79
|
-
* Handles the whole
|
|
80
|
+
* Handles the whole v28 series; breaking changes only arrive with v29.
|
|
80
81
|
*
|
|
81
|
-
* Discovery admits less:
|
|
82
|
-
* so
|
|
82
|
+
* Discovery admits less: a version has to be one `SUPPORTED_API_VERSIONS`
|
|
83
|
+
* names, so v28.0.1 and v28.1.0 are reported `Unsupported` and never reach this
|
|
84
|
+
* client until the types are regenerated for them.
|
|
83
85
|
*
|
|
84
86
|
* To add version-specific behavior, override createConnection(), createApi(),
|
|
85
87
|
* createAuthenticator() or createOperations().
|
|
86
88
|
*/
|
|
87
89
|
|
|
88
90
|
/**
|
|
89
|
-
* API client for TrueNAS API
|
|
91
|
+
* API client for TrueNAS API v28 (JSON-RPC 2.0 over /api/v28.{minor}.{patch}).
|
|
90
92
|
*
|
|
91
|
-
* Operations currently match `
|
|
92
|
-
* entry they use. The spec pins the four container entries to
|
|
93
|
+
* Operations currently match `TrueNasApiClientV27`'s because v28 inherits every
|
|
94
|
+
* entry they use. The spec pins the four container entries to v27's;
|
|
93
95
|
* `smb.status` is unpinned, so a widened param or narrowed response would
|
|
94
96
|
* still compile here. Duplicated rather than shared so the series can diverge.
|
|
95
97
|
*/
|
|
96
|
-
declare class
|
|
98
|
+
declare class TrueNasApiClientV28 extends TrueNasApiClient<ApiDirectory$2> {
|
|
97
99
|
/**
|
|
98
|
-
* Create
|
|
100
|
+
* Create v28-specific operation mappings
|
|
99
101
|
*
|
|
100
102
|
* Operations return Observable<Job | null>:
|
|
101
103
|
* - Async operations emit Job updates until complete
|
|
@@ -232,17 +234,27 @@ declare class VersionDiscoveryNetworkError extends VersionDiscoveryError {
|
|
|
232
234
|
}
|
|
233
235
|
/**
|
|
234
236
|
* Thrown when no compatible versions are found in the response
|
|
237
|
+
*
|
|
238
|
+
* The message lists the versions rather than a span. An appliance can offer a
|
|
239
|
+
* version inside `supportedRange` that this package still ships no types for —
|
|
240
|
+
* v26.0.0, which middleware renumbered to v27.0.0 before release — and telling
|
|
241
|
+
* that caller "supported: v25.10.0 to v28.0.0" would describe their version as
|
|
242
|
+
* qualifying while refusing it.
|
|
235
243
|
*/
|
|
236
244
|
declare class NoCompatibleVersionsError extends VersionDiscoveryError {
|
|
237
245
|
readonly availableVersions: string[];
|
|
246
|
+
/** The span the range checks use. Retained for callers that render it; it is wider than {@link supportedVersions}. */
|
|
238
247
|
readonly supportedRange: {
|
|
239
248
|
min: string;
|
|
240
249
|
max: string;
|
|
241
250
|
};
|
|
242
|
-
|
|
251
|
+
readonly supportedVersions: readonly string[];
|
|
252
|
+
constructor(hostname: string, availableVersions: string[],
|
|
253
|
+
/** The span the range checks use. Retained for callers that render it; it is wider than {@link supportedVersions}. */
|
|
254
|
+
supportedRange?: {
|
|
243
255
|
min: string;
|
|
244
256
|
max: string;
|
|
245
|
-
});
|
|
257
|
+
}, supportedVersions?: readonly string[]);
|
|
246
258
|
}
|
|
247
259
|
/**
|
|
248
260
|
* Thrown when the API response is malformed or invalid
|
|
@@ -281,4 +293,4 @@ declare class AuthError extends Error {
|
|
|
281
293
|
constructor(code: AuthErrorCode, message: string);
|
|
282
294
|
}
|
|
283
295
|
|
|
284
|
-
export { ApiDirectory as ApiDirectoryV25_10_0, ApiDirectory$1 as
|
|
296
|
+
export { ApiDirectory as ApiDirectoryV25_10_0, ApiDirectory$1 as ApiDirectoryV27_0_0, ApiDirectory$2 as ApiDirectoryV28_0_0, ApiVersion, ApplianceProtocol, AuthError, AuthErrorCode, InvalidVersionResponseError, Logger, NoCompatibleVersionsError, OperationMappings, TrueNasApiClient, TrueNasApiClientV2510, TrueNasApiClientV27, TrueNasApiClientV28, VersionDiscovery, VersionDiscoveryError, VersionDiscoveryNetworkError, VersionDiscoveryTimeoutError, VersionEndpointNotFoundError, VersionTooNewError, VersionTooOldError };
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { AppState, AuthError, AuthErrorCode, AuthResponseType, InvalidVersionResponseError, JobState, NoCompatibleVersionsError, SUPPORTED_API_VERSIONS, TrueNasApiClient, TrueNasApiClientV2510,
|
|
1
|
+
export { AppState, AuthError, AuthErrorCode, AuthResponseType, InvalidVersionResponseError, JobState, NoCompatibleVersionsError, SUPPORTED_API_VERSIONS, TrueNasApiClient, TrueNasApiClientV2510, TrueNasApiClientV27, TrueNasApiClientV28, 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-LFNAVARU.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 chunkTSO2EHF3_cjs = require('../chunk-TSO2EHF3.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"]);
|
|
20
|
-
var FakeConnection = class extends
|
|
20
|
+
var FakeConnection = class extends chunkTSO2EHF3_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 chunkDIZAGV4B_cjs.TrueNasConnection {
|
|
|
29
29
|
void 0,
|
|
30
30
|
0,
|
|
31
31
|
0,
|
|
32
|
-
|
|
32
|
+
chunkTSO2EHF3_cjs.noopLogger
|
|
33
33
|
);
|
|
34
34
|
this.incoming = new rxjs.Subject();
|
|
35
35
|
this.frames = [];
|
|
@@ -180,10 +180,10 @@ var FakeConnection = class extends chunkDIZAGV4B_cjs.TrueNasConnection {
|
|
|
180
180
|
this.closesSubject.next({
|
|
181
181
|
code,
|
|
182
182
|
reason,
|
|
183
|
-
message:
|
|
183
|
+
message: chunkTSO2EHF3_cjs.getCloseMessage(code, reason),
|
|
184
184
|
hostname: this.endpoint.hostnames[0] ?? "",
|
|
185
185
|
wasOpen: true,
|
|
186
|
-
refused: code ===
|
|
186
|
+
refused: code === chunkTSO2EHF3_cjs.policyViolationCloseCode
|
|
187
187
|
});
|
|
188
188
|
}
|
|
189
189
|
/**
|
|
@@ -212,7 +212,7 @@ var FakeConnection = class extends chunkDIZAGV4B_cjs.TrueNasConnection {
|
|
|
212
212
|
};
|
|
213
213
|
|
|
214
214
|
// src/testing/fake-authenticator.ts
|
|
215
|
-
var FakeAuthenticator = class extends
|
|
215
|
+
var FakeAuthenticator = class extends chunkTSO2EHF3_cjs.TrueNasAuthenticator {
|
|
216
216
|
constructor(fakeConnection, version) {
|
|
217
217
|
super(fakeConnection, version);
|
|
218
218
|
this.fakeConnection = fakeConnection;
|
|
@@ -562,12 +562,12 @@ function withFakeCollaborators(Base, options) {
|
|
|
562
562
|
};
|
|
563
563
|
}
|
|
564
564
|
function createFakeClient(options = {}) {
|
|
565
|
-
const versionString = options.version ??
|
|
566
|
-
const version =
|
|
565
|
+
const versionString = options.version ?? chunkTSO2EHF3_cjs.SUPPORTED_API_VERSIONS[0];
|
|
566
|
+
const version = chunkTSO2EHF3_cjs.parseApiVersion(versionString);
|
|
567
567
|
if (!version) {
|
|
568
568
|
throw new Error(`'${versionString}' is not a version this package parses.`);
|
|
569
569
|
}
|
|
570
|
-
const Base =
|
|
570
|
+
const Base = chunkTSO2EHF3_cjs.clientClassFor(version);
|
|
571
571
|
if (!Base) {
|
|
572
572
|
throw new Error(
|
|
573
573
|
`No client implementation for '${versionString}'. The real factory would have refused it too.`
|
|
@@ -653,8 +653,8 @@ function withSpies(client, spy) {
|
|
|
653
653
|
}
|
|
654
654
|
|
|
655
655
|
// src/testing/fake-api-version.ts
|
|
656
|
-
function fakeApiVersion(version =
|
|
657
|
-
const parsed =
|
|
656
|
+
function fakeApiVersion(version = chunkTSO2EHF3_cjs.SUPPORTED_API_VERSIONS[0], overrides = {}) {
|
|
657
|
+
const parsed = chunkTSO2EHF3_cjs.parseApiVersion(version);
|
|
658
658
|
if (!parsed) {
|
|
659
659
|
throw new Error(
|
|
660
660
|
`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.`
|
|
@@ -723,7 +723,7 @@ function fakeAuthResponse(overrides = {}) {
|
|
|
723
723
|
|
|
724
724
|
Object.defineProperty(exports, "AuthResponseType", {
|
|
725
725
|
enumerable: true,
|
|
726
|
-
get: function () { return
|
|
726
|
+
get: function () { return chunkTSO2EHF3_cjs.AuthResponseType; }
|
|
727
727
|
});
|
|
728
728
|
exports.FakeAuthenticator = FakeAuthenticator;
|
|
729
729
|
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 { aH as TrueNasConnection, aI as TrueNasMessage, aq as TrueNasErrorFrame, aJ as TrueNasAuthenticator, d as ApiVersion, an as TrueNasAuthMechanism, R as AuthResponse, S as AuthResponseType, a4 as Job, a7 as JobProgress, n as ApiDirectoryShape, V as CallMethod, ad as QueryMethod, X as CallResponse, W as CallParams, ab as QueryEntity, a5 as JobMethod, a8 as JobResult, a2 as EventName, a3 as EventUnion, am as SupportedApiVersion, T as TrueNasApiClient, aK as DerivedDirectory, ap as TrueNasErrorData } from '../truenas-auth-mechanism.enum-
|
|
3
|
+
import { aH as TrueNasConnection, aI as TrueNasMessage, aq as TrueNasErrorFrame, aJ as TrueNasAuthenticator, d as ApiVersion, an as TrueNasAuthMechanism, R as AuthResponse, S as AuthResponseType, a4 as Job, a7 as JobProgress, n as ApiDirectoryShape, V as CallMethod, ad as QueryMethod, X as CallResponse, W as CallParams, ab as QueryEntity, a5 as JobMethod, a8 as JobResult, a2 as EventName, a3 as EventUnion, am as SupportedApiVersion, T as TrueNasApiClient, aK as DerivedDirectory, ap as TrueNasErrorData } from '../truenas-auth-mechanism.enum-CW5Wwz1s.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 { aH as TrueNasConnection, aI as TrueNasMessage, aq as TrueNasErrorFrame, aJ as TrueNasAuthenticator, d as ApiVersion, an as TrueNasAuthMechanism, R as AuthResponse, S as AuthResponseType, a4 as Job, a7 as JobProgress, n as ApiDirectoryShape, V as CallMethod, ad as QueryMethod, X as CallResponse, W as CallParams, ab as QueryEntity, a5 as JobMethod, a8 as JobResult, a2 as EventName, a3 as EventUnion, am as SupportedApiVersion, T as TrueNasApiClient, aK as DerivedDirectory, ap as TrueNasErrorData } from '../truenas-auth-mechanism.enum-
|
|
3
|
+
import { aH as TrueNasConnection, aI as TrueNasMessage, aq as TrueNasErrorFrame, aJ as TrueNasAuthenticator, d as ApiVersion, an as TrueNasAuthMechanism, R as AuthResponse, S as AuthResponseType, a4 as Job, a7 as JobProgress, n as ApiDirectoryShape, V as CallMethod, ad as QueryMethod, X as CallResponse, W as CallParams, ab as QueryEntity, a5 as JobMethod, a8 as JobResult, a2 as EventName, a3 as EventUnion, am as SupportedApiVersion, T as TrueNasApiClient, aK as DerivedDirectory, ap as TrueNasErrorData } from '../truenas-auth-mechanism.enum-CW5Wwz1s.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 } from '../chunk-
|
|
2
|
-
export { AuthResponseType } from '../chunk-
|
|
1
|
+
import { SUPPORTED_API_VERSIONS, TrueNasConnection, noopLogger, policyViolationCloseCode, getCloseMessage, TrueNasAuthenticator, parseApiVersion, clientClassFor } from '../chunk-LFNAVARU.js';
|
|
2
|
+
export { AuthResponseType } from '../chunk-LFNAVARU.js';
|
|
3
3
|
import { Subject, distinctUntilChanged, takeUntil, filter, map, Subscription } from 'rxjs';
|
|
4
4
|
|
|
5
5
|
// src/testing/unmocked-call-error.ts
|