@vibexp/api-client 0.93.0 → 0.95.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.
@@ -146,18 +146,28 @@ export type User = {
146
146
  /**
147
147
  * The authenticated user as returned by GET /api/v1/auth/me — the full User
148
148
  * object plus session-relative flags. `is_instance_admin` lets the SPA gate the
149
- * Admin Portal menu and /admin routes; it is UI convenience only, as every
150
- * /api/v1/admin* call is authorized server-side regardless.
149
+ * Admin Portal menu and /admin routes, and `is_root_instance_admin` lets it
150
+ * hide the grant/revoke admin controls; both are UI convenience only, as every
151
+ * /api/v1/admin* call (and every grant or revoke) is authorized server-side
152
+ * regardless.
151
153
  *
152
154
  */
153
155
  export type CurrentUser = User & {
154
156
  /**
155
- * Whether the authenticated user's email is in the configured
156
- * auth.instance_admins list (matched case-insensitively). False when the
157
- * list is empty (feature dormant).
157
+ * Whether the authenticated user is an instance admin: either a root
158
+ * admin (see `is_root_instance_admin`) or a non-suspended user granted
159
+ * instance admin in the database by a root admin.
158
160
  *
159
161
  */
160
162
  is_instance_admin: boolean;
163
+ /**
164
+ * Whether the authenticated user's email is in the configured
165
+ * auth.instance_admins list (matched case-insensitively). Only root
166
+ * admins may grant or revoke other instance admins. UI convenience
167
+ * only; grant/revoke is authorized server-side.
168
+ *
169
+ */
170
+ is_root_instance_admin: boolean;
161
171
  };
162
172
  /**
163
173
  * Response body returned by GET /api/v1/auth/login containing the authorization URL
@@ -6085,7 +6095,9 @@ export type AdminInstanceEmailSettingsRequest = {
6085
6095
  *
6086
6096
  * OMIT it to keep the stored credential, which is allowed only when the
6087
6097
  * provider type is unchanged; a new configuration or a change of provider
6088
- * type must carry its own. An explicitly empty string is rejected.
6098
+ * type must carry its own, except SMTP, where omitting it configures an
6099
+ * unauthenticated relay (no credential is stored and no AUTH is
6100
+ * attempted). An explicitly empty string is rejected.
6089
6101
  *
6090
6102
  */
6091
6103
  secret?: string;
@@ -6132,7 +6144,9 @@ export type AdminInstanceEmailTestRequest = {
6132
6144
  settings?: TeamEmailProviderSettings;
6133
6145
  /**
6134
6146
  * The candidate credential. Omit it to test with the stored credential
6135
- * (same destination only, see above). Never returned.
6147
+ * (same destination only, see above); an SMTP candidate with no
6148
+ * credential to reuse is tested as an unauthenticated relay. Never
6149
+ * returned.
6136
6150
  *
6137
6151
  */
6138
6152
  secret?: string;
package/dist/schema.d.ts CHANGED
@@ -5812,17 +5812,27 @@ export interface components {
5812
5812
  /**
5813
5813
  * @description The authenticated user as returned by GET /api/v1/auth/me — the full User
5814
5814
  * object plus session-relative flags. `is_instance_admin` lets the SPA gate the
5815
- * Admin Portal menu and /admin routes; it is UI convenience only, as every
5816
- * /api/v1/admin/* call is authorized server-side regardless.
5815
+ * Admin Portal menu and /admin routes, and `is_root_instance_admin` lets it
5816
+ * hide the grant/revoke admin controls; both are UI convenience only, as every
5817
+ * /api/v1/admin/* call (and every grant or revoke) is authorized server-side
5818
+ * regardless.
5817
5819
  */
5818
5820
  CurrentUser: components["schemas"]["User"] & {
5819
5821
  /**
5820
- * @description Whether the authenticated user's email is in the configured
5821
- * auth.instance_admins list (matched case-insensitively). False when the
5822
- * list is empty (feature dormant).
5822
+ * @description Whether the authenticated user is an instance admin: either a root
5823
+ * admin (see `is_root_instance_admin`) or a non-suspended user granted
5824
+ * instance admin in the database by a root admin.
5823
5825
  * @example false
5824
5826
  */
5825
5827
  is_instance_admin: boolean;
5828
+ /**
5829
+ * @description Whether the authenticated user's email is in the configured
5830
+ * auth.instance_admins list (matched case-insensitively). Only root
5831
+ * admins may grant or revoke other instance admins. UI convenience
5832
+ * only; grant/revoke is authorized server-side.
5833
+ * @example false
5834
+ */
5835
+ is_root_instance_admin: boolean;
5826
5836
  };
5827
5837
  /** @description Response body returned by GET /api/v1/auth/login containing the authorization URL */
5828
5838
  LoginResponse: {
@@ -12741,7 +12751,9 @@ export interface components {
12741
12751
  *
12742
12752
  * OMIT it to keep the stored credential, which is allowed only when the
12743
12753
  * provider type is unchanged; a new configuration or a change of provider
12744
- * type must carry its own. An explicitly empty string is rejected.
12754
+ * type must carry its own, except SMTP, where omitting it configures an
12755
+ * unauthenticated relay (no credential is stored and no AUTH is
12756
+ * attempted). An explicitly empty string is rejected.
12745
12757
  * @example key-abc123
12746
12758
  */
12747
12759
  secret?: string;
@@ -12793,7 +12805,9 @@ export interface components {
12793
12805
  settings?: components["schemas"]["TeamEmailProviderSettings"];
12794
12806
  /**
12795
12807
  * @description The candidate credential. Omit it to test with the stored credential
12796
- * (same destination only, see above). Never returned.
12808
+ * (same destination only, see above); an SMTP candidate with no
12809
+ * credential to reuse is tested as an unauthenticated relay. Never
12810
+ * returned.
12797
12811
  * @example key-abc123
12798
12812
  */
12799
12813
  secret?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibexp/api-client",
3
- "version": "0.93.0",
3
+ "version": "0.95.0",
4
4
  "description": "Typed VibeXP API client generated from the OpenAPI spec (openapi-fetch main entrypoint, axios SDK at ./axios)",
5
5
  "license": "MIT",
6
6
  "repository": {