@happyvertical/smrt-users 0.39.16 → 0.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -66,6 +66,25 @@ export interface OidcProfileResolverContext {
66
66
  * therefore be idempotent.
67
67
  */
68
68
  export type OidcProfileResolver = (context: OidcProfileResolverContext) => Profile | null | undefined | Promise<Profile | null | undefined>;
69
+ /** Application authorization for binding a new OIDC identity to an owner. */
70
+ export interface OidcProfileOwnerAuthorization {
71
+ /** Canonical global Person selected by the application. */
72
+ profile: Profile;
73
+ /** Existing User the application authorizes as that Profile's owner. */
74
+ user: User;
75
+ }
76
+ /** Transaction-bound context supplied to the owner authorization callback. */
77
+ export type OidcProfileOwnerAuthorizerContext = OidcProfileResolverContext;
78
+ /**
79
+ * Explicitly authorize first OIDC binding to a pre-provisioned Profile/User.
80
+ *
81
+ * Return `undefined` to preserve SMRT's secure default, `null` to reject the
82
+ * login, or both the canonical Profile and its existing owning User. SMRT
83
+ * reloads and verifies both records inside the provisioning transaction; the
84
+ * returned objects are never trusted as proof of ownership. The callback may
85
+ * be retried after a concurrent unique-key race and must be idempotent.
86
+ */
87
+ export type OidcProfileOwnerAuthorizer = (context: OidcProfileOwnerAuthorizerContext) => OidcProfileOwnerAuthorization | null | undefined | Promise<OidcProfileOwnerAuthorization | null | undefined>;
69
88
  export type OidcProvisioningErrorCode = 'ambiguous_identity' | 'concurrency_conflict' | 'profile_owned' | 'rejected' | 'transaction_required' | 'user_email_backfill_required' | 'user_email_conflict';
70
89
  /** Fail-closed OIDC identity provisioning error. */
71
90
  export declare class OidcProvisioningError extends Error {
@@ -95,6 +114,12 @@ export interface GetOrCreateFromOidcOptions {
95
114
  * use SMRT's secure default.
96
115
  */
97
116
  resolveProfile?: OidcProfileResolver;
117
+ /**
118
+ * Explicitly authorize a first issuer/subject binding to a pre-provisioned
119
+ * canonical Profile and its existing owner. A successful authorization
120
+ * requires `email_verified === true` and is revalidated atomically by SMRT.
121
+ */
122
+ authorizeProfileOwner?: OidcProfileOwnerAuthorizer;
98
123
  }
99
124
  /**
100
125
  * Collection for managing User objects
@@ -144,13 +169,13 @@ export declare class UserCollection extends SmrtCollection<User> {
144
169
  *
145
170
  * @param claims - Trusted OIDC token claims (sub, iss, email, name)
146
171
  * @param provider - Provider name (e.g., 'kanidm', 'keycloak', 'google')
147
- * @param options - Login recording, unverified-email compatibility, and an
148
- * application Profile resolver. The resolver runs inside the provisioning
149
- * transaction before provisioning returns, may be retried, and must be
150
- * idempotent. For a new identity, its returned Profile is still checked as
151
- * the unique, global, unowned Person for the verified normalized email. For
152
- * an exact existing identity, it may only confirm the already-linked Profile
153
- * and cannot rebind it.
172
+ * @param options - Login recording, unverified-email compatibility, Profile
173
+ * resolution, and explicit owner authorization. Hooks run inside the
174
+ * provisioning transaction, may be retried, and must be idempotent. A
175
+ * resolver result must still be the unique, global, unowned Person. An owner
176
+ * authorization must select both the canonical Person and its existing sole
177
+ * approved User owner. Existing identities can only be confirmed, never
178
+ * rebound.
154
179
  * @returns User, Profile, OidcIdentity, and whether profile was created
155
180
  *
156
181
  * @example
@@ -176,6 +201,7 @@ export declare class UserCollection extends SmrtCollection<User> {
176
201
  private requireProvisioningDatabase;
177
202
  private provisionOidcIdentity;
178
203
  private findProfileOwners;
204
+ private validateProfileOwnerAuthorization;
179
205
  private rebindOidcProvisioningResult;
180
206
  private findUniqueOidcIdentity;
181
207
  private finishUserProvisioning;
@@ -1 +1 @@
1
- {"version":3,"file":"UserCollection.d.ts","sourceRoot":"","sources":["../../src/collections/UserCollection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UserCollection.d.ts","sourceRoot":"","sources":["../../src/collections/UserCollection.ts"],"names":[],"mappings":"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"}
@@ -17,5 +17,5 @@ export { type CreateSessionOptions, SessionCollection, } from './SessionCollecti
17
17
  export { type CreateChildTenantOptions, TenantCollection, TenantHierarchyError, } from './TenantCollection.js';
18
18
  export { TenantIntegrationCollection } from './TenantIntegrationCollection.js';
19
19
  export { TenantPermissionOverrideCollection, type TenantPermissionOverrideResult, } from './TenantPermissionOverrideCollection.js';
20
- export { type GetOrCreateFromOidcOptions, type NormalizedOidcClaims, type OidcClaims, type OidcIdentityResult, type OidcProfileResolver, type OidcProfileResolverContext, OidcProvisioningError, type OidcProvisioningErrorCode, UserCollection, } from './UserCollection.js';
20
+ export { type GetOrCreateFromOidcOptions, type NormalizedOidcClaims, type OidcClaims, type OidcIdentityResult, type OidcProfileOwnerAuthorization, type OidcProfileOwnerAuthorizer, type OidcProfileOwnerAuthorizerContext, type OidcProfileResolver, type OidcProfileResolverContext, OidcProvisioningError, type OidcProvisioningErrorCode, UserCollection, } from './UserCollection.js';
21
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/collections/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EACL,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EACL,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EACL,cAAc,EACd,KAAK,sBAAsB,GAC5B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,gCAAgC,EAChC,wBAAwB,EACxB,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,GAC/B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,KAAK,oBAAoB,EACzB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,wBAAwB,EAC7B,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EACL,kCAAkC,EAClC,KAAK,8BAA8B,GACpC,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,oBAAoB,EACzB,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,qBAAqB,EACrB,KAAK,yBAAyB,EAC9B,cAAc,GACf,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/collections/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EACL,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EACL,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EACL,cAAc,EACd,KAAK,sBAAsB,GAC5B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,gCAAgC,EAChC,wBAAwB,EACxB,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,GAC/B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,KAAK,oBAAoB,EACzB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,wBAAwB,EAC7B,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EACL,kCAAkC,EAClC,KAAK,8BAA8B,GACpC,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,oBAAoB,EACzB,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,6BAA6B,EAClC,KAAK,0BAA0B,EAC/B,KAAK,iCAAiC,EACtC,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,qBAAqB,EACrB,KAAK,yBAAyB,EAC9B,cAAc,GACf,MAAM,qBAAqB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { AccessRequestCollection, CliAuthRequestCollection, type CreateChildTenantOptions, type CreateSessionOptions, DEFAULT_ROLE_PERMISSION_PATTERNS, type GetOrCreateFromOidcOptions, GroupCollection, GroupMemberCollection, GroupRoleCollection, MagicLinkTokenCollection, MembershipCollection, MembershipOverrideCollection, type NormalizedOidcClaims, type OidcClaims, type OidcIdentityResult, type OidcProfileResolver, type OidcProfileResolverContext, OidcProvisioningError, type OidcProvisioningErrorCode, PermissionCollection, RoleCollection, RolePermissionCollection, type RolePermissionPatternMatrix, type SeedRolePermissionsOptions, type SeedRolePermissionsResult, type SeedSystemRolesOptions, SessionCollection, TenantCollection, TenantHierarchyError, TenantIntegrationCollection, TenantPermissionOverrideCollection, type TenantPermissionOverrideResult, UserCollection, UsersCliAuthRequestCollection, UsersMagicLinkTokenCollection, } from './collections/index.js';
1
+ export { AccessRequestCollection, 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, PermissionCollection, RoleCollection, RolePermissionCollection, type RolePermissionPatternMatrix, type SeedRolePermissionsOptions, type SeedRolePermissionsResult, type SeedSystemRolesOptions, SessionCollection, TenantCollection, TenantHierarchyError, TenantIntegrationCollection, TenantPermissionOverrideCollection, type TenantPermissionOverrideResult, UserCollection, UsersCliAuthRequestCollection, UsersMagicLinkTokenCollection, } from './collections/index.js';
2
2
  export { type BackfillUserEmailKeysResult, backfillUserEmailKeys, type DuplicateUserEmailKey, UserEmailKeyBackfillError, type UserEmailKeyBackfillErrorCode, } from './migrations/backfillUserEmailKeys.js';
3
3
  export { AccessRequest, type AccessRequestOptions, CliAuthRequest, type CliAuthRequestStatus, DEFAULT_SESSION_TTL, DEFAULT_TOKEN_EXPIRY_SECONDS, Group, GroupMember, GroupRole, generateSessionId, MAX_TENANT_HIERARCHY_DEPTH, MagicLinkToken, Membership, MembershipOverride, Permission, Role, RolePermission, Session, Tenant, TenantIntegration, type TenantIntegrationCheckSummary, type TenantIntegrationOptions, type TenantIntegrationProvider, type TenantIntegrationStatus, TenantPermissionOverride, User, UsersCliAuthRequest, UsersMagicLinkToken, } from './models/index.js';
4
4
  export { ACCESS_REQUEST_CAPABILITIES, type AccessRequestAuthorizationContext, type AccessRequestAuthorizer, type AccessRequestCapability, AccessRequestError, type AccessRequestErrorCode, type AccessRequestEvent, type AccessRequestEventHandler, type AccessRequestEventType, AccessRequestService, type AccessRequestServiceOptions, type ApproveAccessRequestOptions, type ApproveCliAuthRequestInput, applyPostgresPermissionPolicies, assertOperationPermission, type CancelAccessRequestOptions, type CliAuthStartResult, type CliAuthTokenResult, type CreateAccessRequestInput, type CreateAuthorizationUrlOptions, checkOperationPermission, DEFAULT_CLI_AUTH_POLL_INTERVAL_SECONDS, DEFAULT_CLI_AUTH_REQUEST_TTL_SECONDS, DEFAULT_CLI_SESSION_TTL_SECONDS, type DeclineAccessRequestOptions, decodeOidcTransaction, deriveOperationPermissionCollectionName, deriveOperationPermissionSlug, type EnsureTenantResult, encodeOidcTransaction, type GeneratePostgresPermissionSqlResult, type GraduateAccessRequestOptions, type GraduateAccessRequestResult, type GraduateExistingTenantOption, type GraduateNewTenantOption, type GraduateTenantOption, generatePostgresPermissionSql, getCurrentSessionPermissionContext, getRequestScopedDatabase, getUsersOidcConfig, hasOperationPermission, type ListAccessRequestsFilter, MagicLinkError, type MagicLinkResult, MagicLinkService, type MagicLinkServiceOptions, type MagicLinkVerifyResult, MobileAuthError, type MobileAuthErrorCode, MobileAuthService, type MobileAuthServiceOptions, type MobileBootstrapContext, type MobileLoginContext, type MobileLogoutResult, type MobileRequestMeta, type MobileResolvedUser, type MobileTenantContext, normalizeOperationPermissionAction, type OidcCallbackResult, OidcLoginError, type OidcLoginResult, OidcLoginService, type OidcLoginServiceOptions, type OidcProviderConfig, type OidcProviderKind, type OidcProviderMetadata, type OidcProviderResolution, type OidcProviderResolutionOptions, type OidcTokenEndpointAuthMethod, type OidcTokenSet, type OidcTransaction, type OperationPermissionAllowReason, type OperationPermissionCollectionInput, type OperationPermissionDecision, type OperationPermissionDenyReason, OperationPermissionError, type OperationPermissionOptions, type PermissionCatalog, PermissionCatalogService, type PermissionCatalogSource, type PermissionCatalogSyncResult, type PermissionDefinition, type PermissionResolutionOptions, type PermissionResolutionResult, PermissionResolver, type PostgresPermissionAction, type PostgresPermissionBinding, type PostgresPermissionPolicyReportItem, type PostgresPermissionPolicyTarget, type PrincipalPermissionRuntimeOptions, type ResolvedOidcProviderConfig, readMobileBearerToken, registerPermissionDefinitions, resolveOidcProviderConfig, type SessionContext, type SessionPermissionRuntimeContext, type SessionPermissionRuntimeOptions, SessionService, type SessionServiceOptions, type SwitchTenantResult, syncPermissionCatalog, type TenantPermissionInheritanceResult, TenantService, type TenantWithOwnershipResult, TerminalAuthError, TerminalAuthRateLimitError, TerminalAuthService, type TerminalAuthServiceOptions, type UsersConfig, type UsersOidcConfig, validateMobileRedirectUri, withPrincipalPermissionContext, withSessionPermissionContext, } from './services/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as PermissionCollection, A as UserEmailKeyBackfillError, B as Session, C as decodeOidcTransaction, Ct as TenantPermissionEffect, E as resolveOidcProviderConfig, F as TenantHierarchyError, G as deriveOperationPermissionCollectionName, H as DEFAULT_ROLE_PERMISSION_PATTERNS, I as MAX_TENANT_HIERARCHY_DEPTH, J as registerPermissionDefinitions, K as deriveOperationPermissionSlug, L as Tenant, M as TenantPermissionOverrideCollection, N as TenantPermissionOverride, O as OidcProvisioningError, P as TenantCollection, Q as Role, R as SessionCollection, S as OidcLoginService, St as SessionStatus, T as getUsersOidcConfig, Tt as UserStatus, U as RolePermissionCollection, V as generateSessionId, W as PermissionCatalogService, X as RolePermission, Y as syncPermissionCatalog, Z as RoleCollection, _ as readMobileBearerToken, _t as DEFAULT_ROLES, a as TerminalAuthRateLimitError, at as GroupRoleCollection, b as PermissionResolver, bt as MembershipStatus, c as assertOperationPermission, ct as GroupMember, d as getCurrentSessionPermissionContext, dt as UsersCliAuthRequestCollection, et as Permission, f as getRequestScopedDatabase, ft as UsersCliAuthRequest, g as MobileAuthService, gt as AccessRequestStatus, h as MobileAuthError, ht as normalizeEmail, i as TerminalAuthError, it as Membership, j as backfillUserEmailKeys, k as UserCollection, l as checkOperationPermission, lt as GroupCollection, m as withSessionPermissionContext, mt as isValidEmail, n as DEFAULT_CLI_AUTH_REQUEST_TTL_SECONDS, nt as MembershipOverride, o as TerminalAuthService, ot as GroupRole, p as withPrincipalPermissionContext, pt as User, q as normalizeOperationPermissionAction, r as DEFAULT_CLI_SESSION_TTL_SECONDS, rt as MembershipCollection, s as OperationPermissionError, st as GroupMemberCollection, t as DEFAULT_CLI_AUTH_POLL_INTERVAL_SECONDS, tt as MembershipOverrideCollection, u as hasOperationPermission, ut as Group, v as validateMobileRedirectUri, vt as DEFAULT_ROLE_SLUGS, w as encodeOidcTransaction, wt as TenantStatus, x as OidcLoginError, xt as OverrideEffect, y as SessionService, yt as DEFAULT_TENANT_POLICY, z as DEFAULT_SESSION_TTL } from "./chunks/TerminalAuthService-BnNKbnGB.js";
1
+ import { $ as PermissionCollection, A as UserEmailKeyBackfillError, B as Session, C as decodeOidcTransaction, Ct as TenantPermissionEffect, E as resolveOidcProviderConfig, F as TenantHierarchyError, G as deriveOperationPermissionCollectionName, H as DEFAULT_ROLE_PERMISSION_PATTERNS, I as MAX_TENANT_HIERARCHY_DEPTH, J as registerPermissionDefinitions, K as deriveOperationPermissionSlug, L as Tenant, M as TenantPermissionOverrideCollection, N as TenantPermissionOverride, O as OidcProvisioningError, P as TenantCollection, Q as Role, R as SessionCollection, S as OidcLoginService, St as SessionStatus, T as getUsersOidcConfig, Tt as UserStatus, U as RolePermissionCollection, V as generateSessionId, W as PermissionCatalogService, X as RolePermission, Y as syncPermissionCatalog, Z as RoleCollection, _ as readMobileBearerToken, _t as DEFAULT_ROLES, a as TerminalAuthRateLimitError, at as GroupRoleCollection, b as PermissionResolver, bt as MembershipStatus, c as assertOperationPermission, ct as GroupMember, d as getCurrentSessionPermissionContext, dt as UsersCliAuthRequestCollection, et as Permission, f as getRequestScopedDatabase, ft as UsersCliAuthRequest, g as MobileAuthService, gt as AccessRequestStatus, h as MobileAuthError, ht as normalizeEmail, i as TerminalAuthError, it as Membership, j as backfillUserEmailKeys, k as UserCollection, l as checkOperationPermission, lt as GroupCollection, m as withSessionPermissionContext, mt as isValidEmail, n as DEFAULT_CLI_AUTH_REQUEST_TTL_SECONDS, nt as MembershipOverride, o as TerminalAuthService, ot as GroupRole, p as withPrincipalPermissionContext, pt as User, q as normalizeOperationPermissionAction, r as DEFAULT_CLI_SESSION_TTL_SECONDS, rt as MembershipCollection, s as OperationPermissionError, st as GroupMemberCollection, t as DEFAULT_CLI_AUTH_POLL_INTERVAL_SECONDS, tt as MembershipOverrideCollection, u as hasOperationPermission, ut as Group, v as validateMobileRedirectUri, vt as DEFAULT_ROLE_SLUGS, w as encodeOidcTransaction, wt as TenantStatus, x as OidcLoginError, xt as OverrideEffect, y as SessionService, yt as DEFAULT_TENANT_POLICY, z as DEFAULT_SESSION_TTL } from "./chunks/TerminalAuthService-BpA7-JpM.js";
2
2
  import { ObjectRegistry, SmrtCollection, SmrtObject, field, findManifestEntryByQualifiedName, smrt } from "@happyvertical/smrt-core";
3
3
  import { TenantScoped, tenantId } from "@happyvertical/smrt-tenancy";
4
4
  import { createLogger } from "@happyvertical/logger";
@@ -918,7 +918,7 @@ var MagicLinkService = class MagicLinkService {
918
918
  * The caller is responsible for emailing the token to the user.
919
919
  */
920
920
  async generate(email) {
921
- const { SignJWT } = await import("./chunks/TerminalAuthService-BnNKbnGB.js").then((n) => n.D);
921
+ const { SignJWT } = await import("./chunks/TerminalAuthService-BpA7-JpM.js").then((n) => n.D);
922
922
  const key = await this.getSigningKey();
923
923
  const nonce = crypto.randomUUID();
924
924
  const normalizedEmail = normalizeEmail(email);
@@ -947,7 +947,7 @@ var MagicLinkService = class MagicLinkService {
947
947
  * @throws {MagicLinkError} If the token is invalid, expired, or already used
948
948
  */
949
949
  async verify(token) {
950
- const { jwtVerify, errors } = await import("./chunks/TerminalAuthService-BnNKbnGB.js").then((n) => n.D);
950
+ const { jwtVerify, errors } = await import("./chunks/TerminalAuthService-BpA7-JpM.js").then((n) => n.D);
951
951
  const key = await this.getSigningKey();
952
952
  let payload;
953
953
  try {
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "version": "1.0.0",
3
- "timestamp": 1784065612718,
3
+ "timestamp": 1784095228712,
4
4
  "packageName": "@happyvertical/smrt-users",
5
- "packageVersion": "0.39.16",
5
+ "packageVersion": "0.40.0",
6
6
  "objects": {
7
7
  "@happyvertical/smrt-users:AccessRequestCollection": {
8
8
  "name": "accessrequestcollection",
9
9
  "className": "AccessRequestCollection",
10
10
  "qualifiedName": "@happyvertical/smrt-users:AccessRequestCollection",
11
11
  "collection": "accessrequests",
12
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/collections/AccessRequestCollection.ts",
12
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/collections/AccessRequestCollection.ts",
13
13
  "packageName": "@happyvertical/smrt-users",
14
14
  "fields": {},
15
15
  "methods": {
@@ -125,7 +125,7 @@
125
125
  "className": "UsersCliAuthRequestCollection",
126
126
  "qualifiedName": "@happyvertical/smrt-users:UsersCliAuthRequestCollection",
127
127
  "collection": "userscliauthrequests",
128
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/collections/CliAuthRequestCollection.ts",
128
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/collections/CliAuthRequestCollection.ts",
129
129
  "packageName": "@happyvertical/smrt-users",
130
130
  "fields": {},
131
131
  "methods": {
@@ -227,7 +227,7 @@
227
227
  "className": "GroupCollection",
228
228
  "qualifiedName": "@happyvertical/smrt-users:GroupCollection",
229
229
  "collection": "groups",
230
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/collections/GroupCollection.ts",
230
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/collections/GroupCollection.ts",
231
231
  "packageName": "@happyvertical/smrt-users",
232
232
  "fields": {},
233
233
  "methods": {
@@ -324,7 +324,7 @@
324
324
  "className": "GroupMemberCollection",
325
325
  "qualifiedName": "@happyvertical/smrt-users:GroupMemberCollection",
326
326
  "collection": "groupmembers",
327
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/collections/GroupMemberCollection.ts",
327
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/collections/GroupMemberCollection.ts",
328
328
  "packageName": "@happyvertical/smrt-users",
329
329
  "fields": {},
330
330
  "methods": {
@@ -520,7 +520,7 @@
520
520
  "className": "GroupRoleCollection",
521
521
  "qualifiedName": "@happyvertical/smrt-users:GroupRoleCollection",
522
522
  "collection": "grouproles",
523
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/collections/GroupRoleCollection.ts",
523
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/collections/GroupRoleCollection.ts",
524
524
  "packageName": "@happyvertical/smrt-users",
525
525
  "fields": {},
526
526
  "methods": {
@@ -683,7 +683,7 @@
683
683
  "className": "UsersMagicLinkTokenCollection",
684
684
  "qualifiedName": "@happyvertical/smrt-users:UsersMagicLinkTokenCollection",
685
685
  "collection": "usersmagiclinktokens",
686
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/collections/MagicLinkTokenCollection.ts",
686
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/collections/MagicLinkTokenCollection.ts",
687
687
  "packageName": "@happyvertical/smrt-users",
688
688
  "fields": {},
689
689
  "methods": {
@@ -785,7 +785,7 @@
785
785
  "className": "MembershipCollection",
786
786
  "qualifiedName": "@happyvertical/smrt-users:MembershipCollection",
787
787
  "collection": "memberships",
788
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/collections/MembershipCollection.ts",
788
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/collections/MembershipCollection.ts",
789
789
  "packageName": "@happyvertical/smrt-users",
790
790
  "fields": {},
791
791
  "methods": {
@@ -952,7 +952,7 @@
952
952
  "className": "MembershipOverrideCollection",
953
953
  "qualifiedName": "@happyvertical/smrt-users:MembershipOverrideCollection",
954
954
  "collection": "membershipoverrides",
955
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/collections/MembershipOverrideCollection.ts",
955
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/collections/MembershipOverrideCollection.ts",
956
956
  "packageName": "@happyvertical/smrt-users",
957
957
  "fields": {},
958
958
  "methods": {
@@ -1167,7 +1167,7 @@
1167
1167
  "className": "PermissionCollection",
1168
1168
  "qualifiedName": "@happyvertical/smrt-users:PermissionCollection",
1169
1169
  "collection": "permissions",
1170
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/collections/PermissionCollection.ts",
1170
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/collections/PermissionCollection.ts",
1171
1171
  "packageName": "@happyvertical/smrt-users",
1172
1172
  "fields": {},
1173
1173
  "methods": {
@@ -1300,7 +1300,7 @@
1300
1300
  "className": "RoleCollection",
1301
1301
  "qualifiedName": "@happyvertical/smrt-users:RoleCollection",
1302
1302
  "collection": "roles",
1303
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/collections/RoleCollection.ts",
1303
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/collections/RoleCollection.ts",
1304
1304
  "packageName": "@happyvertical/smrt-users",
1305
1305
  "fields": {},
1306
1306
  "methods": {
@@ -1433,7 +1433,7 @@
1433
1433
  "className": "RolePermissionCollection",
1434
1434
  "qualifiedName": "@happyvertical/smrt-users:RolePermissionCollection",
1435
1435
  "collection": "rolepermissions",
1436
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/collections/RolePermissionCollection.ts",
1436
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/collections/RolePermissionCollection.ts",
1437
1437
  "packageName": "@happyvertical/smrt-users",
1438
1438
  "fields": {},
1439
1439
  "methods": {
@@ -1615,7 +1615,7 @@
1615
1615
  "className": "SessionCollection",
1616
1616
  "qualifiedName": "@happyvertical/smrt-users:SessionCollection",
1617
1617
  "collection": "sessions",
1618
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/collections/SessionCollection.ts",
1618
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/collections/SessionCollection.ts",
1619
1619
  "packageName": "@happyvertical/smrt-users",
1620
1620
  "fields": {},
1621
1621
  "methods": {
@@ -1871,7 +1871,7 @@
1871
1871
  "className": "TenantCollection",
1872
1872
  "qualifiedName": "@happyvertical/smrt-users:TenantCollection",
1873
1873
  "collection": "tenants",
1874
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/collections/TenantCollection.ts",
1874
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/collections/TenantCollection.ts",
1875
1875
  "packageName": "@happyvertical/smrt-users",
1876
1876
  "fields": {},
1877
1877
  "methods": {
@@ -2195,7 +2195,7 @@
2195
2195
  "className": "TenantIntegrationCollection",
2196
2196
  "qualifiedName": "@happyvertical/smrt-users:TenantIntegrationCollection",
2197
2197
  "collection": "tenantintegrations",
2198
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/collections/TenantIntegrationCollection.ts",
2198
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/collections/TenantIntegrationCollection.ts",
2199
2199
  "packageName": "@happyvertical/smrt-users",
2200
2200
  "fields": {},
2201
2201
  "methods": {
@@ -2313,7 +2313,7 @@
2313
2313
  "className": "TenantPermissionOverrideCollection",
2314
2314
  "qualifiedName": "@happyvertical/smrt-users:TenantPermissionOverrideCollection",
2315
2315
  "collection": "tenantpermissionoverrides",
2316
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/collections/TenantPermissionOverrideCollection.ts",
2316
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/collections/TenantPermissionOverrideCollection.ts",
2317
2317
  "packageName": "@happyvertical/smrt-users",
2318
2318
  "fields": {},
2319
2319
  "methods": {
@@ -2641,7 +2641,7 @@
2641
2641
  "className": "UserCollection",
2642
2642
  "qualifiedName": "@happyvertical/smrt-users:UserCollection",
2643
2643
  "collection": "users",
2644
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/collections/UserCollection.ts",
2644
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/collections/UserCollection.ts",
2645
2645
  "packageName": "@happyvertical/smrt-users",
2646
2646
  "fields": {},
2647
2647
  "methods": {
@@ -2811,7 +2811,7 @@
2811
2811
  "className": "AccessRequest",
2812
2812
  "qualifiedName": "@happyvertical/smrt-users:AccessRequest",
2813
2813
  "collection": "accessrequests",
2814
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/models/AccessRequest.ts",
2814
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/models/AccessRequest.ts",
2815
2815
  "packageName": "@happyvertical/smrt-users",
2816
2816
  "fields": {
2817
2817
  "email": {
@@ -3114,7 +3114,7 @@
3114
3114
  "className": "UsersCliAuthRequest",
3115
3115
  "qualifiedName": "@happyvertical/smrt-users:UsersCliAuthRequest",
3116
3116
  "collection": "userscliauthrequests",
3117
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/models/CliAuthRequest.ts",
3117
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/models/CliAuthRequest.ts",
3118
3118
  "packageName": "@happyvertical/smrt-users",
3119
3119
  "fields": {
3120
3120
  "userCode": {
@@ -3270,7 +3270,7 @@
3270
3270
  "className": "Group",
3271
3271
  "qualifiedName": "@happyvertical/smrt-users:Group",
3272
3272
  "collection": "groups",
3273
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/models/Group.ts",
3273
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/models/Group.ts",
3274
3274
  "packageName": "@happyvertical/smrt-users",
3275
3275
  "fields": {
3276
3276
  "tenantId": {
@@ -3390,7 +3390,7 @@
3390
3390
  "className": "GroupMember",
3391
3391
  "qualifiedName": "@happyvertical/smrt-users:GroupMember",
3392
3392
  "collection": "groupmembers",
3393
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/models/GroupMember.ts",
3393
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/models/GroupMember.ts",
3394
3394
  "packageName": "@happyvertical/smrt-users",
3395
3395
  "fields": {
3396
3396
  "groupId": {
@@ -3507,7 +3507,7 @@
3507
3507
  "className": "GroupRole",
3508
3508
  "qualifiedName": "@happyvertical/smrt-users:GroupRole",
3509
3509
  "collection": "grouproles",
3510
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/models/GroupRole.ts",
3510
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/models/GroupRole.ts",
3511
3511
  "packageName": "@happyvertical/smrt-users",
3512
3512
  "fields": {
3513
3513
  "groupId": {
@@ -3624,7 +3624,7 @@
3624
3624
  "className": "UsersMagicLinkToken",
3625
3625
  "qualifiedName": "@happyvertical/smrt-users:UsersMagicLinkToken",
3626
3626
  "collection": "usersmagiclinktokens",
3627
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/models/MagicLinkToken.ts",
3627
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/models/MagicLinkToken.ts",
3628
3628
  "packageName": "@happyvertical/smrt-users",
3629
3629
  "fields": {
3630
3630
  "nonce": {
@@ -3766,7 +3766,7 @@
3766
3766
  "className": "Membership",
3767
3767
  "qualifiedName": "@happyvertical/smrt-users:Membership",
3768
3768
  "collection": "memberships",
3769
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/models/Membership.ts",
3769
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/models/Membership.ts",
3770
3770
  "packageName": "@happyvertical/smrt-users",
3771
3771
  "fields": {
3772
3772
  "userId": {
@@ -3929,7 +3929,7 @@
3929
3929
  "className": "MembershipOverride",
3930
3930
  "qualifiedName": "@happyvertical/smrt-users:MembershipOverride",
3931
3931
  "collection": "membershipoverrides",
3932
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/models/MembershipOverride.ts",
3932
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/models/MembershipOverride.ts",
3933
3933
  "packageName": "@happyvertical/smrt-users",
3934
3934
  "fields": {
3935
3935
  "membershipId": {
@@ -4073,7 +4073,7 @@
4073
4073
  "className": "Permission",
4074
4074
  "qualifiedName": "@happyvertical/smrt-users:Permission",
4075
4075
  "collection": "permissions",
4076
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/models/Permission.ts",
4076
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/models/Permission.ts",
4077
4077
  "packageName": "@happyvertical/smrt-users",
4078
4078
  "fields": {
4079
4079
  "name": {
@@ -4216,7 +4216,7 @@
4216
4216
  "className": "Role",
4217
4217
  "qualifiedName": "@happyvertical/smrt-users:Role",
4218
4218
  "collection": "roles",
4219
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/models/Role.ts",
4219
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/models/Role.ts",
4220
4220
  "packageName": "@happyvertical/smrt-users",
4221
4221
  "fields": {
4222
4222
  "tenantId": {
@@ -4384,7 +4384,7 @@
4384
4384
  "className": "RolePermission",
4385
4385
  "qualifiedName": "@happyvertical/smrt-users:RolePermission",
4386
4386
  "collection": "rolepermissions",
4387
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/models/RolePermission.ts",
4387
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/models/RolePermission.ts",
4388
4388
  "packageName": "@happyvertical/smrt-users",
4389
4389
  "fields": {
4390
4390
  "roleId": {
@@ -4501,7 +4501,7 @@
4501
4501
  "className": "Session",
4502
4502
  "qualifiedName": "@happyvertical/smrt-users:Session",
4503
4503
  "collection": "sessions",
4504
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/models/Session.ts",
4504
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/models/Session.ts",
4505
4505
  "packageName": "@happyvertical/smrt-users",
4506
4506
  "fields": {
4507
4507
  "userId": {
@@ -4777,7 +4777,7 @@
4777
4777
  "className": "Tenant",
4778
4778
  "qualifiedName": "@happyvertical/smrt-users:Tenant",
4779
4779
  "collection": "tenants",
4780
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/models/Tenant.ts",
4780
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/models/Tenant.ts",
4781
4781
  "packageName": "@happyvertical/smrt-users",
4782
4782
  "fields": {
4783
4783
  "created_at": {
@@ -5498,7 +5498,7 @@
5498
5498
  "className": "TenantIntegration",
5499
5499
  "qualifiedName": "@happyvertical/smrt-users:TenantIntegration",
5500
5500
  "collection": "tenantintegrations",
5501
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/models/TenantIntegration.ts",
5501
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/models/TenantIntegration.ts",
5502
5502
  "packageName": "@happyvertical/smrt-users",
5503
5503
  "fields": {
5504
5504
  "tenantId": {
@@ -5771,7 +5771,7 @@
5771
5771
  "className": "TenantPermissionOverride",
5772
5772
  "qualifiedName": "@happyvertical/smrt-users:TenantPermissionOverride",
5773
5773
  "collection": "tenantpermissionoverrides",
5774
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/models/TenantPermissionOverride.ts",
5774
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/models/TenantPermissionOverride.ts",
5775
5775
  "packageName": "@happyvertical/smrt-users",
5776
5776
  "fields": {
5777
5777
  "tenantId": {
@@ -5931,7 +5931,7 @@
5931
5931
  "className": "User",
5932
5932
  "qualifiedName": "@happyvertical/smrt-users:User",
5933
5933
  "collection": "users",
5934
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-5xldd/smrt/smrt/packages/users/src/models/User.ts",
5934
+ "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-k6895/smrt/smrt/packages/users/src/models/User.ts",
5935
5935
  "packageName": "@happyvertical/smrt-users",
5936
5936
  "fields": {
5937
5937
  "profileId": {
@@ -1,5 +1,5 @@
1
1
  import { SmrtClassOptions } from '@happyvertical/smrt-core';
2
- import { OidcClaims, OidcIdentityResult, OidcProfileResolver } from '../collections/UserCollection.js';
2
+ import { OidcClaims, OidcIdentityResult, OidcProfileOwnerAuthorizer, OidcProfileResolver } from '../collections/UserCollection.js';
3
3
  export type OidcProviderKind = 'kanidm' | 'dex' | 'generic';
4
4
  export type OidcTokenEndpointAuthMethod = 'client_secret_basic' | 'client_secret_post' | 'none';
5
5
  export interface OidcProviderConfig {
@@ -103,6 +103,11 @@ export interface OidcLoginServiceOptions extends SmrtClassOptions {
103
103
  * OIDC identity, User, or session creation.
104
104
  */
105
105
  resolveProfile?: OidcProfileResolver;
106
+ /**
107
+ * Explicitly authorize first binding to a pre-provisioned canonical Profile
108
+ * and its existing User owner after protocol claim validation.
109
+ */
110
+ authorizeProfileOwner?: OidcProfileOwnerAuthorizer;
106
111
  }
107
112
  export declare class OidcLoginError extends Error {
108
113
  constructor(message: string);
@@ -116,6 +121,7 @@ export declare class OidcLoginService {
116
121
  private readonly clockTolerance;
117
122
  private readonly fetchImpl;
118
123
  private readonly metadataCacheTtlMs;
124
+ private readonly authorizeProfileOwner?;
119
125
  private readonly resolveProfile?;
120
126
  private metadataFetchedAt;
121
127
  private metadataPromise?;
@@ -1 +1 @@
1
- {"version":3,"file":"OidcLoginService.d.ts","sourceRoot":"","sources":["../../src/services/OidcLoginService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OidcLoginService.d.ts","sourceRoot":"","sources":["../../src/services/OidcLoginService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAQjE,OAAO,EACL,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EAEzB,MAAM,kCAAkC,CAAC;AAO1C,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;AAE5D,MAAM,MAAM,2BAA2B,GACnC,qBAAqB,GACrB,oBAAoB,GACpB,MAAM,CAAC;AAEX,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;IAC5E;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,2BAA2B,CAAC;CACvD;AAED,MAAM,WAAW,6BAA6B;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,eAAgB,SAAQ,6BAA6B;IACpE,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACpE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,6BAA6B;IAC5C,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;IAC5E,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;IACzD,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,uCAAuC;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,QAAQ,EAAE,0BAA0B,CAAC;IACrC,4DAA4D;IAC5D,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,0EAA0E;IAC1E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC;;;OAGG;IACH,qBAAqB,CAAC,EAAE,0BAA0B,CAAC;CACpD;AAED,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM;CAI5B;AAqBD,wBAAgB,kBAAkB,IAAI,eAAe,CAGpD;AAkOD,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,eAAe,GAAG,MAAM,CAG1E;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAQpE;AAED,wBAAgB,yBAAyB,CACvC,YAAY,CAAC,EAAE,MAAM,EACrB,OAAO,GAAE,6BAAkC,GAC1C,sBAAsB,CAgCxB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAChD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkB;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAA6B;IACpE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAsB;IACtD,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,eAAe,CAAC,CAAgC;IACxD,OAAO,CAAC,UAAU,CAAC,CAAkB;IACrC,QAAQ,CAAC,QAAQ,EAAE,0BAA0B,CAAC;IAC9C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;gBAElB,OAAO,EAAE,uBAAuB;IAgC5C,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,eAAe;IAW/C,WAAW,IAAI,OAAO,CAAC,oBAAoB,CAAC;YAqBpC,aAAa;IAuCrB,sBAAsB,CAC1B,OAAO,GAAE,6BAAkC,GAC1C,OAAO,CAAC;QAAE,WAAW,EAAE,eAAe,CAAC;QAAC,GAAG,EAAE,GAAG,CAAA;KAAE,CAAC;IA2BhD,gBAAgB,CACpB,WAAW,EAAE,MAAM,GAAG,GAAG,EACzB,WAAW,EAAE,eAAe,GAC3B,OAAO,CAAC,kBAAkB,CAAC;IAYxB,aAAa,CACjB,WAAW,EAAE,MAAM,GAAG,GAAG,EACzB,WAAW,EAAE,eAAe,GAC3B,OAAO,CAAC,eAAe,CAAC;IAkB3B,OAAO,CAAC,gBAAgB;YAwCV,YAAY;YA8DZ,wBAAwB;YAsCxB,aAAa;CAuB5B"}