diff --git a/.changeset/some-shirts-joke.md b/.changeset/some-shirts-joke.md
new file mode 100644
index 0000000000..f9c2399f3f
--- /dev/null
+++ b/.changeset/some-shirts-joke.md
@@ -0,0 +1,9 @@
+---
+'@forgerock/sdk-request-middleware': minor
+'@forgerock/sdk-oidc': minor
+'@forgerock/davinci-client': minor
+'@forgerock/oidc-client': minor
+'am-mock-api': patch
+---
+
+Add support for PAR in oidc-client requests for redirect flows
diff --git a/e2e/am-mock-api/src/app/constants.js b/e2e/am-mock-api/src/app/constants.js
index 6e7b8240a8..cdd6edc5a5 100644
--- a/e2e/am-mock-api/src/app/constants.js
+++ b/e2e/am-mock-api/src/app/constants.js
@@ -9,6 +9,7 @@
*/
export const authPaths = {
+ par: ['/am/oauth2/realms/root/par'],
tokenExchange: [
'/am/auth/tokenExchange',
'/am/oauth2/realms/root/access_token',
diff --git a/e2e/am-mock-api/src/app/responses.js b/e2e/am-mock-api/src/app/responses.js
index d7c9e7af41..6127ea6e3d 100644
--- a/e2e/am-mock-api/src/app/responses.js
+++ b/e2e/am-mock-api/src/app/responses.js
@@ -1348,6 +1348,11 @@ export const recaptchaEnterpriseCallback = {
],
};
+export const parResponse = {
+ request_uri: 'urn:ietf:params:oauth:request_uri:mock-par-request-uri',
+ expires_in: 60,
+};
+
export const qrCodeCallbacksResponse = {
authId: 'qrcode-journey-confirmation',
callbacks: [
diff --git a/e2e/am-mock-api/src/app/routes.auth.js b/e2e/am-mock-api/src/app/routes.auth.js
index bcf0e7c2e9..52a2fd143d 100644
--- a/e2e/am-mock-api/src/app/routes.auth.js
+++ b/e2e/am-mock-api/src/app/routes.auth.js
@@ -49,6 +49,7 @@ import {
MetadataMarketPlacePingOneEvaluation,
newPiWellKnown,
qrCodeCallbacksResponse,
+ parResponse,
} from './responses.js';
import initialRegResponse from './response.registration.js';
import {
@@ -664,6 +665,16 @@ export default function (app) {
app.get('/callback', (req, res) => res.status(200).send('ok'));
+ app.post(authPaths.par, (req, res) => {
+ if (req.query.scenario === 'error') {
+ return res.status(400).json({
+ error: 'invalid_request',
+ error_description: 'Missing required PAR parameter',
+ });
+ }
+ res.status(201).json(parResponse);
+ });
+
app.get('/am/.well-known/oidc-configuration', (req, res) => {
res.send(wellKnownForgeRock);
});
diff --git a/e2e/oidc-app/src/index.html b/e2e/oidc-app/src/index.html
index 862f53f9d6..dcc720ee3b 100644
--- a/e2e/oidc-app/src/index.html
+++ b/e2e/oidc-app/src/index.html
@@ -12,6 +12,7 @@
OIDC Client E2E Test Index | Ping Identity JavaScript SDK
diff --git a/e2e/oidc-app/src/par/index.html b/e2e/oidc-app/src/par/index.html
new file mode 100644
index 0000000000..86f24176a5
--- /dev/null
+++ b/e2e/oidc-app/src/par/index.html
@@ -0,0 +1,61 @@
+
+
+
+ E2E Test | Ping Identity JavaScript SDK
+
+
+
+
+
+
Home
+
OIDC App | PAR Login (Pushed Authorization Request)
+
+ Client: ParClient — PAR enabled. Authorize params are sent via
+ back-channel POST to /par first, then a slim URL (client_id + request_uri
+ only) is used for the authorize redirect.
+
+
+
Step 1: Establish AM Session (Journey: Login)
+
+ Background PAR auth requires an existing AM session. Log in via the Login journey first.
+
+
+
+
+
Step 2: PAR OAuth
+
Login (Background — PAR + iframe)
+
Login (Redirect — PAR slim URL)
+
Get Tokens (Local)
+
Get Tokens (Background)
+
Renew Tokens
+
Logout
+
User Info
+
Revoke Token
+
Start Over
+
+
+
+
diff --git a/e2e/oidc-app/src/par/main.ts b/e2e/oidc-app/src/par/main.ts
new file mode 100644
index 0000000000..a94da7fadd
--- /dev/null
+++ b/e2e/oidc-app/src/par/main.ts
@@ -0,0 +1,82 @@
+/*
+ *
+ * Copyright © 2025 Ping Identity Corporation. All right reserved.
+ *
+ * This software may be modified and distributed under the terms
+ * of the MIT license. See the LICENSE file for details.
+ *
+ */
+import { oidcApp } from '../utils/oidc-app.js';
+
+const AM_BASE = 'https://openam-sdks.forgeblocks.com/am';
+const REALM = 'alpha';
+
+const urlParams = new URLSearchParams(window.location.search);
+const wellknown = urlParams.get('wellknown');
+
+const config = {
+ clientId: 'ParClient',
+ redirectUri: 'http://localhost:8443/par/',
+ scope: 'openid profile email',
+ par: true,
+ serverConfig: {
+ wellknown:
+ wellknown ||
+ 'https://openam-sdks.forgeblocks.com/am/oauth2/alpha/.well-known/openid-configuration',
+ },
+};
+
+// Run journey Login to establish an AM session before background PAR auth
+async function runLoginJourney(username: string, password: string): Promise {
+ const authenticateUrl = `${AM_BASE}/json/realms/root/realms/${REALM}/authenticate?authIndexType=service&authIndexValue=Login`;
+
+ // Step 1: start the journey
+ const initRes = await fetch(authenticateUrl, {
+ method: 'POST',
+ credentials: 'include',
+ headers: { 'Content-Type': 'application/json', 'Accept-API-Version': 'resource=2.1' },
+ body: '{}',
+ });
+ const initJson = await initRes.json();
+
+ if (initJson.successUrl) return; // already authenticated
+
+ // Fill NameCallback + PasswordCallback
+ for (const cb of initJson.callbacks ?? []) {
+ if (cb.type === 'NameCallback') cb.input[0].value = username;
+ if (cb.type === 'PasswordCallback') cb.input[0].value = password;
+ }
+
+ // Step 2: submit credentials
+ const submitRes = await fetch(authenticateUrl, {
+ method: 'POST',
+ credentials: 'include',
+ headers: { 'Content-Type': 'application/json', 'Accept-API-Version': 'resource=2.1' },
+ body: JSON.stringify(initJson),
+ });
+ const submitJson = await submitRes.json();
+
+ if (!submitJson.tokenId && !submitJson.successUrl) {
+ throw new Error(submitJson.message || 'Login failed');
+ }
+}
+
+const journeyForm = document.getElementById('journey-form') as HTMLFormElement;
+const journeyStatus = document.getElementById('journey-status') as HTMLParagraphElement;
+const backgroundBtn = document.getElementById('login-background') as HTMLButtonElement;
+
+journeyForm.addEventListener('submit', async (e) => {
+ e.preventDefault();
+ const username = (document.getElementById('username') as HTMLInputElement).value;
+ const password = (document.getElementById('password') as HTMLInputElement).value;
+ journeyStatus.textContent = 'Logging in…';
+ try {
+ await runLoginJourney(username, password);
+ journeyStatus.textContent = '✓ Session established — background login now available.';
+ backgroundBtn.disabled = false;
+ } catch (err) {
+ journeyStatus.textContent = `✗ ${err instanceof Error ? err.message : 'Login failed'}`;
+ }
+});
+
+oidcApp({ config, urlParams });
diff --git a/e2e/oidc-app/src/utils/oidc-app.ts b/e2e/oidc-app/src/utils/oidc-app.ts
index 69289580a0..f8565a10c7 100644
--- a/e2e/oidc-app/src/utils/oidc-app.ts
+++ b/e2e/oidc-app/src/utils/oidc-app.ts
@@ -49,8 +49,11 @@ export async function oidcApp({ config, urlParams }) {
const code = urlParams.get('code');
const state = urlParams.get('state');
const piflow = urlParams.get('piflow');
+ const par = urlParams.get('par') === 'true';
- const oidcClient: OidcClient = await oidc({ config });
+ const oidcClient: OidcClient = await oidc({
+ config: { ...config, ...(par && { par: true }) },
+ });
if ('error' in oidcClient) {
displayError(oidcClient);
}
diff --git a/e2e/oidc-app/vite.config.ts b/e2e/oidc-app/vite.config.ts
index d2a956b1a9..c40a554f9f 100644
--- a/e2e/oidc-app/vite.config.ts
+++ b/e2e/oidc-app/vite.config.ts
@@ -4,7 +4,7 @@ import { dirname, resolve } from 'path';
import { fileURLToPath } from 'url';
const __dirname = dirname(fileURLToPath(import.meta.url));
-const pages = ['ping-am', 'ping-one'];
+const pages = ['ping-am', 'ping-one', 'par'];
export default defineConfig(() => ({
root: __dirname + '/src',
cacheDir: '../../node_modules/.vite/e2e/oidc-app',
diff --git a/e2e/oidc-suites/src/login.spec.ts b/e2e/oidc-suites/src/login.spec.ts
index 1d1523bc13..5934f94cb5 100644
--- a/e2e/oidc-suites/src/login.spec.ts
+++ b/e2e/oidc-suites/src/login.spec.ts
@@ -152,7 +152,7 @@ test('oidc client fails to initialize with bad wellknown', async ({ page }) => {
await page.getByRole('button', { name: 'Login (Background)' }).click();
await expect(page.locator('.error')).toContainText(
- 'Authorization endpoint not found in wellknown configuration',
+ 'Failed to fetch well-known configuration from:',
);
await expect(page.locator('.error')).toContainText('wellknown_error');
});
diff --git a/e2e/oidc-suites/src/par.spec.ts b/e2e/oidc-suites/src/par.spec.ts
new file mode 100644
index 0000000000..a1089dc223
--- /dev/null
+++ b/e2e/oidc-suites/src/par.spec.ts
@@ -0,0 +1,134 @@
+/*
+ *
+ * Copyright © 2025 Ping Identity Corporation. All right reserved.
+ *
+ * This software may be modified and distributed under the terms
+ * of the MIT license. See the LICENSE file for details.
+ *
+ */
+import { test, expect } from '@playwright/test';
+import { pingAmUsername, pingAmPassword } from './utils/demo-users.js';
+import { asyncEvents } from './utils/async-events.js';
+
+async function loginJourney(page, username: string, password: string) {
+ await page.getByLabel('User Name').fill(username);
+ await page.getByLabel('Password').fill(password);
+ await page.getByRole('button', { name: 'Login (Journey)' }).click();
+ await expect(page.locator('#journey-status')).toContainText('Session established');
+}
+
+// Synthetic PAR error endpoint — intercepted by Playwright before any real network call
+const SYNTHETIC_PAR_ERROR_URL = 'http://localhost:8443/synthetic-par-error-endpoint';
+// The real wellknown used by the PAR app (intercepted to inject the synthetic PAR endpoint)
+const DEFAULT_WELLKNOWN_PATTERN =
+ '**/openam-sdks.forgeblocks.com/am/oauth2/alpha/.well-known/openid-configuration*';
+
+test.describe('PAR (Pushed Authorization Request) login tests', () => {
+ test('PAR authorize returns 400 error — SDK surfaces error to the UI without redirecting', async ({
+ page,
+ }) => {
+ const { navigate } = asyncEvents(page);
+
+ // Intercept the wellknown to inject our synthetic PAR endpoint URL
+ await page.route(DEFAULT_WELLKNOWN_PATTERN, async (route) => {
+ const response = await route.fetch();
+ const json = await response.json();
+ await route.fulfill({
+ status: 200,
+ contentType: 'application/json',
+ body: JSON.stringify({
+ ...json,
+ pushed_authorization_request_endpoint: SYNTHETIC_PAR_ERROR_URL,
+ }),
+ });
+ });
+
+ // Intercept the synthetic PAR endpoint and return a 400 error
+ await page.route(SYNTHETIC_PAR_ERROR_URL, (route) => {
+ route.fulfill({
+ status: 400,
+ contentType: 'application/json',
+ body: JSON.stringify({
+ error: 'invalid_request',
+ error_description: 'Missing required PAR parameter',
+ }),
+ });
+ });
+
+ await navigate('/par/');
+
+ // Clicking redirect login triggers PAR → receives 400 → SDK should surface an error
+ await page.getByRole('button', { name: 'Login (Redirect' }).click();
+
+ // The SDK should surface an error in the UI instead of redirecting away
+ await expect(page.locator('.error')).toBeVisible({ timeout: 10000 });
+ await expect(page.locator('.error')).toContainText('PAR_ERROR');
+ });
+
+ test('background login with PAR enabled (ParClient) obtains access token', async ({ page }) => {
+ const { navigate } = asyncEvents(page);
+
+ const parRequests: string[] = [];
+ page.on('request', (request) => {
+ if (request.method() === 'POST' && request.url().includes('/par')) {
+ parRequests.push(request.url());
+ }
+ });
+
+ await navigate('/par/');
+
+ // Establish AM session via the Login journey before attempting background PAR auth
+ await loginJourney(page, pingAmUsername, pingAmPassword);
+
+ // Background button is now enabled — click and wait for the iframe to return a code
+ await page.getByRole('button', { name: /Login \(Background/ }).click();
+ await expect(page.locator('#accessToken-0')).not.toBeEmpty();
+
+ // PAR POST was made for the background request
+ expect(parRequests.length).toBeGreaterThan(0);
+ });
+
+ test('redirect login with PAR enabled (ParClient) obtains access token and uses slim authorize URL', async ({
+ page,
+ }) => {
+ const { clickWithRedirect, navigate } = asyncEvents(page);
+
+ const parRequests: string[] = [];
+ const parAuthorizeUrls: string[] = [];
+
+ page.on('request', (request) => {
+ if (request.method() === 'POST' && request.url().includes('/par')) {
+ parRequests.push(request.url());
+ }
+ // Capture the slim PAR authorize redirect — has request_uri, not scope
+ if (request.url().includes('/authorize') && request.url().includes('request_uri=')) {
+ parAuthorizeUrls.push(request.url());
+ }
+ });
+
+ await navigate('/par/');
+
+ await clickWithRedirect('Login (Redirect', '**/am/XUI/**');
+
+ await page.getByLabel('User Name').fill(pingAmUsername);
+ await page.getByRole('textbox', { name: 'Password' }).fill(pingAmPassword);
+ await clickWithRedirect('Next', 'http://localhost:8443/par/**');
+
+ expect(page.url()).toContain('code');
+ expect(page.url()).toContain('state');
+
+ await expect(page.locator('#accessToken-0')).not.toBeEmpty();
+
+ // PAR POST was made
+ expect(parRequests.length).toBeGreaterThan(0);
+
+ // Slim authorize URL contains only client_id + request_uri (not scope/code_challenge)
+ expect(parAuthorizeUrls.length).toBeGreaterThan(0);
+ const authorizeUrl = new URL(parAuthorizeUrls[0]);
+ expect(authorizeUrl.searchParams.has('client_id')).toBe(true);
+ expect(authorizeUrl.searchParams.has('request_uri')).toBe(true);
+ expect(authorizeUrl.searchParams.has('scope')).toBe(false);
+ expect(authorizeUrl.searchParams.has('code_challenge')).toBe(false);
+ expect(authorizeUrl.searchParams.has('redirect_uri')).toBe(false);
+ });
+});
diff --git a/packages/davinci-client/api-report/davinci-client.api.md b/packages/davinci-client/api-report/davinci-client.api.md
index e937b32655..1f0898b63a 100644
--- a/packages/davinci-client/api-report/davinci-client.api.md
+++ b/packages/davinci-client/api-report/davinci-client.api.md
@@ -1,2578 +1,2021 @@
-## 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 type { AsyncLegacyConfigOptions } from '@forgerock/sdk-types';
-import { BaseQueryFn } from '@reduxjs/toolkit/query';
-import { CustomLogger } from '@forgerock/sdk-logger';
-import { FetchArgs } from '@reduxjs/toolkit/query';
-import { FetchBaseQueryError } from '@reduxjs/toolkit/query';
-import { FetchBaseQueryMeta } from '@reduxjs/toolkit/query';
-import { GenericError } from '@forgerock/sdk-types';
-import { LogLevel } from '@forgerock/sdk-logger';
-import { MutationDefinition } from '@reduxjs/toolkit/query';
-import type { MutationResultSelectorResult } from '@reduxjs/toolkit/query';
-import { QueryDefinition } from '@reduxjs/toolkit/query';
-import { QueryStatus } from '@reduxjs/toolkit/query';
-import { Reducer } from '@reduxjs/toolkit';
-import { RequestMiddleware } from '@forgerock/sdk-request-middleware';
-import { RootState } from '@reduxjs/toolkit/query';
-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 interface AgreementCollector extends NoValueCollectorBase<'AgreementCollector'> {
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- titleEnabled: boolean;
- title: string;
- agreement: {
- id: string;
- useDynamicAgreement: boolean;
- };
- enabled: boolean;
- };
-}
-
-// @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
- | PollingCollector
- | SingleValueAutoCollector
- | ObjectValueAutoCollector;
-
-// @public (undocumented)
-export type AutoCollectorTypes = SingleValueAutoCollectorTypes | ObjectValueAutoCollectorTypes;
-
-// @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
- | PasswordCollector
- | ValidatedPasswordCollector
- | TextCollector
- | SingleSelectCollector
- | IdpCollector
- | SubmitCollector
- | ActionCollector<'ActionCollector'>
- | SingleValueCollector<'SingleValueCollector'>
- | MultiSelectCollector
- | DeviceAuthenticationCollector
- | DeviceRegistrationCollector
- | PhoneNumberCollector
- | PhoneNumberExtensionCollector
- | ReadOnlyCollector
- | RichTextCollector
- | ValidatedTextCollector
- | ProtectCollector
- | PollingCollector
- | FidoRegistrationCollector
- | FidoAuthenticationCollector
- | QrCodeCollector
- | AgreementCollector
- | UnknownCollector;
-
-// @public
-export type CollectorValueType = T extends {
- type: 'PasswordCollector';
-}
- ? string
- : T extends {
- type: 'ValidatedPasswordCollector';
- }
- ? string
- : T extends {
- type: 'TextCollector';
- category: 'SingleValueCollector';
- }
- ? string
- : T extends {
- type: 'TextCollector';
- category: 'ValidatedSingleValueCollector';
- }
- ? string
- : T extends {
- type: 'SingleSelectCollector';
- }
- ? string
- : T extends {
- type: 'MultiSelectCollector';
- }
- ? string[]
- : T extends {
- type: 'DeviceRegistrationCollector';
- }
- ? string
- : T extends {
- type: 'DeviceAuthenticationCollector';
- }
- ? string
- : T extends {
- type: 'PhoneNumberCollector';
- }
- ? PhoneNumberInputValue
- : T extends {
- type: 'FidoRegistrationCollector';
- }
- ? FidoRegistrationInputValue
- : T extends {
- type: 'FidoAuthenticationCollector';
- }
- ? FidoAuthenticationInputValue
- : T extends {
- category: 'SingleValueCollector';
- }
- ? string
- : T extends {
- category: 'ValidatedSingleValueCollector';
- }
- ? string
- : T extends {
- category: 'MultiValueCollector';
- }
- ? string[]
- :
- | string
- | string[]
- | PhoneNumberInputValue
- | FidoRegistrationInputValue
- | FidoAuthenticationInputValue;
-
-// @public (undocumented)
-export type ComplexValueFields =
- | DeviceAuthenticationField
- | DeviceRegistrationField
- | PhoneNumberField
- | PhoneNumberExtensionField
- | FidoRegistrationField
- | FidoAuthenticationField
- | PollingField;
-
-// @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: <
- T extends SingleValueCollectors | MultiSelectCollector | ObjectValueCollectors | AutoCollectors,
- >(
- 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: () =>
- | ((
- state: RootState<
- {
- flow: MutationDefinition<
- any,
- BaseQueryFn<
- string | FetchArgs,
- unknown,
- FetchBaseQueryError,
- {},
- FetchBaseQueryMeta
- >,
- never,
- unknown,
- 'davinci',
- any
- >;
- next: MutationDefinition<
- any,
- BaseQueryFn<
- string | FetchArgs,
- unknown,
- FetchBaseQueryError,
- {},
- FetchBaseQueryMeta
- >,
- never,
- unknown,
- 'davinci',
- any
- >;
- start: MutationDefinition<
- StartOptions | undefined,
- BaseQueryFn<
- string | FetchArgs,
- unknown,
- FetchBaseQueryError,
- {},
- FetchBaseQueryMeta
- >,
- never,
- unknown,
- 'davinci',
- unknown
- >;
- resume: QueryDefinition<
- {
- serverInfo: ContinueNode['server'];
- continueToken: string;
- },
- BaseQueryFn<
- string | FetchArgs,
- unknown,
- FetchBaseQueryError,
- {},
- FetchBaseQueryMeta
- >,
- never,
- unknown,
- 'davinci',
- unknown
- >;
- poll: MutationDefinition<
- {
- endpoint: string;
- interactionId: string;
- },
- BaseQueryFn<
- string | FetchArgs,
- unknown,
- FetchBaseQueryError,
- {},
- FetchBaseQueryMeta
- >,
- never,
- unknown,
- 'davinci',
- unknown
- >;
- },
- never,
- 'davinci'
- >,
- ) =>
- | ({
- requestId?: undefined;
- status: QueryStatus.uninitialized;
- data?: undefined;
- error?: undefined;
- endpointName?: string;
- startedTimeStamp?: undefined;
- fulfilledTimeStamp?: undefined;
- } & {
- status: QueryStatus.uninitialized;
- isUninitialized: true;
- isLoading: false;
- isSuccess: false;
- isError: false;
- })
- | ({
- 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.pending;
- } & {
- requestId: string;
- data?: unknown;
- error?: FetchBaseQueryError | SerializedError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- } & {
- data?: undefined;
- } & {
- status: QueryStatus.pending;
- isUninitialized: false;
- isLoading: true;
- isSuccess: false;
- 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) =>
- | ((
- state: RootState<
- {
- flow: MutationDefinition<
- any,
- BaseQueryFn<
- string | FetchArgs,
- unknown,
- FetchBaseQueryError,
- {},
- FetchBaseQueryMeta
- >,
- never,
- unknown,
- 'davinci',
- any
- >;
- next: MutationDefinition<
- any,
- BaseQueryFn<
- string | FetchArgs,
- unknown,
- FetchBaseQueryError,
- {},
- FetchBaseQueryMeta
- >,
- never,
- unknown,
- 'davinci',
- any
- >;
- start: MutationDefinition<
- StartOptions | undefined,
- BaseQueryFn<
- string | FetchArgs,
- unknown,
- FetchBaseQueryError,
- {},
- FetchBaseQueryMeta
- >,
- never,
- unknown,
- 'davinci',
- unknown
- >;
- resume: QueryDefinition<
- {
- serverInfo: ContinueNode['server'];
- continueToken: string;
- },
- BaseQueryFn<
- string | FetchArgs,
- unknown,
- FetchBaseQueryError,
- {},
- FetchBaseQueryMeta
- >,
- never,
- unknown,
- 'davinci',
- unknown
- >;
- poll: MutationDefinition<
- {
- endpoint: string;
- interactionId: string;
- },
- BaseQueryFn<
- string | FetchArgs,
- unknown,
- FetchBaseQueryError,
- {},
- FetchBaseQueryMeta
- >,
- never,
- unknown,
- 'davinci',
- unknown
- >;
- },
- never,
- 'davinci'
- >,
- ) =>
- | ({
- requestId?: undefined;
- status: QueryStatus.uninitialized;
- data?: undefined;
- error?: undefined;
- endpointName?: string;
- startedTimeStamp?: undefined;
- fulfilledTimeStamp?: undefined;
- } & {
- status: QueryStatus.uninitialized;
- isUninitialized: true;
- isLoading: false;
- isSuccess: false;
- isError: false;
- })
- | ({
- 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.pending;
- } & {
- requestId: string;
- data?: unknown;
- error?: FetchBaseQueryError | SerializedError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- } & {
- data?: undefined;
- } & {
- status: QueryStatus.pending;
- isUninitialized: false;
- isLoading: true;
- isSuccess: false;
- 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>;
-
-// @public (undocumented)
-export interface DaVinciConfig extends AsyncLegacyConfigOptions {
- // (undocumented)
- responseType?: string;
-}
-
-// @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 (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,
- 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 (undocumented)
-export type FidoRegistrationCollector = AutoCollector<
- 'ObjectValueAutoCollector',
- 'FidoRegistrationCollector',
- FidoRegistrationInputValue,
- 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 (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 '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 'AgreementCollector'
- ? AgreementCollector
- : 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
- :
- | 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 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<
- (
- | TextCollector
- | SingleSelectCollector
- | ValidatedTextCollector
- | PasswordCollector
- | ValidatedPasswordCollector
- | MultiSelectCollector
- | PhoneNumberExtensionCollector
- | DeviceAuthenticationCollector
- | DeviceRegistrationCollector
- | PhoneNumberCollector
- | IdpCollector
- | SubmitCollector
- | FlowCollector
- | QrCodeCollector
- | ReadOnlyCollector
- | RichTextCollector
- | AgreementCollector
- | UnknownCollector
- | ProtectCollector
- | FidoRegistrationCollector
- | FidoAuthenticationCollector
- | PollingCollector
- | ActionCollector<'ActionCollector'>
- | SingleValueCollector<'SingleValueCollector'>
- )[]
-> & {
- getInitialState: () => (
- | TextCollector
- | SingleSelectCollector
- | ValidatedTextCollector
- | PasswordCollector
- | ValidatedPasswordCollector
- | MultiSelectCollector
- | PhoneNumberExtensionCollector
- | DeviceAuthenticationCollector
- | DeviceRegistrationCollector
- | PhoneNumberCollector
- | IdpCollector
- | SubmitCollector
- | FlowCollector
- | QrCodeCollector
- | ReadOnlyCollector
- | RichTextCollector
- | AgreementCollector
- | UnknownCollector
- | ProtectCollector
- | FidoRegistrationCollector
- | FidoAuthenticationCollector
- | PollingCollector
- | ActionCollector<'ActionCollector'>
- | SingleValueCollector<'SingleValueCollector'>
- )[];
-};
-
-// @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
- | AgreementCollector;
-
-// @public
-export type NoValueCollectorTypes =
- | 'ReadOnlyCollector'
- | 'RichTextCollector'
- | 'NoValueCollector'
- | 'QrCodeCollector'
- | 'AgreementCollector';
-
-// @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';
-
-// @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 (undocumented)
-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 (undocumented)
-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;
- };
-}
-
-// @public
-export type ReadOnlyField = {
- type: 'LABEL';
- content: string;
- richContent?: RichContent;
- key?: string;
-};
-
-// @public (undocumented)
-export type ReadOnlyFields = ReadOnlyField | QrCodeField | AgreementField;
-
-// @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 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
- | SingleSelectCollectorWithValue<'SingleSelectCollector'>
- | SingleValueCollectorWithValue<'SingleValueCollector'>
- | SingleValueCollectorWithValue<'TextCollector'>
- | ValidatedSingleValueCollectorWithValue<'TextCollector'>;
-
-// @public
-export type SingleValueCollectorTypes =
- | 'PasswordCollector'
- | 'ValidatedPasswordCollector'
- | '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: string | number | boolean;
- type: string;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- value: string | number | boolean;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type SingleValueFields =
- | StandardField
- | PasswordField
- | ValidatedField
- | 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 (undocumented)
-export const updateCollectorValues: ActionCreatorWithPayload<
- {
- id: string;
- value:
- | string
- | string[]
- | PhoneNumberInputValue
- | PhoneNumberExtensionInputValue
- | FidoRegistrationInputValue
- | FidoAuthenticationInputValue;
- index?: number;
- },
- string
->;
-
-// @public
-export type Updater = (
- value: CollectorValueType,
- index?: number,
-) => InternalErrorResponse | null;
-
-// @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;
- value: string | number | boolean;
- type: string;
- validation: (ValidationRequired | ValidationRegex)[];
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- value: string | number | boolean;
- };
- // (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 (undocumented)
-export type Validator = (value: string) =>
- | 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 type { AsyncLegacyConfigOptions } from '@forgerock/sdk-types';
+import { BaseQueryFn } from '@reduxjs/toolkit/query';
+import { CustomLogger } from '@forgerock/sdk-logger';
+import { FetchArgs } from '@reduxjs/toolkit/query';
+import { FetchBaseQueryError } from '@reduxjs/toolkit/query';
+import { FetchBaseQueryMeta } from '@reduxjs/toolkit/query';
+import { GenericError } from '@forgerock/sdk-types';
+import { LogLevel } from '@forgerock/sdk-logger';
+import { MutationDefinition } from '@reduxjs/toolkit/query';
+import type { MutationResultSelectorResult } from '@reduxjs/toolkit/query';
+import { QueryDefinition } from '@reduxjs/toolkit/query';
+import { QueryStatus } from '@reduxjs/toolkit/query';
+import { Reducer } from '@reduxjs/toolkit';
+import { RequestMiddleware } from '@forgerock/sdk-request-middleware';
+import { RootState } from '@reduxjs/toolkit/query';
+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 interface AgreementCollector extends NoValueCollectorBase<'AgreementCollector'> {
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ titleEnabled: boolean;
+ title: string;
+ agreement: {
+ id: string;
+ useDynamicAgreement: boolean;
+ };
+ enabled: boolean;
+ };
+}
+
+// @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 | PollingCollector | SingleValueAutoCollector | ObjectValueAutoCollector;
+
+// @public (undocumented)
+export type AutoCollectorTypes = SingleValueAutoCollectorTypes | ObjectValueAutoCollectorTypes;
+
+// @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 | PasswordCollector | ValidatedPasswordCollector | TextCollector | SingleSelectCollector | IdpCollector | SubmitCollector | ActionCollector<'ActionCollector'> | SingleValueCollector<'SingleValueCollector'> | MultiSelectCollector | DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | PhoneNumberExtensionCollector | ReadOnlyCollector | RichTextCollector | ValidatedTextCollector | ProtectCollector | PollingCollector | FidoRegistrationCollector | FidoAuthenticationCollector | QrCodeCollector | AgreementCollector | UnknownCollector;
+
+// @public
+export type CollectorValueType = T extends {
+ type: 'PasswordCollector';
+} ? string : T extends {
+ type: 'ValidatedPasswordCollector';
+} ? string : T extends {
+ type: 'TextCollector';
+ category: 'SingleValueCollector';
+} ? string : T extends {
+ type: 'TextCollector';
+ category: 'ValidatedSingleValueCollector';
+} ? string : T extends {
+ type: 'SingleSelectCollector';
+} ? string : T extends {
+ type: 'MultiSelectCollector';
+} ? string[] : T extends {
+ type: 'DeviceRegistrationCollector';
+} ? string : T extends {
+ type: 'DeviceAuthenticationCollector';
+} ? string : T extends {
+ type: 'PhoneNumberCollector';
+} ? PhoneNumberInputValue : T extends {
+ type: 'FidoRegistrationCollector';
+} ? FidoRegistrationInputValue : T extends {
+ type: 'FidoAuthenticationCollector';
+} ? FidoAuthenticationInputValue : T extends {
+ category: 'SingleValueCollector';
+} ? string : T extends {
+ category: 'ValidatedSingleValueCollector';
+} ? string : T extends {
+ category: 'MultiValueCollector';
+} ? string[] : string | string[] | PhoneNumberInputValue | FidoRegistrationInputValue | FidoAuthenticationInputValue;
+
+// @public (undocumented)
+export type ComplexValueFields = DeviceAuthenticationField | DeviceRegistrationField | PhoneNumberField | PhoneNumberExtensionField | FidoRegistrationField | FidoAuthenticationField | PollingField;
+
+// @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: () => {
+ status: "start";
+ } | {
+ action: string;
+ collectors: Collectors[];
+ description?: string;
+ name?: string;
+ status: "continue";
+ } | {
+ action: string;
+ collectors: Collectors[];
+ description?: string;
+ name?: string;
+ status: "error";
+ } | {
+ authorization?: {
+ code?: string;
+ state?: string;
+ };
+ status: "success";
+ } | {
+ status: "failure";
+ } | null;
+ getCollectors: () => Collectors[];
+ getError: () => DaVinciError | null;
+ getErrorCollectors: () => CollectorErrors[];
+ getNode: () => ContinueNode | ErrorNode | StartNode | SuccessNode | FailureNode;
+ getServer: () => {
+ _links?: Links;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ href?: string;
+ eventName?: string;
+ status: "continue";
+ } | {
+ status: "start";
+ } | {
+ _links?: Links;
+ eventName?: string;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ status: "error";
+ } | {
+ _links?: Links;
+ eventName?: string;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ href?: string;
+ session?: string;
+ status: "success";
+ } | {
+ _links?: Links;
+ eventName?: string;
+ href?: string;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ status: "failure";
+ } | null;
+ cache: {
+ getLatestResponse: () => ((state: RootState< {
+ flow: MutationDefinition, never, unknown, "davinci", any>;
+ next: MutationDefinition, never, unknown, "davinci", any>;
+ start: MutationDefinition | undefined, BaseQueryFn, never, unknown, "davinci", unknown>;
+ resume: QueryDefinition< {
+ serverInfo: ContinueNode["server"];
+ continueToken: string;
+ }, BaseQueryFn, never, unknown, "davinci", unknown>;
+ poll: MutationDefinition< {
+ endpoint: string;
+ interactionId: string;
+ }, BaseQueryFn, never, unknown, "davinci", unknown>;
+ }, never, "davinci">) => ({
+ requestId?: undefined;
+ status: QueryStatus.uninitialized;
+ data?: undefined;
+ error?: undefined;
+ endpointName?: string;
+ startedTimeStamp?: undefined;
+ fulfilledTimeStamp?: undefined;
+ } & {
+ status: QueryStatus.uninitialized;
+ isUninitialized: true;
+ isLoading: false;
+ isSuccess: false;
+ isError: false;
+ }) | ({
+ 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.pending;
+ } & {
+ requestId: string;
+ data?: unknown;
+ error?: FetchBaseQueryError | SerializedError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ } & {
+ data?: undefined;
+ } & {
+ status: QueryStatus.pending;
+ isUninitialized: false;
+ isLoading: true;
+ isSuccess: false;
+ 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) => ((state: RootState< {
+ flow: MutationDefinition, never, unknown, "davinci", any>;
+ next: MutationDefinition, never, unknown, "davinci", any>;
+ start: MutationDefinition | undefined, BaseQueryFn, never, unknown, "davinci", unknown>;
+ resume: QueryDefinition< {
+ serverInfo: ContinueNode["server"];
+ continueToken: string;
+ }, BaseQueryFn, never, unknown, "davinci", unknown>;
+ poll: MutationDefinition< {
+ endpoint: string;
+ interactionId: string;
+ }, BaseQueryFn, never, unknown, "davinci", unknown>;
+ }, never, "davinci">) => ({
+ requestId?: undefined;
+ status: QueryStatus.uninitialized;
+ data?: undefined;
+ error?: undefined;
+ endpointName?: string;
+ startedTimeStamp?: undefined;
+ fulfilledTimeStamp?: undefined;
+ } & {
+ status: QueryStatus.uninitialized;
+ isUninitialized: true;
+ isLoading: false;
+ isSuccess: false;
+ isError: false;
+ }) | ({
+ 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.pending;
+ } & {
+ requestId: string;
+ data?: unknown;
+ error?: FetchBaseQueryError | SerializedError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ } & {
+ data?: undefined;
+ } & {
+ status: QueryStatus.pending;
+ isUninitialized: false;
+ isLoading: true;
+ isSuccess: false;
+ 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>;
+
+// @public (undocumented)
+export interface DaVinciConfig extends AsyncLegacyConfigOptions {
+ // (undocumented)
+ responseType?: string;
+}
+
+// @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 (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, 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 (undocumented)
+export type FidoRegistrationCollector = AutoCollector<'ObjectValueAutoCollector', 'FidoRegistrationCollector', FidoRegistrationInputValue, 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 (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 '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 'AgreementCollector' ? AgreementCollector : 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 : 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 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<(TextCollector | SingleSelectCollector | ValidatedTextCollector | PasswordCollector | ValidatedPasswordCollector | MultiSelectCollector | PhoneNumberExtensionCollector | DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | IdpCollector | SubmitCollector | FlowCollector | QrCodeCollector | ReadOnlyCollector | RichTextCollector | AgreementCollector | UnknownCollector | ProtectCollector | FidoRegistrationCollector | FidoAuthenticationCollector | PollingCollector | ActionCollector<"ActionCollector"> | SingleValueCollector<"SingleValueCollector">)[]> & {
+ getInitialState: () => (TextCollector | SingleSelectCollector | ValidatedTextCollector | PasswordCollector | ValidatedPasswordCollector | MultiSelectCollector | PhoneNumberExtensionCollector | DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | IdpCollector | SubmitCollector | FlowCollector | QrCodeCollector | ReadOnlyCollector | RichTextCollector | AgreementCollector | UnknownCollector | ProtectCollector | FidoRegistrationCollector | FidoAuthenticationCollector | PollingCollector | ActionCollector<"ActionCollector"> | SingleValueCollector<"SingleValueCollector">)[];
+};
+
+// @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 | AgreementCollector;
+
+// @public
+export type NoValueCollectorTypes = 'ReadOnlyCollector' | 'RichTextCollector' | 'NoValueCollector' | 'QrCodeCollector' | 'AgreementCollector';
+
+// @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';
+
+// @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 (undocumented)
+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;
+ };
+}
+
+// @public (undocumented)
+export type ReadOnlyField = {
+ type: 'LABEL';
+ content: string;
+ richContent?: RichContent;
+ key?: string;
+};
+
+// @public (undocumented)
+export type ReadOnlyFields = ReadOnlyField | QrCodeField | AgreementField;
+
+// @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 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 | SingleSelectCollectorWithValue<'SingleSelectCollector'> | SingleValueCollectorWithValue<'SingleValueCollector'> | SingleValueCollectorWithValue<'TextCollector'> | ValidatedSingleValueCollectorWithValue<'TextCollector'>;
+
+// @public
+export type SingleValueCollectorTypes = 'PasswordCollector' | 'ValidatedPasswordCollector' | '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: string | number | boolean;
+ type: string;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ value: string | number | boolean;
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type SingleValueFields = StandardField | PasswordField | ValidatedField | 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 (undocumented)
+export const updateCollectorValues: ActionCreatorWithPayload< {
+id: string;
+value: string | string[] | PhoneNumberInputValue | PhoneNumberExtensionInputValue | FidoRegistrationInputValue | FidoAuthenticationInputValue;
+index?: number;
+}, string>;
+
+// @public
+export type Updater = (value: CollectorValueType, index?: number) => InternalErrorResponse | null;
+
+// @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;
+ value: string | number | boolean;
+ type: string;
+ validation: (ValidationRequired | ValidationRegex)[];
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ value: string | number | boolean;
+ };
+ // (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 (undocumented)
+export type Validator = (value: string) => 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 1ef11fb121..1de28378db 100644
--- a/packages/davinci-client/api-report/davinci-client.types.api.md
+++ b/packages/davinci-client/api-report/davinci-client.types.api.md
@@ -1,2575 +1,2018 @@
-## 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 type { AsyncLegacyConfigOptions } from '@forgerock/sdk-types';
-import { BaseQueryFn } from '@reduxjs/toolkit/query';
-import { CustomLogger } from '@forgerock/sdk-logger';
-import { FetchArgs } from '@reduxjs/toolkit/query';
-import { FetchBaseQueryError } from '@reduxjs/toolkit/query';
-import { FetchBaseQueryMeta } from '@reduxjs/toolkit/query';
-import { GenericError } from '@forgerock/sdk-types';
-import { LogLevel } from '@forgerock/sdk-logger';
-import { MutationDefinition } from '@reduxjs/toolkit/query';
-import type { MutationResultSelectorResult } from '@reduxjs/toolkit/query';
-import { QueryDefinition } from '@reduxjs/toolkit/query';
-import { QueryStatus } from '@reduxjs/toolkit/query';
-import { Reducer } from '@reduxjs/toolkit';
-import { RequestMiddleware } from '@forgerock/sdk-request-middleware';
-import { RootState } from '@reduxjs/toolkit/query';
-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 interface AgreementCollector extends NoValueCollectorBase<'AgreementCollector'> {
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- titleEnabled: boolean;
- title: string;
- agreement: {
- id: string;
- useDynamicAgreement: boolean;
- };
- enabled: boolean;
- };
-}
-
-// @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
- | PollingCollector
- | SingleValueAutoCollector
- | ObjectValueAutoCollector;
-
-// @public (undocumented)
-export type AutoCollectorTypes = SingleValueAutoCollectorTypes | ObjectValueAutoCollectorTypes;
-
-// @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
- | PasswordCollector
- | ValidatedPasswordCollector
- | TextCollector
- | SingleSelectCollector
- | IdpCollector
- | SubmitCollector
- | ActionCollector<'ActionCollector'>
- | SingleValueCollector<'SingleValueCollector'>
- | MultiSelectCollector
- | DeviceAuthenticationCollector
- | DeviceRegistrationCollector
- | PhoneNumberCollector
- | PhoneNumberExtensionCollector
- | ReadOnlyCollector
- | RichTextCollector
- | ValidatedTextCollector
- | ProtectCollector
- | PollingCollector
- | FidoRegistrationCollector
- | FidoAuthenticationCollector
- | QrCodeCollector
- | AgreementCollector
- | UnknownCollector;
-
-// @public
-export type CollectorValueType = T extends {
- type: 'PasswordCollector';
-}
- ? string
- : T extends {
- type: 'ValidatedPasswordCollector';
- }
- ? string
- : T extends {
- type: 'TextCollector';
- category: 'SingleValueCollector';
- }
- ? string
- : T extends {
- type: 'TextCollector';
- category: 'ValidatedSingleValueCollector';
- }
- ? string
- : T extends {
- type: 'SingleSelectCollector';
- }
- ? string
- : T extends {
- type: 'MultiSelectCollector';
- }
- ? string[]
- : T extends {
- type: 'DeviceRegistrationCollector';
- }
- ? string
- : T extends {
- type: 'DeviceAuthenticationCollector';
- }
- ? string
- : T extends {
- type: 'PhoneNumberCollector';
- }
- ? PhoneNumberInputValue
- : T extends {
- type: 'FidoRegistrationCollector';
- }
- ? FidoRegistrationInputValue
- : T extends {
- type: 'FidoAuthenticationCollector';
- }
- ? FidoAuthenticationInputValue
- : T extends {
- category: 'SingleValueCollector';
- }
- ? string
- : T extends {
- category: 'ValidatedSingleValueCollector';
- }
- ? string
- : T extends {
- category: 'MultiValueCollector';
- }
- ? string[]
- :
- | string
- | string[]
- | PhoneNumberInputValue
- | FidoRegistrationInputValue
- | FidoAuthenticationInputValue;
-
-// @public (undocumented)
-export type ComplexValueFields =
- | DeviceAuthenticationField
- | DeviceRegistrationField
- | PhoneNumberField
- | PhoneNumberExtensionField
- | FidoRegistrationField
- | FidoAuthenticationField
- | PollingField;
-
-// @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: <
- T extends SingleValueCollectors | MultiSelectCollector | ObjectValueCollectors | AutoCollectors,
- >(
- 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: () =>
- | ((
- state: RootState<
- {
- flow: MutationDefinition<
- any,
- BaseQueryFn<
- string | FetchArgs,
- unknown,
- FetchBaseQueryError,
- {},
- FetchBaseQueryMeta
- >,
- never,
- unknown,
- 'davinci',
- any
- >;
- next: MutationDefinition<
- any,
- BaseQueryFn<
- string | FetchArgs,
- unknown,
- FetchBaseQueryError,
- {},
- FetchBaseQueryMeta
- >,
- never,
- unknown,
- 'davinci',
- any
- >;
- start: MutationDefinition<
- StartOptions | undefined,
- BaseQueryFn<
- string | FetchArgs,
- unknown,
- FetchBaseQueryError,
- {},
- FetchBaseQueryMeta
- >,
- never,
- unknown,
- 'davinci',
- unknown
- >;
- resume: QueryDefinition<
- {
- serverInfo: ContinueNode['server'];
- continueToken: string;
- },
- BaseQueryFn<
- string | FetchArgs,
- unknown,
- FetchBaseQueryError,
- {},
- FetchBaseQueryMeta
- >,
- never,
- unknown,
- 'davinci',
- unknown
- >;
- poll: MutationDefinition<
- {
- endpoint: string;
- interactionId: string;
- },
- BaseQueryFn<
- string | FetchArgs,
- unknown,
- FetchBaseQueryError,
- {},
- FetchBaseQueryMeta
- >,
- never,
- unknown,
- 'davinci',
- unknown
- >;
- },
- never,
- 'davinci'
- >,
- ) =>
- | ({
- requestId?: undefined;
- status: QueryStatus.uninitialized;
- data?: undefined;
- error?: undefined;
- endpointName?: string;
- startedTimeStamp?: undefined;
- fulfilledTimeStamp?: undefined;
- } & {
- status: QueryStatus.uninitialized;
- isUninitialized: true;
- isLoading: false;
- isSuccess: false;
- isError: false;
- })
- | ({
- 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.pending;
- } & {
- requestId: string;
- data?: unknown;
- error?: FetchBaseQueryError | SerializedError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- } & {
- data?: undefined;
- } & {
- status: QueryStatus.pending;
- isUninitialized: false;
- isLoading: true;
- isSuccess: false;
- 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) =>
- | ((
- state: RootState<
- {
- flow: MutationDefinition<
- any,
- BaseQueryFn<
- string | FetchArgs,
- unknown,
- FetchBaseQueryError,
- {},
- FetchBaseQueryMeta
- >,
- never,
- unknown,
- 'davinci',
- any
- >;
- next: MutationDefinition<
- any,
- BaseQueryFn<
- string | FetchArgs,
- unknown,
- FetchBaseQueryError,
- {},
- FetchBaseQueryMeta
- >,
- never,
- unknown,
- 'davinci',
- any
- >;
- start: MutationDefinition<
- StartOptions | undefined,
- BaseQueryFn<
- string | FetchArgs,
- unknown,
- FetchBaseQueryError,
- {},
- FetchBaseQueryMeta
- >,
- never,
- unknown,
- 'davinci',
- unknown
- >;
- resume: QueryDefinition<
- {
- serverInfo: ContinueNode['server'];
- continueToken: string;
- },
- BaseQueryFn<
- string | FetchArgs,
- unknown,
- FetchBaseQueryError,
- {},
- FetchBaseQueryMeta
- >,
- never,
- unknown,
- 'davinci',
- unknown
- >;
- poll: MutationDefinition<
- {
- endpoint: string;
- interactionId: string;
- },
- BaseQueryFn<
- string | FetchArgs,
- unknown,
- FetchBaseQueryError,
- {},
- FetchBaseQueryMeta
- >,
- never,
- unknown,
- 'davinci',
- unknown
- >;
- },
- never,
- 'davinci'
- >,
- ) =>
- | ({
- requestId?: undefined;
- status: QueryStatus.uninitialized;
- data?: undefined;
- error?: undefined;
- endpointName?: string;
- startedTimeStamp?: undefined;
- fulfilledTimeStamp?: undefined;
- } & {
- status: QueryStatus.uninitialized;
- isUninitialized: true;
- isLoading: false;
- isSuccess: false;
- isError: false;
- })
- | ({
- 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.pending;
- } & {
- requestId: string;
- data?: unknown;
- error?: FetchBaseQueryError | SerializedError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- } & {
- data?: undefined;
- } & {
- status: QueryStatus.pending;
- isUninitialized: false;
- isLoading: true;
- isSuccess: false;
- 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>;
-
-// @public (undocumented)
-export interface DaVinciConfig extends AsyncLegacyConfigOptions {
- // (undocumented)
- responseType?: string;
-}
-
-// @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 (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,
- 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 (undocumented)
-export type FidoRegistrationCollector = AutoCollector<
- 'ObjectValueAutoCollector',
- 'FidoRegistrationCollector',
- FidoRegistrationInputValue,
- 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 (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 '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 'AgreementCollector'
- ? AgreementCollector
- : 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
- :
- | 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 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<
- (
- | TextCollector
- | SingleSelectCollector
- | ValidatedTextCollector
- | PasswordCollector
- | ValidatedPasswordCollector
- | MultiSelectCollector
- | PhoneNumberExtensionCollector
- | DeviceAuthenticationCollector
- | DeviceRegistrationCollector
- | PhoneNumberCollector
- | IdpCollector
- | SubmitCollector
- | FlowCollector
- | QrCodeCollector
- | ReadOnlyCollector
- | RichTextCollector
- | AgreementCollector
- | UnknownCollector
- | ProtectCollector
- | FidoRegistrationCollector
- | FidoAuthenticationCollector
- | PollingCollector
- | ActionCollector<'ActionCollector'>
- | SingleValueCollector<'SingleValueCollector'>
- )[]
-> & {
- getInitialState: () => (
- | TextCollector
- | SingleSelectCollector
- | ValidatedTextCollector
- | PasswordCollector
- | ValidatedPasswordCollector
- | MultiSelectCollector
- | PhoneNumberExtensionCollector
- | DeviceAuthenticationCollector
- | DeviceRegistrationCollector
- | PhoneNumberCollector
- | IdpCollector
- | SubmitCollector
- | FlowCollector
- | QrCodeCollector
- | ReadOnlyCollector
- | RichTextCollector
- | AgreementCollector
- | UnknownCollector
- | ProtectCollector
- | FidoRegistrationCollector
- | FidoAuthenticationCollector
- | PollingCollector
- | ActionCollector<'ActionCollector'>
- | SingleValueCollector<'SingleValueCollector'>
- )[];
-};
-
-// @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
- | AgreementCollector;
-
-// @public
-export type NoValueCollectorTypes =
- | 'ReadOnlyCollector'
- | 'RichTextCollector'
- | 'NoValueCollector'
- | 'QrCodeCollector'
- | 'AgreementCollector';
-
-// @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';
-
-// @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 (undocumented)
-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 (undocumented)
-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;
- };
-}
-
-// @public
-export type ReadOnlyField = {
- type: 'LABEL';
- content: string;
- richContent?: RichContent;
- key?: string;
-};
-
-// @public (undocumented)
-export type ReadOnlyFields = ReadOnlyField | QrCodeField | AgreementField;
-
-// @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 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
- | SingleSelectCollectorWithValue<'SingleSelectCollector'>
- | SingleValueCollectorWithValue<'SingleValueCollector'>
- | SingleValueCollectorWithValue<'TextCollector'>
- | ValidatedSingleValueCollectorWithValue<'TextCollector'>;
-
-// @public
-export type SingleValueCollectorTypes =
- | 'PasswordCollector'
- | 'ValidatedPasswordCollector'
- | '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: string | number | boolean;
- type: string;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- value: string | number | boolean;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type SingleValueFields =
- | StandardField
- | PasswordField
- | ValidatedField
- | 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 (undocumented)
-export const updateCollectorValues: ActionCreatorWithPayload<
- {
- id: string;
- value:
- | string
- | string[]
- | PhoneNumberInputValue
- | PhoneNumberExtensionInputValue
- | FidoRegistrationInputValue
- | FidoAuthenticationInputValue;
- index?: number;
- },
- string
->;
-
-// @public
-export type Updater = (
- value: CollectorValueType,
- index?: number,
-) => InternalErrorResponse | null;
-
-// @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;
- value: string | number | boolean;
- type: string;
- validation: (ValidationRequired | ValidationRegex)[];
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- value: string | number | boolean;
- };
- // (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 (undocumented)
-export type Validator = (value: string) =>
- | 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 type { AsyncLegacyConfigOptions } from '@forgerock/sdk-types';
+import { BaseQueryFn } from '@reduxjs/toolkit/query';
+import { CustomLogger } from '@forgerock/sdk-logger';
+import { FetchArgs } from '@reduxjs/toolkit/query';
+import { FetchBaseQueryError } from '@reduxjs/toolkit/query';
+import { FetchBaseQueryMeta } from '@reduxjs/toolkit/query';
+import { GenericError } from '@forgerock/sdk-types';
+import { LogLevel } from '@forgerock/sdk-logger';
+import { MutationDefinition } from '@reduxjs/toolkit/query';
+import type { MutationResultSelectorResult } from '@reduxjs/toolkit/query';
+import { QueryDefinition } from '@reduxjs/toolkit/query';
+import { QueryStatus } from '@reduxjs/toolkit/query';
+import { Reducer } from '@reduxjs/toolkit';
+import { RequestMiddleware } from '@forgerock/sdk-request-middleware';
+import { RootState } from '@reduxjs/toolkit/query';
+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 interface AgreementCollector extends NoValueCollectorBase<'AgreementCollector'> {
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ titleEnabled: boolean;
+ title: string;
+ agreement: {
+ id: string;
+ useDynamicAgreement: boolean;
+ };
+ enabled: boolean;
+ };
+}
+
+// @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 | PollingCollector | SingleValueAutoCollector | ObjectValueAutoCollector;
+
+// @public (undocumented)
+export type AutoCollectorTypes = SingleValueAutoCollectorTypes | ObjectValueAutoCollectorTypes;
+
+// @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 | PasswordCollector | ValidatedPasswordCollector | TextCollector | SingleSelectCollector | IdpCollector | SubmitCollector | ActionCollector<'ActionCollector'> | SingleValueCollector<'SingleValueCollector'> | MultiSelectCollector | DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | PhoneNumberExtensionCollector | ReadOnlyCollector | RichTextCollector | ValidatedTextCollector | ProtectCollector | PollingCollector | FidoRegistrationCollector | FidoAuthenticationCollector | QrCodeCollector | AgreementCollector | UnknownCollector;
+
+// @public
+export type CollectorValueType = T extends {
+ type: 'PasswordCollector';
+} ? string : T extends {
+ type: 'ValidatedPasswordCollector';
+} ? string : T extends {
+ type: 'TextCollector';
+ category: 'SingleValueCollector';
+} ? string : T extends {
+ type: 'TextCollector';
+ category: 'ValidatedSingleValueCollector';
+} ? string : T extends {
+ type: 'SingleSelectCollector';
+} ? string : T extends {
+ type: 'MultiSelectCollector';
+} ? string[] : T extends {
+ type: 'DeviceRegistrationCollector';
+} ? string : T extends {
+ type: 'DeviceAuthenticationCollector';
+} ? string : T extends {
+ type: 'PhoneNumberCollector';
+} ? PhoneNumberInputValue : T extends {
+ type: 'FidoRegistrationCollector';
+} ? FidoRegistrationInputValue : T extends {
+ type: 'FidoAuthenticationCollector';
+} ? FidoAuthenticationInputValue : T extends {
+ category: 'SingleValueCollector';
+} ? string : T extends {
+ category: 'ValidatedSingleValueCollector';
+} ? string : T extends {
+ category: 'MultiValueCollector';
+} ? string[] : string | string[] | PhoneNumberInputValue | FidoRegistrationInputValue | FidoAuthenticationInputValue;
+
+// @public (undocumented)
+export type ComplexValueFields = DeviceAuthenticationField | DeviceRegistrationField | PhoneNumberField | PhoneNumberExtensionField | FidoRegistrationField | FidoAuthenticationField | PollingField;
+
+// @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: () => {
+ status: "start";
+ } | {
+ action: string;
+ collectors: Collectors[];
+ description?: string;
+ name?: string;
+ status: "continue";
+ } | {
+ action: string;
+ collectors: Collectors[];
+ description?: string;
+ name?: string;
+ status: "error";
+ } | {
+ authorization?: {
+ code?: string;
+ state?: string;
+ };
+ status: "success";
+ } | {
+ status: "failure";
+ } | null;
+ getCollectors: () => Collectors[];
+ getError: () => DaVinciError | null;
+ getErrorCollectors: () => CollectorErrors[];
+ getNode: () => ContinueNode | ErrorNode | StartNode | SuccessNode | FailureNode;
+ getServer: () => {
+ _links?: Links;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ href?: string;
+ eventName?: string;
+ status: "continue";
+ } | {
+ status: "start";
+ } | {
+ _links?: Links;
+ eventName?: string;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ status: "error";
+ } | {
+ _links?: Links;
+ eventName?: string;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ href?: string;
+ session?: string;
+ status: "success";
+ } | {
+ _links?: Links;
+ eventName?: string;
+ href?: string;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ status: "failure";
+ } | null;
+ cache: {
+ getLatestResponse: () => ((state: RootState< {
+ flow: MutationDefinition, never, unknown, "davinci", any>;
+ next: MutationDefinition, never, unknown, "davinci", any>;
+ start: MutationDefinition | undefined, BaseQueryFn, never, unknown, "davinci", unknown>;
+ resume: QueryDefinition< {
+ serverInfo: ContinueNode["server"];
+ continueToken: string;
+ }, BaseQueryFn, never, unknown, "davinci", unknown>;
+ poll: MutationDefinition< {
+ endpoint: string;
+ interactionId: string;
+ }, BaseQueryFn, never, unknown, "davinci", unknown>;
+ }, never, "davinci">) => ({
+ requestId?: undefined;
+ status: QueryStatus.uninitialized;
+ data?: undefined;
+ error?: undefined;
+ endpointName?: string;
+ startedTimeStamp?: undefined;
+ fulfilledTimeStamp?: undefined;
+ } & {
+ status: QueryStatus.uninitialized;
+ isUninitialized: true;
+ isLoading: false;
+ isSuccess: false;
+ isError: false;
+ }) | ({
+ 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.pending;
+ } & {
+ requestId: string;
+ data?: unknown;
+ error?: FetchBaseQueryError | SerializedError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ } & {
+ data?: undefined;
+ } & {
+ status: QueryStatus.pending;
+ isUninitialized: false;
+ isLoading: true;
+ isSuccess: false;
+ 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) => ((state: RootState< {
+ flow: MutationDefinition, never, unknown, "davinci", any>;
+ next: MutationDefinition, never, unknown, "davinci", any>;
+ start: MutationDefinition | undefined, BaseQueryFn, never, unknown, "davinci", unknown>;
+ resume: QueryDefinition< {
+ serverInfo: ContinueNode["server"];
+ continueToken: string;
+ }, BaseQueryFn