@forgerock/davinci-client 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/LICENSE +21 -0
  2. package/dist/src/index.d.ts.map +1 -0
  3. package/dist/src/index.js +9 -0
  4. package/dist/src/index.js.map +1 -0
  5. package/dist/src/lib/client.store.d.ts +352 -0
  6. package/dist/src/lib/client.store.d.ts.map +1 -0
  7. package/dist/src/lib/client.store.js +300 -0
  8. package/dist/src/lib/client.store.js.map +1 -0
  9. package/dist/src/lib/client.store.utils.d.ts +74 -0
  10. package/dist/src/lib/client.store.utils.d.ts.map +1 -0
  11. package/dist/src/lib/client.store.utils.js +48 -0
  12. package/dist/src/lib/client.store.utils.js.map +1 -0
  13. package/dist/src/lib/client.types.d.ts +19 -0
  14. package/dist/src/lib/client.types.d.ts.map +1 -0
  15. package/dist/src/lib/client.types.js +2 -0
  16. package/dist/src/lib/client.types.js.map +1 -0
  17. package/dist/src/lib/collector.types.d.ts +360 -0
  18. package/dist/src/lib/collector.types.d.ts.map +1 -0
  19. package/dist/src/lib/collector.types.js +8 -0
  20. package/dist/src/lib/collector.types.js.map +1 -0
  21. package/dist/src/lib/collector.utils.d.ts +117 -0
  22. package/dist/src/lib/collector.utils.d.ts.map +1 -0
  23. package/dist/src/lib/collector.utils.js +463 -0
  24. package/dist/src/lib/collector.utils.js.map +1 -0
  25. package/dist/{lib → src/lib}/config.slice.d.ts +12 -5
  26. package/dist/src/lib/config.slice.d.ts.map +1 -0
  27. package/dist/src/lib/config.slice.js +59 -0
  28. package/dist/src/lib/config.slice.js.map +1 -0
  29. package/dist/src/lib/config.types.d.ts +12 -0
  30. package/dist/src/lib/config.types.d.ts.map +1 -0
  31. package/dist/src/lib/config.types.js +2 -0
  32. package/dist/src/lib/config.types.js.map +1 -0
  33. package/dist/src/lib/davinci.api.d.ts +31 -0
  34. package/dist/src/lib/davinci.api.d.ts.map +1 -0
  35. package/dist/src/lib/davinci.api.js +346 -0
  36. package/dist/src/lib/davinci.api.js.map +1 -0
  37. package/dist/{lib → src/lib}/davinci.types.d.ts +101 -8
  38. package/dist/src/lib/davinci.types.d.ts.map +1 -0
  39. package/dist/src/lib/davinci.types.js +11 -0
  40. package/dist/src/lib/davinci.types.js.map +1 -0
  41. package/dist/{lib → src/lib}/davinci.utils.d.ts +10 -6
  42. package/dist/src/lib/davinci.utils.d.ts.map +1 -0
  43. package/dist/src/lib/davinci.utils.js +168 -0
  44. package/dist/src/lib/davinci.utils.js.map +1 -0
  45. package/dist/src/lib/error.types.d.ts.map +1 -0
  46. package/dist/src/lib/error.types.js +2 -0
  47. package/dist/src/lib/error.types.js.map +1 -0
  48. package/dist/src/lib/index.d.ts.map +1 -0
  49. package/dist/src/lib/index.js +9 -0
  50. package/dist/src/lib/index.js.map +1 -0
  51. package/dist/src/lib/node.reducer.d.ts +27 -0
  52. package/dist/src/lib/node.reducer.d.ts.map +1 -0
  53. package/dist/src/lib/node.reducer.js +193 -0
  54. package/dist/src/lib/node.reducer.js.map +1 -0
  55. package/dist/{lib → src/lib}/node.slice.d.ts +55 -26
  56. package/dist/src/lib/node.slice.d.ts.map +1 -0
  57. package/dist/src/lib/node.slice.js +261 -0
  58. package/dist/src/lib/node.slice.js.map +1 -0
  59. package/dist/{lib → src/lib}/node.types.d.ts +17 -8
  60. package/dist/src/lib/node.types.d.ts.map +1 -0
  61. package/dist/src/lib/node.types.js +2 -0
  62. package/dist/src/lib/node.types.js.map +1 -0
  63. package/dist/src/lib/node.utils.d.ts +4 -0
  64. package/dist/src/lib/node.utils.d.ts.map +1 -0
  65. package/dist/src/lib/node.utils.js +32 -0
  66. package/dist/src/lib/node.utils.js.map +1 -0
  67. package/dist/src/lib/wellknown.api.d.ts +5 -0
  68. package/dist/src/lib/wellknown.api.d.ts.map +1 -0
  69. package/dist/src/lib/wellknown.api.js +22 -0
  70. package/dist/src/lib/wellknown.api.js.map +1 -0
  71. package/dist/src/lib/wellknown.types.d.ts.map +1 -0
  72. package/dist/src/lib/wellknown.types.js +2 -0
  73. package/dist/src/lib/wellknown.types.js.map +1 -0
  74. package/dist/src/types.d.ts +40 -0
  75. package/dist/src/types.d.ts.map +1 -0
  76. package/dist/src/types.js +7 -0
  77. package/dist/src/types.js.map +1 -0
  78. package/package.json +39 -20
  79. package/dist/index.d.ts.map +0 -1
  80. package/dist/index.js +0 -4
  81. package/dist/lib/authorize.utils.d.ts +0 -22
  82. package/dist/lib/authorize.utils.d.ts.map +0 -1
  83. package/dist/lib/authorize.utils.js +0 -23
  84. package/dist/lib/client.store.d.ts +0 -149
  85. package/dist/lib/client.store.d.ts.map +0 -1
  86. package/dist/lib/client.store.js +0 -131
  87. package/dist/lib/client.store.utils.d.ts +0 -46
  88. package/dist/lib/client.store.utils.d.ts.map +0 -1
  89. package/dist/lib/client.store.utils.js +0 -19
  90. package/dist/lib/client.types.d.ts +0 -9
  91. package/dist/lib/client.types.d.ts.map +0 -1
  92. package/dist/lib/collector.types.d.ts +0 -78
  93. package/dist/lib/collector.types.d.ts.map +0 -1
  94. package/dist/lib/collector.utils.d.ts +0 -54
  95. package/dist/lib/collector.utils.d.ts.map +0 -1
  96. package/dist/lib/collector.utils.js +0 -88
  97. package/dist/lib/config.slice.d.ts.map +0 -1
  98. package/dist/lib/config.slice.js +0 -40
  99. package/dist/lib/config.types.d.ts +0 -9
  100. package/dist/lib/config.types.d.ts.map +0 -1
  101. package/dist/lib/davinci.api.d.ts +0 -20
  102. package/dist/lib/davinci.api.d.ts.map +0 -1
  103. package/dist/lib/davinci.api.js +0 -172
  104. package/dist/lib/davinci.types.d.ts.map +0 -1
  105. package/dist/lib/davinci.utils.d.ts.map +0 -1
  106. package/dist/lib/davinci.utils.js +0 -102
  107. package/dist/lib/error.types.d.ts.map +0 -1
  108. package/dist/lib/index.d.ts.map +0 -1
  109. package/dist/lib/node.reducer.d.ts +0 -22
  110. package/dist/lib/node.reducer.d.ts.map +0 -1
  111. package/dist/lib/node.reducer.js +0 -31
  112. package/dist/lib/node.slice.d.ts.map +0 -1
  113. package/dist/lib/node.slice.js +0 -160
  114. package/dist/lib/node.types.d.ts.map +0 -1
  115. package/dist/lib/wellknown.api.d.ts +0 -5
  116. package/dist/lib/wellknown.api.d.ts.map +0 -1
  117. package/dist/lib/wellknown.api.js +0 -15
  118. package/dist/lib/wellknown.types.d.ts.map +0 -1
  119. package/dist/types.d.ts +0 -23
  120. package/dist/types.d.ts.map +0 -1
  121. /package/dist/{index.d.ts → src/index.d.ts} +0 -0
  122. /package/dist/{lib → src/lib}/error.types.d.ts +0 -0
  123. /package/dist/{lib → src/lib}/index.d.ts +0 -0
  124. /package/dist/{lib → src/lib}/wellknown.types.d.ts +0 -0
@@ -0,0 +1,346 @@
1
+ /*
2
+ * Copyright (c) 2025 Ping Identity Corporation. All rights reserved.
3
+ *
4
+ * This software may be modified and distributed under the terms
5
+ * of the MIT license. See the LICENSE file for details.
6
+ */
7
+ /**
8
+ * Import the RTK Query library from Redux Toolkit
9
+ * @see https://redux-toolkit.js.org/rtk-query/overview
10
+ */
11
+ import { createApi, fetchBaseQuery, } from '@reduxjs/toolkit/query';
12
+ /**
13
+ * Import internal modules
14
+ */
15
+ import { initQuery } from '@forgerock/sdk-request-middleware';
16
+ import { createAuthorizeUrl } from '@forgerock/sdk-oidc';
17
+ import { handleResponse, transformActionRequest, transformSubmitRequest } from './davinci.utils.js';
18
+ /**
19
+ * @const davinciApi - Define the DaVinci API for Redux state management
20
+ * @see https://redux-toolkit.js.org/rtk-query/overview
21
+ */
22
+ export const davinciApi = createApi({
23
+ reducerPath: 'davinci',
24
+ // TODO: implement extraOptions for request interceptors: https://stackoverflow.com/a/77569083 & https://stackoverflow.com/a/65129117
25
+ baseQuery: fetchBaseQuery({
26
+ prepareHeaders: (headers) => {
27
+ headers.set('Accept', 'application/json');
28
+ headers.set('x-requested-with', 'ping-sdk');
29
+ headers.set('x-requested-platform', 'javascript');
30
+ return headers;
31
+ },
32
+ }),
33
+ endpoints: (builder) => ({
34
+ /**
35
+ * @method flow - method for initiating a new flow with the DaVinci API
36
+ */
37
+ flow: builder.mutation({
38
+ /**
39
+ * @method queryFn - This is just a wrapper around the fetch call
40
+ */
41
+ async queryFn(params, api, __, baseQuery) {
42
+ const state = api.getState();
43
+ const links = state.node.server._links;
44
+ const requestBody = transformActionRequest(state.node, params.action, api.extra.logger);
45
+ const { requestMiddleware, logger } = api.extra;
46
+ let href = '';
47
+ if (links && 'next' in links) {
48
+ href = links['next'].href || '';
49
+ }
50
+ const request = {
51
+ // TODO: If we don't have a `next.href`, we should handle this better
52
+ url: href,
53
+ credentials: 'include',
54
+ method: 'POST',
55
+ headers: {
56
+ 'Content-Type': 'application/json',
57
+ interactionId: state.node.server.interactionId,
58
+ interactionToken: state.node.server.interactionToken,
59
+ },
60
+ body: JSON.stringify(requestBody),
61
+ };
62
+ logger.debug('Davinci API request', request);
63
+ const response = initQuery(request, 'flow')
64
+ .applyMiddleware(requestMiddleware)
65
+ .applyQuery(async (req) => await baseQuery(req));
66
+ /**
67
+ * Returns the original response from DaVinci,
68
+ * this gets transformed in the onQueryStarted method
69
+ */
70
+ return response;
71
+ },
72
+ /**
73
+ * @method onQueryStarted - method for handling the response from the DaVinci API
74
+ *
75
+ * The method name below is a bit misleading. It is not just
76
+ * called when the query is started, but throughout the lifecycle of
77
+ * the API, including when the query is fulfilled. This is because
78
+ * the query is started, and then the response is awaited, and then
79
+ * the response is processed.
80
+ *
81
+ * NOTE: The below is repeated for each endpoint, which is not "DRY",
82
+ * but doing it inline reduces the typing complexity as all the
83
+ * parameters are pre-typed from the library.
84
+ */
85
+ async onQueryStarted(_, api) {
86
+ const logger = api.extra.logger;
87
+ let response;
88
+ try {
89
+ const query = await api.queryFulfilled;
90
+ response = query.meta?.response;
91
+ }
92
+ catch (err) {
93
+ const error = err;
94
+ /**
95
+ * This error is thrown when the query is rejected. We don't
96
+ * want to do anything with it for now.
97
+ */
98
+ response = error.meta?.response;
99
+ }
100
+ const cacheEntry = api.getCacheEntry();
101
+ logger.debug('Davinci API response', cacheEntry);
102
+ handleResponse(cacheEntry, api.dispatch, response?.status || 0, logger);
103
+ },
104
+ }),
105
+ /**
106
+ * @method next - method for initiating the next node in the current flow
107
+ */
108
+ next: builder.mutation({
109
+ /**
110
+ * @method queryFn - This is just a wrapper around the fetch call
111
+ */
112
+ async queryFn(body, api, __, baseQuery) {
113
+ const state = api.getState();
114
+ const links = state.node.server._links;
115
+ const { requestMiddleware, logger } = api.extra;
116
+ let requestBody;
117
+ let href = '';
118
+ if (links && 'next' in links) {
119
+ href = links['next'].href || '';
120
+ }
121
+ if (!body) {
122
+ requestBody = transformSubmitRequest(state.node, logger);
123
+ }
124
+ else {
125
+ requestBody = body;
126
+ }
127
+ const request = {
128
+ url: href,
129
+ credentials: 'include',
130
+ method: 'POST',
131
+ headers: {
132
+ 'Content-Type': 'application/json',
133
+ interactionId: state.node.server.interactionId,
134
+ interactionToken: state.node.server.interactionToken,
135
+ },
136
+ body: JSON.stringify(requestBody),
137
+ };
138
+ logger.debug('Davinci API request', request);
139
+ const response = initQuery(request, 'next')
140
+ .applyMiddleware(requestMiddleware)
141
+ .applyQuery(async (req) => await baseQuery(req));
142
+ /**
143
+ * Returns the original response from DaVinci,
144
+ * this gets transformed in the onQueryStarted method
145
+ */
146
+ return response;
147
+ },
148
+ /**
149
+ * @method onQueryStarted - method for handling the response from the DaVinci API
150
+ *
151
+ * The method name below is a bit misleading. It is not just
152
+ * called when the query is started, but throughout the lifecycle of
153
+ * the API, including when the query is fulfilled. This is because
154
+ * the query is started, and then the response is awaited, and then
155
+ * the response is processed.
156
+ *
157
+ * NOTE: The below is repeated for each endpoint, which is not "DRY",
158
+ * but doing it inline reduces the typing complexity as all the
159
+ * parameters are pre-typed from the library.
160
+ */
161
+ async onQueryStarted(_, api) {
162
+ const logger = api.extra.logger;
163
+ let response;
164
+ try {
165
+ const query = await api.queryFulfilled;
166
+ response = query.meta?.response;
167
+ }
168
+ catch (err) {
169
+ const error = err;
170
+ /**
171
+ * This error is thrown when the query is rejected. We don't
172
+ * want to do anything with it for now.
173
+ */
174
+ response = error.meta?.response;
175
+ }
176
+ const cacheEntry = api.getCacheEntry();
177
+ logger.debug('Davinci API response', cacheEntry);
178
+ handleResponse(cacheEntry, api.dispatch, response?.status || 0, logger);
179
+ },
180
+ }),
181
+ /**
182
+ * @method start - method for initiating a DaVinci flow
183
+ * @param - needs no arguments, but need to declare types to make it explicit
184
+ */
185
+ start: builder.mutation({
186
+ /**
187
+ * @method queryFn - This is just a wrapper around the fetch call
188
+ */
189
+ async queryFn(options, api, __, baseQuery) {
190
+ const { requestMiddleware, logger } = api.extra;
191
+ const state = api.getState();
192
+ if (!state) {
193
+ return {
194
+ error: {
195
+ status: 400,
196
+ data: 'Store must be initialized before use',
197
+ },
198
+ };
199
+ }
200
+ const authorizeEndpoint = state.config.endpoints.authorize;
201
+ if (!authorizeEndpoint) {
202
+ return { error: { status: 400, data: 'authorizeEndpoint URL must be set' } };
203
+ }
204
+ try {
205
+ const authorizeUrl = await createAuthorizeUrl(authorizeEndpoint, {
206
+ clientId: state?.config?.clientId,
207
+ login: 'redirect', // TODO: improve this in SDK to be more semantic
208
+ redirectUri: state?.config?.redirectUri,
209
+ responseType: state?.config?.responseType,
210
+ scope: state?.config?.scope,
211
+ });
212
+ const url = new URL(authorizeUrl);
213
+ const existingParams = url.searchParams;
214
+ if (options?.query) {
215
+ Object.entries(options.query).forEach(([key, value]) => {
216
+ /**
217
+ * We use set here because if we have existing params, we want
218
+ * to make sure we override them and not add duplicates
219
+ */
220
+ existingParams.set(key, String(value));
221
+ });
222
+ url.search = existingParams.toString();
223
+ }
224
+ const request = {
225
+ url: url.toString(),
226
+ credentials: 'include',
227
+ method: 'GET',
228
+ headers: {
229
+ 'Content-Type': 'application/x-www-form-urlencoded',
230
+ },
231
+ };
232
+ logger.debug('Davinci API request', request);
233
+ const response = initQuery(request, 'start')
234
+ .applyMiddleware(requestMiddleware)
235
+ .applyQuery(async (req) => await baseQuery(req));
236
+ /**
237
+ * Returns the original response from DaVinci,
238
+ * this gets transformed in the onQueryStarted method
239
+ */
240
+ return response;
241
+ }
242
+ catch (error) {
243
+ if (error instanceof Error) {
244
+ return { error: { status: 400, data: error.message } };
245
+ }
246
+ return { error: { status: 400, data: 'An unknown error occurred' } };
247
+ }
248
+ },
249
+ /**
250
+ * @method onQueryStarted - method for handling the response from the DaVinci API
251
+ *
252
+ * The method name below is a bit misleading. It is not just
253
+ * called when the query is started, but throughout the lifecycle of
254
+ * the API, including when the query is fulfilled. This is because
255
+ * the query is started, and then the response is awaited, and then
256
+ * the response is processed.
257
+ *
258
+ * NOTE: The below is repeated for each endpoint, which is not "DRY",
259
+ * but doing it inline reduces the typing complexity as all the
260
+ * parameters are pre-typed from the library.
261
+ */
262
+ async onQueryStarted(_, api) {
263
+ const logger = api.extra.logger;
264
+ let response;
265
+ try {
266
+ const query = await api.queryFulfilled;
267
+ response = query.meta?.response;
268
+ }
269
+ catch (err) {
270
+ const error = err;
271
+ /**
272
+ * This error is thrown when the query is rejected. We don't
273
+ * want to do anything with it for now.
274
+ */
275
+ response = error.meta?.response;
276
+ }
277
+ const cacheEntry = api.getCacheEntry();
278
+ logger.debug('Davinci API response', cacheEntry);
279
+ handleResponse(cacheEntry, api.dispatch, response?.status || 0, logger);
280
+ },
281
+ }),
282
+ resume: builder.query({
283
+ async queryFn({ serverInfo, continueToken }, api, _c, baseQuery) {
284
+ const { requestMiddleware, logger } = api.extra;
285
+ const links = serverInfo._links;
286
+ if (!continueToken) {
287
+ return {
288
+ error: {
289
+ data: 'No continue token',
290
+ message: 'Resume meant to be called in a social login. Continue token was not found on the url',
291
+ status: 200,
292
+ },
293
+ };
294
+ }
295
+ if (!links ||
296
+ !('continue' in links) ||
297
+ !('href' in links['continue']) ||
298
+ !links['continue'].href) {
299
+ return {
300
+ error: {
301
+ data: 'No continue url',
302
+ message: 'Resume needs a continue url, none was found in storage. Please restart your flow',
303
+ status: 200,
304
+ },
305
+ };
306
+ }
307
+ const continueUrl = links['continue'].href;
308
+ const request = {
309
+ url: continueUrl,
310
+ credentials: 'include',
311
+ method: 'POST',
312
+ headers: {
313
+ 'Content-Type': 'application/json',
314
+ Authorization: `Bearer ${continueToken}`,
315
+ },
316
+ body: JSON.stringify({}),
317
+ };
318
+ logger.debug('Davinci API request', request);
319
+ const response = initQuery(request, 'resume')
320
+ .applyMiddleware(requestMiddleware)
321
+ .applyQuery(async (req) => await baseQuery(req));
322
+ return response;
323
+ },
324
+ async onQueryStarted(_, api) {
325
+ const logger = api.extra.logger;
326
+ let response;
327
+ try {
328
+ const query = await api.queryFulfilled;
329
+ response = query.meta?.response;
330
+ }
331
+ catch (err) {
332
+ const error = err;
333
+ /**
334
+ * This error is thrown when the query is rejected. We don't
335
+ * want to do anything with it for now.
336
+ */
337
+ response = error.meta?.response;
338
+ }
339
+ const cacheEntry = api.getCacheEntry();
340
+ logger.debug('Davinci API response', cacheEntry);
341
+ handleResponse(cacheEntry, api.dispatch, response?.status || 0, logger);
342
+ },
343
+ }),
344
+ }),
345
+ });
346
+ //# sourceMappingURL=davinci.api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"davinci.api.js","sourceRoot":"","sources":["../../../src/lib/davinci.api.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
- import { FetchBaseQueryError, FetchBaseQueryMeta, MutationResultSelectorResult } from '@reduxjs/toolkit/query';
1
+ /**
2
+ * Request for DaVinci API
3
+ */
4
+ import type { FetchBaseQueryError, FetchBaseQueryMeta, MutationResultSelectorResult } from '@reduxjs/toolkit/query';
2
5
  export interface DaVinciRequest {
3
6
  id: string;
4
7
  eventName: string;
@@ -30,15 +33,98 @@ export interface Links {
30
33
  href?: string;
31
34
  };
32
35
  }
36
+ export type StandardField = {
37
+ type: 'PASSWORD' | 'PASSWORD_VERIFY' | 'TEXT' | 'SUBMIT_BUTTON' | 'FLOW_BUTTON' | 'FLOW_LINK' | 'BUTTON';
38
+ key: string;
39
+ label: string;
40
+ required?: boolean;
41
+ };
42
+ export type ReadOnlyField = {
43
+ type: 'LABEL';
44
+ content: string;
45
+ key?: string;
46
+ };
47
+ export type RedirectField = {
48
+ type: 'SOCIAL_LOGIN_BUTTON';
49
+ key: string;
50
+ label: string;
51
+ links: Links;
52
+ };
53
+ export type ValidatedField = {
54
+ type: 'TEXT';
55
+ key: string;
56
+ label: string;
57
+ required: boolean;
58
+ validation: {
59
+ regex: string;
60
+ errorMessage: string;
61
+ };
62
+ };
63
+ export type SingleSelectField = {
64
+ inputType: 'SINGLE_SELECT';
65
+ key: string;
66
+ label: string;
67
+ options: {
68
+ label: string;
69
+ value: string;
70
+ }[];
71
+ required?: boolean;
72
+ type: 'RADIO' | 'DROPDOWN';
73
+ };
74
+ export type MultiSelectField = {
75
+ inputType: 'MULTI_SELECT';
76
+ key: string;
77
+ label: string;
78
+ options: {
79
+ label: string;
80
+ value: string;
81
+ }[];
82
+ required?: boolean;
83
+ type: 'CHECKBOX' | 'COMBOBOX';
84
+ };
85
+ export type DeviceAuthenticationField = {
86
+ type: 'DEVICE_AUTHENTICATION';
87
+ key: string;
88
+ label: string;
89
+ options: {
90
+ type: string;
91
+ iconSrc: string;
92
+ title: string;
93
+ id: string;
94
+ default: boolean;
95
+ description: string;
96
+ }[];
97
+ required: boolean;
98
+ };
99
+ export type DeviceRegistrationField = {
100
+ type: 'DEVICE_REGISTRATION';
101
+ key: string;
102
+ label: string;
103
+ options: {
104
+ type: string;
105
+ iconSrc: string;
106
+ title: string;
107
+ description: string;
108
+ }[];
109
+ required: boolean;
110
+ };
111
+ export type PhoneNumberField = {
112
+ type: 'PHONE_NUMBER';
113
+ key: string;
114
+ label: string;
115
+ defaultCountryCode: string | null;
116
+ required: boolean;
117
+ };
118
+ export type UnknownField = Record<string, unknown>;
119
+ export type ComplexValueFields = DeviceAuthenticationField | DeviceRegistrationField | PhoneNumberField;
120
+ export type MultiValueFields = MultiSelectField;
121
+ export type ReadOnlyFields = ReadOnlyField;
122
+ export type RedirectFields = RedirectField;
123
+ export type SingleValueFields = StandardField | ValidatedField | SingleSelectField;
124
+ export type DaVinciField = ComplexValueFields | MultiValueFields | ReadOnlyFields | RedirectFields | SingleValueFields;
33
125
  /**
34
126
  * Next or Continuation Response DaVinci API
35
127
  */
36
- export interface DaVinciField {
37
- type: string;
38
- key: string;
39
- label: string;
40
- links?: Links;
41
- }
42
128
  export interface DaVinciNextResponse extends DaVinciBaseResponse {
43
129
  _links?: Links;
44
130
  eventName?: string;
@@ -65,10 +151,11 @@ interface NestedErrorDetails {
65
151
  innerError?: {
66
152
  history?: string;
67
153
  unsatisfiedRequirements?: string[];
154
+ failuresRemaining?: number;
68
155
  };
69
156
  }
70
157
  export interface ErrorDetail {
71
- message: string;
158
+ message?: string;
72
159
  rawResponse?: {
73
160
  _embedded?: {
74
161
  users?: Array<unknown>;
@@ -181,5 +268,11 @@ export interface ThrownQueryError {
181
268
  isHandledError: boolean;
182
269
  meta: FetchBaseQueryMeta;
183
270
  }
271
+ export interface StartOptions<Query extends OutgoingQueryParams = OutgoingQueryParams> {
272
+ query: Query;
273
+ }
274
+ export interface OutgoingQueryParams {
275
+ [key: string]: string | string[];
276
+ }
184
277
  export {};
185
278
  //# sourceMappingURL=davinci.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"davinci.types.d.ts","sourceRoot":"","sources":["../../../src/lib/davinci.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /*
2
+ * Copyright (c) 2025 Ping Identity Corporation. All rights reserved.
3
+ *
4
+ * This software may be modified and distributed under the terms
5
+ * of the MIT license. See the LICENSE file for details.
6
+ */
7
+ /**
8
+ * Request for DaVinci API
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=davinci.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"davinci.types.js","sourceRoot":"","sources":["../../../src/lib/davinci.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH;;GAEG"}
@@ -1,18 +1,22 @@
1
- import { Dispatch } from '@reduxjs/toolkit';
2
- import { DaVinciCacheEntry, DaVinciRequest } from './davinci.types';
3
- import { ContinueNode } from './node.types';
1
+ /**
2
+ * Import the used types
3
+ */
4
+ import type { Dispatch } from '@reduxjs/toolkit';
5
+ import { logger as loggerFn } from '@forgerock/sdk-logger';
6
+ import type { DaVinciCacheEntry, DaVinciRequest } from './davinci.types.js';
7
+ import type { ContinueNode } from './node.types.js';
4
8
  /**
5
9
  * @function transformSubmitRequest - Transforms a NextNode into a DaVinciRequest for form submissions
6
10
  * @param {ContinueNode} node - The node to transform into a DaVinciRequest
7
11
  * @returns {DaVinciRequest} - The transformed request object
8
12
  */
9
- export declare function transformSubmitRequest(node: ContinueNode): DaVinciRequest;
13
+ export declare function transformSubmitRequest(node: ContinueNode, logger: ReturnType<typeof loggerFn>): DaVinciRequest;
10
14
  /**
11
15
  * @function transformActionRequest - Transforms a NextNode into a DaVinciRequest for action requests
12
16
  * @param {ContinueNode} node - The node to transform into a DaVinciRequest
13
17
  * @param {string} action - The action to transform into a DaVinciRequest
14
18
  * @returns {DaVinciRequest} - The transformed request object
15
19
  */
16
- export declare function transformActionRequest(node: ContinueNode, action: string): DaVinciRequest;
17
- export declare function handleResponse(cacheEntry: DaVinciCacheEntry, dispatch: Dispatch, status: number): void;
20
+ export declare function transformActionRequest(node: ContinueNode, action: string, logger: ReturnType<typeof loggerFn>): DaVinciRequest;
21
+ export declare function handleResponse(cacheEntry: DaVinciCacheEntry, dispatch: Dispatch, status: number, logger: ReturnType<typeof loggerFn>): void;
18
22
  //# sourceMappingURL=davinci.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"davinci.utils.d.ts","sourceRoot":"","sources":["../../../src/lib/davinci.utils.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAI3D,OAAO,KAAK,EACV,iBAAiB,EAIjB,cAAc,EAEf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,GAClC,cAAc,CAoChB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,GAClC,cAAc,CAahB;AAED,wBAAgB,cAAc,CAC5B,UAAU,EAAE,iBAAiB,EAC7B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,QA8IpC"}