@forgerock/davinci-client 0.1.3 → 1.1.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 (142) 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/authorize.utils.d.ts.map +1 -0
  6. package/dist/src/lib/authorize.utils.js +47 -0
  7. package/dist/src/lib/authorize.utils.js.map +1 -0
  8. package/dist/src/lib/client.store.d.ts +351 -0
  9. package/dist/src/lib/client.store.d.ts.map +1 -0
  10. package/dist/src/lib/client.store.js +295 -0
  11. package/dist/src/lib/client.store.js.map +1 -0
  12. package/dist/src/lib/client.store.utils.d.ts +61 -0
  13. package/dist/src/lib/client.store.utils.d.ts.map +1 -0
  14. package/dist/src/lib/client.store.utils.js +35 -0
  15. package/dist/src/lib/client.store.utils.js.map +1 -0
  16. package/dist/src/lib/client.types.d.ts +17 -0
  17. package/dist/src/lib/client.types.d.ts.map +1 -0
  18. package/dist/src/lib/client.types.js +2 -0
  19. package/dist/src/lib/client.types.js.map +1 -0
  20. package/dist/src/lib/collector.types.d.ts +255 -0
  21. package/dist/src/lib/collector.types.d.ts.map +1 -0
  22. package/dist/src/lib/collector.types.js +11 -0
  23. package/dist/src/lib/collector.types.js.map +1 -0
  24. package/dist/src/lib/collector.utils.d.ts +100 -0
  25. package/dist/src/lib/collector.utils.d.ts.map +1 -0
  26. package/dist/src/lib/collector.utils.js +349 -0
  27. package/dist/src/lib/collector.utils.js.map +1 -0
  28. package/dist/{lib → src/lib}/config.slice.d.ts +12 -5
  29. package/dist/src/lib/config.slice.d.ts.map +1 -0
  30. package/dist/src/lib/config.slice.js +59 -0
  31. package/dist/src/lib/config.slice.js.map +1 -0
  32. package/dist/src/lib/config.types.d.ts +12 -0
  33. package/dist/src/lib/config.types.d.ts.map +1 -0
  34. package/dist/src/lib/config.types.js +2 -0
  35. package/dist/src/lib/config.types.js.map +1 -0
  36. package/dist/src/lib/davinci.api.d.ts +29 -0
  37. package/dist/src/lib/davinci.api.d.ts.map +1 -0
  38. package/dist/src/lib/davinci.api.js +333 -0
  39. package/dist/src/lib/davinci.api.js.map +1 -0
  40. package/dist/{lib → src/lib}/davinci.types.d.ts +62 -8
  41. package/dist/src/lib/davinci.types.d.ts.map +1 -0
  42. package/dist/src/lib/davinci.types.js +11 -0
  43. package/dist/src/lib/davinci.types.js.map +1 -0
  44. package/dist/{lib → src/lib}/davinci.utils.d.ts +10 -3
  45. package/dist/src/lib/davinci.utils.d.ts.map +1 -0
  46. package/dist/src/lib/davinci.utils.js +185 -0
  47. package/dist/src/lib/davinci.utils.js.map +1 -0
  48. package/dist/src/lib/effects/request.effect.mock.d.ts +4 -0
  49. package/dist/src/lib/effects/request.effect.mock.d.ts.map +1 -0
  50. package/dist/src/lib/effects/request.effect.mock.js +106 -0
  51. package/dist/src/lib/effects/request.effect.mock.js.map +1 -0
  52. package/dist/src/lib/effects/request.effect.types.d.ts +20 -0
  53. package/dist/src/lib/effects/request.effect.types.d.ts.map +1 -0
  54. package/dist/src/lib/effects/request.effect.types.js +2 -0
  55. package/dist/src/lib/effects/request.effect.types.js.map +1 -0
  56. package/dist/src/lib/effects/request.effect.unions.d.ts +12 -0
  57. package/dist/src/lib/effects/request.effect.unions.d.ts.map +1 -0
  58. package/dist/src/lib/effects/request.effect.unions.js +16 -0
  59. package/dist/src/lib/effects/request.effect.unions.js.map +1 -0
  60. package/dist/src/lib/effects/request.effect.utils.d.ts +27 -0
  61. package/dist/src/lib/effects/request.effect.utils.d.ts.map +1 -0
  62. package/dist/src/lib/effects/request.effect.utils.js +57 -0
  63. package/dist/src/lib/effects/request.effect.utils.js.map +1 -0
  64. package/dist/src/lib/error.types.d.ts.map +1 -0
  65. package/dist/src/lib/error.types.js +2 -0
  66. package/dist/src/lib/error.types.js.map +1 -0
  67. package/dist/src/lib/index.d.ts.map +1 -0
  68. package/dist/src/lib/index.js +9 -0
  69. package/dist/src/lib/index.js.map +1 -0
  70. package/dist/src/lib/node.reducer.d.ts +27 -0
  71. package/dist/src/lib/node.reducer.d.ts.map +1 -0
  72. package/dist/src/lib/node.reducer.js +143 -0
  73. package/dist/src/lib/node.reducer.js.map +1 -0
  74. package/dist/{lib → src/lib}/node.slice.d.ts +34 -23
  75. package/dist/src/lib/node.slice.d.ts.map +1 -0
  76. package/dist/src/lib/node.slice.js +231 -0
  77. package/dist/src/lib/node.slice.js.map +1 -0
  78. package/dist/{lib → src/lib}/node.types.d.ts +16 -7
  79. package/dist/src/lib/node.types.d.ts.map +1 -0
  80. package/dist/src/lib/node.types.js +2 -0
  81. package/dist/src/lib/node.types.js.map +1 -0
  82. package/dist/src/lib/node.utils.d.ts +4 -0
  83. package/dist/src/lib/node.utils.d.ts.map +1 -0
  84. package/dist/src/lib/node.utils.js +32 -0
  85. package/dist/src/lib/node.utils.js.map +1 -0
  86. package/dist/src/lib/wellknown.api.d.ts +5 -0
  87. package/dist/src/lib/wellknown.api.d.ts.map +1 -0
  88. package/dist/src/lib/wellknown.api.js +22 -0
  89. package/dist/src/lib/wellknown.api.js.map +1 -0
  90. package/dist/src/lib/wellknown.types.d.ts.map +1 -0
  91. package/dist/src/lib/wellknown.types.js +2 -0
  92. package/dist/src/lib/wellknown.types.js.map +1 -0
  93. package/dist/{types.d.ts → src/types.d.ts} +9 -1
  94. package/dist/src/types.d.ts.map +1 -0
  95. package/dist/src/types.js +8 -0
  96. package/dist/src/types.js.map +1 -0
  97. package/package.json +48 -23
  98. package/dist/index.d.ts.map +0 -1
  99. package/dist/index.js +0 -4
  100. package/dist/lib/authorize.utils.d.ts.map +0 -1
  101. package/dist/lib/authorize.utils.js +0 -23
  102. package/dist/lib/client.store.d.ts +0 -149
  103. package/dist/lib/client.store.d.ts.map +0 -1
  104. package/dist/lib/client.store.js +0 -131
  105. package/dist/lib/client.store.utils.d.ts +0 -46
  106. package/dist/lib/client.store.utils.d.ts.map +0 -1
  107. package/dist/lib/client.store.utils.js +0 -19
  108. package/dist/lib/client.types.d.ts +0 -9
  109. package/dist/lib/client.types.d.ts.map +0 -1
  110. package/dist/lib/collector.types.d.ts +0 -78
  111. package/dist/lib/collector.types.d.ts.map +0 -1
  112. package/dist/lib/collector.utils.d.ts +0 -54
  113. package/dist/lib/collector.utils.d.ts.map +0 -1
  114. package/dist/lib/collector.utils.js +0 -88
  115. package/dist/lib/config.slice.d.ts.map +0 -1
  116. package/dist/lib/config.slice.js +0 -40
  117. package/dist/lib/config.types.d.ts +0 -9
  118. package/dist/lib/config.types.d.ts.map +0 -1
  119. package/dist/lib/davinci.api.d.ts +0 -20
  120. package/dist/lib/davinci.api.d.ts.map +0 -1
  121. package/dist/lib/davinci.api.js +0 -172
  122. package/dist/lib/davinci.types.d.ts.map +0 -1
  123. package/dist/lib/davinci.utils.d.ts.map +0 -1
  124. package/dist/lib/davinci.utils.js +0 -102
  125. package/dist/lib/error.types.d.ts.map +0 -1
  126. package/dist/lib/index.d.ts.map +0 -1
  127. package/dist/lib/node.reducer.d.ts +0 -22
  128. package/dist/lib/node.reducer.d.ts.map +0 -1
  129. package/dist/lib/node.reducer.js +0 -31
  130. package/dist/lib/node.slice.d.ts.map +0 -1
  131. package/dist/lib/node.slice.js +0 -160
  132. package/dist/lib/node.types.d.ts.map +0 -1
  133. package/dist/lib/wellknown.api.d.ts +0 -5
  134. package/dist/lib/wellknown.api.d.ts.map +0 -1
  135. package/dist/lib/wellknown.api.js +0 -15
  136. package/dist/lib/wellknown.types.d.ts.map +0 -1
  137. package/dist/types.d.ts.map +0 -1
  138. /package/dist/{index.d.ts → src/index.d.ts} +0 -0
  139. /package/dist/{lib → src/lib}/authorize.utils.d.ts +0 -0
  140. /package/dist/{lib → src/lib}/error.types.d.ts +0 -0
  141. /package/dist/{lib → src/lib}/index.d.ts +0 -0
  142. /package/dist/{lib → src/lib}/wellknown.types.d.ts +0 -0
@@ -0,0 +1,295 @@
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 RTK slices and api
9
+ */
10
+ import { createClientStore } from './client.store.utils.js';
11
+ import { nodeSlice } from './node.slice.js';
12
+ import { davinciApi } from './davinci.api.js';
13
+ import { configSlice } from './config.slice.js';
14
+ import { wellknownApi } from './wellknown.api.js';
15
+ import { returnValidator } from './collector.utils.js';
16
+ import { authorize } from './davinci.utils.js';
17
+ /**
18
+ * Create a client function that returns a set of methods
19
+ * to interact with and normalize the DaVinci API.
20
+ *
21
+ * @function davinciClient - returns an "observable" client for DaVinci flows
22
+ * @param {ConfigurationOptions} options - the configuration options for the client
23
+ * @returns {Observable} - an observable client for DaVinci flows
24
+ */
25
+ export async function davinci({ config, requestMiddleware, }) {
26
+ const store = createClientStore({ requestMiddleware });
27
+ if (!config.serverConfig.wellknown) {
28
+ throw new Error('`wellknown` property is a required as part of the `config.serverOptions`');
29
+ }
30
+ if (!config.clientId) {
31
+ throw new Error('`clientId` property is a required as part of the `config`');
32
+ }
33
+ const { data: openIdResponse } = await store.dispatch(wellknownApi.endpoints.wellknown.initiate(config.serverConfig.wellknown));
34
+ if (!openIdResponse) {
35
+ throw new Error('error fetching `wellknown` response for OpenId Configuration');
36
+ }
37
+ store.dispatch(configSlice.actions.set({ ...config, wellknownResponse: openIdResponse }));
38
+ return {
39
+ // Pass store methods to the client
40
+ subscribe: store.subscribe,
41
+ /**
42
+ * Social Login Handler
43
+ * Use this as part of an event when clicking on
44
+ * a social login button. Pass in the collector responsible
45
+ * for the social login being started.
46
+ *
47
+ * This method will save the `continueUrl`
48
+ * and then replace the window with the authenticate
49
+ * url from the collector
50
+ *
51
+ * Can return an error when no continue url is found
52
+ * or no authenticate url is found in the collectors
53
+ *
54
+ * @method: externalIdp
55
+ * @param collector IdpCollector
56
+ * @returns {function}
57
+ */
58
+ externalIdp: (collector) => {
59
+ const rootState = store.getState();
60
+ const serverSlice = nodeSlice.selectors.selectServer(rootState);
61
+ return () => authorize(serverSlice, collector);
62
+ },
63
+ /**
64
+ * @method flow - Method for initiating a new flow, different than current flow
65
+ * @param {DaVinciAction} action - the action to initiate the flow
66
+ * @returns {function} - an async function to call the flow
67
+ */
68
+ flow: (action) => {
69
+ if (!action.action) {
70
+ console.error('Missing `argument.action`');
71
+ return async function () {
72
+ return {
73
+ error: { message: 'Missing argument.action', type: 'argument_error' },
74
+ type: 'internal_error',
75
+ };
76
+ };
77
+ }
78
+ return async function () {
79
+ await store.dispatch(davinciApi.endpoints.flow.initiate(action));
80
+ const node = nodeSlice.selectSlice(store.getState());
81
+ return node;
82
+ };
83
+ },
84
+ /**
85
+ * @method next - Method for initiating the next node in the current flow
86
+ * @param {DaVinciRequest} args - the arguments to pass to the next
87
+ * @returns {Promise} - a promise that resolves to the next node
88
+ */
89
+ next: async (args) => {
90
+ const nodeCheck = nodeSlice.selectSlice(store.getState());
91
+ if (nodeCheck.status === 'start') {
92
+ return {
93
+ ...nodeCheck,
94
+ error: 'Please use `start` before calling `next`',
95
+ };
96
+ }
97
+ await store.dispatch(davinciApi.endpoints.next.initiate(args));
98
+ const node = nodeSlice.selectSlice(store.getState());
99
+ return node;
100
+ },
101
+ /**
102
+ * @method: resume - Resume a social login flow when returned to application
103
+ * @returns unknown
104
+ */
105
+ resume: async ({ continueToken }) => {
106
+ await store.dispatch(davinciApi.endpoints.resume.initiate({ continueToken }));
107
+ const node = nodeSlice.selectSlice(store.getState());
108
+ return node;
109
+ },
110
+ /**
111
+ * @method start - Method for initiating a DaVinci flow
112
+ * @returns {Promise} - a promise that initiates a DaVinci flow and returns a node
113
+ */
114
+ start: async (options) => {
115
+ await store.dispatch(davinciApi.endpoints.start.initiate(options));
116
+ return store.getState().node;
117
+ },
118
+ /**
119
+ * @method update - Exclusive method for updating the current node with user provided values
120
+ * @param {SingleValueCollector} collector - the collector to update
121
+ * @returns {function} - a function to call for updating collector value
122
+ */
123
+ update: (collector) => {
124
+ if (!collector.id) {
125
+ console.error('Argument for `collector` has no ID');
126
+ return function () {
127
+ return {
128
+ error: {
129
+ message: 'Argument for `collector` has no ID',
130
+ type: 'argument_error',
131
+ },
132
+ type: 'internal_error',
133
+ };
134
+ };
135
+ }
136
+ const { id } = collector;
137
+ const collectorToUpdate = nodeSlice.selectors.selectCollector(store.getState(), id);
138
+ if (!collectorToUpdate) {
139
+ return function () {
140
+ console.error('Collector not found');
141
+ return {
142
+ type: 'internal_error',
143
+ error: { message: 'Collector not found', type: 'state_error' },
144
+ };
145
+ };
146
+ }
147
+ if (collectorToUpdate.category !== 'MultiValueCollector' &&
148
+ collectorToUpdate.category !== 'SingleValueCollector' &&
149
+ collectorToUpdate.category !== 'ValidatedSingleValueCollector') {
150
+ console.error('Collector is not a MultiValueCollector, SingleValueCollector or ValidatedSingleValueCollector and cannot be updated');
151
+ return function () {
152
+ return {
153
+ type: 'internal_error',
154
+ error: {
155
+ message: 'Collector is not a SingleValueCollector or ValidatedSingleValueCollector and cannot be updated',
156
+ type: 'state_error',
157
+ },
158
+ };
159
+ };
160
+ }
161
+ return function (value, index) {
162
+ try {
163
+ store.dispatch(nodeSlice.actions.update({ id, value, index }));
164
+ return null;
165
+ }
166
+ catch (err) {
167
+ const error = err;
168
+ return {
169
+ type: 'internal_error',
170
+ error: { message: error.message, type: 'internal_error' },
171
+ };
172
+ }
173
+ };
174
+ },
175
+ /**
176
+ * @method validate - Method for validating the value against validation rules
177
+ * @param {SingleValueCollector} collector - the collector to validate
178
+ * @returns {function} - a function to call for validating collector value
179
+ * @throws {Error} - if the collector is not a SingleValueCollector
180
+ */
181
+ validate: (collector) => {
182
+ if (!collector.id) {
183
+ console.error('Argument for `collector` has no ID');
184
+ return function () {
185
+ return {
186
+ error: { message: 'Argument for `collector` has no ID', type: 'argument_error' },
187
+ type: 'internal_error',
188
+ };
189
+ };
190
+ }
191
+ const { id } = collector;
192
+ const collectorToUpdate = nodeSlice.selectors.selectCollector(store.getState(), id);
193
+ if (!collectorToUpdate) {
194
+ return function () {
195
+ console.error('Collector not found');
196
+ return {
197
+ type: 'internal_error',
198
+ error: { message: 'Collector not found', type: 'state_error' },
199
+ };
200
+ };
201
+ }
202
+ if (collectorToUpdate.category !== 'ValidatedSingleValueCollector') {
203
+ console.error('Collector is not a SingleValueCollector and cannot be validated');
204
+ return function () {
205
+ return {
206
+ type: 'internal_error',
207
+ error: {
208
+ message: 'Collector is not a SingleValueCollector and cannot be validated',
209
+ type: 'state_error',
210
+ },
211
+ };
212
+ };
213
+ }
214
+ if (!('validation' in collectorToUpdate.input)) {
215
+ console.error('Collector has no validation rules');
216
+ return function () {
217
+ return {
218
+ type: 'internal_error',
219
+ error: { message: 'Collector has no validation rules', type: 'state_error' },
220
+ };
221
+ };
222
+ }
223
+ return returnValidator(collectorToUpdate);
224
+ },
225
+ /**
226
+ * @method client - Selector to get the node.client from state
227
+ * @returns {Node.client} - the client property from the current node
228
+ */
229
+ getClient: () => nodeSlice.selectors.selectClient(store.getState()),
230
+ /**
231
+ * @method collectors - Selector to get the collectors from state
232
+ * @returns {Collector[]} - The collectors from the current node in state
233
+ */
234
+ getCollectors: () => {
235
+ const state = store.getState();
236
+ const client = nodeSlice.selectors.selectClient(state);
237
+ // Let's check if the node has a client and collectors
238
+ if (client && 'collectors' in client) {
239
+ return nodeSlice.selectors.selectCollectors(state) || [];
240
+ }
241
+ // Return an empty array if no client or collectors are found
242
+ return [];
243
+ },
244
+ getError: () => {
245
+ const state = store.getState();
246
+ return nodeSlice.selectors.selectError(state);
247
+ },
248
+ getErrorCollectors: () => {
249
+ const state = store.getState();
250
+ return nodeSlice.selectors.selectErrorCollectors(state);
251
+ },
252
+ /**
253
+ * @method node - Selector to get the node from state
254
+ * @returns {Node} - the current node from state
255
+ */
256
+ getNode: () => {
257
+ return nodeSlice.selectSlice(store.getState());
258
+ },
259
+ /**
260
+ * @method server - Selector to get the node.server from state
261
+ * @returns {Node.server} - the server property from the current node
262
+ */
263
+ getServer: () => {
264
+ const state = store.getState();
265
+ return nodeSlice.selectors.selectServer(state);
266
+ },
267
+ /**
268
+ * Utilities to help query cached responses from server
269
+ */
270
+ cache: {
271
+ getLatestResponse: () => {
272
+ const node = nodeSlice.selectSlice(store.getState());
273
+ if (!node.cache?.key) {
274
+ console.error(`Cannot find current node's cache key or no current node`);
275
+ return { error: { message: 'Cannot find current node', type: 'state_error' } };
276
+ }
277
+ const flowItem = davinciApi.endpoints.flow.select(node.cache.key);
278
+ const nextItem = davinciApi.endpoints.next.select(node.cache.key);
279
+ const startItem = davinciApi.endpoints.start.select(node.cache.key);
280
+ return flowItem || nextItem || startItem;
281
+ },
282
+ getResponseWithId: (requestId) => {
283
+ if (!requestId) {
284
+ console.error('Please provide the cache key');
285
+ return { error: { message: 'Please provide the cache key', type: 'argument_error' } };
286
+ }
287
+ const flowItem = davinciApi.endpoints.flow.select(requestId);
288
+ const nextItem = davinciApi.endpoints.next.select(requestId);
289
+ const startItem = davinciApi.endpoints.start.select(requestId);
290
+ return flowItem || nextItem || startItem;
291
+ },
292
+ },
293
+ };
294
+ }
295
+ //# sourceMappingURL=client.store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.store.js","sourceRoot":"","sources":["../../../src/lib/client.store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import { ErrorNode, ContinueNode, StartNode, SuccessNode } from '../types.js';
2
+ import type { RequestMiddleware } from './effects/request.effect.types.js';
3
+ export declare function createClientStore({ requestMiddleware, }: {
4
+ requestMiddleware?: RequestMiddleware[];
5
+ }): import("@reduxjs/toolkit").EnhancedStore<{
6
+ config: {
7
+ endpoints: import("./wellknown.types.js").Endpoints;
8
+ clientId: string;
9
+ redirectUri: string;
10
+ responseType: string;
11
+ scope: string;
12
+ };
13
+ node: import("./node.types.js").ContinueNode | import("./node.types.js").ErrorNode | import("./node.types.js").FailureNode | import("./node.types.js").StartNode | import("./node.types.js").SuccessNode;
14
+ davinci: import("@reduxjs/toolkit/query").CombinedState<{
15
+ flow: import("@reduxjs/toolkit/query").MutationDefinition<any, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, unknown, "davinci">;
16
+ next: import("@reduxjs/toolkit/query").MutationDefinition<any, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, unknown, "davinci">;
17
+ start: import("@reduxjs/toolkit/query").MutationDefinition<import("./davinci.types.js").StartOptions<import("./davinci.types.js").OutgoingQueryParams> | undefined, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, unknown, "davinci">;
18
+ resume: import("@reduxjs/toolkit/query").QueryDefinition<{
19
+ continueToken: string;
20
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, unknown, "davinci">;
21
+ }, never, "davinci">;
22
+ wellknown: import("@reduxjs/toolkit/query").CombinedState<{
23
+ wellknown: import("@reduxjs/toolkit/query").QueryDefinition<string, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, import("./wellknown.types.js").WellknownResponse, "wellknown">;
24
+ }, never, "wellknown">;
25
+ }, import("@reduxjs/toolkit").UnknownAction, import("@reduxjs/toolkit").Tuple<[import("@reduxjs/toolkit").StoreEnhancer<{
26
+ dispatch: import("@reduxjs/toolkit").ThunkDispatch<{
27
+ config: {
28
+ endpoints: import("./wellknown.types.js").Endpoints;
29
+ clientId: string;
30
+ redirectUri: string;
31
+ responseType: string;
32
+ scope: string;
33
+ };
34
+ node: import("./node.types.js").ContinueNode | import("./node.types.js").ErrorNode | import("./node.types.js").FailureNode | import("./node.types.js").StartNode | import("./node.types.js").SuccessNode;
35
+ davinci: import("@reduxjs/toolkit/query").CombinedState<{
36
+ flow: import("@reduxjs/toolkit/query").MutationDefinition<any, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, unknown, "davinci">;
37
+ next: import("@reduxjs/toolkit/query").MutationDefinition<any, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, unknown, "davinci">;
38
+ start: import("@reduxjs/toolkit/query").MutationDefinition<import("./davinci.types.js").StartOptions<import("./davinci.types.js").OutgoingQueryParams> | undefined, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, unknown, "davinci">;
39
+ resume: import("@reduxjs/toolkit/query").QueryDefinition<{
40
+ continueToken: string;
41
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, unknown, "davinci">;
42
+ }, never, "davinci">;
43
+ wellknown: import("@reduxjs/toolkit/query").CombinedState<{
44
+ wellknown: import("@reduxjs/toolkit/query").QueryDefinition<string, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, import("@reduxjs/toolkit/query").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, import("./wellknown.types.js").WellknownResponse, "wellknown">;
45
+ }, never, "wellknown">;
46
+ }, {
47
+ /**
48
+ * This becomes the `api.extra` argument, and will be passed into the
49
+ * customer query wrapper for `baseQuery`
50
+ */
51
+ requestMiddleware: RequestMiddleware[] | undefined;
52
+ }, import("@reduxjs/toolkit").UnknownAction>;
53
+ }>, import("@reduxjs/toolkit").StoreEnhancer]>>;
54
+ type ClientStore = typeof createClientStore;
55
+ export type RootState = ReturnType<ReturnType<ClientStore>['getState']>;
56
+ export interface RootStateWithNode<T extends ErrorNode | ContinueNode | StartNode | SuccessNode> extends RootState {
57
+ node: T;
58
+ }
59
+ export type AppDispatch = ReturnType<ReturnType<ClientStore>['dispatch']>;
60
+ export {};
61
+ //# sourceMappingURL=client.store.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.store.utils.d.ts","sourceRoot":"","sources":["../../../src/lib/client.store.utils.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,wBAAgB,iBAAiB,CAAC,EAChC,iBAAiB,GAClB,EAAE;IACD,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAYW;;;WAGG;;;gDAQd;AAED,KAAK,WAAW,GAAG,OAAO,iBAAiB,CAAC;AAE5C,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AAExE,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,CAC7F,SAAQ,SAAS;IACjB,IAAI,EAAE,CAAC,CAAC;CACT;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC"}
@@ -0,0 +1,35 @@
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
+ import { configureStore } from '@reduxjs/toolkit';
8
+ import { configSlice } from './config.slice.js';
9
+ import { nodeSlice } from './node.slice.js';
10
+ import { davinciApi } from './davinci.api.js';
11
+ import { wellknownApi } from './wellknown.api.js';
12
+ export function createClientStore({ requestMiddleware, }) {
13
+ return configureStore({
14
+ reducer: {
15
+ config: configSlice.reducer,
16
+ node: nodeSlice.reducer,
17
+ [davinciApi.reducerPath]: davinciApi.reducer,
18
+ [wellknownApi.reducerPath]: wellknownApi.reducer,
19
+ },
20
+ middleware: (getDefaultMiddleware) => getDefaultMiddleware({
21
+ thunk: {
22
+ extraArgument: {
23
+ /**
24
+ * This becomes the `api.extra` argument, and will be passed into the
25
+ * customer query wrapper for `baseQuery`
26
+ */
27
+ requestMiddleware: requestMiddleware,
28
+ },
29
+ },
30
+ })
31
+ .concat(davinciApi.middleware)
32
+ .concat(wellknownApi.middleware),
33
+ });
34
+ }
35
+ //# sourceMappingURL=client.store.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.store.utils.js","sourceRoot":"","sources":["../../../src/lib/client.store.utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIlD,MAAM,UAAU,iBAAiB,CAAC,EAChC,iBAAiB,GAGlB;IACC,OAAO,cAAc,CAAC;QACpB,OAAO,EAAE;YACP,MAAM,EAAE,WAAW,CAAC,OAAO;YAC3B,IAAI,EAAE,SAAS,CAAC,OAAO;YACvB,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO;YAC5C,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO;SACjD;QACD,UAAU,EAAE,CAAC,oBAAoB,EAAE,EAAE,CACnC,oBAAoB,CAAC;YACnB,KAAK,EAAE;gBACL,aAAa,EAAE;oBACb;;;uBAGG;oBACH,iBAAiB,EAAE,iBAAiB;iBACrC;aACF;SACF,CAAC;aACC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;aAC7B,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC;KACrC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { GenericError } from './error.types.js';
2
+ import { ErrorNode, FailureNode, ContinueNode, StartNode, SuccessNode } from './node.types.js';
3
+ export type FlowNode = ContinueNode | ErrorNode | StartNode | SuccessNode | FailureNode;
4
+ export interface InternalErrorResponse {
5
+ error: GenericError;
6
+ type: 'internal_error';
7
+ }
8
+ export type InitFlow = () => Promise<FlowNode | InternalErrorResponse>;
9
+ export type Updater = (value: string | string[], index?: number) => InternalErrorResponse | null;
10
+ export type Validator = (value: string) => string[] | {
11
+ error: {
12
+ message: string;
13
+ type: string;
14
+ };
15
+ type: string;
16
+ };
17
+ //# sourceMappingURL=client.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.types.d.ts","sourceRoot":"","sources":["../../../src/lib/client.types.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE/F,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,CAAC;AAExF,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,gBAAgB,CAAC;CACxB;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,GAAG,qBAAqB,CAAC,CAAC;AAEvE,MAAM,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,qBAAqB,GAAG,IAAI,CAAC;AACjG,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,KAClC,MAAM,EAAE,GACR;IACE,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;CACd,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=client.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.types.js","sourceRoot":"","sources":["../../../src/lib/client.types.ts"],"names":[],"mappings":""}