@rytass/bpm-core-shared 0.1.4 → 0.1.5

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/CHANGELOG.md CHANGED
@@ -8,6 +8,33 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
8
8
  Releases are managed by [`nx release`](https://nx.dev/recipes/nx-release) with
9
9
  Conventional Commits — see `nx.json` for the release config.
10
10
 
11
+ ## 0.1.5 — 2026-05-28
12
+
13
+ ### Documentation
14
+
15
+ - **`MemberMetadata.customFields` JSDoc.** Documented as opaque
16
+ host-shaped JSON: BPM stores the object verbatim, serializes it back
17
+ to GraphQL clients via `MemberProfile.customFieldsJson`, and never
18
+ introspects keys. Hosts populate the field via the
19
+ `options.readCustomFields?.(member)` hook in
20
+ `createBPMMemberBaseResolverProvider`. This was previously implied by
21
+ the source but undocumented in the published JSDoc.
22
+
23
+ ### Why a patch
24
+
25
+ No public type signatures change. JSDoc only.
26
+
27
+ ## 0.1.4 — 2026-05-27
28
+
29
+ No source changes. Bumped in lockstep with
30
+ `@rytass/bpm-core-nestjs-module@0.1.4` (re-publish after the 0.1.3
31
+ backend tarball shipped only `.ts` source — see that package's CHANGELOG).
32
+
33
+ ## 0.1.3 — 2026-05-27 (deprecated on npm)
34
+
35
+ Lockstep bump alongside the broken 0.1.3 backend release. Avoid;
36
+ upgrade directly to 0.1.4 or newer.
37
+
11
38
  ## 0.1.2 — 2026-05-27
12
39
 
13
40
  No source changes. Bumped in lockstep with
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rytass/bpm-core-shared",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "Shared TypeScript contracts for the Rytass BPM approval workflow stack (workflow, form, condition, identity, organization, status types).",
5
5
  "keywords": [
6
6
  "bpm",
@@ -2,6 +2,17 @@ export interface MemberMetadata {
2
2
  readonly memberId: string;
3
3
  readonly name: string;
4
4
  readonly email: string;
5
+ /**
6
+ * Opaque host-shaped JSON. BPM stores the object verbatim, serializes
7
+ * it back to GraphQL clients as `MemberProfile.customFieldsJson`, and
8
+ * never introspects keys — anything the host puts here flows through
9
+ * unchanged. Hosts using `createBPMMemberBaseResolverProvider` populate
10
+ * this field via the `options.readCustomFields?.(member)` hook;
11
+ * standalone `BPMMemberResolver` implementations return whatever shape
12
+ * the consumer UI needs. Use it as a side channel for picker labels,
13
+ * org context strings, avatar URLs, or any other host-specific
14
+ * metadata that should appear in member-display UIs.
15
+ */
5
16
  readonly customFields: Readonly<Record<string, unknown>>;
6
17
  }
7
18
  export interface MemberMetadataCacheEntry {