diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index aac92ab883..b40f53bfd8 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -32,6 +32,9 @@ jobs:
with:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
+ - name: Lint dependency versions
+ run: pnpm syncpack:lint
+
- run: pnpm nx fix-ci
if: always()
diff --git a/.syncpackrc b/.syncpackrc
new file mode 100644
index 0000000000..3234467697
--- /dev/null
+++ b/.syncpackrc
@@ -0,0 +1,12 @@
+{
+ "$schema": "./node_modules/syncpack/schema.json",
+ "source": [
+ "package.json",
+ "packages/*/package.json",
+ "packages/sdk-effects/*/package.json",
+ "packages/utils/*/package.json",
+ "e2e/*/package.json",
+ "tools/*/package.json",
+ "scratchpad/package.json"
+ ]
+}
diff --git a/e2e/am-mock-api/package.json b/e2e/am-mock-api/package.json
index 660bb67c46..504daba382 100644
--- a/e2e/am-mock-api/package.json
+++ b/e2e/am-mock-api/package.json
@@ -16,6 +16,6 @@
"uuid": "^14.0.0"
},
"devDependencies": {
- "@types/express": "^5.0.0"
+ "@types/express": "catalog:"
}
}
diff --git a/e2e/davinci-app/main.ts b/e2e/davinci-app/main.ts
index 0e1b8b27d9..c457668f7f 100644
--- a/e2e/davinci-app/main.ts
+++ b/e2e/davinci-app/main.ts
@@ -6,8 +6,9 @@
*/
import './style.css';
-import { Config, FRUser, TokenManager } from '@forgerock/javascript-sdk';
import { davinci } from '@forgerock/davinci-client';
+import { oidc } from '@forgerock/oidc-client';
+import type { OidcConfig } from '@forgerock/oidc-client/types';
import type {
CustomLogger,
DaVinciConfig,
@@ -86,6 +87,11 @@ const urlParams = new URLSearchParams(window.location.search);
(async () => {
const davinciClient: DavinciClient = await davinci({ config, logger, requestMiddleware });
+ const oidcResult = await oidc({ config: config as OidcConfig });
+ if ('error' in oidcResult) {
+ throw new Error(`Failed to initialize oidc client: ${oidcResult.error}`);
+ }
+ const oidcClient = oidcResult;
const protectApi = protect({ envId: '02fb4743-189a-4bc7-9d6c-a919edfe6447' });
const continueToken = urlParams.get('continueToken');
const formEl = document.getElementById('form') as HTMLFormElement;
@@ -99,10 +105,6 @@ const urlParams = new URLSearchParams(window.location.search);
if (continueToken) {
resumed = await davinciClient.resume({ continueToken });
- } else {
- // the current davinci-config has a slightly
- // different middleware type than the old legacy config
- await Config.setAsync(config as any);
}
function renderComplete() {
@@ -141,25 +143,26 @@ const urlParams = new URLSearchParams(window.location.search);
const tokenBtn = document.getElementById('tokensButton') as HTMLButtonElement;
tokenBtn.addEventListener('click', async () => {
- tokens = await TokenManager.getTokens({ query: { code, state } });
+ tokens = await oidcClient.token.exchange(code, state);
console.log(tokens);
+ const accessTokenValue = tokens && 'accessToken' in tokens ? tokens.accessToken : '';
const tokenPreEl = document.getElementById('accessTokenContainer') as HTMLPreElement;
tokenPreEl.innerHTML = `
${tokens?.accessToken}
+ >${accessTokenValue}
`;
});
const loginBtn = document.getElementById('logoutButton') as HTMLButtonElement;
loginBtn.addEventListener('click', async () => {
- await FRUser.logout({ logoutRedirectUri: `${window.location.origin}/` });
+ await oidcClient.user.logout();
- //window.location.reload();
+ window.location.reload();
});
}
diff --git a/e2e/davinci-app/package.json b/e2e/davinci-app/package.json
index 4dfc5cee73..af986f5398 100644
--- a/e2e/davinci-app/package.json
+++ b/e2e/davinci-app/package.json
@@ -12,7 +12,7 @@
},
"dependencies": {
"@forgerock/davinci-client": "workspace:*",
- "@forgerock/javascript-sdk": "4.7.0",
+ "@forgerock/oidc-client": "workspace:*",
"@forgerock/protect": "workspace:*",
"@forgerock/sdk-logger": "workspace:*"
},
diff --git a/e2e/davinci-app/tsconfig.app.json b/e2e/davinci-app/tsconfig.app.json
index 9027cd9d88..93f398976d 100644
--- a/e2e/davinci-app/tsconfig.app.json
+++ b/e2e/davinci-app/tsconfig.app.json
@@ -18,6 +18,9 @@
{
"path": "../../packages/protect/tsconfig.lib.json"
},
+ {
+ "path": "../../packages/oidc-client/tsconfig.lib.json"
+ },
{
"path": "../../packages/davinci-client/tsconfig.lib.json"
}
diff --git a/e2e/davinci-suites/src/basic.test.ts b/e2e/davinci-suites/src/basic.test.ts
index 1da585de47..43002ae465 100644
--- a/e2e/davinci-suites/src/basic.test.ts
+++ b/e2e/davinci-suites/src/basic.test.ts
@@ -40,14 +40,8 @@ test('Test happy paths on test page', async ({ page }) => {
return true;
}
});
- const signoff = page.waitForResponse((response) => {
- if (response.url().includes('/signoff') && response.status() === 302) {
- return true;
- }
- });
await logoutButton.click();
await revokeCall;
- await signoff;
await expect(page.getByText('Username/Password Form')).toBeVisible();
});
test('ensure query params passed to start are sent off in authorize call', async ({ page }) => {
diff --git a/e2e/device-client-app/package.json b/e2e/device-client-app/package.json
index c0bd8ec3fb..6f73e25b17 100644
--- a/e2e/device-client-app/package.json
+++ b/e2e/device-client-app/package.json
@@ -10,11 +10,11 @@
},
"dependencies": {
"@forgerock/device-client": "workspace:*",
- "@forgerock/javascript-sdk": "4.7.0",
- "effect": "^3.12.7"
+ "@forgerock/javascript-sdk": "catalog:",
+ "effect": "catalog:effect"
},
"devDependencies": {
- "@effect/language-service": "^0.20.0"
+ "@effect/language-service": "catalog:effect"
},
"nx": {
"tags": ["scope:e2e"]
diff --git a/e2e/protect-app/package.json b/e2e/protect-app/package.json
index 8f3c3c8101..46b1b90e2f 100644
--- a/e2e/protect-app/package.json
+++ b/e2e/protect-app/package.json
@@ -11,7 +11,7 @@
"serve": "pnpm nx nxServe"
},
"dependencies": {
- "@forgerock/javascript-sdk": "4.7.0",
+ "@forgerock/javascript-sdk": "catalog:",
"@forgerock/protect": "workspace:*"
},
"nx": {
diff --git a/lefthook.yml b/lefthook.yml
index 39a02c602d..ef3b5e05ce 100644
--- a/lefthook.yml
+++ b/lefthook.yml
@@ -5,6 +5,20 @@ pre-commit:
nx-check:
run: pnpm nx affected -t typecheck lint build api-report --tui=false
stage_fixed: true
+ format:
+ run: pnpm nx format:write
+ stage_fixed: true
+ syncpack:
+ glob: >-
+ {package.json,
+ pnpm-workspace.yaml,
+ packages/*/package.json,
+ packages/sdk-effects/*/package.json,
+ packages/utils/*/package.json,
+ e2e/*/package.json,
+ tools/*/package.json,
+ scratchpad/package.json}
+ run: pnpm syncpack:lint
interface-mapping:
glob: >-
{tools/interface-mapping-validator/**/*.ts,
@@ -21,9 +35,6 @@ pre-commit:
echo "Interface mapping is out of sync." &&
echo "Run: pnpm mapping:generate" &&
exit 1)
- format:
- run: pnpm nx format:write
- stage_fixed: true
commit-msg:
commands:
commitlint:
diff --git a/package.json b/package.json
index 47c92e2bfa..276cd4db39 100644
--- a/package.json
+++ b/package.json
@@ -35,6 +35,8 @@
"nx": "nx",
"prepare": "lefthook install",
"serve": "nx serve",
+ "syncpack:lint": "syncpack lint --source 'package.json' --source 'packages/*/package.json' --source 'packages/sdk-effects/*/package.json' --source 'packages/utils/*/package.json' --source 'e2e/*/package.json' --source 'tools/*/package.json' --source 'scratchpad/package.json'",
+ "syncpack:fix": "syncpack fix --source 'package.json' --source 'packages/*/package.json' --source 'packages/sdk-effects/*/package.json' --source 'packages/utils/*/package.json' --source 'e2e/*/package.json' --source 'tools/*/package.json' --source 'scratchpad/package.json'",
"test": "CI=true nx affected:test",
"test:e2e": "CI=true nx affected:e2e",
"verdaccio": "nx local-registry",
@@ -45,7 +47,6 @@
"path": "./node_modules/cz-conventional-changelog"
}
},
- "dependencies": {},
"devDependencies": {
"@changesets/changelog-github": "^0.6.0",
"@changesets/cli": "^2.27.9",
@@ -75,13 +76,13 @@
"@swc/helpers": "0.5.21",
"@types/eslint": "9.6.1",
"@types/estree": "^1.0.1",
- "@types/express": "5.0.6",
+ "@types/express": "catalog:",
"@types/node": "24.9.2",
"@typescript-eslint/eslint-plugin": "^8.45.0",
"@typescript-eslint/parser": "^8.45.0",
"@typescript-eslint/typescript-estree": "8.23.0",
"@typescript-eslint/utils": "^8.13.0",
- "@vitest/coverage-v8": "3.2.4",
+ "@vitest/coverage-v8": "catalog:vitest",
"@vitest/ui": "3.2.4",
"conventional-changelog-conventionalcommits": "^8.0.0",
"cz-conventional-changelog": "^3.3.0",
@@ -103,10 +104,11 @@
"prettier": "^3.2.5",
"shx": "^0.4.0",
"swc-loader": "0.2.7",
+ "syncpack": "^15.0.0",
"ts-node": "10.9.2",
"ts-patch": "3.3.0",
- "tslib": "^2.5.0",
- "tsx": "^4.20.0",
+ "tslib": "catalog:",
+ "tsx": "catalog:",
"typedoc": "^0.27.4",
"typedoc-github-theme": "0.2.1",
"typedoc-plugin-rename-defaults": "^0.7.2",
diff --git a/packages/davinci-client/api-report/davinci-client.api.md b/packages/davinci-client/api-report/davinci-client.api.md
index ce4a9d9b7b..0f5d95a413 100644
--- a/packages/davinci-client/api-report/davinci-client.api.md
+++ b/packages/davinci-client/api-report/davinci-client.api.md
@@ -1,2043 +1,2629 @@
-## API Report File for "@forgerock/davinci-client"
-
-> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
-
-```ts
-
-import { ActionCreatorWithPayload } from '@reduxjs/toolkit';
-import { ActionTypes } from '@forgerock/sdk-request-middleware';
-import type { AsyncLegacyConfigOptions } from '@forgerock/sdk-types';
-import { BaseQueryFn } from '@reduxjs/toolkit/query';
-import { CustomLogger } from '@forgerock/sdk-logger';
-import { FetchArgs } from '@reduxjs/toolkit/query';
-import { FetchBaseQueryError } from '@reduxjs/toolkit/query';
-import { FetchBaseQueryMeta } from '@reduxjs/toolkit/query';
-import { GenericError } from '@forgerock/sdk-types';
-import { LogLevel } from '@forgerock/sdk-logger';
-import { MutationDefinition } from '@reduxjs/toolkit/query';
-import type { MutationResultSelectorResult } from '@reduxjs/toolkit/query';
-import { QueryDefinition } from '@reduxjs/toolkit/query';
-import { QueryStatus } from '@reduxjs/toolkit/query';
-import { Reducer } from '@reduxjs/toolkit';
-import { RequestMiddleware } from '@forgerock/sdk-request-middleware';
-import { RootState } from '@reduxjs/toolkit/query';
-import { SerializedError } from '@reduxjs/toolkit';
-import { Unsubscribe } from '@reduxjs/toolkit';
-
-// @public (undocumented)
-export type ActionCollector = ActionCollectorNoUrl | ActionCollectorWithUrl;
-
-// @public (undocumented)
-export interface ActionCollectorNoUrl {
- // (undocumented)
- category: 'ActionCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type ActionCollectors = ActionCollectorWithUrl<'IdpCollector'> | ActionCollectorNoUrl<'ActionCollector'> | ActionCollectorNoUrl<'FlowCollector'> | ActionCollectorNoUrl<'SubmitCollector'>;
-
-// @public
-export type ActionCollectorTypes = 'FlowCollector' | 'SubmitCollector' | 'IdpCollector' | 'ActionCollector';
-
-// @public (undocumented)
-export interface ActionCollectorWithUrl {
- // (undocumented)
- category: 'ActionCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- url?: string | null;
- };
- // (undocumented)
- type: T;
-}
-
-export { ActionTypes }
-
-// @public (undocumented)
-export interface AgreementCollector extends NoValueCollectorBase<'AgreementCollector'> {
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- titleEnabled: boolean;
- title: string;
- agreement: {
- id: string;
- useDynamicAgreement: boolean;
- };
- enabled: boolean;
- };
-}
-
-// @public (undocumented)
-export type AgreementField = {
- type: 'AGREEMENT';
- key: string;
- content: string;
- titleEnabled: boolean;
- title: string;
- agreement: {
- id: string;
- useDynamicAgreement: boolean;
- };
- enabled: boolean;
-};
-
-// @public (undocumented)
-export interface AssertionValue extends Omit {
- // (undocumented)
- rawId: string;
- // (undocumented)
- response: {
- clientDataJSON: string;
- authenticatorData: string;
- signature: string;
- userHandle: string | null;
- };
-}
-
-// @public (undocumented)
-export interface AttestationValue extends Omit {
- // (undocumented)
- rawId: string;
- // (undocumented)
- response: {
- clientDataJSON: string;
- attestationObject: string;
- };
-}
-
-// @public (undocumented)
-export interface AutoCollector> {
- // (undocumented)
- category: C;
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: IV;
- type: string;
- validation?: ValidationRequired[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- type: string;
- config: OV;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type AutoCollectorCategories = 'SingleValueAutoCollector' | 'ObjectValueAutoCollector';
-
-// @public (undocumented)
-export type AutoCollectors = ProtectCollector | FidoRegistrationCollector | FidoAuthenticationCollector | PollingCollector | SingleValueAutoCollector | ObjectValueAutoCollector;
-
-// @public (undocumented)
-export type AutoCollectorTypes = SingleValueAutoCollectorTypes | ObjectValueAutoCollectorTypes;
-
-// @public (undocumented)
-export interface CollectorErrors {
- // (undocumented)
- code: string;
- // (undocumented)
- message: string;
- // (undocumented)
- target: string;
-}
-
-// @public (undocumented)
-export type CollectorInputTypes = string | string[] | boolean | PhoneNumberInputValue | PhoneNumberExtensionInputValue | FidoRegistrationInputValue | FidoAuthenticationInputValue;
-
-// @public
-export interface CollectorRichContent {
- // (undocumented)
- content: string;
- // (undocumented)
- replacements: RichContentLink[];
-}
-
-// @public (undocumented)
-export type Collectors = FlowCollector | PasswordCollector | ValidatedPasswordCollector | TextCollector | ValidatedBooleanCollector | SingleSelectCollector | IdpCollector | SubmitCollector | ActionCollector<'ActionCollector'> | SingleValueCollector<'SingleValueCollector'> | MultiSelectCollector | DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | PhoneNumberExtensionCollector | ReadOnlyCollector | RichTextCollector | ValidatedTextCollector | ProtectCollector | PollingCollector | FidoRegistrationCollector | FidoAuthenticationCollector | QrCodeCollector | AgreementCollector | UnknownCollector;
-
-// @public
-export type CollectorValueType = T extends {
- type: 'PasswordCollector';
-} ? string : T extends {
- type: 'ValidatedPasswordCollector';
-} ? string : T extends {
- type: 'TextCollector';
- category: 'SingleValueCollector';
-} ? string : T extends {
- type: 'TextCollector';
- category: 'ValidatedSingleValueCollector';
-} ? string : T extends {
- type: 'ValidatedBooleanCollector';
-} ? boolean : T extends {
- type: 'SingleSelectCollector';
-} ? string : T extends {
- type: 'MultiSelectCollector';
-} ? string[] : T extends {
- type: 'DeviceRegistrationCollector';
-} ? string : T extends {
- type: 'DeviceAuthenticationCollector';
-} ? string : T extends {
- type: 'PhoneNumberCollector';
-} ? PhoneNumberInputValue : T extends {
- type: 'PhoneNumberExtensionCollector';
-} ? PhoneNumberExtensionInputValue : T extends {
- type: 'FidoRegistrationCollector';
-} ? FidoRegistrationInputValue : T extends {
- type: 'FidoAuthenticationCollector';
-} ? FidoAuthenticationInputValue : T extends {
- category: 'SingleValueCollector';
-} ? string : T extends {
- category: 'ValidatedSingleValueCollector';
-} ? string : T extends {
- category: 'MultiValueCollector';
-} ? string[] : CollectorInputTypes;
-
-// @public (undocumented)
-export type ComplexValueFields = DeviceAuthenticationField | DeviceRegistrationField | PhoneNumberField | PhoneNumberExtensionField | FidoRegistrationField | FidoAuthenticationField | PollingField;
-
-// @public (undocumented)
-export interface ContinueNode {
- // (undocumented)
- cache: {
- key: string;
- };
- // (undocumented)
- client: {
- action: string;
- collectors: Collectors[];
- description?: string;
- name?: string;
- status: 'continue';
- };
- // (undocumented)
- error: null;
- // (undocumented)
- httpStatus: number;
- // (undocumented)
- server: {
- _links?: Links;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- href?: string;
- eventName?: string;
- status: 'continue';
- };
- // (undocumented)
- status: 'continue';
-}
-
-export { CustomLogger }
-
-// @public
-export type CustomPollingStatus = string & {};
-
-// @public
-export function davinci(input: {
- config: DaVinciConfig;
- requestMiddleware?: RequestMiddleware[];
- logger?: {
- level: LogLevel;
- custom?: CustomLogger;
- };
-}): Promise<{
- subscribe: (listener: () => void) => Unsubscribe;
- externalIdp: () => (() => Promise);
- flow: (action: DaVinciAction) => InitFlow;
- next: (args?: DaVinciRequest) => Promise;
- resume: (input: {
- continueToken: string;
- }) => Promise;
- start: (options?: StartOptions | undefined) => Promise;
- update: (collector: T) => Updater;
- validate: (collector: SingleValueCollectors | ObjectValueCollectors | MultiValueCollectors | AutoCollectors) => Validator;
- pollStatus: (collector: PollingCollector) => Poller;
- getClient: () => {
- status: "start";
- } | {
- action: string;
- collectors: Collectors[];
- description?: string;
- name?: string;
- status: "continue";
- } | {
- action: string;
- collectors: Collectors[];
- description?: string;
- name?: string;
- status: "error";
- } | {
- authorization?: {
- code?: string;
- state?: string;
- };
- status: "success";
- } | {
- status: "failure";
- } | null;
- getCollectors: () => Collectors[];
- getError: () => DaVinciError | null;
- getErrorCollectors: () => CollectorErrors[];
- getNode: () => ContinueNode | ErrorNode | StartNode | SuccessNode | FailureNode;
- getServer: () => {
- status: "start";
- } | {
- _links?: Links;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- href?: string;
- eventName?: string;
- status: "continue";
- } | {
- _links?: Links;
- eventName?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- status: "error";
- } | {
- _links?: Links;
- eventName?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- href?: string;
- session?: string;
- status: "success";
- } | {
- _links?: Links;
- eventName?: string;
- href?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- status: "failure";
- } | null;
- cache: {
- getLatestResponse: () => ((state: RootState< {
- flow: MutationDefinition, never, unknown, "davinci", any>;
- next: MutationDefinition, never, unknown, "davinci", any>;
- start: MutationDefinition | undefined, BaseQueryFn, never, unknown, "davinci", unknown>;
- resume: QueryDefinition< {
- serverInfo: ContinueNode["server"];
- continueToken: string;
- }, BaseQueryFn, never, unknown, "davinci", unknown>;
- poll: MutationDefinition< {
- endpoint: string;
- interactionId: string;
- }, BaseQueryFn, never, unknown, "davinci", unknown>;
- }, never, "davinci">) => ({
- requestId?: undefined;
- status: QueryStatus.uninitialized;
- data?: undefined;
- error?: undefined;
- endpointName?: string;
- startedTimeStamp?: undefined;
- fulfilledTimeStamp?: undefined;
- } & {
- status: QueryStatus.uninitialized;
- isUninitialized: true;
- isLoading: false;
- isSuccess: false;
- isError: false;
- }) | ({
- status: QueryStatus.fulfilled;
- } & Omit<{
- requestId: string;
- data?: unknown;
- error?: SerializedError | FetchBaseQueryError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- }, "data" | "fulfilledTimeStamp"> & Required> & {
- error: undefined;
- } & {
- status: QueryStatus.fulfilled;
- isUninitialized: false;
- isLoading: false;
- isSuccess: true;
- isError: false;
- }) | ({
- status: QueryStatus.pending;
- } & {
- requestId: string;
- data?: unknown;
- error?: SerializedError | FetchBaseQueryError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- } & {
- data?: undefined;
- } & {
- status: QueryStatus.pending;
- isUninitialized: false;
- isLoading: true;
- isSuccess: false;
- isError: false;
- }) | ({
- status: QueryStatus.rejected;
- } & Omit<{
- requestId: string;
- data?: unknown;
- error?: SerializedError | FetchBaseQueryError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- }, "error"> & Required> & {
- status: QueryStatus.rejected;
- isUninitialized: false;
- isLoading: false;
- isSuccess: false;
- isError: true;
- })) | {
- error: {
- message: string;
- type: string;
- };
- };
- getResponseWithId: (requestId: string) => ((state: RootState< {
- flow: MutationDefinition, never, unknown, "davinci", any>;
- next: MutationDefinition, never, unknown, "davinci", any>;
- start: MutationDefinition | undefined, BaseQueryFn, never, unknown, "davinci", unknown>;
- resume: QueryDefinition< {
- serverInfo: ContinueNode["server"];
- continueToken: string;
- }, BaseQueryFn, never, unknown, "davinci", unknown>;
- poll: MutationDefinition< {
- endpoint: string;
- interactionId: string;
- }, BaseQueryFn, never, unknown, "davinci", unknown>;
- }, never, "davinci">) => ({
- requestId?: undefined;
- status: QueryStatus.uninitialized;
- data?: undefined;
- error?: undefined;
- endpointName?: string;
- startedTimeStamp?: undefined;
- fulfilledTimeStamp?: undefined;
- } & {
- status: QueryStatus.uninitialized;
- isUninitialized: true;
- isLoading: false;
- isSuccess: false;
- isError: false;
- }) | ({
- status: QueryStatus.fulfilled;
- } & Omit<{
- requestId: string;
- data?: unknown;
- error?: SerializedError | FetchBaseQueryError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- }, "data" | "fulfilledTimeStamp"> & Required> & {
- error: undefined;
- } & {
- status: QueryStatus.fulfilled;
- isUninitialized: false;
- isLoading: false;
- isSuccess: true;
- isError: false;
- }) | ({
- status: QueryStatus.pending;
- } & {
- requestId: string;
- data?: unknown;
- error?: SerializedError | FetchBaseQueryError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- } & {
- data?: undefined;
- } & {
- status: QueryStatus.pending;
- isUninitialized: false;
- isLoading: true;
- isSuccess: false;
- isError: false;
- }) | ({
- status: QueryStatus.rejected;
- } & Omit<{
- requestId: string;
- data?: unknown;
- error?: SerializedError | FetchBaseQueryError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- }, "error"> & Required> & {
- status: QueryStatus.rejected;
- isUninitialized: false;
- isLoading: false;
- isSuccess: false;
- isError: true;
- })) | {
- error: {
- message: string;
- type: string;
- };
- };
- };
-}>;
-
-// @public
-export interface DaVinciAction {
- // (undocumented)
- action: string;
-}
-
-// @public
-export interface DaVinciBaseResponse {
- // (undocumented)
- capabilityName?: string;
- // (undocumented)
- companyId?: string;
- // (undocumented)
- connectionId?: string;
- // (undocumented)
- connectorId?: string;
- // (undocumented)
- id?: string;
- // (undocumented)
- interactionId?: string;
- // (undocumented)
- interactionToken?: string;
- // (undocumented)
- isResponseCompatibleWithMobileAndWebSdks?: boolean;
- // (undocumented)
- status?: string;
-}
-
-// @public
-export type DaVinciCacheEntry = {
- data?: DaVinciBaseResponse;
- error?: {
- data: DaVinciBaseResponse;
- status: number;
- };
-} & {
- data?: any;
- error?: any;
-} & MutationResultSelectorResult;
-
-// @public (undocumented)
-export type DavinciClient = Awaited>;
-
-// @public (undocumented)
-export interface DaVinciConfig extends AsyncLegacyConfigOptions {
- // (undocumented)
- responseType?: string;
-}
-
-// @public (undocumented)
-export interface DaVinciError extends Omit {
- // (undocumented)
- collectors?: CollectorErrors[];
- // (undocumented)
- internalHttpStatus?: number;
- // (undocumented)
- message: string;
- // (undocumented)
- status: 'error' | 'failure' | 'unknown';
-}
-
-// @public (undocumented)
-export interface DaVinciErrorCacheEntry {
- // (undocumented)
- endpointName: 'next' | 'flow' | 'start';
- // (undocumented)
- error: {
- data: T;
- };
- // (undocumented)
- fulfilledTimeStamp: number;
- // (undocumented)
- isError: boolean;
- // (undocumented)
- isLoading: boolean;
- // (undocumented)
- isSuccess: boolean;
- // (undocumented)
- isUninitialized: boolean;
- // (undocumented)
- requestId: string;
- // (undocumented)
- startedTimeStamp: number;
- // (undocumented)
- status: 'fulfilled' | 'pending' | 'rejected';
-}
-
-// @public (undocumented)
-export interface DavinciErrorResponse extends DaVinciBaseResponse {
- // (undocumented)
- cause?: string | null;
- // (undocumented)
- code: string | number;
- // (undocumented)
- details?: ErrorDetail[];
- // (undocumented)
- doNotSendToOE?: boolean;
- // (undocumented)
- error?: {
- code?: string;
- message?: string;
- };
- // (undocumented)
- errorCategory?: string;
- // (undocumented)
- errorMessage?: string;
- // (undocumented)
- expected?: boolean;
- // (undocumented)
- httpResponseCode: number;
- // (undocumented)
- isErrorCustomized?: boolean;
- // (undocumented)
- message: string;
- // (undocumented)
- metricAttributes?: {
- [key: string]: unknown;
- };
-}
-
-// @public (undocumented)
-export interface DaVinciFailureResponse extends DaVinciBaseResponse {
- // (undocumented)
- error?: {
- code?: string;
- message?: string;
- [key: string]: unknown;
- };
-}
-
-// @public (undocumented)
-export type DaVinciField = ComplexValueFields | MultiValueFields | ReadOnlyFields | RedirectFields | SingleValueFields;
-
-// @public
-export interface DaVinciNextResponse extends DaVinciBaseResponse {
- // (undocumented)
- eventName?: string;
- // (undocumented)
- form?: {
- name?: string;
- description?: string;
- components?: {
- fields?: DaVinciField[];
- };
- };
- // (undocumented)
- formData?: {
- value?: {
- [key: string]: string;
- };
- };
- // (undocumented)
- _links?: Links;
-}
-
-// @public
-export interface DaVinciPollResponse extends DaVinciBaseResponse {
- // (undocumented)
- eventName?: string;
- // (undocumented)
- _links?: Links;
- // (undocumented)
- success?: boolean;
-}
-
-// @public (undocumented)
-export interface DaVinciRequest {
- // (undocumented)
- eventName: string;
- // (undocumented)
- id: string;
- // (undocumented)
- interactionId: string;
- // (undocumented)
- parameters: {
- eventType: 'submit' | 'action' | 'polling';
- data: {
- actionKey: string;
- formData?: Record;
- };
- };
-}
-
-// @public (undocumented)
-export interface DaVinciSuccessResponse extends DaVinciBaseResponse {
- // (undocumented)
- authorizeResponse?: OAuthDetails;
- // (undocumented)
- environment: {
- id: string;
- [key: string]: unknown;
- };
- // (undocumented)
- _links?: Links;
- // (undocumented)
- resetCookie?: boolean;
- // (undocumented)
- session?: {
- id?: string;
- [key: string]: unknown;
- };
- // (undocumented)
- sessionToken?: string;
- // (undocumented)
- sessionTokenMaxAge?: number;
- // (undocumented)
- status: string;
- // (undocumented)
- subFlowSettings?: {
- cssLinks?: unknown[];
- cssUrl?: unknown;
- jsLinks?: unknown[];
- loadingScreenSettings?: unknown;
- reactSkUrl?: unknown;
- };
- // (undocumented)
- success: true;
-}
-
-// @public (undocumented)
-export type DeviceAuthenticationCollector = ObjectOptionsCollectorWithObjectValue<'DeviceAuthenticationCollector', DeviceValue>;
-
-// @public (undocumented)
-export type DeviceAuthenticationField = {
- type: 'DEVICE_AUTHENTICATION';
- key: string;
- label: string;
- options: {
- type: string;
- iconSrc: string;
- title: string;
- id: string;
- default: boolean;
- description: string;
- }[];
- required: boolean;
-};
-
-// @public (undocumented)
-export interface DeviceOptionNoDefault {
- // (undocumented)
- content: string;
- // (undocumented)
- key: string;
- // (undocumented)
- label: string;
- // (undocumented)
- type: string;
- // (undocumented)
- value: string;
-}
-
-// @public (undocumented)
-export interface DeviceOptionWithDefault {
- // (undocumented)
- content: string;
- // (undocumented)
- default: boolean;
- // (undocumented)
- key: string;
- // (undocumented)
- label: string;
- // (undocumented)
- type: string;
- // (undocumented)
- value: string;
-}
-
-// @public (undocumented)
-export type DeviceRegistrationCollector = ObjectOptionsCollectorWithStringValue<'DeviceRegistrationCollector', string>;
-
-// @public (undocumented)
-export type DeviceRegistrationField = {
- type: 'DEVICE_REGISTRATION';
- key: string;
- label: string;
- options: {
- type: string;
- iconSrc: string;
- title: string;
- description: string;
- }[];
- required: boolean;
-};
-
-// @public (undocumented)
-export interface DeviceValue {
- // (undocumented)
- id: string;
- // (undocumented)
- type: string;
- // (undocumented)
- value: string;
-}
-
-// @public (undocumented)
-export interface ErrorDetail {
- // (undocumented)
- message?: string;
- // (undocumented)
- rawResponse?: {
- _embedded?: {
- users?: Array;
- };
- code?: string;
- count?: number;
- details?: NestedErrorDetails[];
- id?: string;
- message?: string;
- size?: number;
- userFilter?: string;
- [key: string]: unknown;
- };
- // (undocumented)
- statusCode?: number;
-}
-
-// @public (undocumented)
-export interface ErrorNode {
- // (undocumented)
- cache: {
- key: string;
- };
- // (undocumented)
- client: {
- action: string;
- collectors: Collectors[];
- description?: string;
- name?: string;
- status: 'error';
- };
- // (undocumented)
- error: DaVinciError;
- // (undocumented)
- httpStatus: number;
- // (undocumented)
- server: {
- _links?: Links;
- eventName?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- status: 'error';
- } | null;
- // (undocumented)
- status: 'error';
-}
-
-// @public (undocumented)
-export interface FailureNode {
- // (undocumented)
- cache: {
- key: string;
- };
- // (undocumented)
- client: {
- status: 'failure';
- };
- // (undocumented)
- error: DaVinciError;
- // (undocumented)
- httpStatus: number;
- // (undocumented)
- server: {
- _links?: Links;
- eventName?: string;
- href?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- status: 'failure';
- } | null;
- // (undocumented)
- status: 'failure';
-}
-
-// @public
-export function fido(): FidoClient;
-
-// @public (undocumented)
-export type FidoAuthenticationCollector = AutoCollector<'ObjectValueAutoCollector', 'FidoAuthenticationCollector', FidoAuthenticationInputValue, FidoAuthenticationOutputValue>;
-
-// @public (undocumented)
-export type FidoAuthenticationField = {
- type: 'FIDO2';
- key: string;
- label: string;
- publicKeyCredentialRequestOptions: FidoAuthenticationOptions;
- action: 'AUTHENTICATE';
- trigger: string;
- required: boolean;
-};
-
-// @public (undocumented)
-export interface FidoAuthenticationInputValue {
- // (undocumented)
- assertionValue?: AssertionValue;
-}
-
-// @public (undocumented)
-export interface FidoAuthenticationOptions extends Omit {
- // (undocumented)
- allowCredentials?: {
- id: number[];
- transports?: AuthenticatorTransport[];
- type: PublicKeyCredentialType;
- }[];
- // (undocumented)
- challenge: number[];
-}
-
-// @public (undocumented)
-export interface FidoAuthenticationOutputValue {
- // (undocumented)
- action: 'AUTHENTICATE';
- // (undocumented)
- publicKeyCredentialRequestOptions: FidoAuthenticationOptions;
- // (undocumented)
- trigger: string;
-}
-
-// @public (undocumented)
-export interface FidoClient {
- authenticate: (options: FidoAuthenticationOptions) => Promise;
- register: (options: FidoRegistrationOptions) => Promise;
-}
-
-// @public (undocumented)
-export type FidoRegistrationCollector = AutoCollector<'ObjectValueAutoCollector', 'FidoRegistrationCollector', FidoRegistrationInputValue, FidoRegistrationOutputValue>;
-
-// @public (undocumented)
-export type FidoRegistrationField = {
- type: 'FIDO2';
- key: string;
- label: string;
- publicKeyCredentialCreationOptions: FidoRegistrationOptions;
- action: 'REGISTER';
- trigger: string;
- required: boolean;
-};
-
-// @public (undocumented)
-export interface FidoRegistrationInputValue {
- // (undocumented)
- attestationValue?: AttestationValue;
-}
-
-// @public (undocumented)
-export interface FidoRegistrationOptions extends Omit {
- // (undocumented)
- challenge: number[];
- // (undocumented)
- excludeCredentials?: {
- id: number[];
- transports?: AuthenticatorTransport[];
- type: PublicKeyCredentialType;
- }[];
- // (undocumented)
- pubKeyCredParams: {
- alg: string | number;
- type: PublicKeyCredentialType;
- }[];
- // (undocumented)
- user: {
- id: number[];
- name: string;
- displayName: string;
- };
-}
-
-// @public (undocumented)
-export interface FidoRegistrationOutputValue {
- // (undocumented)
- action: 'REGISTER';
- // (undocumented)
- publicKeyCredentialCreationOptions: FidoRegistrationOptions;
- // (undocumented)
- trigger: string;
-}
-
-// @public (undocumented)
-export type FlowCollector = ActionCollectorNoUrl<'FlowCollector'>;
-
-// @public (undocumented)
-export type FlowNode = ContinueNode | ErrorNode | StartNode | SuccessNode | FailureNode;
-
-// @public
-export type GetClient = StartNode['client'] | ContinueNode['client'] | ErrorNode['client'] | SuccessNode['client'] | FailureNode['client'];
-
-// @public (undocumented)
-export type IdpCollector = ActionCollectorWithUrl<'IdpCollector'>;
-
-// @public (undocumented)
-export type InferActionCollectorType = T extends 'IdpCollector' ? IdpCollector : T extends 'SubmitCollector' ? SubmitCollector : T extends 'FlowCollector' ? FlowCollector : ActionCollectorWithUrl<'ActionCollector'> | ActionCollectorNoUrl<'ActionCollector'>;
-
-// @public
-export type InferAutoCollectorType = T extends 'ProtectCollector' ? ProtectCollector : T extends 'PollingCollector' ? PollingCollector : T extends 'FidoRegistrationCollector' ? FidoRegistrationCollector : T extends 'FidoAuthenticationCollector' ? FidoAuthenticationCollector : T extends 'ObjectValueAutoCollector' ? ObjectValueAutoCollector : SingleValueAutoCollector;
-
-// @public
-export type InferMultiValueCollectorType = T extends 'MultiSelectCollector' ? MultiValueCollectorWithValue<'MultiSelectCollector'> : MultiValueCollectorWithValue<'MultiValueCollector'> | MultiValueCollectorNoValue<'MultiValueCollector'>;
-
-// @public
-export type InferNoValueCollectorType = T extends 'ReadOnlyCollector' ? ReadOnlyCollector : T extends 'RichTextCollector' ? RichTextCollector : T extends 'QrCodeCollector' ? QrCodeCollector : T extends 'AgreementCollector' ? AgreementCollector : NoValueCollectorBase<'NoValueCollector'>;
-
-// @public
-export type InferSingleValueCollectorType = T extends 'TextCollector' ? TextCollector : T extends 'SingleSelectCollector' ? SingleSelectCollector : T extends 'ValidatedTextCollector' ? ValidatedTextCollector : T extends 'PasswordCollector' ? PasswordCollector : T extends 'ValidatedPasswordCollector' ? ValidatedPasswordCollector : 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 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<(ValidatedTextCollector | ValidatedBooleanCollector | ValidatedPasswordCollector | DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | PhoneNumberExtensionCollector | ProtectCollector | FidoRegistrationCollector | FidoAuthenticationCollector | PollingCollector | TextCollector | PasswordCollector | SingleSelectCollector | UnknownCollector | IdpCollector | FlowCollector | SubmitCollector | ReadOnlyCollector | RichTextCollector | QrCodeCollector | AgreementCollector | ActionCollector<"ActionCollector"> | SingleValueCollector<"SingleValueCollector"> | MultiSelectCollector)[]> & {
- getInitialState: () => (ValidatedTextCollector | ValidatedBooleanCollector | ValidatedPasswordCollector | DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | PhoneNumberExtensionCollector | ProtectCollector | FidoRegistrationCollector | FidoAuthenticationCollector | PollingCollector | TextCollector | PasswordCollector | SingleSelectCollector | UnknownCollector | IdpCollector | FlowCollector | SubmitCollector | ReadOnlyCollector | RichTextCollector | QrCodeCollector | AgreementCollector | ActionCollector<"ActionCollector"> | SingleValueCollector<"SingleValueCollector"> | MultiSelectCollector)[];
-};
-
-// @public (undocumented)
-export type NodeStates = StartNode | ContinueNode | ErrorNode | SuccessNode | FailureNode;
-
-// @public (undocumented)
-export type NoValueCollector = InferNoValueCollectorType;
-
-// @public (undocumented)
-export interface NoValueCollectorBase {
- // (undocumented)
- category: 'NoValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type NoValueCollectors = NoValueCollectorBase<'NoValueCollector'> | ReadOnlyCollector | RichTextCollector | QrCodeCollector | AgreementCollector;
-
-// @public
-export type NoValueCollectorTypes = 'ReadOnlyCollector' | 'RichTextCollector' | 'NoValueCollector' | 'QrCodeCollector' | 'AgreementCollector';
-
-// @public
-export interface OAuthDetails {
- // (undocumented)
- [key: string]: unknown;
- // (undocumented)
- code?: string;
- // (undocumented)
- state?: string;
-}
-
-// @public (undocumented)
-export interface ObjectOptionsCollectorWithObjectValue, D = Record> {
- // (undocumented)
- category: 'ObjectValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: V;
- type: string;
- validation: ValidationRequired[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- options: DeviceOptionWithDefault[];
- value?: D | null;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export interface ObjectOptionsCollectorWithStringValue {
- // (undocumented)
- category: 'ObjectValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: V;
- type: string;
- validation: ValidationRequired[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- options: DeviceOptionNoDefault[];
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type ObjectValueAutoCollector = AutoCollector<'ObjectValueAutoCollector', 'ObjectValueAutoCollector', Record>;
-
-// @public (undocumented)
-export type ObjectValueAutoCollectorTypes = 'ObjectValueAutoCollector' | 'FidoRegistrationCollector' | 'FidoAuthenticationCollector';
-
-// @public (undocumented)
-export type ObjectValueCollector = ObjectOptionsCollectorWithObjectValue | ObjectOptionsCollectorWithStringValue | ObjectValueCollectorWithObjectValue;
-
-// @public (undocumented)
-export type ObjectValueCollectors = DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | PhoneNumberExtensionCollector | ObjectOptionsCollectorWithObjectValue<'ObjectSelectCollector'> | ObjectOptionsCollectorWithStringValue<'ObjectSelectCollector'>;
-
-// @public
-export type ObjectValueCollectorTypes = 'DeviceAuthenticationCollector' | 'DeviceRegistrationCollector' | 'PhoneNumberCollector' | 'PhoneNumberExtensionCollector' | 'ObjectOptionsCollector' | 'ObjectValueCollector' | 'ObjectSelectCollector';
-
-// @public (undocumented)
-export interface ObjectValueCollectorWithObjectValue, OV = Record> {
- // (undocumented)
- category: 'ObjectValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: IV;
- type: string;
- validation: (ValidationRequired | ValidationPhoneNumber)[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- value?: OV | null;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export interface OutgoingQueryParams {
- // (undocumented)
- [key: string]: string | string[];
-}
-
-// @public (undocumented)
-export interface PasswordCollector {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string | number | boolean;
- type: string;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- verify: boolean;
- };
- // (undocumented)
- type: 'PasswordCollector';
-}
-
-// @public
-export type PasswordField = {
- type: 'PASSWORD' | 'PASSWORD_VERIFY';
- key: string;
- label: string;
- required?: boolean;
- verify?: boolean;
- passwordPolicy?: PasswordPolicy;
-};
-
-// @public
-export interface PasswordPolicy {
- // (undocumented)
- createdAt?: string;
- // (undocumented)
- default?: boolean;
- // (undocumented)
- description?: string;
- // (undocumented)
- excludesCommonlyUsed?: boolean;
- // (undocumented)
- excludesProfileData?: boolean;
- // (undocumented)
- history?: {
- count?: number;
- retentionDays?: number;
- };
- // (undocumented)
- id?: string;
- // (undocumented)
- length?: {
- min?: number;
- max?: number;
- };
- // (undocumented)
- lockout?: {
- failureCount?: number;
- durationSeconds?: number;
- };
- // (undocumented)
- maxAgeDays?: number;
- // (undocumented)
- maxRepeatedCharacters?: number;
- // (undocumented)
- minAgeDays?: number;
- // (undocumented)
- minCharacters?: Record;
- // (undocumented)
- minUniqueCharacters?: number;
- // (undocumented)
- name?: string;
- // (undocumented)
- notSimilarToCurrent?: boolean;
- // (undocumented)
- populationCount?: number;
- // (undocumented)
- updatedAt?: string;
-}
-
-// @public (undocumented)
-export type PhoneNumberCollector = ObjectValueCollectorWithObjectValue<'PhoneNumberCollector', PhoneNumberInputValue, PhoneNumberOutputValue>;
-
-// @public (undocumented)
-export interface PhoneNumberExtensionCollector {
- // (undocumented)
- category: 'ObjectValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: PhoneNumberExtensionInputValue;
- type: string;
- validation: (ValidationRequired | ValidationPhoneNumber)[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- extensionLabel: string;
- value: PhoneNumberExtensionOutputValue;
- };
- // (undocumented)
- type: 'PhoneNumberExtensionCollector';
-}
-
-// @public (undocumented)
-export type PhoneNumberExtensionField = PhoneNumberField & {
- showExtension: boolean;
- extensionLabel: string;
-};
-
-// @public (undocumented)
-export interface PhoneNumberExtensionInputValue {
- // (undocumented)
- countryCode: string;
- // (undocumented)
- extension: string;
- // (undocumented)
- phoneNumber: string;
-}
-
-// @public (undocumented)
-export interface PhoneNumberExtensionOutputValue {
- // (undocumented)
- countryCode?: string;
- // (undocumented)
- extension?: string;
- // (undocumented)
- phoneNumber?: string;
-}
-
-// @public (undocumented)
-export type PhoneNumberField = {
- type: 'PHONE_NUMBER';
- key: string;
- label: string;
- required: boolean;
- defaultCountryCode: string | null;
- validatePhoneNumber: boolean;
-};
-
-// @public (undocumented)
-export interface PhoneNumberInputValue {
- // (undocumented)
- countryCode: string;
- // (undocumented)
- phoneNumber: string;
-}
-
-// @public (undocumented)
-export interface PhoneNumberOutputValue {
- // (undocumented)
- countryCode?: string;
- // (undocumented)
- phoneNumber?: string;
-}
-
-// @public
-export type Poller = () => Promise;
-
-// @public (undocumented)
-export type PollingCollector = AutoCollector<'SingleValueAutoCollector', 'PollingCollector', string, PollingOutputValue>;
-
-// @public (undocumented)
-export type PollingField = {
- type: 'POLLING';
- key: string;
- pollInterval: number;
- pollRetries: number;
- pollChallengeStatus?: boolean;
- challenge?: string;
-};
-
-// @public (undocumented)
-export interface PollingOutputValue {
- // (undocumented)
- challenge?: string;
- // (undocumented)
- pollChallengeStatus?: boolean;
- // (undocumented)
- pollInterval: number;
- // (undocumented)
- pollRetries: number;
- // (undocumented)
- retriesRemaining?: number;
-}
-
-// @public (undocumented)
-export type PollingStatus = PollingStatusContinue | PollingStatusChallenge;
-
-// @public (undocumented)
-export type PollingStatusChallenge = PollingStatusChallengeComplete | 'expired' | 'timedOut' | 'error';
-
-// @public (undocumented)
-export type PollingStatusChallengeComplete = 'approved' | 'denied' | 'continue' | CustomPollingStatus;
-
-// @public (undocumented)
-export type PollingStatusContinue = 'continue' | 'timedOut';
-
-// @public (undocumented)
-export type ProtectCollector = AutoCollector<'SingleValueAutoCollector', 'ProtectCollector', string, ProtectOutputValue>;
-
-// @public (undocumented)
-export type ProtectField = {
- type: 'PROTECT';
- key: string;
- behavioralDataCollection: boolean;
- universalDeviceIdentification: boolean;
-};
-
-// @public
-export interface ProtectOutputValue {
- // (undocumented)
- behavioralDataCollection: boolean;
- // (undocumented)
- universalDeviceIdentification: boolean;
-}
-
-// @public
-export interface QrCodeCollector extends NoValueCollectorBase<'QrCodeCollector'> {
- // (undocumented)
- output: NoValueCollectorBase<'QrCodeCollector'>['output'] & {
- src: string;
- };
-}
-
-// @public (undocumented)
-export type QrCodeField = {
- type: 'QR_CODE';
- key: string;
- content: string;
- fallbackText?: string;
-};
-
-// @public
-export interface ReadOnlyCollector extends NoValueCollectorBase<'ReadOnlyCollector'> {
- // (undocumented)
- output: NoValueCollectorBase<'ReadOnlyCollector'>['output'] & {
- content: string;
- };
-}
-
-// @public (undocumented)
-export type ReadOnlyField = {
- type: 'LABEL';
- content: string;
- richContent?: RichContent;
- key?: string;
-};
-
-// @public (undocumented)
-export type ReadOnlyFields = ReadOnlyField | QrCodeField | AgreementField;
-
-// @public (undocumented)
-export type RedirectField = {
- type: 'SOCIAL_LOGIN_BUTTON';
- key: string;
- label: string;
- links: Links;
-};
-
-// @public (undocumented)
-export type RedirectFields = RedirectField;
-
-export { RequestMiddleware }
-
-// @public
-export type RichContent = {
- content: string;
- replacements?: Record;
-};
-
-// @public
-export interface RichContentLink {
- // (undocumented)
- href: string;
- // (undocumented)
- key: string;
- // (undocumented)
- target?: '_self' | '_blank';
- // (undocumented)
- type: 'link';
- // (undocumented)
- value: string;
-}
-
-// @public
-export type RichContentReplacement = {
- type: 'link';
- value: string;
- href: string;
- target?: '_self' | '_blank';
-};
-
-// @public
-export interface RichTextCollector extends NoValueCollectorBase<'RichTextCollector'> {
- // (undocumented)
- output: NoValueCollectorBase<'RichTextCollector'>['output'] & {
- content: string;
- richContent: CollectorRichContent;
- };
-}
-
-// @public (undocumented)
-export interface SelectorOption {
- // (undocumented)
- label: string;
- // (undocumented)
- value: string;
-}
-
-// @public (undocumented)
-export type SingleCheckboxField = {
- type: 'SINGLE_CHECKBOX';
- inputType: 'BOOLEAN';
- key: string;
- label: string;
- required: boolean;
- validation?: {
- errorMessage: string;
- };
-};
-
-// @public (undocumented)
-export type SingleSelectCollector = SingleSelectCollectorWithValue<'SingleSelectCollector'>;
-
-// @public (undocumented)
-export interface SingleSelectCollectorNoValue {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string | number | boolean;
- type: string;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- options: SelectorOption[];
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export interface SingleSelectCollectorWithValue {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string | number | boolean;
- type: string;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- value: string | number | boolean;
- options: SelectorOption[];
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type SingleSelectField = {
- inputType: 'SINGLE_SELECT';
- key: string;
- label: string;
- options: {
- label: string;
- value: string;
- }[];
- required?: boolean;
- type: 'RADIO' | 'DROPDOWN';
-};
-
-// @public (undocumented)
-export type SingleValueAutoCollector = AutoCollector<'SingleValueAutoCollector', 'SingleValueAutoCollector', string>;
-
-// @public (undocumented)
-export type SingleValueAutoCollectorTypes = 'SingleValueAutoCollector' | 'ProtectCollector' | 'PollingCollector';
-
-// @public
-export type SingleValueCollector = SingleValueCollectorWithValue | SingleValueCollectorNoValue;
-
-// @public (undocumented)
-export interface SingleValueCollectorNoValue {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string | number | boolean;
- type: string;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type SingleValueCollectors = ValidatedPasswordCollector | PasswordCollector | SingleSelectCollector | TextCollector | ValidatedTextCollector | ValidatedBooleanCollector | SingleValueCollectorWithValue<'SingleValueCollector'>;
-
-// @public
-export type SingleValueCollectorTypes = 'PasswordCollector' | 'ValidatedPasswordCollector' | '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: string | string[] | boolean | PhoneNumberInputValue | PhoneNumberExtensionInputValue | FidoRegistrationInputValue | FidoAuthenticationInputValue;
-index?: number;
-}, string>;
-
-// @public
-export type Updater = (value: CollectorValueType, index?: number) => InternalErrorResponse | null;
-
-// @public (undocumented)
-export type ValidatedBooleanCollector = ValidatedSingleValueCollectorWithValue<'ValidatedBooleanCollector', boolean>;
-
-// @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 type { AsyncLegacyConfigOptions } from '@forgerock/sdk-types';
+import { BaseQueryFn } from '@reduxjs/toolkit/query';
+import { CustomLogger } from '@forgerock/sdk-logger';
+import { FetchArgs } from '@reduxjs/toolkit/query';
+import { FetchBaseQueryError } from '@reduxjs/toolkit/query';
+import { FetchBaseQueryMeta } from '@reduxjs/toolkit/query';
+import { GenericError } from '@forgerock/sdk-types';
+import { LogLevel } from '@forgerock/sdk-logger';
+import { MutationDefinition } from '@reduxjs/toolkit/query';
+import type { MutationResultSelectorResult } from '@reduxjs/toolkit/query';
+import { QueryDefinition } from '@reduxjs/toolkit/query';
+import { QueryStatus } from '@reduxjs/toolkit/query';
+import { Reducer } from '@reduxjs/toolkit';
+import { RequestMiddleware } from '@forgerock/sdk-request-middleware';
+import { RootState } from '@reduxjs/toolkit/query';
+import { SerializedError } from '@reduxjs/toolkit';
+import { Unsubscribe } from '@reduxjs/toolkit';
+
+// @public (undocumented)
+export type ActionCollector =
+ | ActionCollectorNoUrl
+ | ActionCollectorWithUrl;
+
+// @public (undocumented)
+export interface ActionCollectorNoUrl {
+ // (undocumented)
+ category: 'ActionCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type ActionCollectors =
+ | ActionCollectorWithUrl<'IdpCollector'>
+ | ActionCollectorNoUrl<'ActionCollector'>
+ | ActionCollectorNoUrl<'FlowCollector'>
+ | ActionCollectorNoUrl<'SubmitCollector'>;
+
+// @public
+export type ActionCollectorTypes =
+ | 'FlowCollector'
+ | 'SubmitCollector'
+ | 'IdpCollector'
+ | 'ActionCollector';
+
+// @public (undocumented)
+export interface ActionCollectorWithUrl {
+ // (undocumented)
+ category: 'ActionCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ url?: string | null;
+ };
+ // (undocumented)
+ type: T;
+}
+
+export { ActionTypes };
+
+// @public (undocumented)
+export interface AgreementCollector extends NoValueCollectorBase<'AgreementCollector'> {
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ titleEnabled: boolean;
+ title: string;
+ agreement: {
+ id: string;
+ useDynamicAgreement: boolean;
+ };
+ enabled: boolean;
+ };
+}
+
+// @public (undocumented)
+export type AgreementField = {
+ type: 'AGREEMENT';
+ key: string;
+ content: string;
+ titleEnabled: boolean;
+ title: string;
+ agreement: {
+ id: string;
+ useDynamicAgreement: boolean;
+ };
+ enabled: boolean;
+};
+
+// @public (undocumented)
+export interface AssertionValue extends Omit<
+ PublicKeyCredential,
+ 'rawId' | 'response' | 'getClientExtensionResults' | 'toJSON'
+> {
+ // (undocumented)
+ rawId: string;
+ // (undocumented)
+ response: {
+ clientDataJSON: string;
+ authenticatorData: string;
+ signature: string;
+ userHandle: string | null;
+ };
+}
+
+// @public (undocumented)
+export interface AttestationValue extends Omit<
+ PublicKeyCredential,
+ 'rawId' | 'response' | 'getClientExtensionResults' | 'toJSON'
+> {
+ // (undocumented)
+ rawId: string;
+ // (undocumented)
+ response: {
+ clientDataJSON: string;
+ attestationObject: string;
+ };
+}
+
+// @public (undocumented)
+export interface AutoCollector<
+ C extends AutoCollectorCategories,
+ T extends AutoCollectorTypes,
+ IV = string,
+ OV = Record,
+> {
+ // (undocumented)
+ category: C;
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: IV;
+ type: string;
+ validation?: ValidationRequired[] | null;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ type: string;
+ config: OV;
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type AutoCollectorCategories = 'SingleValueAutoCollector' | 'ObjectValueAutoCollector';
+
+// @public (undocumented)
+export type AutoCollectors =
+ | ProtectCollector
+ | FidoRegistrationCollector
+ | FidoAuthenticationCollector
+ | PollingCollector
+ | SingleValueAutoCollector
+ | ObjectValueAutoCollector;
+
+// @public (undocumented)
+export type AutoCollectorTypes = SingleValueAutoCollectorTypes | ObjectValueAutoCollectorTypes;
+
+// @public (undocumented)
+export interface CollectorErrors {
+ // (undocumented)
+ code: string;
+ // (undocumented)
+ message: string;
+ // (undocumented)
+ target: string;
+}
+
+// @public (undocumented)
+export type CollectorInputTypes =
+ | string
+ | string[]
+ | boolean
+ | PhoneNumberInputValue
+ | PhoneNumberExtensionInputValue
+ | FidoRegistrationInputValue
+ | FidoAuthenticationInputValue;
+
+// @public
+export interface CollectorRichContent {
+ // (undocumented)
+ content: string;
+ // (undocumented)
+ replacements: RichContentLink[];
+}
+
+// @public (undocumented)
+export type Collectors =
+ | FlowCollector
+ | PasswordCollector
+ | ValidatedPasswordCollector
+ | TextCollector
+ | ValidatedBooleanCollector
+ | SingleSelectCollector
+ | IdpCollector
+ | SubmitCollector
+ | ActionCollector<'ActionCollector'>
+ | SingleValueCollector<'SingleValueCollector'>
+ | MultiSelectCollector
+ | DeviceAuthenticationCollector
+ | DeviceRegistrationCollector
+ | PhoneNumberCollector
+ | PhoneNumberExtensionCollector
+ | ReadOnlyCollector
+ | RichTextCollector
+ | ValidatedTextCollector
+ | ProtectCollector
+ | PollingCollector
+ | FidoRegistrationCollector
+ | FidoAuthenticationCollector
+ | QrCodeCollector
+ | AgreementCollector
+ | UnknownCollector;
+
+// @public
+export type CollectorValueType = T extends {
+ type: 'PasswordCollector';
+}
+ ? string
+ : T extends {
+ type: 'ValidatedPasswordCollector';
+ }
+ ? string
+ : T extends {
+ type: 'TextCollector';
+ category: 'SingleValueCollector';
+ }
+ ? string
+ : T extends {
+ type: 'TextCollector';
+ category: 'ValidatedSingleValueCollector';
+ }
+ ? string
+ : T extends {
+ type: 'ValidatedBooleanCollector';
+ }
+ ? boolean
+ : T extends {
+ type: 'SingleSelectCollector';
+ }
+ ? string
+ : T extends {
+ type: 'MultiSelectCollector';
+ }
+ ? string[]
+ : T extends {
+ type: 'DeviceRegistrationCollector';
+ }
+ ? string
+ : T extends {
+ type: 'DeviceAuthenticationCollector';
+ }
+ ? string
+ : T extends {
+ type: 'PhoneNumberCollector';
+ }
+ ? PhoneNumberInputValue
+ : T extends {
+ type: 'PhoneNumberExtensionCollector';
+ }
+ ? PhoneNumberExtensionInputValue
+ : T extends {
+ type: 'FidoRegistrationCollector';
+ }
+ ? FidoRegistrationInputValue
+ : T extends {
+ type: 'FidoAuthenticationCollector';
+ }
+ ? FidoAuthenticationInputValue
+ : T extends {
+ category: 'SingleValueCollector';
+ }
+ ? string
+ : T extends {
+ category: 'ValidatedSingleValueCollector';
+ }
+ ? string
+ : T extends {
+ category: 'MultiValueCollector';
+ }
+ ? string[]
+ : CollectorInputTypes;
+
+// @public (undocumented)
+export type ComplexValueFields =
+ | DeviceAuthenticationField
+ | DeviceRegistrationField
+ | PhoneNumberField
+ | PhoneNumberExtensionField
+ | FidoRegistrationField
+ | FidoAuthenticationField
+ | PollingField;
+
+// @public (undocumented)
+export interface ContinueNode {
+ // (undocumented)
+ cache: {
+ key: string;
+ };
+ // (undocumented)
+ client: {
+ action: string;
+ collectors: Collectors[];
+ description?: string;
+ name?: string;
+ status: 'continue';
+ };
+ // (undocumented)
+ error: null;
+ // (undocumented)
+ httpStatus: number;
+ // (undocumented)
+ server: {
+ _links?: Links;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ href?: string;
+ eventName?: string;
+ status: 'continue';
+ };
+ // (undocumented)
+ status: 'continue';
+}
+
+export { CustomLogger };
+
+// @public
+export type CustomPollingStatus = string & {};
+
+// @public
+export function davinci(input: {
+ config: DaVinciConfig;
+ requestMiddleware?: RequestMiddleware[];
+ logger?: {
+ level: LogLevel;
+ custom?: CustomLogger;
+ };
+}): Promise<{
+ subscribe: (listener: () => void) => Unsubscribe;
+ externalIdp: () => () => Promise;
+ flow: (action: DaVinciAction) => InitFlow;
+ next: (args?: DaVinciRequest) => Promise;
+ resume: (input: { continueToken: string }) => Promise;
+ start: (
+ options?: StartOptions | undefined,
+ ) => Promise;
+ update: <
+ T extends SingleValueCollectors | MultiSelectCollector | ObjectValueCollectors | AutoCollectors,
+ >(
+ collector: T,
+ ) => Updater;
+ validate: (
+ collector:
+ | SingleValueCollectors
+ | ObjectValueCollectors
+ | MultiValueCollectors
+ | AutoCollectors,
+ ) => Validator;
+ pollStatus: (collector: PollingCollector) => Poller;
+ getClient: () =>
+ | {
+ 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';
+ }
+ | {
+ _links?: Links;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ href?: string;
+ eventName?: string;
+ status: 'continue';
+ }
+ | {
+ _links?: Links;
+ eventName?: string;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ status: 'error';
+ }
+ | {
+ _links?: Links;
+ eventName?: string;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ href?: string;
+ session?: string;
+ status: 'success';
+ }
+ | {
+ _links?: Links;
+ eventName?: string;
+ href?: string;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ status: 'failure';
+ }
+ | null;
+ cache: {
+ getLatestResponse: () =>
+ | ((
+ state: RootState<
+ {
+ flow: MutationDefinition<
+ any,
+ BaseQueryFn<
+ string | FetchArgs,
+ unknown,
+ FetchBaseQueryError,
+ {},
+ FetchBaseQueryMeta
+ >,
+ never,
+ unknown,
+ 'davinci',
+ any
+ >;
+ next: MutationDefinition<
+ any,
+ BaseQueryFn<
+ string | FetchArgs,
+ unknown,
+ FetchBaseQueryError,
+ {},
+ FetchBaseQueryMeta
+ >,
+ never,
+ unknown,
+ 'davinci',
+ any
+ >;
+ start: MutationDefinition<
+ StartOptions | undefined,
+ BaseQueryFn<
+ string | FetchArgs,
+ unknown,
+ FetchBaseQueryError,
+ {},
+ FetchBaseQueryMeta
+ >,
+ never,
+ unknown,
+ 'davinci',
+ unknown
+ >;
+ resume: QueryDefinition<
+ {
+ serverInfo: ContinueNode['server'];
+ continueToken: string;
+ },
+ BaseQueryFn<
+ string | FetchArgs,
+ unknown,
+ FetchBaseQueryError,
+ {},
+ FetchBaseQueryMeta
+ >,
+ never,
+ unknown,
+ 'davinci',
+ unknown
+ >;
+ poll: MutationDefinition<
+ {
+ endpoint: string;
+ interactionId: string;
+ },
+ BaseQueryFn<
+ string | FetchArgs,
+ unknown,
+ FetchBaseQueryError,
+ {},
+ FetchBaseQueryMeta
+ >,
+ never,
+ unknown,
+ 'davinci',
+ unknown
+ >;
+ },
+ never,
+ 'davinci'
+ >,
+ ) =>
+ | ({
+ requestId?: undefined;
+ status: QueryStatus.uninitialized;
+ data?: undefined;
+ error?: undefined;
+ endpointName?: string;
+ startedTimeStamp?: undefined;
+ fulfilledTimeStamp?: undefined;
+ } & {
+ status: QueryStatus.uninitialized;
+ isUninitialized: true;
+ isLoading: false;
+ isSuccess: false;
+ isError: false;
+ })
+ | ({
+ status: QueryStatus.fulfilled;
+ } & Omit<
+ {
+ requestId: string;
+ data?: unknown;
+ error?: SerializedError | FetchBaseQueryError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ },
+ 'data' | 'fulfilledTimeStamp'
+ > &
+ Required<
+ Pick<
+ {
+ requestId: string;
+ data?: unknown;
+ error?: SerializedError | FetchBaseQueryError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ },
+ 'data' | 'fulfilledTimeStamp'
+ >
+ > & {
+ error: undefined;
+ } & {
+ status: QueryStatus.fulfilled;
+ isUninitialized: false;
+ isLoading: false;
+ isSuccess: true;
+ isError: false;
+ })
+ | ({
+ status: QueryStatus.pending;
+ } & {
+ requestId: string;
+ data?: unknown;
+ error?: SerializedError | FetchBaseQueryError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ } & {
+ data?: undefined;
+ } & {
+ status: QueryStatus.pending;
+ isUninitialized: false;
+ isLoading: true;
+ isSuccess: false;
+ isError: false;
+ })
+ | ({
+ status: QueryStatus.rejected;
+ } & Omit<
+ {
+ requestId: string;
+ data?: unknown;
+ error?: SerializedError | FetchBaseQueryError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ },
+ 'error'
+ > &
+ Required<
+ Pick<
+ {
+ requestId: string;
+ data?: unknown;
+ error?: SerializedError | FetchBaseQueryError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ },
+ 'error'
+ >
+ > & {
+ status: QueryStatus.rejected;
+ isUninitialized: false;
+ isLoading: false;
+ isSuccess: false;
+ isError: true;
+ }))
+ | {
+ error: {
+ message: string;
+ type: string;
+ };
+ };
+ getResponseWithId: (requestId: string) =>
+ | ((
+ state: RootState<
+ {
+ flow: MutationDefinition<
+ any,
+ BaseQueryFn<
+ string | FetchArgs,
+ unknown,
+ FetchBaseQueryError,
+ {},
+ FetchBaseQueryMeta
+ >,
+ never,
+ unknown,
+ 'davinci',
+ any
+ >;
+ next: MutationDefinition<
+ any,
+ BaseQueryFn<
+ string | FetchArgs,
+ unknown,
+ FetchBaseQueryError,
+ {},
+ FetchBaseQueryMeta
+ >,
+ never,
+ unknown,
+ 'davinci',
+ any
+ >;
+ start: MutationDefinition<
+ StartOptions | undefined,
+ BaseQueryFn<
+ string | FetchArgs,
+ unknown,
+ FetchBaseQueryError,
+ {},
+ FetchBaseQueryMeta
+ >,
+ never,
+ unknown,
+ 'davinci',
+ unknown
+ >;
+ resume: QueryDefinition<
+ {
+ serverInfo: ContinueNode['server'];
+ continueToken: string;
+ },
+ BaseQueryFn<
+ string | FetchArgs,
+ unknown,
+ FetchBaseQueryError,
+ {},
+ FetchBaseQueryMeta
+ >,
+ never,
+ unknown,
+ 'davinci',
+ unknown
+ >;
+ poll: MutationDefinition<
+ {
+ endpoint: string;
+ interactionId: string;
+ },
+ BaseQueryFn<
+ string | FetchArgs,
+ unknown,
+ FetchBaseQueryError,
+ {},
+ FetchBaseQueryMeta
+ >,
+ never,
+ unknown,
+ 'davinci',
+ unknown
+ >;
+ },
+ never,
+ 'davinci'
+ >,
+ ) =>
+ | ({
+ requestId?: undefined;
+ status: QueryStatus.uninitialized;
+ data?: undefined;
+ error?: undefined;
+ endpointName?: string;
+ startedTimeStamp?: undefined;
+ fulfilledTimeStamp?: undefined;
+ } & {
+ status: QueryStatus.uninitialized;
+ isUninitialized: true;
+ isLoading: false;
+ isSuccess: false;
+ isError: false;
+ })
+ | ({
+ status: QueryStatus.fulfilled;
+ } & Omit<
+ {
+ requestId: string;
+ data?: unknown;
+ error?: SerializedError | FetchBaseQueryError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ },
+ 'data' | 'fulfilledTimeStamp'
+ > &
+ Required<
+ Pick<
+ {
+ requestId: string;
+ data?: unknown;
+ error?: SerializedError | FetchBaseQueryError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ },
+ 'data' | 'fulfilledTimeStamp'
+ >
+ > & {
+ error: undefined;
+ } & {
+ status: QueryStatus.fulfilled;
+ isUninitialized: false;
+ isLoading: false;
+ isSuccess: true;
+ isError: false;
+ })
+ | ({
+ status: QueryStatus.pending;
+ } & {
+ requestId: string;
+ data?: unknown;
+ error?: SerializedError | FetchBaseQueryError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ } & {
+ data?: undefined;
+ } & {
+ status: QueryStatus.pending;
+ isUninitialized: false;
+ isLoading: true;
+ isSuccess: false;
+ isError: false;
+ })
+ | ({
+ status: QueryStatus.rejected;
+ } & Omit<
+ {
+ requestId: string;
+ data?: unknown;
+ error?: SerializedError | FetchBaseQueryError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ },
+ 'error'
+ > &
+ Required<
+ Pick<
+ {
+ requestId: string;
+ data?: unknown;
+ error?: SerializedError | FetchBaseQueryError | undefined;
+ endpointName: string;
+ startedTimeStamp: number;
+ fulfilledTimeStamp?: number;
+ },
+ 'error'
+ >
+ > & {
+ status: QueryStatus.rejected;
+ isUninitialized: false;
+ isLoading: false;
+ isSuccess: false;
+ isError: true;
+ }))
+ | {
+ error: {
+ message: string;
+ type: string;
+ };
+ };
+ };
+}>;
+
+// @public
+export interface DaVinciAction {
+ // (undocumented)
+ action: string;
+}
+
+// @public
+export interface DaVinciBaseResponse {
+ // (undocumented)
+ capabilityName?: string;
+ // (undocumented)
+ companyId?: string;
+ // (undocumented)
+ connectionId?: string;
+ // (undocumented)
+ connectorId?: string;
+ // (undocumented)
+ id?: string;
+ // (undocumented)
+ interactionId?: string;
+ // (undocumented)
+ interactionToken?: string;
+ // (undocumented)
+ isResponseCompatibleWithMobileAndWebSdks?: boolean;
+ // (undocumented)
+ status?: string;
+}
+
+// @public
+export type DaVinciCacheEntry = {
+ data?: DaVinciBaseResponse;
+ error?: {
+ data: DaVinciBaseResponse;
+ status: number;
+ };
+} & {
+ data?: any;
+ error?: any;
+} & MutationResultSelectorResult;
+
+// @public (undocumented)
+export type DavinciClient = Awaited>;
+
+// @public (undocumented)
+export interface DaVinciConfig extends AsyncLegacyConfigOptions {
+ // (undocumented)
+ responseType?: string;
+}
+
+// @public (undocumented)
+export interface DaVinciError extends Omit {
+ // (undocumented)
+ collectors?: CollectorErrors[];
+ // (undocumented)
+ internalHttpStatus?: number;
+ // (undocumented)
+ message: string;
+ // (undocumented)
+ status: 'error' | 'failure' | 'unknown';
+}
+
+// @public (undocumented)
+export interface DaVinciErrorCacheEntry {
+ // (undocumented)
+ endpointName: 'next' | 'flow' | 'start';
+ // (undocumented)
+ error: {
+ data: T;
+ };
+ // (undocumented)
+ fulfilledTimeStamp: number;
+ // (undocumented)
+ isError: boolean;
+ // (undocumented)
+ isLoading: boolean;
+ // (undocumented)
+ isSuccess: boolean;
+ // (undocumented)
+ isUninitialized: boolean;
+ // (undocumented)
+ requestId: string;
+ // (undocumented)
+ startedTimeStamp: number;
+ // (undocumented)
+ status: 'fulfilled' | 'pending' | 'rejected';
+}
+
+// @public (undocumented)
+export interface DavinciErrorResponse extends DaVinciBaseResponse {
+ // (undocumented)
+ cause?: string | null;
+ // (undocumented)
+ code: string | number;
+ // (undocumented)
+ details?: ErrorDetail[];
+ // (undocumented)
+ doNotSendToOE?: boolean;
+ // (undocumented)
+ error?: {
+ code?: string;
+ message?: string;
+ };
+ // (undocumented)
+ errorCategory?: string;
+ // (undocumented)
+ errorMessage?: string;
+ // (undocumented)
+ expected?: boolean;
+ // (undocumented)
+ httpResponseCode: number;
+ // (undocumented)
+ isErrorCustomized?: boolean;
+ // (undocumented)
+ message: string;
+ // (undocumented)
+ metricAttributes?: {
+ [key: string]: unknown;
+ };
+}
+
+// @public (undocumented)
+export interface DaVinciFailureResponse extends DaVinciBaseResponse {
+ // (undocumented)
+ error?: {
+ code?: string;
+ message?: string;
+ [key: string]: unknown;
+ };
+}
+
+// @public (undocumented)
+export type DaVinciField =
+ | ComplexValueFields
+ | MultiValueFields
+ | ReadOnlyFields
+ | RedirectFields
+ | SingleValueFields;
+
+// @public
+export interface DaVinciNextResponse extends DaVinciBaseResponse {
+ // (undocumented)
+ eventName?: string;
+ // (undocumented)
+ form?: {
+ name?: string;
+ description?: string;
+ components?: {
+ fields?: DaVinciField[];
+ };
+ };
+ // (undocumented)
+ formData?: {
+ value?: {
+ [key: string]: string;
+ };
+ };
+ // (undocumented)
+ _links?: Links;
+}
+
+// @public
+export interface DaVinciPollResponse extends DaVinciBaseResponse {
+ // (undocumented)
+ eventName?: string;
+ // (undocumented)
+ _links?: Links;
+ // (undocumented)
+ success?: boolean;
+}
+
+// @public (undocumented)
+export interface DaVinciRequest {
+ // (undocumented)
+ eventName: string;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ interactionId: string;
+ // (undocumented)
+ parameters: {
+ eventType: 'submit' | 'action' | 'polling';
+ data: {
+ actionKey: string;
+ formData?: Record;
+ };
+ };
+}
+
+// @public (undocumented)
+export interface DaVinciSuccessResponse extends DaVinciBaseResponse {
+ // (undocumented)
+ authorizeResponse?: OAuthDetails;
+ // (undocumented)
+ environment: {
+ id: string;
+ [key: string]: unknown;
+ };
+ // (undocumented)
+ _links?: Links;
+ // (undocumented)
+ resetCookie?: boolean;
+ // (undocumented)
+ session?: {
+ id?: string;
+ [key: string]: unknown;
+ };
+ // (undocumented)
+ sessionToken?: string;
+ // (undocumented)
+ sessionTokenMaxAge?: number;
+ // (undocumented)
+ status: string;
+ // (undocumented)
+ subFlowSettings?: {
+ cssLinks?: unknown[];
+ cssUrl?: unknown;
+ jsLinks?: unknown[];
+ loadingScreenSettings?: unknown;
+ reactSkUrl?: unknown;
+ };
+ // (undocumented)
+ success: true;
+}
+
+// @public (undocumented)
+export type DeviceAuthenticationCollector = ObjectOptionsCollectorWithObjectValue<
+ 'DeviceAuthenticationCollector',
+ DeviceValue
+>;
+
+// @public (undocumented)
+export type DeviceAuthenticationField = {
+ type: 'DEVICE_AUTHENTICATION';
+ key: string;
+ label: string;
+ options: {
+ type: string;
+ iconSrc: string;
+ title: string;
+ id: string;
+ default: boolean;
+ description: string;
+ }[];
+ required: boolean;
+};
+
+// @public (undocumented)
+export interface DeviceOptionNoDefault {
+ // (undocumented)
+ content: string;
+ // (undocumented)
+ key: string;
+ // (undocumented)
+ label: string;
+ // (undocumented)
+ type: string;
+ // (undocumented)
+ value: string;
+}
+
+// @public (undocumented)
+export interface DeviceOptionWithDefault {
+ // (undocumented)
+ content: string;
+ // (undocumented)
+ default: boolean;
+ // (undocumented)
+ key: string;
+ // (undocumented)
+ label: string;
+ // (undocumented)
+ type: string;
+ // (undocumented)
+ value: string;
+}
+
+// @public (undocumented)
+export type DeviceRegistrationCollector = ObjectOptionsCollectorWithStringValue<
+ 'DeviceRegistrationCollector',
+ string
+>;
+
+// @public (undocumented)
+export type DeviceRegistrationField = {
+ type: 'DEVICE_REGISTRATION';
+ key: string;
+ label: string;
+ options: {
+ type: string;
+ iconSrc: string;
+ title: string;
+ description: string;
+ }[];
+ required: boolean;
+};
+
+// @public (undocumented)
+export interface DeviceValue {
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ type: string;
+ // (undocumented)
+ value: string;
+}
+
+// @public (undocumented)
+export interface ErrorDetail {
+ // (undocumented)
+ message?: string;
+ // (undocumented)
+ rawResponse?: {
+ _embedded?: {
+ users?: Array;
+ };
+ code?: string;
+ count?: number;
+ details?: NestedErrorDetails[];
+ id?: string;
+ message?: string;
+ size?: number;
+ userFilter?: string;
+ [key: string]: unknown;
+ };
+ // (undocumented)
+ statusCode?: number;
+}
+
+// @public (undocumented)
+export interface ErrorNode {
+ // (undocumented)
+ cache: {
+ key: string;
+ };
+ // (undocumented)
+ client: {
+ action: string;
+ collectors: Collectors[];
+ description?: string;
+ name?: string;
+ status: 'error';
+ };
+ // (undocumented)
+ error: DaVinciError;
+ // (undocumented)
+ httpStatus: number;
+ // (undocumented)
+ server: {
+ _links?: Links;
+ eventName?: string;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ status: 'error';
+ } | null;
+ // (undocumented)
+ status: 'error';
+}
+
+// @public (undocumented)
+export interface FailureNode {
+ // (undocumented)
+ cache: {
+ key: string;
+ };
+ // (undocumented)
+ client: {
+ status: 'failure';
+ };
+ // (undocumented)
+ error: DaVinciError;
+ // (undocumented)
+ httpStatus: number;
+ // (undocumented)
+ server: {
+ _links?: Links;
+ eventName?: string;
+ href?: string;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ status: 'failure';
+ } | null;
+ // (undocumented)
+ status: 'failure';
+}
+
+// @public
+export function fido(): FidoClient;
+
+// @public (undocumented)
+export type FidoAuthenticationCollector = AutoCollector<
+ 'ObjectValueAutoCollector',
+ 'FidoAuthenticationCollector',
+ FidoAuthenticationInputValue,
+ FidoAuthenticationOutputValue
+>;
+
+// @public (undocumented)
+export type FidoAuthenticationField = {
+ type: 'FIDO2';
+ key: string;
+ label: string;
+ publicKeyCredentialRequestOptions: FidoAuthenticationOptions;
+ action: 'AUTHENTICATE';
+ trigger: string;
+ required: boolean;
+};
+
+// @public (undocumented)
+export interface FidoAuthenticationInputValue {
+ // (undocumented)
+ assertionValue?: AssertionValue;
+}
+
+// @public (undocumented)
+export interface FidoAuthenticationOptions extends Omit<
+ PublicKeyCredentialRequestOptions,
+ 'challenge' | 'allowCredentials'
+> {
+ // (undocumented)
+ allowCredentials?: {
+ id: number[];
+ transports?: AuthenticatorTransport[];
+ type: PublicKeyCredentialType;
+ }[];
+ // (undocumented)
+ challenge: number[];
+}
+
+// @public (undocumented)
+export interface FidoAuthenticationOutputValue {
+ // (undocumented)
+ action: 'AUTHENTICATE';
+ // (undocumented)
+ publicKeyCredentialRequestOptions: FidoAuthenticationOptions;
+ // (undocumented)
+ trigger: string;
+}
+
+// @public (undocumented)
+export interface FidoClient {
+ authenticate: (
+ options: FidoAuthenticationOptions,
+ ) => Promise;
+ register: (
+ options: FidoRegistrationOptions,
+ ) => Promise;
+}
+
+// @public (undocumented)
+export type FidoRegistrationCollector = AutoCollector<
+ 'ObjectValueAutoCollector',
+ 'FidoRegistrationCollector',
+ FidoRegistrationInputValue,
+ FidoRegistrationOutputValue
+>;
+
+// @public (undocumented)
+export type FidoRegistrationField = {
+ type: 'FIDO2';
+ key: string;
+ label: string;
+ publicKeyCredentialCreationOptions: FidoRegistrationOptions;
+ action: 'REGISTER';
+ trigger: string;
+ required: boolean;
+};
+
+// @public (undocumented)
+export interface FidoRegistrationInputValue {
+ // (undocumented)
+ attestationValue?: AttestationValue;
+}
+
+// @public (undocumented)
+export interface FidoRegistrationOptions extends Omit<
+ PublicKeyCredentialCreationOptions,
+ 'challenge' | 'user' | 'pubKeyCredParams' | 'excludeCredentials'
+> {
+ // (undocumented)
+ challenge: number[];
+ // (undocumented)
+ excludeCredentials?: {
+ id: number[];
+ transports?: AuthenticatorTransport[];
+ type: PublicKeyCredentialType;
+ }[];
+ // (undocumented)
+ pubKeyCredParams: {
+ alg: string | number;
+ type: PublicKeyCredentialType;
+ }[];
+ // (undocumented)
+ user: {
+ id: number[];
+ name: string;
+ displayName: string;
+ };
+}
+
+// @public (undocumented)
+export interface FidoRegistrationOutputValue {
+ // (undocumented)
+ action: 'REGISTER';
+ // (undocumented)
+ publicKeyCredentialCreationOptions: FidoRegistrationOptions;
+ // (undocumented)
+ trigger: string;
+}
+
+// @public (undocumented)
+export type FlowCollector = ActionCollectorNoUrl<'FlowCollector'>;
+
+// @public (undocumented)
+export type FlowNode = ContinueNode | ErrorNode | StartNode | SuccessNode | FailureNode;
+
+// @public
+export type GetClient =
+ | StartNode['client']
+ | ContinueNode['client']
+ | ErrorNode['client']
+ | SuccessNode['client']
+ | FailureNode['client'];
+
+// @public (undocumented)
+export type IdpCollector = ActionCollectorWithUrl<'IdpCollector'>;
+
+// @public (undocumented)
+export type InferActionCollectorType = T extends 'IdpCollector'
+ ? IdpCollector
+ : T extends 'SubmitCollector'
+ ? SubmitCollector
+ : T extends 'FlowCollector'
+ ? FlowCollector
+ : ActionCollectorWithUrl<'ActionCollector'> | ActionCollectorNoUrl<'ActionCollector'>;
+
+// @public
+export type InferAutoCollectorType = T extends 'ProtectCollector'
+ ? ProtectCollector
+ : T extends 'PollingCollector'
+ ? PollingCollector
+ : T extends 'FidoRegistrationCollector'
+ ? FidoRegistrationCollector
+ : T extends 'FidoAuthenticationCollector'
+ ? FidoAuthenticationCollector
+ : T extends 'ObjectValueAutoCollector'
+ ? ObjectValueAutoCollector
+ : SingleValueAutoCollector;
+
+// @public
+export type InferMultiValueCollectorType =
+ T extends 'MultiSelectCollector'
+ ? MultiValueCollectorWithValue<'MultiSelectCollector'>
+ :
+ | MultiValueCollectorWithValue<'MultiValueCollector'>
+ | MultiValueCollectorNoValue<'MultiValueCollector'>;
+
+// @public
+export type InferNoValueCollectorType =
+ T extends 'ReadOnlyCollector'
+ ? ReadOnlyCollector
+ : T extends 'RichTextCollector'
+ ? RichTextCollector
+ : T extends 'QrCodeCollector'
+ ? QrCodeCollector
+ : T extends 'AgreementCollector'
+ ? AgreementCollector
+ : NoValueCollectorBase<'NoValueCollector'>;
+
+// @public
+export type InferSingleValueCollectorType =
+ T extends 'TextCollector'
+ ? TextCollector
+ : T extends 'SingleSelectCollector'
+ ? SingleSelectCollector
+ : T extends 'ValidatedTextCollector'
+ ? ValidatedTextCollector
+ : T extends 'PasswordCollector'
+ ? PasswordCollector
+ : T extends 'ValidatedPasswordCollector'
+ ? ValidatedPasswordCollector
+ : 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 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<
+ (
+ | ValidatedTextCollector
+ | ValidatedBooleanCollector
+ | ValidatedPasswordCollector
+ | DeviceAuthenticationCollector
+ | DeviceRegistrationCollector
+ | PhoneNumberCollector
+ | PhoneNumberExtensionCollector
+ | ProtectCollector
+ | FidoRegistrationCollector
+ | FidoAuthenticationCollector
+ | PollingCollector
+ | TextCollector
+ | PasswordCollector
+ | SingleSelectCollector
+ | UnknownCollector
+ | IdpCollector
+ | FlowCollector
+ | SubmitCollector
+ | ReadOnlyCollector
+ | RichTextCollector
+ | QrCodeCollector
+ | AgreementCollector
+ | ActionCollector<'ActionCollector'>
+ | SingleValueCollector<'SingleValueCollector'>
+ | MultiSelectCollector
+ )[]
+> & {
+ getInitialState: () => (
+ | ValidatedTextCollector
+ | ValidatedBooleanCollector
+ | ValidatedPasswordCollector
+ | DeviceAuthenticationCollector
+ | DeviceRegistrationCollector
+ | PhoneNumberCollector
+ | PhoneNumberExtensionCollector
+ | ProtectCollector
+ | FidoRegistrationCollector
+ | FidoAuthenticationCollector
+ | PollingCollector
+ | TextCollector
+ | PasswordCollector
+ | SingleSelectCollector
+ | UnknownCollector
+ | IdpCollector
+ | FlowCollector
+ | SubmitCollector
+ | ReadOnlyCollector
+ | RichTextCollector
+ | QrCodeCollector
+ | AgreementCollector
+ | ActionCollector<'ActionCollector'>
+ | SingleValueCollector<'SingleValueCollector'>
+ | MultiSelectCollector
+ )[];
+};
+
+// @public (undocumented)
+export type NodeStates = StartNode | ContinueNode | ErrorNode | SuccessNode | FailureNode;
+
+// @public (undocumented)
+export type NoValueCollector = InferNoValueCollectorType;
+
+// @public (undocumented)
+export interface NoValueCollectorBase {
+ // (undocumented)
+ category: 'NoValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type NoValueCollectors =
+ | NoValueCollectorBase<'NoValueCollector'>
+ | ReadOnlyCollector
+ | RichTextCollector
+ | QrCodeCollector
+ | AgreementCollector;
+
+// @public
+export type NoValueCollectorTypes =
+ | 'ReadOnlyCollector'
+ | 'RichTextCollector'
+ | 'NoValueCollector'
+ | 'QrCodeCollector'
+ | 'AgreementCollector';
+
+// @public
+export interface OAuthDetails {
+ // (undocumented)
+ [key: string]: unknown;
+ // (undocumented)
+ code?: string;
+ // (undocumented)
+ state?: string;
+}
+
+// @public (undocumented)
+export interface ObjectOptionsCollectorWithObjectValue<
+ T extends ObjectValueCollectorTypes,
+ V = Record,
+ D = Record,
+> {
+ // (undocumented)
+ category: 'ObjectValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: V;
+ type: string;
+ validation: ValidationRequired[] | null;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ options: DeviceOptionWithDefault[];
+ value?: D | null;
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export interface ObjectOptionsCollectorWithStringValue<
+ T extends ObjectValueCollectorTypes,
+ V = string,
+> {
+ // (undocumented)
+ category: 'ObjectValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: V;
+ type: string;
+ validation: ValidationRequired[] | null;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ options: DeviceOptionNoDefault[];
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type ObjectValueAutoCollector = AutoCollector<
+ 'ObjectValueAutoCollector',
+ 'ObjectValueAutoCollector',
+ Record
+>;
+
+// @public (undocumented)
+export type ObjectValueAutoCollectorTypes =
+ | 'ObjectValueAutoCollector'
+ | 'FidoRegistrationCollector'
+ | 'FidoAuthenticationCollector';
+
+// @public (undocumented)
+export type ObjectValueCollector =
+ | ObjectOptionsCollectorWithObjectValue
+ | ObjectOptionsCollectorWithStringValue
+ | ObjectValueCollectorWithObjectValue;
+
+// @public (undocumented)
+export type ObjectValueCollectors =
+ | DeviceAuthenticationCollector
+ | DeviceRegistrationCollector
+ | PhoneNumberCollector
+ | PhoneNumberExtensionCollector
+ | ObjectOptionsCollectorWithObjectValue<'ObjectSelectCollector'>
+ | ObjectOptionsCollectorWithStringValue<'ObjectSelectCollector'>;
+
+// @public
+export type ObjectValueCollectorTypes =
+ | 'DeviceAuthenticationCollector'
+ | 'DeviceRegistrationCollector'
+ | 'PhoneNumberCollector'
+ | 'PhoneNumberExtensionCollector'
+ | 'ObjectOptionsCollector'
+ | 'ObjectValueCollector'
+ | 'ObjectSelectCollector';
+
+// @public (undocumented)
+export interface ObjectValueCollectorWithObjectValue<
+ T extends ObjectValueCollectorTypes,
+ IV = Record,
+ OV = Record,
+> {
+ // (undocumented)
+ category: 'ObjectValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: IV;
+ type: string;
+ validation: (ValidationRequired | ValidationPhoneNumber)[] | null;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ value?: OV | null;
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export interface OutgoingQueryParams {
+ // (undocumented)
+ [key: string]: string | string[];
+}
+
+// @public (undocumented)
+export interface PasswordCollector {
+ // (undocumented)
+ category: 'SingleValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: string | number | boolean;
+ type: string;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ verify: boolean;
+ };
+ // (undocumented)
+ type: 'PasswordCollector';
+}
+
+// @public
+export type PasswordField = {
+ type: 'PASSWORD' | 'PASSWORD_VERIFY';
+ key: string;
+ label: string;
+ required?: boolean;
+ verify?: boolean;
+ passwordPolicy?: PasswordPolicy;
+};
+
+// @public
+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;
+ };
+}
+
+// @public (undocumented)
+export type ReadOnlyField = {
+ type: 'LABEL';
+ content: string;
+ richContent?: RichContent;
+ key?: string;
+};
+
+// @public (undocumented)
+export type ReadOnlyFields = ReadOnlyField | QrCodeField | AgreementField;
+
+// @public (undocumented)
+export type RedirectField = {
+ type: 'SOCIAL_LOGIN_BUTTON';
+ key: string;
+ label: string;
+ links: Links;
+};
+
+// @public (undocumented)
+export type RedirectFields = RedirectField;
+
+export { RequestMiddleware };
+
+// @public
+export type RichContent = {
+ content: string;
+ replacements?: Record;
+};
+
+// @public
+export interface RichContentLink {
+ // (undocumented)
+ href: string;
+ // (undocumented)
+ key: string;
+ // (undocumented)
+ target?: '_self' | '_blank';
+ // (undocumented)
+ type: 'link';
+ // (undocumented)
+ value: string;
+}
+
+// @public
+export type RichContentReplacement = {
+ type: 'link';
+ value: string;
+ href: string;
+ target?: '_self' | '_blank';
+};
+
+// @public
+export interface RichTextCollector extends NoValueCollectorBase<'RichTextCollector'> {
+ // (undocumented)
+ output: NoValueCollectorBase<'RichTextCollector'>['output'] & {
+ content: string;
+ richContent: CollectorRichContent;
+ };
+}
+
+// @public (undocumented)
+export interface SelectorOption {
+ // (undocumented)
+ label: string;
+ // (undocumented)
+ value: string;
+}
+
+// @public (undocumented)
+export type SingleCheckboxField = {
+ type: 'SINGLE_CHECKBOX';
+ inputType: 'BOOLEAN';
+ key: string;
+ label: string;
+ required: boolean;
+ validation?: {
+ errorMessage: string;
+ };
+};
+
+// @public (undocumented)
+export type SingleSelectCollector = SingleSelectCollectorWithValue<'SingleSelectCollector'>;
+
+// @public (undocumented)
+export interface SingleSelectCollectorNoValue {
+ // (undocumented)
+ category: 'SingleValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: string | number | boolean;
+ type: string;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ options: SelectorOption[];
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export interface SingleSelectCollectorWithValue {
+ // (undocumented)
+ category: 'SingleValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: string | number | boolean;
+ type: string;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ value: string | number | boolean;
+ options: SelectorOption[];
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type SingleSelectField = {
+ inputType: 'SINGLE_SELECT';
+ key: string;
+ label: string;
+ options: {
+ label: string;
+ value: string;
+ }[];
+ required?: boolean;
+ type: 'RADIO' | 'DROPDOWN';
+};
+
+// @public (undocumented)
+export type SingleValueAutoCollector = AutoCollector<
+ 'SingleValueAutoCollector',
+ 'SingleValueAutoCollector',
+ string
+>;
+
+// @public (undocumented)
+export type SingleValueAutoCollectorTypes =
+ | 'SingleValueAutoCollector'
+ | 'ProtectCollector'
+ | 'PollingCollector';
+
+// @public
+export type SingleValueCollector =
+ | SingleValueCollectorWithValue
+ | SingleValueCollectorNoValue;
+
+// @public (undocumented)
+export interface SingleValueCollectorNoValue {
+ // (undocumented)
+ category: 'SingleValueCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: string | number | boolean;
+ type: string;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type SingleValueCollectors =
+ | ValidatedPasswordCollector
+ | PasswordCollector
+ | SingleSelectCollector
+ | TextCollector
+ | ValidatedTextCollector
+ | ValidatedBooleanCollector
+ | SingleValueCollectorWithValue<'SingleValueCollector'>;
+
+// @public
+export type SingleValueCollectorTypes =
+ | 'PasswordCollector'
+ | 'ValidatedPasswordCollector'
+ | '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:
+ | string
+ | string[]
+ | boolean
+ | PhoneNumberInputValue
+ | PhoneNumberExtensionInputValue
+ | FidoRegistrationInputValue
+ | FidoAuthenticationInputValue;
+ index?: number;
+ },
+ string
+>;
+
+// @public
+export type Updater = (
+ value: CollectorValueType,
+ index?: number,
+) => InternalErrorResponse | null;
+
+// @public (undocumented)
+export type ValidatedBooleanCollector = ValidatedSingleValueCollectorWithValue<
+ 'ValidatedBooleanCollector',
+ boolean
+>;
+
+// @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<
+ T =
+ | ValidatedTextCollector
+ | ValidatedBooleanCollector
+ | ValidatedPasswordCollector
+ | ObjectValueCollectors
+ | MultiValueCollectors
+ | AutoCollectors,
+> = (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 87ac710a3b..19bfe119c0 100644
--- a/packages/davinci-client/api-report/davinci-client.types.api.md
+++ b/packages/davinci-client/api-report/davinci-client.types.api.md
@@ -1,2040 +1,2626 @@
-## API Report File for "@forgerock/davinci-client"
-
-> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
-
-```ts
-
-import { ActionCreatorWithPayload } from '@reduxjs/toolkit';
-import { ActionTypes } from '@forgerock/sdk-request-middleware';
-import type { AsyncLegacyConfigOptions } from '@forgerock/sdk-types';
-import { BaseQueryFn } from '@reduxjs/toolkit/query';
-import { CustomLogger } from '@forgerock/sdk-logger';
-import { FetchArgs } from '@reduxjs/toolkit/query';
-import { FetchBaseQueryError } from '@reduxjs/toolkit/query';
-import { FetchBaseQueryMeta } from '@reduxjs/toolkit/query';
-import { GenericError } from '@forgerock/sdk-types';
-import { LogLevel } from '@forgerock/sdk-logger';
-import { MutationDefinition } from '@reduxjs/toolkit/query';
-import type { MutationResultSelectorResult } from '@reduxjs/toolkit/query';
-import { QueryDefinition } from '@reduxjs/toolkit/query';
-import { QueryStatus } from '@reduxjs/toolkit/query';
-import { Reducer } from '@reduxjs/toolkit';
-import { RequestMiddleware } from '@forgerock/sdk-request-middleware';
-import { RootState } from '@reduxjs/toolkit/query';
-import { SerializedError } from '@reduxjs/toolkit';
-import { Unsubscribe } from '@reduxjs/toolkit';
-
-// @public (undocumented)
-export type ActionCollector = ActionCollectorNoUrl | ActionCollectorWithUrl;
-
-// @public (undocumented)
-export interface ActionCollectorNoUrl {
- // (undocumented)
- category: 'ActionCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type ActionCollectors = ActionCollectorWithUrl<'IdpCollector'> | ActionCollectorNoUrl<'ActionCollector'> | ActionCollectorNoUrl<'FlowCollector'> | ActionCollectorNoUrl<'SubmitCollector'>;
-
-// @public
-export type ActionCollectorTypes = 'FlowCollector' | 'SubmitCollector' | 'IdpCollector' | 'ActionCollector';
-
-// @public (undocumented)
-export interface ActionCollectorWithUrl {
- // (undocumented)
- category: 'ActionCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- url?: string | null;
- };
- // (undocumented)
- type: T;
-}
-
-export { ActionTypes }
-
-// @public (undocumented)
-export interface AgreementCollector extends NoValueCollectorBase<'AgreementCollector'> {
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- titleEnabled: boolean;
- title: string;
- agreement: {
- id: string;
- useDynamicAgreement: boolean;
- };
- enabled: boolean;
- };
-}
-
-// @public (undocumented)
-export type AgreementField = {
- type: 'AGREEMENT';
- key: string;
- content: string;
- titleEnabled: boolean;
- title: string;
- agreement: {
- id: string;
- useDynamicAgreement: boolean;
- };
- enabled: boolean;
-};
-
-// @public (undocumented)
-export interface AssertionValue extends Omit {
- // (undocumented)
- rawId: string;
- // (undocumented)
- response: {
- clientDataJSON: string;
- authenticatorData: string;
- signature: string;
- userHandle: string | null;
- };
-}
-
-// @public (undocumented)
-export interface AttestationValue extends Omit {
- // (undocumented)
- rawId: string;
- // (undocumented)
- response: {
- clientDataJSON: string;
- attestationObject: string;
- };
-}
-
-// @public (undocumented)
-export interface AutoCollector> {
- // (undocumented)
- category: C;
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: IV;
- type: string;
- validation?: ValidationRequired[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- type: string;
- config: OV;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type AutoCollectorCategories = 'SingleValueAutoCollector' | 'ObjectValueAutoCollector';
-
-// @public (undocumented)
-export type AutoCollectors = ProtectCollector | FidoRegistrationCollector | FidoAuthenticationCollector | PollingCollector | SingleValueAutoCollector | ObjectValueAutoCollector;
-
-// @public (undocumented)
-export type AutoCollectorTypes = SingleValueAutoCollectorTypes | ObjectValueAutoCollectorTypes;
-
-// @public (undocumented)
-export interface CollectorErrors {
- // (undocumented)
- code: string;
- // (undocumented)
- message: string;
- // (undocumented)
- target: string;
-}
-
-// @public (undocumented)
-export type CollectorInputTypes = string | string[] | boolean | PhoneNumberInputValue | PhoneNumberExtensionInputValue | FidoRegistrationInputValue | FidoAuthenticationInputValue;
-
-// @public
-export interface CollectorRichContent {
- // (undocumented)
- content: string;
- // (undocumented)
- replacements: RichContentLink[];
-}
-
-// @public (undocumented)
-export type Collectors = FlowCollector | PasswordCollector | ValidatedPasswordCollector | TextCollector | ValidatedBooleanCollector | SingleSelectCollector | IdpCollector | SubmitCollector | ActionCollector<'ActionCollector'> | SingleValueCollector<'SingleValueCollector'> | MultiSelectCollector | DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | PhoneNumberExtensionCollector | ReadOnlyCollector | RichTextCollector | ValidatedTextCollector | ProtectCollector | PollingCollector | FidoRegistrationCollector | FidoAuthenticationCollector | QrCodeCollector | AgreementCollector | UnknownCollector;
-
-// @public
-export type CollectorValueType = T extends {
- type: 'PasswordCollector';
-} ? string : T extends {
- type: 'ValidatedPasswordCollector';
-} ? string : T extends {
- type: 'TextCollector';
- category: 'SingleValueCollector';
-} ? string : T extends {
- type: 'TextCollector';
- category: 'ValidatedSingleValueCollector';
-} ? string : T extends {
- type: 'ValidatedBooleanCollector';
-} ? boolean : T extends {
- type: 'SingleSelectCollector';
-} ? string : T extends {
- type: 'MultiSelectCollector';
-} ? string[] : T extends {
- type: 'DeviceRegistrationCollector';
-} ? string : T extends {
- type: 'DeviceAuthenticationCollector';
-} ? string : T extends {
- type: 'PhoneNumberCollector';
-} ? PhoneNumberInputValue : T extends {
- type: 'PhoneNumberExtensionCollector';
-} ? PhoneNumberExtensionInputValue : T extends {
- type: 'FidoRegistrationCollector';
-} ? FidoRegistrationInputValue : T extends {
- type: 'FidoAuthenticationCollector';
-} ? FidoAuthenticationInputValue : T extends {
- category: 'SingleValueCollector';
-} ? string : T extends {
- category: 'ValidatedSingleValueCollector';
-} ? string : T extends {
- category: 'MultiValueCollector';
-} ? string[] : CollectorInputTypes;
-
-// @public (undocumented)
-export type ComplexValueFields = DeviceAuthenticationField | DeviceRegistrationField | PhoneNumberField | PhoneNumberExtensionField | FidoRegistrationField | FidoAuthenticationField | PollingField;
-
-// @public (undocumented)
-export interface ContinueNode {
- // (undocumented)
- cache: {
- key: string;
- };
- // (undocumented)
- client: {
- action: string;
- collectors: Collectors[];
- description?: string;
- name?: string;
- status: 'continue';
- };
- // (undocumented)
- error: null;
- // (undocumented)
- httpStatus: number;
- // (undocumented)
- server: {
- _links?: Links;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- href?: string;
- eventName?: string;
- status: 'continue';
- };
- // (undocumented)
- status: 'continue';
-}
-
-export { CustomLogger }
-
-// @public
-export type CustomPollingStatus = string & {};
-
-// @public
-export function davinci(input: {
- config: DaVinciConfig;
- requestMiddleware?: RequestMiddleware[];
- logger?: {
- level: LogLevel;
- custom?: CustomLogger;
- };
-}): Promise<{
- subscribe: (listener: () => void) => Unsubscribe;
- externalIdp: () => (() => Promise);
- flow: (action: DaVinciAction) => InitFlow;
- next: (args?: DaVinciRequest) => Promise;
- resume: (input: {
- continueToken: string;
- }) => Promise;
- start: (options?: StartOptions | undefined) => Promise;
- update: (collector: T) => Updater;
- validate: (collector: SingleValueCollectors | ObjectValueCollectors | MultiValueCollectors | AutoCollectors) => Validator;
- pollStatus: (collector: PollingCollector) => Poller;
- getClient: () => {
- status: "start";
- } | {
- action: string;
- collectors: Collectors[];
- description?: string;
- name?: string;
- status: "continue";
- } | {
- action: string;
- collectors: Collectors[];
- description?: string;
- name?: string;
- status: "error";
- } | {
- authorization?: {
- code?: string;
- state?: string;
- };
- status: "success";
- } | {
- status: "failure";
- } | null;
- getCollectors: () => Collectors[];
- getError: () => DaVinciError | null;
- getErrorCollectors: () => CollectorErrors[];
- getNode: () => ContinueNode | ErrorNode | StartNode | SuccessNode | FailureNode;
- getServer: () => {
- status: "start";
- } | {
- _links?: Links;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- href?: string;
- eventName?: string;
- status: "continue";
- } | {
- _links?: Links;
- eventName?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- status: "error";
- } | {
- _links?: Links;
- eventName?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- href?: string;
- session?: string;
- status: "success";
- } | {
- _links?: Links;
- eventName?: string;
- href?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- status: "failure";
- } | null;
- cache: {
- getLatestResponse: () => ((state: RootState< {
- flow: MutationDefinition, never, unknown, "davinci", any>;
- next: MutationDefinition, never, unknown, "davinci", any>;
- start: MutationDefinition | undefined, BaseQueryFn, never, unknown, "davinci", unknown>;
- resume: QueryDefinition< {
- serverInfo: ContinueNode["server"];
- continueToken: string;
- }, BaseQueryFn, never, unknown, "davinci", unknown>;
- poll: MutationDefinition< {
- endpoint: string;
- interactionId: string;
- }, BaseQueryFn, never, unknown, "davinci", unknown>;
- }, never, "davinci">) => ({
- requestId?: undefined;
- status: QueryStatus.uninitialized;
- data?: undefined;
- error?: undefined;
- endpointName?: string;
- startedTimeStamp?: undefined;
- fulfilledTimeStamp?: undefined;
- } & {
- status: QueryStatus.uninitialized;
- isUninitialized: true;
- isLoading: false;
- isSuccess: false;
- isError: false;
- }) | ({
- status: QueryStatus.fulfilled;
- } & Omit<{
- requestId: string;
- data?: unknown;
- error?: SerializedError | FetchBaseQueryError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- }, "data" | "fulfilledTimeStamp"> & Required> & {
- error: undefined;
- } & {
- status: QueryStatus.fulfilled;
- isUninitialized: false;
- isLoading: false;
- isSuccess: true;
- isError: false;
- }) | ({
- status: QueryStatus.pending;
- } & {
- requestId: string;
- data?: unknown;
- error?: SerializedError | FetchBaseQueryError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- } & {
- data?: undefined;
- } & {
- status: QueryStatus.pending;
- isUninitialized: false;
- isLoading: true;
- isSuccess: false;
- isError: false;
- }) | ({
- status: QueryStatus.rejected;
- } & Omit<{
- requestId: string;
- data?: unknown;
- error?: SerializedError | FetchBaseQueryError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- }, "error"> & Required> & {
- status: QueryStatus.rejected;
- isUninitialized: false;
- isLoading: false;
- isSuccess: false;
- isError: true;
- })) | {
- error: {
- message: string;
- type: string;
- };
- };
- getResponseWithId: (requestId: string) => ((state: RootState< {
- flow: MutationDefinition, never, unknown, "davinci", any>;
- next: MutationDefinition, never, unknown, "davinci", any>;
- start: MutationDefinition | undefined, BaseQueryFn, never, unknown, "davinci", unknown>;
- resume: QueryDefinition< {
- serverInfo: ContinueNode["server"];
- continueToken: string;
- }, BaseQueryFn, never, unknown, "davinci", unknown>;
- poll: MutationDefinition< {
- endpoint: string;
- interactionId: string;
- }, BaseQueryFn, never, unknown, "davinci", unknown>;
- }, never, "davinci">) => ({
- requestId?: undefined;
- status: QueryStatus.uninitialized;
- data?: undefined;
- error?: undefined;
- endpointName?: string;
- startedTimeStamp?: undefined;
- fulfilledTimeStamp?: undefined;
- } & {
- status: QueryStatus.uninitialized;
- isUninitialized: true;
- isLoading: false;
- isSuccess: false;
- isError: false;
- }) | ({
- status: QueryStatus.fulfilled;
- } & Omit<{
- requestId: string;
- data?: unknown;
- error?: SerializedError | FetchBaseQueryError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- }, "data" | "fulfilledTimeStamp"> & Required> & {
- error: undefined;
- } & {
- status: QueryStatus.fulfilled;
- isUninitialized: false;
- isLoading: false;
- isSuccess: true;
- isError: false;
- }) | ({
- status: QueryStatus.pending;
- } & {
- requestId: string;
- data?: unknown;
- error?: SerializedError | FetchBaseQueryError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- } & {
- data?: undefined;
- } & {
- status: QueryStatus.pending;
- isUninitialized: false;
- isLoading: true;
- isSuccess: false;
- isError: false;
- }) | ({
- status: QueryStatus.rejected;
- } & Omit<{
- requestId: string;
- data?: unknown;
- error?: SerializedError | FetchBaseQueryError | undefined;
- endpointName: string;
- startedTimeStamp: number;
- fulfilledTimeStamp?: number;
- }, "error"> & Required> & {
- status: QueryStatus.rejected;
- isUninitialized: false;
- isLoading: false;
- isSuccess: false;
- isError: true;
- })) | {
- error: {
- message: string;
- type: string;
- };
- };
- };
-}>;
-
-// @public
-export interface DaVinciAction {
- // (undocumented)
- action: string;
-}
-
-// @public
-export interface DaVinciBaseResponse {
- // (undocumented)
- capabilityName?: string;
- // (undocumented)
- companyId?: string;
- // (undocumented)
- connectionId?: string;
- // (undocumented)
- connectorId?: string;
- // (undocumented)
- id?: string;
- // (undocumented)
- interactionId?: string;
- // (undocumented)
- interactionToken?: string;
- // (undocumented)
- isResponseCompatibleWithMobileAndWebSdks?: boolean;
- // (undocumented)
- status?: string;
-}
-
-// @public
-export type DaVinciCacheEntry = {
- data?: DaVinciBaseResponse;
- error?: {
- data: DaVinciBaseResponse;
- status: number;
- };
-} & {
- data?: any;
- error?: any;
-} & MutationResultSelectorResult;
-
-// @public (undocumented)
-export type DavinciClient = Awaited>;
-
-// @public (undocumented)
-export interface DaVinciConfig extends AsyncLegacyConfigOptions {
- // (undocumented)
- responseType?: string;
-}
-
-// @public (undocumented)
-export interface DaVinciError extends Omit {
- // (undocumented)
- collectors?: CollectorErrors[];
- // (undocumented)
- internalHttpStatus?: number;
- // (undocumented)
- message: string;
- // (undocumented)
- status: 'error' | 'failure' | 'unknown';
-}
-
-// @public (undocumented)
-export interface DaVinciErrorCacheEntry {
- // (undocumented)
- endpointName: 'next' | 'flow' | 'start';
- // (undocumented)
- error: {
- data: T;
- };
- // (undocumented)
- fulfilledTimeStamp: number;
- // (undocumented)
- isError: boolean;
- // (undocumented)
- isLoading: boolean;
- // (undocumented)
- isSuccess: boolean;
- // (undocumented)
- isUninitialized: boolean;
- // (undocumented)
- requestId: string;
- // (undocumented)
- startedTimeStamp: number;
- // (undocumented)
- status: 'fulfilled' | 'pending' | 'rejected';
-}
-
-// @public (undocumented)
-export interface DavinciErrorResponse extends DaVinciBaseResponse {
- // (undocumented)
- cause?: string | null;
- // (undocumented)
- code: string | number;
- // (undocumented)
- details?: ErrorDetail[];
- // (undocumented)
- doNotSendToOE?: boolean;
- // (undocumented)
- error?: {
- code?: string;
- message?: string;
- };
- // (undocumented)
- errorCategory?: string;
- // (undocumented)
- errorMessage?: string;
- // (undocumented)
- expected?: boolean;
- // (undocumented)
- httpResponseCode: number;
- // (undocumented)
- isErrorCustomized?: boolean;
- // (undocumented)
- message: string;
- // (undocumented)
- metricAttributes?: {
- [key: string]: unknown;
- };
-}
-
-// @public (undocumented)
-export interface DaVinciFailureResponse extends DaVinciBaseResponse {
- // (undocumented)
- error?: {
- code?: string;
- message?: string;
- [key: string]: unknown;
- };
-}
-
-// @public (undocumented)
-export type DaVinciField = ComplexValueFields | MultiValueFields | ReadOnlyFields | RedirectFields | SingleValueFields;
-
-// @public
-export interface DaVinciNextResponse extends DaVinciBaseResponse {
- // (undocumented)
- eventName?: string;
- // (undocumented)
- form?: {
- name?: string;
- description?: string;
- components?: {
- fields?: DaVinciField[];
- };
- };
- // (undocumented)
- formData?: {
- value?: {
- [key: string]: string;
- };
- };
- // (undocumented)
- _links?: Links;
-}
-
-// @public
-export interface DaVinciPollResponse extends DaVinciBaseResponse {
- // (undocumented)
- eventName?: string;
- // (undocumented)
- _links?: Links;
- // (undocumented)
- success?: boolean;
-}
-
-// @public (undocumented)
-export interface DaVinciRequest {
- // (undocumented)
- eventName: string;
- // (undocumented)
- id: string;
- // (undocumented)
- interactionId: string;
- // (undocumented)
- parameters: {
- eventType: 'submit' | 'action' | 'polling';
- data: {
- actionKey: string;
- formData?: Record;
- };
- };
-}
-
-// @public (undocumented)
-export interface DaVinciSuccessResponse extends DaVinciBaseResponse {
- // (undocumented)
- authorizeResponse?: OAuthDetails;
- // (undocumented)
- environment: {
- id: string;
- [key: string]: unknown;
- };
- // (undocumented)
- _links?: Links;
- // (undocumented)
- resetCookie?: boolean;
- // (undocumented)
- session?: {
- id?: string;
- [key: string]: unknown;
- };
- // (undocumented)
- sessionToken?: string;
- // (undocumented)
- sessionTokenMaxAge?: number;
- // (undocumented)
- status: string;
- // (undocumented)
- subFlowSettings?: {
- cssLinks?: unknown[];
- cssUrl?: unknown;
- jsLinks?: unknown[];
- loadingScreenSettings?: unknown;
- reactSkUrl?: unknown;
- };
- // (undocumented)
- success: true;
-}
-
-// @public (undocumented)
-export type DeviceAuthenticationCollector = ObjectOptionsCollectorWithObjectValue<'DeviceAuthenticationCollector', DeviceValue>;
-
-// @public (undocumented)
-export type DeviceAuthenticationField = {
- type: 'DEVICE_AUTHENTICATION';
- key: string;
- label: string;
- options: {
- type: string;
- iconSrc: string;
- title: string;
- id: string;
- default: boolean;
- description: string;
- }[];
- required: boolean;
-};
-
-// @public (undocumented)
-export interface DeviceOptionNoDefault {
- // (undocumented)
- content: string;
- // (undocumented)
- key: string;
- // (undocumented)
- label: string;
- // (undocumented)
- type: string;
- // (undocumented)
- value: string;
-}
-
-// @public (undocumented)
-export interface DeviceOptionWithDefault {
- // (undocumented)
- content: string;
- // (undocumented)
- default: boolean;
- // (undocumented)
- key: string;
- // (undocumented)
- label: string;
- // (undocumented)
- type: string;
- // (undocumented)
- value: string;
-}
-
-// @public (undocumented)
-export type DeviceRegistrationCollector = ObjectOptionsCollectorWithStringValue<'DeviceRegistrationCollector', string>;
-
-// @public (undocumented)
-export type DeviceRegistrationField = {
- type: 'DEVICE_REGISTRATION';
- key: string;
- label: string;
- options: {
- type: string;
- iconSrc: string;
- title: string;
- description: string;
- }[];
- required: boolean;
-};
-
-// @public (undocumented)
-export interface DeviceValue {
- // (undocumented)
- id: string;
- // (undocumented)
- type: string;
- // (undocumented)
- value: string;
-}
-
-// @public (undocumented)
-export interface ErrorDetail {
- // (undocumented)
- message?: string;
- // (undocumented)
- rawResponse?: {
- _embedded?: {
- users?: Array;
- };
- code?: string;
- count?: number;
- details?: NestedErrorDetails[];
- id?: string;
- message?: string;
- size?: number;
- userFilter?: string;
- [key: string]: unknown;
- };
- // (undocumented)
- statusCode?: number;
-}
-
-// @public (undocumented)
-export interface ErrorNode {
- // (undocumented)
- cache: {
- key: string;
- };
- // (undocumented)
- client: {
- action: string;
- collectors: Collectors[];
- description?: string;
- name?: string;
- status: 'error';
- };
- // (undocumented)
- error: DaVinciError;
- // (undocumented)
- httpStatus: number;
- // (undocumented)
- server: {
- _links?: Links;
- eventName?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- status: 'error';
- } | null;
- // (undocumented)
- status: 'error';
-}
-
-// @public (undocumented)
-export interface FailureNode {
- // (undocumented)
- cache: {
- key: string;
- };
- // (undocumented)
- client: {
- status: 'failure';
- };
- // (undocumented)
- error: DaVinciError;
- // (undocumented)
- httpStatus: number;
- // (undocumented)
- server: {
- _links?: Links;
- eventName?: string;
- href?: string;
- id?: string;
- interactionId?: string;
- interactionToken?: string;
- status: 'failure';
- } | null;
- // (undocumented)
- status: 'failure';
-}
-
-// @public (undocumented)
-export type FidoAuthenticationCollector = AutoCollector<'ObjectValueAutoCollector', 'FidoAuthenticationCollector', FidoAuthenticationInputValue, FidoAuthenticationOutputValue>;
-
-// @public (undocumented)
-export type FidoAuthenticationField = {
- type: 'FIDO2';
- key: string;
- label: string;
- publicKeyCredentialRequestOptions: FidoAuthenticationOptions;
- action: 'AUTHENTICATE';
- trigger: string;
- required: boolean;
-};
-
-// @public (undocumented)
-export interface FidoAuthenticationInputValue {
- // (undocumented)
- assertionValue?: AssertionValue;
-}
-
-// @public (undocumented)
-export interface FidoAuthenticationOptions extends Omit {
- // (undocumented)
- allowCredentials?: {
- id: number[];
- transports?: AuthenticatorTransport[];
- type: PublicKeyCredentialType;
- }[];
- // (undocumented)
- challenge: number[];
-}
-
-// @public (undocumented)
-export interface FidoAuthenticationOutputValue {
- // (undocumented)
- action: 'AUTHENTICATE';
- // (undocumented)
- publicKeyCredentialRequestOptions: FidoAuthenticationOptions;
- // (undocumented)
- trigger: string;
-}
-
-// @public (undocumented)
-export interface FidoClient {
- authenticate: (options: FidoAuthenticationOptions) => Promise;
- register: (options: FidoRegistrationOptions) => Promise;
-}
-
-// @public (undocumented)
-export type FidoRegistrationCollector = AutoCollector<'ObjectValueAutoCollector', 'FidoRegistrationCollector', FidoRegistrationInputValue, FidoRegistrationOutputValue>;
-
-// @public (undocumented)
-export type FidoRegistrationField = {
- type: 'FIDO2';
- key: string;
- label: string;
- publicKeyCredentialCreationOptions: FidoRegistrationOptions;
- action: 'REGISTER';
- trigger: string;
- required: boolean;
-};
-
-// @public (undocumented)
-export interface FidoRegistrationInputValue {
- // (undocumented)
- attestationValue?: AttestationValue;
-}
-
-// @public (undocumented)
-export interface FidoRegistrationOptions extends Omit {
- // (undocumented)
- challenge: number[];
- // (undocumented)
- excludeCredentials?: {
- id: number[];
- transports?: AuthenticatorTransport[];
- type: PublicKeyCredentialType;
- }[];
- // (undocumented)
- pubKeyCredParams: {
- alg: string | number;
- type: PublicKeyCredentialType;
- }[];
- // (undocumented)
- user: {
- id: number[];
- name: string;
- displayName: string;
- };
-}
-
-// @public (undocumented)
-export interface FidoRegistrationOutputValue {
- // (undocumented)
- action: 'REGISTER';
- // (undocumented)
- publicKeyCredentialCreationOptions: FidoRegistrationOptions;
- // (undocumented)
- trigger: string;
-}
-
-// @public (undocumented)
-export type FlowCollector = ActionCollectorNoUrl<'FlowCollector'>;
-
-// @public (undocumented)
-export type FlowNode = ContinueNode | ErrorNode | StartNode | SuccessNode | FailureNode;
-
-// @public
-export type GetClient = StartNode['client'] | ContinueNode['client'] | ErrorNode['client'] | SuccessNode['client'] | FailureNode['client'];
-
-// @public (undocumented)
-export type IdpCollector = ActionCollectorWithUrl<'IdpCollector'>;
-
-// @public (undocumented)
-export type InferActionCollectorType = T extends 'IdpCollector' ? IdpCollector : T extends 'SubmitCollector' ? SubmitCollector : T extends 'FlowCollector' ? FlowCollector : ActionCollectorWithUrl<'ActionCollector'> | ActionCollectorNoUrl<'ActionCollector'>;
-
-// @public
-export type InferAutoCollectorType = T extends 'ProtectCollector' ? ProtectCollector : T extends 'PollingCollector' ? PollingCollector : T extends 'FidoRegistrationCollector' ? FidoRegistrationCollector : T extends 'FidoAuthenticationCollector' ? FidoAuthenticationCollector : T extends 'ObjectValueAutoCollector' ? ObjectValueAutoCollector : SingleValueAutoCollector;
-
-// @public
-export type InferMultiValueCollectorType = T extends 'MultiSelectCollector' ? MultiValueCollectorWithValue<'MultiSelectCollector'> : MultiValueCollectorWithValue<'MultiValueCollector'> | MultiValueCollectorNoValue<'MultiValueCollector'>;
-
-// @public
-export type InferNoValueCollectorType = T extends 'ReadOnlyCollector' ? ReadOnlyCollector : T extends 'RichTextCollector' ? RichTextCollector : T extends 'QrCodeCollector' ? QrCodeCollector : T extends 'AgreementCollector' ? AgreementCollector : NoValueCollectorBase<'NoValueCollector'>;
-
-// @public
-export type InferSingleValueCollectorType = T extends 'TextCollector' ? TextCollector : T extends 'SingleSelectCollector' ? SingleSelectCollector : T extends 'ValidatedTextCollector' ? ValidatedTextCollector : T extends 'PasswordCollector' ? PasswordCollector : T extends 'ValidatedPasswordCollector' ? ValidatedPasswordCollector : 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 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<(ValidatedTextCollector | ValidatedBooleanCollector | ValidatedPasswordCollector | DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | PhoneNumberExtensionCollector | ProtectCollector | FidoRegistrationCollector | FidoAuthenticationCollector | PollingCollector | TextCollector | PasswordCollector | SingleSelectCollector | UnknownCollector | IdpCollector | FlowCollector | SubmitCollector | ReadOnlyCollector | RichTextCollector | QrCodeCollector | AgreementCollector | ActionCollector<"ActionCollector"> | SingleValueCollector<"SingleValueCollector"> | MultiSelectCollector)[]> & {
- getInitialState: () => (ValidatedTextCollector | ValidatedBooleanCollector | ValidatedPasswordCollector | DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | PhoneNumberExtensionCollector | ProtectCollector | FidoRegistrationCollector | FidoAuthenticationCollector | PollingCollector | TextCollector | PasswordCollector | SingleSelectCollector | UnknownCollector | IdpCollector | FlowCollector | SubmitCollector | ReadOnlyCollector | RichTextCollector | QrCodeCollector | AgreementCollector | ActionCollector<"ActionCollector"> | SingleValueCollector<"SingleValueCollector"> | MultiSelectCollector)[];
-};
-
-// @public (undocumented)
-export type NodeStates = StartNode | ContinueNode | ErrorNode | SuccessNode | FailureNode;
-
-// @public (undocumented)
-export type NoValueCollector = InferNoValueCollectorType;
-
-// @public (undocumented)
-export interface NoValueCollectorBase {
- // (undocumented)
- category: 'NoValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type NoValueCollectors = NoValueCollectorBase<'NoValueCollector'> | ReadOnlyCollector | RichTextCollector | QrCodeCollector | AgreementCollector;
-
-// @public
-export type NoValueCollectorTypes = 'ReadOnlyCollector' | 'RichTextCollector' | 'NoValueCollector' | 'QrCodeCollector' | 'AgreementCollector';
-
-// @public
-export interface OAuthDetails {
- // (undocumented)
- [key: string]: unknown;
- // (undocumented)
- code?: string;
- // (undocumented)
- state?: string;
-}
-
-// @public (undocumented)
-export interface ObjectOptionsCollectorWithObjectValue, D = Record> {
- // (undocumented)
- category: 'ObjectValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: V;
- type: string;
- validation: ValidationRequired[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- options: DeviceOptionWithDefault[];
- value?: D | null;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export interface ObjectOptionsCollectorWithStringValue {
- // (undocumented)
- category: 'ObjectValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: V;
- type: string;
- validation: ValidationRequired[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- options: DeviceOptionNoDefault[];
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type ObjectValueAutoCollector = AutoCollector<'ObjectValueAutoCollector', 'ObjectValueAutoCollector', Record>;
-
-// @public (undocumented)
-export type ObjectValueAutoCollectorTypes = 'ObjectValueAutoCollector' | 'FidoRegistrationCollector' | 'FidoAuthenticationCollector';
-
-// @public (undocumented)
-export type ObjectValueCollector = ObjectOptionsCollectorWithObjectValue | ObjectOptionsCollectorWithStringValue | ObjectValueCollectorWithObjectValue;
-
-// @public (undocumented)
-export type ObjectValueCollectors = DeviceAuthenticationCollector | DeviceRegistrationCollector | PhoneNumberCollector | PhoneNumberExtensionCollector | ObjectOptionsCollectorWithObjectValue<'ObjectSelectCollector'> | ObjectOptionsCollectorWithStringValue<'ObjectSelectCollector'>;
-
-// @public
-export type ObjectValueCollectorTypes = 'DeviceAuthenticationCollector' | 'DeviceRegistrationCollector' | 'PhoneNumberCollector' | 'PhoneNumberExtensionCollector' | 'ObjectOptionsCollector' | 'ObjectValueCollector' | 'ObjectSelectCollector';
-
-// @public (undocumented)
-export interface ObjectValueCollectorWithObjectValue, OV = Record> {
- // (undocumented)
- category: 'ObjectValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: IV;
- type: string;
- validation: (ValidationRequired | ValidationPhoneNumber)[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- value?: OV | null;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export interface OutgoingQueryParams {
- // (undocumented)
- [key: string]: string | string[];
-}
-
-// @public (undocumented)
-export interface PasswordCollector {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string | number | boolean;
- type: string;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- verify: boolean;
- };
- // (undocumented)
- type: 'PasswordCollector';
-}
-
-// @public
-export type PasswordField = {
- type: 'PASSWORD' | 'PASSWORD_VERIFY';
- key: string;
- label: string;
- required?: boolean;
- verify?: boolean;
- passwordPolicy?: PasswordPolicy;
-};
-
-// @public
-export interface PasswordPolicy {
- // (undocumented)
- createdAt?: string;
- // (undocumented)
- default?: boolean;
- // (undocumented)
- description?: string;
- // (undocumented)
- excludesCommonlyUsed?: boolean;
- // (undocumented)
- excludesProfileData?: boolean;
- // (undocumented)
- history?: {
- count?: number;
- retentionDays?: number;
- };
- // (undocumented)
- id?: string;
- // (undocumented)
- length?: {
- min?: number;
- max?: number;
- };
- // (undocumented)
- lockout?: {
- failureCount?: number;
- durationSeconds?: number;
- };
- // (undocumented)
- maxAgeDays?: number;
- // (undocumented)
- maxRepeatedCharacters?: number;
- // (undocumented)
- minAgeDays?: number;
- // (undocumented)
- minCharacters?: Record;
- // (undocumented)
- minUniqueCharacters?: number;
- // (undocumented)
- name?: string;
- // (undocumented)
- notSimilarToCurrent?: boolean;
- // (undocumented)
- populationCount?: number;
- // (undocumented)
- updatedAt?: string;
-}
-
-// @public (undocumented)
-export type PhoneNumberCollector = ObjectValueCollectorWithObjectValue<'PhoneNumberCollector', PhoneNumberInputValue, PhoneNumberOutputValue>;
-
-// @public (undocumented)
-export interface PhoneNumberExtensionCollector {
- // (undocumented)
- category: 'ObjectValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: PhoneNumberExtensionInputValue;
- type: string;
- validation: (ValidationRequired | ValidationPhoneNumber)[] | null;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- extensionLabel: string;
- value: PhoneNumberExtensionOutputValue;
- };
- // (undocumented)
- type: 'PhoneNumberExtensionCollector';
-}
-
-// @public (undocumented)
-export type PhoneNumberExtensionField = PhoneNumberField & {
- showExtension: boolean;
- extensionLabel: string;
-};
-
-// @public (undocumented)
-export interface PhoneNumberExtensionInputValue {
- // (undocumented)
- countryCode: string;
- // (undocumented)
- extension: string;
- // (undocumented)
- phoneNumber: string;
-}
-
-// @public (undocumented)
-export interface PhoneNumberExtensionOutputValue {
- // (undocumented)
- countryCode?: string;
- // (undocumented)
- extension?: string;
- // (undocumented)
- phoneNumber?: string;
-}
-
-// @public (undocumented)
-export type PhoneNumberField = {
- type: 'PHONE_NUMBER';
- key: string;
- label: string;
- required: boolean;
- defaultCountryCode: string | null;
- validatePhoneNumber: boolean;
-};
-
-// @public (undocumented)
-export interface PhoneNumberInputValue {
- // (undocumented)
- countryCode: string;
- // (undocumented)
- phoneNumber: string;
-}
-
-// @public (undocumented)
-export interface PhoneNumberOutputValue {
- // (undocumented)
- countryCode?: string;
- // (undocumented)
- phoneNumber?: string;
-}
-
-// @public
-export type Poller = () => Promise;
-
-// @public (undocumented)
-export type PollingCollector = AutoCollector<'SingleValueAutoCollector', 'PollingCollector', string, PollingOutputValue>;
-
-// @public (undocumented)
-export type PollingField = {
- type: 'POLLING';
- key: string;
- pollInterval: number;
- pollRetries: number;
- pollChallengeStatus?: boolean;
- challenge?: string;
-};
-
-// @public (undocumented)
-export interface PollingOutputValue {
- // (undocumented)
- challenge?: string;
- // (undocumented)
- pollChallengeStatus?: boolean;
- // (undocumented)
- pollInterval: number;
- // (undocumented)
- pollRetries: number;
- // (undocumented)
- retriesRemaining?: number;
-}
-
-// @public (undocumented)
-export type PollingStatus = PollingStatusContinue | PollingStatusChallenge;
-
-// @public (undocumented)
-export type PollingStatusChallenge = PollingStatusChallengeComplete | 'expired' | 'timedOut' | 'error';
-
-// @public (undocumented)
-export type PollingStatusChallengeComplete = 'approved' | 'denied' | 'continue' | CustomPollingStatus;
-
-// @public (undocumented)
-export type PollingStatusContinue = 'continue' | 'timedOut';
-
-// @public (undocumented)
-export type ProtectCollector = AutoCollector<'SingleValueAutoCollector', 'ProtectCollector', string, ProtectOutputValue>;
-
-// @public (undocumented)
-export type ProtectField = {
- type: 'PROTECT';
- key: string;
- behavioralDataCollection: boolean;
- universalDeviceIdentification: boolean;
-};
-
-// @public
-export interface ProtectOutputValue {
- // (undocumented)
- behavioralDataCollection: boolean;
- // (undocumented)
- universalDeviceIdentification: boolean;
-}
-
-// @public
-export interface QrCodeCollector extends NoValueCollectorBase<'QrCodeCollector'> {
- // (undocumented)
- output: NoValueCollectorBase<'QrCodeCollector'>['output'] & {
- src: string;
- };
-}
-
-// @public (undocumented)
-export type QrCodeField = {
- type: 'QR_CODE';
- key: string;
- content: string;
- fallbackText?: string;
-};
-
-// @public
-export interface ReadOnlyCollector extends NoValueCollectorBase<'ReadOnlyCollector'> {
- // (undocumented)
- output: NoValueCollectorBase<'ReadOnlyCollector'>['output'] & {
- content: string;
- };
-}
-
-// @public (undocumented)
-export type ReadOnlyField = {
- type: 'LABEL';
- content: string;
- richContent?: RichContent;
- key?: string;
-};
-
-// @public (undocumented)
-export type ReadOnlyFields = ReadOnlyField | QrCodeField | AgreementField;
-
-// @public (undocumented)
-export type RedirectField = {
- type: 'SOCIAL_LOGIN_BUTTON';
- key: string;
- label: string;
- links: Links;
-};
-
-// @public (undocumented)
-export type RedirectFields = RedirectField;
-
-export { RequestMiddleware }
-
-// @public
-export type RichContent = {
- content: string;
- replacements?: Record;
-};
-
-// @public
-export interface RichContentLink {
- // (undocumented)
- href: string;
- // (undocumented)
- key: string;
- // (undocumented)
- target?: '_self' | '_blank';
- // (undocumented)
- type: 'link';
- // (undocumented)
- value: string;
-}
-
-// @public
-export type RichContentReplacement = {
- type: 'link';
- value: string;
- href: string;
- target?: '_self' | '_blank';
-};
-
-// @public
-export interface RichTextCollector extends NoValueCollectorBase<'RichTextCollector'> {
- // (undocumented)
- output: NoValueCollectorBase<'RichTextCollector'>['output'] & {
- content: string;
- richContent: CollectorRichContent;
- };
-}
-
-// @public (undocumented)
-export interface SelectorOption {
- // (undocumented)
- label: string;
- // (undocumented)
- value: string;
-}
-
-// @public (undocumented)
-export type SingleCheckboxField = {
- type: 'SINGLE_CHECKBOX';
- inputType: 'BOOLEAN';
- key: string;
- label: string;
- required: boolean;
- validation?: {
- errorMessage: string;
- };
-};
-
-// @public (undocumented)
-export type SingleSelectCollector = SingleSelectCollectorWithValue<'SingleSelectCollector'>;
-
-// @public (undocumented)
-export interface SingleSelectCollectorNoValue {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string | number | boolean;
- type: string;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- options: SelectorOption[];
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export interface SingleSelectCollectorWithValue {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string | number | boolean;
- type: string;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- value: string | number | boolean;
- options: SelectorOption[];
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type SingleSelectField = {
- inputType: 'SINGLE_SELECT';
- key: string;
- label: string;
- options: {
- label: string;
- value: string;
- }[];
- required?: boolean;
- type: 'RADIO' | 'DROPDOWN';
-};
-
-// @public (undocumented)
-export type SingleValueAutoCollector = AutoCollector<'SingleValueAutoCollector', 'SingleValueAutoCollector', string>;
-
-// @public (undocumented)
-export type SingleValueAutoCollectorTypes = 'SingleValueAutoCollector' | 'ProtectCollector' | 'PollingCollector';
-
-// @public
-export type SingleValueCollector = SingleValueCollectorWithValue | SingleValueCollectorNoValue;
-
-// @public (undocumented)
-export interface SingleValueCollectorNoValue {
- // (undocumented)
- category: 'SingleValueCollector';
- // (undocumented)
- error: string | null;
- // (undocumented)
- id: string;
- // (undocumented)
- input: {
- key: string;
- value: string | number | boolean;
- type: string;
- };
- // (undocumented)
- name: string;
- // (undocumented)
- output: {
- key: string;
- label: string;
- type: string;
- };
- // (undocumented)
- type: T;
-}
-
-// @public (undocumented)
-export type SingleValueCollectors = ValidatedPasswordCollector | PasswordCollector | SingleSelectCollector | TextCollector | ValidatedTextCollector | ValidatedBooleanCollector | SingleValueCollectorWithValue<'SingleValueCollector'>;
-
-// @public
-export type SingleValueCollectorTypes = 'PasswordCollector' | 'ValidatedPasswordCollector' | '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: string | string[] | boolean | PhoneNumberInputValue | PhoneNumberExtensionInputValue | FidoRegistrationInputValue | FidoAuthenticationInputValue;
-index?: number;
-}, string>;
-
-// @public
-export type Updater = (value: CollectorValueType, index?: number) => InternalErrorResponse | null;
-
-// @public (undocumented)
-export type ValidatedBooleanCollector = ValidatedSingleValueCollectorWithValue<'ValidatedBooleanCollector', boolean>;
-
-// @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 type { AsyncLegacyConfigOptions } from '@forgerock/sdk-types';
+import { BaseQueryFn } from '@reduxjs/toolkit/query';
+import { CustomLogger } from '@forgerock/sdk-logger';
+import { FetchArgs } from '@reduxjs/toolkit/query';
+import { FetchBaseQueryError } from '@reduxjs/toolkit/query';
+import { FetchBaseQueryMeta } from '@reduxjs/toolkit/query';
+import { GenericError } from '@forgerock/sdk-types';
+import { LogLevel } from '@forgerock/sdk-logger';
+import { MutationDefinition } from '@reduxjs/toolkit/query';
+import type { MutationResultSelectorResult } from '@reduxjs/toolkit/query';
+import { QueryDefinition } from '@reduxjs/toolkit/query';
+import { QueryStatus } from '@reduxjs/toolkit/query';
+import { Reducer } from '@reduxjs/toolkit';
+import { RequestMiddleware } from '@forgerock/sdk-request-middleware';
+import { RootState } from '@reduxjs/toolkit/query';
+import { SerializedError } from '@reduxjs/toolkit';
+import { Unsubscribe } from '@reduxjs/toolkit';
+
+// @public (undocumented)
+export type ActionCollector =
+ | ActionCollectorNoUrl
+ | ActionCollectorWithUrl;
+
+// @public (undocumented)
+export interface ActionCollectorNoUrl {
+ // (undocumented)
+ category: 'ActionCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type ActionCollectors =
+ | ActionCollectorWithUrl<'IdpCollector'>
+ | ActionCollectorNoUrl<'ActionCollector'>
+ | ActionCollectorNoUrl<'FlowCollector'>
+ | ActionCollectorNoUrl<'SubmitCollector'>;
+
+// @public
+export type ActionCollectorTypes =
+ | 'FlowCollector'
+ | 'SubmitCollector'
+ | 'IdpCollector'
+ | 'ActionCollector';
+
+// @public (undocumented)
+export interface ActionCollectorWithUrl {
+ // (undocumented)
+ category: 'ActionCollector';
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ url?: string | null;
+ };
+ // (undocumented)
+ type: T;
+}
+
+export { ActionTypes };
+
+// @public (undocumented)
+export interface AgreementCollector extends NoValueCollectorBase<'AgreementCollector'> {
+ // (undocumented)
+ output: {
+ key: string;
+ label: string;
+ type: string;
+ titleEnabled: boolean;
+ title: string;
+ agreement: {
+ id: string;
+ useDynamicAgreement: boolean;
+ };
+ enabled: boolean;
+ };
+}
+
+// @public (undocumented)
+export type AgreementField = {
+ type: 'AGREEMENT';
+ key: string;
+ content: string;
+ titleEnabled: boolean;
+ title: string;
+ agreement: {
+ id: string;
+ useDynamicAgreement: boolean;
+ };
+ enabled: boolean;
+};
+
+// @public (undocumented)
+export interface AssertionValue extends Omit<
+ PublicKeyCredential,
+ 'rawId' | 'response' | 'getClientExtensionResults' | 'toJSON'
+> {
+ // (undocumented)
+ rawId: string;
+ // (undocumented)
+ response: {
+ clientDataJSON: string;
+ authenticatorData: string;
+ signature: string;
+ userHandle: string | null;
+ };
+}
+
+// @public (undocumented)
+export interface AttestationValue extends Omit<
+ PublicKeyCredential,
+ 'rawId' | 'response' | 'getClientExtensionResults' | 'toJSON'
+> {
+ // (undocumented)
+ rawId: string;
+ // (undocumented)
+ response: {
+ clientDataJSON: string;
+ attestationObject: string;
+ };
+}
+
+// @public (undocumented)
+export interface AutoCollector<
+ C extends AutoCollectorCategories,
+ T extends AutoCollectorTypes,
+ IV = string,
+ OV = Record,
+> {
+ // (undocumented)
+ category: C;
+ // (undocumented)
+ error: string | null;
+ // (undocumented)
+ id: string;
+ // (undocumented)
+ input: {
+ key: string;
+ value: IV;
+ type: string;
+ validation?: ValidationRequired[] | null;
+ };
+ // (undocumented)
+ name: string;
+ // (undocumented)
+ output: {
+ key: string;
+ type: string;
+ config: OV;
+ };
+ // (undocumented)
+ type: T;
+}
+
+// @public (undocumented)
+export type AutoCollectorCategories = 'SingleValueAutoCollector' | 'ObjectValueAutoCollector';
+
+// @public (undocumented)
+export type AutoCollectors =
+ | ProtectCollector
+ | FidoRegistrationCollector
+ | FidoAuthenticationCollector
+ | PollingCollector
+ | SingleValueAutoCollector
+ | ObjectValueAutoCollector;
+
+// @public (undocumented)
+export type AutoCollectorTypes = SingleValueAutoCollectorTypes | ObjectValueAutoCollectorTypes;
+
+// @public (undocumented)
+export interface CollectorErrors {
+ // (undocumented)
+ code: string;
+ // (undocumented)
+ message: string;
+ // (undocumented)
+ target: string;
+}
+
+// @public (undocumented)
+export type CollectorInputTypes =
+ | string
+ | string[]
+ | boolean
+ | PhoneNumberInputValue
+ | PhoneNumberExtensionInputValue
+ | FidoRegistrationInputValue
+ | FidoAuthenticationInputValue;
+
+// @public
+export interface CollectorRichContent {
+ // (undocumented)
+ content: string;
+ // (undocumented)
+ replacements: RichContentLink[];
+}
+
+// @public (undocumented)
+export type Collectors =
+ | FlowCollector
+ | PasswordCollector
+ | ValidatedPasswordCollector
+ | TextCollector
+ | ValidatedBooleanCollector
+ | SingleSelectCollector
+ | IdpCollector
+ | SubmitCollector
+ | ActionCollector<'ActionCollector'>
+ | SingleValueCollector<'SingleValueCollector'>
+ | MultiSelectCollector
+ | DeviceAuthenticationCollector
+ | DeviceRegistrationCollector
+ | PhoneNumberCollector
+ | PhoneNumberExtensionCollector
+ | ReadOnlyCollector
+ | RichTextCollector
+ | ValidatedTextCollector
+ | ProtectCollector
+ | PollingCollector
+ | FidoRegistrationCollector
+ | FidoAuthenticationCollector
+ | QrCodeCollector
+ | AgreementCollector
+ | UnknownCollector;
+
+// @public
+export type CollectorValueType = T extends {
+ type: 'PasswordCollector';
+}
+ ? string
+ : T extends {
+ type: 'ValidatedPasswordCollector';
+ }
+ ? string
+ : T extends {
+ type: 'TextCollector';
+ category: 'SingleValueCollector';
+ }
+ ? string
+ : T extends {
+ type: 'TextCollector';
+ category: 'ValidatedSingleValueCollector';
+ }
+ ? string
+ : T extends {
+ type: 'ValidatedBooleanCollector';
+ }
+ ? boolean
+ : T extends {
+ type: 'SingleSelectCollector';
+ }
+ ? string
+ : T extends {
+ type: 'MultiSelectCollector';
+ }
+ ? string[]
+ : T extends {
+ type: 'DeviceRegistrationCollector';
+ }
+ ? string
+ : T extends {
+ type: 'DeviceAuthenticationCollector';
+ }
+ ? string
+ : T extends {
+ type: 'PhoneNumberCollector';
+ }
+ ? PhoneNumberInputValue
+ : T extends {
+ type: 'PhoneNumberExtensionCollector';
+ }
+ ? PhoneNumberExtensionInputValue
+ : T extends {
+ type: 'FidoRegistrationCollector';
+ }
+ ? FidoRegistrationInputValue
+ : T extends {
+ type: 'FidoAuthenticationCollector';
+ }
+ ? FidoAuthenticationInputValue
+ : T extends {
+ category: 'SingleValueCollector';
+ }
+ ? string
+ : T extends {
+ category: 'ValidatedSingleValueCollector';
+ }
+ ? string
+ : T extends {
+ category: 'MultiValueCollector';
+ }
+ ? string[]
+ : CollectorInputTypes;
+
+// @public (undocumented)
+export type ComplexValueFields =
+ | DeviceAuthenticationField
+ | DeviceRegistrationField
+ | PhoneNumberField
+ | PhoneNumberExtensionField
+ | FidoRegistrationField
+ | FidoAuthenticationField
+ | PollingField;
+
+// @public (undocumented)
+export interface ContinueNode {
+ // (undocumented)
+ cache: {
+ key: string;
+ };
+ // (undocumented)
+ client: {
+ action: string;
+ collectors: Collectors[];
+ description?: string;
+ name?: string;
+ status: 'continue';
+ };
+ // (undocumented)
+ error: null;
+ // (undocumented)
+ httpStatus: number;
+ // (undocumented)
+ server: {
+ _links?: Links;
+ id?: string;
+ interactionId?: string;
+ interactionToken?: string;
+ href?: string;
+ eventName?: string;
+ status: 'continue';
+ };
+ // (undocumented)
+ status: 'continue';
+}
+
+export { CustomLogger };
+
+// @public
+export type CustomPollingStatus = string & {};
+
+// @public
+export function davinci(input: {
+ config: DaVinciConfig;
+ requestMiddleware?: RequestMiddleware