@truenas/api-client 3.0.5 → 3.0.7

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/dist/index.d.cts CHANGED
@@ -12476,6 +12476,14 @@ interface ActiveConnection {
12476
12476
  }
12477
12477
  interface ConnectionError extends Error {
12478
12478
  hostname?: string;
12479
+ /** The WebSocket close code, when the failure came from a close rather than a timeout. */
12480
+ closeCode?: number;
12481
+ /**
12482
+ * The server's own reason text, verbatim. `message` is this client's rendering
12483
+ * of the code and loses what the appliance actually said — for a policy close
12484
+ * that is the difference between "policy violation" and which policy.
12485
+ */
12486
+ closeReason?: string;
12479
12487
  }
12480
12488
  type Connection = ActiveConnection & {
12481
12489
  state: 'active';
@@ -12568,6 +12576,11 @@ declare class TrueNasConnection {
12568
12576
  /**
12569
12577
  * enables or disables the connection gate. the app calls this when its `SystemState`
12570
12578
  * changes (mapping `SystemState.Active -> true`, everything else -> `false`).
12579
+ *
12580
+ * This is also how a caller asks for another attempt after the appliance has
12581
+ * refused the client — nothing reconnects on its own from there. The gate is
12582
+ * `distinctUntilChanged`, so re-asserting `true` while it is already `true`
12583
+ * does nothing: the round trip through `false` is what asks again.
12571
12584
  */
12572
12585
  setEnabled(enabled: boolean): void;
12573
12586
  /**
@@ -12851,6 +12864,20 @@ interface ApiKeyCreate {
12851
12864
  declare enum UserRole {
12852
12865
  FullAdmin = "FULL_ADMIN"
12853
12866
  }
12867
+ /**
12868
+ * A role as middleware reports it.
12869
+ *
12870
+ * `UserRole` names only the role this client itself had a use for. Middleware
12871
+ * defines many more — `SHARING_ADMIN`, `READONLY_ADMIN` and so on — and this
12872
+ * client does not enumerate them, because it no longer makes any decision from
12873
+ * a role and would only be maintaining a second copy of someone else's list.
12874
+ *
12875
+ * Widened to `string` so a consumer can compare against the roles it cares
12876
+ * about without a cast, while `UserRole` still autocompletes. Consumers are
12877
+ * where role policy lives now, so the type they are handed has to admit the
12878
+ * roles they will actually test for.
12879
+ */
12880
+ type UserRoleName = UserRole | (string & {});
12854
12881
 
12855
12882
  interface UserPreferences {
12856
12883
  language: string;
@@ -12896,7 +12923,7 @@ interface AuthResponse {
12896
12923
  groups: number[];
12897
12924
  privilege: {
12898
12925
  roles: {
12899
- $set: UserRole[];
12926
+ $set: UserRoleName[];
12900
12927
  };
12901
12928
  };
12902
12929
  two_factor_auth_configured: boolean;
@@ -12935,6 +12962,13 @@ interface AuthResponse {
12935
12962
  * TrueNAS authenticator using the JSON-RPC 2.0 protocol.
12936
12963
  *
12937
12964
  * It handles authentication using the JSON-RPC 2.0 message format.
12965
+ *
12966
+ * Authentication only: any credential middleware accepts logs in here, whatever
12967
+ * roles it carries. No path checks privilege, and that is the design — the
12968
+ * appliance authorizes every privileged call on its own, and which roles a given
12969
+ * product requires is that product's policy, not this client's. Consumers who
12970
+ * need one read `user_info.privilege.roles` off the response and enforce it
12971
+ * themselves; embedding a rule here would impose it on every consumer at once.
12938
12972
  */
12939
12973
  declare class TrueNasAuthenticator {
12940
12974
  private connection;
@@ -12958,6 +12992,38 @@ declare class TrueNasAuthenticator {
12958
12992
  key: string;
12959
12993
  };
12960
12994
  sessionLifetime: number;
12995
+ /**
12996
+ * Claimed by each login when it sends and checked when its answer lands: a
12997
+ * difference means another login or a logout was issued in between, so this
12998
+ * answer is stale and must not write session state. Responses on one socket
12999
+ * are not ordered, which is why arrival is not enough to make an answer
13000
+ * current.
13001
+ *
13002
+ * `logout()` bumps it without claiming one. It has no answer to guard —
13003
+ * it settles its own state at the call — and bumping is what invalidates the
13004
+ * logins already on the wire that a logout is meant to override.
13005
+ */
13006
+ private authEpoch;
13007
+ /**
13008
+ * Caller-issued logins still awaiting an answer, keyed by the epoch each
13009
+ * claimed. The value is whether its frame has been written to a socket yet.
13010
+ *
13011
+ * The auto-relogin below defers while any entry exists. It is this class
13012
+ * retrying a cached credential, not a request anyone made, so it must never
13013
+ * outrank an explicit login — and it would: `TrueNasConnection.send` holds a
13014
+ * frame through an outage rather than dropping it, so a login submitted while
13015
+ * the socket is down is still pending when `opened` fires, and a relogin
13016
+ * claiming the newer epoch has that login answered `LoginSuperseded` while the
13017
+ * client authenticates as the previously cached account.
13018
+ *
13019
+ * Keyed rather than counted, because a count cannot say *which* login a
13020
+ * removal belongs to: a login torn down by its caller would retire a slot
13021
+ * belonging to a different login that is still waiting, and the retry would
13022
+ * overtake it again. Identity also makes a double-subscribed login harmless.
13023
+ */
13024
+ private liveCallerLogins;
13025
+ /** True only while the constructor's relogin is being constructed. */
13026
+ private reloginInProgress;
12961
13027
  constructor(connection: TrueNasConnection, version?: ApiVersion | undefined);
12962
13028
  /**
12963
13029
  * `login_options` asking for a reconnect token, when the server understands it.
@@ -12979,6 +13045,14 @@ declare class TrueNasAuthenticator {
12979
13045
  * reconnect case the feature is named for.
12980
13046
  */
12981
13047
  private reconnectTokenOption;
13048
+ /**
13049
+ * Throws when another login or a logout was issued after this one was sent,
13050
+ * so a stale answer cannot be reported to its caller as a successful login.
13051
+ */
13052
+ private assertNotSuperseded;
13053
+ /** Claim the next epoch for a login, and record it if a caller asked for it. */
13054
+ private beginLogin;
13055
+ private endLogin;
12982
13056
  loginWithUserPass(username: string, password: string): rxjs.Observable<AuthResponse>;
12983
13057
  loginWithOtp(code: string): rxjs.Observable<AuthResponse>;
12984
13058
  /**
@@ -28108,6 +28182,18 @@ declare enum AuthErrorCode {
28108
28182
  OtpAuthFailed = "OTP_AUTH_FAILED",
28109
28183
  ApiKeyAuthFailed = "API_KEY_AUTH_FAILED",
28110
28184
  TokenAuthFailed = "TOKEN_AUTH_FAILED",
28185
+ /**
28186
+ * A login was overtaken by a logout, or by a later login, while its response
28187
+ * was in flight. The server may well have accepted it; this client discarded
28188
+ * the result rather than authenticate a session the caller had moved on from.
28189
+ */
28190
+ LoginSuperseded = "LOGIN_SUPERSEDED",
28191
+ /**
28192
+ * @deprecated Nothing throws this. The authenticator no longer refuses a
28193
+ * login for want of a role — see `TrueNasAuthenticator`. Kept so consumers
28194
+ * still narrowing on the code keep compiling; removing it would be a breaking
28195
+ * change for a member that can no longer occur.
28196
+ */
28111
28197
  FullAdminRequired = "FULL_ADMIN_REQUIRED"
28112
28198
  }
28113
28199
  declare class AuthError extends Error {
@@ -28168,4 +28254,4 @@ type ApiError = JsonRpcError | TrueNasError;
28168
28254
  */
28169
28255
  declare function getApiErrorMessage(error: unknown, fallback?: string): string;
28170
28256
 
28171
- export { type ApiCallDirectory$7 as ApiCallDirectoryV25_10_0, type ApiCallDirectory$6 as ApiCallDirectoryV25_10_1, type ApiCallDirectory$5 as ApiCallDirectoryV25_10_2, type ApiCallDirectory$4 as ApiCallDirectoryV25_10_3, type ApiCallDirectory$3 as ApiCallDirectoryV25_10_4, type ApiCallDirectory$2 as ApiCallDirectoryV25_10_5, type ApiCallDirectory$1 as ApiCallDirectoryV26_0_0, type ApiCallDirectory as ApiCallDirectoryV27_0_0, type ApiDirectoryByVersion, type ApiDirectoryShape, type ApiDirectory$7 as ApiDirectoryV25_10_0, type ApiDirectory$6 as ApiDirectoryV25_10_1, type ApiDirectory$5 as ApiDirectoryV25_10_2, type ApiDirectory$4 as ApiDirectoryV25_10_3, type ApiDirectory$3 as ApiDirectoryV25_10_4, type ApiDirectory$2 as ApiDirectoryV25_10_5, type ApiDirectory$1 as ApiDirectoryV26_0_0, type ApiDirectory as ApiDirectoryV27_0_0, type ApiError, type ApiEventDirectory$7 as ApiEventDirectoryV25_10_0, type ApiEventDirectory$6 as ApiEventDirectoryV25_10_1, type ApiEventDirectory$5 as ApiEventDirectoryV25_10_2, type ApiEventDirectory$4 as ApiEventDirectoryV25_10_3, type ApiEventDirectory$3 as ApiEventDirectoryV25_10_4, type ApiEventDirectory$2 as ApiEventDirectoryV25_10_5, type ApiEventDirectory$1 as ApiEventDirectoryV26_0_0, type ApiEventDirectory as ApiEventDirectoryV27_0_0, type ApiJobDirectory$7 as ApiJobDirectoryV25_10_0, type ApiJobDirectory$6 as ApiJobDirectoryV25_10_1, type ApiJobDirectory$5 as ApiJobDirectoryV25_10_2, type ApiJobDirectory$4 as ApiJobDirectoryV25_10_3, type ApiJobDirectory$3 as ApiJobDirectoryV25_10_4, type ApiJobDirectory$2 as ApiJobDirectoryV25_10_5, type ApiJobDirectory$1 as ApiJobDirectoryV26_0_0, type ApiJobDirectory as ApiJobDirectoryV27_0_0, type ApiKeyCreate, type ApiVersion, type ApiVersionResponse, AppState, type ApplianceProtocol, type ArgsOf, AuthError, AuthErrorCode, type AuthResponse, type BaseApiDirectory, type CallMethod, type CallParams, type CallResponse, type Container, type CreateClientOptions, type DefaultApiDirectory, type EventKind, type EventName, type EventUnion, InvalidVersionResponseError, type Job, type JobMethod, type JobParams, type JobProgress, type JobResult, JobState, type Logger, NoCompatibleVersionsError, type OperationMappings, type QueryDirectory, type QueryEntity, type QueryListOptions, type QueryMethod, type QuerySingleOptions, SUPPORTED_API_VERSIONS, type SupportedApiVersion, TrueNasApiClient, TrueNasApiClientV2510, TrueNasApiClientV26, TrueNasApiClientV27, TrueNasAuthMechanism, type TrueNasDate, VersionCompatibility, VersionDiscovery, VersionDiscoveryError, VersionDiscoveryNetworkError, VersionDiscoveryTimeoutError, VersionEndpointNotFoundError, VersionTooNewError, VersionTooOldError, consoleLogger, createTrueNasClient, getApiErrorMessage, isJobFinished, noopLogger, index$7 as v25_10_0, index$6 as v25_10_1, index$5 as v25_10_2, index$4 as v25_10_3, index$3 as v25_10_4, index$2 as v25_10_5, index$1 as v26_0_0, index as v27_0_0 };
28257
+ export { type ApiCallDirectory$7 as ApiCallDirectoryV25_10_0, type ApiCallDirectory$6 as ApiCallDirectoryV25_10_1, type ApiCallDirectory$5 as ApiCallDirectoryV25_10_2, type ApiCallDirectory$4 as ApiCallDirectoryV25_10_3, type ApiCallDirectory$3 as ApiCallDirectoryV25_10_4, type ApiCallDirectory$2 as ApiCallDirectoryV25_10_5, type ApiCallDirectory$1 as ApiCallDirectoryV26_0_0, type ApiCallDirectory as ApiCallDirectoryV27_0_0, type ApiDirectoryByVersion, type ApiDirectoryShape, type ApiDirectory$7 as ApiDirectoryV25_10_0, type ApiDirectory$6 as ApiDirectoryV25_10_1, type ApiDirectory$5 as ApiDirectoryV25_10_2, type ApiDirectory$4 as ApiDirectoryV25_10_3, type ApiDirectory$3 as ApiDirectoryV25_10_4, type ApiDirectory$2 as ApiDirectoryV25_10_5, type ApiDirectory$1 as ApiDirectoryV26_0_0, type ApiDirectory as ApiDirectoryV27_0_0, type ApiError, type ApiEventDirectory$7 as ApiEventDirectoryV25_10_0, type ApiEventDirectory$6 as ApiEventDirectoryV25_10_1, type ApiEventDirectory$5 as ApiEventDirectoryV25_10_2, type ApiEventDirectory$4 as ApiEventDirectoryV25_10_3, type ApiEventDirectory$3 as ApiEventDirectoryV25_10_4, type ApiEventDirectory$2 as ApiEventDirectoryV25_10_5, type ApiEventDirectory$1 as ApiEventDirectoryV26_0_0, type ApiEventDirectory as ApiEventDirectoryV27_0_0, type ApiJobDirectory$7 as ApiJobDirectoryV25_10_0, type ApiJobDirectory$6 as ApiJobDirectoryV25_10_1, type ApiJobDirectory$5 as ApiJobDirectoryV25_10_2, type ApiJobDirectory$4 as ApiJobDirectoryV25_10_3, type ApiJobDirectory$3 as ApiJobDirectoryV25_10_4, type ApiJobDirectory$2 as ApiJobDirectoryV25_10_5, type ApiJobDirectory$1 as ApiJobDirectoryV26_0_0, type ApiJobDirectory as ApiJobDirectoryV27_0_0, type ApiKeyCreate, type ApiVersion, type ApiVersionResponse, AppState, type ApplianceProtocol, type ArgsOf, AuthError, AuthErrorCode, type AuthResponse, type BaseApiDirectory, type CallMethod, type CallParams, type CallResponse, type Container, type CreateClientOptions, type DefaultApiDirectory, type EventKind, type EventName, type EventUnion, InvalidVersionResponseError, type Job, type JobMethod, type JobParams, type JobProgress, type JobResult, JobState, type Logger, NoCompatibleVersionsError, type OperationMappings, type QueryDirectory, type QueryEntity, type QueryListOptions, type QueryMethod, type QuerySingleOptions, SUPPORTED_API_VERSIONS, type SupportedApiVersion, TrueNasApiClient, TrueNasApiClientV2510, TrueNasApiClientV26, TrueNasApiClientV27, TrueNasAuthMechanism, type TrueNasDate, UserRole, type UserRoleName, VersionCompatibility, VersionDiscovery, VersionDiscoveryError, VersionDiscoveryNetworkError, VersionDiscoveryTimeoutError, VersionEndpointNotFoundError, VersionTooNewError, VersionTooOldError, consoleLogger, createTrueNasClient, getApiErrorMessage, isJobFinished, noopLogger, index$7 as v25_10_0, index$6 as v25_10_1, index$5 as v25_10_2, index$4 as v25_10_3, index$3 as v25_10_4, index$2 as v25_10_5, index$1 as v26_0_0, index as v27_0_0 };
package/dist/index.d.ts CHANGED
@@ -12476,6 +12476,14 @@ interface ActiveConnection {
12476
12476
  }
12477
12477
  interface ConnectionError extends Error {
12478
12478
  hostname?: string;
12479
+ /** The WebSocket close code, when the failure came from a close rather than a timeout. */
12480
+ closeCode?: number;
12481
+ /**
12482
+ * The server's own reason text, verbatim. `message` is this client's rendering
12483
+ * of the code and loses what the appliance actually said — for a policy close
12484
+ * that is the difference between "policy violation" and which policy.
12485
+ */
12486
+ closeReason?: string;
12479
12487
  }
12480
12488
  type Connection = ActiveConnection & {
12481
12489
  state: 'active';
@@ -12568,6 +12576,11 @@ declare class TrueNasConnection {
12568
12576
  /**
12569
12577
  * enables or disables the connection gate. the app calls this when its `SystemState`
12570
12578
  * changes (mapping `SystemState.Active -> true`, everything else -> `false`).
12579
+ *
12580
+ * This is also how a caller asks for another attempt after the appliance has
12581
+ * refused the client — nothing reconnects on its own from there. The gate is
12582
+ * `distinctUntilChanged`, so re-asserting `true` while it is already `true`
12583
+ * does nothing: the round trip through `false` is what asks again.
12571
12584
  */
12572
12585
  setEnabled(enabled: boolean): void;
12573
12586
  /**
@@ -12851,6 +12864,20 @@ interface ApiKeyCreate {
12851
12864
  declare enum UserRole {
12852
12865
  FullAdmin = "FULL_ADMIN"
12853
12866
  }
12867
+ /**
12868
+ * A role as middleware reports it.
12869
+ *
12870
+ * `UserRole` names only the role this client itself had a use for. Middleware
12871
+ * defines many more — `SHARING_ADMIN`, `READONLY_ADMIN` and so on — and this
12872
+ * client does not enumerate them, because it no longer makes any decision from
12873
+ * a role and would only be maintaining a second copy of someone else's list.
12874
+ *
12875
+ * Widened to `string` so a consumer can compare against the roles it cares
12876
+ * about without a cast, while `UserRole` still autocompletes. Consumers are
12877
+ * where role policy lives now, so the type they are handed has to admit the
12878
+ * roles they will actually test for.
12879
+ */
12880
+ type UserRoleName = UserRole | (string & {});
12854
12881
 
12855
12882
  interface UserPreferences {
12856
12883
  language: string;
@@ -12896,7 +12923,7 @@ interface AuthResponse {
12896
12923
  groups: number[];
12897
12924
  privilege: {
12898
12925
  roles: {
12899
- $set: UserRole[];
12926
+ $set: UserRoleName[];
12900
12927
  };
12901
12928
  };
12902
12929
  two_factor_auth_configured: boolean;
@@ -12935,6 +12962,13 @@ interface AuthResponse {
12935
12962
  * TrueNAS authenticator using the JSON-RPC 2.0 protocol.
12936
12963
  *
12937
12964
  * It handles authentication using the JSON-RPC 2.0 message format.
12965
+ *
12966
+ * Authentication only: any credential middleware accepts logs in here, whatever
12967
+ * roles it carries. No path checks privilege, and that is the design — the
12968
+ * appliance authorizes every privileged call on its own, and which roles a given
12969
+ * product requires is that product's policy, not this client's. Consumers who
12970
+ * need one read `user_info.privilege.roles` off the response and enforce it
12971
+ * themselves; embedding a rule here would impose it on every consumer at once.
12938
12972
  */
12939
12973
  declare class TrueNasAuthenticator {
12940
12974
  private connection;
@@ -12958,6 +12992,38 @@ declare class TrueNasAuthenticator {
12958
12992
  key: string;
12959
12993
  };
12960
12994
  sessionLifetime: number;
12995
+ /**
12996
+ * Claimed by each login when it sends and checked when its answer lands: a
12997
+ * difference means another login or a logout was issued in between, so this
12998
+ * answer is stale and must not write session state. Responses on one socket
12999
+ * are not ordered, which is why arrival is not enough to make an answer
13000
+ * current.
13001
+ *
13002
+ * `logout()` bumps it without claiming one. It has no answer to guard —
13003
+ * it settles its own state at the call — and bumping is what invalidates the
13004
+ * logins already on the wire that a logout is meant to override.
13005
+ */
13006
+ private authEpoch;
13007
+ /**
13008
+ * Caller-issued logins still awaiting an answer, keyed by the epoch each
13009
+ * claimed. The value is whether its frame has been written to a socket yet.
13010
+ *
13011
+ * The auto-relogin below defers while any entry exists. It is this class
13012
+ * retrying a cached credential, not a request anyone made, so it must never
13013
+ * outrank an explicit login — and it would: `TrueNasConnection.send` holds a
13014
+ * frame through an outage rather than dropping it, so a login submitted while
13015
+ * the socket is down is still pending when `opened` fires, and a relogin
13016
+ * claiming the newer epoch has that login answered `LoginSuperseded` while the
13017
+ * client authenticates as the previously cached account.
13018
+ *
13019
+ * Keyed rather than counted, because a count cannot say *which* login a
13020
+ * removal belongs to: a login torn down by its caller would retire a slot
13021
+ * belonging to a different login that is still waiting, and the retry would
13022
+ * overtake it again. Identity also makes a double-subscribed login harmless.
13023
+ */
13024
+ private liveCallerLogins;
13025
+ /** True only while the constructor's relogin is being constructed. */
13026
+ private reloginInProgress;
12961
13027
  constructor(connection: TrueNasConnection, version?: ApiVersion | undefined);
12962
13028
  /**
12963
13029
  * `login_options` asking for a reconnect token, when the server understands it.
@@ -12979,6 +13045,14 @@ declare class TrueNasAuthenticator {
12979
13045
  * reconnect case the feature is named for.
12980
13046
  */
12981
13047
  private reconnectTokenOption;
13048
+ /**
13049
+ * Throws when another login or a logout was issued after this one was sent,
13050
+ * so a stale answer cannot be reported to its caller as a successful login.
13051
+ */
13052
+ private assertNotSuperseded;
13053
+ /** Claim the next epoch for a login, and record it if a caller asked for it. */
13054
+ private beginLogin;
13055
+ private endLogin;
12982
13056
  loginWithUserPass(username: string, password: string): rxjs.Observable<AuthResponse>;
12983
13057
  loginWithOtp(code: string): rxjs.Observable<AuthResponse>;
12984
13058
  /**
@@ -28108,6 +28182,18 @@ declare enum AuthErrorCode {
28108
28182
  OtpAuthFailed = "OTP_AUTH_FAILED",
28109
28183
  ApiKeyAuthFailed = "API_KEY_AUTH_FAILED",
28110
28184
  TokenAuthFailed = "TOKEN_AUTH_FAILED",
28185
+ /**
28186
+ * A login was overtaken by a logout, or by a later login, while its response
28187
+ * was in flight. The server may well have accepted it; this client discarded
28188
+ * the result rather than authenticate a session the caller had moved on from.
28189
+ */
28190
+ LoginSuperseded = "LOGIN_SUPERSEDED",
28191
+ /**
28192
+ * @deprecated Nothing throws this. The authenticator no longer refuses a
28193
+ * login for want of a role — see `TrueNasAuthenticator`. Kept so consumers
28194
+ * still narrowing on the code keep compiling; removing it would be a breaking
28195
+ * change for a member that can no longer occur.
28196
+ */
28111
28197
  FullAdminRequired = "FULL_ADMIN_REQUIRED"
28112
28198
  }
28113
28199
  declare class AuthError extends Error {
@@ -28168,4 +28254,4 @@ type ApiError = JsonRpcError | TrueNasError;
28168
28254
  */
28169
28255
  declare function getApiErrorMessage(error: unknown, fallback?: string): string;
28170
28256
 
28171
- export { type ApiCallDirectory$7 as ApiCallDirectoryV25_10_0, type ApiCallDirectory$6 as ApiCallDirectoryV25_10_1, type ApiCallDirectory$5 as ApiCallDirectoryV25_10_2, type ApiCallDirectory$4 as ApiCallDirectoryV25_10_3, type ApiCallDirectory$3 as ApiCallDirectoryV25_10_4, type ApiCallDirectory$2 as ApiCallDirectoryV25_10_5, type ApiCallDirectory$1 as ApiCallDirectoryV26_0_0, type ApiCallDirectory as ApiCallDirectoryV27_0_0, type ApiDirectoryByVersion, type ApiDirectoryShape, type ApiDirectory$7 as ApiDirectoryV25_10_0, type ApiDirectory$6 as ApiDirectoryV25_10_1, type ApiDirectory$5 as ApiDirectoryV25_10_2, type ApiDirectory$4 as ApiDirectoryV25_10_3, type ApiDirectory$3 as ApiDirectoryV25_10_4, type ApiDirectory$2 as ApiDirectoryV25_10_5, type ApiDirectory$1 as ApiDirectoryV26_0_0, type ApiDirectory as ApiDirectoryV27_0_0, type ApiError, type ApiEventDirectory$7 as ApiEventDirectoryV25_10_0, type ApiEventDirectory$6 as ApiEventDirectoryV25_10_1, type ApiEventDirectory$5 as ApiEventDirectoryV25_10_2, type ApiEventDirectory$4 as ApiEventDirectoryV25_10_3, type ApiEventDirectory$3 as ApiEventDirectoryV25_10_4, type ApiEventDirectory$2 as ApiEventDirectoryV25_10_5, type ApiEventDirectory$1 as ApiEventDirectoryV26_0_0, type ApiEventDirectory as ApiEventDirectoryV27_0_0, type ApiJobDirectory$7 as ApiJobDirectoryV25_10_0, type ApiJobDirectory$6 as ApiJobDirectoryV25_10_1, type ApiJobDirectory$5 as ApiJobDirectoryV25_10_2, type ApiJobDirectory$4 as ApiJobDirectoryV25_10_3, type ApiJobDirectory$3 as ApiJobDirectoryV25_10_4, type ApiJobDirectory$2 as ApiJobDirectoryV25_10_5, type ApiJobDirectory$1 as ApiJobDirectoryV26_0_0, type ApiJobDirectory as ApiJobDirectoryV27_0_0, type ApiKeyCreate, type ApiVersion, type ApiVersionResponse, AppState, type ApplianceProtocol, type ArgsOf, AuthError, AuthErrorCode, type AuthResponse, type BaseApiDirectory, type CallMethod, type CallParams, type CallResponse, type Container, type CreateClientOptions, type DefaultApiDirectory, type EventKind, type EventName, type EventUnion, InvalidVersionResponseError, type Job, type JobMethod, type JobParams, type JobProgress, type JobResult, JobState, type Logger, NoCompatibleVersionsError, type OperationMappings, type QueryDirectory, type QueryEntity, type QueryListOptions, type QueryMethod, type QuerySingleOptions, SUPPORTED_API_VERSIONS, type SupportedApiVersion, TrueNasApiClient, TrueNasApiClientV2510, TrueNasApiClientV26, TrueNasApiClientV27, TrueNasAuthMechanism, type TrueNasDate, VersionCompatibility, VersionDiscovery, VersionDiscoveryError, VersionDiscoveryNetworkError, VersionDiscoveryTimeoutError, VersionEndpointNotFoundError, VersionTooNewError, VersionTooOldError, consoleLogger, createTrueNasClient, getApiErrorMessage, isJobFinished, noopLogger, index$7 as v25_10_0, index$6 as v25_10_1, index$5 as v25_10_2, index$4 as v25_10_3, index$3 as v25_10_4, index$2 as v25_10_5, index$1 as v26_0_0, index as v27_0_0 };
28257
+ export { type ApiCallDirectory$7 as ApiCallDirectoryV25_10_0, type ApiCallDirectory$6 as ApiCallDirectoryV25_10_1, type ApiCallDirectory$5 as ApiCallDirectoryV25_10_2, type ApiCallDirectory$4 as ApiCallDirectoryV25_10_3, type ApiCallDirectory$3 as ApiCallDirectoryV25_10_4, type ApiCallDirectory$2 as ApiCallDirectoryV25_10_5, type ApiCallDirectory$1 as ApiCallDirectoryV26_0_0, type ApiCallDirectory as ApiCallDirectoryV27_0_0, type ApiDirectoryByVersion, type ApiDirectoryShape, type ApiDirectory$7 as ApiDirectoryV25_10_0, type ApiDirectory$6 as ApiDirectoryV25_10_1, type ApiDirectory$5 as ApiDirectoryV25_10_2, type ApiDirectory$4 as ApiDirectoryV25_10_3, type ApiDirectory$3 as ApiDirectoryV25_10_4, type ApiDirectory$2 as ApiDirectoryV25_10_5, type ApiDirectory$1 as ApiDirectoryV26_0_0, type ApiDirectory as ApiDirectoryV27_0_0, type ApiError, type ApiEventDirectory$7 as ApiEventDirectoryV25_10_0, type ApiEventDirectory$6 as ApiEventDirectoryV25_10_1, type ApiEventDirectory$5 as ApiEventDirectoryV25_10_2, type ApiEventDirectory$4 as ApiEventDirectoryV25_10_3, type ApiEventDirectory$3 as ApiEventDirectoryV25_10_4, type ApiEventDirectory$2 as ApiEventDirectoryV25_10_5, type ApiEventDirectory$1 as ApiEventDirectoryV26_0_0, type ApiEventDirectory as ApiEventDirectoryV27_0_0, type ApiJobDirectory$7 as ApiJobDirectoryV25_10_0, type ApiJobDirectory$6 as ApiJobDirectoryV25_10_1, type ApiJobDirectory$5 as ApiJobDirectoryV25_10_2, type ApiJobDirectory$4 as ApiJobDirectoryV25_10_3, type ApiJobDirectory$3 as ApiJobDirectoryV25_10_4, type ApiJobDirectory$2 as ApiJobDirectoryV25_10_5, type ApiJobDirectory$1 as ApiJobDirectoryV26_0_0, type ApiJobDirectory as ApiJobDirectoryV27_0_0, type ApiKeyCreate, type ApiVersion, type ApiVersionResponse, AppState, type ApplianceProtocol, type ArgsOf, AuthError, AuthErrorCode, type AuthResponse, type BaseApiDirectory, type CallMethod, type CallParams, type CallResponse, type Container, type CreateClientOptions, type DefaultApiDirectory, type EventKind, type EventName, type EventUnion, InvalidVersionResponseError, type Job, type JobMethod, type JobParams, type JobProgress, type JobResult, JobState, type Logger, NoCompatibleVersionsError, type OperationMappings, type QueryDirectory, type QueryEntity, type QueryListOptions, type QueryMethod, type QuerySingleOptions, SUPPORTED_API_VERSIONS, type SupportedApiVersion, TrueNasApiClient, TrueNasApiClientV2510, TrueNasApiClientV26, TrueNasApiClientV27, TrueNasAuthMechanism, type TrueNasDate, UserRole, type UserRoleName, VersionCompatibility, VersionDiscovery, VersionDiscoveryError, VersionDiscoveryNetworkError, VersionDiscoveryTimeoutError, VersionEndpointNotFoundError, VersionTooNewError, VersionTooOldError, consoleLogger, createTrueNasClient, getApiErrorMessage, isJobFinished, noopLogger, index$7 as v25_10_0, index$6 as v25_10_1, index$5 as v25_10_2, index$4 as v25_10_3, index$3 as v25_10_4, index$2 as v25_10_5, index$1 as v26_0_0, index as v27_0_0 };