@happyvertical/smrt-users 0.43.10 → 0.44.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/chunks/{TerminalAuthService-CN8ATZwO.js → TerminalAuthService-Ct7GHB_F.js} +2 -2
- package/dist/chunks/{TerminalAuthService-CN8ATZwO.js.map → TerminalAuthService-Ct7GHB_F.js.map} +1 -1
- package/dist/index.js +3 -3
- package/dist/manifest.json +8 -2
- package/dist/smrt-knowledge.json +6 -3
- package/dist/svelte/components/InviteUserModal.svelte +6 -0
- package/dist/svelte/components/InviteUserModal.svelte.d.ts +6 -0
- package/dist/svelte/components/InviteUserModal.svelte.d.ts.map +1 -1
- package/dist/svelte/components/UserAvatar.svelte +3 -0
- package/dist/svelte/components/UserAvatar.svelte.d.ts +3 -0
- package/dist/svelte/components/UserAvatar.svelte.d.ts.map +1 -1
- package/dist/svelte/components/UserCard.svelte +6 -0
- package/dist/svelte/components/UserCard.svelte.d.ts +6 -0
- package/dist/svelte/components/UserCard.svelte.d.ts.map +1 -1
- package/dist/svelte/components/UserForm.svelte +5 -0
- package/dist/svelte/components/UserForm.svelte.d.ts +5 -0
- package/dist/svelte/components/UserForm.svelte.d.ts.map +1 -1
- package/dist/svelte/components/UserList.svelte +6 -0
- package/dist/svelte/components/UserList.svelte.d.ts +6 -0
- package/dist/svelte/components/UserList.svelte.d.ts.map +1 -1
- package/dist/sveltekit.js +1 -1
- package/package.json +10 -9
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as MembershipCollection, A as UserEmailKeyBackfillError, B as PermissionCatalogService, C as decodeOidcTransaction, Ct as SessionStatus, Dt as UsersCliAuthRequest, E as resolveOidcProviderConfig, Et as UserStatus, F as TenantHierarchyError, G as syncPermissionCatalog, H as deriveOperationPermissionSlug, I as MAX_TENANT_HIERARCHY_DEPTH, J as Role, K as RolePermission, L as Tenant, M as TenantPermissionOverrideCollection, N as TenantPermissionOverride, O as OidcProvisioningError, P as TenantCollection, Q as MembershipOverride, R as DEFAULT_ROLE_PERMISSION_PATTERNS, S as OidcLoginService, St as OverrideEffect, T as getUsersOidcConfig, Tt as TenantStatus, U as normalizeOperationPermissionAction, V as deriveOperationPermissionCollectionName, W as registerPermissionDefinitions, X as Permission, Y as PermissionCollection, Z as MembershipOverrideCollection, _ as readMobileBearerToken, _t as AccessRequestStatus, a as TerminalAuthRateLimitError, at as GroupCollection, b as PermissionResolver, bt as DEFAULT_TENANT_POLICY, c as assertOperationPermission, ct as UsersCliAuthApproveLimit, d as getCurrentSessionPermissionContext, dt as normalizeEmail, et as Membership, f as getRequestScopedDatabase, ft as UsersCliAuthRequestCollection, g as MobileAuthService, gt as generateSessionId, h as MobileAuthError, ht as Session, i as TerminalAuthError, it as GroupMember, j as backfillUserEmailKeys, k as UserCollection, l as checkOperationPermission, lt as User, m as withSessionPermissionContext, mt as DEFAULT_SESSION_TTL, n as DEFAULT_CLI_AUTH_REQUEST_TTL_SECONDS, nt as GroupRole, o as TerminalAuthService, ot as Group, p as withPrincipalPermissionContext, pt as SessionCollection, q as RoleCollection, r as DEFAULT_CLI_SESSION_TTL_SECONDS, rt as GroupMemberCollection, s as OperationPermissionError, st as UsersCliAuthApproveLimitCollection, t as DEFAULT_CLI_AUTH_POLL_INTERVAL_SECONDS, tt as GroupRoleCollection, u as hasOperationPermission, ut as isValidEmail, v as validateMobileRedirectUri, vt as DEFAULT_ROLES, w as encodeOidcTransaction, wt as TenantPermissionEffect, x as OidcLoginError, xt as MembershipStatus, y as SessionService, yt as DEFAULT_ROLE_SLUGS, z as RolePermissionCollection } from "./chunks/TerminalAuthService-
|
|
1
|
+
import { $ as MembershipCollection, A as UserEmailKeyBackfillError, B as PermissionCatalogService, C as decodeOidcTransaction, Ct as SessionStatus, Dt as UsersCliAuthRequest, E as resolveOidcProviderConfig, Et as UserStatus, F as TenantHierarchyError, G as syncPermissionCatalog, H as deriveOperationPermissionSlug, I as MAX_TENANT_HIERARCHY_DEPTH, J as Role, K as RolePermission, L as Tenant, M as TenantPermissionOverrideCollection, N as TenantPermissionOverride, O as OidcProvisioningError, P as TenantCollection, Q as MembershipOverride, R as DEFAULT_ROLE_PERMISSION_PATTERNS, S as OidcLoginService, St as OverrideEffect, T as getUsersOidcConfig, Tt as TenantStatus, U as normalizeOperationPermissionAction, V as deriveOperationPermissionCollectionName, W as registerPermissionDefinitions, X as Permission, Y as PermissionCollection, Z as MembershipOverrideCollection, _ as readMobileBearerToken, _t as AccessRequestStatus, a as TerminalAuthRateLimitError, at as GroupCollection, b as PermissionResolver, bt as DEFAULT_TENANT_POLICY, c as assertOperationPermission, ct as UsersCliAuthApproveLimit, d as getCurrentSessionPermissionContext, dt as normalizeEmail, et as Membership, f as getRequestScopedDatabase, ft as UsersCliAuthRequestCollection, g as MobileAuthService, gt as generateSessionId, h as MobileAuthError, ht as Session, i as TerminalAuthError, it as GroupMember, j as backfillUserEmailKeys, k as UserCollection, l as checkOperationPermission, lt as User, m as withSessionPermissionContext, mt as DEFAULT_SESSION_TTL, n as DEFAULT_CLI_AUTH_REQUEST_TTL_SECONDS, nt as GroupRole, o as TerminalAuthService, ot as Group, p as withPrincipalPermissionContext, pt as SessionCollection, q as RoleCollection, r as DEFAULT_CLI_SESSION_TTL_SECONDS, rt as GroupMemberCollection, s as OperationPermissionError, st as UsersCliAuthApproveLimitCollection, t as DEFAULT_CLI_AUTH_POLL_INTERVAL_SECONDS, tt as GroupRoleCollection, u as hasOperationPermission, ut as isValidEmail, v as validateMobileRedirectUri, vt as DEFAULT_ROLES, w as encodeOidcTransaction, wt as TenantPermissionEffect, x as OidcLoginError, xt as MembershipStatus, y as SessionService, yt as DEFAULT_ROLE_SLUGS, z as RolePermissionCollection } from "./chunks/TerminalAuthService-Ct7GHB_F.js";
|
|
2
2
|
import { ObjectRegistry, SmrtCollection, SmrtObject, field, findManifestEntryByQualifiedName, isUniqueViolationError, registerRetentionTask, smrt, unregisterRetentionTask } from "@happyvertical/smrt-core";
|
|
3
3
|
import { createHash } from "node:crypto";
|
|
4
4
|
import { TenantScoped, tenantId } from "@happyvertical/smrt-tenancy";
|
|
@@ -953,7 +953,7 @@ var MagicLinkService = class MagicLinkService {
|
|
|
953
953
|
* The caller is responsible for emailing the token to the user.
|
|
954
954
|
*/
|
|
955
955
|
async generate(email) {
|
|
956
|
-
const { SignJWT } = await import("./chunks/TerminalAuthService-
|
|
956
|
+
const { SignJWT } = await import("./chunks/TerminalAuthService-Ct7GHB_F.js").then((n) => n.D);
|
|
957
957
|
const key = await this.getSigningKey();
|
|
958
958
|
const nonce = crypto.randomUUID();
|
|
959
959
|
const normalizedEmail = normalizeEmail(email);
|
|
@@ -982,7 +982,7 @@ var MagicLinkService = class MagicLinkService {
|
|
|
982
982
|
* @throws {MagicLinkError} If the token is invalid, expired, or already used
|
|
983
983
|
*/
|
|
984
984
|
async verify(token) {
|
|
985
|
-
const { jwtVerify, errors } = await import("./chunks/TerminalAuthService-
|
|
985
|
+
const { jwtVerify, errors } = await import("./chunks/TerminalAuthService-Ct7GHB_F.js").then((n) => n.D);
|
|
986
986
|
const key = await this.getSigningKey();
|
|
987
987
|
let payload;
|
|
988
988
|
try {
|
package/dist/manifest.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"version": "1.0.0",
|
|
3
3
|
"timestamp": 0,
|
|
4
4
|
"packageName": "@happyvertical/smrt-users",
|
|
5
|
-
"packageVersion": "0.
|
|
5
|
+
"packageVersion": "0.44.1",
|
|
6
6
|
"objects": {
|
|
7
7
|
"@happyvertical/smrt-users:AccessRequestCollection": {
|
|
8
8
|
"name": "accessrequestcollection",
|
|
@@ -5736,7 +5736,13 @@
|
|
|
5736
5736
|
"delete": {
|
|
5737
5737
|
"name": "delete",
|
|
5738
5738
|
"async": true,
|
|
5739
|
-
"parameters": [
|
|
5739
|
+
"parameters": [
|
|
5740
|
+
{
|
|
5741
|
+
"name": "options",
|
|
5742
|
+
"type": "SmrtDeleteOptions",
|
|
5743
|
+
"optional": true
|
|
5744
|
+
}
|
|
5745
|
+
],
|
|
5740
5746
|
"returnType": "Promise<void>",
|
|
5741
5747
|
"isStatic": false,
|
|
5742
5748
|
"isPublic": true
|
package/dist/smrt-knowledge.json
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
"sensitiveFieldsExcluded": true,
|
|
4
4
|
"generatedAt": "1970-01-01T00:00:00.000Z",
|
|
5
5
|
"packageName": "@happyvertical/smrt-users",
|
|
6
|
-
"packageVersion": "0.
|
|
6
|
+
"packageVersion": "0.44.1",
|
|
7
7
|
"sourceManifestPath": "dist/manifest.json",
|
|
8
8
|
"agentDocPath": "AGENTS.md",
|
|
9
9
|
"sourceHashes": {
|
|
10
|
-
"manifest": "
|
|
11
|
-
"packageJson": "
|
|
10
|
+
"manifest": "d585074fb3a0f0d1ea888eda737057cbc5b3316c0a7132700c08bb119e753b74",
|
|
11
|
+
"packageJson": "18b4b4c3382911dff069b592f18e95fd26b4a27a8a229d39e75c8261948efa89",
|
|
12
12
|
"agents": "0b36b90b6859635caf8854d833f6b89a494e4b55d538fd3597bc03d8dc8b3234",
|
|
13
13
|
"moduleDoc:agents/retention.md": "425c0a34ed33969badfef699751bfa670bdf618eda65e079e00815620aabed68"
|
|
14
14
|
},
|
|
@@ -3226,6 +3226,9 @@
|
|
|
3226
3226
|
{
|
|
3227
3227
|
"name": "delete",
|
|
3228
3228
|
"async": true,
|
|
3229
|
+
"params": [
|
|
3230
|
+
"options?: SmrtDeleteOptions"
|
|
3231
|
+
],
|
|
3229
3232
|
"returns": "Promise<void>"
|
|
3230
3233
|
},
|
|
3231
3234
|
{
|
|
@@ -10,15 +10,21 @@ import { M } from '../i18n.js';
|
|
|
10
10
|
const { t } = useI18n();
|
|
11
11
|
|
|
12
12
|
export interface Props {
|
|
13
|
+
/** Controls whether the invitation modal is visible. */
|
|
13
14
|
open: boolean;
|
|
15
|
+
/** Tenant context for the invitation. */
|
|
14
16
|
tenant: Tenant;
|
|
17
|
+
/** Available roles that can be assigned to the invited user. */
|
|
15
18
|
roles: Role[];
|
|
19
|
+
/** Callback invoked with email, role, and send preference when form is submitted. */
|
|
16
20
|
onsubmit: (data: {
|
|
17
21
|
email: string;
|
|
18
22
|
roleId: string;
|
|
19
23
|
sendEmail: boolean;
|
|
20
24
|
}) => void;
|
|
25
|
+
/** Callback invoked to close the invitation modal. */
|
|
21
26
|
onclose: () => void;
|
|
27
|
+
/** Blocks form submission while invitation is being processed. */
|
|
22
28
|
loading?: boolean;
|
|
23
29
|
}
|
|
24
30
|
|
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
import type { Role, Tenant } from '@happyvertical/smrt-users';
|
|
2
2
|
export interface Props {
|
|
3
|
+
/** Controls whether the invitation modal is visible. */
|
|
3
4
|
open: boolean;
|
|
5
|
+
/** Tenant context for the invitation. */
|
|
4
6
|
tenant: Tenant;
|
|
7
|
+
/** Available roles that can be assigned to the invited user. */
|
|
5
8
|
roles: Role[];
|
|
9
|
+
/** Callback invoked with email, role, and send preference when form is submitted. */
|
|
6
10
|
onsubmit: (data: {
|
|
7
11
|
email: string;
|
|
8
12
|
roleId: string;
|
|
9
13
|
sendEmail: boolean;
|
|
10
14
|
}) => void;
|
|
15
|
+
/** Callback invoked to close the invitation modal. */
|
|
11
16
|
onclose: () => void;
|
|
17
|
+
/** Blocks form submission while invitation is being processed. */
|
|
12
18
|
loading?: boolean;
|
|
13
19
|
}
|
|
14
20
|
declare const InviteUserModal: import("svelte").Component<Props, {}, "">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InviteUserModal.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/components/InviteUserModal.svelte.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAI9D,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,QAAQ,EAAE,CAAC,IAAI,EAAE;QACf,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,OAAO,CAAC;KACpB,KAAK,IAAI,CAAC;IACX,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAgHD,QAAA,MAAM,eAAe,2CAAwC,CAAC;AAC9D,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAC1D,eAAe,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"InviteUserModal.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/components/InviteUserModal.svelte.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAI9D,MAAM,WAAW,KAAK;IACpB,wDAAwD;IACxD,IAAI,EAAE,OAAO,CAAC;IACd,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,qFAAqF;IACrF,QAAQ,EAAE,CAAC,IAAI,EAAE;QACf,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,OAAO,CAAC;KACpB,KAAK,IAAI,CAAC;IACX,sDAAsD;IACtD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,kEAAkE;IAClE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAgHD,QAAA,MAAM,eAAe,2CAAwC,CAAC;AAC9D,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAC1D,eAAe,eAAe,CAAC"}
|
|
@@ -2,8 +2,11 @@
|
|
|
2
2
|
import type { Profile } from '@happyvertical/smrt-profiles';
|
|
3
3
|
|
|
4
4
|
export interface Props {
|
|
5
|
+
/** User profile containing name and avatar details. */
|
|
5
6
|
profile: Profile;
|
|
7
|
+
/** Avatar size: sm, md, lg, or xl. */
|
|
6
8
|
size?: 'sm' | 'md' | 'lg' | 'xl';
|
|
9
|
+
/** Displays the user's name next to the avatar. */
|
|
7
10
|
showName?: boolean;
|
|
8
11
|
}
|
|
9
12
|
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import type { Profile } from '@happyvertical/smrt-profiles';
|
|
2
2
|
export interface Props {
|
|
3
|
+
/** User profile containing name and avatar details. */
|
|
3
4
|
profile: Profile;
|
|
5
|
+
/** Avatar size: sm, md, lg, or xl. */
|
|
4
6
|
size?: 'sm' | 'md' | 'lg' | 'xl';
|
|
7
|
+
/** Displays the user's name next to the avatar. */
|
|
5
8
|
showName?: boolean;
|
|
6
9
|
}
|
|
7
10
|
declare const UserAvatar: import("svelte").Component<Props, {}, "">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserAvatar.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/components/UserAvatar.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAG5D,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA4DD,QAAA,MAAM,UAAU,2CAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"UserAvatar.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/components/UserAvatar.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAG5D,MAAM,WAAW,KAAK;IACpB,uDAAuD;IACvD,OAAO,EAAE,OAAO,CAAC;IACjB,sCAAsC;IACtC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA4DD,QAAA,MAAM,UAAU,2CAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
|
|
@@ -9,11 +9,17 @@ import type { User } from '@happyvertical/smrt-users';
|
|
|
9
9
|
import UserAvatar from './UserAvatar.svelte';
|
|
10
10
|
|
|
11
11
|
export interface Props {
|
|
12
|
+
/** User account containing email and identification. */
|
|
12
13
|
user: User;
|
|
14
|
+
/** User profile containing name and avatar data. */
|
|
13
15
|
profile: Profile;
|
|
16
|
+
/** User's role or position title. */
|
|
14
17
|
role?: string;
|
|
18
|
+
/** User status (active, pending, suspended, or inactive). */
|
|
15
19
|
status?: string;
|
|
20
|
+
/** Callback invoked when the card is clicked. */
|
|
16
21
|
onclick?: () => void;
|
|
22
|
+
/** Indicates whether the card is in a selected state. */
|
|
17
23
|
selected?: boolean;
|
|
18
24
|
}
|
|
19
25
|
|
|
@@ -5,11 +5,17 @@
|
|
|
5
5
|
import type { Profile } from '@happyvertical/smrt-profiles';
|
|
6
6
|
import type { User } from '@happyvertical/smrt-users';
|
|
7
7
|
export interface Props {
|
|
8
|
+
/** User account containing email and identification. */
|
|
8
9
|
user: User;
|
|
10
|
+
/** User profile containing name and avatar data. */
|
|
9
11
|
profile: Profile;
|
|
12
|
+
/** User's role or position title. */
|
|
10
13
|
role?: string;
|
|
14
|
+
/** User status (active, pending, suspended, or inactive). */
|
|
11
15
|
status?: string;
|
|
16
|
+
/** Callback invoked when the card is clicked. */
|
|
12
17
|
onclick?: () => void;
|
|
18
|
+
/** Indicates whether the card is in a selected state. */
|
|
13
19
|
selected?: boolean;
|
|
14
20
|
}
|
|
15
21
|
declare const UserCard: import("svelte").Component<Props, {}, "">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserCard.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/components/UserCard.svelte.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAE5D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAItD,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAyDD,QAAA,MAAM,QAAQ,2CAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"UserCard.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/components/UserCard.svelte.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAE5D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAItD,MAAM,WAAW,KAAK;IACpB,wDAAwD;IACxD,IAAI,EAAE,IAAI,CAAC;IACX,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAyDD,QAAA,MAAM,QAAQ,2CAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
|
|
@@ -10,10 +10,15 @@ import { M } from '../i18n.js';
|
|
|
10
10
|
const { t } = useI18n();
|
|
11
11
|
|
|
12
12
|
export interface Props {
|
|
13
|
+
/** Optional user account for editing; null creates a new user. */
|
|
13
14
|
user?: User | null;
|
|
15
|
+
/** Optional user profile for editing. */
|
|
14
16
|
profile?: Profile | null;
|
|
17
|
+
/** Callback invoked with name, email, and status when form is submitted. */
|
|
15
18
|
onsubmit: (data: { name: string; email: string; status: UserStatus }) => void;
|
|
19
|
+
/** Callback invoked when the form is canceled. */
|
|
16
20
|
oncancel?: () => void;
|
|
21
|
+
/** Blocks form input while user changes are being processed. */
|
|
17
22
|
loading?: boolean;
|
|
18
23
|
}
|
|
19
24
|
|
|
@@ -2,14 +2,19 @@ import type { Profile } from '@happyvertical/smrt-profiles';
|
|
|
2
2
|
import { UserStatus } from '@happyvertical/smrt-types';
|
|
3
3
|
import type { User } from '@happyvertical/smrt-users';
|
|
4
4
|
export interface Props {
|
|
5
|
+
/** Optional user account for editing; null creates a new user. */
|
|
5
6
|
user?: User | null;
|
|
7
|
+
/** Optional user profile for editing. */
|
|
6
8
|
profile?: Profile | null;
|
|
9
|
+
/** Callback invoked with name, email, and status when form is submitted. */
|
|
7
10
|
onsubmit: (data: {
|
|
8
11
|
name: string;
|
|
9
12
|
email: string;
|
|
10
13
|
status: UserStatus;
|
|
11
14
|
}) => void;
|
|
15
|
+
/** Callback invoked when the form is canceled. */
|
|
12
16
|
oncancel?: () => void;
|
|
17
|
+
/** Blocks form input while user changes are being processed. */
|
|
13
18
|
loading?: boolean;
|
|
14
19
|
}
|
|
15
20
|
declare const UserForm: import("svelte").Component<Props, {}, "">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserForm.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/components/UserForm.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAIvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAItD,MAAM,WAAW,KAAK;IACpB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,CAAC;IAC9E,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA0GD,QAAA,MAAM,QAAQ,2CAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"UserForm.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/components/UserForm.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAIvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAItD,MAAM,WAAW,KAAK;IACpB,kEAAkE;IAClE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,yCAAyC;IACzC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,4EAA4E;IAC5E,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,CAAC;IAC9E,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,gEAAgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA0GD,QAAA,MAAM,QAAQ,2CAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
|
|
@@ -15,11 +15,17 @@ interface UserWithProfile {
|
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
export interface Props {
|
|
18
|
+
/** Array of users with profiles to display. */
|
|
18
19
|
users: UserWithProfile[];
|
|
20
|
+
/** ID of the currently selected user. */
|
|
19
21
|
selectedId?: string | null;
|
|
22
|
+
/** Callback invoked with the user when a user is selected. */
|
|
20
23
|
onselect?: (user: User) => void;
|
|
24
|
+
/** Message displayed when the user list is empty. */
|
|
21
25
|
emptyMessage?: string;
|
|
26
|
+
/** Optional snippet to render a custom empty state. */
|
|
22
27
|
empty?: Snippet;
|
|
28
|
+
/** Shows a loading spinner while users are being fetched. */
|
|
23
29
|
loading?: boolean;
|
|
24
30
|
}
|
|
25
31
|
|
|
@@ -7,11 +7,17 @@ interface UserWithProfile {
|
|
|
7
7
|
role?: string;
|
|
8
8
|
}
|
|
9
9
|
export interface Props {
|
|
10
|
+
/** Array of users with profiles to display. */
|
|
10
11
|
users: UserWithProfile[];
|
|
12
|
+
/** ID of the currently selected user. */
|
|
11
13
|
selectedId?: string | null;
|
|
14
|
+
/** Callback invoked with the user when a user is selected. */
|
|
12
15
|
onselect?: (user: User) => void;
|
|
16
|
+
/** Message displayed when the user list is empty. */
|
|
13
17
|
emptyMessage?: string;
|
|
18
|
+
/** Optional snippet to render a custom empty state. */
|
|
14
19
|
empty?: Snippet;
|
|
20
|
+
/** Shows a loading spinner while users are being fetched. */
|
|
15
21
|
loading?: boolean;
|
|
16
22
|
}
|
|
17
23
|
declare const UserList: import("svelte").Component<Props, {}, "">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserList.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/components/UserList.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAE5D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAKtC,UAAU,eAAe;IACvB,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA8CD,QAAA,MAAM,QAAQ,2CAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"UserList.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/components/UserList.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAE5D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAKtC,UAAU,eAAe;IACvB,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,KAAK;IACpB,+CAA+C;IAC/C,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAChC,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA8CD,QAAA,MAAM,QAAQ,2CAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
|
package/dist/sveltekit.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as decodeOidcTransaction, E as resolveOidcProviderConfig, S as OidcLoginService, T as getUsersOidcConfig, _ as readMobileBearerToken, a as TerminalAuthRateLimitError, g as MobileAuthService, h as MobileAuthError, i as TerminalAuthError, m as withSessionPermissionContext, o as TerminalAuthService, s as OperationPermissionError, v as validateMobileRedirectUri, w as encodeOidcTransaction, x as OidcLoginError, y as SessionService } from "./chunks/TerminalAuthService-
|
|
1
|
+
import { C as decodeOidcTransaction, E as resolveOidcProviderConfig, S as OidcLoginService, T as getUsersOidcConfig, _ as readMobileBearerToken, a as TerminalAuthRateLimitError, g as MobileAuthService, h as MobileAuthError, i as TerminalAuthError, m as withSessionPermissionContext, o as TerminalAuthService, s as OperationPermissionError, v as validateMobileRedirectUri, w as encodeOidcTransaction, x as OidcLoginError, y as SessionService } from "./chunks/TerminalAuthService-Ct7GHB_F.js";
|
|
2
2
|
import { DiscoveryArtifactValidationError, SMRT_APP_RESULT_CONTRACT, SMRT_APP_RESULT_SCHEMA, SMRT_APP_RESULT_VERSION, SMRT_DISCOVERY_CONFORMANCE_ARTIFACT_SCHEMA, SMRT_DISCOVERY_CONFORMANCE_SCHEMA, SMRT_DISCOVERY_CONFORMANCE_VERSION, SMRT_MCP_RESULT_METADATA_KEY, canonicalizeDiscoveryArtifact, createDiscoveryConformanceArtifact, deriveCommandRequirements, validateDiscoveryConformanceArtifact } from "./app-contract.js";
|
|
3
3
|
import { ObjectRegistry } from "@happyvertical/smrt-core";
|
|
4
4
|
import { createLogger } from "@happyvertical/logger";
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@happyvertical/smrt-users",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.44.1",
|
|
4
|
+
"smrtJsdoc": "strict",
|
|
4
5
|
"description": "Multi-tenant user management for the SMRT framework - users, tenants, roles, permissions, groups",
|
|
5
6
|
"type": "module",
|
|
6
7
|
"smrtRawPrimitives": "strict",
|
|
@@ -48,13 +49,13 @@
|
|
|
48
49
|
"@happyvertical/logger": "^0.89.4",
|
|
49
50
|
"@happyvertical/sql": "^0.89.4",
|
|
50
51
|
"jose": "^6.2.3",
|
|
51
|
-
"@happyvertical/smrt-config": "0.
|
|
52
|
-
"@happyvertical/smrt-
|
|
53
|
-
"@happyvertical/smrt-
|
|
54
|
-
"@happyvertical/smrt-
|
|
55
|
-
"@happyvertical/smrt-types": "0.
|
|
56
|
-
"@happyvertical/smrt-tenancy": "0.
|
|
57
|
-
"@happyvertical/smrt-ui": "0.
|
|
52
|
+
"@happyvertical/smrt-config": "0.44.1",
|
|
53
|
+
"@happyvertical/smrt-core": "0.44.1",
|
|
54
|
+
"@happyvertical/smrt-mobile-contract": "0.44.1",
|
|
55
|
+
"@happyvertical/smrt-profiles": "0.44.1",
|
|
56
|
+
"@happyvertical/smrt-types": "0.44.1",
|
|
57
|
+
"@happyvertical/smrt-tenancy": "0.44.1",
|
|
58
|
+
"@happyvertical/smrt-ui": "0.44.1"
|
|
58
59
|
},
|
|
59
60
|
"devDependencies": {
|
|
60
61
|
"@sveltejs/package": "^2.5.8",
|
|
@@ -66,7 +67,7 @@
|
|
|
66
67
|
"typescript": "5.9.3",
|
|
67
68
|
"vite": "8.1.4",
|
|
68
69
|
"vitest": "4.1.10",
|
|
69
|
-
"@happyvertical/smrt-vitest": "0.
|
|
70
|
+
"@happyvertical/smrt-vitest": "0.44.1"
|
|
70
71
|
},
|
|
71
72
|
"keywords": [
|
|
72
73
|
"smrt",
|