@happyvertical/smrt-profiles 0.39.15 → 0.39.16
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/AGENTS.md +4 -0
- package/README.md +8 -7
- package/dist/index.js +1 -1
- package/dist/manifest.json +33 -33
- package/dist/smrt-knowledge.json +6 -6
- package/package.json +6 -6
package/AGENTS.md
CHANGED
|
@@ -102,6 +102,10 @@ import { smrtProfilesGenerateBioPrompt } from '@happyvertical/smrt-profiles';
|
|
|
102
102
|
initializes the shared tracker table. Caller-owned exact reuse does not
|
|
103
103
|
consult the tracker and therefore does not require that table.
|
|
104
104
|
- **Profile-only OIDC linking fails closed on existing email matches**:
|
|
105
|
+
the typed canonical scenario contract is
|
|
106
|
+
`src/testing/oidcProvisioningDecisionMatrix.ts`, executed by both Profiles
|
|
107
|
+
and Users tests; keep public docs pointed at it instead of adding a second
|
|
108
|
+
behavioral table.
|
|
105
109
|
`createProfileFromOidc()` preserves exact issuer/subject reuse, including
|
|
106
110
|
legacy tenant-scoped and non-Person links, but profiles cannot prove whether a
|
|
107
111
|
User owns a same-email Profile. New identities therefore never attach to an
|
package/README.md
CHANGED
|
@@ -168,13 +168,14 @@ A handle exposing only `transaction()` is ambiguous and fails closed. For
|
|
|
168
168
|
adapters without nested savepoint support, including DuckDB, pass
|
|
169
169
|
the root database rather than calling the helper inside an outer transaction.
|
|
170
170
|
Provisioning fails before durable writes when neither safe path is available.
|
|
171
|
-
The
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
owner-aware
|
|
171
|
+
The typed [OIDC provisioning decision matrix](./src/testing/oidcProvisioningDecisionMatrix.ts)
|
|
172
|
+
is the canonical package-by-package behavior contract. It records exact reuse,
|
|
173
|
+
new identity and resolver outcomes, readiness, retries, adapter support, public
|
|
174
|
+
errors, and permitted row creation; the Profiles and Users suites execute its
|
|
175
|
+
applicable rows directly. In particular, Profile-only exact reuse preserves an
|
|
176
|
+
established legacy link because it creates no User/session authentication state,
|
|
177
|
+
while `UserCollection.getOrCreateFromOidc()` remains owner-aware and fail-closed.
|
|
178
|
+
Use the Users API for verified-email reuse and application reconciliation.
|
|
178
179
|
|
|
179
180
|
`Profile` and `ProfileCollection` both expose `getAssets()`, `addAsset()`, and
|
|
180
181
|
`removeAsset()` helpers backed by `profile_assets`. Typical relationships are
|