@happyvertical/smrt-users 0.55.9 → 0.55.11
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/README.md +42 -0
- package/agents/permissions.md +3 -0
- package/dist/chunks/{TerminalAuthService-DoU-2Dg7.js → TerminalAuthService-C18-gEUt.js} +521 -517
- package/dist/chunks/TerminalAuthService-C18-gEUt.js.map +1 -0
- package/dist/collections/RolePermissionCollection.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +199 -105
- package/dist/index.js.map +1 -1
- package/dist/manifest.json +142 -1
- package/dist/recipes.d.ts +97 -0
- package/dist/recipes.d.ts.map +1 -0
- package/dist/smrt-knowledge.json +146 -5
- package/dist/svelte/auth.d.ts +69 -0
- package/dist/svelte/auth.d.ts.map +1 -0
- package/dist/svelte/auth.js +43 -0
- package/dist/svelte/components/AccountSecurityPanel.svelte +42 -0
- package/dist/svelte/components/AccountSecurityPanel.svelte.d.ts +14 -0
- package/dist/svelte/components/AccountSecurityPanel.svelte.d.ts.map +1 -0
- package/dist/svelte/components/MagicLinkForm.svelte +43 -0
- package/dist/svelte/components/MagicLinkForm.svelte.d.ts +14 -0
- package/dist/svelte/components/MagicLinkForm.svelte.d.ts.map +1 -0
- package/dist/svelte/components/OidcProviderButtons.svelte +28 -0
- package/dist/svelte/components/OidcProviderButtons.svelte.d.ts +12 -0
- package/dist/svelte/components/OidcProviderButtons.svelte.d.ts.map +1 -0
- package/dist/svelte/components/PasskeySignInButton.svelte +28 -0
- package/dist/svelte/components/PasskeySignInButton.svelte.d.ts +12 -0
- package/dist/svelte/components/PasskeySignInButton.svelte.d.ts.map +1 -0
- package/dist/svelte/components/SignInForm.svelte +43 -0
- package/dist/svelte/components/SignInForm.svelte.d.ts +14 -0
- package/dist/svelte/components/SignInForm.svelte.d.ts.map +1 -0
- package/dist/svelte/components/SignUpForm.svelte +38 -0
- package/dist/svelte/components/SignUpForm.svelte.d.ts +12 -0
- package/dist/svelte/components/SignUpForm.svelte.d.ts.map +1 -0
- package/dist/svelte/i18n.d.ts +33 -0
- package/dist/svelte/i18n.d.ts.map +1 -1
- package/dist/svelte/i18n.js +33 -0
- package/dist/svelte/index.d.ts +15 -1
- package/dist/svelte/index.d.ts.map +1 -1
- package/dist/svelte/index.js +14 -1
- package/dist/sveltekit.js +1 -1
- package/dist/ui.d.ts.map +1 -1
- package/dist/ui.js +54 -0
- package/dist/ui.js.map +1 -1
- package/package.json +9 -9
- package/dist/chunks/TerminalAuthService-DoU-2Dg7.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RolePermissionCollection.d.ts","sourceRoot":"","sources":["../../src/collections/RolePermissionCollection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAEL,KAAK,iBAAiB,EAEvB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAK7E,MAAM,MAAM,2BAA2B,GAAG,OAAO,CAC/C,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAClC,CAAC;AAEF,MAAM,WAAW,0BAA0B;IACzC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAClC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACpC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAC7C;AAED,eAAO,MAAM,gCAAgC,EAAE,MAAM,CACnD,eAAe,EACf,SAAS,MAAM,EAAE,CAMlB,CAAC;
|
|
1
|
+
{"version":3,"file":"RolePermissionCollection.d.ts","sourceRoot":"","sources":["../../src/collections/RolePermissionCollection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAEL,KAAK,iBAAiB,EAEvB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAK7E,MAAM,MAAM,2BAA2B,GAAG,OAAO,CAC/C,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAClC,CAAC;AAEF,MAAM,WAAW,0BAA0B;IACzC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAClC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACpC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAC7C;AAED,eAAO,MAAM,gCAAgC,EAAE,MAAM,CACnD,eAAe,EACf,SAAS,MAAM,EAAE,CAMlB,CAAC;AAkHF;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,cAAc,CAAC,cAAc,CAAC;IAC1E,MAAM,CAAC,QAAQ,CAAC,UAAU,wBAAkB;IAE5C;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAM3D;;OAEG;IACG,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAMvE;;OAEG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ3E;;OAEG;IACG,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,cAAc,CAAC;IAa1B;;;;;;;;;;;;;;OAcG;YACW,eAAe;IAO7B;;OAEG;IACG,gBAAgB,CACpB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC;IAanB;;OAEG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAWzD;;;;;;;;;;OAUG;IACG,mBAAmB,CACvB,MAAM,GAAE,2BAA8D,EACtE,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,yBAAyB,CAAC;IAyIrC;;;;;OAKG;IACG,yCAAyC,CAC7C,OAAO,GAAE,IAAI,CAAC,0BAA0B,EAAE,OAAO,CAAM,GACtD,OAAO,CAAC,yBAAyB,CAAC;CAWtC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -54,6 +54,7 @@
|
|
|
54
54
|
* @packageDocumentation
|
|
55
55
|
*/
|
|
56
56
|
import './__smrt-register__.js';
|
|
57
|
+
export { UsersRolesAndPermissionsRecipe, UsersSignInRecipe, } from './recipes.js';
|
|
57
58
|
export { AccessRequestCollection, type CliAuthApproveReservation, CliAuthRequestCollection, type CreateChildTenantOptions, type CreateSessionOptions, DEFAULT_ROLE_PERMISSION_PATTERNS, type GetOrCreateFromOidcOptions, GroupCollection, GroupMemberCollection, GroupRoleCollection, MagicLinkTokenCollection, MembershipCollection, MembershipOverrideCollection, type NormalizedOidcClaims, type OidcClaims, type OidcIdentityResult, type OidcProfileOwnerAuthorization, type OidcProfileOwnerAuthorizer, type OidcProfileOwnerAuthorizerContext, type OidcProfileResolver, type OidcProfileResolverContext, OidcProvisioningError, type OidcProvisioningErrorCode, type PasswordCredentialWrite, PermissionCollection, ResourceGrantCollection, RoleCollection, RolePermissionCollection, type RolePermissionPatternMatrix, type SeedRolePermissionsOptions, type SeedRolePermissionsResult, type SeedSystemRolesOptions, SessionCollection, TenantCollection, TenantHierarchyError, TenantIntegrationCollection, TenantPermissionOverrideCollection, type TenantPermissionOverrideResult, UserCollection, UsersCliAuthApproveLimitCollection, UsersCliAuthRequestCollection, UsersLoginAttemptCollection, UsersLoginAuditEventCollection, UsersMagicLinkTokenCollection, UsersPasswordCredentialCollection, UsersPinCredentialCollection, } from './collections/index.js';
|
|
58
59
|
export { type BackfillLegacyUserProfilesResult, backfillLegacyUserProfiles, LEGACY_USER_PROFILE_BACKFILL_NAME, LegacyUserProfileBackfillError, type LegacyUserProfileBackfillErrorCode, } from './migrations/backfillLegacyUserProfiles.js';
|
|
59
60
|
export { type BackfillUserEmailKeysResult, backfillUserEmailKeys, type DuplicateUserEmailKey, UserEmailKeyBackfillError, type UserEmailKeyBackfillErrorCode, } from './migrations/backfillUserEmailKeys.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAKH,OAAO,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { $ as DEFAULT_LOGIN_LOCKOUT_FACTOR, $t as
|
|
1
|
+
import { $ as DEFAULT_LOGIN_LOCKOUT_FACTOR, $t as UsersLoginAttemptCollection, A as readMobileBearerToken, At as deriveOperationPermissionCollectionName, B as DEFAULT_PIN_MANAGE_PERMISSION, Bt as UsersPasswordCredentialCollection, C as hasOperationPermission, Ct as applyTenantHierarchyUpdates, D as withSessionPermissionContext, Dt as DEFAULT_ROLE_PERMISSION_PATTERNS, E as withPrincipalPermissionContext, Et as recordTenantHierarchyChanges, F as encodeOidcTransaction, Ft as RolePermission, G as PIN_LOGIN_KIND, Gt as GroupRoleCollection, H as DeviceCredentialForbiddenError, Ht as MembershipOverrideCollection, I as getUsersOidcConfig, It as RoleCollection, J as ensurePinPermissionsRegistered, Jt as GroupMember, K as PIN_PERMISSION_DEFINITIONS, Kt as GroupRole, L as resolveOidcProviderConfig, Lt as UsersPinCredentialCollection, M as OidcLoginError, Mt as normalizeOperationPermissionAction, N as OidcLoginService, Nt as registerPermissionDefinitions, O as MobileAuthError, Ot as RolePermissionCollection, P as decodeOidcTransaction, Pt as syncPermissionCatalog, Q as DEFAULT_LOGIN_LOCKOUT_BASE_SECONDS, Qt as UsersLoginAuditEvent, Rt as UsersPinCredential, S as checkOperationPermission, St as TenantHierarchyError, T as getRequestScopedDatabase, Tt as planTenantHierarchy, U as DeviceCredentialPolicyError, Ut as MembershipOverride, V as DeviceCredentialError, Vt as UsersPasswordCredential, W as DeviceCredentialService, Wt as MembershipCollection, X as PermissionResolver, Xt as Group, Y as SessionService, Yt as GroupCollection, Z as DEFAULT_LOGIN_ATTEMPT_WINDOW_SECONDS, Zt as UsersLoginAuditEventCollection, _ as PasswordCredentialService, _t as TenantPermissionOverrideCollection, a as TerminalAuthError, an as isValidEmail, at as LoginRateLimitError, b as OperationPermissionError, bt as Tenant, c as DEFAULT_PASSWORD_DENYLIST, cn as SESSION_DATA_KEYS, ct as DEFAULT_ANCESTOR_READ_MAX_DEPTH, d as DEFAULT_PASSWORD_MIN_LENGTH, dn as Role, dt as normalizeAncestorReadPolicy, en as UsersLoginAttempt, et as DEFAULT_LOGIN_LOCKOUT_MAX_SECONDS, f as PASSWORD_LOGIN_KIND, fn as Permission, ft as OidcProvisioningError, g as PasswordCredentialForbiddenError, gt as backfillUserEmailKeys, h as PasswordCredentialError, ht as UserEmailKeyBackfillError, i as TERMINAL_APPROVE_LOGIN_KIND, in as User, it as LoginAttemptLimiter, j as validateMobileRedirectUri, jt as deriveOperationPermissionSlug, k as MobileAuthService, kt as PermissionCatalogService, l as DEFAULT_PASSWORD_MANAGE_PERMISSION, ln as Session, lt as getConfiguredAncestorReadPolicy, m as PASSWORD_PERMISSION_DEFINITIONS, n as DEFAULT_CLI_AUTH_REQUEST_TTL_SECONDS, nn as SessionCollection, nt as DurableLoginAuditSink, o as TerminalAuthRateLimitError, on as normalizeEmail, ot as withoutListBounds, p as PASSWORD_MAX_LENGTH_CEILING, pn as Membership, pt as UserCollection, q as PinVerifier, qt as GroupMemberCollection, r as DEFAULT_CLI_SESSION_TTL_SECONDS, rn as UsersCliAuthRequest, rt as InvalidCredentialsError, s as TerminalAuthService, sn as DEFAULT_SESSION_TTL, st as ANCESTOR_READ_ACTION, t as DEFAULT_CLI_AUTH_POLL_INTERVAL_SECONDS, tn as UsersCliAuthRequestCollection, tt as DEFAULT_LOGIN_MAX_ATTEMPTS, u as DEFAULT_PASSWORD_MAX_LENGTH, un as generateSessionId, ut as isAncestorReadableSlug, v as PasswordPolicyError, vt as TenantPermissionOverride, w as getCurrentSessionPermissionContext, wt as assertTenantTableName, x as assertOperationPermission, xt as MAX_TENANT_HIERARCHY_DEPTH, y as ensurePasswordPermissionsRegistered, yt as TenantCollection, z as DEFAULT_DEVICE_PERSON_IDLE_SECONDS, zt as PermissionCollection } from "./chunks/TerminalAuthService-C18-gEUt.js";
|
|
2
2
|
import { a as MembershipStatus, c as TenantPermissionEffect, i as DEFAULT_TENANT_POLICY, l as TenantStatus, n as DEFAULT_ROLES, o as OverrideEffect, r as DEFAULT_ROLE_SLUGS, s as SessionStatus, t as AccessRequestStatus, u as UserStatus } from "./chunks/types-DFqeph0R.js";
|
|
3
|
-
import { ObjectRegistry, SmrtCollection, SmrtObject, bumpChangeFeed, ensureChangeFeedTable, field, findManifestEntryByQualifiedName, foreignKey, isEmbeddedDatabase, isUniqueViolationError, registerRetentionTask, smrt, unregisterRetentionTask, withEmbeddedWriteTransaction } from "@happyvertical/smrt-core";
|
|
4
|
-
import { createHash, randomUUID } from "node:crypto";
|
|
3
|
+
import { ObjectRegistry, SmrtCollection, SmrtObject, SmrtRecipe, bumpChangeFeed, ensureChangeFeedTable, field, findManifestEntryByQualifiedName, foreignKey, isEmbeddedDatabase, isUniqueViolationError, registerRetentionTask, smrt, unregisterRetentionTask, withEmbeddedWriteTransaction } from "@happyvertical/smrt-core";
|
|
5
4
|
import { PROFILE_EMAIL_KEY_BACKFILL_NAME, Person, ProfileCollection, ProfileTypeCollection, normalizeIdentityEmail } from "@happyvertical/smrt-profiles";
|
|
5
|
+
import { createHash, randomUUID } from "node:crypto";
|
|
6
6
|
import { createLogger } from "@happyvertical/logger";
|
|
7
7
|
import { TenantScoped, tenantId, withSystemContext } from "@happyvertical/smrt-tenancy";
|
|
8
8
|
import { BackfillTracker } from "@happyvertical/smrt-core/migrations";
|
|
9
|
-
//#region src/models/
|
|
9
|
+
//#region src/models/ResourceGrant.ts
|
|
10
10
|
var __defProp$4 = Object.defineProperty;
|
|
11
11
|
var __getOwnPropDesc$4 = Object.getOwnPropertyDescriptor;
|
|
12
12
|
var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, {
|
|
@@ -22,6 +22,162 @@ var __decorateClass$4 = (decorators, target, key, kind) => {
|
|
|
22
22
|
return result;
|
|
23
23
|
};
|
|
24
24
|
var __publicField$4 = (obj, key, value) => __defNormalProp$4(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
25
|
+
var ResourceGrant = class extends SmrtObject {
|
|
26
|
+
tenantId;
|
|
27
|
+
userId;
|
|
28
|
+
resourceType = "";
|
|
29
|
+
resourceId = "";
|
|
30
|
+
permission = "";
|
|
31
|
+
effect = "grant";
|
|
32
|
+
canDelegate = false;
|
|
33
|
+
parentGrantId;
|
|
34
|
+
revokedAt;
|
|
35
|
+
constructor(options = {}) {
|
|
36
|
+
super(options);
|
|
37
|
+
if (options.tenantId !== void 0) this.tenantId = options.tenantId;
|
|
38
|
+
if (options.userId !== void 0) this.userId = options.userId;
|
|
39
|
+
if (options.resourceType !== void 0) this.resourceType = options.resourceType;
|
|
40
|
+
if (options.resourceId !== void 0) this.resourceId = options.resourceId;
|
|
41
|
+
if (options.permission !== void 0) this.permission = options.permission;
|
|
42
|
+
if (options.effect !== void 0) this.effect = options.effect;
|
|
43
|
+
if (options.canDelegate !== void 0) this.canDelegate = options.canDelegate;
|
|
44
|
+
if (options.parentGrantId !== void 0) this.parentGrantId = options.parentGrantId;
|
|
45
|
+
if (options.revokedAt !== void 0) this.revokedAt = options.revokedAt;
|
|
46
|
+
}
|
|
47
|
+
isActive() {
|
|
48
|
+
return !this.revokedAt;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
__publicField$4(ResourceGrant, "__smrtPackage__", "@happyvertical/smrt-users");
|
|
52
|
+
__decorateClass$4([foreignKey("Tenant", { required: true })], ResourceGrant.prototype, "tenantId", 2);
|
|
53
|
+
__decorateClass$4([foreignKey("User", { required: true })], ResourceGrant.prototype, "userId", 2);
|
|
54
|
+
__decorateClass$4([field({ type: "text" })], ResourceGrant.prototype, "resourceType", 2);
|
|
55
|
+
__decorateClass$4([field({ type: "text" })], ResourceGrant.prototype, "resourceId", 2);
|
|
56
|
+
__decorateClass$4([field({ type: "text" })], ResourceGrant.prototype, "permission", 2);
|
|
57
|
+
__decorateClass$4([field({ type: "text" })], ResourceGrant.prototype, "effect", 2);
|
|
58
|
+
__decorateClass$4([foreignKey("ResourceGrant")], ResourceGrant.prototype, "parentGrantId", 2);
|
|
59
|
+
__decorateClass$4([field({ type: "text" })], ResourceGrant.prototype, "revokedAt", 2);
|
|
60
|
+
ResourceGrant = __decorateClass$4([smrt({
|
|
61
|
+
tenantScoped: true,
|
|
62
|
+
api: { include: [] },
|
|
63
|
+
mcp: { include: [] },
|
|
64
|
+
cli: { skipApiCheck: true },
|
|
65
|
+
indexes: [{
|
|
66
|
+
name: "resource_grants_lookup_idx",
|
|
67
|
+
columns: ["tenantId", "userId"]
|
|
68
|
+
}]
|
|
69
|
+
})], ResourceGrant);
|
|
70
|
+
//#endregion
|
|
71
|
+
//#region src/recipes.ts
|
|
72
|
+
var UsersSignInRecipe = class extends SmrtRecipe {
|
|
73
|
+
static group = {
|
|
74
|
+
id: "account-access",
|
|
75
|
+
label: "Account access",
|
|
76
|
+
summary: "Sign in and manage account sessions."
|
|
77
|
+
};
|
|
78
|
+
static section = {
|
|
79
|
+
id: "account-security",
|
|
80
|
+
label: "Account security",
|
|
81
|
+
icon: "settings",
|
|
82
|
+
description: "Review account access and active sessions."
|
|
83
|
+
};
|
|
84
|
+
static id = "users.sign-in";
|
|
85
|
+
static label = "Sign in";
|
|
86
|
+
static summary = "Access an account through an application-authorized sign-in flow.";
|
|
87
|
+
static synonyms = [
|
|
88
|
+
"log in",
|
|
89
|
+
"authentication",
|
|
90
|
+
"single sign-on"
|
|
91
|
+
];
|
|
92
|
+
static models = [User, Session];
|
|
93
|
+
static providers = [{
|
|
94
|
+
id: "oidc",
|
|
95
|
+
kind: "oauth",
|
|
96
|
+
options: ["oidc"],
|
|
97
|
+
required: false
|
|
98
|
+
}];
|
|
99
|
+
static surfaces = [{
|
|
100
|
+
kind: "settings-panel",
|
|
101
|
+
export: "@happyvertical/smrt-users/svelte#AccountSecurityPanel",
|
|
102
|
+
label: "Account security"
|
|
103
|
+
}];
|
|
104
|
+
static nav = [{
|
|
105
|
+
label: "Security sessions",
|
|
106
|
+
model: Session,
|
|
107
|
+
icon: "settings",
|
|
108
|
+
description: "Review active sessions and sign out unrecognized devices.",
|
|
109
|
+
noun: "security session"
|
|
110
|
+
}];
|
|
111
|
+
static help = "./users-sign-in.recipe.md";
|
|
112
|
+
static options = { Session: { exposure: {
|
|
113
|
+
api: false,
|
|
114
|
+
mcp: false,
|
|
115
|
+
cli: false
|
|
116
|
+
} } };
|
|
117
|
+
};
|
|
118
|
+
var UsersRolesAndPermissionsRecipe = class extends SmrtRecipe {
|
|
119
|
+
static group = {
|
|
120
|
+
id: "account-access",
|
|
121
|
+
label: "Account access",
|
|
122
|
+
summary: "Sign in and manage account sessions."
|
|
123
|
+
};
|
|
124
|
+
static section = {
|
|
125
|
+
id: "access-control",
|
|
126
|
+
label: "Access control",
|
|
127
|
+
icon: "users",
|
|
128
|
+
description: "Manage tenant roles, permissions, and reviewed sharing."
|
|
129
|
+
};
|
|
130
|
+
static id = "users.roles-and-permissions";
|
|
131
|
+
static label = "Roles and permissions";
|
|
132
|
+
static summary = "Manage tenant roles, memberships, permissions, and controlled sharing.";
|
|
133
|
+
static synonyms = [
|
|
134
|
+
"access control",
|
|
135
|
+
"rbac",
|
|
136
|
+
"sharing"
|
|
137
|
+
];
|
|
138
|
+
static models = [
|
|
139
|
+
Role,
|
|
140
|
+
Permission,
|
|
141
|
+
Membership,
|
|
142
|
+
ResourceGrant
|
|
143
|
+
];
|
|
144
|
+
static nav = [{
|
|
145
|
+
label: "Roles",
|
|
146
|
+
model: Role,
|
|
147
|
+
icon: "users",
|
|
148
|
+
description: "Define tenant permission bundles.",
|
|
149
|
+
noun: "role"
|
|
150
|
+
}, {
|
|
151
|
+
label: "Permissions",
|
|
152
|
+
model: Permission,
|
|
153
|
+
icon: "settings",
|
|
154
|
+
description: "Review operations available to roles.",
|
|
155
|
+
noun: "permission"
|
|
156
|
+
}];
|
|
157
|
+
static help = "./users-roles-and-permissions.recipe.md";
|
|
158
|
+
static options = { ResourceGrant: { exposure: {
|
|
159
|
+
api: false,
|
|
160
|
+
mcp: false,
|
|
161
|
+
cli: false
|
|
162
|
+
} } };
|
|
163
|
+
};
|
|
164
|
+
//#endregion
|
|
165
|
+
//#region src/models/MagicLinkToken.ts
|
|
166
|
+
var __defProp$3 = Object.defineProperty;
|
|
167
|
+
var __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor;
|
|
168
|
+
var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, {
|
|
169
|
+
enumerable: true,
|
|
170
|
+
configurable: true,
|
|
171
|
+
writable: true,
|
|
172
|
+
value
|
|
173
|
+
}) : obj[key] = value;
|
|
174
|
+
var __decorateClass$3 = (decorators, target, key, kind) => {
|
|
175
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target;
|
|
176
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
177
|
+
if (kind && result) __defProp$3(target, key, result);
|
|
178
|
+
return result;
|
|
179
|
+
};
|
|
180
|
+
var __publicField$3 = (obj, key, value) => __defNormalProp$3(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
25
181
|
var DEFAULT_TOKEN_EXPIRY_SECONDS = 600;
|
|
26
182
|
var UsersMagicLinkToken = class extends SmrtObject {
|
|
27
183
|
nonce = "";
|
|
@@ -46,16 +202,16 @@ var UsersMagicLinkToken = class extends SmrtObject {
|
|
|
46
202
|
return !this.used && !this.isExpired();
|
|
47
203
|
}
|
|
48
204
|
};
|
|
49
|
-
__publicField$
|
|
50
|
-
__decorateClass$
|
|
205
|
+
__publicField$3(UsersMagicLinkToken, "__smrtPackage__", "@happyvertical/smrt-users");
|
|
206
|
+
__decorateClass$3([field({
|
|
51
207
|
required: true,
|
|
52
208
|
unique: true
|
|
53
209
|
})], UsersMagicLinkToken.prototype, "nonce", 2);
|
|
54
|
-
__decorateClass$
|
|
210
|
+
__decorateClass$3([field({
|
|
55
211
|
type: "datetime",
|
|
56
212
|
indexed: true
|
|
57
213
|
})], UsersMagicLinkToken.prototype, "expiresAt", 2);
|
|
58
|
-
UsersMagicLinkToken = __decorateClass$
|
|
214
|
+
UsersMagicLinkToken = __decorateClass$3([smrt({
|
|
59
215
|
tableName: "users_magic_link_tokens",
|
|
60
216
|
sensitive: true,
|
|
61
217
|
api: { include: [] },
|
|
@@ -163,21 +319,21 @@ function unregisterUserRetentionTasks() {
|
|
|
163
319
|
}
|
|
164
320
|
//#endregion
|
|
165
321
|
//#region src/models/AccessRequest.ts
|
|
166
|
-
var __defProp$
|
|
167
|
-
var __getOwnPropDesc$
|
|
168
|
-
var __defNormalProp$
|
|
322
|
+
var __defProp$2 = Object.defineProperty;
|
|
323
|
+
var __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor;
|
|
324
|
+
var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, {
|
|
169
325
|
enumerable: true,
|
|
170
326
|
configurable: true,
|
|
171
327
|
writable: true,
|
|
172
328
|
value
|
|
173
329
|
}) : obj[key] = value;
|
|
174
|
-
var __decorateClass$
|
|
175
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
330
|
+
var __decorateClass$2 = (decorators, target, key, kind) => {
|
|
331
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target;
|
|
176
332
|
for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
177
|
-
if (kind && result) __defProp$
|
|
333
|
+
if (kind && result) __defProp$2(target, key, result);
|
|
178
334
|
return result;
|
|
179
335
|
};
|
|
180
|
-
var __publicField$
|
|
336
|
+
var __publicField$2 = (obj, key, value) => __defNormalProp$2(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
181
337
|
var AccessRequest = class extends SmrtObject {
|
|
182
338
|
email = "";
|
|
183
339
|
name = null;
|
|
@@ -260,25 +416,25 @@ var AccessRequest = class extends SmrtObject {
|
|
|
260
416
|
return this.status === AccessRequestStatus.DECLINED || this.status === AccessRequestStatus.GRADUATED || this.status === AccessRequestStatus.CANCELED;
|
|
261
417
|
}
|
|
262
418
|
};
|
|
263
|
-
__publicField$
|
|
264
|
-
__decorateClass$
|
|
419
|
+
__publicField$2(AccessRequest, "__smrtPackage__", "@happyvertical/smrt-users");
|
|
420
|
+
__decorateClass$2([field({
|
|
265
421
|
required: true,
|
|
266
422
|
indexed: true
|
|
267
423
|
})], AccessRequest.prototype, "email", 2);
|
|
268
|
-
__decorateClass$
|
|
269
|
-
__decorateClass$
|
|
424
|
+
__decorateClass$2([field({ nullable: true })], AccessRequest.prototype, "name", 2);
|
|
425
|
+
__decorateClass$2([field({
|
|
270
426
|
type: "text",
|
|
271
427
|
indexed: true
|
|
272
428
|
})], AccessRequest.prototype, "status", 2);
|
|
273
|
-
__decorateClass$
|
|
274
|
-
__decorateClass$
|
|
275
|
-
__decorateClass$
|
|
276
|
-
__decorateClass$
|
|
277
|
-
__decorateClass$
|
|
278
|
-
__decorateClass$
|
|
279
|
-
__decorateClass$
|
|
280
|
-
__decorateClass$
|
|
281
|
-
AccessRequest = __decorateClass$
|
|
429
|
+
__decorateClass$2([field({ indexed: true })], AccessRequest.prototype, "source", 2);
|
|
430
|
+
__decorateClass$2([field()], AccessRequest.prototype, "requestContext", 2);
|
|
431
|
+
__decorateClass$2([field({ nullable: true })], AccessRequest.prototype, "note", 2);
|
|
432
|
+
__decorateClass$2([field()], AccessRequest.prototype, "requestedAt", 2);
|
|
433
|
+
__decorateClass$2([field({ nullable: true })], AccessRequest.prototype, "decidedAt", 2);
|
|
434
|
+
__decorateClass$2([field({ nullable: true })], AccessRequest.prototype, "decidedBy", 2);
|
|
435
|
+
__decorateClass$2([field({ nullable: true })], AccessRequest.prototype, "resultingUserId", 2);
|
|
436
|
+
__decorateClass$2([field({ nullable: true })], AccessRequest.prototype, "tenantHint", 2);
|
|
437
|
+
AccessRequest = __decorateClass$2([smrt({
|
|
282
438
|
tableName: "access_requests",
|
|
283
439
|
conflictColumns: ["id"],
|
|
284
440
|
api: { include: [] },
|
|
@@ -332,41 +488,41 @@ var AccessRequestCollection = class extends SmrtCollection {
|
|
|
332
488
|
};
|
|
333
489
|
//#endregion
|
|
334
490
|
//#region src/models/CliAuthApproveLimit.ts
|
|
335
|
-
var __defProp$
|
|
336
|
-
var __getOwnPropDesc$
|
|
337
|
-
var __defNormalProp$
|
|
491
|
+
var __defProp$1 = Object.defineProperty;
|
|
492
|
+
var __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor;
|
|
493
|
+
var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, {
|
|
338
494
|
enumerable: true,
|
|
339
495
|
configurable: true,
|
|
340
496
|
writable: true,
|
|
341
497
|
value
|
|
342
498
|
}) : obj[key] = value;
|
|
343
|
-
var __decorateClass$
|
|
344
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$
|
|
499
|
+
var __decorateClass$1 = (decorators, target, key, kind) => {
|
|
500
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1(target, key) : target;
|
|
345
501
|
for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
346
|
-
if (kind && result) __defProp$
|
|
502
|
+
if (kind && result) __defProp$1(target, key, result);
|
|
347
503
|
return result;
|
|
348
504
|
};
|
|
349
|
-
var __publicField$
|
|
505
|
+
var __publicField$1 = (obj, key, value) => __defNormalProp$1(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
350
506
|
var UsersCliAuthApproveLimit = class extends SmrtObject {
|
|
351
507
|
userId = "";
|
|
352
508
|
attemptCount = 0;
|
|
353
509
|
windowStartedAt = /* @__PURE__ */ new Date();
|
|
354
510
|
};
|
|
355
|
-
__publicField$
|
|
356
|
-
__decorateClass$
|
|
511
|
+
__publicField$1(UsersCliAuthApproveLimit, "__smrtPackage__", "@happyvertical/smrt-users");
|
|
512
|
+
__decorateClass$1([foreignKey("User", {
|
|
357
513
|
required: true,
|
|
358
514
|
unique: true
|
|
359
515
|
})], UsersCliAuthApproveLimit.prototype, "userId", 2);
|
|
360
|
-
__decorateClass$
|
|
516
|
+
__decorateClass$1([field({
|
|
361
517
|
type: "integer",
|
|
362
518
|
required: true,
|
|
363
519
|
default: 0
|
|
364
520
|
})], UsersCliAuthApproveLimit.prototype, "attemptCount", 2);
|
|
365
|
-
__decorateClass$
|
|
521
|
+
__decorateClass$1([field({
|
|
366
522
|
type: "datetime",
|
|
367
523
|
required: true
|
|
368
524
|
})], UsersCliAuthApproveLimit.prototype, "windowStartedAt", 2);
|
|
369
|
-
UsersCliAuthApproveLimit = __decorateClass$
|
|
525
|
+
UsersCliAuthApproveLimit = __decorateClass$1([smrt({
|
|
370
526
|
tableName: "users_cli_auth_approve_limits",
|
|
371
527
|
api: false,
|
|
372
528
|
cli: false,
|
|
@@ -433,68 +589,6 @@ var UsersCliAuthApproveLimitCollection = class extends SmrtCollection {
|
|
|
433
589
|
}
|
|
434
590
|
};
|
|
435
591
|
//#endregion
|
|
436
|
-
//#region src/models/ResourceGrant.ts
|
|
437
|
-
var __defProp$1 = Object.defineProperty;
|
|
438
|
-
var __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor;
|
|
439
|
-
var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, {
|
|
440
|
-
enumerable: true,
|
|
441
|
-
configurable: true,
|
|
442
|
-
writable: true,
|
|
443
|
-
value
|
|
444
|
-
}) : obj[key] = value;
|
|
445
|
-
var __decorateClass$1 = (decorators, target, key, kind) => {
|
|
446
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1(target, key) : target;
|
|
447
|
-
for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
448
|
-
if (kind && result) __defProp$1(target, key, result);
|
|
449
|
-
return result;
|
|
450
|
-
};
|
|
451
|
-
var __publicField$1 = (obj, key, value) => __defNormalProp$1(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
452
|
-
var ResourceGrant = class extends SmrtObject {
|
|
453
|
-
tenantId;
|
|
454
|
-
userId;
|
|
455
|
-
resourceType = "";
|
|
456
|
-
resourceId = "";
|
|
457
|
-
permission = "";
|
|
458
|
-
effect = "grant";
|
|
459
|
-
canDelegate = false;
|
|
460
|
-
parentGrantId;
|
|
461
|
-
revokedAt;
|
|
462
|
-
constructor(options = {}) {
|
|
463
|
-
super(options);
|
|
464
|
-
if (options.tenantId !== void 0) this.tenantId = options.tenantId;
|
|
465
|
-
if (options.userId !== void 0) this.userId = options.userId;
|
|
466
|
-
if (options.resourceType !== void 0) this.resourceType = options.resourceType;
|
|
467
|
-
if (options.resourceId !== void 0) this.resourceId = options.resourceId;
|
|
468
|
-
if (options.permission !== void 0) this.permission = options.permission;
|
|
469
|
-
if (options.effect !== void 0) this.effect = options.effect;
|
|
470
|
-
if (options.canDelegate !== void 0) this.canDelegate = options.canDelegate;
|
|
471
|
-
if (options.parentGrantId !== void 0) this.parentGrantId = options.parentGrantId;
|
|
472
|
-
if (options.revokedAt !== void 0) this.revokedAt = options.revokedAt;
|
|
473
|
-
}
|
|
474
|
-
isActive() {
|
|
475
|
-
return !this.revokedAt;
|
|
476
|
-
}
|
|
477
|
-
};
|
|
478
|
-
__publicField$1(ResourceGrant, "__smrtPackage__", "@happyvertical/smrt-users");
|
|
479
|
-
__decorateClass$1([foreignKey("Tenant", { required: true })], ResourceGrant.prototype, "tenantId", 2);
|
|
480
|
-
__decorateClass$1([foreignKey("User", { required: true })], ResourceGrant.prototype, "userId", 2);
|
|
481
|
-
__decorateClass$1([field({ type: "text" })], ResourceGrant.prototype, "resourceType", 2);
|
|
482
|
-
__decorateClass$1([field({ type: "text" })], ResourceGrant.prototype, "resourceId", 2);
|
|
483
|
-
__decorateClass$1([field({ type: "text" })], ResourceGrant.prototype, "permission", 2);
|
|
484
|
-
__decorateClass$1([field({ type: "text" })], ResourceGrant.prototype, "effect", 2);
|
|
485
|
-
__decorateClass$1([foreignKey("ResourceGrant")], ResourceGrant.prototype, "parentGrantId", 2);
|
|
486
|
-
__decorateClass$1([field({ type: "text" })], ResourceGrant.prototype, "revokedAt", 2);
|
|
487
|
-
ResourceGrant = __decorateClass$1([smrt({
|
|
488
|
-
tenantScoped: true,
|
|
489
|
-
api: { include: [] },
|
|
490
|
-
mcp: { include: [] },
|
|
491
|
-
cli: { skipApiCheck: true },
|
|
492
|
-
indexes: [{
|
|
493
|
-
name: "resource_grants_lookup_idx",
|
|
494
|
-
columns: ["tenantId", "userId"]
|
|
495
|
-
}]
|
|
496
|
-
})], ResourceGrant);
|
|
497
|
-
//#endregion
|
|
498
592
|
//#region src/collections/ResourceGrantCollection.ts
|
|
499
593
|
var ResourceGrantCollection = class extends SmrtCollection {
|
|
500
594
|
static _itemClass = ResourceGrant;
|
|
@@ -1382,7 +1476,7 @@ var MagicLinkService = class MagicLinkService {
|
|
|
1382
1476
|
* The caller is responsible for emailing the token to the user.
|
|
1383
1477
|
*/
|
|
1384
1478
|
async generate(email) {
|
|
1385
|
-
const { SignJWT } = await import("./chunks/TerminalAuthService-
|
|
1479
|
+
const { SignJWT } = await import("./chunks/TerminalAuthService-C18-gEUt.js").then((n) => n.R);
|
|
1386
1480
|
const key = await this.getSigningKey();
|
|
1387
1481
|
const nonce = crypto.randomUUID();
|
|
1388
1482
|
const normalizedEmail = normalizeEmail(email);
|
|
@@ -1411,7 +1505,7 @@ var MagicLinkService = class MagicLinkService {
|
|
|
1411
1505
|
* @throws {MagicLinkError} If the token is invalid, expired, or already used
|
|
1412
1506
|
*/
|
|
1413
1507
|
async verify(token) {
|
|
1414
|
-
const { jwtVerify, errors } = await import("./chunks/TerminalAuthService-
|
|
1508
|
+
const { jwtVerify, errors } = await import("./chunks/TerminalAuthService-C18-gEUt.js").then((n) => n.R);
|
|
1415
1509
|
const key = await this.getSigningKey();
|
|
1416
1510
|
let payload;
|
|
1417
1511
|
try {
|
|
@@ -2009,6 +2103,6 @@ var TenantService = class TenantService {
|
|
|
2009
2103
|
//#region src/index.ts
|
|
2010
2104
|
registerUserRetentionTasks();
|
|
2011
2105
|
//#endregion
|
|
2012
|
-
export { ACCESS_REQUEST_CAPABILITIES, ANCESTOR_READ_ACTION, AccessRequest, AccessRequestCollection, AccessRequestError, AccessRequestService, AccessRequestStatus, CLI_AUTH_RETENTION_TASK, UsersCliAuthRequest as CliAuthRequest, UsersCliAuthRequest, UsersCliAuthRequestCollection as CliAuthRequestCollection, UsersCliAuthRequestCollection, DEFAULT_ANCESTOR_READ_MAX_DEPTH, DEFAULT_CLI_AUTH_POLL_INTERVAL_SECONDS, DEFAULT_CLI_AUTH_REQUEST_TTL_SECONDS, DEFAULT_CLI_SESSION_TTL_SECONDS, DEFAULT_DEVICE_PERSON_IDLE_SECONDS, DEFAULT_LOGIN_ATTEMPT_WINDOW_SECONDS, DEFAULT_LOGIN_AUDIT_RETENTION_DAYS, DEFAULT_LOGIN_LOCKOUT_BASE_SECONDS, DEFAULT_LOGIN_LOCKOUT_FACTOR, DEFAULT_LOGIN_LOCKOUT_MAX_SECONDS, DEFAULT_LOGIN_MAX_ATTEMPTS, DEFAULT_PASSWORD_DENYLIST, DEFAULT_PASSWORD_MANAGE_PERMISSION, DEFAULT_PASSWORD_MAX_LENGTH, DEFAULT_PASSWORD_MIN_LENGTH, DEFAULT_PIN_MANAGE_PERMISSION, DEFAULT_ROLES, DEFAULT_ROLE_PERMISSION_PATTERNS, DEFAULT_ROLE_SLUGS, DEFAULT_SESSION_TTL, DEFAULT_TENANT_POLICY, DEFAULT_TOKEN_EXPIRY_SECONDS, DeviceCredentialError, DeviceCredentialForbiddenError, DeviceCredentialPolicyError, DeviceCredentialService, DurableLoginAuditSink, Group, GroupCollection, GroupMember, GroupMemberCollection, GroupRole, GroupRoleCollection, InvalidCredentialsError, LEGACY_USER_PROFILE_BACKFILL_NAME, LOGIN_ATTEMPTS_RETENTION_TASK, LOGIN_AUDIT_RETENTION_TASK, LegacyUserProfileBackfillError, LoginAttemptLimiter, LoginRateLimitError, MAGIC_LINK_RETENTION_TASK, MAX_RESOURCE_GRANT_DELEGATION_DEPTH, MAX_TENANT_HIERARCHY_DEPTH, MagicLinkError, MagicLinkService, UsersMagicLinkToken as MagicLinkToken, UsersMagicLinkToken, UsersMagicLinkTokenCollection as MagicLinkTokenCollection, UsersMagicLinkTokenCollection, Membership, MembershipCollection, MembershipOverride, MembershipOverrideCollection, MembershipStatus, MobileAuthError, MobileAuthService, OidcLoginError, OidcLoginService, OidcProvisioningError, OperationPermissionError, OverrideEffect, PASSWORD_LOGIN_KIND, PASSWORD_MAX_LENGTH_CEILING, PASSWORD_PERMISSION_DEFINITIONS, PIN_LOGIN_KIND, PIN_PERMISSION_DEFINITIONS, PasswordCredentialError, PasswordCredentialForbiddenError, PasswordCredentialService, PasswordPolicyError, Permission, PermissionCatalogService, PermissionCollection, PermissionResolver, PinVerifier, ResourceGrant, ResourceGrantCollection, ResourceGrantService, Role, RoleCollection, RolePermission, RolePermissionCollection, SESSIONS_RETENTION_TASK, SESSION_DATA_KEYS, Session, SessionCollection, SessionService, SessionStatus, TERMINAL_APPROVE_LOGIN_KIND, Tenant, TenantCollection, TenantHierarchyError, TenantHierarchyMaterializationError, TenantIntegration, TenantIntegrationCollection, TenantPermissionEffect, TenantPermissionOverride, TenantPermissionOverrideCollection, TenantService, TenantStatus, TerminalAuthError, TerminalAuthRateLimitError, TerminalAuthService, USER_RETENTION_TASKS, User, UserCollection, UserEmailKeyBackfillError, UserStatus, UsersCliAuthApproveLimit, UsersCliAuthApproveLimitCollection, UsersLoginAttempt, UsersLoginAttemptCollection, UsersLoginAuditEvent, UsersLoginAuditEventCollection, UsersPasswordCredential, UsersPasswordCredentialCollection, UsersPinCredential, UsersPinCredentialCollection, applyPostgresPermissionPolicies, assertOperationPermission, backfillLegacyUserProfiles, backfillUserEmailKeys, checkOperationPermission, checkResourceOperationPermission, decodeOidcTransaction, deduplicateRolePermissions, deriveOperationPermissionCollectionName, deriveOperationPermissionSlug, encodeOidcTransaction, ensurePasswordPermissionsRegistered, ensurePinPermissionsRegistered, generatePostgresPermissionSql, generateSessionId, getConfiguredAncestorReadPolicy, getCurrentSessionPermissionContext, getRequestScopedDatabase, getUsersOidcConfig, hasOperationPermission, isAncestorReadableSlug, materializeTenantHierarchy, normalizeAncestorReadPolicy, normalizeOperationPermissionAction, planTenantHierarchy, readMobileBearerToken, registerPermissionDefinitions, registerUserRetentionTasks, resolveOidcProviderConfig, syncPermissionCatalog, unregisterUserRetentionTasks, validateMobileRedirectUri, withPrincipalPermissionContext, withSessionPermissionContext };
|
|
2106
|
+
export { ACCESS_REQUEST_CAPABILITIES, ANCESTOR_READ_ACTION, AccessRequest, AccessRequestCollection, AccessRequestError, AccessRequestService, AccessRequestStatus, CLI_AUTH_RETENTION_TASK, UsersCliAuthRequest as CliAuthRequest, UsersCliAuthRequest, UsersCliAuthRequestCollection as CliAuthRequestCollection, UsersCliAuthRequestCollection, DEFAULT_ANCESTOR_READ_MAX_DEPTH, DEFAULT_CLI_AUTH_POLL_INTERVAL_SECONDS, DEFAULT_CLI_AUTH_REQUEST_TTL_SECONDS, DEFAULT_CLI_SESSION_TTL_SECONDS, DEFAULT_DEVICE_PERSON_IDLE_SECONDS, DEFAULT_LOGIN_ATTEMPT_WINDOW_SECONDS, DEFAULT_LOGIN_AUDIT_RETENTION_DAYS, DEFAULT_LOGIN_LOCKOUT_BASE_SECONDS, DEFAULT_LOGIN_LOCKOUT_FACTOR, DEFAULT_LOGIN_LOCKOUT_MAX_SECONDS, DEFAULT_LOGIN_MAX_ATTEMPTS, DEFAULT_PASSWORD_DENYLIST, DEFAULT_PASSWORD_MANAGE_PERMISSION, DEFAULT_PASSWORD_MAX_LENGTH, DEFAULT_PASSWORD_MIN_LENGTH, DEFAULT_PIN_MANAGE_PERMISSION, DEFAULT_ROLES, DEFAULT_ROLE_PERMISSION_PATTERNS, DEFAULT_ROLE_SLUGS, DEFAULT_SESSION_TTL, DEFAULT_TENANT_POLICY, DEFAULT_TOKEN_EXPIRY_SECONDS, DeviceCredentialError, DeviceCredentialForbiddenError, DeviceCredentialPolicyError, DeviceCredentialService, DurableLoginAuditSink, Group, GroupCollection, GroupMember, GroupMemberCollection, GroupRole, GroupRoleCollection, InvalidCredentialsError, LEGACY_USER_PROFILE_BACKFILL_NAME, LOGIN_ATTEMPTS_RETENTION_TASK, LOGIN_AUDIT_RETENTION_TASK, LegacyUserProfileBackfillError, LoginAttemptLimiter, LoginRateLimitError, MAGIC_LINK_RETENTION_TASK, MAX_RESOURCE_GRANT_DELEGATION_DEPTH, MAX_TENANT_HIERARCHY_DEPTH, MagicLinkError, MagicLinkService, UsersMagicLinkToken as MagicLinkToken, UsersMagicLinkToken, UsersMagicLinkTokenCollection as MagicLinkTokenCollection, UsersMagicLinkTokenCollection, Membership, MembershipCollection, MembershipOverride, MembershipOverrideCollection, MembershipStatus, MobileAuthError, MobileAuthService, OidcLoginError, OidcLoginService, OidcProvisioningError, OperationPermissionError, OverrideEffect, PASSWORD_LOGIN_KIND, PASSWORD_MAX_LENGTH_CEILING, PASSWORD_PERMISSION_DEFINITIONS, PIN_LOGIN_KIND, PIN_PERMISSION_DEFINITIONS, PasswordCredentialError, PasswordCredentialForbiddenError, PasswordCredentialService, PasswordPolicyError, Permission, PermissionCatalogService, PermissionCollection, PermissionResolver, PinVerifier, ResourceGrant, ResourceGrantCollection, ResourceGrantService, Role, RoleCollection, RolePermission, RolePermissionCollection, SESSIONS_RETENTION_TASK, SESSION_DATA_KEYS, Session, SessionCollection, SessionService, SessionStatus, TERMINAL_APPROVE_LOGIN_KIND, Tenant, TenantCollection, TenantHierarchyError, TenantHierarchyMaterializationError, TenantIntegration, TenantIntegrationCollection, TenantPermissionEffect, TenantPermissionOverride, TenantPermissionOverrideCollection, TenantService, TenantStatus, TerminalAuthError, TerminalAuthRateLimitError, TerminalAuthService, USER_RETENTION_TASKS, User, UserCollection, UserEmailKeyBackfillError, UserStatus, UsersCliAuthApproveLimit, UsersCliAuthApproveLimitCollection, UsersLoginAttempt, UsersLoginAttemptCollection, UsersLoginAuditEvent, UsersLoginAuditEventCollection, UsersPasswordCredential, UsersPasswordCredentialCollection, UsersPinCredential, UsersPinCredentialCollection, UsersRolesAndPermissionsRecipe, UsersSignInRecipe, applyPostgresPermissionPolicies, assertOperationPermission, backfillLegacyUserProfiles, backfillUserEmailKeys, checkOperationPermission, checkResourceOperationPermission, decodeOidcTransaction, deduplicateRolePermissions, deriveOperationPermissionCollectionName, deriveOperationPermissionSlug, encodeOidcTransaction, ensurePasswordPermissionsRegistered, ensurePinPermissionsRegistered, generatePostgresPermissionSql, generateSessionId, getConfiguredAncestorReadPolicy, getCurrentSessionPermissionContext, getRequestScopedDatabase, getUsersOidcConfig, hasOperationPermission, isAncestorReadableSlug, materializeTenantHierarchy, normalizeAncestorReadPolicy, normalizeOperationPermissionAction, planTenantHierarchy, readMobileBearerToken, registerPermissionDefinitions, registerUserRetentionTasks, resolveOidcProviderConfig, syncPermissionCatalog, unregisterUserRetentionTasks, validateMobileRedirectUri, withPrincipalPermissionContext, withSessionPermissionContext };
|
|
2013
2107
|
|
|
2014
2108
|
//# sourceMappingURL=index.js.map
|