diff --git a/.changeset/nice-sails-trade.md b/.changeset/nice-sails-trade.md
new file mode 100644
index 00000000000..8d38da4e1a1
--- /dev/null
+++ b/.changeset/nice-sails-trade.md
@@ -0,0 +1,28 @@
+---
+'@forgerock/davinci-client': minor
+'@forgerock/journey-client': minor
+'@forgerock/oidc-client': minor
+'@forgerock/sdk-store': minor
+'@forgerock/sdk-oidc': major
+---
+
+Allow multiple SDK clients to share a single Redux store.
+
+`davinci()`, `journey()`, and `oidc()` now accept an optional `store` option. When two clients share a store they share the OpenID Connect discovery cache, so `.well-known/openid-configuration` is fetched once instead of once per client. `davinci()` and `journey()` expose the store they create as `client.store`; applications that want to own the store themselves can build one with `createSdkStore()` from the new `@forgerock/sdk-store` package.
+
+Omitting `store` is unchanged behaviour: the client creates its own store, exactly as before.
+
+**Request middleware and logging are scoped per client.** Each client's `requestMiddleware` and `logger` are registered against that client alone and are resolved only by its own requests. Middleware passed to `davinci()` or `journey()` is never applied to OIDC requests (`AUTHORIZE`, `PAR`, `TOKEN_EXCHANGE`, `REVOKE`, `USER_INFO`, `END_SESSION`), and middleware passed to `oidc()` is never applied to DaVinci or Journey requests. Both options are honoured on a shared store.
+
+**`oidc()` takes `store` as part of its options object**, alongside `config`, `requestMiddleware`, `logger`, and `storage`, consistent with every other factory in the SDK.
+
+**One OIDC client per store.** `oidc()` mounts at a fixed key, so initialising a second OIDC client on the same store with a different `clientId` returns an `argument_error` rather than silently overwriting the first client's token state. Re-initialising with the same `clientId` is allowed and idempotent. Use a separate store per `clientId`.
+
+Also in this release:
+
+- New `@forgerock/sdk-store` package (`scope:sdk-effects`) holding the single canonical `wellknownApi` instance, the shared store contract (`SdkStore`, `SdkStoreHandle`, `createSdkStore`, `injectClient`), and OpenID Connect discovery helpers (`initWellknownQuery`, `isValidWellknownResponse`). Previously each client package defined its own `wellknownApi`, which meant a separate discovery cache per client.
+- `oidc()` validates its arguments before attaching to a store, so a rejected call no longer leaves a caller-provided store modified.
+- Passing a value that is not an SDK store to `store` returns an `argument_error` instead of throwing.
+- Well-known selectors are now memoized per URL. `createWellknownSelector` previously rebuilt its selector on every call, so its cache never took effect.
+- `@forgerock/sdk-oidc`: `initWellknownQuery` and `isValidWellknownResponse` move to `@forgerock/sdk-store`. Update imports if you were using them directly.
+- `enforce-module-boundaries` lint rule promoted from `warn` to `error` across the repo. All packages pass.
diff --git a/e2e/davinci-app/main.ts b/e2e/davinci-app/main.ts
index e42ee2030a6..59f2f6d4133 100644
--- a/e2e/davinci-app/main.ts
+++ b/e2e/davinci-app/main.ts
@@ -30,7 +30,6 @@ import { serverConfigs } from './server-configs.js';
import type {
Collectors,
CustomLogger,
- DavinciClient,
DaVinciConfig,
GetClient,
InternalErrorResponse,
@@ -88,7 +87,11 @@ const requestMiddleware: RequestMiddleware<'DAVINCI_NEXT' | 'DAVINCI_START'>[] =
const urlParams = new URLSearchParams(window.location.search);
(async () => {
- const davinciClient: DavinciClient = await davinci({ config, logger, requestMiddleware });
+ const davinciResult = await davinci({ config, logger, requestMiddleware });
+ if ('error' in davinciResult) {
+ throw new Error(`Failed to initialize davinci client: ${davinciResult.error}`);
+ }
+ const davinciClient = davinciResult;
const oidcResult = await oidc({ config: config as OidcConfig });
if ('error' in oidcResult) {
throw new Error(`Failed to initialize oidc client: ${oidcResult.error}`);
diff --git a/e2e/davinci-app/shared-store.html b/e2e/davinci-app/shared-store.html
new file mode 100644
index 00000000000..e0551b54f43
--- /dev/null
+++ b/e2e/davinci-app/shared-store.html
@@ -0,0 +1,12 @@
+
+
+
+
+
+ Shared Store Test
+
+
+ initialising…
+
+
+
diff --git a/e2e/davinci-app/shared-store.ts b/e2e/davinci-app/shared-store.ts
new file mode 100644
index 00000000000..8820b1f39a4
--- /dev/null
+++ b/e2e/davinci-app/shared-store.ts
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2025 - 2026 Ping Identity Corporation. All rights reserved.
+ *
+ * This software may be modified and distributed under the terms
+ * of the MIT license. See the LICENSE file for details.
+ */
+
+/**
+ * Shared-store smoke test entry point.
+ *
+ * This page is navigated to by the Playwright e2e suite
+ * `shared-store.test.ts` only. It does not connect to any real PingOne
+ * endpoint — the test intercepts every `.well-known` request via
+ * `page.route()` and returns a minimal synthetic response.
+ *
+ * The page reports results by writing to `#status` so the test can
+ * assert via `page.textContent` without any app-specific UI.
+ */
+import { davinci } from '@forgerock/davinci-client';
+import { oidc } from '@forgerock/oidc-client';
+
+import type { DaVinciConfig } from '@forgerock/davinci-client/types';
+import type { OidcConfig } from '@forgerock/oidc-client/types';
+
+const WELLKNOWN_URL = 'https://sdk-test.example.com/as/.well-known/openid-configuration';
+
+const davinciConfig: DaVinciConfig = {
+ clientId: 'test-davinci-client',
+ redirectUri: window.location.origin,
+ scope: 'openid profile',
+ serverConfig: { wellknown: WELLKNOWN_URL },
+};
+
+const oidcConfig: OidcConfig = {
+ clientId: 'test-oidc-client',
+ redirectUri: window.location.origin,
+ scope: 'openid profile',
+ responseType: 'code',
+ serverConfig: { wellknown: WELLKNOWN_URL },
+};
+
+const statusEl = document.getElementById('status')!;
+
+async function run() {
+ // ── Mode 2: davinci creates the store, oidc attaches ─────────────────────
+ const dvClient = await davinci({ config: davinciConfig });
+ if ('error' in dvClient) {
+ statusEl.textContent = `davinci init error: ${dvClient.error}`;
+ return;
+ }
+
+ const ocClient = await oidc({ config: oidcConfig, store: dvClient.store });
+ if ('error' in ocClient) {
+ statusEl.textContent = `oidc init error: ${ocClient.error}`;
+ return;
+ }
+
+ statusEl.textContent = 'ready';
+}
+
+run().catch((err) => {
+ statusEl.textContent = `unexpected error: ${String(err)}`;
+});
diff --git a/e2e/davinci-app/vite.config.ts b/e2e/davinci-app/vite.config.ts
index 8625a27297c..b885b3911c8 100644
--- a/e2e/davinci-app/vite.config.ts
+++ b/e2e/davinci-app/vite.config.ts
@@ -17,6 +17,7 @@ export default defineConfig({
rollupOptions: {
input: {
main: path.resolve(__dirname, 'index.html'),
+ 'shared-store': path.resolve(__dirname, 'shared-store.html'),
},
output: {
entryFileNames: 'main.js',
diff --git a/e2e/davinci-suites/src/shared-store.test.ts b/e2e/davinci-suites/src/shared-store.test.ts
new file mode 100644
index 00000000000..7fa4f96c127
--- /dev/null
+++ b/e2e/davinci-suites/src/shared-store.test.ts
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2025 - 2026 Ping Identity Corporation. All rights reserved.
+ *
+ * This software may be modified and distributed under the terms
+ * of the MIT license. See the LICENSE file for details.
+ */
+import { expect, test } from '@playwright/test';
+
+/**
+ * Verifies that two SDK clients sharing a store fetch the OpenID Connect
+ * discovery document exactly once, regardless of which client initialises
+ * first and regardless of the ownership model.
+ *
+ * The page under test (`/shared-store`) exercises both Mode 2 (davinci owns
+ * the store) and Mode 3 (consumer-created store). Requests to the well-known
+ * URL are intercepted and served with a synthetic response so the test does
+ * not require a live PingOne endpoint.
+ */
+
+const WELLKNOWN_URL = 'https://sdk-test.example.com/as/.well-known/openid-configuration';
+
+const WELLKNOWN_RESPONSE = {
+ issuer: 'https://sdk-test.example.com/as',
+ authorization_endpoint: 'https://sdk-test.example.com/as/authorize',
+ token_endpoint: 'https://sdk-test.example.com/as/token',
+ userinfo_endpoint: 'https://sdk-test.example.com/as/userinfo',
+ jwks_uri: 'https://sdk-test.example.com/as/jwks',
+ revocation_endpoint: 'https://sdk-test.example.com/as/revoke',
+ introspection_endpoint: 'https://sdk-test.example.com/as/introspect',
+ pushed_authorization_request_endpoint: 'https://sdk-test.example.com/as/par',
+};
+
+test('shared store — one .well-known fetch across two clients (mode 2: client-owned)', async ({
+ page,
+}) => {
+ let discoveryFetchCount = 0;
+
+ // Intercept and count every discovery request; fulfil with a synthetic response
+ // so no live credential or network is needed.
+ await page.route(`**/.well-known/**`, async (route) => {
+ discoveryFetchCount++;
+ await route.fulfill({
+ status: 200,
+ contentType: 'application/json',
+ body: JSON.stringify(WELLKNOWN_RESPONSE),
+ });
+ });
+
+ await page.goto('/shared-store.html', { waitUntil: 'networkidle' });
+
+ // The page reports its own status so we know initialisation completed.
+ await expect(page.locator('#status')).toHaveText('ready', { timeout: 15_000 });
+
+ // Mode 2 (davinci owns the store, oidc attaches): davinci fetches once,
+ // oidc reads from cache — exactly 1 network request for 2 clients.
+ expect(discoveryFetchCount).toBe(1);
+});
+
+test("shared store — oidc attaches to davinci's store, reads discovery from cache", async ({
+ page,
+}) => {
+ const fetchedUrls: string[] = [];
+
+ await page.route(`**/.well-known/**`, async (route) => {
+ fetchedUrls.push(route.request().url());
+ await route.fulfill({
+ status: 200,
+ contentType: 'application/json',
+ body: JSON.stringify(WELLKNOWN_RESPONSE),
+ });
+ });
+
+ await page.goto('/shared-store.html', { waitUntil: 'networkidle' });
+ await expect(page.locator('#status')).toHaveText('ready', { timeout: 15_000 });
+
+ // Both modes use the same WELLKNOWN_URL, so each URL appears exactly once
+ // across the two calls despite four total client initialisations.
+ const unique = [...new Set(fetchedUrls)];
+ expect(unique).toHaveLength(1);
+ expect(unique[0]).toBe(WELLKNOWN_URL);
+
+ // Mode 2: 2 clients (davinci + oidc) on 1 store → exactly 1 fetch.
+ expect(fetchedUrls.length).toBe(1);
+});
diff --git a/e2e/device-client-app/src/utils/index.ts b/e2e/device-client-app/src/utils/index.ts
index 721d453d025..598512560c0 100644
--- a/e2e/device-client-app/src/utils/index.ts
+++ b/e2e/device-client-app/src/utils/index.ts
@@ -20,7 +20,12 @@ import type {
JourneyResult,
JourneyStep,
} from '@forgerock/journey-client/types';
-import type { OidcClient, OidcConfig, UserInfoResponse } from '@forgerock/oidc-client/types';
+import type {
+ GenericError,
+ OidcClient,
+ OidcConfig,
+ UserInfoResponse,
+} from '@forgerock/oidc-client/types';
let cachedOidcClient: OidcClient | null = null;
@@ -113,14 +118,19 @@ export const LoginAndGetClient = Effect.gen(function* () {
catch: (err) => new Error(`Failed to initialize OIDC client: ${err}`),
});
+ if ('error' in journeyClient) {
+ throw new Error(`Failed to initialize journey client: ${journeyClient.error}`);
+ }
+
if ('error' in oidcClient) {
- return yield* Effect.fail(new Error(`Failed to initialize OIDC client: ${oidcClient.error}`));
+ throw new Error(`Failed to initialize OIDC client: ${oidcClient.error}`);
}
cachedOidcClient = oidcClient;
yield* Effect.tryPromise({
- try: () => oidcClientOrThrow().user.logout(),
+ try: () =>
+ (cachedOidcClient as Exclude).user.logout(),
catch: (err) => new Error(`Logout failed: ${err}`),
}).pipe(Effect.catchAll((err) => Console.warn('Logout failed, continuing:', err)));
@@ -144,7 +154,13 @@ export const LoginAndGetClient = Effect.gen(function* () {
Effect.flatMap((step) => checkForLoginSuccess(step)),
Effect.flatMap(() =>
Effect.tryPromise({
- try: () => oidcClientOrThrow().token.get({ backgroundRenew: true }),
+ try: () => {
+ const client = oidcClientOrThrow();
+ if ('error' in client) {
+ throw new Error(`OIDC client is in error state: ${client.error}`);
+ }
+ return client.token.get({ backgroundRenew: true });
+ },
catch: (err) => new Error(`Failed to get tokens: ${err}`),
}).pipe(Effect.tap((tokens) => Console.log('Got Tokens', tokens))),
),
@@ -156,7 +172,11 @@ export const LoginAndGetClient = Effect.gen(function* () {
export const getUser = Effect.tryPromise({
try: async (): Promise => {
- const response = await oidcClientOrThrow().user.info();
+ const client = oidcClientOrThrow();
+ if ('error' in client) {
+ throw new Error(`OIDC client is in error state: ${client.error}`);
+ }
+ const response = await client.user.info();
if ('error' in response) {
throw new Error(`Failed to get user info: ${response.error}`);
}
diff --git a/e2e/journey-app/main.ts b/e2e/journey-app/main.ts
index e5c0d735dbb..80844d3fd04 100644
--- a/e2e/journey-app/main.ts
+++ b/e2e/journey-app/main.ts
@@ -15,7 +15,7 @@ import { handleWebAuthnStep } from './components/webauthn-step.js';
import { serverConfigs } from './server-configs.js';
import { deleteWebAuthnDevice } from './services/delete-webauthn-device.js';
-import type { JourneyClient, RequestMiddleware } from '@forgerock/journey-client/types';
+import type { RequestMiddleware } from '@forgerock/journey-client/types';
const qs = window.location.search;
const searchParams = new URLSearchParams(qs);
@@ -61,15 +61,14 @@ if (searchParams.get('middleware') === 'true') {
const formEl = document.getElementById('form') as HTMLFormElement;
const journeyEl = document.getElementById('journey') as HTMLDivElement;
- let journeyClient: JourneyClient;
- try {
- journeyClient = await journey({ config: config, requestMiddleware });
- } catch (error) {
- const message = error instanceof Error ? error.message : 'Unknown error';
+ const journeyResult = await journey({ config: config, requestMiddleware });
+ if ('error' in journeyResult) {
+ const message = journeyResult.error;
console.error('Failed to initialize journey client:', message);
errorEl.textContent = message;
return;
}
+ const journeyClient = journeyResult;
let step = await journeyClient.start({ journey: journeyName });
function renderError() {
diff --git a/eslint.config.mjs b/eslint.config.mjs
index 0f5d2a1a963..6b5f0e357a4 100644
--- a/eslint.config.mjs
+++ b/eslint.config.mjs
@@ -144,7 +144,7 @@ export default [
rules: {
'import/extensions': [2, 'ignorePackages'],
'@nx/enforce-module-boundaries': [
- 'warn',
+ 'error',
{
enforceBuildableLibDependency: true,
allow: [],
diff --git a/packages/davinci-client/README.md b/packages/davinci-client/README.md
index 5534564ffd9..a12ab1e61ee 100644
--- a/packages/davinci-client/README.md
+++ b/packages/davinci-client/README.md
@@ -25,7 +25,7 @@ Configure DaVinci Client with the following minimum, required properties:
```ts
// Demo with example values
-import { davinci } from '@forgerock/davinci';
+import { davinci } from '@forgerock/davinci-client';
const davinciClient = await davinci({
config: {
@@ -42,7 +42,7 @@ If you have a need for more than one client, say you need to use two or more dif
```ts
// Demo with example values
-import { davinci } from '@forgerock/davinci';
+import { davinci } from '@forgerock/davinci-client';
const firstDavinciClient = await davinci(/** config 1 **/);
const secondDavinciClient = await davinci(/** config 2 **/);
@@ -63,6 +63,50 @@ interface DaVinciConfig {
}
```
+### Sharing a store with another client
+
+If your application also uses `@forgerock/oidc-client`, the two can share one Redux store so the well-known discovery document is fetched once rather than once per client.
+
+`davinci()` exposes the store it created as `client.store`. Pass it to the other client:
+
+```ts
+import { davinci } from '@forgerock/davinci-client';
+import { oidc } from '@forgerock/oidc-client';
+
+const davinciClient = await davinci({ config });
+
+// Attaches to davinci's store; the discovery document is already cached there.
+const oidcClient = await oidc({ config: oidcConfig, store: davinciClient.store });
+```
+
+Or create the store yourself when neither client is the natural owner:
+
+```ts
+import { createSdkStore } from '@forgerock/sdk-store';
+
+const store = createSdkStore();
+const davinciClient = await davinci({ config, store });
+const oidcClient = await oidc({ config: oidcConfig, store });
+```
+
+Omitting `store` is always valid — the client creates its own, which is the default behaviour.
+
+#### Middleware and logging stay private
+
+Sharing a store shares cached data, not configuration. `requestMiddleware` and `logger` are registered against the client you pass them to, and are resolved only by that client's own requests:
+
+```ts
+const store = createSdkStore();
+
+// Runs for DAVINCI_START, DAVINCI_NEXT, DAVINCI_FLOW and the other DaVinci actions only.
+await davinci({ config, store, requestMiddleware: [davinciMiddleware] });
+
+// Runs for OIDC requests only.
+await oidc({ config: oidcConfig, store, requestMiddleware: [oidcMiddleware] });
+```
+
+Middleware passed here will never run against an OIDC token exchange, and vice versa.
+
### Start a DaVinci flow
Call the `start` method on the returned client API:
@@ -182,10 +226,10 @@ Upon each collector in the array, some will need an `updater`, like the collecto
```ts
// Example SingleValueCollector using the TextCollector
-const collectors = davinci.collectors();
+const collectors = davinciClient.getCollectors();
collectors.map((collector) => {
if (collector.type === 'TextCollector') {
- renderTextCollector(collector, davinci.update(collector));
+ renderTextCollector(collector, davinciClient.update(collector));
}
});
```
@@ -214,7 +258,7 @@ The `SubmitCollector` is associated with the submission of the current node and
```ts
// Example SubmitCollector mapping
-const collectors = davinci.collectors();
+const collectors = davinciClient.getCollectors();
collectors.map((collector) => {
if (collector.type === 'SubmitCollector') {
renderSubmitCollector(
@@ -234,7 +278,7 @@ To do this, you call the `flow` method on the `davinciClient` passing the `key`
```ts
// Example FlowCollector mapping
-const collectors = davinci.collectors();
+const collectors = davinciClient.getCollectors();
collectors.map((collector) => {
if (collector.type === 'FlowCollector') {
renderFlowCollector(collector, davinciClient.flow(collector));
@@ -260,7 +304,7 @@ function renderFlowCollector(collector, startFlow) {
After collecting the needed data, you proceed to the next node in the DaVinci flow by calling the `.next()` method on the same `davinci` client object. This can be the result of a user clicking on the button rendered from the `SubmitCollector`, from the "submit" event of the HTML form itself, or from programmatically triggering the submission in the application layer.
```ts
-let nextStep = davinci.next();
+const nextStep = await davinciClient.next();
```
Note: There's no need to pass anything into the `next` method as the DaVinci Client internally stores the updated object needed for the server.
@@ -284,25 +328,12 @@ When you receive a success node, you will likely want to use the Authorization C
Here's a brief sample of what that might look like in pseudocode:
```ts
-// ... other imports
-
-import { Config, TokenManager } from '@forgerock/javascript-sdk';
-
-// ... other config or initialization code
-
-// This Config.set accepts the same config schema as the davinci function
-Config.set(config);
-
-const node = await davinciClient.next();
-
-if (node.status === 'success') {
- const clientInfo = davinciClient.getClient();
-
- const code = clientInfo.authorization?.code || '';
- const state = clientInfo.authorization?.state || '';
-
- const tokens = await TokenManager.getTokens({ query: { code, state } });
- // user now has session and OIDC tokens
+// oidcClient is an instance of oidc() from @forgerock/oidc-client, configured earlier
+const tokens = await oidcClient.token.exchange(code, state);
+if ('error' in tokens) {
+ console.error('Token exchange failed:', tokens.error);
+} else {
+ console.log('Access token:', tokens.accessToken);
}
```
@@ -320,7 +351,7 @@ if (node.status === 'failure') {
renderError(error);
// ... user clicks button to restart flow
- const freshNode = davinciClient.start();
+ const freshNode = await davinciClient.start();
}
```
diff --git a/packages/davinci-client/api-report/davinci-client.api.md b/packages/davinci-client/api-report/davinci-client.api.md
index f324e08d857..d7a4b1395cd 100644
--- a/packages/davinci-client/api-report/davinci-client.api.md
+++ b/packages/davinci-client/api-report/davinci-client.api.md
@@ -1,2443 +1,2025 @@
-## API Report File for "@forgerock/davinci-client"
-
-> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
-
-```ts
-import { ActionCreatorWithPayload } from '@reduxjs/toolkit';
-import { ActionTypes } from '@forgerock/sdk-request-middleware';
-import { CustomLogger } from '@forgerock/sdk-logger';
-import type { DaVinciConfig } from '@forgerock/sdk-types';
-import { FetchBaseQueryError } from '@reduxjs/toolkit/query';
-import type { FetchBaseQueryMeta } from '@reduxjs/toolkit/query';
-import type { GenericError } from '@forgerock/sdk-types';
-import { LogLevel } from '@forgerock/sdk-logger';
-import { makeDavinciConfig } from '@forgerock/sdk-utilities';
-import type { MutationResultSelectorResult } from '@reduxjs/toolkit/query';
-import { QueryStatus } from '@reduxjs/toolkit/query';
-import { Reducer } from '@reduxjs/toolkit';
-import { RequestMiddleware } from '@forgerock/sdk-request-middleware';
-import { SerializedError } from '@reduxjs/toolkit';
-import { Unsubscribe } from '@reduxjs/toolkit';
-
-// @public (undocumented)
-export type ActionCollector =
- | ActionCollectorNoUrl
- | ActionCollectorWithUrl;
-
-// @public (undocumented)
-export interface ActionCollectorNoUrl {
- // (undocumented)
- category: 'ActionCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type ActionCollectors =
- | ActionCollectorWithUrl<'IdpCollector'>
- | ActionCollectorNoUrl<'ActionCollector'>
- | ActionCollectorNoUrl<'FlowCollector'>
- | ActionCollectorNoUrl<'SubmitCollector'>;
-
-// @public
-export type ActionCollectorTypes =
- | 'FlowCollector'
- | 'SubmitCollector'
- | 'IdpCollector'
- | 'ActionCollector';
-
-// @public (undocumented)
-export interface ActionCollectorWithUrl {
- // (undocumented)
- category: 'ActionCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- url?: string | null;
- };
- // (undocumented)
- type: T;
-}
-
-export { ActionTypes };
-
-// @public (undocumented)
-export type AgreementField = {
- type: 'AGREEMENT';
- key: string;
- content: string;
- titleEnabled: boolean;
- title?: string;
- agreement: {
- id: string;
- useDynamicAgreement: boolean;
- };
- enabled: boolean;
-};
-
-// @public (undocumented)
-export interface AssertionValue extends Omit<
- PublicKeyCredential,
- 'rawId' | 'response' | 'getClientExtensionResults' | 'toJSON'
-> {
- // (undocumented)
- rawId: string;
- // (undocumented)
- response: {
- clientDataJSON: string;
- authenticatorData: string;
- signature: string;
- userHandle: string | null;
- };
-}
-
-// @public (undocumented)
-export interface AttestationValue extends Omit<
- PublicKeyCredential,
- 'rawId' | 'response' | 'getClientExtensionResults' | 'toJSON'
-> {
- // (undocumented)
- rawId: string;
- // (undocumented)
- response: {
- clientDataJSON: string;
- attestationObject: string;
- };
-}
-
-// @public (undocumented)
-export interface AutoCollector<
- C extends AutoCollectorCategories,
- T extends AutoCollectorTypes,
- IV = string,
- OV = Record,
-> {
- // (undocumented)
- category: C;
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: IV;
- type: string;
- validation?: ValidationRequired[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- type: string;
- config: OV;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type AutoCollectorCategories = 'SingleValueAutoCollector' | 'ObjectValueAutoCollector';
-
-// @public (undocumented)
-export type AutoCollectors =
- | ProtectCollector
- | FidoRegistrationCollector
- | FidoAuthenticationCollector
- | MetadataCollector
- | PollingCollector
- | SingleValueAutoCollector
- | ObjectValueAutoCollector;
-
-// @public (undocumented)
-export type AutoCollectorTypes = SingleValueAutoCollectorTypes | ObjectValueAutoCollectorTypes;
-
-// @public (undocumented)
-export interface BooleanCollector extends SingleValueCollectorWithValue<
- 'BooleanCollector',
- boolean
-> {
- // (undocumented)
- output: SingleValueCollectorWithValue<'BooleanCollector', boolean>['output'] & {
- appearance: string;
- richContent?: CollectorRichContent;
- };
-}
-
-// @public (undocumented)
-export type CollectorCategory = Collectors['category'];
-
-// @public (undocumented)
-export interface CollectorErrors {
- // (undocumented)
- code: string;
- // (undocumented)
- message: string;
- // (undocumented)
- target: string;
-}
-
-// @public
-export interface CollectorRichContent {
- // (undocumented)
- content: string;
- // (undocumented)
- replacements: RichContentLink[];
-}
-
-// @public (undocumented)
-export type Collectors =
- | FlowCollector
- | MetadataCollector
- | PasswordCollector
- | ValidatedPasswordCollector
- | TextCollector
- | BooleanCollector
- | ValidatedBooleanCollector
- | SingleSelectCollector
- | IdpCollector
- | SubmitCollector
- | ActionCollector<'ActionCollector'>
- | SingleValueCollector<'SingleValueCollector'>
- | MultiSelectCollector
- | DeviceAuthenticationCollector
- | DeviceRegistrationCollector
- | PhoneNumberCollector
- | PhoneNumberExtensionCollector
- | ReadOnlyCollector
- | RichTextCollector
- | ValidatedTextCollector
- | ProtectCollector
- | PollingCollector
- | FidoRegistrationCollector
- | FidoAuthenticationCollector
- | QrCodeCollector
- | ImageCollector
- | UnknownCollector;
-
-// @public
-export type CollectorValueType = T extends
- | {
- type: 'PasswordCollector';
- }
- | {
- type: 'ValidatedPasswordCollector';
- }
- | {
- type: 'SingleSelectCollector';
- }
- | {
- type: 'DeviceRegistrationCollector';
- }
- | {
- type: 'DeviceAuthenticationCollector';
- }
- | {
- type: 'ProtectCollector';
- }
- | {
- type: 'PollingCollector';
- }
- ? string
- : T extends {
- type: 'TextCollector';
- category: 'SingleValueCollector';
- }
- ? string
- : T extends {
- type: 'TextCollector';
- category: 'ValidatedSingleValueCollector';
- }
- ? string
- : T extends
- | {
- type: 'BooleanCollector';
- }
- | {
- type: 'ValidatedBooleanCollector';
- }
- ? boolean
- : T extends {
- type: 'MultiSelectCollector';
- }
- ? string | string[]
- : T extends {
- type: 'PhoneNumberCollector';
- }
- ? PhoneNumberInputValue
- : T extends {
- type: 'PhoneNumberExtensionCollector';
- }
- ? PhoneNumberExtensionInputValue
- : T extends {
- type: 'FidoRegistrationCollector';
- }
- ? FidoRegistrationInputValue | GenericError
- : T extends {
- type: 'FidoAuthenticationCollector';
- }
- ? FidoAuthenticationInputValue | GenericError
- : T extends {
- type: 'MetadataCollector';
- }
- ? Record | MetadataError
- : T extends {
- category: 'SingleValueCollector';
- }
- ? string
- : T extends {
- category: 'ValidatedSingleValueCollector';
- }
- ? string
- : T extends {
- category: 'SingleValueAutoCollector';
- }
- ? string
- : T extends {
- category: 'MultiValueCollector';
- }
- ? string | string[]
- : T extends {
- category: 'ActionCollector';
- }
- ? never
- : T extends {
- category: 'NoValueCollector';
- }
- ? never
- : CollectorValueTypes;
-
-// @public
-export type CollectorValueTypes =
- | string
- | string[]
- | boolean
- | PhoneNumberInputValue
- | PhoneNumberExtensionInputValue
- | FidoRegistrationInputValue
- | FidoAuthenticationInputValue
- | MetadataError
- | GenericError;
-
-// @public (undocumented)
-export type ComplexValueFields =
- | DeviceAuthenticationField
- | DeviceRegistrationField
- | PhoneNumberField
- | PhoneNumberExtensionField
- | FidoRegistrationField
- | FidoAuthenticationField
- | PollingField
- | MetadataField;
-
-// @public (undocumented)
-export interface ContinueNode {
- // (undocumented)
- cache: {
- key: string;
- };
- // (undocumented)
- client: {
- action: string;
- collectors: Collectors[];
- description?: string;
- name?: string;
- status: 'continue';
- };
- // (undocumented)
- error: null;
- // (undocumented)
- httpStatus: number;
- // (undocumented)
- server: {
- _links?: Links;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- href?: string;
- eventName?: string;
- status: 'continue';
- };
- // (undocumented)
- status: 'continue';
-}
-
-export { CustomLogger };
-
-// @public
-export type CustomPollingStatus = string & {};
-
-// @public
-export function davinci(input: {
- config: DaVinciConfig;
- requestMiddleware?: RequestMiddleware[];
- logger?: {
- level: LogLevel;
- custom?: CustomLogger;
- };
-}): Promise<{
- subscribe: (listener: () => void) => Unsubscribe;
- externalIdp: () => () => Promise;
- flow: (action: DaVinciAction) => InitFlow;
- next: (args?: DaVinciRequest) => Promise;
- resume: (input: { continueToken: string }) => Promise;
- start: (
- options?: StartOptions | undefined,
- ) => Promise;
- update: (collector: T) => Updater;
- validate: (
- collector:
- | SingleValueCollectors
- | ObjectValueCollectors
- | MultiValueCollectors
- | AutoCollectors,
- ) => Validator;
- pollStatus: (collector: PollingCollector) => Poller;
- getClient: () =>
- | {
- action: string;
- collectors: Collectors[];
- description?: string;
- name?: string;
- status: 'continue';
- }
- | {
- action: string;
- collectors: Collectors[];
- description?: string;
- name?: string;
- status: 'error';
- }
- | {
- status: 'failure';
- }
- | {
- status: 'start';
- }
- | {
- authorization?: {
- code?: string;
- state?: string;
- };
- status: 'success';
- }
- | null;
- getCollectors: () => Collectors[];
- getError: () => DaVinciError | null;
- getErrorCollectors: () => CollectorErrors[];
- getNode: () => ContinueNode | ErrorNode | FailureNode | StartNode | SuccessNode;
- getServer: () =>
- | {
- _links?: Links;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- href?: string;
- eventName?: string;
- status: 'continue';
- }
- | {
- _links?: Links;
- eventName?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- status: 'error';
- }
- | {
- _links?: Links;
- eventName?: string;
- href?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- status: 'failure';
- }
- | {
- status: 'start';
- }
- | {
- _links?: Links;
- eventName?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- href?: string;
- session?: string;
- status: 'success';
- }
- | null;
- cache: {
- getLatestResponse: () =>
- | ({
- status: QueryStatus.fulfilled;
- } & Omit<
- {
- requestId: string;
- data?: unknown;
- error?: FetchBaseQueryError | SerializedError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- },
- 'data' | 'fulfilledTimeStamp'
- > &
- Required<
- Pick<
- {
- requestId: string;
- data?: unknown;
- error?: FetchBaseQueryError | SerializedError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- },
- 'data' | 'fulfilledTimeStamp'
- >
- > & {
- error: undefined;
- } & {
- status: QueryStatus.fulfilled;
- isUninitialized: false;
- isLoading: false;
- isSuccess: true;
- isError: false;
- })
- | ({
- status: QueryStatus.rejected;
- } & Omit<
- {
- requestId: string;
- data?: unknown;
- error?: FetchBaseQueryError | SerializedError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- },
- 'error'
- > &
- Required<
- Pick<
- {
- requestId: string;
- data?: unknown;
- error?: FetchBaseQueryError | SerializedError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- },
- 'error'
- >
- > & {
- status: QueryStatus.rejected;
- isUninitialized: false;
- isLoading: false;
- isSuccess: false;
- isError: true;
- })
- | {
- error: {
- message: string;
- type: string;
- };
- };
- getResponseWithId: (requestId: string) =>
- | ({
- status: QueryStatus.fulfilled;
- } & Omit<
- {
- requestId: string;
- data?: unknown;
- error?: FetchBaseQueryError | SerializedError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- },
- 'data' | 'fulfilledTimeStamp'
- > &
- Required<
- Pick<
- {
- requestId: string;
- data?: unknown;
- error?: FetchBaseQueryError | SerializedError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- },
- 'data' | 'fulfilledTimeStamp'
- >
- > & {
- error: undefined;
- } & {
- status: QueryStatus.fulfilled;
- isUninitialized: false;
- isLoading: false;
- isSuccess: true;
- isError: false;
- })
- | ({
- status: QueryStatus.rejected;
- } & Omit<
- {
- requestId: string;
- data?: unknown;
- error?: FetchBaseQueryError | SerializedError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- },
- 'error'
- > &
- Required<
- Pick<
- {
- requestId: string;
- data?: unknown;
- error?: FetchBaseQueryError | SerializedError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- },
- 'error'
- >
- > & {
- status: QueryStatus.rejected;
- isUninitialized: false;
- isLoading: false;
- isSuccess: false;
- isError: true;
- })
- | {
- error: {
- message: string;
- type: string;
- };
- };
- };
-}>;
-
-// @public
-export interface DaVinciAction {
- // (undocumented)
- action: string;
-}
-
-// @public
-export interface DaVinciBaseResponse {
- // (undocumented)
- capabilityName?: string;
- // (undocumented)
- companyId?: string;
- // (undocumented)
- connectionId?: string;
- // (undocumented)
- connectorId?: string;
- // (undocumented)
- id?: string;
- // (undocumented)
- interactionId?: string;
- // (undocumented)
- interactionToken?: string;
- // (undocumented)
- isResponseCompatibleWithMobileAndWebSdks?: boolean;
- // (undocumented)
- status?: string;
-}
-
-// @public
-export type DaVinciCacheEntry = {
- data?: DaVinciBaseResponse;
- error?: {
- data: DaVinciBaseResponse;
- status: number;
- };
-} & {
- data?: any;
- error?: any;
-} & MutationResultSelectorResult;
-
-// @public (undocumented)
-export type DavinciClient = Awaited>;
-
-export { DaVinciConfig };
-
-// @public (undocumented)
-export interface DaVinciError extends Omit {
- // (undocumented)
- collectors?: CollectorErrors[];
- // (undocumented)
- internalHttpStatus?: number;
- // (undocumented)
- message: string;
- // (undocumented)
- status: 'error' | 'failure' | 'unknown';
-}
-
-// @public (undocumented)
-export interface DaVinciErrorCacheEntry {
- // (undocumented)
- endpointName: 'next' | 'flow' | 'start';
- // (undocumented)
- error: {
- data: T;
- };
- // (undocumented)
- fulfilledTimeStamp: number;
- // (undocumented)
- isError: boolean;
- // (undocumented)
- isLoading: boolean;
- // (undocumented)
- isSuccess: boolean;
- // (undocumented)
- isUninitialized: boolean;
- // (undocumented)
- requestId: string;
- // (undocumented)
- startedTimeStamp: number;
- // (undocumented)
- status: 'fulfilled' | 'pending' | 'rejected';
-}
-
-// @public (undocumented)
-export interface DavinciErrorResponse extends DaVinciBaseResponse {
- // (undocumented)
- cause?: string | null;
- // (undocumented)
- code: string | number;
- // (undocumented)
- details?: ErrorDetail[];
- // (undocumented)
- doNotSendToOE?: boolean;
- // (undocumented)
- error?: {
- code?: string;
- message?: string;
- };
- // (undocumented)
- errorCategory?: string;
- // (undocumented)
- errorMessage?: string;
- // (undocumented)
- expected?: boolean;
- // (undocumented)
- httpResponseCode: number;
- // (undocumented)
- isErrorCustomized?: boolean;
- // (undocumented)
- message: string;
- // (undocumented)
- metricAttributes?: {
- [key: string]: unknown;
- };
-}
-
-// @public (undocumented)
-export interface DaVinciFailureResponse extends DaVinciBaseResponse {
- // (undocumented)
- error?: {
- code?: string;
- message?: string;
- [key: string]: unknown;
- };
-}
-
-// @public (undocumented)
-export type DaVinciField =
- | ComplexValueFields
- | MultiValueFields
- | ReadOnlyFields
- | RedirectFields
- | SingleValueFields;
-
-// @public
-export interface DaVinciNextResponse extends DaVinciBaseResponse {
- // (undocumented)
- eventName?: string;
- // (undocumented)
- form?: {
- name?: string;
- description?: string;
- components?: {
- fields?: DaVinciField[];
- };
- };
- // (undocumented)
- formData?: {
- value?: {
- [key: string]: string;
- };
- };
- // (undocumented)
- _links?: Links;
-}
-
-// @public
-export interface DaVinciPollResponse extends DaVinciBaseResponse {
- // (undocumented)
- eventName?: string;
- // (undocumented)
- _links?: Links;
- // (undocumented)
- success?: boolean;
-}
-
-// @public (undocumented)
-export interface DaVinciRequest {
- // (undocumented)
- eventName: string;
- // (undocumented)
- id: string;
- // (undocumented)
- interactionId: string;
- // (undocumented)
- parameters: {
- eventType: 'submit' | 'action' | 'polling';
- data: {
- actionKey: string;
- formData?: Record;
- };
- };
-}
-
-// @public
-export type DaVinciRequestValueTypes =
- | string
- | number
- | boolean
- | (string | number | boolean)[]
- | DeviceValue
- | PhoneNumberInputValue
- | FidoRegistrationInputValue
- | FidoAuthenticationInputValue
- | MetadataError
- | GenericError;
-
-// @public (undocumented)
-export interface DaVinciSuccessResponse extends DaVinciBaseResponse {
- // (undocumented)
- authorizeResponse?: OAuthDetails;
- // (undocumented)
- environment: {
- id: string;
- [key: string]: unknown;
- };
- // (undocumented)
- _links?: Links;
- // (undocumented)
- resetCookie?: boolean;
- // (undocumented)
- session?: {
- id?: string;
- [key: string]: unknown;
- };
- // (undocumented)
- sessionToken?: string;
- // (undocumented)
- sessionTokenMaxAge?: number;
- // (undocumented)
- status: string;
- // (undocumented)
- subFlowSettings?: {
- cssLinks?: unknown[];
- cssUrl?: unknown;
- jsLinks?: unknown[];
- loadingScreenSettings?: unknown;
- reactSkUrl?: unknown;
- };
- // (undocumented)
- success: true;
-}
-
-// @public (undocumented)
-export type DeviceAuthenticationCollector = ObjectOptionsCollectorWithObjectValue<
- 'DeviceAuthenticationCollector',
- DeviceValue
->;
-
-// @public (undocumented)
-export type DeviceAuthenticationField = {
- type: 'DEVICE_AUTHENTICATION';
- key: string;
- label: string;
- options: {
- type: string;
- iconSrc: string;
- title: string;
- id: string;
- default: boolean;
- description: string;
- }[];
- required: boolean;
-};
-
-// @public (undocumented)
-export interface DeviceOptionNoDefault {
- // (undocumented)
- content: string;
- // (undocumented)
- key: string;
- // (undocumented)
- label: string;
- // (undocumented)
- type: string;
- // (undocumented)
- value: string;
-}
-
-// @public (undocumented)
-export interface DeviceOptionWithDefault {
- // (undocumented)
- content: string;
- // (undocumented)
- default: boolean;
- // (undocumented)
- key: string;
- // (undocumented)
- label: string;
- // (undocumented)
- type: string;
- // (undocumented)
- value: string;
-}
-
-// @public (undocumented)
-export type DeviceRegistrationCollector = ObjectOptionsCollectorWithStringValue<
- 'DeviceRegistrationCollector',
- string
->;
-
-// @public (undocumented)
-export type DeviceRegistrationField = {
- type: 'DEVICE_REGISTRATION';
- key: string;
- label: string;
- options: {
- type: string;
- iconSrc: string;
- title: string;
- description: string;
- }[];
- required: boolean;
-};
-
-// @public (undocumented)
-export interface DeviceValue {
- // (undocumented)
- id: string;
- // (undocumented)
- type: string;
- // (undocumented)
- value: string;
-}
-
-// @public (undocumented)
-export interface ErrorDetail {
- // (undocumented)
- message?: string;
- // (undocumented)
- rawResponse?: {
- _embedded?: {
- users?: Array;
- };
- code?: string;
- count?: number;
- details?: NestedErrorDetails[];
- id?: string;
- message?: string;
- size?: number;
- userFilter?: string;
- [key: string]: unknown;
- };
- // (undocumented)
- statusCode?: number;
-}
-
-// @public (undocumented)
-export interface ErrorNode {
- // (undocumented)
- cache: {
- key: string;
- };
- // (undocumented)
- client: {
- action: string;
- collectors: Collectors[];
- description?: string;
- name?: string;
- status: 'error';
- };
- // (undocumented)
- error: DaVinciError;
- // (undocumented)
- httpStatus: number;
- // (undocumented)
- server: {
- _links?: Links;
- eventName?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- status: 'error';
- } | null;
- // (undocumented)
- status: 'error';
-}
-
-// @public (undocumented)
-export interface FailureNode {
- // (undocumented)
- cache: {
- key: string;
- };
- // (undocumented)
- client: {
- status: 'failure';
- };
- // (undocumented)
- error: DaVinciError;
- // (undocumented)
- httpStatus: number;
- // (undocumented)
- server: {
- _links?: Links;
- eventName?: string;
- href?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- status: 'failure';
- } | null;
- // (undocumented)
- status: 'failure';
-}
-
-// @public
-export function fido(): FidoClient;
-
-// @public (undocumented)
-export type FidoAuthenticationCollector = AutoCollector<
- 'ObjectValueAutoCollector',
- 'FidoAuthenticationCollector',
- FidoAuthenticationInputValue | GenericError,
- FidoAuthenticationOutputValue
->;
-
-// @public (undocumented)
-export type FidoAuthenticationField = {
- type: 'FIDO2';
- key: string;
- label: string;
- publicKeyCredentialRequestOptions: FidoAuthenticationOptions;
- action: 'AUTHENTICATE';
- trigger: string;
- required: boolean;
-};
-
-// @public (undocumented)
-export interface FidoAuthenticationInputValue {
- // (undocumented)
- assertionValue?: AssertionValue;
-}
-
-// @public (undocumented)
-export interface FidoAuthenticationOptions extends Omit<
- PublicKeyCredentialRequestOptions,
- 'challenge' | 'allowCredentials'
-> {
- // (undocumented)
- allowCredentials?: {
- id: number[];
- transports?: AuthenticatorTransport[];
- type: PublicKeyCredentialType;
- }[];
- // (undocumented)
- challenge: number[];
-}
-
-// @public (undocumented)
-export interface FidoAuthenticationOutputValue {
- // (undocumented)
- action: 'AUTHENTICATE';
- // (undocumented)
- publicKeyCredentialRequestOptions: FidoAuthenticationOptions;
- // (undocumented)
- trigger: string;
-}
-
-// @public (undocumented)
-export interface FidoClient {
- authenticate: (
- options: FidoAuthenticationOptions,
- ) => Promise;
- register: (
- options: FidoRegistrationOptions,
- ) => Promise;
-}
-
-// @public
-export type FidoErrorCode =
- | 'NotAllowedError'
- | 'AbortError'
- | 'InvalidStateError'
- | 'NotSupportedError'
- | 'SecurityError'
- | 'TimeoutError'
- | 'UnknownError';
-
-// @public (undocumented)
-export type FidoRegistrationCollector = AutoCollector<
- 'ObjectValueAutoCollector',
- 'FidoRegistrationCollector',
- FidoRegistrationInputValue | GenericError,
- FidoRegistrationOutputValue
->;
-
-// @public (undocumented)
-export type FidoRegistrationField = {
- type: 'FIDO2';
- key: string;
- label: string;
- publicKeyCredentialCreationOptions: FidoRegistrationOptions;
- action: 'REGISTER';
- trigger: string;
- required: boolean;
-};
-
-// @public (undocumented)
-export interface FidoRegistrationInputValue {
- // (undocumented)
- attestationValue?: AttestationValue;
-}
-
-// @public (undocumented)
-export interface FidoRegistrationOptions extends Omit<
- PublicKeyCredentialCreationOptions,
- 'challenge' | 'user' | 'pubKeyCredParams' | 'excludeCredentials'
-> {
- // (undocumented)
- challenge: number[];
- // (undocumented)
- excludeCredentials?: {
- id: number[];
- transports?: AuthenticatorTransport[];
- type: PublicKeyCredentialType;
- }[];
- // (undocumented)
- pubKeyCredParams: {
- alg: string | number;
- type: PublicKeyCredentialType;
- }[];
- // (undocumented)
- user: {
- id: number[];
- name: string;
- displayName: string;
- };
-}
-
-// @public (undocumented)
-export interface FidoRegistrationOutputValue {
- // (undocumented)
- action: 'REGISTER';
- // (undocumented)
- publicKeyCredentialCreationOptions: FidoRegistrationOptions;
- // (undocumented)
- trigger: string;
-}
-
-// @public (undocumented)
-export type FlowCollector = ActionCollectorNoUrl<'FlowCollector'>;
-
-// @public (undocumented)
-export type FlowNode = ContinueNode | ErrorNode | StartNode | SuccessNode | FailureNode;
-
-// @public
-export type GetClient =
- | StartNode['client']
- | ContinueNode['client']
- | ErrorNode['client']
- | SuccessNode['client']
- | FailureNode['client'];
-
-// @public (undocumented)
-export type IdpCollector = ActionCollectorWithUrl<'IdpCollector'>;
-
-// @public
-export interface ImageCollector extends NoValueCollectorBase<'ImageCollector'> {
- // (undocumented)
- output: NoValueCollectorBase<'ImageCollector'>['output'] & {
- src: string;
- alt: string;
- href?: string;
- };
-}
-
-// @public (undocumented)
-export type ImageField = {
- type: 'IMAGE';
- key: string;
- description: string;
- imageUrl: string;
- hyperlinkUrl?: string;
-};
-
-// @public (undocumented)
-export type InferActionCollectorType = T extends 'IdpCollector'
- ? IdpCollector
- : T extends 'SubmitCollector'
- ? SubmitCollector
- : T extends 'FlowCollector'
- ? FlowCollector
- : ActionCollectorWithUrl<'ActionCollector'> | ActionCollectorNoUrl<'ActionCollector'>;
-
-// @public
-export type InferAutoCollectorType = T extends 'ProtectCollector'
- ? ProtectCollector
- : T extends 'PollingCollector'
- ? PollingCollector
- : T extends 'FidoRegistrationCollector'
- ? FidoRegistrationCollector
- : T extends 'FidoAuthenticationCollector'
- ? FidoAuthenticationCollector
- : T extends 'MetadataCollector'
- ? MetadataCollector
- : T extends 'ObjectValueAutoCollector'
- ? ObjectValueAutoCollector
- : SingleValueAutoCollector;
-
-// @public
-export type InferMultiValueCollectorType =
- T extends 'MultiSelectCollector'
- ? MultiValueCollectorWithValue<'MultiSelectCollector'>
- :
- | MultiValueCollectorWithValue<'MultiValueCollector'>
- | MultiValueCollectorNoValue<'MultiValueCollector'>;
-
-// @public
-export type InferNoValueCollectorType =
- T extends 'ReadOnlyCollector'
- ? ReadOnlyCollector
- : T extends 'RichTextCollector'
- ? RichTextCollector
- : T extends 'QrCodeCollector'
- ? QrCodeCollector
- : T extends 'ImageCollector'
- ? ImageCollector
- : NoValueCollectorBase<'NoValueCollector'>;
-
-// @public
-export type InferSingleValueCollectorType =
- T extends 'TextCollector'
- ? TextCollector
- : T extends 'SingleSelectCollector'
- ? SingleSelectCollector
- : T extends 'ValidatedTextCollector'
- ? ValidatedTextCollector
- : T extends 'PasswordCollector'
- ? PasswordCollector
- : T extends 'ValidatedPasswordCollector'
- ? ValidatedPasswordCollector
- : T extends 'BooleanCollector'
- ? BooleanCollector
- : T extends 'ValidatedBooleanCollector'
- ? ValidatedBooleanCollector
- :
- | SingleValueCollectorWithValue<'SingleValueCollector'>
- | SingleValueCollectorNoValue<'SingleValueCollector'>;
-
-// @public (undocumented)
-export type InferValueObjectCollectorType =
- T extends 'DeviceAuthenticationCollector'
- ? DeviceAuthenticationCollector
- : T extends 'DeviceRegistrationCollector'
- ? DeviceRegistrationCollector
- : T extends 'PhoneNumberCollector'
- ? PhoneNumberCollector
- : T extends 'PhoneNumberExtensionCollector'
- ? PhoneNumberExtensionCollector
- :
- | ObjectOptionsCollectorWithObjectValue<'ObjectValueCollector'>
- | ObjectOptionsCollectorWithStringValue<'ObjectValueCollector'>;
-
-// @public (undocumented)
-export type InitFlow = () => Promise;
-
-// @public (undocumented)
-export interface InternalErrorResponse {
- // (undocumented)
- error: Omit & {
- message: string;
- };
- // (undocumented)
- type: 'internal_error';
-}
-
-// @public (undocumented)
-export interface Links {
- // (undocumented)
- [key: string]: {
- href?: string;
- };
-}
-
-export { LogLevel };
-
-export { makeDavinciConfig };
-
-// @public (undocumented)
-export type MetadataCollector = AutoCollector<
- 'ObjectValueAutoCollector',
- 'MetadataCollector',
- MetadataCollectorInputValue,
- Record
->;
-
-// @public (undocumented)
-export type MetadataCollectorInputValue = Record | MetadataError;
-
-// @public
-export interface MetadataError {
- // (undocumented)
- code: string;
- // (undocumented)
- message: string;
-}
-
-// @public (undocumented)
-export type MetadataField = {
- type: 'METADATA';
- key: string;
- payload: Record;
-};
-
-// @public (undocumented)
-export type MultiSelectCollector = MultiValueCollectorWithValue<'MultiSelectCollector'>;
-
-// @public (undocumented)
-export type MultiSelectField = {
- inputType: 'MULTI_SELECT';
- key: string;
- label: string;
- options: {
- label: string;
- value: string;
- }[];
- required?: boolean;
- type: 'CHECKBOX' | 'COMBOBOX';
-};
-
-// @public (undocumented)
-export type MultiValueCollector =
- | MultiValueCollectorWithValue
- | MultiValueCollectorNoValue;
-
-// @public (undocumented)
-export interface MultiValueCollectorNoValue {
- // (undocumented)
- category: 'MultiValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string[];
- type: string;
- validation: ValidationRequired[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- options: SelectorOption[];
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type MultiValueCollectors =
- | MultiValueCollectorWithValue<'MultiValueCollector'>
- | MultiValueCollectorWithValue<'MultiSelectCollector'>;
-
-// @public
-export type MultiValueCollectorTypes = 'MultiSelectCollector' | 'MultiValueCollector';
-
-// @public (undocumented)
-export interface MultiValueCollectorWithValue {
- // (undocumented)
- category: 'MultiValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string[];
- type: string;
- validation: ValidationRequired[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- value: string[];
- options: SelectorOption[];
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type MultiValueFields = MultiSelectField;
-
-// @public
-export interface NestedErrorDetails {
- // (undocumented)
- code?: string;
- // (undocumented)
- innerError?: {
- history?: string;
- unsatisfiedRequirements?: string[];
- failuresRemaining?: number;
- };
- // (undocumented)
- message?: string;
- // (undocumented)
- target?: string;
-}
-
-// @public
-export const nextCollectorValues: ActionCreatorWithPayload<
- {
- fields: DaVinciField[];
- formData: {
- value: Record;
- };
- },
- string
->;
-
-// @public
-export const nodeCollectorReducer: Reducer & {
- getInitialState: () => Collectors[];
-};
-
-// @public (undocumented)
-export type NodeStates = StartNode | ContinueNode | ErrorNode | SuccessNode | FailureNode;
-
-// @public (undocumented)
-export type NoValueCollector = InferNoValueCollectorType;
-
-// @public (undocumented)
-export interface NoValueCollectorBase {
- // (undocumented)
- category: 'NoValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type NoValueCollectors =
- | NoValueCollectorBase<'NoValueCollector'>
- | ReadOnlyCollector
- | RichTextCollector
- | QrCodeCollector
- | ImageCollector;
-
-// @public
-export type NoValueCollectorTypes =
- | 'ReadOnlyCollector'
- | 'RichTextCollector'
- | 'NoValueCollector'
- | 'QrCodeCollector'
- | 'ImageCollector';
-
-// @public
-export interface OAuthDetails {
- // (undocumented)
- [key: string]: unknown;
- // (undocumented)
- code?: string;
- // (undocumented)
- state?: string;
-}
-
-// @public (undocumented)
-export interface ObjectOptionsCollectorWithObjectValue<
- T extends ObjectValueCollectorTypes,
- V = Record,
- D = Record,
-> {
- // (undocumented)
- category: 'ObjectValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: V;
- type: string;
- validation: ValidationRequired[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- options: DeviceOptionWithDefault[];
- value?: D | null;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export interface ObjectOptionsCollectorWithStringValue<
- T extends ObjectValueCollectorTypes,
- V = string,
-> {
- // (undocumented)
- category: 'ObjectValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: V;
- type: string;
- validation: ValidationRequired[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- options: DeviceOptionNoDefault[];
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type ObjectValueAutoCollector = AutoCollector<
- 'ObjectValueAutoCollector',
- 'ObjectValueAutoCollector',
- Record
->;
-
-// @public (undocumented)
-export type ObjectValueAutoCollectorTypes =
- | 'ObjectValueAutoCollector'
- | 'FidoRegistrationCollector'
- | 'FidoAuthenticationCollector'
- | 'MetadataCollector';
-
-// @public (undocumented)
-export type ObjectValueCollector =
- | ObjectOptionsCollectorWithObjectValue
- | ObjectOptionsCollectorWithStringValue
- | ObjectValueCollectorWithObjectValue;
-
-// @public (undocumented)
-export type ObjectValueCollectors =
- | DeviceAuthenticationCollector
- | DeviceRegistrationCollector
- | PhoneNumberCollector
- | PhoneNumberExtensionCollector
- | ObjectOptionsCollectorWithObjectValue<'ObjectSelectCollector'>
- | ObjectOptionsCollectorWithStringValue<'ObjectSelectCollector'>;
-
-// @public
-export type ObjectValueCollectorTypes =
- | 'DeviceAuthenticationCollector'
- | 'DeviceRegistrationCollector'
- | 'PhoneNumberCollector'
- | 'PhoneNumberExtensionCollector'
- | 'ObjectOptionsCollector'
- | 'ObjectValueCollector'
- | 'ObjectSelectCollector';
-
-// @public (undocumented)
-export interface ObjectValueCollectorWithObjectValue<
- T extends ObjectValueCollectorTypes,
- IV = Record,
- OV = Record,
-> {
- // (undocumented)
- category: 'ObjectValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: IV;
- type: string;
- validation: (ValidationRequired | ValidationPhoneNumber)[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- value?: OV | null;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export interface OutgoingQueryParams {
- // (undocumented)
- [key: string]: string | string[];
-}
-
-// @public (undocumented)
-export interface PasswordCollector {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string | number | boolean;
- type: string;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- verify: boolean;
- };
- // (undocumented)
- type: 'PasswordCollector';
-}
-
-// @public
-export type PasswordField = {
- type: 'PASSWORD' | 'PASSWORD_VERIFY';
- key: string;
- label: string;
- required?: boolean;
- verify?: boolean;
- passwordPolicy?: PasswordPolicy;
-};
-
-// @public
-export interface PasswordPolicy {
- // (undocumented)
- createdAt?: string;
- // (undocumented)
- default?: boolean;
- // (undocumented)
- description?: string;
- // (undocumented)
- excludesCommonlyUsed?: boolean;
- // (undocumented)
- excludesProfileData?: boolean;
- // (undocumented)
- history?: {
- count?: number;
- retentionDays?: number;
- };
- // (undocumented)
- id?: string;
- // (undocumented)
- length?: {
- min?: number;
- max?: number;
- };
- // (undocumented)
- lockout?: {
- failureCount?: number;
- durationSeconds?: number;
- };
- // (undocumented)
- maxAgeDays?: number;
- // (undocumented)
- maxRepeatedCharacters?: number;
- // (undocumented)
- minAgeDays?: number;
- // (undocumented)
- minCharacters?: Record;
- // (undocumented)
- minUniqueCharacters?: number;
- // (undocumented)
- name?: string;
- // (undocumented)
- notSimilarToCurrent?: boolean;
- // (undocumented)
- populationCount?: number;
- // (undocumented)
- updatedAt?: string;
-}
-
-// @public (undocumented)
-export type PhoneNumberCollector = ObjectValueCollectorWithObjectValue<
- 'PhoneNumberCollector',
- PhoneNumberInputValue,
- PhoneNumberOutputValue
->;
-
-// @public (undocumented)
-export interface PhoneNumberExtensionCollector {
- // (undocumented)
- category: 'ObjectValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: PhoneNumberExtensionInputValue;
- type: string;
- validation: (ValidationRequired | ValidationPhoneNumber)[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- extensionLabel: string;
- value: PhoneNumberExtensionOutputValue;
- };
- // (undocumented)
- type: 'PhoneNumberExtensionCollector';
-}
-
-// @public (undocumented)
-export type PhoneNumberExtensionField = PhoneNumberField & {
- showExtension: boolean;
- extensionLabel: string;
-};
-
-// @public (undocumented)
-export interface PhoneNumberExtensionInputValue {
- // (undocumented)
- countryCode: string;
- // (undocumented)
- extension: string;
- // (undocumented)
- phoneNumber: string;
-}
-
-// @public (undocumented)
-export interface PhoneNumberExtensionOutputValue {
- // (undocumented)
- countryCode?: string;
- // (undocumented)
- extension?: string;
- // (undocumented)
- phoneNumber?: string;
-}
-
-// @public (undocumented)
-export type PhoneNumberField = {
- type: 'PHONE_NUMBER';
- key: string;
- label: string;
- required: boolean;
- defaultCountryCode: string | null;
- validatePhoneNumber: boolean;
-};
-
-// @public (undocumented)
-export interface PhoneNumberInputValue {
- // (undocumented)
- countryCode: string;
- // (undocumented)
- phoneNumber: string;
-}
-
-// @public (undocumented)
-export interface PhoneNumberOutputValue {
- // (undocumented)
- countryCode?: string;
- // (undocumented)
- phoneNumber?: string;
-}
-
-// @public
-export type Poller = () => Promise;
-
-// @public (undocumented)
-export type PollingCollector = AutoCollector<
- 'SingleValueAutoCollector',
- 'PollingCollector',
- string,
- PollingOutputValue
->;
-
-// @public (undocumented)
-export type PollingField = {
- type: 'POLLING';
- key: string;
- pollInterval: number;
- pollRetries: number;
- pollChallengeStatus?: boolean;
- challenge?: string;
-};
-
-// @public (undocumented)
-export interface PollingOutputValue {
- // (undocumented)
- challenge?: string;
- // (undocumented)
- pollChallengeStatus?: boolean;
- // (undocumented)
- pollInterval: number;
- // (undocumented)
- pollRetries: number;
- // (undocumented)
- retriesRemaining?: number;
-}
-
-// @public (undocumented)
-export type PollingStatus = PollingStatusContinue | PollingStatusChallenge;
-
-// @public (undocumented)
-export type PollingStatusChallenge =
- | PollingStatusChallengeComplete
- | 'expired'
- | 'timedOut'
- | 'error';
-
-// @public (undocumented)
-export type PollingStatusChallengeComplete =
- | 'approved'
- | 'denied'
- | 'continue'
- | CustomPollingStatus;
-
-// @public (undocumented)
-export type PollingStatusContinue = 'continue' | 'timedOut';
-
-// @public (undocumented)
-export type ProtectCollector = AutoCollector<
- 'SingleValueAutoCollector',
- 'ProtectCollector',
- string,
- ProtectOutputValue
->;
-
-// @public (undocumented)
-export type ProtectField = {
- type: 'PROTECT';
- key: string;
- behavioralDataCollection: boolean;
- universalDeviceIdentification: boolean;
-};
-
-// @public
-export interface ProtectOutputValue {
- // (undocumented)
- behavioralDataCollection: boolean;
- // (undocumented)
- universalDeviceIdentification: boolean;
-}
-
-// @public
-export interface QrCodeCollector extends NoValueCollectorBase<'QrCodeCollector'> {
- // (undocumented)
- output: NoValueCollectorBase<'QrCodeCollector'>['output'] & {
- src: string;
- };
-}
-
-// @public (undocumented)
-export type QrCodeField = {
- type: 'QR_CODE';
- key: string;
- content: string;
- fallbackText?: string;
-};
-
-// @public
-export interface ReadOnlyCollector extends NoValueCollectorBase<'ReadOnlyCollector'> {
- // (undocumented)
- output: NoValueCollectorBase<'ReadOnlyCollector'>['output'] & {
- content: string;
- title?: string;
- };
-}
-
-// @public (undocumented)
-export type ReadOnlyField = {
- type: 'LABEL';
- content: string;
- richContent?: RichContent;
- key?: string;
-};
-
-// @public (undocumented)
-export type ReadOnlyFields = ReadOnlyField | QrCodeField | AgreementField | ImageField;
-
-// @public (undocumented)
-export type RedirectField = {
- type: 'SOCIAL_LOGIN_BUTTON';
- key: string;
- label: string;
- links: Links;
-};
-
-// @public (undocumented)
-export type RedirectFields = RedirectField;
-
-export { RequestMiddleware };
-
-// @public
-export type RichContent = {
- content: string;
- replacements?: Record;
-};
-
-// @public
-export interface RichContentLink {
- // (undocumented)
- href: string;
- // (undocumented)
- key: string;
- // (undocumented)
- target?: '_self' | '_blank';
- // (undocumented)
- type: 'link';
- // (undocumented)
- value: string;
-}
-
-// @public
-export type RichContentReplacement = {
- type: 'link';
- value: string;
- href: string;
- target?: '_self' | '_blank';
-};
-
-// @public
-export interface RichTextCollector extends NoValueCollectorBase<'RichTextCollector'> {
- // (undocumented)
- output: NoValueCollectorBase<'RichTextCollector'>['output'] & {
- content: string;
- richContent: CollectorRichContent;
- };
-}
-
-// @public (undocumented)
-export interface SelectorOption {
- // (undocumented)
- label: string;
- // (undocumented)
- value: string;
-}
-
-// @public (undocumented)
-export type SingleCheckboxField = {
- type: 'SINGLE_CHECKBOX';
- inputType: 'BOOLEAN';
- key: string;
- label: string;
- required?: boolean;
- errorMessage?: string;
- appearance: string;
- richContent?: RichContent;
-};
-
-// @public (undocumented)
-export type SingleSelectCollector = SingleSelectCollectorWithValue<'SingleSelectCollector'>;
-
-// @public (undocumented)
-export interface SingleSelectCollectorNoValue {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string | number | boolean;
- type: string;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- options: SelectorOption[];
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export interface SingleSelectCollectorWithValue {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string | number | boolean;
- type: string;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- value: string | number | boolean;
- options: SelectorOption[];
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type SingleSelectField = {
- inputType: 'SINGLE_SELECT';
- key: string;
- label: string;
- options: {
- label: string;
- value: string;
- }[];
- required?: boolean;
- type: 'RADIO' | 'DROPDOWN';
-};
-
-// @public (undocumented)
-export type SingleValueAutoCollector = AutoCollector<
- 'SingleValueAutoCollector',
- 'SingleValueAutoCollector',
- string
->;
-
-// @public (undocumented)
-export type SingleValueAutoCollectorTypes =
- | 'SingleValueAutoCollector'
- | 'ProtectCollector'
- | 'PollingCollector';
-
-// @public
-export type SingleValueCollector =
- | SingleValueCollectorWithValue
- | SingleValueCollectorNoValue;
-
-// @public (undocumented)
-export interface SingleValueCollectorNoValue {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string | number | boolean;
- type: string;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type SingleValueCollectors =
- | PasswordCollector
- | ValidatedPasswordCollector
- | SingleSelectCollector
- | TextCollector
- | ValidatedTextCollector
- | BooleanCollector
- | ValidatedBooleanCollector
- | SingleValueCollectorWithValue<'SingleValueCollector'>;
-
-// @public
-export type SingleValueCollectorTypes =
- | 'PasswordCollector'
- | 'ValidatedPasswordCollector'
- | 'BooleanCollector'
- | 'ValidatedBooleanCollector'
- | 'SingleValueCollector'
- | 'SingleSelectCollector'
- | 'SingleSelectObjectCollector'
- | 'TextCollector'
- | 'ValidatedTextCollector';
-
-// @public (undocumented)
-export interface SingleValueCollectorWithValue {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: V;
- type: string;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- value: V;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type SingleValueFields =
- | StandardField
- | PasswordField
- | ValidatedField
- | SingleCheckboxField
- | SingleSelectField
- | ProtectField;
-
-// @public (undocumented)
-export type StandardField = {
- type: 'TEXT' | 'SUBMIT_BUTTON' | 'FLOW_BUTTON' | 'FLOW_LINK' | 'BUTTON';
- key: string;
- label: string;
- required?: boolean;
-};
-
-// @public (undocumented)
-export interface StartNode {
- // (undocumented)
- cache: null;
- // (undocumented)
- client: {
- status: 'start';
- };
- // (undocumented)
- error: DaVinciError | null;
- // (undocumented)
- server: {
- status: 'start';
- };
- // (undocumented)
- status: 'start';
-}
-
-// @public (undocumented)
-export interface StartOptions {
- // (undocumented)
- query: Query;
-}
-
-// @public (undocumented)
-export type SubmitCollector = ActionCollectorNoUrl<'SubmitCollector'>;
-
-// @public (undocumented)
-export interface SuccessNode {
- // (undocumented)
- cache: {
- key: string;
- };
- // (undocumented)
- client: {
- authorization?: {
- code?: string;
- state?: string;
- };
- status: 'success';
- } | null;
- // (undocumented)
- error: null;
- // (undocumented)
- httpStatus: number;
- // (undocumented)
- server: {
- _links?: Links;
- eventName?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- href?: string;
- session?: string;
- status: 'success';
- };
- // (undocumented)
- status: 'success';
-}
-
-// @public (undocumented)
-export type TextCollector = SingleValueCollectorWithValue<'TextCollector'>;
-
-// @public (undocumented)
-export interface ThrownQueryError {
- // (undocumented)
- error: FetchBaseQueryError;
- // (undocumented)
- isHandledError: boolean;
- // (undocumented)
- meta: FetchBaseQueryMeta;
-}
-
-// @public
-export type UnknownCollector = {
- category: 'UnknownCollector';
- error: string | null;
- type: 'UnknownCollector';
- id: string;
- name: string;
- output: {
- key: string;
- label: string;
- type: string;
- };
-};
-
-// @public (undocumented)
-export type UnknownField = Record;
-
-// @public
-export type UpdatableCollectors =
- | SingleValueCollectors
- | MultiSelectCollector
- | ObjectValueCollectors
- | AutoCollectors;
-
-// @public (undocumented)
-export const updateCollectorValues: ActionCreatorWithPayload<
- {
- id: string;
- value: CollectorValueTypes;
- index?: number;
- },
- string
->;
-
-// @public
-export type Updater = (
- value: CollectorValueType,
- index?: number,
-) => InternalErrorResponse | null;
-
-// @public (undocumented)
-export interface ValidatedBooleanCollector extends ValidatedSingleValueCollectorWithValue<
- 'ValidatedBooleanCollector',
- boolean
-> {
- // (undocumented)
- output: ValidatedSingleValueCollectorWithValue<'ValidatedBooleanCollector', boolean>['output'] & {
- appearance: string;
- richContent?: CollectorRichContent;
- };
-}
-
-// @public
-export type ValidatedCollectors =
- | ValidatedTextCollector
- | ValidatedBooleanCollector
- | ValidatedPasswordCollector
- | ObjectValueCollectors
- | MultiValueCollectors
- | AutoCollectors;
-
-// @public (undocumented)
-export type ValidatedField = {
- type: 'TEXT';
- key: string;
- label: string;
- required: boolean;
- validation: {
- regex: string;
- errorMessage: string;
- };
-};
-
-// @public (undocumented)
-export interface ValidatedPasswordCollector {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string | number | boolean;
- type: string;
- validation: PasswordPolicy;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- verify: boolean;
- };
- // (undocumented)
- type: 'ValidatedPasswordCollector';
-}
-
-// @public (undocumented)
-export interface ValidatedSingleValueCollectorWithValue<
- T extends SingleValueCollectorTypes,
- V = string,
-> {
- // (undocumented)
- category: 'ValidatedSingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- type: string;
- validation: (ValidationRequired | ValidationRegex)[];
- value: V;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- value: V;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type ValidatedTextCollector = ValidatedSingleValueCollectorWithValue<'TextCollector'>;
-
-// @public (undocumented)
-export interface ValidationPhoneNumber {
- // (undocumented)
- message: string;
- // (undocumented)
- rule: boolean;
- // (undocumented)
- type: 'validatePhoneNumber';
-}
-
-// @public (undocumented)
-export interface ValidationRegex {
- // (undocumented)
- message: string;
- // (undocumented)
- rule: string;
- // (undocumented)
- type: 'regex';
-}
-
-// @public (undocumented)
-export interface ValidationRequired {
- // (undocumented)
- message: string;
- // (undocumented)
- rule: boolean;
- // (undocumented)
- type: 'required';
-}
-
-// @public
-export type Validator = (
- value: CollectorValueType,
-) =>
- | string[]
- | {
- error: {
- message: string;
- type: string;
- };
- type: string;
- };
-
-// (No @packageDocumentation comment for this package)
-```
+## API Report File for "@forgerock/davinci-client"
+
+> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
+
+```ts
+
+import { ActionCreatorWithPayload } from '@reduxjs/toolkit';
+import { ActionTypes } from '@forgerock/sdk-request-middleware';
+import { CustomLogger } from '@forgerock/sdk-logger';
+import type { DaVinciConfig } from '@forgerock/sdk-types';
+import { FetchBaseQueryError } from '@reduxjs/toolkit/query';
+import type { FetchBaseQueryMeta } from '@reduxjs/toolkit/query';
+import type { GenericError } from '@forgerock/sdk-types';
+import { LogLevel } from '@forgerock/sdk-logger';
+import { makeDavinciConfig } from '@forgerock/sdk-utilities';
+import type { MutationResultSelectorResult } from '@reduxjs/toolkit/query';
+import { QueryStatus } from '@reduxjs/toolkit/query';
+import { Reducer } from '@reduxjs/toolkit';
+import { RequestMiddleware } from '@forgerock/sdk-request-middleware';
+import type { SdkStore } from '@forgerock/sdk-store';
+import { SerializedError } from '@reduxjs/toolkit';
+import { Unsubscribe } from '@reduxjs/toolkit';
+
+// @public (undocumented)
+export type ActionCollector = ActionCollectorNoUrl | ActionCollectorWithUrl;
+
+// @public (undocumented)
+export interface ActionCollectorNoUrl {
+ // (undocumented)
+ category: 'ActionCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type ActionCollectors = ActionCollectorWithUrl<'IdpCollector'> | ActionCollectorNoUrl<'ActionCollector'> | ActionCollectorNoUrl<'FlowCollector'> | ActionCollectorNoUrl<'SubmitCollector'>;
+
+// @public
+export type ActionCollectorTypes = 'FlowCollector' | 'SubmitCollector' | 'IdpCollector' | 'ActionCollector';
+
+// @public (undocumented)
+export interface ActionCollectorWithUrl {
+ // (undocumented)
+ category: 'ActionCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ url?: string | null;
+ };
+ // (undocumented)
+ type: T;
+}
+
+export { ActionTypes }
+
+// @public (undocumented)
+export type AgreementField = {
+ type: 'AGREEMENT';
+ key: string;
+ content: string;
+ titleEnabled: boolean;
+ title?: string;
+ agreement: {
+ id: string;
+ useDynamicAgreement: boolean;
+ };
+ enabled: boolean;
+};
+
+// @public (undocumented)
+export interface AssertionValue extends Omit {
+ // (undocumented)
+ rawId: string;
+ // (undocumented)
+ response: {
+ clientDataJSON: string;
+ authenticatorData: string;
+ signature: string;
+ userHandle: string | null;
+ };
+}
+
+// @public (undocumented)
+export interface AttestationValue extends Omit {
+ // (undocumented)
+ rawId: string;
+ // (undocumented)
+ response: {
+ clientDataJSON: string;
+ attestationObject: string;
+ };
+}
+
+// @public (undocumented)
+export interface AutoCollector> {
+ // (undocumented)
+ category: C;
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: IV;
+ type: string;
+ validation?: ValidationRequired[] | null;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ type: string;
+ config: OV;
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type AutoCollectorCategories = 'SingleValueAutoCollector' | 'ObjectValueAutoCollector';
+
+// @public (undocumented)
+export type AutoCollectors = ProtectCollector | FidoRegistrationCollector | FidoAuthenticationCollector | MetadataCollector | PollingCollector | SingleValueAutoCollector | ObjectValueAutoCollector;
+
+// @public (undocumented)
+export type AutoCollectorTypes = SingleValueAutoCollectorTypes | ObjectValueAutoCollectorTypes;
+
+// @public (undocumented)
+export interface BooleanCollector extends SingleValueCollectorWithValue<'BooleanCollector', boolean> {
+ // (undocumented)
+ output: SingleValueCollectorWithValue<'BooleanCollector', boolean>['output'] & {
+ appearance: string;
+ richContent?: CollectorRichContent;
+ };
+}
+
+// @public (undocumented)
+export type CollectorCategory = Collectors['category'];
+
+// @public (undocumented)
+export interface CollectorErrors {
+ // (undocumented)
+ code: string;
+ // (undocumented)
+ message: string;
+ // (undocumented)
+ target: string;
+}
+
+// @public
+export interface CollectorRichContent {
+ // (undocumented)
+ content: string;
+ // (undocumented)
+ replacements: RichContentLink[];
+}
+
+// @public (undocumented)
+export type Collectors = FlowCollector | MetadataCollector | PasswordCollector | ValidatedPasswordCollector | TextCollector | BooleanCollector | ValidatedBooleanCollector | SingleSelectCollector | IdpCollector | SubmitCollector | ActionCollector<'ActionCollector'> | SingleValueCollector<'SingleValueCollector'> | MultiSelectCollector | DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | PhoneNumberExtensionCollector | ReadOnlyCollector | RichTextCollector | ValidatedTextCollector | ProtectCollector | PollingCollector | FidoRegistrationCollector | FidoAuthenticationCollector | QrCodeCollector | ImageCollector | UnknownCollector;
+
+// @public
+export type CollectorValueType = T extends {
+ type: 'PasswordCollector';
+} | {
+ type: 'ValidatedPasswordCollector';
+} | {
+ type: 'SingleSelectCollector';
+} | {
+ type: 'DeviceRegistrationCollector';
+} | {
+ type: 'DeviceAuthenticationCollector';
+} | {
+ type: 'ProtectCollector';
+} | {
+ type: 'PollingCollector';
+} ? string : T extends {
+ type: 'TextCollector';
+ category: 'SingleValueCollector';
+} ? string : T extends {
+ type: 'TextCollector';
+ category: 'ValidatedSingleValueCollector';
+} ? string : T extends {
+ type: 'BooleanCollector';
+} | {
+ type: 'ValidatedBooleanCollector';
+} ? boolean : T extends {
+ type: 'MultiSelectCollector';
+} ? string | string[] : T extends {
+ type: 'PhoneNumberCollector';
+} ? PhoneNumberInputValue : T extends {
+ type: 'PhoneNumberExtensionCollector';
+} ? PhoneNumberExtensionInputValue : T extends {
+ type: 'FidoRegistrationCollector';
+} ? FidoRegistrationInputValue | GenericError : T extends {
+ type: 'FidoAuthenticationCollector';
+} ? FidoAuthenticationInputValue | GenericError : T extends {
+ type: 'MetadataCollector';
+} ? Record | MetadataError : T extends {
+ category: 'SingleValueCollector';
+} ? string : T extends {
+ category: 'ValidatedSingleValueCollector';
+} ? string : T extends {
+ category: 'SingleValueAutoCollector';
+} ? string : T extends {
+ category: 'MultiValueCollector';
+} ? string | string[] : T extends {
+ category: 'ActionCollector';
+} ? never : T extends {
+ category: 'NoValueCollector';
+} ? never : CollectorValueTypes;
+
+// @public
+export type CollectorValueTypes = string | string[] | boolean | PhoneNumberInputValue | PhoneNumberExtensionInputValue | FidoRegistrationInputValue | FidoAuthenticationInputValue | MetadataError | GenericError;
+
+// @public (undocumented)
+export type ComplexValueFields = DeviceAuthenticationField | DeviceRegistrationField | PhoneNumberField | PhoneNumberExtensionField | FidoRegistrationField | FidoAuthenticationField | PollingField | MetadataField;
+
+// @public (undocumented)
+export interface ContinueNode {
+ // (undocumented)
+ cache: {
+ key: string;
+ };
+ // (undocumented)
+ client: {
+ action: string;
+ collectors: Collectors[];
+ description?: string;
+ name?: string;
+ status: 'continue';
+ };
+ // (undocumented)
+ error: null;
+ // (undocumented)
+ httpStatus: number;
+ // (undocumented)
+ server: {
+ _links?: Links;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ href?: string;
+ eventName?: string;
+ status: 'continue';
+ };
+ // (undocumented)
+ status: 'continue';
+}
+
+export { CustomLogger }
+
+// @public
+export type CustomPollingStatus = string & {};
+
+// @public
+export function davinci(input: {
+ config: DaVinciConfig;
+ requestMiddleware?: RequestMiddleware[];
+ logger?: {
+ level: LogLevel;
+ custom?: CustomLogger;
+ };
+ store?: unknown;
+}): Promise<{
+ error: string;
+ type: "argument_error";
+} | {
+ store: SdkStore;
+ subscribe: (listener: () => void) => Unsubscribe;
+ externalIdp: () => (() => Promise);
+ flow: (action: DaVinciAction) => InitFlow;
+ next: (args?: DaVinciRequest) => Promise;
+ resume: (input: {
+ continueToken: string;
+ }) => Promise;
+ start: (options?: StartOptions | undefined) => Promise;
+ update: (collector: T) => Updater;
+ validate: (collector: SingleValueCollectors | ObjectValueCollectors | MultiValueCollectors | AutoCollectors) => Validator;
+ pollStatus: (collector: PollingCollector) => Poller;
+ getClient: () => {
+ status: "start";
+ } | {
+ action: string;
+ collectors: Collectors[];
+ description?: string;
+ name?: string;
+ status: "error";
+ } | {
+ status: "failure";
+ } | {
+ action: string;
+ collectors: Collectors[];
+ description?: string;
+ name?: string;
+ status: "continue";
+ } | {
+ authorization?: {
+ code?: string;
+ state?: string;
+ };
+ status: "success";
+ } | null;
+ getCollectors: () => Collectors[];
+ getError: () => DaVinciError | null;
+ getErrorCollectors: () => CollectorErrors[];
+ getNode: () => StartNode | ErrorNode | FailureNode | ContinueNode | SuccessNode;
+ getServer: () => {
+ status: "start";
+ } | {
+ _links?: Links;
+ eventName?: string;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ status: "error";
+ } | {
+ _links?: Links;
+ eventName?: string;
+ href?: string;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ status: "failure";
+ } | {
+ _links?: Links;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ href?: string;
+ eventName?: string;
+ status: "continue";
+ } | {
+ _links?: Links;
+ eventName?: string;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ href?: string;
+ session?: string;
+ status: "success";
+ } | null;
+ cache: {
+ getLatestResponse: () => ({
+ status: QueryStatus.fulfilled;
+ } & Omit<{
+ requestId: string;
+ data?: unknown;
+ error?: FetchBaseQueryError | SerializedError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ }, "data" | "fulfilledTimeStamp"> & Required> & {
+ error: undefined;
+ } & {
+ status: QueryStatus.fulfilled;
+ isUninitialized: false;
+ isLoading: false;
+ isSuccess: true;
+ isError: false;
+ }) | ({
+ status: QueryStatus.rejected;
+ } & Omit<{
+ requestId: string;
+ data?: unknown;
+ error?: FetchBaseQueryError | SerializedError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ }, "error"> & Required> & {
+ status: QueryStatus.rejected;
+ isUninitialized: false;
+ isLoading: false;
+ isSuccess: false;
+ isError: true;
+ }) | {
+ error: {
+ message: string;
+ type: string;
+ };
+ };
+ getResponseWithId: (requestId: string) => ({
+ status: QueryStatus.fulfilled;
+ } & Omit<{
+ requestId: string;
+ data?: unknown;
+ error?: FetchBaseQueryError | SerializedError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ }, "data" | "fulfilledTimeStamp"> & Required> & {
+ error: undefined;
+ } & {
+ status: QueryStatus.fulfilled;
+ isUninitialized: false;
+ isLoading: false;
+ isSuccess: true;
+ isError: false;
+ }) | ({
+ status: QueryStatus.rejected;
+ } & Omit<{
+ requestId: string;
+ data?: unknown;
+ error?: FetchBaseQueryError | SerializedError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ }, "error"> & Required> & {
+ status: QueryStatus.rejected;
+ isUninitialized: false;
+ isLoading: false;
+ isSuccess: false;
+ isError: true;
+ }) | {
+ error: {
+ message: string;
+ type: string;
+ };
+ };
+ };
+}>;
+
+// @public
+export interface DaVinciAction {
+ // (undocumented)
+ action: string;
+}
+
+// @public
+export interface DaVinciBaseResponse {
+ // (undocumented)
+ capabilityName?: string;
+ // (undocumented)
+ companyId?: string;
+ // (undocumented)
+ connectionId?: string;
+ // (undocumented)
+ connectorId?: string;
+ // (undocumented)
+ id?: string;
+ // (undocumented)
+ interactionId?: string;
+ // (undocumented)
+ interactionToken?: string;
+ // (undocumented)
+ isResponseCompatibleWithMobileAndWebSdks?: boolean;
+ // (undocumented)
+ status?: string;
+}
+
+// @public
+export type DaVinciCacheEntry = {
+ data?: DaVinciBaseResponse;
+ error?: {
+ data: DaVinciBaseResponse;
+ status: number;
+ };
+} & {
+ data?: any;
+ error?: any;
+} & MutationResultSelectorResult;
+
+// @public (undocumented)
+export type DavinciClient = Awaited>;
+
+export { DaVinciConfig }
+
+// @public (undocumented)
+export interface DaVinciError extends Omit {
+ // (undocumented)
+ collectors?: CollectorErrors[];
+ // (undocumented)
+ internalHttpStatus?: number;
+ // (undocumented)
+ message: string;
+ // (undocumented)
+ status: 'error' | 'failure' | 'unknown';
+}
+
+// @public (undocumented)
+export interface DaVinciErrorCacheEntry {
+ // (undocumented)
+ endpointName: 'next' | 'flow' | 'start';
+ // (undocumented)
+ error: {
+ data: T;
+ };
+ // (undocumented)
+ fulfilledTimeStamp: number;
+ // (undocumented)
+ isError: boolean;
+ // (undocumented)
+ isLoading: boolean;
+ // (undocumented)
+ isSuccess: boolean;
+ // (undocumented)
+ isUninitialized: boolean;
+ // (undocumented)
+ requestId: string;
+ // (undocumented)
+ startedTimeStamp: number;
+ // (undocumented)
+ status: 'fulfilled' | 'pending' | 'rejected';
+}
+
+// @public (undocumented)
+export interface DavinciErrorResponse extends DaVinciBaseResponse {
+ // (undocumented)
+ cause?: string | null;
+ // (undocumented)
+ code: string | number;
+ // (undocumented)
+ details?: ErrorDetail[];
+ // (undocumented)
+ doNotSendToOE?: boolean;
+ // (undocumented)
+ error?: {
+ code?: string;
+ message?: string;
+ };
+ // (undocumented)
+ errorCategory?: string;
+ // (undocumented)
+ errorMessage?: string;
+ // (undocumented)
+ expected?: boolean;
+ // (undocumented)
+ httpResponseCode: number;
+ // (undocumented)
+ isErrorCustomized?: boolean;
+ // (undocumented)
+ message: string;
+ // (undocumented)
+ metricAttributes?: {
+ [key: string]: unknown;
+ };
+}
+
+// @public (undocumented)
+export interface DaVinciFailureResponse extends DaVinciBaseResponse {
+ // (undocumented)
+ error?: {
+ code?: string;
+ message?: string;
+ [key: string]: unknown;
+ };
+}
+
+// @public (undocumented)
+export type DaVinciField = ComplexValueFields | MultiValueFields | ReadOnlyFields | RedirectFields | SingleValueFields;
+
+// @public
+export interface DaVinciNextResponse extends DaVinciBaseResponse {
+ // (undocumented)
+ eventName?: string;
+ // (undocumented)
+ form?: {
+ name?: string;
+ description?: string;
+ components?: {
+ fields?: DaVinciField[];
+ };
+ };
+ // (undocumented)
+ formData?: {
+ value?: {
+ [key: string]: string;
+ };
+ };
+ // (undocumented)
+ _links?: Links;
+}
+
+// @public
+export interface DaVinciPollResponse extends DaVinciBaseResponse {
+ // (undocumented)
+ eventName?: string;
+ // (undocumented)
+ _links?: Links;
+ // (undocumented)
+ success?: boolean;
+}
+
+// @public (undocumented)
+export interface DaVinciRequest {
+ // (undocumented)
+ eventName: string;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ interactionId: string;
+ // (undocumented)
+ parameters: {
+ eventType: 'submit' | 'action' | 'polling';
+ data: {
+ actionKey: string;
+ formData?: Record;
+ };
+ };
+}
+
+// @public
+export type DaVinciRequestValueTypes = string | number | boolean | (string | number | boolean)[] | DeviceValue | PhoneNumberInputValue | FidoRegistrationInputValue | FidoAuthenticationInputValue | MetadataError | GenericError;
+
+// @public (undocumented)
+export interface DaVinciSuccessResponse extends DaVinciBaseResponse {
+ // (undocumented)
+ authorizeResponse?: OAuthDetails;
+ // (undocumented)
+ environment: {
+ id: string;
+ [key: string]: unknown;
+ };
+ // (undocumented)
+ _links?: Links;
+ // (undocumented)
+ resetCookie?: boolean;
+ // (undocumented)
+ session?: {
+ id?: string;
+ [key: string]: unknown;
+ };
+ // (undocumented)
+ sessionToken?: string;
+ // (undocumented)
+ sessionTokenMaxAge?: number;
+ // (undocumented)
+ status: string;
+ // (undocumented)
+ subFlowSettings?: {
+ cssLinks?: unknown[];
+ cssUrl?: unknown;
+ jsLinks?: unknown[];
+ loadingScreenSettings?: unknown;
+ reactSkUrl?: unknown;
+ };
+ // (undocumented)
+ success: true;
+}
+
+// @public (undocumented)
+export type DeviceAuthenticationCollector = ObjectOptionsCollectorWithObjectValue<'DeviceAuthenticationCollector', DeviceValue>;
+
+// @public (undocumented)
+export type DeviceAuthenticationField = {
+ type: 'DEVICE_AUTHENTICATION';
+ key: string;
+ label: string;
+ options: {
+ type: string;
+ iconSrc: string;
+ title: string;
+ id: string;
+ default: boolean;
+ description: string;
+ }[];
+ required: boolean;
+};
+
+// @public (undocumented)
+export interface DeviceOptionNoDefault {
+ // (undocumented)
+ content: string;
+ // (undocumented)
+ key: string;
+ // (undocumented)
+ label: string;
+ // (undocumented)
+ type: string;
+ // (undocumented)
+ value: string;
+}
+
+// @public (undocumented)
+export interface DeviceOptionWithDefault {
+ // (undocumented)
+ content: string;
+ // (undocumented)
+ default: boolean;
+ // (undocumented)
+ key: string;
+ // (undocumented)
+ label: string;
+ // (undocumented)
+ type: string;
+ // (undocumented)
+ value: string;
+}
+
+// @public (undocumented)
+export type DeviceRegistrationCollector = ObjectOptionsCollectorWithStringValue<'DeviceRegistrationCollector', string>;
+
+// @public (undocumented)
+export type DeviceRegistrationField = {
+ type: 'DEVICE_REGISTRATION';
+ key: string;
+ label: string;
+ options: {
+ type: string;
+ iconSrc: string;
+ title: string;
+ description: string;
+ }[];
+ required: boolean;
+};
+
+// @public (undocumented)
+export interface DeviceValue {
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ type: string;
+ // (undocumented)
+ value: string;
+}
+
+// @public (undocumented)
+export interface ErrorDetail {
+ // (undocumented)
+ message?: string;
+ // (undocumented)
+ rawResponse?: {
+ _embedded?: {
+ users?: Array;
+ };
+ code?: string;
+ count?: number;
+ details?: NestedErrorDetails[];
+ id?: string;
+ message?: string;
+ size?: number;
+ userFilter?: string;
+ [key: string]: unknown;
+ };
+ // (undocumented)
+ statusCode?: number;
+}
+
+// @public (undocumented)
+export interface ErrorNode {
+ // (undocumented)
+ cache: {
+ key: string;
+ };
+ // (undocumented)
+ client: {
+ action: string;
+ collectors: Collectors[];
+ description?: string;
+ name?: string;
+ status: 'error';
+ };
+ // (undocumented)
+ error: DaVinciError;
+ // (undocumented)
+ httpStatus: number;
+ // (undocumented)
+ server: {
+ _links?: Links;
+ eventName?: string;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ status: 'error';
+ } | null;
+ // (undocumented)
+ status: 'error';
+}
+
+// @public (undocumented)
+export interface FailureNode {
+ // (undocumented)
+ cache: {
+ key: string;
+ };
+ // (undocumented)
+ client: {
+ status: 'failure';
+ };
+ // (undocumented)
+ error: DaVinciError;
+ // (undocumented)
+ httpStatus: number;
+ // (undocumented)
+ server: {
+ _links?: Links;
+ eventName?: string;
+ href?: string;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ status: 'failure';
+ } | null;
+ // (undocumented)
+ status: 'failure';
+}
+
+// @public
+export function fido(): FidoClient;
+
+// @public (undocumented)
+export type FidoAuthenticationCollector = AutoCollector<'ObjectValueAutoCollector', 'FidoAuthenticationCollector', FidoAuthenticationInputValue | GenericError, FidoAuthenticationOutputValue>;
+
+// @public (undocumented)
+export type FidoAuthenticationField = {
+ type: 'FIDO2';
+ key: string;
+ label: string;
+ publicKeyCredentialRequestOptions: FidoAuthenticationOptions;
+ action: 'AUTHENTICATE';
+ trigger: string;
+ required: boolean;
+};
+
+// @public (undocumented)
+export interface FidoAuthenticationInputValue {
+ // (undocumented)
+ assertionValue?: AssertionValue;
+}
+
+// @public (undocumented)
+export interface FidoAuthenticationOptions extends Omit {
+ // (undocumented)
+ allowCredentials?: {
+ id: number[];
+ transports?: AuthenticatorTransport[];
+ type: PublicKeyCredentialType;
+ }[];
+ // (undocumented)
+ challenge: number[];
+}
+
+// @public (undocumented)
+export interface FidoAuthenticationOutputValue {
+ // (undocumented)
+ action: 'AUTHENTICATE';
+ // (undocumented)
+ publicKeyCredentialRequestOptions: FidoAuthenticationOptions;
+ // (undocumented)
+ trigger: string;
+}
+
+// @public (undocumented)
+export interface FidoClient {
+ authenticate: (options: FidoAuthenticationOptions) => Promise;
+ register: (options: FidoRegistrationOptions) => Promise;
+}
+
+// @public
+export type FidoErrorCode = 'NotAllowedError' | 'AbortError' | 'InvalidStateError' | 'NotSupportedError' | 'SecurityError' | 'TimeoutError' | 'UnknownError';
+
+// @public (undocumented)
+export type FidoRegistrationCollector = AutoCollector<'ObjectValueAutoCollector', 'FidoRegistrationCollector', FidoRegistrationInputValue | GenericError, FidoRegistrationOutputValue>;
+
+// @public (undocumented)
+export type FidoRegistrationField = {
+ type: 'FIDO2';
+ key: string;
+ label: string;
+ publicKeyCredentialCreationOptions: FidoRegistrationOptions;
+ action: 'REGISTER';
+ trigger: string;
+ required: boolean;
+};
+
+// @public (undocumented)
+export interface FidoRegistrationInputValue {
+ // (undocumented)
+ attestationValue?: AttestationValue;
+}
+
+// @public (undocumented)
+export interface FidoRegistrationOptions extends Omit {
+ // (undocumented)
+ challenge: number[];
+ // (undocumented)
+ excludeCredentials?: {
+ id: number[];
+ transports?: AuthenticatorTransport[];
+ type: PublicKeyCredentialType;
+ }[];
+ // (undocumented)
+ pubKeyCredParams: {
+ alg: string | number;
+ type: PublicKeyCredentialType;
+ }[];
+ // (undocumented)
+ user: {
+ id: number[];
+ name: string;
+ displayName: string;
+ };
+}
+
+// @public (undocumented)
+export interface FidoRegistrationOutputValue {
+ // (undocumented)
+ action: 'REGISTER';
+ // (undocumented)
+ publicKeyCredentialCreationOptions: FidoRegistrationOptions;
+ // (undocumented)
+ trigger: string;
+}
+
+// @public (undocumented)
+export type FlowCollector = ActionCollectorNoUrl<'FlowCollector'>;
+
+// @public (undocumented)
+export type FlowNode = ContinueNode | ErrorNode | StartNode | SuccessNode | FailureNode;
+
+// @public
+export type GetClient = StartNode['client'] | ContinueNode['client'] | ErrorNode['client'] | SuccessNode['client'] | FailureNode['client'];
+
+// @public (undocumented)
+export type IdpCollector = ActionCollectorWithUrl<'IdpCollector'>;
+
+// @public
+export interface ImageCollector extends NoValueCollectorBase<'ImageCollector'> {
+ // (undocumented)
+ output: NoValueCollectorBase<'ImageCollector'>['output'] & {
+ src: string;
+ alt: string;
+ href?: string;
+ };
+}
+
+// @public (undocumented)
+export type ImageField = {
+ type: 'IMAGE';
+ key: string;
+ description: string;
+ imageUrl: string;
+ hyperlinkUrl?: string;
+};
+
+// @public (undocumented)
+export type InferActionCollectorType = T extends 'IdpCollector' ? IdpCollector : T extends 'SubmitCollector' ? SubmitCollector : T extends 'FlowCollector' ? FlowCollector : ActionCollectorWithUrl<'ActionCollector'> | ActionCollectorNoUrl<'ActionCollector'>;
+
+// @public
+export type InferAutoCollectorType = T extends 'ProtectCollector' ? ProtectCollector : T extends 'PollingCollector' ? PollingCollector : T extends 'FidoRegistrationCollector' ? FidoRegistrationCollector : T extends 'FidoAuthenticationCollector' ? FidoAuthenticationCollector : T extends 'MetadataCollector' ? MetadataCollector : T extends 'ObjectValueAutoCollector' ? ObjectValueAutoCollector : SingleValueAutoCollector;
+
+// @public
+export type InferMultiValueCollectorType = T extends 'MultiSelectCollector' ? MultiValueCollectorWithValue<'MultiSelectCollector'> : MultiValueCollectorWithValue<'MultiValueCollector'> | MultiValueCollectorNoValue<'MultiValueCollector'>;
+
+// @public
+export type InferNoValueCollectorType = T extends 'ReadOnlyCollector' ? ReadOnlyCollector : T extends 'RichTextCollector' ? RichTextCollector : T extends 'QrCodeCollector' ? QrCodeCollector : T extends 'ImageCollector' ? ImageCollector : NoValueCollectorBase<'NoValueCollector'>;
+
+// @public
+export type InferSingleValueCollectorType = T extends 'TextCollector' ? TextCollector : T extends 'SingleSelectCollector' ? SingleSelectCollector : T extends 'ValidatedTextCollector' ? ValidatedTextCollector : T extends 'PasswordCollector' ? PasswordCollector : T extends 'ValidatedPasswordCollector' ? ValidatedPasswordCollector : T extends 'BooleanCollector' ? BooleanCollector : T extends 'ValidatedBooleanCollector' ? ValidatedBooleanCollector : SingleValueCollectorWithValue<'SingleValueCollector'> | SingleValueCollectorNoValue<'SingleValueCollector'>;
+
+// @public (undocumented)
+export type InferValueObjectCollectorType = T extends 'DeviceAuthenticationCollector' ? DeviceAuthenticationCollector : T extends 'DeviceRegistrationCollector' ? DeviceRegistrationCollector : T extends 'PhoneNumberCollector' ? PhoneNumberCollector : T extends 'PhoneNumberExtensionCollector' ? PhoneNumberExtensionCollector : ObjectOptionsCollectorWithObjectValue<'ObjectValueCollector'> | ObjectOptionsCollectorWithStringValue<'ObjectValueCollector'>;
+
+// @public (undocumented)
+export type InitFlow = () => Promise;
+
+// @public (undocumented)
+export interface InternalErrorResponse {
+ // (undocumented)
+ error: Omit & {
+ message: string;
+ };
+ // (undocumented)
+ type: 'internal_error';
+}
+
+// @public (undocumented)
+export interface Links {
+ // (undocumented)
+ [key: string]: {
+ href?: string;
+ };
+}
+
+export { LogLevel }
+
+export { makeDavinciConfig }
+
+// @public (undocumented)
+export type MetadataCollector = AutoCollector<'ObjectValueAutoCollector', 'MetadataCollector', MetadataCollectorInputValue, Record>;
+
+// @public (undocumented)
+export type MetadataCollectorInputValue = Record | MetadataError;
+
+// @public
+export interface MetadataError {
+ // (undocumented)
+ code: string;
+ // (undocumented)
+ message: string;
+}
+
+// @public (undocumented)
+export type MetadataField = {
+ type: 'METADATA';
+ key: string;
+ payload: Record;
+};
+
+// @public (undocumented)
+export type MultiSelectCollector = MultiValueCollectorWithValue<'MultiSelectCollector'>;
+
+// @public (undocumented)
+export type MultiSelectField = {
+ inputType: 'MULTI_SELECT';
+ key: string;
+ label: string;
+ options: {
+ label: string;
+ value: string;
+ }[];
+ required?: boolean;
+ type: 'CHECKBOX' | 'COMBOBOX';
+};
+
+// @public (undocumented)
+export type MultiValueCollector = MultiValueCollectorWithValue | MultiValueCollectorNoValue;
+
+// @public (undocumented)
+export interface MultiValueCollectorNoValue {
+ // (undocumented)
+ category: 'MultiValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: string[];
+ type: string;
+ validation: ValidationRequired[] | null;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ options: SelectorOption[];
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type MultiValueCollectors = MultiValueCollectorWithValue<'MultiValueCollector'> | MultiValueCollectorWithValue<'MultiSelectCollector'>;
+
+// @public
+export type MultiValueCollectorTypes = 'MultiSelectCollector' | 'MultiValueCollector';
+
+// @public (undocumented)
+export interface MultiValueCollectorWithValue {
+ // (undocumented)
+ category: 'MultiValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: string[];
+ type: string;
+ validation: ValidationRequired[] | null;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ value: string[];
+ options: SelectorOption[];
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type MultiValueFields = MultiSelectField;
+
+// @public
+export interface NestedErrorDetails {
+ // (undocumented)
+ code?: string;
+ // (undocumented)
+ innerError?: {
+ history?: string;
+ unsatisfiedRequirements?: string[];
+ failuresRemaining?: number;
+ };
+ // (undocumented)
+ message?: string;
+ // (undocumented)
+ target?: string;
+}
+
+// @public
+export const nextCollectorValues: ActionCreatorWithPayload< {
+fields: DaVinciField[];
+formData: {
+value: Record;
+};
+}, string>;
+
+// @public
+export const nodeCollectorReducer: Reducer & {
+ getInitialState: () => Collectors[];
+};
+
+// @public (undocumented)
+export type NodeStates = StartNode | ContinueNode | ErrorNode | SuccessNode | FailureNode;
+
+// @public (undocumented)
+export type NoValueCollector = InferNoValueCollectorType;
+
+// @public (undocumented)
+export interface NoValueCollectorBase {
+ // (undocumented)
+ category: 'NoValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type NoValueCollectors = NoValueCollectorBase<'NoValueCollector'> | ReadOnlyCollector | RichTextCollector | QrCodeCollector | ImageCollector;
+
+// @public
+export type NoValueCollectorTypes = 'ReadOnlyCollector' | 'RichTextCollector' | 'NoValueCollector' | 'QrCodeCollector' | 'ImageCollector';
+
+// @public
+export interface OAuthDetails {
+ // (undocumented)
+ [key: string]: unknown;
+ // (undocumented)
+ code?: string;
+ // (undocumented)
+ state?: string;
+}
+
+// @public (undocumented)
+export interface ObjectOptionsCollectorWithObjectValue, D = Record> {
+ // (undocumented)
+ category: 'ObjectValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: V;
+ type: string;
+ validation: ValidationRequired[] | null;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ options: DeviceOptionWithDefault[];
+ value?: D | null;
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export interface ObjectOptionsCollectorWithStringValue {
+ // (undocumented)
+ category: 'ObjectValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: V;
+ type: string;
+ validation: ValidationRequired[] | null;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ options: DeviceOptionNoDefault[];
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type ObjectValueAutoCollector = AutoCollector<'ObjectValueAutoCollector', 'ObjectValueAutoCollector', Record>;
+
+// @public (undocumented)
+export type ObjectValueAutoCollectorTypes = 'ObjectValueAutoCollector' | 'FidoRegistrationCollector' | 'FidoAuthenticationCollector' | 'MetadataCollector';
+
+// @public (undocumented)
+export type ObjectValueCollector = ObjectOptionsCollectorWithObjectValue | ObjectOptionsCollectorWithStringValue | ObjectValueCollectorWithObjectValue;
+
+// @public (undocumented)
+export type ObjectValueCollectors = DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | PhoneNumberExtensionCollector | ObjectOptionsCollectorWithObjectValue<'ObjectSelectCollector'> | ObjectOptionsCollectorWithStringValue<'ObjectSelectCollector'>;
+
+// @public
+export type ObjectValueCollectorTypes = 'DeviceAuthenticationCollector' | 'DeviceRegistrationCollector' | 'PhoneNumberCollector' | 'PhoneNumberExtensionCollector' | 'ObjectOptionsCollector' | 'ObjectValueCollector' | 'ObjectSelectCollector';
+
+// @public (undocumented)
+export interface ObjectValueCollectorWithObjectValue, OV = Record> {
+ // (undocumented)
+ category: 'ObjectValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: IV;
+ type: string;
+ validation: (ValidationRequired | ValidationPhoneNumber)[] | null;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ value?: OV | null;
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export interface OutgoingQueryParams {
+ // (undocumented)
+ [key: string]: string | string[];
+}
+
+// @public (undocumented)
+export interface PasswordCollector {
+ // (undocumented)
+ category: 'SingleValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: string | number | boolean;
+ type: string;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ verify: boolean;
+ };
+ // (undocumented)
+ type: 'PasswordCollector';
+}
+
+// @public
+export type PasswordField = {
+ type: 'PASSWORD' | 'PASSWORD_VERIFY';
+ key: string;
+ label: string;
+ required?: boolean;
+ verify?: boolean;
+ passwordPolicy?: PasswordPolicy;
+};
+
+// @public
+export interface PasswordPolicy {
+ // (undocumented)
+ createdAt?: string;
+ // (undocumented)
+ default?: boolean;
+ // (undocumented)
+ description?: string;
+ // (undocumented)
+ excludesCommonlyUsed?: boolean;
+ // (undocumented)
+ excludesProfileData?: boolean;
+ // (undocumented)
+ history?: {
+ count?: number;
+ retentionDays?: number;
+ };
+ // (undocumented)
+ id?: string;
+ // (undocumented)
+ length?: {
+ min?: number;
+ max?: number;
+ };
+ // (undocumented)
+ lockout?: {
+ failureCount?: number;
+ durationSeconds?: number;
+ };
+ // (undocumented)
+ maxAgeDays?: number;
+ // (undocumented)
+ maxRepeatedCharacters?: number;
+ // (undocumented)
+ minAgeDays?: number;
+ // (undocumented)
+ minCharacters?: Record;
+ // (undocumented)
+ minUniqueCharacters?: number;
+ // (undocumented)
+ name?: string;
+ // (undocumented)
+ notSimilarToCurrent?: boolean;
+ // (undocumented)
+ populationCount?: number;
+ // (undocumented)
+ updatedAt?: string;
+}
+
+// @public (undocumented)
+export type PhoneNumberCollector = ObjectValueCollectorWithObjectValue<'PhoneNumberCollector', PhoneNumberInputValue, PhoneNumberOutputValue>;
+
+// @public (undocumented)
+export interface PhoneNumberExtensionCollector {
+ // (undocumented)
+ category: 'ObjectValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: PhoneNumberExtensionInputValue;
+ type: string;
+ validation: (ValidationRequired | ValidationPhoneNumber)[] | null;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ extensionLabel: string;
+ value: PhoneNumberExtensionOutputValue;
+ };
+ // (undocumented)
+ type: 'PhoneNumberExtensionCollector';
+}
+
+// @public (undocumented)
+export type PhoneNumberExtensionField = PhoneNumberField & {
+ showExtension: boolean;
+ extensionLabel: string;
+};
+
+// @public (undocumented)
+export interface PhoneNumberExtensionInputValue {
+ // (undocumented)
+ countryCode: string;
+ // (undocumented)
+ extension: string;
+ // (undocumented)
+ phoneNumber: string;
+}
+
+// @public (undocumented)
+export interface PhoneNumberExtensionOutputValue {
+ // (undocumented)
+ countryCode?: string;
+ // (undocumented)
+ extension?: string;
+ // (undocumented)
+ phoneNumber?: string;
+}
+
+// @public (undocumented)
+export type PhoneNumberField = {
+ type: 'PHONE_NUMBER';
+ key: string;
+ label: string;
+ required: boolean;
+ defaultCountryCode: string | null;
+ validatePhoneNumber: boolean;
+};
+
+// @public (undocumented)
+export interface PhoneNumberInputValue {
+ // (undocumented)
+ countryCode: string;
+ // (undocumented)
+ phoneNumber: string;
+}
+
+// @public (undocumented)
+export interface PhoneNumberOutputValue {
+ // (undocumented)
+ countryCode?: string;
+ // (undocumented)
+ phoneNumber?: string;
+}
+
+// @public
+export type Poller = () => Promise;
+
+// @public (undocumented)
+export type PollingCollector = AutoCollector<'SingleValueAutoCollector', 'PollingCollector', string, PollingOutputValue>;
+
+// @public (undocumented)
+export type PollingField = {
+ type: 'POLLING';
+ key: string;
+ pollInterval: number;
+ pollRetries: number;
+ pollChallengeStatus?: boolean;
+ challenge?: string;
+};
+
+// @public (undocumented)
+export interface PollingOutputValue {
+ // (undocumented)
+ challenge?: string;
+ // (undocumented)
+ pollChallengeStatus?: boolean;
+ // (undocumented)
+ pollInterval: number;
+ // (undocumented)
+ pollRetries: number;
+ // (undocumented)
+ retriesRemaining?: number;
+}
+
+// @public (undocumented)
+export type PollingStatus = PollingStatusContinue | PollingStatusChallenge;
+
+// @public (undocumented)
+export type PollingStatusChallenge = PollingStatusChallengeComplete | 'expired' | 'timedOut' | 'error';
+
+// @public (undocumented)
+export type PollingStatusChallengeComplete = 'approved' | 'denied' | 'continue' | CustomPollingStatus;
+
+// @public (undocumented)
+export type PollingStatusContinue = 'continue' | 'timedOut';
+
+// @public (undocumented)
+export type ProtectCollector = AutoCollector<'SingleValueAutoCollector', 'ProtectCollector', string, ProtectOutputValue>;
+
+// @public (undocumented)
+export type ProtectField = {
+ type: 'PROTECT';
+ key: string;
+ behavioralDataCollection: boolean;
+ universalDeviceIdentification: boolean;
+};
+
+// @public
+export interface ProtectOutputValue {
+ // (undocumented)
+ behavioralDataCollection: boolean;
+ // (undocumented)
+ universalDeviceIdentification: boolean;
+}
+
+// @public
+export interface QrCodeCollector extends NoValueCollectorBase<'QrCodeCollector'> {
+ // (undocumented)
+ output: NoValueCollectorBase<'QrCodeCollector'>['output'] & {
+ src: string;
+ };
+}
+
+// @public (undocumented)
+export type QrCodeField = {
+ type: 'QR_CODE';
+ key: string;
+ content: string;
+ fallbackText?: string;
+};
+
+// @public
+export interface ReadOnlyCollector extends NoValueCollectorBase<'ReadOnlyCollector'> {
+ // (undocumented)
+ output: NoValueCollectorBase<'ReadOnlyCollector'>['output'] & {
+ content: string;
+ title?: string;
+ };
+}
+
+// @public (undocumented)
+export type ReadOnlyField = {
+ type: 'LABEL';
+ content: string;
+ richContent?: RichContent;
+ key?: string;
+};
+
+// @public (undocumented)
+export type ReadOnlyFields = ReadOnlyField | QrCodeField | AgreementField | ImageField;
+
+// @public (undocumented)
+export type RedirectField = {
+ type: 'SOCIAL_LOGIN_BUTTON';
+ key: string;
+ label: string;
+ links: Links;
+};
+
+// @public (undocumented)
+export type RedirectFields = RedirectField;
+
+export { RequestMiddleware }
+
+// @public
+export type RichContent = {
+ content: string;
+ replacements?: Record;
+};
+
+// @public
+export interface RichContentLink {
+ // (undocumented)
+ href: string;
+ // (undocumented)
+ key: string;
+ // (undocumented)
+ target?: '_self' | '_blank';
+ // (undocumented)
+ type: 'link';
+ // (undocumented)
+ value: string;
+}
+
+// @public
+export type RichContentReplacement = {
+ type: 'link';
+ value: string;
+ href: string;
+ target?: '_self' | '_blank';
+};
+
+// @public
+export interface RichTextCollector extends NoValueCollectorBase<'RichTextCollector'> {
+ // (undocumented)
+ output: NoValueCollectorBase<'RichTextCollector'>['output'] & {
+ content: string;
+ richContent: CollectorRichContent;
+ };
+}
+
+// @public (undocumented)
+export interface SelectorOption {
+ // (undocumented)
+ label: string;
+ // (undocumented)
+ value: string;
+}
+
+// @public (undocumented)
+export type SingleCheckboxField = {
+ type: 'SINGLE_CHECKBOX';
+ inputType: 'BOOLEAN';
+ key: string;
+ label: string;
+ required?: boolean;
+ errorMessage?: string;
+ appearance: string;
+ richContent?: RichContent;
+};
+
+// @public (undocumented)
+export type SingleSelectCollector = SingleSelectCollectorWithValue<'SingleSelectCollector'>;
+
+// @public (undocumented)
+export interface SingleSelectCollectorNoValue {
+ // (undocumented)
+ category: 'SingleValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: string | number | boolean;
+ type: string;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ options: SelectorOption[];
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export interface SingleSelectCollectorWithValue {
+ // (undocumented)
+ category: 'SingleValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: string | number | boolean;
+ type: string;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ value: string | number | boolean;
+ options: SelectorOption[];
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type SingleSelectField = {
+ inputType: 'SINGLE_SELECT';
+ key: string;
+ label: string;
+ options: {
+ label: string;
+ value: string;
+ }[];
+ required?: boolean;
+ type: 'RADIO' | 'DROPDOWN';
+};
+
+// @public (undocumented)
+export type SingleValueAutoCollector = AutoCollector<'SingleValueAutoCollector', 'SingleValueAutoCollector', string>;
+
+// @public (undocumented)
+export type SingleValueAutoCollectorTypes = 'SingleValueAutoCollector' | 'ProtectCollector' | 'PollingCollector';
+
+// @public
+export type SingleValueCollector = SingleValueCollectorWithValue | SingleValueCollectorNoValue;
+
+// @public (undocumented)
+export interface SingleValueCollectorNoValue {
+ // (undocumented)
+ category: 'SingleValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: string | number | boolean;
+ type: string;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type SingleValueCollectors = PasswordCollector | ValidatedPasswordCollector | SingleSelectCollector | TextCollector | ValidatedTextCollector | BooleanCollector | ValidatedBooleanCollector | SingleValueCollectorWithValue<'SingleValueCollector'>;
+
+// @public
+export type SingleValueCollectorTypes = 'PasswordCollector' | 'ValidatedPasswordCollector' | 'BooleanCollector' | 'ValidatedBooleanCollector' | 'SingleValueCollector' | 'SingleSelectCollector' | 'SingleSelectObjectCollector' | 'TextCollector' | 'ValidatedTextCollector';
+
+// @public (undocumented)
+export interface SingleValueCollectorWithValue {
+ // (undocumented)
+ category: 'SingleValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: V;
+ type: string;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ value: V;
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type SingleValueFields = StandardField | PasswordField | ValidatedField | SingleCheckboxField | SingleSelectField | ProtectField;
+
+// @public (undocumented)
+export type StandardField = {
+ type: 'TEXT' | 'SUBMIT_BUTTON' | 'FLOW_BUTTON' | 'FLOW_LINK' | 'BUTTON';
+ key: string;
+ label: string;
+ required?: boolean;
+};
+
+// @public (undocumented)
+export interface StartNode {
+ // (undocumented)
+ cache: null;
+ // (undocumented)
+ client: {
+ status: 'start';
+ };
+ // (undocumented)
+ error: DaVinciError | null;
+ // (undocumented)
+ server: {
+ status: 'start';
+ };
+ // (undocumented)
+ status: 'start';
+}
+
+// @public (undocumented)
+export interface StartOptions {
+ // (undocumented)
+ query: Query;
+}
+
+// @public (undocumented)
+export type SubmitCollector = ActionCollectorNoUrl<'SubmitCollector'>;
+
+// @public (undocumented)
+export interface SuccessNode {
+ // (undocumented)
+ cache: {
+ key: string;
+ };
+ // (undocumented)
+ client: {
+ authorization?: {
+ code?: string;
+ state?: string;
+ };
+ status: 'success';
+ } | null;
+ // (undocumented)
+ error: null;
+ // (undocumented)
+ httpStatus: number;
+ // (undocumented)
+ server: {
+ _links?: Links;
+ eventName?: string;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ href?: string;
+ session?: string;
+ status: 'success';
+ };
+ // (undocumented)
+ status: 'success';
+}
+
+// @public (undocumented)
+export type TextCollector = SingleValueCollectorWithValue<'TextCollector'>;
+
+// @public (undocumented)
+export interface ThrownQueryError {
+ // (undocumented)
+ error: FetchBaseQueryError;
+ // (undocumented)
+ isHandledError: boolean;
+ // (undocumented)
+ meta: FetchBaseQueryMeta;
+}
+
+// @public
+export type UnknownCollector = {
+ category: 'UnknownCollector';
+ error: string | null;
+ type: 'UnknownCollector';
+ id: string;
+ name: string;
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ };
+};
+
+// @public (undocumented)
+export type UnknownField = Record;
+
+// @public
+export type UpdatableCollectors = SingleValueCollectors | MultiSelectCollector | ObjectValueCollectors | AutoCollectors;
+
+// @public (undocumented)
+export const updateCollectorValues: ActionCreatorWithPayload< {
+id: string;
+value: CollectorValueTypes;
+index?: number;
+}, string>;
+
+// @public
+export type Updater = (value: CollectorValueType, index?: number) => InternalErrorResponse | null;
+
+// @public (undocumented)
+export interface ValidatedBooleanCollector extends ValidatedSingleValueCollectorWithValue<'ValidatedBooleanCollector', boolean> {
+ // (undocumented)
+ output: ValidatedSingleValueCollectorWithValue<'ValidatedBooleanCollector', boolean>['output'] & {
+ appearance: string;
+ richContent?: CollectorRichContent;
+ };
+}
+
+// @public
+export type ValidatedCollectors = ValidatedTextCollector | ValidatedBooleanCollector | ValidatedPasswordCollector | ObjectValueCollectors | MultiValueCollectors | AutoCollectors;
+
+// @public (undocumented)
+export type ValidatedField = {
+ type: 'TEXT';
+ key: string;
+ label: string;
+ required: boolean;
+ validation: {
+ regex: string;
+ errorMessage: string;
+ };
+};
+
+// @public (undocumented)
+export interface ValidatedPasswordCollector {
+ // (undocumented)
+ category: 'SingleValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: string | number | boolean;
+ type: string;
+ validation: PasswordPolicy;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ verify: boolean;
+ };
+ // (undocumented)
+ type: 'ValidatedPasswordCollector';
+}
+
+// @public (undocumented)
+export interface ValidatedSingleValueCollectorWithValue {
+ // (undocumented)
+ category: 'ValidatedSingleValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ type: string;
+ validation: (ValidationRequired | ValidationRegex)[];
+ value: V;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ value: V;
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type ValidatedTextCollector = ValidatedSingleValueCollectorWithValue<'TextCollector'>;
+
+// @public (undocumented)
+export interface ValidationPhoneNumber {
+ // (undocumented)
+ message: string;
+ // (undocumented)
+ rule: boolean;
+ // (undocumented)
+ type: 'validatePhoneNumber';
+}
+
+// @public (undocumented)
+export interface ValidationRegex {
+ // (undocumented)
+ message: string;
+ // (undocumented)
+ rule: string;
+ // (undocumented)
+ type: 'regex';
+}
+
+// @public (undocumented)
+export interface ValidationRequired {
+ // (undocumented)
+ message: string;
+ // (undocumented)
+ rule: boolean;
+ // (undocumented)
+ type: 'required';
+}
+
+// @public
+export type Validator = (value: CollectorValueType) => string[] | {
+ error: {
+ message: string;
+ type: string;
+ };
+ type: string;
+};
+
+// (No @packageDocumentation comment for this package)
+
+```
diff --git a/packages/davinci-client/api-report/davinci-client.types.api.md b/packages/davinci-client/api-report/davinci-client.types.api.md
index cfece3b8487..8d3a7724010 100644
--- a/packages/davinci-client/api-report/davinci-client.types.api.md
+++ b/packages/davinci-client/api-report/davinci-client.types.api.md
@@ -1,2437 +1,2019 @@
-## API Report File for "@forgerock/davinci-client"
-
-> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
-
-```ts
-import { ActionCreatorWithPayload } from '@reduxjs/toolkit';
-import { ActionTypes } from '@forgerock/sdk-request-middleware';
-import { CustomLogger } from '@forgerock/sdk-logger';
-import type { DaVinciConfig } from '@forgerock/sdk-types';
-import { FetchBaseQueryError } from '@reduxjs/toolkit/query';
-import type { FetchBaseQueryMeta } from '@reduxjs/toolkit/query';
-import type { GenericError } from '@forgerock/sdk-types';
-import { LogLevel } from '@forgerock/sdk-logger';
-import type { MutationResultSelectorResult } from '@reduxjs/toolkit/query';
-import { QueryStatus } from '@reduxjs/toolkit/query';
-import { Reducer } from '@reduxjs/toolkit';
-import { RequestMiddleware } from '@forgerock/sdk-request-middleware';
-import { SerializedError } from '@reduxjs/toolkit';
-import { Unsubscribe } from '@reduxjs/toolkit';
-
-// @public (undocumented)
-export type ActionCollector =
- | ActionCollectorNoUrl
- | ActionCollectorWithUrl;
-
-// @public (undocumented)
-export interface ActionCollectorNoUrl {
- // (undocumented)
- category: 'ActionCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type ActionCollectors =
- | ActionCollectorWithUrl<'IdpCollector'>
- | ActionCollectorNoUrl<'ActionCollector'>
- | ActionCollectorNoUrl<'FlowCollector'>
- | ActionCollectorNoUrl<'SubmitCollector'>;
-
-// @public
-export type ActionCollectorTypes =
- | 'FlowCollector'
- | 'SubmitCollector'
- | 'IdpCollector'
- | 'ActionCollector';
-
-// @public (undocumented)
-export interface ActionCollectorWithUrl {
- // (undocumented)
- category: 'ActionCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- url?: string | null;
- };
- // (undocumented)
- type: T;
-}
-
-export { ActionTypes };
-
-// @public (undocumented)
-export type AgreementField = {
- type: 'AGREEMENT';
- key: string;
- content: string;
- titleEnabled: boolean;
- title?: string;
- agreement: {
- id: string;
- useDynamicAgreement: boolean;
- };
- enabled: boolean;
-};
-
-// @public (undocumented)
-export interface AssertionValue extends Omit<
- PublicKeyCredential,
- 'rawId' | 'response' | 'getClientExtensionResults' | 'toJSON'
-> {
- // (undocumented)
- rawId: string;
- // (undocumented)
- response: {
- clientDataJSON: string;
- authenticatorData: string;
- signature: string;
- userHandle: string | null;
- };
-}
-
-// @public (undocumented)
-export interface AttestationValue extends Omit<
- PublicKeyCredential,
- 'rawId' | 'response' | 'getClientExtensionResults' | 'toJSON'
-> {
- // (undocumented)
- rawId: string;
- // (undocumented)
- response: {
- clientDataJSON: string;
- attestationObject: string;
- };
-}
-
-// @public (undocumented)
-export interface AutoCollector<
- C extends AutoCollectorCategories,
- T extends AutoCollectorTypes,
- IV = string,
- OV = Record,
-> {
- // (undocumented)
- category: C;
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: IV;
- type: string;
- validation?: ValidationRequired[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- type: string;
- config: OV;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type AutoCollectorCategories = 'SingleValueAutoCollector' | 'ObjectValueAutoCollector';
-
-// @public (undocumented)
-export type AutoCollectors =
- | ProtectCollector
- | FidoRegistrationCollector
- | FidoAuthenticationCollector
- | MetadataCollector
- | PollingCollector
- | SingleValueAutoCollector
- | ObjectValueAutoCollector;
-
-// @public (undocumented)
-export type AutoCollectorTypes = SingleValueAutoCollectorTypes | ObjectValueAutoCollectorTypes;
-
-// @public (undocumented)
-export interface BooleanCollector extends SingleValueCollectorWithValue<
- 'BooleanCollector',
- boolean
-> {
- // (undocumented)
- output: SingleValueCollectorWithValue<'BooleanCollector', boolean>['output'] & {
- appearance: string;
- richContent?: CollectorRichContent;
- };
-}
-
-// @public (undocumented)
-export type CollectorCategory = Collectors['category'];
-
-// @public (undocumented)
-export interface CollectorErrors {
- // (undocumented)
- code: string;
- // (undocumented)
- message: string;
- // (undocumented)
- target: string;
-}
-
-// @public
-export interface CollectorRichContent {
- // (undocumented)
- content: string;
- // (undocumented)
- replacements: RichContentLink[];
-}
-
-// @public (undocumented)
-export type Collectors =
- | FlowCollector
- | MetadataCollector
- | PasswordCollector
- | ValidatedPasswordCollector
- | TextCollector
- | BooleanCollector
- | ValidatedBooleanCollector
- | SingleSelectCollector
- | IdpCollector
- | SubmitCollector
- | ActionCollector<'ActionCollector'>
- | SingleValueCollector<'SingleValueCollector'>
- | MultiSelectCollector
- | DeviceAuthenticationCollector
- | DeviceRegistrationCollector
- | PhoneNumberCollector
- | PhoneNumberExtensionCollector
- | ReadOnlyCollector
- | RichTextCollector
- | ValidatedTextCollector
- | ProtectCollector
- | PollingCollector
- | FidoRegistrationCollector
- | FidoAuthenticationCollector
- | QrCodeCollector
- | ImageCollector
- | UnknownCollector;
-
-// @public
-export type CollectorValueType = T extends
- | {
- type: 'PasswordCollector';
- }
- | {
- type: 'ValidatedPasswordCollector';
- }
- | {
- type: 'SingleSelectCollector';
- }
- | {
- type: 'DeviceRegistrationCollector';
- }
- | {
- type: 'DeviceAuthenticationCollector';
- }
- | {
- type: 'ProtectCollector';
- }
- | {
- type: 'PollingCollector';
- }
- ? string
- : T extends {
- type: 'TextCollector';
- category: 'SingleValueCollector';
- }
- ? string
- : T extends {
- type: 'TextCollector';
- category: 'ValidatedSingleValueCollector';
- }
- ? string
- : T extends
- | {
- type: 'BooleanCollector';
- }
- | {
- type: 'ValidatedBooleanCollector';
- }
- ? boolean
- : T extends {
- type: 'MultiSelectCollector';
- }
- ? string | string[]
- : T extends {
- type: 'PhoneNumberCollector';
- }
- ? PhoneNumberInputValue
- : T extends {
- type: 'PhoneNumberExtensionCollector';
- }
- ? PhoneNumberExtensionInputValue
- : T extends {
- type: 'FidoRegistrationCollector';
- }
- ? FidoRegistrationInputValue | GenericError
- : T extends {
- type: 'FidoAuthenticationCollector';
- }
- ? FidoAuthenticationInputValue | GenericError
- : T extends {
- type: 'MetadataCollector';
- }
- ? Record | MetadataError
- : T extends {
- category: 'SingleValueCollector';
- }
- ? string
- : T extends {
- category: 'ValidatedSingleValueCollector';
- }
- ? string
- : T extends {
- category: 'SingleValueAutoCollector';
- }
- ? string
- : T extends {
- category: 'MultiValueCollector';
- }
- ? string | string[]
- : T extends {
- category: 'ActionCollector';
- }
- ? never
- : T extends {
- category: 'NoValueCollector';
- }
- ? never
- : CollectorValueTypes;
-
-// @public
-export type CollectorValueTypes =
- | string
- | string[]
- | boolean
- | PhoneNumberInputValue
- | PhoneNumberExtensionInputValue
- | FidoRegistrationInputValue
- | FidoAuthenticationInputValue
- | MetadataError
- | GenericError;
-
-// @public (undocumented)
-export type ComplexValueFields =
- | DeviceAuthenticationField
- | DeviceRegistrationField
- | PhoneNumberField
- | PhoneNumberExtensionField
- | FidoRegistrationField
- | FidoAuthenticationField
- | PollingField
- | MetadataField;
-
-// @public (undocumented)
-export interface ContinueNode {
- // (undocumented)
- cache: {
- key: string;
- };
- // (undocumented)
- client: {
- action: string;
- collectors: Collectors[];
- description?: string;
- name?: string;
- status: 'continue';
- };
- // (undocumented)
- error: null;
- // (undocumented)
- httpStatus: number;
- // (undocumented)
- server: {
- _links?: Links;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- href?: string;
- eventName?: string;
- status: 'continue';
- };
- // (undocumented)
- status: 'continue';
-}
-
-export { CustomLogger };
-
-// @public
-export type CustomPollingStatus = string & {};
-
-// @public
-export function davinci(input: {
- config: DaVinciConfig;
- requestMiddleware?: RequestMiddleware[];
- logger?: {
- level: LogLevel;
- custom?: CustomLogger;
- };
-}): Promise<{
- subscribe: (listener: () => void) => Unsubscribe;
- externalIdp: () => () => Promise;
- flow: (action: DaVinciAction) => InitFlow;
- next: (args?: DaVinciRequest) => Promise;
- resume: (input: { continueToken: string }) => Promise;
- start: (
- options?: StartOptions | undefined,
- ) => Promise;
- update: (collector: T) => Updater;
- validate: (
- collector:
- | SingleValueCollectors
- | ObjectValueCollectors
- | MultiValueCollectors
- | AutoCollectors,
- ) => Validator;
- pollStatus: (collector: PollingCollector) => Poller;
- getClient: () =>
- | {
- action: string;
- collectors: Collectors[];
- description?: string;
- name?: string;
- status: 'continue';
- }
- | {
- action: string;
- collectors: Collectors[];
- description?: string;
- name?: string;
- status: 'error';
- }
- | {
- status: 'failure';
- }
- | {
- status: 'start';
- }
- | {
- authorization?: {
- code?: string;
- state?: string;
- };
- status: 'success';
- }
- | null;
- getCollectors: () => Collectors[];
- getError: () => DaVinciError | null;
- getErrorCollectors: () => CollectorErrors[];
- getNode: () => ContinueNode | ErrorNode | FailureNode | StartNode | SuccessNode;
- getServer: () =>
- | {
- _links?: Links;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- href?: string;
- eventName?: string;
- status: 'continue';
- }
- | {
- _links?: Links;
- eventName?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- status: 'error';
- }
- | {
- _links?: Links;
- eventName?: string;
- href?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- status: 'failure';
- }
- | {
- status: 'start';
- }
- | {
- _links?: Links;
- eventName?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- href?: string;
- session?: string;
- status: 'success';
- }
- | null;
- cache: {
- getLatestResponse: () =>
- | ({
- status: QueryStatus.fulfilled;
- } & Omit<
- {
- requestId: string;
- data?: unknown;
- error?: FetchBaseQueryError | SerializedError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- },
- 'data' | 'fulfilledTimeStamp'
- > &
- Required<
- Pick<
- {
- requestId: string;
- data?: unknown;
- error?: FetchBaseQueryError | SerializedError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- },
- 'data' | 'fulfilledTimeStamp'
- >
- > & {
- error: undefined;
- } & {
- status: QueryStatus.fulfilled;
- isUninitialized: false;
- isLoading: false;
- isSuccess: true;
- isError: false;
- })
- | ({
- status: QueryStatus.rejected;
- } & Omit<
- {
- requestId: string;
- data?: unknown;
- error?: FetchBaseQueryError | SerializedError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- },
- 'error'
- > &
- Required<
- Pick<
- {
- requestId: string;
- data?: unknown;
- error?: FetchBaseQueryError | SerializedError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- },
- 'error'
- >
- > & {
- status: QueryStatus.rejected;
- isUninitialized: false;
- isLoading: false;
- isSuccess: false;
- isError: true;
- })
- | {
- error: {
- message: string;
- type: string;
- };
- };
- getResponseWithId: (requestId: string) =>
- | ({
- status: QueryStatus.fulfilled;
- } & Omit<
- {
- requestId: string;
- data?: unknown;
- error?: FetchBaseQueryError | SerializedError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- },
- 'data' | 'fulfilledTimeStamp'
- > &
- Required<
- Pick<
- {
- requestId: string;
- data?: unknown;
- error?: FetchBaseQueryError | SerializedError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- },
- 'data' | 'fulfilledTimeStamp'
- >
- > & {
- error: undefined;
- } & {
- status: QueryStatus.fulfilled;
- isUninitialized: false;
- isLoading: false;
- isSuccess: true;
- isError: false;
- })
- | ({
- status: QueryStatus.rejected;
- } & Omit<
- {
- requestId: string;
- data?: unknown;
- error?: FetchBaseQueryError | SerializedError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- },
- 'error'
- > &
- Required<
- Pick<
- {
- requestId: string;
- data?: unknown;
- error?: FetchBaseQueryError | SerializedError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- },
- 'error'
- >
- > & {
- status: QueryStatus.rejected;
- isUninitialized: false;
- isLoading: false;
- isSuccess: false;
- isError: true;
- })
- | {
- error: {
- message: string;
- type: string;
- };
- };
- };
-}>;
-
-// @public
-export interface DaVinciAction {
- // (undocumented)
- action: string;
-}
-
-// @public
-export interface DaVinciBaseResponse {
- // (undocumented)
- capabilityName?: string;
- // (undocumented)
- companyId?: string;
- // (undocumented)
- connectionId?: string;
- // (undocumented)
- connectorId?: string;
- // (undocumented)
- id?: string;
- // (undocumented)
- interactionId?: string;
- // (undocumented)
- interactionToken?: string;
- // (undocumented)
- isResponseCompatibleWithMobileAndWebSdks?: boolean;
- // (undocumented)
- status?: string;
-}
-
-// @public
-export type DaVinciCacheEntry = {
- data?: DaVinciBaseResponse;
- error?: {
- data: DaVinciBaseResponse;
- status: number;
- };
-} & {
- data?: any;
- error?: any;
-} & MutationResultSelectorResult;
-
-// @public (undocumented)
-export type DavinciClient = Awaited>;
-
-export { DaVinciConfig };
-
-// @public (undocumented)
-export interface DaVinciError extends Omit {
- // (undocumented)
- collectors?: CollectorErrors[];
- // (undocumented)
- internalHttpStatus?: number;
- // (undocumented)
- message: string;
- // (undocumented)
- status: 'error' | 'failure' | 'unknown';
-}
-
-// @public (undocumented)
-export interface DaVinciErrorCacheEntry {
- // (undocumented)
- endpointName: 'next' | 'flow' | 'start';
- // (undocumented)
- error: {
- data: T;
- };
- // (undocumented)
- fulfilledTimeStamp: number;
- // (undocumented)
- isError: boolean;
- // (undocumented)
- isLoading: boolean;
- // (undocumented)
- isSuccess: boolean;
- // (undocumented)
- isUninitialized: boolean;
- // (undocumented)
- requestId: string;
- // (undocumented)
- startedTimeStamp: number;
- // (undocumented)
- status: 'fulfilled' | 'pending' | 'rejected';
-}
-
-// @public (undocumented)
-export interface DavinciErrorResponse extends DaVinciBaseResponse {
- // (undocumented)
- cause?: string | null;
- // (undocumented)
- code: string | number;
- // (undocumented)
- details?: ErrorDetail[];
- // (undocumented)
- doNotSendToOE?: boolean;
- // (undocumented)
- error?: {
- code?: string;
- message?: string;
- };
- // (undocumented)
- errorCategory?: string;
- // (undocumented)
- errorMessage?: string;
- // (undocumented)
- expected?: boolean;
- // (undocumented)
- httpResponseCode: number;
- // (undocumented)
- isErrorCustomized?: boolean;
- // (undocumented)
- message: string;
- // (undocumented)
- metricAttributes?: {
- [key: string]: unknown;
- };
-}
-
-// @public (undocumented)
-export interface DaVinciFailureResponse extends DaVinciBaseResponse {
- // (undocumented)
- error?: {
- code?: string;
- message?: string;
- [key: string]: unknown;
- };
-}
-
-// @public (undocumented)
-export type DaVinciField =
- | ComplexValueFields
- | MultiValueFields
- | ReadOnlyFields
- | RedirectFields
- | SingleValueFields;
-
-// @public
-export interface DaVinciNextResponse extends DaVinciBaseResponse {
- // (undocumented)
- eventName?: string;
- // (undocumented)
- form?: {
- name?: string;
- description?: string;
- components?: {
- fields?: DaVinciField[];
- };
- };
- // (undocumented)
- formData?: {
- value?: {
- [key: string]: string;
- };
- };
- // (undocumented)
- _links?: Links;
-}
-
-// @public
-export interface DaVinciPollResponse extends DaVinciBaseResponse {
- // (undocumented)
- eventName?: string;
- // (undocumented)
- _links?: Links;
- // (undocumented)
- success?: boolean;
-}
-
-// @public (undocumented)
-export interface DaVinciRequest {
- // (undocumented)
- eventName: string;
- // (undocumented)
- id: string;
- // (undocumented)
- interactionId: string;
- // (undocumented)
- parameters: {
- eventType: 'submit' | 'action' | 'polling';
- data: {
- actionKey: string;
- formData?: Record;
- };
- };
-}
-
-// @public
-export type DaVinciRequestValueTypes =
- | string
- | number
- | boolean
- | (string | number | boolean)[]
- | DeviceValue
- | PhoneNumberInputValue
- | FidoRegistrationInputValue
- | FidoAuthenticationInputValue
- | MetadataError
- | GenericError;
-
-// @public (undocumented)
-export interface DaVinciSuccessResponse extends DaVinciBaseResponse {
- // (undocumented)
- authorizeResponse?: OAuthDetails;
- // (undocumented)
- environment: {
- id: string;
- [key: string]: unknown;
- };
- // (undocumented)
- _links?: Links;
- // (undocumented)
- resetCookie?: boolean;
- // (undocumented)
- session?: {
- id?: string;
- [key: string]: unknown;
- };
- // (undocumented)
- sessionToken?: string;
- // (undocumented)
- sessionTokenMaxAge?: number;
- // (undocumented)
- status: string;
- // (undocumented)
- subFlowSettings?: {
- cssLinks?: unknown[];
- cssUrl?: unknown;
- jsLinks?: unknown[];
- loadingScreenSettings?: unknown;
- reactSkUrl?: unknown;
- };
- // (undocumented)
- success: true;
-}
-
-// @public (undocumented)
-export type DeviceAuthenticationCollector = ObjectOptionsCollectorWithObjectValue<
- 'DeviceAuthenticationCollector',
- DeviceValue
->;
-
-// @public (undocumented)
-export type DeviceAuthenticationField = {
- type: 'DEVICE_AUTHENTICATION';
- key: string;
- label: string;
- options: {
- type: string;
- iconSrc: string;
- title: string;
- id: string;
- default: boolean;
- description: string;
- }[];
- required: boolean;
-};
-
-// @public (undocumented)
-export interface DeviceOptionNoDefault {
- // (undocumented)
- content: string;
- // (undocumented)
- key: string;
- // (undocumented)
- label: string;
- // (undocumented)
- type: string;
- // (undocumented)
- value: string;
-}
-
-// @public (undocumented)
-export interface DeviceOptionWithDefault {
- // (undocumented)
- content: string;
- // (undocumented)
- default: boolean;
- // (undocumented)
- key: string;
- // (undocumented)
- label: string;
- // (undocumented)
- type: string;
- // (undocumented)
- value: string;
-}
-
-// @public (undocumented)
-export type DeviceRegistrationCollector = ObjectOptionsCollectorWithStringValue<
- 'DeviceRegistrationCollector',
- string
->;
-
-// @public (undocumented)
-export type DeviceRegistrationField = {
- type: 'DEVICE_REGISTRATION';
- key: string;
- label: string;
- options: {
- type: string;
- iconSrc: string;
- title: string;
- description: string;
- }[];
- required: boolean;
-};
-
-// @public (undocumented)
-export interface DeviceValue {
- // (undocumented)
- id: string;
- // (undocumented)
- type: string;
- // (undocumented)
- value: string;
-}
-
-// @public (undocumented)
-export interface ErrorDetail {
- // (undocumented)
- message?: string;
- // (undocumented)
- rawResponse?: {
- _embedded?: {
- users?: Array;
- };
- code?: string;
- count?: number;
- details?: NestedErrorDetails[];
- id?: string;
- message?: string;
- size?: number;
- userFilter?: string;
- [key: string]: unknown;
- };
- // (undocumented)
- statusCode?: number;
-}
-
-// @public (undocumented)
-export interface ErrorNode {
- // (undocumented)
- cache: {
- key: string;
- };
- // (undocumented)
- client: {
- action: string;
- collectors: Collectors[];
- description?: string;
- name?: string;
- status: 'error';
- };
- // (undocumented)
- error: DaVinciError;
- // (undocumented)
- httpStatus: number;
- // (undocumented)
- server: {
- _links?: Links;
- eventName?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- status: 'error';
- } | null;
- // (undocumented)
- status: 'error';
-}
-
-// @public (undocumented)
-export interface FailureNode {
- // (undocumented)
- cache: {
- key: string;
- };
- // (undocumented)
- client: {
- status: 'failure';
- };
- // (undocumented)
- error: DaVinciError;
- // (undocumented)
- httpStatus: number;
- // (undocumented)
- server: {
- _links?: Links;
- eventName?: string;
- href?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- status: 'failure';
- } | null;
- // (undocumented)
- status: 'failure';
-}
-
-// @public (undocumented)
-export type FidoAuthenticationCollector = AutoCollector<
- 'ObjectValueAutoCollector',
- 'FidoAuthenticationCollector',
- FidoAuthenticationInputValue | GenericError,
- FidoAuthenticationOutputValue
->;
-
-// @public (undocumented)
-export type FidoAuthenticationField = {
- type: 'FIDO2';
- key: string;
- label: string;
- publicKeyCredentialRequestOptions: FidoAuthenticationOptions;
- action: 'AUTHENTICATE';
- trigger: string;
- required: boolean;
-};
-
-// @public (undocumented)
-export interface FidoAuthenticationInputValue {
- // (undocumented)
- assertionValue?: AssertionValue;
-}
-
-// @public (undocumented)
-export interface FidoAuthenticationOptions extends Omit<
- PublicKeyCredentialRequestOptions,
- 'challenge' | 'allowCredentials'
-> {
- // (undocumented)
- allowCredentials?: {
- id: number[];
- transports?: AuthenticatorTransport[];
- type: PublicKeyCredentialType;
- }[];
- // (undocumented)
- challenge: number[];
-}
-
-// @public (undocumented)
-export interface FidoAuthenticationOutputValue {
- // (undocumented)
- action: 'AUTHENTICATE';
- // (undocumented)
- publicKeyCredentialRequestOptions: FidoAuthenticationOptions;
- // (undocumented)
- trigger: string;
-}
-
-// @public (undocumented)
-export interface FidoClient {
- authenticate: (
- options: FidoAuthenticationOptions,
- ) => Promise;
- register: (
- options: FidoRegistrationOptions,
- ) => Promise;
-}
-
-// @public
-export type FidoErrorCode =
- | 'NotAllowedError'
- | 'AbortError'
- | 'InvalidStateError'
- | 'NotSupportedError'
- | 'SecurityError'
- | 'TimeoutError'
- | 'UnknownError';
-
-// @public (undocumented)
-export type FidoRegistrationCollector = AutoCollector<
- 'ObjectValueAutoCollector',
- 'FidoRegistrationCollector',
- FidoRegistrationInputValue | GenericError,
- FidoRegistrationOutputValue
->;
-
-// @public (undocumented)
-export type FidoRegistrationField = {
- type: 'FIDO2';
- key: string;
- label: string;
- publicKeyCredentialCreationOptions: FidoRegistrationOptions;
- action: 'REGISTER';
- trigger: string;
- required: boolean;
-};
-
-// @public (undocumented)
-export interface FidoRegistrationInputValue {
- // (undocumented)
- attestationValue?: AttestationValue;
-}
-
-// @public (undocumented)
-export interface FidoRegistrationOptions extends Omit<
- PublicKeyCredentialCreationOptions,
- 'challenge' | 'user' | 'pubKeyCredParams' | 'excludeCredentials'
-> {
- // (undocumented)
- challenge: number[];
- // (undocumented)
- excludeCredentials?: {
- id: number[];
- transports?: AuthenticatorTransport[];
- type: PublicKeyCredentialType;
- }[];
- // (undocumented)
- pubKeyCredParams: {
- alg: string | number;
- type: PublicKeyCredentialType;
- }[];
- // (undocumented)
- user: {
- id: number[];
- name: string;
- displayName: string;
- };
-}
-
-// @public (undocumented)
-export interface FidoRegistrationOutputValue {
- // (undocumented)
- action: 'REGISTER';
- // (undocumented)
- publicKeyCredentialCreationOptions: FidoRegistrationOptions;
- // (undocumented)
- trigger: string;
-}
-
-// @public (undocumented)
-export type FlowCollector = ActionCollectorNoUrl<'FlowCollector'>;
-
-// @public (undocumented)
-export type FlowNode = ContinueNode | ErrorNode | StartNode | SuccessNode | FailureNode;
-
-// @public
-export type GetClient =
- | StartNode['client']
- | ContinueNode['client']
- | ErrorNode['client']
- | SuccessNode['client']
- | FailureNode['client'];
-
-// @public (undocumented)
-export type IdpCollector = ActionCollectorWithUrl<'IdpCollector'>;
-
-// @public
-export interface ImageCollector extends NoValueCollectorBase<'ImageCollector'> {
- // (undocumented)
- output: NoValueCollectorBase<'ImageCollector'>['output'] & {
- src: string;
- alt: string;
- href?: string;
- };
-}
-
-// @public (undocumented)
-export type ImageField = {
- type: 'IMAGE';
- key: string;
- description: string;
- imageUrl: string;
- hyperlinkUrl?: string;
-};
-
-// @public (undocumented)
-export type InferActionCollectorType = T extends 'IdpCollector'
- ? IdpCollector
- : T extends 'SubmitCollector'
- ? SubmitCollector
- : T extends 'FlowCollector'
- ? FlowCollector
- : ActionCollectorWithUrl<'ActionCollector'> | ActionCollectorNoUrl<'ActionCollector'>;
-
-// @public
-export type InferAutoCollectorType = T extends 'ProtectCollector'
- ? ProtectCollector
- : T extends 'PollingCollector'
- ? PollingCollector
- : T extends 'FidoRegistrationCollector'
- ? FidoRegistrationCollector
- : T extends 'FidoAuthenticationCollector'
- ? FidoAuthenticationCollector
- : T extends 'MetadataCollector'
- ? MetadataCollector
- : T extends 'ObjectValueAutoCollector'
- ? ObjectValueAutoCollector
- : SingleValueAutoCollector;
-
-// @public
-export type InferMultiValueCollectorType =
- T extends 'MultiSelectCollector'
- ? MultiValueCollectorWithValue<'MultiSelectCollector'>
- :
- | MultiValueCollectorWithValue<'MultiValueCollector'>
- | MultiValueCollectorNoValue<'MultiValueCollector'>;
-
-// @public
-export type InferNoValueCollectorType =
- T extends 'ReadOnlyCollector'
- ? ReadOnlyCollector
- : T extends 'RichTextCollector'
- ? RichTextCollector
- : T extends 'QrCodeCollector'
- ? QrCodeCollector
- : T extends 'ImageCollector'
- ? ImageCollector
- : NoValueCollectorBase<'NoValueCollector'>;
-
-// @public
-export type InferSingleValueCollectorType =
- T extends 'TextCollector'
- ? TextCollector
- : T extends 'SingleSelectCollector'
- ? SingleSelectCollector
- : T extends 'ValidatedTextCollector'
- ? ValidatedTextCollector
- : T extends 'PasswordCollector'
- ? PasswordCollector
- : T extends 'ValidatedPasswordCollector'
- ? ValidatedPasswordCollector
- : T extends 'BooleanCollector'
- ? BooleanCollector
- : T extends 'ValidatedBooleanCollector'
- ? ValidatedBooleanCollector
- :
- | SingleValueCollectorWithValue<'SingleValueCollector'>
- | SingleValueCollectorNoValue<'SingleValueCollector'>;
-
-// @public (undocumented)
-export type InferValueObjectCollectorType =
- T extends 'DeviceAuthenticationCollector'
- ? DeviceAuthenticationCollector
- : T extends 'DeviceRegistrationCollector'
- ? DeviceRegistrationCollector
- : T extends 'PhoneNumberCollector'
- ? PhoneNumberCollector
- : T extends 'PhoneNumberExtensionCollector'
- ? PhoneNumberExtensionCollector
- :
- | ObjectOptionsCollectorWithObjectValue<'ObjectValueCollector'>
- | ObjectOptionsCollectorWithStringValue<'ObjectValueCollector'>;
-
-// @public (undocumented)
-export type InitFlow = () => Promise;
-
-// @public (undocumented)
-export interface InternalErrorResponse {
- // (undocumented)
- error: Omit & {
- message: string;
- };
- // (undocumented)
- type: 'internal_error';
-}
-
-// @public (undocumented)
-export interface Links {
- // (undocumented)
- [key: string]: {
- href?: string;
- };
-}
-
-export { LogLevel };
-
-// @public (undocumented)
-export type MetadataCollector = AutoCollector<
- 'ObjectValueAutoCollector',
- 'MetadataCollector',
- MetadataCollectorInputValue,
- Record
->;
-
-// @public (undocumented)
-export type MetadataCollectorInputValue = Record | MetadataError;
-
-// @public
-export interface MetadataError {
- // (undocumented)
- code: string;
- // (undocumented)
- message: string;
-}
-
-// @public (undocumented)
-export type MetadataField = {
- type: 'METADATA';
- key: string;
- payload: Record;
-};
-
-// @public (undocumented)
-export type MultiSelectCollector = MultiValueCollectorWithValue<'MultiSelectCollector'>;
-
-// @public (undocumented)
-export type MultiSelectField = {
- inputType: 'MULTI_SELECT';
- key: string;
- label: string;
- options: {
- label: string;
- value: string;
- }[];
- required?: boolean;
- type: 'CHECKBOX' | 'COMBOBOX';
-};
-
-// @public (undocumented)
-export type MultiValueCollector =
- | MultiValueCollectorWithValue
- | MultiValueCollectorNoValue;
-
-// @public (undocumented)
-export interface MultiValueCollectorNoValue {
- // (undocumented)
- category: 'MultiValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string[];
- type: string;
- validation: ValidationRequired[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- options: SelectorOption[];
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type MultiValueCollectors =
- | MultiValueCollectorWithValue<'MultiValueCollector'>
- | MultiValueCollectorWithValue<'MultiSelectCollector'>;
-
-// @public
-export type MultiValueCollectorTypes = 'MultiSelectCollector' | 'MultiValueCollector';
-
-// @public (undocumented)
-export interface MultiValueCollectorWithValue {
- // (undocumented)
- category: 'MultiValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string[];
- type: string;
- validation: ValidationRequired[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- value: string[];
- options: SelectorOption[];
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type MultiValueFields = MultiSelectField;
-
-// @public
-export interface NestedErrorDetails {
- // (undocumented)
- code?: string;
- // (undocumented)
- innerError?: {
- history?: string;
- unsatisfiedRequirements?: string[];
- failuresRemaining?: number;
- };
- // (undocumented)
- message?: string;
- // (undocumented)
- target?: string;
-}
-
-// @public
-export const nextCollectorValues: ActionCreatorWithPayload<
- {
- fields: DaVinciField[];
- formData: {
- value: Record;
- };
- },
- string
->;
-
-// @public
-export const nodeCollectorReducer: Reducer & {
- getInitialState: () => Collectors[];
-};
-
-// @public (undocumented)
-export type NodeStates = StartNode | ContinueNode | ErrorNode | SuccessNode | FailureNode;
-
-// @public (undocumented)
-export type NoValueCollector = InferNoValueCollectorType;
-
-// @public (undocumented)
-export interface NoValueCollectorBase {
- // (undocumented)
- category: 'NoValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type NoValueCollectors =
- | NoValueCollectorBase<'NoValueCollector'>
- | ReadOnlyCollector
- | RichTextCollector
- | QrCodeCollector
- | ImageCollector;
-
-// @public
-export type NoValueCollectorTypes =
- | 'ReadOnlyCollector'
- | 'RichTextCollector'
- | 'NoValueCollector'
- | 'QrCodeCollector'
- | 'ImageCollector';
-
-// @public
-export interface OAuthDetails {
- // (undocumented)
- [key: string]: unknown;
- // (undocumented)
- code?: string;
- // (undocumented)
- state?: string;
-}
-
-// @public (undocumented)
-export interface ObjectOptionsCollectorWithObjectValue<
- T extends ObjectValueCollectorTypes,
- V = Record,
- D = Record,
-> {
- // (undocumented)
- category: 'ObjectValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: V;
- type: string;
- validation: ValidationRequired[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- options: DeviceOptionWithDefault[];
- value?: D | null;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export interface ObjectOptionsCollectorWithStringValue<
- T extends ObjectValueCollectorTypes,
- V = string,
-> {
- // (undocumented)
- category: 'ObjectValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: V;
- type: string;
- validation: ValidationRequired[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- options: DeviceOptionNoDefault[];
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type ObjectValueAutoCollector = AutoCollector<
- 'ObjectValueAutoCollector',
- 'ObjectValueAutoCollector',
- Record
->;
-
-// @public (undocumented)
-export type ObjectValueAutoCollectorTypes =
- | 'ObjectValueAutoCollector'
- | 'FidoRegistrationCollector'
- | 'FidoAuthenticationCollector'
- | 'MetadataCollector';
-
-// @public (undocumented)
-export type ObjectValueCollector =
- | ObjectOptionsCollectorWithObjectValue
- | ObjectOptionsCollectorWithStringValue
- | ObjectValueCollectorWithObjectValue;
-
-// @public (undocumented)
-export type ObjectValueCollectors =
- | DeviceAuthenticationCollector
- | DeviceRegistrationCollector
- | PhoneNumberCollector
- | PhoneNumberExtensionCollector
- | ObjectOptionsCollectorWithObjectValue<'ObjectSelectCollector'>
- | ObjectOptionsCollectorWithStringValue<'ObjectSelectCollector'>;
-
-// @public
-export type ObjectValueCollectorTypes =
- | 'DeviceAuthenticationCollector'
- | 'DeviceRegistrationCollector'
- | 'PhoneNumberCollector'
- | 'PhoneNumberExtensionCollector'
- | 'ObjectOptionsCollector'
- | 'ObjectValueCollector'
- | 'ObjectSelectCollector';
-
-// @public (undocumented)
-export interface ObjectValueCollectorWithObjectValue<
- T extends ObjectValueCollectorTypes,
- IV = Record,
- OV = Record,
-> {
- // (undocumented)
- category: 'ObjectValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: IV;
- type: string;
- validation: (ValidationRequired | ValidationPhoneNumber)[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- value?: OV | null;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export interface OutgoingQueryParams {
- // (undocumented)
- [key: string]: string | string[];
-}
-
-// @public (undocumented)
-export interface PasswordCollector {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string | number | boolean;
- type: string;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- verify: boolean;
- };
- // (undocumented)
- type: 'PasswordCollector';
-}
-
-// @public
-export type PasswordField = {
- type: 'PASSWORD' | 'PASSWORD_VERIFY';
- key: string;
- label: string;
- required?: boolean;
- verify?: boolean;
- passwordPolicy?: PasswordPolicy;
-};
-
-// @public
-export interface PasswordPolicy {
- // (undocumented)
- createdAt?: string;
- // (undocumented)
- default?: boolean;
- // (undocumented)
- description?: string;
- // (undocumented)
- excludesCommonlyUsed?: boolean;
- // (undocumented)
- excludesProfileData?: boolean;
- // (undocumented)
- history?: {
- count?: number;
- retentionDays?: number;
- };
- // (undocumented)
- id?: string;
- // (undocumented)
- length?: {
- min?: number;
- max?: number;
- };
- // (undocumented)
- lockout?: {
- failureCount?: number;
- durationSeconds?: number;
- };
- // (undocumented)
- maxAgeDays?: number;
- // (undocumented)
- maxRepeatedCharacters?: number;
- // (undocumented)
- minAgeDays?: number;
- // (undocumented)
- minCharacters?: Record;
- // (undocumented)
- minUniqueCharacters?: number;
- // (undocumented)
- name?: string;
- // (undocumented)
- notSimilarToCurrent?: boolean;
- // (undocumented)
- populationCount?: number;
- // (undocumented)
- updatedAt?: string;
-}
-
-// @public (undocumented)
-export type PhoneNumberCollector = ObjectValueCollectorWithObjectValue<
- 'PhoneNumberCollector',
- PhoneNumberInputValue,
- PhoneNumberOutputValue
->;
-
-// @public (undocumented)
-export interface PhoneNumberExtensionCollector {
- // (undocumented)
- category: 'ObjectValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: PhoneNumberExtensionInputValue;
- type: string;
- validation: (ValidationRequired | ValidationPhoneNumber)[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- extensionLabel: string;
- value: PhoneNumberExtensionOutputValue;
- };
- // (undocumented)
- type: 'PhoneNumberExtensionCollector';
-}
-
-// @public (undocumented)
-export type PhoneNumberExtensionField = PhoneNumberField & {
- showExtension: boolean;
- extensionLabel: string;
-};
-
-// @public (undocumented)
-export interface PhoneNumberExtensionInputValue {
- // (undocumented)
- countryCode: string;
- // (undocumented)
- extension: string;
- // (undocumented)
- phoneNumber: string;
-}
-
-// @public (undocumented)
-export interface PhoneNumberExtensionOutputValue {
- // (undocumented)
- countryCode?: string;
- // (undocumented)
- extension?: string;
- // (undocumented)
- phoneNumber?: string;
-}
-
-// @public (undocumented)
-export type PhoneNumberField = {
- type: 'PHONE_NUMBER';
- key: string;
- label: string;
- required: boolean;
- defaultCountryCode: string | null;
- validatePhoneNumber: boolean;
-};
-
-// @public (undocumented)
-export interface PhoneNumberInputValue {
- // (undocumented)
- countryCode: string;
- // (undocumented)
- phoneNumber: string;
-}
-
-// @public (undocumented)
-export interface PhoneNumberOutputValue {
- // (undocumented)
- countryCode?: string;
- // (undocumented)
- phoneNumber?: string;
-}
-
-// @public
-export type Poller = () => Promise;
-
-// @public (undocumented)
-export type PollingCollector = AutoCollector<
- 'SingleValueAutoCollector',
- 'PollingCollector',
- string,
- PollingOutputValue
->;
-
-// @public (undocumented)
-export type PollingField = {
- type: 'POLLING';
- key: string;
- pollInterval: number;
- pollRetries: number;
- pollChallengeStatus?: boolean;
- challenge?: string;
-};
-
-// @public (undocumented)
-export interface PollingOutputValue {
- // (undocumented)
- challenge?: string;
- // (undocumented)
- pollChallengeStatus?: boolean;
- // (undocumented)
- pollInterval: number;
- // (undocumented)
- pollRetries: number;
- // (undocumented)
- retriesRemaining?: number;
-}
-
-// @public (undocumented)
-export type PollingStatus = PollingStatusContinue | PollingStatusChallenge;
-
-// @public (undocumented)
-export type PollingStatusChallenge =
- | PollingStatusChallengeComplete
- | 'expired'
- | 'timedOut'
- | 'error';
-
-// @public (undocumented)
-export type PollingStatusChallengeComplete =
- | 'approved'
- | 'denied'
- | 'continue'
- | CustomPollingStatus;
-
-// @public (undocumented)
-export type PollingStatusContinue = 'continue' | 'timedOut';
-
-// @public (undocumented)
-export type ProtectCollector = AutoCollector<
- 'SingleValueAutoCollector',
- 'ProtectCollector',
- string,
- ProtectOutputValue
->;
-
-// @public (undocumented)
-export type ProtectField = {
- type: 'PROTECT';
- key: string;
- behavioralDataCollection: boolean;
- universalDeviceIdentification: boolean;
-};
-
-// @public
-export interface ProtectOutputValue {
- // (undocumented)
- behavioralDataCollection: boolean;
- // (undocumented)
- universalDeviceIdentification: boolean;
-}
-
-// @public
-export interface QrCodeCollector extends NoValueCollectorBase<'QrCodeCollector'> {
- // (undocumented)
- output: NoValueCollectorBase<'QrCodeCollector'>['output'] & {
- src: string;
- };
-}
-
-// @public (undocumented)
-export type QrCodeField = {
- type: 'QR_CODE';
- key: string;
- content: string;
- fallbackText?: string;
-};
-
-// @public
-export interface ReadOnlyCollector extends NoValueCollectorBase<'ReadOnlyCollector'> {
- // (undocumented)
- output: NoValueCollectorBase<'ReadOnlyCollector'>['output'] & {
- content: string;
- title?: string;
- };
-}
-
-// @public (undocumented)
-export type ReadOnlyField = {
- type: 'LABEL';
- content: string;
- richContent?: RichContent;
- key?: string;
-};
-
-// @public (undocumented)
-export type ReadOnlyFields = ReadOnlyField | QrCodeField | AgreementField | ImageField;
-
-// @public (undocumented)
-export type RedirectField = {
- type: 'SOCIAL_LOGIN_BUTTON';
- key: string;
- label: string;
- links: Links;
-};
-
-// @public (undocumented)
-export type RedirectFields = RedirectField;
-
-export { RequestMiddleware };
-
-// @public
-export type RichContent = {
- content: string;
- replacements?: Record;
-};
-
-// @public
-export interface RichContentLink {
- // (undocumented)
- href: string;
- // (undocumented)
- key: string;
- // (undocumented)
- target?: '_self' | '_blank';
- // (undocumented)
- type: 'link';
- // (undocumented)
- value: string;
-}
-
-// @public
-export type RichContentReplacement = {
- type: 'link';
- value: string;
- href: string;
- target?: '_self' | '_blank';
-};
-
-// @public
-export interface RichTextCollector extends NoValueCollectorBase<'RichTextCollector'> {
- // (undocumented)
- output: NoValueCollectorBase<'RichTextCollector'>['output'] & {
- content: string;
- richContent: CollectorRichContent;
- };
-}
-
-// @public (undocumented)
-export interface SelectorOption {
- // (undocumented)
- label: string;
- // (undocumented)
- value: string;
-}
-
-// @public (undocumented)
-export type SingleCheckboxField = {
- type: 'SINGLE_CHECKBOX';
- inputType: 'BOOLEAN';
- key: string;
- label: string;
- required?: boolean;
- errorMessage?: string;
- appearance: string;
- richContent?: RichContent;
-};
-
-// @public (undocumented)
-export type SingleSelectCollector = SingleSelectCollectorWithValue<'SingleSelectCollector'>;
-
-// @public (undocumented)
-export interface SingleSelectCollectorNoValue {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string | number | boolean;
- type: string;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- options: SelectorOption[];
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export interface SingleSelectCollectorWithValue {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string | number | boolean;
- type: string;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- value: string | number | boolean;
- options: SelectorOption[];
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type SingleSelectField = {
- inputType: 'SINGLE_SELECT';
- key: string;
- label: string;
- options: {
- label: string;
- value: string;
- }[];
- required?: boolean;
- type: 'RADIO' | 'DROPDOWN';
-};
-
-// @public (undocumented)
-export type SingleValueAutoCollector = AutoCollector<
- 'SingleValueAutoCollector',
- 'SingleValueAutoCollector',
- string
->;
-
-// @public (undocumented)
-export type SingleValueAutoCollectorTypes =
- | 'SingleValueAutoCollector'
- | 'ProtectCollector'
- | 'PollingCollector';
-
-// @public
-export type SingleValueCollector =
- | SingleValueCollectorWithValue
- | SingleValueCollectorNoValue;
-
-// @public (undocumented)
-export interface SingleValueCollectorNoValue {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string | number | boolean;
- type: string;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type SingleValueCollectors =
- | PasswordCollector
- | ValidatedPasswordCollector
- | SingleSelectCollector
- | TextCollector
- | ValidatedTextCollector
- | BooleanCollector
- | ValidatedBooleanCollector
- | SingleValueCollectorWithValue<'SingleValueCollector'>;
-
-// @public
-export type SingleValueCollectorTypes =
- | 'PasswordCollector'
- | 'ValidatedPasswordCollector'
- | 'BooleanCollector'
- | 'ValidatedBooleanCollector'
- | 'SingleValueCollector'
- | 'SingleSelectCollector'
- | 'SingleSelectObjectCollector'
- | 'TextCollector'
- | 'ValidatedTextCollector';
-
-// @public (undocumented)
-export interface SingleValueCollectorWithValue {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: V;
- type: string;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- value: V;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type SingleValueFields =
- | StandardField
- | PasswordField
- | ValidatedField
- | SingleCheckboxField
- | SingleSelectField
- | ProtectField;
-
-// @public (undocumented)
-export type StandardField = {
- type: 'TEXT' | 'SUBMIT_BUTTON' | 'FLOW_BUTTON' | 'FLOW_LINK' | 'BUTTON';
- key: string;
- label: string;
- required?: boolean;
-};
-
-// @public (undocumented)
-export interface StartNode {
- // (undocumented)
- cache: null;
- // (undocumented)
- client: {
- status: 'start';
- };
- // (undocumented)
- error: DaVinciError | null;
- // (undocumented)
- server: {
- status: 'start';
- };
- // (undocumented)
- status: 'start';
-}
-
-// @public (undocumented)
-export interface StartOptions {
- // (undocumented)
- query: Query;
-}
-
-// @public (undocumented)
-export type SubmitCollector = ActionCollectorNoUrl<'SubmitCollector'>;
-
-// @public (undocumented)
-export interface SuccessNode {
- // (undocumented)
- cache: {
- key: string;
- };
- // (undocumented)
- client: {
- authorization?: {
- code?: string;
- state?: string;
- };
- status: 'success';
- } | null;
- // (undocumented)
- error: null;
- // (undocumented)
- httpStatus: number;
- // (undocumented)
- server: {
- _links?: Links;
- eventName?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- href?: string;
- session?: string;
- status: 'success';
- };
- // (undocumented)
- status: 'success';
-}
-
-// @public (undocumented)
-export type TextCollector = SingleValueCollectorWithValue<'TextCollector'>;
-
-// @public (undocumented)
-export interface ThrownQueryError {
- // (undocumented)
- error: FetchBaseQueryError;
- // (undocumented)
- isHandledError: boolean;
- // (undocumented)
- meta: FetchBaseQueryMeta;
-}
-
-// @public
-export type UnknownCollector = {
- category: 'UnknownCollector';
- error: string | null;
- type: 'UnknownCollector';
- id: string;
- name: string;
- output: {
- key: string;
- label: string;
- type: string;
- };
-};
-
-// @public (undocumented)
-export type UnknownField = Record;
-
-// @public
-export type UpdatableCollectors =
- | SingleValueCollectors
- | MultiSelectCollector
- | ObjectValueCollectors
- | AutoCollectors;
-
-// @public (undocumented)
-export const updateCollectorValues: ActionCreatorWithPayload<
- {
- id: string;
- value: CollectorValueTypes;
- index?: number;
- },
- string
->;
-
-// @public
-export type Updater = (
- value: CollectorValueType,
- index?: number,
-) => InternalErrorResponse | null;
-
-// @public (undocumented)
-export interface ValidatedBooleanCollector extends ValidatedSingleValueCollectorWithValue<
- 'ValidatedBooleanCollector',
- boolean
-> {
- // (undocumented)
- output: ValidatedSingleValueCollectorWithValue<'ValidatedBooleanCollector', boolean>['output'] & {
- appearance: string;
- richContent?: CollectorRichContent;
- };
-}
-
-// @public
-export type ValidatedCollectors =
- | ValidatedTextCollector
- | ValidatedBooleanCollector
- | ValidatedPasswordCollector
- | ObjectValueCollectors
- | MultiValueCollectors
- | AutoCollectors;
-
-// @public (undocumented)
-export type ValidatedField = {
- type: 'TEXT';
- key: string;
- label: string;
- required: boolean;
- validation: {
- regex: string;
- errorMessage: string;
- };
-};
-
-// @public (undocumented)
-export interface ValidatedPasswordCollector {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string | number | boolean;
- type: string;
- validation: PasswordPolicy;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- verify: boolean;
- };
- // (undocumented)
- type: 'ValidatedPasswordCollector';
-}
-
-// @public (undocumented)
-export interface ValidatedSingleValueCollectorWithValue<
- T extends SingleValueCollectorTypes,
- V = string,
-> {
- // (undocumented)
- category: 'ValidatedSingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- type: string;
- validation: (ValidationRequired | ValidationRegex)[];
- value: V;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- value: V;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type ValidatedTextCollector = ValidatedSingleValueCollectorWithValue<'TextCollector'>;
-
-// @public (undocumented)
-export interface ValidationPhoneNumber {
- // (undocumented)
- message: string;
- // (undocumented)
- rule: boolean;
- // (undocumented)
- type: 'validatePhoneNumber';
-}
-
-// @public (undocumented)
-export interface ValidationRegex {
- // (undocumented)
- message: string;
- // (undocumented)
- rule: string;
- // (undocumented)
- type: 'regex';
-}
-
-// @public (undocumented)
-export interface ValidationRequired {
- // (undocumented)
- message: string;
- // (undocumented)
- rule: boolean;
- // (undocumented)
- type: 'required';
-}
-
-// @public
-export type Validator = (
- value: CollectorValueType,
-) =>
- | string[]
- | {
- error: {
- message: string;
- type: string;
- };
- type: string;
- };
-
-// (No @packageDocumentation comment for this package)
-```
+## API Report File for "@forgerock/davinci-client"
+
+> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
+
+```ts
+
+import { ActionCreatorWithPayload } from '@reduxjs/toolkit';
+import { ActionTypes } from '@forgerock/sdk-request-middleware';
+import { CustomLogger } from '@forgerock/sdk-logger';
+import type { DaVinciConfig } from '@forgerock/sdk-types';
+import { FetchBaseQueryError } from '@reduxjs/toolkit/query';
+import type { FetchBaseQueryMeta } from '@reduxjs/toolkit/query';
+import type { GenericError } from '@forgerock/sdk-types';
+import { LogLevel } from '@forgerock/sdk-logger';
+import type { MutationResultSelectorResult } from '@reduxjs/toolkit/query';
+import { QueryStatus } from '@reduxjs/toolkit/query';
+import { Reducer } from '@reduxjs/toolkit';
+import { RequestMiddleware } from '@forgerock/sdk-request-middleware';
+import type { SdkStore } from '@forgerock/sdk-store';
+import { SerializedError } from '@reduxjs/toolkit';
+import { Unsubscribe } from '@reduxjs/toolkit';
+
+// @public (undocumented)
+export type ActionCollector = ActionCollectorNoUrl | ActionCollectorWithUrl;
+
+// @public (undocumented)
+export interface ActionCollectorNoUrl {
+ // (undocumented)
+ category: 'ActionCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type ActionCollectors = ActionCollectorWithUrl<'IdpCollector'> | ActionCollectorNoUrl<'ActionCollector'> | ActionCollectorNoUrl<'FlowCollector'> | ActionCollectorNoUrl<'SubmitCollector'>;
+
+// @public
+export type ActionCollectorTypes = 'FlowCollector' | 'SubmitCollector' | 'IdpCollector' | 'ActionCollector';
+
+// @public (undocumented)
+export interface ActionCollectorWithUrl {
+ // (undocumented)
+ category: 'ActionCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ url?: string | null;
+ };
+ // (undocumented)
+ type: T;
+}
+
+export { ActionTypes }
+
+// @public (undocumented)
+export type AgreementField = {
+ type: 'AGREEMENT';
+ key: string;
+ content: string;
+ titleEnabled: boolean;
+ title?: string;
+ agreement: {
+ id: string;
+ useDynamicAgreement: boolean;
+ };
+ enabled: boolean;
+};
+
+// @public (undocumented)
+export interface AssertionValue extends Omit {
+ // (undocumented)
+ rawId: string;
+ // (undocumented)
+ response: {
+ clientDataJSON: string;
+ authenticatorData: string;
+ signature: string;
+ userHandle: string | null;
+ };
+}
+
+// @public (undocumented)
+export interface AttestationValue extends Omit {
+ // (undocumented)
+ rawId: string;
+ // (undocumented)
+ response: {
+ clientDataJSON: string;
+ attestationObject: string;
+ };
+}
+
+// @public (undocumented)
+export interface AutoCollector> {
+ // (undocumented)
+ category: C;
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: IV;
+ type: string;
+ validation?: ValidationRequired[] | null;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ type: string;
+ config: OV;
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type AutoCollectorCategories = 'SingleValueAutoCollector' | 'ObjectValueAutoCollector';
+
+// @public (undocumented)
+export type AutoCollectors = ProtectCollector | FidoRegistrationCollector | FidoAuthenticationCollector | MetadataCollector | PollingCollector | SingleValueAutoCollector | ObjectValueAutoCollector;
+
+// @public (undocumented)
+export type AutoCollectorTypes = SingleValueAutoCollectorTypes | ObjectValueAutoCollectorTypes;
+
+// @public (undocumented)
+export interface BooleanCollector extends SingleValueCollectorWithValue<'BooleanCollector', boolean> {
+ // (undocumented)
+ output: SingleValueCollectorWithValue<'BooleanCollector', boolean>['output'] & {
+ appearance: string;
+ richContent?: CollectorRichContent;
+ };
+}
+
+// @public (undocumented)
+export type CollectorCategory = Collectors['category'];
+
+// @public (undocumented)
+export interface CollectorErrors {
+ // (undocumented)
+ code: string;
+ // (undocumented)
+ message: string;
+ // (undocumented)
+ target: string;
+}
+
+// @public
+export interface CollectorRichContent {
+ // (undocumented)
+ content: string;
+ // (undocumented)
+ replacements: RichContentLink[];
+}
+
+// @public (undocumented)
+export type Collectors = FlowCollector | MetadataCollector | PasswordCollector | ValidatedPasswordCollector | TextCollector | BooleanCollector | ValidatedBooleanCollector | SingleSelectCollector | IdpCollector | SubmitCollector | ActionCollector<'ActionCollector'> | SingleValueCollector<'SingleValueCollector'> | MultiSelectCollector | DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | PhoneNumberExtensionCollector | ReadOnlyCollector | RichTextCollector | ValidatedTextCollector | ProtectCollector | PollingCollector | FidoRegistrationCollector | FidoAuthenticationCollector | QrCodeCollector | ImageCollector | UnknownCollector;
+
+// @public
+export type CollectorValueType = T extends {
+ type: 'PasswordCollector';
+} | {
+ type: 'ValidatedPasswordCollector';
+} | {
+ type: 'SingleSelectCollector';
+} | {
+ type: 'DeviceRegistrationCollector';
+} | {
+ type: 'DeviceAuthenticationCollector';
+} | {
+ type: 'ProtectCollector';
+} | {
+ type: 'PollingCollector';
+} ? string : T extends {
+ type: 'TextCollector';
+ category: 'SingleValueCollector';
+} ? string : T extends {
+ type: 'TextCollector';
+ category: 'ValidatedSingleValueCollector';
+} ? string : T extends {
+ type: 'BooleanCollector';
+} | {
+ type: 'ValidatedBooleanCollector';
+} ? boolean : T extends {
+ type: 'MultiSelectCollector';
+} ? string | string[] : T extends {
+ type: 'PhoneNumberCollector';
+} ? PhoneNumberInputValue : T extends {
+ type: 'PhoneNumberExtensionCollector';
+} ? PhoneNumberExtensionInputValue : T extends {
+ type: 'FidoRegistrationCollector';
+} ? FidoRegistrationInputValue | GenericError : T extends {
+ type: 'FidoAuthenticationCollector';
+} ? FidoAuthenticationInputValue | GenericError : T extends {
+ type: 'MetadataCollector';
+} ? Record | MetadataError : T extends {
+ category: 'SingleValueCollector';
+} ? string : T extends {
+ category: 'ValidatedSingleValueCollector';
+} ? string : T extends {
+ category: 'SingleValueAutoCollector';
+} ? string : T extends {
+ category: 'MultiValueCollector';
+} ? string | string[] : T extends {
+ category: 'ActionCollector';
+} ? never : T extends {
+ category: 'NoValueCollector';
+} ? never : CollectorValueTypes;
+
+// @public
+export type CollectorValueTypes = string | string[] | boolean | PhoneNumberInputValue | PhoneNumberExtensionInputValue | FidoRegistrationInputValue | FidoAuthenticationInputValue | MetadataError | GenericError;
+
+// @public (undocumented)
+export type ComplexValueFields = DeviceAuthenticationField | DeviceRegistrationField | PhoneNumberField | PhoneNumberExtensionField | FidoRegistrationField | FidoAuthenticationField | PollingField | MetadataField;
+
+// @public (undocumented)
+export interface ContinueNode {
+ // (undocumented)
+ cache: {
+ key: string;
+ };
+ // (undocumented)
+ client: {
+ action: string;
+ collectors: Collectors[];
+ description?: string;
+ name?: string;
+ status: 'continue';
+ };
+ // (undocumented)
+ error: null;
+ // (undocumented)
+ httpStatus: number;
+ // (undocumented)
+ server: {
+ _links?: Links;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ href?: string;
+ eventName?: string;
+ status: 'continue';
+ };
+ // (undocumented)
+ status: 'continue';
+}
+
+export { CustomLogger }
+
+// @public
+export type CustomPollingStatus = string & {};
+
+// @public
+export function davinci(input: {
+ config: DaVinciConfig;
+ requestMiddleware?: RequestMiddleware[];
+ logger?: {
+ level: LogLevel;
+ custom?: CustomLogger;
+ };
+ store?: unknown;
+}): Promise<{
+ error: string;
+ type: "argument_error";
+} | {
+ store: SdkStore;
+ subscribe: (listener: () => void) => Unsubscribe;
+ externalIdp: () => (() => Promise);
+ flow: (action: DaVinciAction) => InitFlow;
+ next: (args?: DaVinciRequest) => Promise;
+ resume: (input: {
+ continueToken: string;
+ }) => Promise;
+ start: (options?: StartOptions | undefined) => Promise;
+ update: (collector: T) => Updater;
+ validate: (collector: SingleValueCollectors | ObjectValueCollectors | MultiValueCollectors | AutoCollectors) => Validator;
+ pollStatus: (collector: PollingCollector) => Poller;
+ getClient: () => {
+ status: "start";
+ } | {
+ action: string;
+ collectors: Collectors[];
+ description?: string;
+ name?: string;
+ status: "error";
+ } | {
+ status: "failure";
+ } | {
+ action: string;
+ collectors: Collectors[];
+ description?: string;
+ name?: string;
+ status: "continue";
+ } | {
+ authorization?: {
+ code?: string;
+ state?: string;
+ };
+ status: "success";
+ } | null;
+ getCollectors: () => Collectors[];
+ getError: () => DaVinciError | null;
+ getErrorCollectors: () => CollectorErrors[];
+ getNode: () => StartNode | ErrorNode | FailureNode | ContinueNode | SuccessNode;
+ getServer: () => {
+ status: "start";
+ } | {
+ _links?: Links;
+ eventName?: string;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ status: "error";
+ } | {
+ _links?: Links;
+ eventName?: string;
+ href?: string;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ status: "failure";
+ } | {
+ _links?: Links;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ href?: string;
+ eventName?: string;
+ status: "continue";
+ } | {
+ _links?: Links;
+ eventName?: string;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ href?: string;
+ session?: string;
+ status: "success";
+ } | null;
+ cache: {
+ getLatestResponse: () => ({
+ status: QueryStatus.fulfilled;
+ } & Omit<{
+ requestId: string;
+ data?: unknown;
+ error?: FetchBaseQueryError | SerializedError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ }, "data" | "fulfilledTimeStamp"> & Required> & {
+ error: undefined;
+ } & {
+ status: QueryStatus.fulfilled;
+ isUninitialized: false;
+ isLoading: false;
+ isSuccess: true;
+ isError: false;
+ }) | ({
+ status: QueryStatus.rejected;
+ } & Omit<{
+ requestId: string;
+ data?: unknown;
+ error?: FetchBaseQueryError | SerializedError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ }, "error"> & Required> & {
+ status: QueryStatus.rejected;
+ isUninitialized: false;
+ isLoading: false;
+ isSuccess: false;
+ isError: true;
+ }) | {
+ error: {
+ message: string;
+ type: string;
+ };
+ };
+ getResponseWithId: (requestId: string) => ({
+ status: QueryStatus.fulfilled;
+ } & Omit<{
+ requestId: string;
+ data?: unknown;
+ error?: FetchBaseQueryError | SerializedError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ }, "data" | "fulfilledTimeStamp"> & Required> & {
+ error: undefined;
+ } & {
+ status: QueryStatus.fulfilled;
+ isUninitialized: false;
+ isLoading: false;
+ isSuccess: true;
+ isError: false;
+ }) | ({
+ status: QueryStatus.rejected;
+ } & Omit<{
+ requestId: string;
+ data?: unknown;
+ error?: FetchBaseQueryError | SerializedError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ }, "error"> & Required> & {
+ status: QueryStatus.rejected;
+ isUninitialized: false;
+ isLoading: false;
+ isSuccess: false;
+ isError: true;
+ }) | {
+ error: {
+ message: string;
+ type: string;
+ };
+ };
+ };
+}>;
+
+// @public
+export interface DaVinciAction {
+ // (undocumented)
+ action: string;
+}
+
+// @public
+export interface DaVinciBaseResponse {
+ // (undocumented)
+ capabilityName?: string;
+ // (undocumented)
+ companyId?: string;
+ // (undocumented)
+ connectionId?: string;
+ // (undocumented)
+ connectorId?: string;
+ // (undocumented)
+ id?: string;
+ // (undocumented)
+ interactionId?: string;
+ // (undocumented)
+ interactionToken?: string;
+ // (undocumented)
+ isResponseCompatibleWithMobileAndWebSdks?: boolean;
+ // (undocumented)
+ status?: string;
+}
+
+// @public
+export type DaVinciCacheEntry = {
+ data?: DaVinciBaseResponse;
+ error?: {
+ data: DaVinciBaseResponse;
+ status: number;
+ };
+} & {
+ data?: any;
+ error?: any;
+} & MutationResultSelectorResult;
+
+// @public (undocumented)
+export type DavinciClient = Awaited