brix-runtime-sdk-api-web 1.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/dist/index.js +190 -0
- package/dist/types/api-exports.test.d.ts +33 -0
- package/dist/types/api-exports.test.d.ts.map +1 -0
- package/dist/types/context/RuntimeContext.d.ts +69 -0
- package/dist/types/context/RuntimeContext.d.ts.map +1 -0
- package/dist/types/context/index.d.ts +23 -0
- package/dist/types/context/index.d.ts.map +1 -0
- package/dist/types/index.d.ts +52 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/types/auth.d.ts +405 -0
- package/dist/types/types/auth.d.ts.map +1 -0
- package/dist/types/types/capability.d.ts +218 -0
- package/dist/types/types/capability.d.ts.map +1 -0
- package/dist/types/types/common.d.ts +99 -0
- package/dist/types/types/common.d.ts.map +1 -0
- package/dist/types/types/config.d.ts +85 -0
- package/dist/types/types/config.d.ts.map +1 -0
- package/dist/types/types/event.d.ts +658 -0
- package/dist/types/types/event.d.ts.map +1 -0
- package/dist/types/types/http.d.ts +132 -0
- package/dist/types/types/http.d.ts.map +1 -0
- package/dist/types/types/i18n.d.ts +327 -0
- package/dist/types/types/i18n.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +61 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/types/layout.d.ts +301 -0
- package/dist/types/types/layout.d.ts.map +1 -0
- package/dist/types/types/module.d.ts +78 -0
- package/dist/types/types/module.d.ts.map +1 -0
- package/dist/types/types/navigation.d.ts +295 -0
- package/dist/types/types/navigation.d.ts.map +1 -0
- package/dist/types/types/plugin-loader-capability.d.ts +142 -0
- package/dist/types/types/plugin-loader-capability.d.ts.map +1 -0
- package/dist/types/types/plugin.d.ts +250 -0
- package/dist/types/types/plugin.d.ts.map +1 -0
- package/dist/types/types/state.d.ts +306 -0
- package/dist/types/types/state.d.ts.map +1 -0
- package/dist/types/types/theme.d.ts +279 -0
- package/dist/types/types/theme.d.ts.map +1 -0
- package/dist/types/types/ui/adapter.d.ts +181 -0
- package/dist/types/types/ui/adapter.d.ts.map +1 -0
- package/dist/types/types/ui/avatar.d.ts +102 -0
- package/dist/types/types/ui/avatar.d.ts.map +1 -0
- package/dist/types/types/ui/badge.d.ts +101 -0
- package/dist/types/types/ui/badge.d.ts.map +1 -0
- package/dist/types/types/ui/button.d.ts +135 -0
- package/dist/types/types/ui/button.d.ts.map +1 -0
- package/dist/types/types/ui/card.d.ts +105 -0
- package/dist/types/types/ui/card.d.ts.map +1 -0
- package/dist/types/types/ui/common.d.ts +29 -0
- package/dist/types/types/ui/common.d.ts.map +1 -0
- package/dist/types/types/ui/icon.d.ts +78 -0
- package/dist/types/types/ui/icon.d.ts.map +1 -0
- package/dist/types/types/ui/index.d.ts +59 -0
- package/dist/types/types/ui/index.d.ts.map +1 -0
- package/dist/types/types/ui/input.d.ts +200 -0
- package/dist/types/types/ui/input.d.ts.map +1 -0
- package/dist/types/types/ui/menu.d.ts +211 -0
- package/dist/types/types/ui/menu.d.ts.map +1 -0
- package/dist/types/types/ui/message.d.ts +121 -0
- package/dist/types/types/ui/message.d.ts.map +1 -0
- package/dist/types/types/ui/modal.d.ts +167 -0
- package/dist/types/types/ui/modal.d.ts.map +1 -0
- package/dist/types/types/ui/select.d.ts +213 -0
- package/dist/types/types/ui/select.d.ts.map +1 -0
- package/dist/types/types/ui/theme-tokens.d.ts +226 -0
- package/dist/types/types/ui/theme-tokens.d.ts.map +1 -0
- package/dist/types/types/ui/tooltip.d.ts +98 -0
- package/dist/types/types/ui/tooltip.d.ts.map +1 -0
- package/dist/types/types/ui.d.ts +49 -0
- package/dist/types/types/ui.d.ts.map +1 -0
- package/package.json +34 -0
- package/src/api-exports.test.ts +199 -0
- package/src/context/RuntimeContext.d.ts +69 -0
- package/src/context/RuntimeContext.d.ts.map +1 -0
- package/src/context/RuntimeContext.ts +75 -0
- package/src/context/index.d.ts +23 -0
- package/src/context/index.d.ts.map +1 -0
- package/src/context/index.ts +23 -0
- package/src/index.d.ts +52 -0
- package/src/index.d.ts.map +1 -0
- package/src/index.ts +59 -0
- package/src/types/auth.d.ts +146 -0
- package/src/types/auth.d.ts.map +1 -0
- package/src/types/auth.ts +479 -0
- package/src/types/capability.d.ts +218 -0
- package/src/types/capability.d.ts.map +1 -0
- package/src/types/capability.ts +302 -0
- package/src/types/common.d.ts +99 -0
- package/src/types/common.d.ts.map +1 -0
- package/src/types/common.ts +115 -0
- package/src/types/config.d.ts +64 -0
- package/src/types/config.d.ts.map +1 -0
- package/src/types/config.ts +96 -0
- package/src/types/event.d.ts +206 -0
- package/src/types/event.d.ts.map +1 -0
- package/src/types/event.ts +776 -0
- package/src/types/http.d.ts +132 -0
- package/src/types/http.d.ts.map +1 -0
- package/src/types/http.ts +156 -0
- package/src/types/i18n.ts +420 -0
- package/src/types/index.d.ts +50 -0
- package/src/types/index.d.ts.map +1 -0
- package/src/types/index.ts +120 -0
- package/src/types/layout.ts +394 -0
- package/src/types/module.d.ts +78 -0
- package/src/types/module.d.ts.map +1 -0
- package/src/types/module.ts +92 -0
- package/src/types/navigation.d.ts +101 -0
- package/src/types/navigation.d.ts.map +1 -0
- package/src/types/navigation.ts +361 -0
- package/src/types/plugin-loader-capability.ts +159 -0
- package/src/types/plugin.d.ts +250 -0
- package/src/types/plugin.d.ts.map +1 -0
- package/src/types/plugin.ts +344 -0
- package/src/types/state.d.ts +119 -0
- package/src/types/state.d.ts.map +1 -0
- package/src/types/state.ts +366 -0
- package/src/types/theme.ts +378 -0
- package/src/types/ui/adapter.ts +222 -0
- package/src/types/ui/avatar.ts +113 -0
- package/src/types/ui/badge.ts +112 -0
- package/src/types/ui/button.ts +148 -0
- package/src/types/ui/card.ts +116 -0
- package/src/types/ui/common.ts +29 -0
- package/src/types/ui/icon.ts +85 -0
- package/src/types/ui/index.ts +78 -0
- package/src/types/ui/input.ts +225 -0
- package/src/types/ui/menu.ts +237 -0
- package/src/types/ui/message.ts +135 -0
- package/src/types/ui/modal.ts +188 -0
- package/src/types/ui/select.ts +239 -0
- package/src/types/ui/theme-tokens.ts +357 -0
- package/src/types/ui/tooltip.ts +120 -0
- package/src/types/ui.ts +49 -0
|
@@ -0,0 +1,405 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2026 Brix Platform Authors
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* @file Authentication Capability Type Definitions
|
|
18
|
+
* @description Defines core types for the authentication system, including user info, auth info, permission verification, etc.
|
|
19
|
+
* @module @brix/runtime-sdk-api-web/types/auth
|
|
20
|
+
* @version 3.2.0
|
|
21
|
+
*
|
|
22
|
+
* [v3.2 Changes]
|
|
23
|
+
* Extracted from index.ts into a standalone type file.
|
|
24
|
+
*
|
|
25
|
+
* [v3.2.0 Phase 1 Contract Layer Fix]
|
|
26
|
+
* Added types required by AuthCapabilityImpl:
|
|
27
|
+
* - User: Complete user info (including permissions and roles)
|
|
28
|
+
* - Tenant: Tenant info
|
|
29
|
+
* - AuthChangeEvent: Authentication state change event
|
|
30
|
+
* - DataScope: Data scope
|
|
31
|
+
* - LoginCredentials: Login credentials
|
|
32
|
+
* - LoginResult: Login result
|
|
33
|
+
* - AuthState: Authentication state
|
|
34
|
+
*/
|
|
35
|
+
import type { Unsubscribe } from './event';
|
|
36
|
+
/**
|
|
37
|
+
* Authentication Capability Type Identifier
|
|
38
|
+
*/
|
|
39
|
+
export declare const AuthCapabilityType: unique symbol;
|
|
40
|
+
/**
|
|
41
|
+
* Basic User Information
|
|
42
|
+
*/
|
|
43
|
+
export interface BaseUser {
|
|
44
|
+
/** User ID */
|
|
45
|
+
readonly id: string;
|
|
46
|
+
/** Username */
|
|
47
|
+
readonly username: string;
|
|
48
|
+
/** Email */
|
|
49
|
+
readonly email?: string;
|
|
50
|
+
/** Display Name */
|
|
51
|
+
readonly displayName?: string;
|
|
52
|
+
/** Avatar URL */
|
|
53
|
+
readonly avatar?: string;
|
|
54
|
+
/** Created At */
|
|
55
|
+
readonly createdAt: string;
|
|
56
|
+
/** Updated At */
|
|
57
|
+
readonly updatedAt?: string;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Authenticated User Information
|
|
61
|
+
*
|
|
62
|
+
* <p>User object containing roles and permissions.</p>
|
|
63
|
+
*/
|
|
64
|
+
export interface AuthUser {
|
|
65
|
+
/** User ID */
|
|
66
|
+
id: string;
|
|
67
|
+
/** Username */
|
|
68
|
+
username: string;
|
|
69
|
+
/** Email */
|
|
70
|
+
email?: string;
|
|
71
|
+
/** Display Name */
|
|
72
|
+
displayName?: string;
|
|
73
|
+
/** Role List */
|
|
74
|
+
roles: string[];
|
|
75
|
+
/** Permission List */
|
|
76
|
+
permissions: string[];
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Complete User Information
|
|
80
|
+
*
|
|
81
|
+
* <p>User object containing roles, permissions, and extended attributes.
|
|
82
|
+
* This is the type returned by AuthCapability.getCurrentUser().</p>
|
|
83
|
+
*
|
|
84
|
+
* @since 3.2.0
|
|
85
|
+
*/
|
|
86
|
+
export interface User {
|
|
87
|
+
/** User ID */
|
|
88
|
+
readonly id: string;
|
|
89
|
+
/** Username */
|
|
90
|
+
readonly username: string;
|
|
91
|
+
/** Email */
|
|
92
|
+
readonly email?: string;
|
|
93
|
+
/** Display Name */
|
|
94
|
+
readonly displayName?: string;
|
|
95
|
+
/** Avatar URL */
|
|
96
|
+
readonly avatar?: string;
|
|
97
|
+
/** Role List */
|
|
98
|
+
readonly roles: string[];
|
|
99
|
+
/** Permission List */
|
|
100
|
+
readonly permissions: string[];
|
|
101
|
+
/** Created At */
|
|
102
|
+
readonly createdAt?: string;
|
|
103
|
+
/** Updated At */
|
|
104
|
+
readonly updatedAt?: string;
|
|
105
|
+
/** Extended Attributes */
|
|
106
|
+
readonly [key: string]: unknown;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Tenant Information
|
|
110
|
+
*
|
|
111
|
+
* <p>Tenant object in a multi-tenant system.</p>
|
|
112
|
+
*
|
|
113
|
+
* @since 3.2.0
|
|
114
|
+
*/
|
|
115
|
+
export interface Tenant {
|
|
116
|
+
/** Tenant ID */
|
|
117
|
+
readonly id: string;
|
|
118
|
+
/** Tenant Name */
|
|
119
|
+
readonly name: string;
|
|
120
|
+
/** Tenant Code (Unique Identifier) */
|
|
121
|
+
readonly code?: string;
|
|
122
|
+
/** Tenant Type */
|
|
123
|
+
readonly type?: string;
|
|
124
|
+
/** Tenant Status */
|
|
125
|
+
readonly status?: 'active' | 'inactive' | 'suspended';
|
|
126
|
+
/** Tenant Configuration */
|
|
127
|
+
readonly config?: Record<string, unknown>;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Data Scope
|
|
131
|
+
*
|
|
132
|
+
* <p>Describes the scope of user's data access permissions.</p>
|
|
133
|
+
*
|
|
134
|
+
* @since 3.2.0
|
|
135
|
+
*/
|
|
136
|
+
export interface DataScope {
|
|
137
|
+
/** Data Scope ID */
|
|
138
|
+
readonly id: string;
|
|
139
|
+
/** Scope Type (e.g., 'org', 'dept', 'self', etc.) */
|
|
140
|
+
readonly type: string;
|
|
141
|
+
/** Scope Value (e.g., organization ID list) */
|
|
142
|
+
readonly value: string | string[];
|
|
143
|
+
/** Resource Type (optional, restricts applicable resources) */
|
|
144
|
+
readonly resource?: string;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Login Credentials
|
|
148
|
+
*
|
|
149
|
+
* <p>Credential information submitted during user login.</p>
|
|
150
|
+
*
|
|
151
|
+
* @since 3.2.0
|
|
152
|
+
*/
|
|
153
|
+
export interface LoginCredentials {
|
|
154
|
+
/** Username or Email */
|
|
155
|
+
readonly username?: string;
|
|
156
|
+
/** Password */
|
|
157
|
+
readonly password?: string;
|
|
158
|
+
/** Captcha */
|
|
159
|
+
readonly captcha?: string;
|
|
160
|
+
/** Remember Login State */
|
|
161
|
+
readonly rememberMe?: boolean;
|
|
162
|
+
/** Third-party Login Provider */
|
|
163
|
+
readonly provider?: string;
|
|
164
|
+
/** Third-party Login Authorization Code */
|
|
165
|
+
readonly authorizationCode?: string;
|
|
166
|
+
/** Extended Fields */
|
|
167
|
+
readonly [key: string]: unknown;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Login Result
|
|
171
|
+
*
|
|
172
|
+
* <p>Result returned from a login request.</p>
|
|
173
|
+
*
|
|
174
|
+
* @since 3.2.0
|
|
175
|
+
*/
|
|
176
|
+
export interface LoginResult {
|
|
177
|
+
/** Whether Login Succeeded */
|
|
178
|
+
readonly success: boolean;
|
|
179
|
+
/** User Info (on success) */
|
|
180
|
+
readonly user?: User;
|
|
181
|
+
/** Access Token (on success) */
|
|
182
|
+
readonly token?: string;
|
|
183
|
+
/** Refresh Token (on success) */
|
|
184
|
+
readonly refreshToken?: string;
|
|
185
|
+
/** Token Expiration Time (seconds) */
|
|
186
|
+
readonly expiresIn?: number;
|
|
187
|
+
/** Error Code (on failure) */
|
|
188
|
+
readonly errorCode?: string;
|
|
189
|
+
/** Error Message (on failure) */
|
|
190
|
+
readonly errorMessage?: string;
|
|
191
|
+
/** Whether MFA is Required */
|
|
192
|
+
readonly requireMfa?: boolean;
|
|
193
|
+
/** MFA Session Identifier */
|
|
194
|
+
readonly mfaSession?: string;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Authentication State
|
|
198
|
+
*
|
|
199
|
+
* <p>Describes the complete state of the current authentication context.</p>
|
|
200
|
+
*
|
|
201
|
+
* @since 3.2.0
|
|
202
|
+
*/
|
|
203
|
+
export interface AuthState {
|
|
204
|
+
/** Whether Authenticated */
|
|
205
|
+
readonly isAuthenticated: boolean;
|
|
206
|
+
/** Current User */
|
|
207
|
+
readonly user: User | null;
|
|
208
|
+
/** Current Tenant */
|
|
209
|
+
readonly tenant: Tenant | null;
|
|
210
|
+
/** Whether Loading */
|
|
211
|
+
readonly loading: boolean;
|
|
212
|
+
/** Data Scope List */
|
|
213
|
+
readonly dataScopes: DataScope[];
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Authentication State Change Event
|
|
217
|
+
*
|
|
218
|
+
* <p>Event triggered when authentication state changes.</p>
|
|
219
|
+
*
|
|
220
|
+
* @since 3.2.0
|
|
221
|
+
*/
|
|
222
|
+
export interface AuthChangeEvent {
|
|
223
|
+
/** Event Type */
|
|
224
|
+
readonly type: 'login' | 'logout' | 'token_refresh' | 'user_update' | 'tenant_switch';
|
|
225
|
+
/** Current User (quick access) */
|
|
226
|
+
readonly user?: User | null;
|
|
227
|
+
/** New Authentication State */
|
|
228
|
+
readonly state: AuthState;
|
|
229
|
+
/** Previous Authentication State */
|
|
230
|
+
readonly previousState?: AuthState;
|
|
231
|
+
/** Event Timestamp */
|
|
232
|
+
readonly timestamp: number;
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Authentication Information
|
|
236
|
+
*
|
|
237
|
+
* <p>Contains access token and refresh token.</p>
|
|
238
|
+
*/
|
|
239
|
+
export interface AuthInfo {
|
|
240
|
+
/** Access Token */
|
|
241
|
+
readonly accessToken: string;
|
|
242
|
+
/** Refresh Token */
|
|
243
|
+
readonly refreshToken?: string;
|
|
244
|
+
/** Token Expiration Time (seconds) */
|
|
245
|
+
readonly expiresIn: number;
|
|
246
|
+
/** Token Type */
|
|
247
|
+
readonly tokenType: string;
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Authentication Capability Contract
|
|
251
|
+
*
|
|
252
|
+
* <p>Provides user identity verification and permission checking capabilities for plugins.</p>
|
|
253
|
+
*
|
|
254
|
+
* <h3>Usage Example</h3>
|
|
255
|
+
* ```typescript
|
|
256
|
+
* const auth = context.getCapability<AuthCapability>(AuthCapabilityType);
|
|
257
|
+
*
|
|
258
|
+
* if (auth.isAuthenticated()) {
|
|
259
|
+
* const user = auth.getCurrentUser();
|
|
260
|
+
* if (auth.hasPermission('booking:create')) {
|
|
261
|
+
* // Create booking
|
|
262
|
+
* }
|
|
263
|
+
* }
|
|
264
|
+
* ```
|
|
265
|
+
*
|
|
266
|
+
* @since 3.2.0 Extended methods: getCurrentTenant, getTenantId, getDataScopes, getState, onAuthChange
|
|
267
|
+
*/
|
|
268
|
+
export interface AuthCapability {
|
|
269
|
+
/**
|
|
270
|
+
* Get current logged-in user
|
|
271
|
+
*
|
|
272
|
+
* @returns Current user, returns null if not logged in
|
|
273
|
+
*/
|
|
274
|
+
getCurrentUser(): User | null;
|
|
275
|
+
/**
|
|
276
|
+
* Check if authenticated
|
|
277
|
+
*
|
|
278
|
+
* @returns Whether logged in
|
|
279
|
+
*/
|
|
280
|
+
isAuthenticated(): boolean;
|
|
281
|
+
/**
|
|
282
|
+
* User login
|
|
283
|
+
*
|
|
284
|
+
* @param credentials Login credentials
|
|
285
|
+
* @returns Login result
|
|
286
|
+
*/
|
|
287
|
+
login(credentials: LoginCredentials): Promise<LoginResult>;
|
|
288
|
+
/**
|
|
289
|
+
* User logout
|
|
290
|
+
*
|
|
291
|
+
* @returns Promise, resolved when logout succeeds
|
|
292
|
+
*/
|
|
293
|
+
logout(): Promise<void>;
|
|
294
|
+
/**
|
|
295
|
+
* Check if has specified permission
|
|
296
|
+
*
|
|
297
|
+
* @param permission Permission identifier
|
|
298
|
+
* @returns Whether has permission
|
|
299
|
+
*/
|
|
300
|
+
hasPermission(permission: string): boolean;
|
|
301
|
+
/**
|
|
302
|
+
* Check if has any of the specified permissions
|
|
303
|
+
*
|
|
304
|
+
* @param permissions Permission identifier array
|
|
305
|
+
* @returns Whether has any permission
|
|
306
|
+
* @since 3.2.0
|
|
307
|
+
*/
|
|
308
|
+
hasAnyPermission?(permissions: string[]): boolean;
|
|
309
|
+
/**
|
|
310
|
+
* Check if has all specified permissions
|
|
311
|
+
*
|
|
312
|
+
* @param permissions Permission identifier array
|
|
313
|
+
* @returns Whether has all permissions
|
|
314
|
+
* @since 3.2.0
|
|
315
|
+
*/
|
|
316
|
+
hasAllPermissions?(permissions: string[]): boolean;
|
|
317
|
+
/**
|
|
318
|
+
* Check if has specified role
|
|
319
|
+
*
|
|
320
|
+
* @param role Role identifier
|
|
321
|
+
* @returns Whether has role
|
|
322
|
+
*/
|
|
323
|
+
hasRole(role: string): boolean;
|
|
324
|
+
/**
|
|
325
|
+
* Check if has any of the specified roles
|
|
326
|
+
*
|
|
327
|
+
* @param roles Role identifier array
|
|
328
|
+
* @returns Whether has any role
|
|
329
|
+
* @since 3.2.0
|
|
330
|
+
*/
|
|
331
|
+
hasAnyRole?(roles: string[]): boolean;
|
|
332
|
+
/**
|
|
333
|
+
* Check if has all specified roles
|
|
334
|
+
*
|
|
335
|
+
* @param roles Role identifier array
|
|
336
|
+
* @returns Whether has all roles
|
|
337
|
+
* @since 3.2.0
|
|
338
|
+
*/
|
|
339
|
+
hasAllRoles?(roles: string[]): boolean;
|
|
340
|
+
/**
|
|
341
|
+
* Get current access token
|
|
342
|
+
*
|
|
343
|
+
* @returns Access token, returns null if not logged in
|
|
344
|
+
*/
|
|
345
|
+
getToken(): string | null;
|
|
346
|
+
/**
|
|
347
|
+
* Get current tenant
|
|
348
|
+
*
|
|
349
|
+
* @returns Current tenant, returns null if not set
|
|
350
|
+
* @since 3.2.0
|
|
351
|
+
*/
|
|
352
|
+
getCurrentTenant?(): Tenant | null;
|
|
353
|
+
/**
|
|
354
|
+
* Get tenant ID
|
|
355
|
+
*
|
|
356
|
+
* @returns Tenant ID, returns empty string if no tenant
|
|
357
|
+
* @since 3.2.0
|
|
358
|
+
*/
|
|
359
|
+
getTenantId?(): string;
|
|
360
|
+
/**
|
|
361
|
+
* Get data scopes
|
|
362
|
+
*
|
|
363
|
+
* @param resource Resource type (optional)
|
|
364
|
+
* @returns Data scope list
|
|
365
|
+
* @since 3.2.0
|
|
366
|
+
*/
|
|
367
|
+
getDataScopes?(resource?: string): DataScope[];
|
|
368
|
+
/**
|
|
369
|
+
* Get authentication state
|
|
370
|
+
*
|
|
371
|
+
* @returns Current authentication state
|
|
372
|
+
* @since 3.2.0
|
|
373
|
+
*/
|
|
374
|
+
getState?(): AuthState;
|
|
375
|
+
/**
|
|
376
|
+
* Subscribe to authentication state changes
|
|
377
|
+
*
|
|
378
|
+
* @param listener Change listener
|
|
379
|
+
* @returns Unsubscribe function
|
|
380
|
+
* @since 3.2.0
|
|
381
|
+
*/
|
|
382
|
+
onAuthChange?(listener: (event: AuthChangeEvent) => void): Unsubscribe;
|
|
383
|
+
/**
|
|
384
|
+
* Check if Feature Flag is enabled
|
|
385
|
+
*
|
|
386
|
+
* @param featureKey Feature Flag key name
|
|
387
|
+
* @returns Whether enabled
|
|
388
|
+
* @since 3.2.0
|
|
389
|
+
*/
|
|
390
|
+
isFeatureEnabled?(featureKey: string): boolean;
|
|
391
|
+
/**
|
|
392
|
+
* Refresh access token
|
|
393
|
+
*
|
|
394
|
+
* @returns New access token
|
|
395
|
+
* @since 3.2.0
|
|
396
|
+
*/
|
|
397
|
+
refreshToken?(): Promise<string>;
|
|
398
|
+
/**
|
|
399
|
+
* Destroy capability instance
|
|
400
|
+
*
|
|
401
|
+
* @since 3.2.0
|
|
402
|
+
*/
|
|
403
|
+
destroy?(): void;
|
|
404
|
+
}
|
|
405
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/types/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2026 Brix Platform Authors
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* @file Capability Related Type Definitions
|
|
18
|
+
* @description Defines core types for the capability system, including capability metadata, status, registry, etc.
|
|
19
|
+
* @module @brix/runtime-sdk-api-web/types/capability
|
|
20
|
+
* @version 3.2.0
|
|
21
|
+
*
|
|
22
|
+
* [v3.2 Changes]
|
|
23
|
+
* Extracted from index.ts into a standalone type file to keep the contract layer clean.
|
|
24
|
+
*
|
|
25
|
+
* [Design Principles]
|
|
26
|
+
* - All type definitions use readonly properties
|
|
27
|
+
* - Use Symbol as capability unique identifier (type-safe)
|
|
28
|
+
* - Support lazy initialization and scope control for capabilities
|
|
29
|
+
*/
|
|
30
|
+
/**
|
|
31
|
+
* Capability Priority Enum
|
|
32
|
+
*
|
|
33
|
+
* <p>Used to determine which implementation to use when multiple capability providers conflict.</p>
|
|
34
|
+
*/
|
|
35
|
+
export declare enum CapabilityPriority {
|
|
36
|
+
/** Low Priority (fallback implementation) */
|
|
37
|
+
LOW = 0,
|
|
38
|
+
/** Normal Priority (default) */
|
|
39
|
+
NORMAL = 50,
|
|
40
|
+
/** High Priority (overrides default implementation) */
|
|
41
|
+
HIGH = 100
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Capability Metadata (Simplified)
|
|
45
|
+
*/
|
|
46
|
+
export interface CapabilityMetadata {
|
|
47
|
+
/** Capability Name */
|
|
48
|
+
readonly name: string;
|
|
49
|
+
/** Capability Version */
|
|
50
|
+
readonly version: string;
|
|
51
|
+
/** Priority */
|
|
52
|
+
readonly priority: CapabilityPriority;
|
|
53
|
+
/** Whether Required */
|
|
54
|
+
readonly required: boolean;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Capability ID Type
|
|
58
|
+
*
|
|
59
|
+
* <p>Supports string or Symbol, recommend using Symbol.for() to ensure uniqueness.</p>
|
|
60
|
+
*/
|
|
61
|
+
export type CapabilityId = string | symbol;
|
|
62
|
+
/**
|
|
63
|
+
* Capability Meta Information (Full Version)
|
|
64
|
+
*
|
|
65
|
+
* <p>Contains complete metadata for capability registration and discovery.</p>
|
|
66
|
+
*/
|
|
67
|
+
export interface CapabilityMeta {
|
|
68
|
+
/** Capability Unique Identifier */
|
|
69
|
+
readonly id: CapabilityId;
|
|
70
|
+
/** Capability Name (Human-readable) */
|
|
71
|
+
readonly name: string;
|
|
72
|
+
/** Capability Description */
|
|
73
|
+
readonly description?: string;
|
|
74
|
+
/** Capability Version */
|
|
75
|
+
readonly version?: string;
|
|
76
|
+
/** Dependent Capability ID List */
|
|
77
|
+
readonly dependencies?: CapabilityId[];
|
|
78
|
+
/** Tags (for filtering and categorization) */
|
|
79
|
+
readonly tags?: string[];
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Capability Status
|
|
83
|
+
*
|
|
84
|
+
* <p>Describes the current status of a capability in its lifecycle.</p>
|
|
85
|
+
*/
|
|
86
|
+
export type CapabilityStatus = 'registered' | 'initializing' | 'ready' | 'error' | 'disposed';
|
|
87
|
+
/**
|
|
88
|
+
* Capability Type Identifier (Generic Interface)
|
|
89
|
+
*
|
|
90
|
+
* <p>Used to identify and create capability instances, containing capability metadata.
|
|
91
|
+
* Uses phantom property `_phantom` for type inference.</p>
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* ```typescript
|
|
95
|
+
* interface MyCapability {
|
|
96
|
+
* doSomething(): void;
|
|
97
|
+
* }
|
|
98
|
+
*
|
|
99
|
+
* const MyCapabilityType = createCapabilityType<MyCapability>({
|
|
100
|
+
* id: 'my-capability',
|
|
101
|
+
* name: 'My Capability',
|
|
102
|
+
* });
|
|
103
|
+
* ```
|
|
104
|
+
*/
|
|
105
|
+
export interface CapabilityType<T = unknown> extends CapabilityMeta {
|
|
106
|
+
/**
|
|
107
|
+
* Phantom property for type inference
|
|
108
|
+
* Does not exist at runtime, only for TypeScript type system
|
|
109
|
+
*/
|
|
110
|
+
readonly _phantom?: T;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Create Capability Type Identifier
|
|
114
|
+
*
|
|
115
|
+
* @param meta - Capability meta information
|
|
116
|
+
* @returns Capability type identifier object
|
|
117
|
+
*/
|
|
118
|
+
export declare function createCapabilityType<T>(meta: Omit<CapabilityMeta, 'id'> & {
|
|
119
|
+
id: string;
|
|
120
|
+
}): CapabilityType<T>;
|
|
121
|
+
/**
|
|
122
|
+
* Capability Provider Interface
|
|
123
|
+
*
|
|
124
|
+
* <p>Encapsulates the creation and disposal logic of capability instances.</p>
|
|
125
|
+
*/
|
|
126
|
+
export interface CapabilityProvider<T = unknown> {
|
|
127
|
+
/** Get capability instance */
|
|
128
|
+
provide(): T;
|
|
129
|
+
/** Dispose capability instance (optional) */
|
|
130
|
+
dispose?(): void;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Simple Capability Provider
|
|
134
|
+
*
|
|
135
|
+
* <p>Can be the capability instance itself, or a factory function that returns the capability instance.</p>
|
|
136
|
+
*/
|
|
137
|
+
export type SimpleCapabilityProvider<T> = T | (() => T);
|
|
138
|
+
/**
|
|
139
|
+
* Capability Registration Options
|
|
140
|
+
*/
|
|
141
|
+
export interface CapabilityRegisterOptions {
|
|
142
|
+
/**
|
|
143
|
+
* Whether to override existing capability
|
|
144
|
+
*/
|
|
145
|
+
override?: boolean;
|
|
146
|
+
/**
|
|
147
|
+
* Capability priority
|
|
148
|
+
*/
|
|
149
|
+
priority?: CapabilityPriority;
|
|
150
|
+
/**
|
|
151
|
+
* Capability scope
|
|
152
|
+
* - 'global': Global scope, shared by all modules
|
|
153
|
+
* - 'module': Module scope, only available in current module
|
|
154
|
+
* @default 'global'
|
|
155
|
+
*/
|
|
156
|
+
scope?: 'global' | 'module';
|
|
157
|
+
/**
|
|
158
|
+
* Lazy initialization
|
|
159
|
+
* When true, capability is instantiated on first use
|
|
160
|
+
* @default false
|
|
161
|
+
*/
|
|
162
|
+
lazy?: boolean;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Capability Runtime Information
|
|
166
|
+
*
|
|
167
|
+
* <p>Describes the detailed status of a capability at runtime.</p>
|
|
168
|
+
*/
|
|
169
|
+
export interface CapabilityRuntimeInfo {
|
|
170
|
+
/** Capability Metadata */
|
|
171
|
+
readonly meta: CapabilityMeta;
|
|
172
|
+
/** Current Status */
|
|
173
|
+
readonly status: CapabilityStatus;
|
|
174
|
+
/** Registration Timestamp */
|
|
175
|
+
readonly registeredAt: number;
|
|
176
|
+
/** Initialization Timestamp */
|
|
177
|
+
readonly initializedAt?: number;
|
|
178
|
+
/** Error Information (when status is error) */
|
|
179
|
+
readonly error?: Error;
|
|
180
|
+
/** Invocation Count Statistics */
|
|
181
|
+
readonly invocationCount: number;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Capability Registry Interface
|
|
185
|
+
*
|
|
186
|
+
* <p>Manages registration, retrieval, initialization, and disposal of capabilities.</p>
|
|
187
|
+
*/
|
|
188
|
+
export interface CapabilityRegistry {
|
|
189
|
+
/** Get capability instance */
|
|
190
|
+
get<T>(capabilityType: CapabilityType<T>): T | undefined;
|
|
191
|
+
/** Get required capability (throws exception if not found) */
|
|
192
|
+
getRequired<T>(capabilityType: CapabilityType<T>): T;
|
|
193
|
+
/** Register capability */
|
|
194
|
+
register<T>(capabilityType: CapabilityType<T>, provider: CapabilityProvider<T>, options?: CapabilityRegisterOptions): void;
|
|
195
|
+
/** Unregister capability */
|
|
196
|
+
unregister<T>(capabilityType: CapabilityType<T>): boolean;
|
|
197
|
+
/** Check if capability is registered */
|
|
198
|
+
has<T>(capabilityType: CapabilityType<T>): boolean;
|
|
199
|
+
/** Check if capability is ready */
|
|
200
|
+
isReady<T>(capabilityType: CapabilityType<T>): boolean;
|
|
201
|
+
/** Get capability runtime information */
|
|
202
|
+
getInfo<T>(capabilityType: CapabilityType<T>): CapabilityRuntimeInfo | undefined;
|
|
203
|
+
/** Get all registered capability IDs */
|
|
204
|
+
getRegisteredIds(): CapabilityId[];
|
|
205
|
+
/** Get runtime information for all capabilities */
|
|
206
|
+
getAllInfo(): Map<CapabilityId, CapabilityRuntimeInfo>;
|
|
207
|
+
/** Filter capabilities by status */
|
|
208
|
+
getByStatus(status: CapabilityStatus): CapabilityId[];
|
|
209
|
+
/** Filter capabilities by tag */
|
|
210
|
+
getByTag(tag: string): CapabilityId[];
|
|
211
|
+
/** Initialize all registered capabilities */
|
|
212
|
+
initializeAll(): Promise<boolean>;
|
|
213
|
+
/** Dispose all capabilities */
|
|
214
|
+
disposeAll(): Promise<void>;
|
|
215
|
+
/** Reset registry */
|
|
216
|
+
reset(): void;
|
|
217
|
+
}
|
|
218
|
+
//# sourceMappingURL=capability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../../../src/types/capability.ts"],"names":[],"mappings":"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"}
|