@forgerock/davinci-client 0.0.0-beta-20250414111925 → 0.0.0-beta-20250414113129

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 (133) hide show
  1. package/dist/src/index.d.ts +2 -0
  2. package/dist/src/index.d.ts.map +1 -0
  3. package/dist/src/index.js +8 -0
  4. package/dist/src/index.js.map +1 -0
  5. package/dist/src/lib/authorize.utils.d.ts +22 -0
  6. package/dist/src/lib/authorize.utils.d.ts.map +1 -0
  7. package/dist/src/lib/authorize.utils.js +47 -0
  8. package/dist/src/lib/authorize.utils.js.map +1 -0
  9. package/dist/src/lib/client.store.d.ts +351 -0
  10. package/dist/src/lib/client.store.d.ts.map +1 -0
  11. package/dist/src/lib/client.store.js +295 -0
  12. package/dist/src/lib/client.store.js.map +1 -0
  13. package/dist/src/lib/client.store.utils.d.ts +61 -0
  14. package/dist/src/lib/client.store.utils.d.ts.map +1 -0
  15. package/dist/src/lib/client.store.utils.js +35 -0
  16. package/dist/src/lib/client.store.utils.js.map +1 -0
  17. package/dist/src/lib/client.types.d.ts +17 -0
  18. package/dist/src/lib/client.types.d.ts.map +1 -0
  19. package/dist/src/lib/client.types.js +2 -0
  20. package/dist/src/lib/client.types.js.map +1 -0
  21. package/dist/src/lib/collector.types.d.ts +255 -0
  22. package/dist/src/lib/collector.types.d.ts.map +1 -0
  23. package/dist/src/lib/collector.types.js +11 -0
  24. package/dist/src/lib/collector.types.js.map +1 -0
  25. package/dist/src/lib/collector.utils.d.ts +100 -0
  26. package/dist/src/lib/collector.utils.d.ts.map +1 -0
  27. package/dist/src/lib/collector.utils.js +349 -0
  28. package/dist/src/lib/collector.utils.js.map +1 -0
  29. package/dist/src/lib/config.slice.d.ts +42 -0
  30. package/dist/src/lib/config.slice.d.ts.map +1 -0
  31. package/dist/src/lib/config.slice.js +59 -0
  32. package/dist/src/lib/config.slice.js.map +1 -0
  33. package/dist/src/lib/config.types.d.ts +12 -0
  34. package/dist/src/lib/config.types.d.ts.map +1 -0
  35. package/dist/src/lib/config.types.js +2 -0
  36. package/dist/src/lib/config.types.js.map +1 -0
  37. package/dist/src/lib/davinci.api.d.ts +29 -0
  38. package/dist/src/lib/davinci.api.d.ts.map +1 -0
  39. package/dist/src/lib/davinci.api.js +333 -0
  40. package/dist/src/lib/davinci.api.js.map +1 -0
  41. package/dist/src/lib/davinci.types.d.ts +239 -0
  42. package/dist/src/lib/davinci.types.d.ts.map +1 -0
  43. package/dist/src/lib/davinci.types.js +11 -0
  44. package/dist/src/lib/davinci.types.js.map +1 -0
  45. package/dist/src/lib/davinci.utils.d.ts +25 -0
  46. package/dist/src/lib/davinci.utils.d.ts.map +1 -0
  47. package/dist/src/lib/davinci.utils.js +185 -0
  48. package/dist/src/lib/davinci.utils.js.map +1 -0
  49. package/dist/src/lib/device.store.d.ts +126 -0
  50. package/dist/src/lib/device.store.d.ts.map +1 -0
  51. package/dist/src/lib/device.store.js +200 -0
  52. package/dist/src/lib/device.store.js.map +1 -0
  53. package/dist/src/lib/effects/request.effect.mock.d.ts +4 -0
  54. package/dist/src/lib/effects/request.effect.mock.d.ts.map +1 -0
  55. package/dist/src/lib/effects/request.effect.mock.js +106 -0
  56. package/dist/src/lib/effects/request.effect.mock.js.map +1 -0
  57. package/dist/src/lib/effects/request.effect.types.d.ts +20 -0
  58. package/dist/src/lib/effects/request.effect.types.d.ts.map +1 -0
  59. package/dist/src/lib/effects/request.effect.types.js +2 -0
  60. package/dist/src/lib/effects/request.effect.types.js.map +1 -0
  61. package/dist/src/lib/effects/request.effect.unions.d.ts +12 -0
  62. package/dist/src/lib/effects/request.effect.unions.d.ts.map +1 -0
  63. package/dist/src/lib/effects/request.effect.unions.js +16 -0
  64. package/dist/src/lib/effects/request.effect.unions.js.map +1 -0
  65. package/dist/src/lib/effects/request.effect.utils.d.ts +27 -0
  66. package/dist/src/lib/effects/request.effect.utils.d.ts.map +1 -0
  67. package/dist/src/lib/effects/request.effect.utils.js +57 -0
  68. package/dist/src/lib/effects/request.effect.utils.js.map +1 -0
  69. package/dist/src/lib/error.types.d.ts +6 -0
  70. package/dist/src/lib/error.types.d.ts.map +1 -0
  71. package/dist/src/lib/error.types.js +2 -0
  72. package/dist/src/lib/error.types.js.map +1 -0
  73. package/dist/src/lib/index.d.ts +3 -0
  74. package/dist/src/lib/index.d.ts.map +1 -0
  75. package/dist/src/lib/index.js +9 -0
  76. package/dist/src/lib/index.js.map +1 -0
  77. package/dist/src/lib/node.reducer.d.ts +27 -0
  78. package/dist/src/lib/node.reducer.d.ts.map +1 -0
  79. package/dist/src/lib/node.reducer.js +143 -0
  80. package/dist/src/lib/node.reducer.js.map +1 -0
  81. package/dist/src/lib/node.slice.d.ts +145 -0
  82. package/dist/src/lib/node.slice.d.ts.map +1 -0
  83. package/dist/src/lib/node.slice.js +231 -0
  84. package/dist/src/lib/node.slice.js.map +1 -0
  85. package/dist/src/lib/node.types.d.ts +118 -0
  86. package/dist/src/lib/node.types.d.ts.map +1 -0
  87. package/dist/src/lib/node.types.js +2 -0
  88. package/dist/src/lib/node.types.js.map +1 -0
  89. package/dist/src/lib/node.utils.d.ts +4 -0
  90. package/dist/src/lib/node.utils.d.ts.map +1 -0
  91. package/dist/src/lib/node.utils.js +32 -0
  92. package/dist/src/lib/node.utils.js.map +1 -0
  93. package/dist/src/lib/services/index.d.ts +24 -0
  94. package/dist/src/lib/services/index.d.ts.map +1 -0
  95. package/dist/src/lib/services/index.js +81 -0
  96. package/dist/src/lib/services/index.js.map +1 -0
  97. package/dist/src/lib/types/binding-device.types.d.ts +31 -0
  98. package/dist/src/lib/types/binding-device.types.d.ts.map +1 -0
  99. package/dist/src/lib/types/binding-device.types.js +2 -0
  100. package/dist/src/lib/types/binding-device.types.js.map +1 -0
  101. package/dist/src/lib/types/index.d.ts +6 -0
  102. package/dist/src/lib/types/index.d.ts.map +1 -0
  103. package/dist/src/lib/types/index.js +12 -0
  104. package/dist/src/lib/types/index.js.map +1 -0
  105. package/dist/src/lib/types/oath.types.d.ts +41 -0
  106. package/dist/src/lib/types/oath.types.d.ts.map +1 -0
  107. package/dist/src/lib/types/oath.types.js +2 -0
  108. package/dist/src/lib/types/oath.types.js.map +1 -0
  109. package/dist/src/lib/types/push-device.types.d.ts +84 -0
  110. package/dist/src/lib/types/push-device.types.d.ts.map +1 -0
  111. package/dist/src/lib/types/push-device.types.js +2 -0
  112. package/dist/src/lib/types/push-device.types.js.map +1 -0
  113. package/dist/src/lib/types/updateDeviceProfile.types.d.ts +58 -0
  114. package/dist/src/lib/types/updateDeviceProfile.types.d.ts.map +1 -0
  115. package/dist/src/lib/types/updateDeviceProfile.types.js +2 -0
  116. package/dist/src/lib/types/updateDeviceProfile.types.js.map +1 -0
  117. package/dist/src/lib/types/webauthn.types.d.ts +69 -0
  118. package/dist/src/lib/types/webauthn.types.d.ts.map +1 -0
  119. package/dist/src/lib/types/webauthn.types.js +2 -0
  120. package/dist/src/lib/types/webauthn.types.js.map +1 -0
  121. package/dist/src/lib/wellknown.api.d.ts +5 -0
  122. package/dist/src/lib/wellknown.api.d.ts.map +1 -0
  123. package/dist/src/lib/wellknown.api.js +22 -0
  124. package/dist/src/lib/wellknown.api.js.map +1 -0
  125. package/dist/src/lib/wellknown.types.d.ts +38 -0
  126. package/dist/src/lib/wellknown.types.d.ts.map +1 -0
  127. package/dist/src/lib/wellknown.types.js +2 -0
  128. package/dist/src/lib/wellknown.types.js.map +1 -0
  129. package/dist/src/types.d.ts +31 -0
  130. package/dist/src/types.d.ts.map +1 -0
  131. package/dist/src/types.js +8 -0
  132. package/dist/src/types.js.map +1 -0
  133. package/package.json +3 -2
@@ -0,0 +1,333 @@
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 { createAuthorizeUrl } from './authorize.utils.js';
16
+ import { handleResponse, transformActionRequest, transformSubmitRequest } from './davinci.utils.js';
17
+ import { initQuery } from './effects/request.effect.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);
45
+ const requestMiddleware = api.extra.requestMiddleware;
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
+ const response = initQuery(request, 'flow')
63
+ .applyMiddleware(requestMiddleware)
64
+ .applyQuery(async (req) => await baseQuery(req));
65
+ /**
66
+ * Returns the original response from DaVinci,
67
+ * this gets transformed in the onQueryStarted method
68
+ */
69
+ return response;
70
+ },
71
+ /**
72
+ * @method onQueryStarted - method for handling the response from the DaVinci API
73
+ *
74
+ * The method name below is a bit misleading. It is not just
75
+ * called when the query is started, but throughout the lifecycle of
76
+ * the API, including when the query is fulfilled. This is because
77
+ * the query is started, and then the response is awaited, and then
78
+ * the response is processed.
79
+ *
80
+ * NOTE: The below is repeated for each endpoint, which is not "DRY",
81
+ * but doing it inline reduces the typing complexity as all the
82
+ * parameters are pre-typed from the library.
83
+ */
84
+ async onQueryStarted(_, api) {
85
+ let response;
86
+ try {
87
+ const query = await api.queryFulfilled;
88
+ response = query.meta?.response;
89
+ }
90
+ catch (err) {
91
+ const error = err;
92
+ /**
93
+ * This error is thrown when the query is rejected. We don't
94
+ * want to do anything with it for now.
95
+ */
96
+ response = error.meta?.response;
97
+ }
98
+ const cacheEntry = api.getCacheEntry();
99
+ handleResponse(cacheEntry, api.dispatch, response?.status || 0);
100
+ },
101
+ }),
102
+ /**
103
+ * @method next - method for initiating the next node in the current flow
104
+ */
105
+ next: builder.mutation({
106
+ /**
107
+ * @method queryFn - This is just a wrapper around the fetch call
108
+ */
109
+ async queryFn(body, api, __, baseQuery) {
110
+ const state = api.getState();
111
+ const links = state.node.server._links;
112
+ const requestMiddleware = api.extra.requestMiddleware;
113
+ let requestBody;
114
+ let href = '';
115
+ if (links && 'next' in links) {
116
+ href = links['next'].href || '';
117
+ }
118
+ if (!body) {
119
+ requestBody = transformSubmitRequest(state.node);
120
+ }
121
+ else {
122
+ requestBody = body;
123
+ }
124
+ const request = {
125
+ url: href,
126
+ credentials: 'include',
127
+ method: 'POST',
128
+ headers: {
129
+ 'Content-Type': 'application/json',
130
+ interactionId: state.node.server.interactionId,
131
+ interactionToken: state.node.server.interactionToken,
132
+ },
133
+ body: JSON.stringify(requestBody),
134
+ };
135
+ const response = initQuery(request, 'next')
136
+ .applyMiddleware(requestMiddleware)
137
+ .applyQuery(async (req) => await baseQuery(req));
138
+ /**
139
+ * Returns the original response from DaVinci,
140
+ * this gets transformed in the onQueryStarted method
141
+ */
142
+ return response;
143
+ },
144
+ /**
145
+ * @method onQueryStarted - method for handling the response from the DaVinci API
146
+ *
147
+ * The method name below is a bit misleading. It is not just
148
+ * called when the query is started, but throughout the lifecycle of
149
+ * the API, including when the query is fulfilled. This is because
150
+ * the query is started, and then the response is awaited, and then
151
+ * the response is processed.
152
+ *
153
+ * NOTE: The below is repeated for each endpoint, which is not "DRY",
154
+ * but doing it inline reduces the typing complexity as all the
155
+ * parameters are pre-typed from the library.
156
+ */
157
+ async onQueryStarted(_, api) {
158
+ let response;
159
+ try {
160
+ const query = await api.queryFulfilled;
161
+ response = query.meta?.response;
162
+ }
163
+ catch (err) {
164
+ const error = err;
165
+ /**
166
+ * This error is thrown when the query is rejected. We don't
167
+ * want to do anything with it for now.
168
+ */
169
+ response = error.meta?.response;
170
+ }
171
+ const cacheEntry = api.getCacheEntry();
172
+ handleResponse(cacheEntry, api.dispatch, response?.status || 0);
173
+ },
174
+ }),
175
+ /**
176
+ * @method start - method for initiating a DaVinci flow
177
+ * @param - needs no arguments, but need to declare types to make it explicit
178
+ */
179
+ start: builder.mutation({
180
+ /**
181
+ * @method queryFn - This is just a wrapper around the fetch call
182
+ */
183
+ async queryFn(options, api, __, baseQuery) {
184
+ const requestMiddleware = api.extra.requestMiddleware;
185
+ const state = api.getState();
186
+ if (!state) {
187
+ return {
188
+ error: {
189
+ status: 400,
190
+ data: 'Store must be initialized before use',
191
+ },
192
+ };
193
+ }
194
+ const authorizeEndpoint = state.config.endpoints.authorize;
195
+ if (!authorizeEndpoint) {
196
+ return { error: { status: 400, data: 'authorizeEndpoint URL must be set' } };
197
+ }
198
+ try {
199
+ const authorizeUrl = await createAuthorizeUrl(authorizeEndpoint, {
200
+ clientId: state?.config?.clientId,
201
+ login: 'redirect', // TODO: improve this in SDK to be more semantic
202
+ redirectUri: state?.config?.redirectUri,
203
+ responseType: state?.config?.responseType,
204
+ scope: state?.config?.scope,
205
+ });
206
+ const url = new URL(authorizeUrl);
207
+ const existingParams = url.searchParams;
208
+ if (options?.query) {
209
+ Object.entries(options.query).forEach(([key, value]) => {
210
+ /**
211
+ * We use set here because if we have existing params, we want
212
+ * to make sure we override them and not add duplicates
213
+ */
214
+ existingParams.set(key, String(value));
215
+ });
216
+ url.search = existingParams.toString();
217
+ }
218
+ const request = {
219
+ url: url.toString(),
220
+ credentials: 'include',
221
+ method: 'GET',
222
+ headers: {
223
+ 'Content-Type': 'application/x-www-form-urlencoded',
224
+ },
225
+ };
226
+ const response = initQuery(request, 'start')
227
+ .applyMiddleware(requestMiddleware)
228
+ .applyQuery(async (req) => await baseQuery(req));
229
+ /**
230
+ * Returns the original response from DaVinci,
231
+ * this gets transformed in the onQueryStarted method
232
+ */
233
+ return response;
234
+ }
235
+ catch (error) {
236
+ if (error instanceof Error) {
237
+ return { error: { status: 400, data: error.message } };
238
+ }
239
+ return { error: { status: 400, data: 'An unknown error occurred' } };
240
+ }
241
+ },
242
+ /**
243
+ * @method onQueryStarted - method for handling the response from the DaVinci API
244
+ *
245
+ * The method name below is a bit misleading. It is not just
246
+ * called when the query is started, but throughout the lifecycle of
247
+ * the API, including when the query is fulfilled. This is because
248
+ * the query is started, and then the response is awaited, and then
249
+ * the response is processed.
250
+ *
251
+ * NOTE: The below is repeated for each endpoint, which is not "DRY",
252
+ * but doing it inline reduces the typing complexity as all the
253
+ * parameters are pre-typed from the library.
254
+ */
255
+ async onQueryStarted(_, api) {
256
+ let response;
257
+ try {
258
+ const query = await api.queryFulfilled;
259
+ response = query.meta?.response;
260
+ }
261
+ catch (err) {
262
+ const error = err;
263
+ /**
264
+ * This error is thrown when the query is rejected. We don't
265
+ * want to do anything with it for now.
266
+ */
267
+ response = error.meta?.response;
268
+ }
269
+ const cacheEntry = api.getCacheEntry();
270
+ handleResponse(cacheEntry, api.dispatch, response?.status || 0);
271
+ },
272
+ }),
273
+ resume: builder.query({
274
+ async queryFn({ continueToken }, api, _c, baseQuery) {
275
+ const continueUrl = window.localStorage.getItem('continueUrl') || null;
276
+ const requestMiddleware = api.extra.requestMiddleware;
277
+ if (!continueToken) {
278
+ return {
279
+ error: {
280
+ data: 'No continue token',
281
+ message: 'Resume meant to be called in a social login. Continue token was not found on the url',
282
+ status: 200,
283
+ },
284
+ };
285
+ }
286
+ if (!continueUrl) {
287
+ return {
288
+ error: {
289
+ data: 'No continue url',
290
+ message: 'Resume needs a continue url, none was found in storage. Please restart your flow',
291
+ status: 200,
292
+ },
293
+ };
294
+ }
295
+ if (continueUrl) {
296
+ window.localStorage.removeItem('continueUrl');
297
+ }
298
+ const request = {
299
+ url: continueUrl,
300
+ credentials: 'include',
301
+ method: 'POST',
302
+ headers: {
303
+ 'Content-Type': 'application/json',
304
+ Authorization: `Bearer ${continueToken}`,
305
+ },
306
+ body: JSON.stringify({}),
307
+ };
308
+ const response = initQuery(request, 'resume')
309
+ .applyMiddleware(requestMiddleware)
310
+ .applyQuery(async (req) => await baseQuery(req));
311
+ return response;
312
+ },
313
+ async onQueryStarted(_, api) {
314
+ let response;
315
+ try {
316
+ const query = await api.queryFulfilled;
317
+ response = query.meta?.response;
318
+ }
319
+ catch (err) {
320
+ const error = err;
321
+ /**
322
+ * This error is thrown when the query is rejected. We don't
323
+ * want to do anything with it for now.
324
+ */
325
+ response = error.meta?.response;
326
+ }
327
+ const cacheEntry = api.getCacheEntry();
328
+ handleResponse(cacheEntry, api.dispatch, response?.status || 0);
329
+ },
330
+ }),
331
+ }),
332
+ });
333
+ //# 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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"}
@@ -0,0 +1,239 @@
1
+ /**
2
+ * Request for DaVinci API
3
+ */
4
+ import type { FetchBaseQueryError, FetchBaseQueryMeta, MutationResultSelectorResult } from '@reduxjs/toolkit/query';
5
+ export interface DaVinciRequest {
6
+ id: string;
7
+ eventName: string;
8
+ interactionId: string;
9
+ parameters: {
10
+ eventType: 'submit' | 'action';
11
+ data: {
12
+ actionKey: string;
13
+ formData?: Record<string, unknown>;
14
+ };
15
+ };
16
+ }
17
+ /**
18
+ * Base Response for DaVinci API
19
+ */
20
+ export interface DaVinciBaseResponse {
21
+ capabilityName?: string;
22
+ companyId?: string;
23
+ connectionId?: string;
24
+ connectorId?: string;
25
+ id?: string;
26
+ interactionId?: string;
27
+ interactionToken?: string;
28
+ isResponseCompatibleWithMobileAndWebSdks?: boolean;
29
+ status?: string;
30
+ }
31
+ export interface Links {
32
+ [key: string]: {
33
+ href?: string;
34
+ };
35
+ }
36
+ export type StandardFieldValue = {
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 ReadOnlyFieldValue = {
43
+ type: 'LABEL';
44
+ content: string;
45
+ key?: string;
46
+ };
47
+ export type RedirectFieldValue = {
48
+ type: 'SOCIAL_LOGIN_BUTTON';
49
+ key: string;
50
+ label: string;
51
+ links: Links;
52
+ };
53
+ export type ValidatedFieldValue = {
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 SingleSelectFieldValue = {
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 MultiSelectFieldValue = {
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 DaVinciField = StandardFieldValue | ReadOnlyFieldValue | RedirectFieldValue | ValidatedFieldValue | SingleSelectFieldValue | MultiSelectFieldValue;
86
+ /**
87
+ * Next or Continuation Response DaVinci API
88
+ */
89
+ export interface DaVinciNextResponse extends DaVinciBaseResponse {
90
+ _links?: Links;
91
+ eventName?: string;
92
+ formData?: {
93
+ value?: {
94
+ [key: string]: string;
95
+ };
96
+ };
97
+ form?: {
98
+ name?: string;
99
+ description?: string;
100
+ components?: {
101
+ fields?: DaVinciField[];
102
+ };
103
+ };
104
+ }
105
+ /**
106
+ * Error Response from DaVinci API
107
+ */
108
+ interface NestedErrorDetails {
109
+ code?: string;
110
+ target?: string;
111
+ message?: string;
112
+ innerError?: {
113
+ history?: string;
114
+ unsatisfiedRequirements?: string[];
115
+ failuresRemaining?: number;
116
+ };
117
+ }
118
+ export interface ErrorDetail {
119
+ message?: string;
120
+ rawResponse?: {
121
+ _embedded?: {
122
+ users?: Array<unknown>;
123
+ };
124
+ code?: string;
125
+ count?: number;
126
+ details?: NestedErrorDetails[];
127
+ id?: string;
128
+ message?: string;
129
+ size?: number;
130
+ userFilter?: string;
131
+ [key: string]: unknown;
132
+ };
133
+ statusCode?: number;
134
+ }
135
+ /**
136
+ * The original DaVinci response is appended to the cache, so we are going
137
+ * to pull it and dispatch the appropriate action based on the response.
138
+ */
139
+ export type DaVinciCacheEntry = {
140
+ data?: DaVinciBaseResponse;
141
+ error?: {
142
+ data: DaVinciBaseResponse;
143
+ status: number;
144
+ };
145
+ } & {
146
+ data?: any;
147
+ error?: any;
148
+ } & MutationResultSelectorResult<any>;
149
+ export interface DavinciErrorResponse extends DaVinciBaseResponse {
150
+ code: string | number;
151
+ message: string;
152
+ cause?: string | null;
153
+ details?: ErrorDetail[];
154
+ doNotSendToOE?: boolean;
155
+ error?: {
156
+ code?: string;
157
+ message?: string;
158
+ };
159
+ errorCategory?: string;
160
+ errorMessage?: string;
161
+ expected?: boolean;
162
+ isErrorCustomized?: boolean;
163
+ httpResponseCode: number;
164
+ metricAttributes?: {
165
+ [key: string]: unknown;
166
+ };
167
+ }
168
+ export interface DaVinciFailureResponse extends DaVinciBaseResponse {
169
+ error?: {
170
+ code?: string;
171
+ message?: string;
172
+ [key: string]: unknown;
173
+ };
174
+ }
175
+ /**
176
+ * Success Response DaVinci API
177
+ */
178
+ export interface OAuthDetails {
179
+ code?: string;
180
+ state?: string;
181
+ [key: string]: unknown;
182
+ }
183
+ export interface DaVinciSuccessResponse extends DaVinciBaseResponse {
184
+ environment: {
185
+ id: string;
186
+ [key: string]: unknown;
187
+ };
188
+ status: string;
189
+ success: true;
190
+ _links?: Links;
191
+ authorizeResponse?: OAuthDetails;
192
+ resetCookie?: boolean;
193
+ session?: {
194
+ id?: string;
195
+ [key: string]: unknown;
196
+ };
197
+ sessionToken?: string;
198
+ sessionTokenMaxAge?: number;
199
+ subFlowSettings?: {
200
+ cssLinks?: unknown[];
201
+ cssUrl?: unknown;
202
+ jsLinks?: unknown[];
203
+ loadingScreenSettings?: unknown;
204
+ reactSkUrl?: unknown;
205
+ };
206
+ }
207
+ /**
208
+ * Redux Types
209
+ */
210
+ export interface DaVinciAction {
211
+ action: string;
212
+ }
213
+ export interface DaVinciErrorCacheEntry<T> {
214
+ error: {
215
+ data: T;
216
+ };
217
+ requestId: string;
218
+ status: 'fulfilled' | 'pending' | 'rejected';
219
+ endpointName: 'next' | 'flow' | 'start';
220
+ startedTimeStamp: number;
221
+ fulfilledTimeStamp: number;
222
+ isUninitialized: boolean;
223
+ isLoading: boolean;
224
+ isSuccess: boolean;
225
+ isError: boolean;
226
+ }
227
+ export interface ThrownQueryError {
228
+ error: FetchBaseQueryError;
229
+ isHandledError: boolean;
230
+ meta: FetchBaseQueryMeta;
231
+ }
232
+ export interface StartOptions<Query extends OutgoingQueryParams = OutgoingQueryParams> {
233
+ query: Query;
234
+ }
235
+ export interface OutgoingQueryParams {
236
+ [key: string]: string | string[];
237
+ }
238
+ export {};
239
+ //# 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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Import the used types
3
+ */
4
+ import type { Dispatch } from '@reduxjs/toolkit';
5
+ import type { RootState } from './client.store.utils.js';
6
+ import type { DaVinciCacheEntry, DaVinciRequest } from './davinci.types.js';
7
+ import type { ContinueNode } from './node.types.js';
8
+ import { IdpCollector } from './collector.types.js';
9
+ import { InternalErrorResponse } from './client.types.js';
10
+ /**
11
+ * @function transformSubmitRequest - Transforms a NextNode into a DaVinciRequest for form submissions
12
+ * @param {ContinueNode} node - The node to transform into a DaVinciRequest
13
+ * @returns {DaVinciRequest} - The transformed request object
14
+ */
15
+ export declare function transformSubmitRequest(node: ContinueNode): DaVinciRequest;
16
+ /**
17
+ * @function transformActionRequest - Transforms a NextNode into a DaVinciRequest for action requests
18
+ * @param {ContinueNode} node - The node to transform into a DaVinciRequest
19
+ * @param {string} action - The action to transform into a DaVinciRequest
20
+ * @returns {DaVinciRequest} - The transformed request object
21
+ */
22
+ export declare function transformActionRequest(node: ContinueNode, action: string): DaVinciRequest;
23
+ export declare function handleResponse(cacheEntry: DaVinciCacheEntry, dispatch: Dispatch, status: number): void;
24
+ export declare function authorize(serverSlice: RootState['node']['server'], collector: IdpCollector): InternalErrorResponse | void;
25
+ //# 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;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAIzD,OAAO,KAAK,EACV,iBAAiB,EAIjB,cAAc,EAEf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc,CA4BzE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CAYzF;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAkI/F;AAED,wBAAgB,SAAS,CACvB,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EACxC,SAAS,EAAE,YAAY,GACtB,qBAAqB,GAAG,IAAI,CA2B9B"}