|
| 1 | +--- |
| 2 | +'@forgerock/sdk-utilities': minor |
| 3 | +'@forgerock/sdk-types': minor |
| 4 | +'@forgerock/sdk-logger': patch |
| 5 | +'@forgerock/sdk-oidc': minor |
| 6 | +'@forgerock/oidc-client': minor |
| 7 | +'@forgerock/journey-client': minor |
| 8 | +'@forgerock/davinci-client': minor |
| 9 | +--- |
| 10 | + |
| 11 | +Add unified cross-platform SDK configuration support |
| 12 | + |
| 13 | +New utility functions in `@forgerock/sdk-utilities` convert the cross-platform unified JSON config schema into each client's native config shape. Validation and mapping are owned entirely by the utilities layer — client factories remain typed to their existing config interfaces. |
| 14 | + |
| 15 | +**New in `@forgerock/sdk-utilities`:** |
| 16 | + |
| 17 | +- `makeOidcConfig(json)` — validates and maps unified JSON → `OidcConfig`; throws on invalid input |
| 18 | +- `makeJourneyConfig(json)` — validates and maps unified JSON → `JourneyClientConfig`; throws on invalid input |
| 19 | +- `makeDavinciConfig(json)` — validates and maps unified JSON → `DaVinciConfig`; throws on invalid input |
| 20 | +- `UnifiedSdkConfig`, `UnifiedOidcConfig`, `UnifiedJourneyConfig` types |
| 21 | +- `validateUnifiedSdkConfig` / `validateUnifiedOidcConfig` — pure validation returning `Either<T, ConfigValidationError[]>` |
| 22 | +- `unifiedToOidcConfig`, `unifiedToJourneyConfig`, `unifiedToDavinciConfig` — pure mappers returning `Either<T, ConfigValidationError>` |
| 23 | +- `isUnifiedSdkConfig` discriminator |
| 24 | +- `AuthDisplayValue`, `AuthPromptValue` types (canonical source — shared between `OidcConfig` and `GetAuthorizationUrlOptions`) |
| 25 | + |
| 26 | +**Usage:** |
| 27 | + |
| 28 | +```ts |
| 29 | +import { makeDavinciConfig } from '@forgerock/sdk-utilities'; |
| 30 | + |
| 31 | +const client = await davinci({ config: makeDavinciConfig(unifiedJsonConfig) }); |
| 32 | +``` |
| 33 | + |
| 34 | +**New in `@forgerock/sdk-types`:** |
| 35 | + |
| 36 | +- `OidcConfig`, `JourneyClientConfig`, `DaVinciConfig` moved here as canonical types (previously mirrored in `sdk-utilities` as `Mapped*` types) |
| 37 | +- `AuthDisplayValue`, `AuthPromptValue` types added (renamed from `OidcDisplayValue`/`OidcPromptValue`) |
| 38 | +- `GetAuthorizationUrlOptions` extended with `loginHint`, `nonce`, `display`, `uiLocales`, `acrValues`; `prompt` widened to include `'select_account'` |
| 39 | + |
| 40 | +**Updated in `@forgerock/sdk-logger`:** |
| 41 | + |
| 42 | +- `LogLevel` now re-exported from `@forgerock/sdk-types` (single source of truth); runtime behaviour unchanged |
| 43 | + |
| 44 | +**New in `@forgerock/sdk-oidc`:** |
| 45 | + |
| 46 | +- `buildAuthorizeParams` forwards all new OIDC authorize params into the URL |
| 47 | + |
| 48 | +**New in `@forgerock/oidc-client`:** |
| 49 | + |
| 50 | +- `endSession` appends `post_logout_redirect_uri` when `signOutRedirectUri` is set on config |
| 51 | +- Authorize URL construction forwards `loginHint`, `state`, `nonce`, `display`, `prompt`, `uiLocales`, `acrValues`, `additionalParameters` from config |
| 52 | + |
| 53 | +**New in `@forgerock/journey-client`:** |
| 54 | + |
| 55 | +- No API change — consume `makeJourneyConfig` at call-site to use unified JSON config |
| 56 | + |
| 57 | +**New in `@forgerock/davinci-client`:** |
| 58 | + |
| 59 | +- No API change — consume `makeDavinciConfig` at call-site to use unified JSON config |
0 commit comments