@happyvertical/smrt-users 0.40.14 → 0.40.15

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 CHANGED
@@ -37,7 +37,7 @@ await resolver.hasPermission(user.id, tenant.id, 'articles.create');
37
37
 
38
38
  ### Manifest-derived permission catalog
39
39
 
40
- SMRT objects now contribute permissions automatically based on their public
40
+ s-m-r-t objects now contribute permissions automatically based on their public
41
41
  surface area.
42
42
 
43
43
  ```typescript
@@ -151,7 +151,7 @@ export default defineConfig({
151
151
  ```
152
152
 
153
153
  Custom permissions merge with manifest-derived permissions by slug. If the same
154
- slug is registered with conflicting metadata, SMRT throws so the mismatch is
154
+ slug is registered with conflicting metadata, s-m-r-t throws so the mismatch is
155
155
  visible early.
156
156
 
157
157
  ### Runtime permission registration
@@ -185,7 +185,7 @@ try {
185
185
 
186
186
  ### Postgres RLS enforcement
187
187
 
188
- For Postgres, SMRT can generate and apply row-level security policies directly
188
+ For Postgres, s-m-r-t can generate and apply row-level security policies directly
189
189
  from the permission catalog.
190
190
 
191
191
  ```typescript
@@ -310,7 +310,7 @@ await destroySessionCookie(event, { db }); // logout
310
310
 
311
311
  ### OIDC login with Kanidm or Dex
312
312
 
313
- Kanidm and Dex both work through the generic SMRT OIDC flow. Configure one or
313
+ Kanidm and Dex both work through the generic s-m-r-t OIDC flow. Configure one or
314
314
  more providers under `packages.users.auth.oidc.providers`, then add login and
315
315
  callback route handlers.
316
316
 
@@ -371,8 +371,8 @@ JWKS-signed ID token, falling back to the OIDC UserInfo endpoint when the ID
371
371
  token omits required profile claims like `email`. Temporary transaction cookies
372
372
  are HMAC-signed with the provider `clientSecret` when present; public clients
373
373
  can pass `transactionCookieSecret` to the route helpers. On success it creates
374
- or reuses a SMRT `Profile`, links an `OidcIdentity`, creates or reuses a `User`,
375
- records `lastLoginAt`, and sets the standard SMRT session cookie.
374
+ or reuses a s-m-r-t `Profile`, links an `OidcIdentity`, creates or reuses a `User`,
375
+ records `lastLoginAt`, and sets the standard s-m-r-t session cookie.
376
376
 
377
377
  The typed [OIDC provisioning decision matrix](../profiles/src/testing/oidcProvisioningDecisionMatrix.ts)
378
378
  is the canonical behavior contract shared with Profiles. Its executable rows
@@ -432,7 +432,7 @@ global `Person` for a verified email; resolver reuse is rejected unless
432
432
  `null` still rejects login, a supplied Profile must be the already-linked
433
433
  Profile and cannot rebind it, and stable-link owner/canonical-Person checks
434
434
  still apply. The resolver receives a separate frozen claims snapshot; retry
435
- locks, identity lookups, and persistence retain SMRT's immutable internal
435
+ locks, identity lookups, and persistence retain s-m-r-t's immutable internal
436
436
  snapshot.
437
437
 
438
438
  An invitation or approval workflow that pre-provisions both the canonical
@@ -471,7 +471,7 @@ The authorizer runs after protocol validation and inside the provisioning
471
471
  transaction. It receives frozen normalized claims, the transaction-bound `db`,
472
472
  and a `UserCollection` bound to that same transaction. Return both selected
473
473
  objects only after application authorization; `undefined` uses the fail-closed
474
- default and `null` rejects. SMRT reloads and verifies the selected IDs rather
474
+ default and `null` rejects. s-m-r-t reloads and verifies the selected IDs rather
475
475
  than trusting the returned objects: `email_verified` must be exactly `true`,
476
476
  the Profile must be the unique canonical global `Person` for the claim email,
477
477
  exactly one User must own it, and that User must have the same normalized email.
@@ -482,7 +482,7 @@ writes must use only the supplied handles and be idempotent. Supplying both
482
482
  the same Profile.
483
483
 
484
484
  When userinfo supplies a missing email, its `email_verified` value travels with
485
- that email as one source-bound pair. SMRT never borrows a verification flag
485
+ that email as one source-bound pair. s-m-r-t never borrows a verification flag
486
486
  from the ID token for a userinfo address, or from userinfo for an ID-token
487
487
  address.
488
488
 
@@ -508,9 +508,9 @@ email claims on independent database handles. SQLite and DuckDB also acquire a
508
508
  database-URL transaction lock because one adapter cannot safely overlap
509
509
  unrelated root transactions; PostgreSQL deadlock and serialization failures use
510
510
  a bounded transaction retry. Owner-authorized binding uses the same contract:
511
- pass the DuckDB root handle and let SMRT serialize the callback transaction.
511
+ pass the DuckDB root handle and let s-m-r-t serialize the callback transaction.
512
512
  New OIDC Profiles use non-semantic unique slugs,
513
- so equal IdP display names cannot overwrite one another through SMRT's
513
+ so equal IdP display names cannot overwrite one another through s-m-r-t's
514
514
  natural-key upsert.
515
515
  Existing installations must run `smrt db:status`, `smrt db:migrate`, then
516
516
  `smrt db:status` before deploying this users version; legacy identities reserve
@@ -555,7 +555,7 @@ when initialization or recovery is needed. OIDC `iss` and `sub` are preserved as
555
555
  case-sensitive identifiers (trim is used only to reject blank claims), so
556
556
  whitespace-distinct subjects never reuse one another.
557
557
 
558
- With `postgresRls: true`, SMRT opens a request-scoped Postgres transaction,
558
+ With `postgresRls: true`, s-m-r-t opens a request-scoped Postgres transaction,
559
559
  loads the session, resolves permissions, and sets session variables used by the
560
560
  generated RLS helpers:
561
561