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