@passflow/core 0.20.0 → 0.20.1
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.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +5944 -0
- package/dist/index.d.ts +5944 -0
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +15 -7
- package/dist/lib/api/app.d.ts +0 -11
- package/dist/lib/api/app.d.ts.map +0 -1
- package/dist/lib/api/auth.d.ts +0 -42
- package/dist/lib/api/auth.d.ts.map +0 -1
- package/dist/lib/api/axios-client.d.ts +0 -109
- package/dist/lib/api/axios-client.d.ts.map +0 -1
- package/dist/lib/api/cli-auth.d.ts +0 -12
- package/dist/lib/api/cli-auth.d.ts.map +0 -1
- package/dist/lib/api/index.d.ts +0 -11
- package/dist/lib/api/index.d.ts.map +0 -1
- package/dist/lib/api/invitation.d.ts +0 -80
- package/dist/lib/api/invitation.d.ts.map +0 -1
- package/dist/lib/api/model.d.ts +0 -844
- package/dist/lib/api/model.d.ts.map +0 -1
- package/dist/lib/api/setting.d.ts +0 -13
- package/dist/lib/api/setting.d.ts.map +0 -1
- package/dist/lib/api/tenant.d.ts +0 -216
- package/dist/lib/api/tenant.d.ts.map +0 -1
- package/dist/lib/api/two-factor.d.ts +0 -137
- package/dist/lib/api/two-factor.d.ts.map +0 -1
- package/dist/lib/api/upgrade.d.ts +0 -39
- package/dist/lib/api/upgrade.d.ts.map +0 -1
- package/dist/lib/api/user.d.ts +0 -22
- package/dist/lib/api/user.d.ts.map +0 -1
- package/dist/lib/constants/index.d.ts +0 -33
- package/dist/lib/constants/index.d.ts.map +0 -1
- package/dist/lib/device/index.d.ts +0 -17
- package/dist/lib/device/index.d.ts.map +0 -1
- package/dist/lib/index.d.ts +0 -22
- package/dist/lib/index.d.ts.map +0 -1
- package/dist/lib/interceptors/fetch-registry.d.ts +0 -96
- package/dist/lib/interceptors/fetch-registry.d.ts.map +0 -1
- package/dist/lib/m2m/client.d.ts +0 -196
- package/dist/lib/m2m/client.d.ts.map +0 -1
- package/dist/lib/m2m/errors.d.ts +0 -107
- package/dist/lib/m2m/errors.d.ts.map +0 -1
- package/dist/lib/m2m/index.d.ts +0 -27
- package/dist/lib/m2m/index.d.ts.map +0 -1
- package/dist/lib/m2m/types.d.ts +0 -217
- package/dist/lib/m2m/types.d.ts.map +0 -1
- package/dist/lib/passflow.d.ts +0 -1224
- package/dist/lib/passflow.d.ts.map +0 -1
- package/dist/lib/pkce.d.ts +0 -13
- package/dist/lib/pkce.d.ts.map +0 -1
- package/dist/lib/platform/index.d.ts +0 -4
- package/dist/lib/platform/index.d.ts.map +0 -1
- package/dist/lib/platform/types.d.ts +0 -206
- package/dist/lib/platform/types.d.ts.map +0 -1
- package/dist/lib/platform/web-adapter.d.ts +0 -104
- package/dist/lib/platform/web-adapter.d.ts.map +0 -1
- package/dist/lib/services/auth-service.d.ts +0 -197
- package/dist/lib/services/auth-service.d.ts.map +0 -1
- package/dist/lib/services/index.d.ts +0 -8
- package/dist/lib/services/index.d.ts.map +0 -1
- package/dist/lib/services/invitation-service.d.ts +0 -44
- package/dist/lib/services/invitation-service.d.ts.map +0 -1
- package/dist/lib/services/logger.d.ts +0 -24
- package/dist/lib/services/logger.d.ts.map +0 -1
- package/dist/lib/services/tenant-service.d.ts +0 -200
- package/dist/lib/services/tenant-service.d.ts.map +0 -1
- package/dist/lib/services/tenant-user-membership.d.ts +0 -76
- package/dist/lib/services/tenant-user-membership.d.ts.map +0 -1
- package/dist/lib/services/token-cache-service.d.ts +0 -36
- package/dist/lib/services/token-cache-service.d.ts.map +0 -1
- package/dist/lib/services/two-factor-service.d.ts +0 -193
- package/dist/lib/services/two-factor-service.d.ts.map +0 -1
- package/dist/lib/services/user-service.d.ts +0 -41
- package/dist/lib/services/user-service.d.ts.map +0 -1
- package/dist/lib/storage/index.d.ts +0 -106
- package/dist/lib/storage/index.d.ts.map +0 -1
- package/dist/lib/store.d.ts +0 -175
- package/dist/lib/store.d.ts.map +0 -1
- package/dist/lib/token/delivery-manager.d.ts +0 -121
- package/dist/lib/token/delivery-manager.d.ts.map +0 -1
- package/dist/lib/token/index.d.ts +0 -4
- package/dist/lib/token/index.d.ts.map +0 -1
- package/dist/lib/token/membership.d.ts +0 -37
- package/dist/lib/token/membership.d.ts.map +0 -1
- package/dist/lib/token/service.d.ts +0 -47
- package/dist/lib/token/service.d.ts.map +0 -1
- package/dist/lib/token/token.d.ts +0 -55
- package/dist/lib/token/token.d.ts.map +0 -1
- package/dist/lib/types/index.d.ts +0 -24
- package/dist/lib/types/index.d.ts.map +0 -1
- package/dist/lib/upgrade/acr.d.ts +0 -85
- package/dist/lib/upgrade/acr.d.ts.map +0 -1
- package/dist/lib/upgrade/axios-adapter.d.ts +0 -81
- package/dist/lib/upgrade/axios-adapter.d.ts.map +0 -1
- package/dist/lib/upgrade/challenge.d.ts +0 -217
- package/dist/lib/upgrade/challenge.d.ts.map +0 -1
- package/dist/lib/upgrade/client.d.ts +0 -29
- package/dist/lib/upgrade/client.d.ts.map +0 -1
- package/dist/lib/upgrade/controller.d.ts +0 -435
- package/dist/lib/upgrade/controller.d.ts.map +0 -1
- package/dist/lib/upgrade/core.d.ts +0 -353
- package/dist/lib/upgrade/core.d.ts.map +0 -1
- package/dist/lib/upgrade/errors.d.ts +0 -208
- package/dist/lib/upgrade/errors.d.ts.map +0 -1
- package/dist/lib/upgrade/facade.d.ts +0 -188
- package/dist/lib/upgrade/facade.d.ts.map +0 -1
- package/dist/lib/upgrade/factors.d.ts +0 -97
- package/dist/lib/upgrade/factors.d.ts.map +0 -1
- package/dist/lib/upgrade/fetch-adapter.d.ts +0 -30
- package/dist/lib/upgrade/fetch-adapter.d.ts.map +0 -1
- package/dist/lib/upgrade/index.d.ts +0 -17
- package/dist/lib/upgrade/index.d.ts.map +0 -1
- package/dist/lib/upgrade/markers.d.ts +0 -64
- package/dist/lib/upgrade/markers.d.ts.map +0 -1
- package/dist/lib/upgrade/replay.d.ts +0 -132
- package/dist/lib/upgrade/replay.d.ts.map +0 -1
- package/dist/lib/upgrade/select.d.ts +0 -48
- package/dist/lib/upgrade/select.d.ts.map +0 -1
- package/dist/lib/upgrade/session.d.ts +0 -72
- package/dist/lib/upgrade/session.d.ts.map +0 -1
- package/dist/lib/upgrade/snapshot.d.ts +0 -196
- package/dist/lib/upgrade/snapshot.d.ts.map +0 -1
- package/dist/lib/upgrade/transport.d.ts +0 -69
- package/dist/lib/upgrade/transport.d.ts.map +0 -1
- package/dist/lib/utils/validation.d.ts +0 -54
- package/dist/lib/utils/validation.d.ts.map +0 -1
- package/dist/tsconfig.build.tsbuildinfo +0 -1
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Logger interface for Passflow services
|
|
3
|
-
*/
|
|
4
|
-
export interface Logger {
|
|
5
|
-
error(message: string, ...args: unknown[]): void;
|
|
6
|
-
warn(message: string, ...args: unknown[]): void;
|
|
7
|
-
info(message: string, ...args: unknown[]): void;
|
|
8
|
-
debug(message: string, ...args: unknown[]): void;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Default console logger implementation
|
|
12
|
-
*/
|
|
13
|
-
export declare class ConsoleLogger implements Logger {
|
|
14
|
-
error(message: string, ...args: unknown[]): void;
|
|
15
|
-
warn(message: string, ...args: unknown[]): void;
|
|
16
|
-
info(message: string, ...args: unknown[]): void;
|
|
17
|
-
debug(message: string, ...args: unknown[]): void;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Get the default logger
|
|
21
|
-
* @returns Default logger instance
|
|
22
|
-
*/
|
|
23
|
-
export declare function getDefaultLogger(): Logger;
|
|
24
|
-
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../lib/services/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CAClD;AAED;;GAEG;AACH,qBAAa,aAAc,YAAW,MAAM;IAC1C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAG/C;IAED,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAG9C;IAED,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAG9C;IAED,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAG/C;CACF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC"}
|
|
@@ -1,200 +0,0 @@
|
|
|
1
|
-
import { PassflowAuthorizationResponse, PassflowGroupResponse, PassflowInvitationsResponse, PassflowRoleResponse, PassflowStatusResponse, PassflowTenantResponse, PassflowUserTenantMembershipResponse, TenantAPI } from '../api';
|
|
2
|
-
import { Logger } from './logger';
|
|
3
|
-
import { TenantUserMembership } from './tenant-user-membership';
|
|
4
|
-
/**
|
|
5
|
-
* Service for managing tenants
|
|
6
|
-
*/
|
|
7
|
-
export declare class TenantService {
|
|
8
|
-
private tenantApi;
|
|
9
|
-
private scopes;
|
|
10
|
-
private logger;
|
|
11
|
-
constructor(tenantApi: TenantAPI, scopes: string[], logger?: Logger);
|
|
12
|
-
/**
|
|
13
|
-
* Handle Passflow API errors
|
|
14
|
-
* @param error The error object
|
|
15
|
-
* @param context Context information for logging
|
|
16
|
-
* @throws Formatted error with Passflow API error details
|
|
17
|
-
*/
|
|
18
|
-
private handlePassflowError;
|
|
19
|
-
/**
|
|
20
|
-
* Join a tenant invitation
|
|
21
|
-
* @param token The invitation token
|
|
22
|
-
* @param scopes Optional scopes to request
|
|
23
|
-
* @returns Promise with invite response
|
|
24
|
-
*/
|
|
25
|
-
joinInvitation(token: string, scopes?: string[]): Promise<PassflowAuthorizationResponse>;
|
|
26
|
-
/**
|
|
27
|
-
* Create a new tenant
|
|
28
|
-
* @param name The name of the tenant
|
|
29
|
-
* @returns Promise with tenant response
|
|
30
|
-
*/
|
|
31
|
-
createTenant(name: string): Promise<PassflowTenantResponse>;
|
|
32
|
-
/**
|
|
33
|
-
* Get tenant details
|
|
34
|
-
* @param tenantId Tenant ID
|
|
35
|
-
* @returns Promise with tenant response
|
|
36
|
-
*/
|
|
37
|
-
/**
|
|
38
|
-
* Get tenant details
|
|
39
|
-
* @param tenantId Tenant ID
|
|
40
|
-
* @returns Promise with tenant response
|
|
41
|
-
*/
|
|
42
|
-
getTenantDetails(tenantId: string): Promise<PassflowTenantResponse>;
|
|
43
|
-
/**
|
|
44
|
-
* Get tenant details and transform into TenantUserMembership
|
|
45
|
-
* @param tenantId Tenant ID
|
|
46
|
-
* @returns Promise with TenantUserMembership instance
|
|
47
|
-
*/
|
|
48
|
-
getTenantUserMembership(tenantId: string): Promise<TenantUserMembership>;
|
|
49
|
-
/**
|
|
50
|
-
* Update tenant name
|
|
51
|
-
* @param tenantId Tenant ID
|
|
52
|
-
* @param name New tenant name
|
|
53
|
-
* @returns Promise with status response
|
|
54
|
-
*/
|
|
55
|
-
updateTenant(tenantId: string, name: string): Promise<PassflowStatusResponse>;
|
|
56
|
-
/**
|
|
57
|
-
* Delete a tenant
|
|
58
|
-
* @param tenantId Tenant ID
|
|
59
|
-
* @returns Promise with status response
|
|
60
|
-
*/
|
|
61
|
-
deleteTenant(tenantId: string): Promise<PassflowStatusResponse>;
|
|
62
|
-
/**
|
|
63
|
-
* Get user's tenant memberships
|
|
64
|
-
* @returns Promise with user tenant membership response
|
|
65
|
-
*/
|
|
66
|
-
getUserTenantMembership(): Promise<PassflowUserTenantMembershipResponse>;
|
|
67
|
-
/**
|
|
68
|
-
* Create a group in a tenant
|
|
69
|
-
* @param tenantId Tenant ID
|
|
70
|
-
* @param name Group name
|
|
71
|
-
* @returns Promise with group response
|
|
72
|
-
*/
|
|
73
|
-
createGroup(tenantId: string, name: string): Promise<PassflowGroupResponse>;
|
|
74
|
-
/**
|
|
75
|
-
* Get group information
|
|
76
|
-
* @param tenantId Tenant ID
|
|
77
|
-
* @param groupId Group ID
|
|
78
|
-
* @returns Promise with group response
|
|
79
|
-
*/
|
|
80
|
-
getGroupInfo(tenantId: string, groupId: string): Promise<PassflowGroupResponse>;
|
|
81
|
-
/**
|
|
82
|
-
* Update a group
|
|
83
|
-
* @param tenantId Tenant ID
|
|
84
|
-
* @param groupId Group ID
|
|
85
|
-
* @param name New group name
|
|
86
|
-
* @returns Promise with group response
|
|
87
|
-
*/
|
|
88
|
-
updateGroup(tenantId: string, groupId: string, name: string): Promise<PassflowGroupResponse>;
|
|
89
|
-
/**
|
|
90
|
-
* Delete a group
|
|
91
|
-
* @param tenantId Tenant ID
|
|
92
|
-
* @param groupId Group ID
|
|
93
|
-
* @returns Promise with status response
|
|
94
|
-
*/
|
|
95
|
-
deleteGroup(tenantId: string, groupId: string): Promise<PassflowStatusResponse>;
|
|
96
|
-
/**
|
|
97
|
-
* Add a user to a group
|
|
98
|
-
* @param tenantId Tenant ID
|
|
99
|
-
* @param groupId Group ID
|
|
100
|
-
* @param userId User ID
|
|
101
|
-
* @param role Role to assign
|
|
102
|
-
* @returns Promise with status response
|
|
103
|
-
*/
|
|
104
|
-
addUserToGroup(tenantId: string, groupId: string, userId: string, role: string): Promise<PassflowStatusResponse>;
|
|
105
|
-
/**
|
|
106
|
-
* Remove user roles from a group
|
|
107
|
-
* @param tenantId Tenant ID
|
|
108
|
-
* @param groupId Group ID
|
|
109
|
-
* @param userId User ID
|
|
110
|
-
* @param roles Roles to remove
|
|
111
|
-
* @returns Promise with status response
|
|
112
|
-
*/
|
|
113
|
-
removeUserRolesFromGroup(tenantId: string, groupId: string, userId: string, roles: string[]): Promise<PassflowStatusResponse>;
|
|
114
|
-
/**
|
|
115
|
-
* Change user roles in a group
|
|
116
|
-
* @param tenantId Tenant ID
|
|
117
|
-
* @param groupId Group ID
|
|
118
|
-
* @param userId User ID
|
|
119
|
-
* @param roles New roles to assign
|
|
120
|
-
* @returns Promise with status response
|
|
121
|
-
*/
|
|
122
|
-
changeUserRoles(tenantId: string, groupId: string, userId: string, roles: string[]): Promise<PassflowStatusResponse>;
|
|
123
|
-
/**
|
|
124
|
-
* Delete a user from a group
|
|
125
|
-
* @param tenantId Tenant ID
|
|
126
|
-
* @param groupId Group ID
|
|
127
|
-
* @param userId User ID
|
|
128
|
-
* @returns Promise with status response
|
|
129
|
-
*/
|
|
130
|
-
deleteUserFromGroup(tenantId: string, groupId: string, userId: string): Promise<PassflowStatusResponse>;
|
|
131
|
-
/**
|
|
132
|
-
* Get roles for a tenant
|
|
133
|
-
* @param tenantId Tenant ID
|
|
134
|
-
* @returns Promise with array of role responses
|
|
135
|
-
*/
|
|
136
|
-
getRolesForTenant(tenantId: string): Promise<PassflowRoleResponse[]>;
|
|
137
|
-
/**
|
|
138
|
-
* Create a role for a tenant
|
|
139
|
-
* @param tenantId Tenant ID
|
|
140
|
-
* @param name Role name
|
|
141
|
-
* @returns Promise with role response
|
|
142
|
-
*/
|
|
143
|
-
createRoleForTenant(tenantId: string, name: string): Promise<PassflowRoleResponse>;
|
|
144
|
-
/**
|
|
145
|
-
* Update a role
|
|
146
|
-
* @param tenantId Tenant ID
|
|
147
|
-
* @param roleId Role ID
|
|
148
|
-
* @param name New role name
|
|
149
|
-
* @returns Promise with role response
|
|
150
|
-
*/
|
|
151
|
-
updateRole(tenantId: string, roleId: string, name: string): Promise<PassflowRoleResponse>;
|
|
152
|
-
/**
|
|
153
|
-
* Delete a role
|
|
154
|
-
* @param tenantId Tenant ID
|
|
155
|
-
* @param roleId Role ID
|
|
156
|
-
* @returns Promise with status response
|
|
157
|
-
*/
|
|
158
|
-
deleteRole(tenantId: string, roleId: string): Promise<PassflowStatusResponse>;
|
|
159
|
-
/**
|
|
160
|
-
* Delete a user from a tenant
|
|
161
|
-
* @param tenantId Tenant ID
|
|
162
|
-
* @param userId User ID
|
|
163
|
-
* @returns Promise with status response
|
|
164
|
-
*/
|
|
165
|
-
deleteUserFromTenant(tenantId: string, userId: string): Promise<PassflowStatusResponse>;
|
|
166
|
-
/**
|
|
167
|
-
* Get invitations to a group
|
|
168
|
-
* @param tenantId Tenant ID
|
|
169
|
-
* @param groupId Group ID
|
|
170
|
-
* @param limit Maximum number of invitations to return
|
|
171
|
-
* @param skip Number of invitations to skip
|
|
172
|
-
* @returns Promise with invitations response
|
|
173
|
-
*/
|
|
174
|
-
getGroupInvitations(tenantId: string, groupId: string, limit: number, skip: number): Promise<PassflowInvitationsResponse>;
|
|
175
|
-
/**
|
|
176
|
-
* Get invitations to a tenant
|
|
177
|
-
* @param tenantId Tenant ID
|
|
178
|
-
* @param limit Maximum number of invitations to return
|
|
179
|
-
* @param skip Number of invitations to skip
|
|
180
|
-
* @returns Promise with invitations response
|
|
181
|
-
*/
|
|
182
|
-
getTenantInvitations(tenantId: string, limit: number, skip: number): Promise<PassflowInvitationsResponse>;
|
|
183
|
-
/**
|
|
184
|
-
* Invalidate an invitation by ID
|
|
185
|
-
* @param tenantId Tenant ID
|
|
186
|
-
* @param groupId Group ID
|
|
187
|
-
* @param inviteId Invitation ID
|
|
188
|
-
* @returns Promise with empty record
|
|
189
|
-
*/
|
|
190
|
-
invalidateInviteById(tenantId: string, groupId: string, inviteId: string): Promise<Record<string, never>>;
|
|
191
|
-
/**
|
|
192
|
-
* Invalidate an invitation by email
|
|
193
|
-
* @param tenantId Tenant ID
|
|
194
|
-
* @param groupId Group ID
|
|
195
|
-
* @param email Email address
|
|
196
|
-
* @returns Promise with empty record
|
|
197
|
-
*/
|
|
198
|
-
invalidateInviteByEmail(tenantId: string, groupId: string, email: string): Promise<Record<string, never>>;
|
|
199
|
-
}
|
|
200
|
-
//# sourceMappingURL=tenant-service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tenant-service.d.ts","sourceRoot":"","sources":["../../../lib/services/tenant-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import type { PassflowTenantResponse } from '../api/model';
|
|
2
|
-
/**
|
|
3
|
-
* Flat user representation
|
|
4
|
-
*/
|
|
5
|
-
export interface User {
|
|
6
|
-
id: string;
|
|
7
|
-
name: string | null;
|
|
8
|
-
email: string | null;
|
|
9
|
-
phone: string | null;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Flat group representation
|
|
13
|
-
*/
|
|
14
|
-
export interface Group {
|
|
15
|
-
id: string;
|
|
16
|
-
name: string;
|
|
17
|
-
default: boolean;
|
|
18
|
-
updated_at: string;
|
|
19
|
-
created_at: string;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Flat role representation
|
|
23
|
-
*/
|
|
24
|
-
export interface Role {
|
|
25
|
-
id: string;
|
|
26
|
-
tenant_id: string;
|
|
27
|
-
name: string;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Maps a user to a group with specific roles
|
|
31
|
-
*/
|
|
32
|
-
export interface Membership {
|
|
33
|
-
userId: string;
|
|
34
|
-
groupId: string;
|
|
35
|
-
roleIds: string[];
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Full tenant view with lookup maps
|
|
39
|
-
*/
|
|
40
|
-
export interface TenantData {
|
|
41
|
-
tenant_id: string;
|
|
42
|
-
tenant_name: string;
|
|
43
|
-
users: User[];
|
|
44
|
-
groups: Group[];
|
|
45
|
-
roles: Role[];
|
|
46
|
-
memberships: Membership[];
|
|
47
|
-
usersById: Map<string, User>;
|
|
48
|
-
groupsById: Map<string, Group>;
|
|
49
|
-
rolesById: Map<string, Role>;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Utility for transforming raw PassflowTenantResponse
|
|
53
|
-
* into a flattened TenantData model with quick lookup methods.
|
|
54
|
-
*/
|
|
55
|
-
export declare class TenantUserMembership {
|
|
56
|
-
private data;
|
|
57
|
-
constructor(raw: PassflowTenantResponse);
|
|
58
|
-
private normalize;
|
|
59
|
-
/**
|
|
60
|
-
* Returns all users in the specified group.
|
|
61
|
-
*/
|
|
62
|
-
getUsersInGroup(groupId: string): User[];
|
|
63
|
-
/**
|
|
64
|
-
* Returns all groups to which the specified user belongs.
|
|
65
|
-
*/
|
|
66
|
-
getGroupsForUser(userId: string): Group[];
|
|
67
|
-
/**
|
|
68
|
-
* Returns all roles that the specified user has in the specified group.
|
|
69
|
-
*/
|
|
70
|
-
getUserRolesInGroup(userId: string, groupId: string): Role[];
|
|
71
|
-
/**
|
|
72
|
-
* Returns the full TenantData object.
|
|
73
|
-
*/
|
|
74
|
-
getData(): TenantData;
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=tenant-user-membership.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tenant-user-membership.d.ts","sourceRoot":"","sources":["../../../lib/services/tenant-user-membership.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAA+B,sBAAsB,EAAuB,MAAM,cAAc,CAAC;AAE7G;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;CAC9B;AAED;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,IAAI,CAAa;IAEzB,YAAY,GAAG,EAAE,sBAAsB,EAEtC;IAED,OAAO,CAAC,SAAS;IA2DjB;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,CAKvC;IAED;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,CAKxC;IAED;;OAEG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,CAM3D;IAED;;OAEG;IACH,OAAO,IAAI,UAAU,CAEpB;CACF"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { AuthAPI } from '../api';
|
|
2
|
-
import type { PlatformAdapter } from '../platform';
|
|
3
|
-
import { StorageManager } from '../storage';
|
|
4
|
-
import { PassflowStore } from '../store';
|
|
5
|
-
import type { ParsedTokens, Tokens } from '../types';
|
|
6
|
-
export declare class TokenCacheService {
|
|
7
|
-
private storageManager;
|
|
8
|
-
private authApi;
|
|
9
|
-
private subscribeStore;
|
|
10
|
-
private platform;
|
|
11
|
-
tokensCache: Tokens | undefined;
|
|
12
|
-
parsedTokensCache: ParsedTokens | undefined;
|
|
13
|
-
private checkInterval;
|
|
14
|
-
private readonly CHECK_INTERVAL;
|
|
15
|
-
private unsubscribeForeground;
|
|
16
|
-
private unsubscribeUnload;
|
|
17
|
-
isRefreshing: boolean;
|
|
18
|
-
tokenExpiredFlag: boolean;
|
|
19
|
-
constructor(storageManager: StorageManager, authApi: AuthAPI, subscribeStore: PassflowStore, platform?: PlatformAdapter);
|
|
20
|
-
initialize(): void;
|
|
21
|
-
private refreshTokensCache;
|
|
22
|
-
startTokenCheck(): void;
|
|
23
|
-
private setupLifecycleListeners;
|
|
24
|
-
private stopTokenCheck;
|
|
25
|
-
/**
|
|
26
|
-
* Cleanup method to stop all intervals and remove event listeners.
|
|
27
|
-
* Should be called when the service is no longer needed.
|
|
28
|
-
*/
|
|
29
|
-
destroy(): void;
|
|
30
|
-
setTokensCache(tokens: Tokens | undefined): void;
|
|
31
|
-
getTokens(): Tokens | undefined;
|
|
32
|
-
getTokensWithRefresh(): Promise<Tokens | undefined>;
|
|
33
|
-
getParsedTokens(): ParsedTokens | undefined;
|
|
34
|
-
isExpired(): boolean;
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=token-cache-service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"token-cache-service.d.ts","sourceRoot":"","sources":["../../../lib/services/token-cache-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAA+B,aAAa,EAAE,MAAM,UAAU,CAAC;AAEtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAErD,qBAAa,iBAAiB;IAY1B,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,QAAQ;IAdlB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,iBAAiB,EAAE,YAAY,GAAG,SAAS,CAAC;IAE5C,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,qBAAqB,CAA6B;IAC1D,OAAO,CAAC,iBAAiB,CAA6B;IACtD,YAAY,UAAS;IACrB,gBAAgB,UAAS;IAEzB,YACU,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,aAAa,EAC7B,QAAQ,GAAE,eAA4B,EAK/C;IAED,UAAU,SAoCT;YAEa,kBAAkB;IAoChC,eAAe,SAwBd;IAED,OAAO,CAAC,uBAAuB;IAsB/B,OAAO,CAAC,cAAc;IAYtB;;;OAGG;IACH,OAAO,SAMN;IAED,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAiB/C;IAED,SAAS,uBAER;IAEK,oBAAoB,gCA4BzB;IAED,eAAe,6BAEd;IAED,SAAS,YAYR;CACF"}
|
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
import { RegisteredTwoFactorMethod, TwoFactorAlternativeRequest, TwoFactorChallengeRequest, TwoFactorChallengeResponse, TwoFactorCompletionOptions, TwoFactorConfirmResponse, TwoFactorDisableResponse, TwoFactorMethod, TwoFactorRecoveryResponse, TwoFactorRegenerateResponse, TwoFactorSetupMagicLinkSession, TwoFactorSetupMagicLinkValidationResponse, TwoFactorSetupResponse, TwoFactorStatusResponse, TwoFactorTrustedDevice, TwoFactorVerifyRequestV2, TwoFactorVerifyResponse, TwoFactorVerifyResponseV2 } from '../api/model';
|
|
2
|
-
import { TwoFactorApiClient } from '../api/two-factor';
|
|
3
|
-
import { PassflowStore } from '../store';
|
|
4
|
-
import type { Tokens } from '../types';
|
|
5
|
-
/**
|
|
6
|
-
* Owns what a second factor's answer turns into: this service never stores tokens
|
|
7
|
-
* or holds the PKCE verifier. `AuthService` implements it.
|
|
8
|
-
*/
|
|
9
|
-
export interface SignInCompleter {
|
|
10
|
-
/** Redeems the code a second factor answered with on a PKCE sign-in, and applies the tokens. */
|
|
11
|
-
completePkceSignIn(code: string): Promise<Tokens>;
|
|
12
|
-
/** Applies the tokens a second factor answered with directly. */
|
|
13
|
-
applyTokens(tokens: Tokens): Promise<void>;
|
|
14
|
-
hasPendingPkceSignIn(): boolean;
|
|
15
|
-
forgetPkceSignIn(): void;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Service for managing Two-Factor Authentication
|
|
19
|
-
*/
|
|
20
|
-
export declare class TwoFactorService {
|
|
21
|
-
private twoFactorApi;
|
|
22
|
-
private subscribeStore;
|
|
23
|
-
private signInCompleter?;
|
|
24
|
-
private partialAuthState?;
|
|
25
|
-
private readonly PARTIAL_AUTH_TIMEOUT_MS;
|
|
26
|
-
private readonly SESSION_STORAGE_KEY;
|
|
27
|
-
private totpDigits;
|
|
28
|
-
private magicLinkSession?;
|
|
29
|
-
constructor(twoFactorApi: TwoFactorApiClient, subscribeStore: PassflowStore, signInCompleter?: SignInCompleter | undefined);
|
|
30
|
-
/**
|
|
31
|
-
* Emit error event and throw the error
|
|
32
|
-
* Helper method to ensure errors are properly emitted to subscribers
|
|
33
|
-
*/
|
|
34
|
-
private emitErrorAndThrow;
|
|
35
|
-
/**
|
|
36
|
-
* Get 2FA enrollment status for current user
|
|
37
|
-
*/
|
|
38
|
-
getStatus(): Promise<TwoFactorStatusResponse>;
|
|
39
|
-
/**
|
|
40
|
-
* Begin 2FA setup process
|
|
41
|
-
* Returns secret and QR code for authenticator app
|
|
42
|
-
*/
|
|
43
|
-
beginSetup(): Promise<TwoFactorSetupResponse>;
|
|
44
|
-
/**
|
|
45
|
-
* Confirm 2FA setup with TOTP code
|
|
46
|
-
* Returns recovery codes that MUST be displayed to user
|
|
47
|
-
*/
|
|
48
|
-
confirmSetup(code: string): Promise<TwoFactorConfirmResponse>;
|
|
49
|
-
/**
|
|
50
|
-
* Verify TOTP code during login
|
|
51
|
-
* Completes authentication if successful
|
|
52
|
-
*
|
|
53
|
-
* @param options.trustDevice - ask the server to trust this device for later sign-ins
|
|
54
|
-
*/
|
|
55
|
-
verify(code: string, options?: TwoFactorCompletionOptions): Promise<TwoFactorVerifyResponse>;
|
|
56
|
-
/**
|
|
57
|
-
* Use recovery code for authentication
|
|
58
|
-
* Completes authentication if successful
|
|
59
|
-
*
|
|
60
|
-
* @param options.trustDevice - ask the server to trust this device for later sign-ins
|
|
61
|
-
*/
|
|
62
|
-
useRecoveryCode(code: string, options?: TwoFactorCompletionOptions): Promise<TwoFactorRecoveryResponse>;
|
|
63
|
-
/**
|
|
64
|
-
* Disable 2FA (requires TOTP verification)
|
|
65
|
-
*/
|
|
66
|
-
disable(code: string): Promise<TwoFactorDisableResponse>;
|
|
67
|
-
/**
|
|
68
|
-
* Regenerate recovery codes
|
|
69
|
-
*/
|
|
70
|
-
regenerateRecoveryCodes(code: string): Promise<TwoFactorRegenerateResponse>;
|
|
71
|
-
/**
|
|
72
|
-
* Check if 2FA verification is required (local state check)
|
|
73
|
-
* Returns true if user has signed in but needs 2FA verification
|
|
74
|
-
*/
|
|
75
|
-
isVerificationRequired(): boolean;
|
|
76
|
-
/**
|
|
77
|
-
* Set partial auth state when login requires 2FA
|
|
78
|
-
* Called internally via event listener when AuthService emits TwoFactorRequired
|
|
79
|
-
*/
|
|
80
|
-
setPartialAuthState(email?: string, challengeId?: string, tfaToken?: string): void;
|
|
81
|
-
/**
|
|
82
|
-
* Clear partial auth state
|
|
83
|
-
* Called on logout or successful verification
|
|
84
|
-
*/
|
|
85
|
-
clearPartialAuthState(): void;
|
|
86
|
-
/**
|
|
87
|
-
* Ends the pending sign-in with the second factor's answer. On a PKCE app that
|
|
88
|
-
* answer is a code, redeemed and replaced by the tokens, so no caller or
|
|
89
|
-
* subscriber ever gets a code where tokens belong. Tokens are applied once, by
|
|
90
|
-
* the completer, in the app's delivery mode. The pending state goes only after
|
|
91
|
-
* that has worked, except when no verifier can ever redeem the code.
|
|
92
|
-
*/
|
|
93
|
-
private finishSignIn;
|
|
94
|
-
/**
|
|
95
|
-
* The 2FA token of the sign-in waiting on its second factor, if any.
|
|
96
|
-
*/
|
|
97
|
-
private pendingTfaToken;
|
|
98
|
-
/**
|
|
99
|
-
* Attempt to recover partial auth state from sessionStorage
|
|
100
|
-
* Called before verification operations to handle page refresh
|
|
101
|
-
*/
|
|
102
|
-
private recoverPartialAuthState;
|
|
103
|
-
/**
|
|
104
|
-
* Validate magic link token for 2FA setup
|
|
105
|
-
*
|
|
106
|
-
* This method validates an admin-generated magic link token and
|
|
107
|
-
* creates a scoped session (scope: "2fa_setup") that can ONLY be
|
|
108
|
-
* used for completing 2FA setup operations.
|
|
109
|
-
*
|
|
110
|
-
* Session characteristics:
|
|
111
|
-
* - Stored in memory only (no persistence across page reloads)
|
|
112
|
-
* - Short-lived (typically 1 hour expiration)
|
|
113
|
-
* - Cannot be refreshed
|
|
114
|
-
* - Cannot be promoted to full authentication
|
|
115
|
-
* - Only valid for 2FA setup endpoints
|
|
116
|
-
*
|
|
117
|
-
* @param token - Magic link token from URL parameter
|
|
118
|
-
* @returns Validation response with session details
|
|
119
|
-
*/
|
|
120
|
-
validateTwoFactorSetupMagicLink(token: string): Promise<TwoFactorSetupMagicLinkValidationResponse>;
|
|
121
|
-
/**
|
|
122
|
-
* Get current magic link session (if any)
|
|
123
|
-
* Used by React SDK to access session token for API calls
|
|
124
|
-
*
|
|
125
|
-
* @returns Active magic link session or null if none/expired
|
|
126
|
-
*/
|
|
127
|
-
getMagicLinkSession(): TwoFactorSetupMagicLinkSession | null;
|
|
128
|
-
/**
|
|
129
|
-
* Clear magic link session
|
|
130
|
-
* Called after successful setup completion or on error
|
|
131
|
-
*/
|
|
132
|
-
clearMagicLinkSession(): void;
|
|
133
|
-
/**
|
|
134
|
-
* Check if magic link session is active
|
|
135
|
-
* Used by React SDK to determine if form can use magic link auth
|
|
136
|
-
*/
|
|
137
|
-
hasMagicLinkSession(): boolean;
|
|
138
|
-
/**
|
|
139
|
-
* Get the session token from magic link session (if active)
|
|
140
|
-
* Used by AxiosClient for injecting auth header on 2FA setup endpoints
|
|
141
|
-
*/
|
|
142
|
-
getMagicLinkSessionToken(): string | null;
|
|
143
|
-
/**
|
|
144
|
-
* Get configured TOTP digit count
|
|
145
|
-
* Returns the number of digits (6 or 8) for TOTP codes
|
|
146
|
-
* Useful for UI components that need to render the correct number of input fields
|
|
147
|
-
*/
|
|
148
|
-
getTotpDigits(): 6 | 8;
|
|
149
|
-
/**
|
|
150
|
-
* Get available 2FA methods for current user
|
|
151
|
-
*/
|
|
152
|
-
getAvailableMethods(): Promise<TwoFactorMethod[]>;
|
|
153
|
-
/**
|
|
154
|
-
* Get registered 2FA methods for current user
|
|
155
|
-
*/
|
|
156
|
-
getRegisteredMethods(): Promise<RegisteredTwoFactorMethod[]>;
|
|
157
|
-
/**
|
|
158
|
-
* Start 2FA method setup
|
|
159
|
-
*/
|
|
160
|
-
startMethodSetup(method: TwoFactorMethod, payload?: Record<string, unknown>): Promise<unknown>;
|
|
161
|
-
/**
|
|
162
|
-
* Complete 2FA method setup
|
|
163
|
-
*/
|
|
164
|
-
completeMethodSetup(method: TwoFactorMethod, payload: Record<string, unknown>): Promise<unknown>;
|
|
165
|
-
/**
|
|
166
|
-
* Remove registered 2FA method
|
|
167
|
-
*/
|
|
168
|
-
removeMethod(methodId: string): Promise<void>;
|
|
169
|
-
/**
|
|
170
|
-
* Request 2FA challenge during login
|
|
171
|
-
*/
|
|
172
|
-
requestChallenge(payload: TwoFactorChallengeRequest): Promise<TwoFactorChallengeResponse>;
|
|
173
|
-
/**
|
|
174
|
-
* Verify 2FA challenge (v2)
|
|
175
|
-
* Set `trust_device` on the payload to ask the server to trust this device.
|
|
176
|
-
*/
|
|
177
|
-
verifyV2(payload: TwoFactorVerifyRequestV2): Promise<TwoFactorVerifyResponseV2>;
|
|
178
|
-
/**
|
|
179
|
-
* Switch to alternative 2FA method during challenge
|
|
180
|
-
*/
|
|
181
|
-
switchToAlternative(payload: TwoFactorAlternativeRequest): Promise<TwoFactorChallengeResponse>;
|
|
182
|
-
/**
|
|
183
|
-
* List the devices the user trusted to skip the second factor on this app.
|
|
184
|
-
* The one this request came from has `current: true`.
|
|
185
|
-
*/
|
|
186
|
-
getTrustedDevices(): Promise<TwoFactorTrustedDevice[]>;
|
|
187
|
-
/**
|
|
188
|
-
* Revoke a trusted device; its next sign-in asks for the second factor again.
|
|
189
|
-
* Rejects with the server's 404 when the user has no such device.
|
|
190
|
-
*/
|
|
191
|
-
revokeTrustedDevice(deviceId: string): Promise<void>;
|
|
192
|
-
}
|
|
193
|
-
//# sourceMappingURL=two-factor-service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"two-factor-service.d.ts","sourceRoot":"","sources":["../../../lib/services/two-factor-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { PassflowSuccessResponse, UserAPI } from '../api';
|
|
2
|
-
import type { PlatformAdapter } from '../platform';
|
|
3
|
-
/**
|
|
4
|
-
* Service for managing user profile and passkeys
|
|
5
|
-
*/
|
|
6
|
-
export declare class UserService {
|
|
7
|
-
private userAPI;
|
|
8
|
-
private deviceService;
|
|
9
|
-
private platform;
|
|
10
|
-
constructor(userAPI: UserAPI, deviceService: DeviceService, platform?: PlatformAdapter);
|
|
11
|
-
/**
|
|
12
|
-
* Get user's registered passkeys
|
|
13
|
-
* @returns Promise with passkeys array
|
|
14
|
-
*/
|
|
15
|
-
getUserPasskeys(): Promise<import("..").PassflowUserPasskey[]>;
|
|
16
|
-
/**
|
|
17
|
-
* Rename a user passkey
|
|
18
|
-
* @param name The new name for the passkey
|
|
19
|
-
* @param passkeyId The ID of the passkey to rename
|
|
20
|
-
* @returns Promise with success response
|
|
21
|
-
*/
|
|
22
|
-
renameUserPasskey(name: string, passkeyId: string): Promise<PassflowSuccessResponse>;
|
|
23
|
-
/**
|
|
24
|
-
* Delete a user passkey
|
|
25
|
-
* @param passkeyId The ID of the passkey to delete
|
|
26
|
-
* @returns Promise with success response
|
|
27
|
-
*/
|
|
28
|
-
deleteUserPasskey(passkeyId: string): Promise<PassflowSuccessResponse>;
|
|
29
|
-
/**
|
|
30
|
-
* Add a new passkey for the current user
|
|
31
|
-
* @param options Optional parameters for the passkey
|
|
32
|
-
* @returns Promise that resolves when the passkey is added
|
|
33
|
-
*/
|
|
34
|
-
addUserPasskey({ relyingPartyId, passkeyUsername, passkeyDisplayName, }?: {
|
|
35
|
-
relyingPartyId?: string;
|
|
36
|
-
passkeyUsername?: string;
|
|
37
|
-
passkeyDisplayName?: string;
|
|
38
|
-
}): Promise<void>;
|
|
39
|
-
}
|
|
40
|
-
import { DeviceService } from '../device';
|
|
41
|
-
//# sourceMappingURL=user-service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"user-service.d.ts","sourceRoot":"","sources":["../../../lib/services/user-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,uBAAuB,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD;;GAEG;AACH,qBAAa,WAAW;IAEpB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,QAAQ;IAHlB,YACU,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,aAAa,EAC5B,QAAQ,GAAE,eAA4B,EAC5C;IAEJ;;;OAGG;IACH,eAAe,gDAEd;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAEnF;IAED;;;;OAIG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAErE;IAED;;;;OAIG;IACG,cAAc,CAAC,EACnB,cAAc,EACd,eAAe,EACf,kBAAkB,GACnB,GAAE;QACD,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBrB;CACF;AAGD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC"}
|