@agiledigital/pingone-aic-script-tester 0.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 (169) hide show
  1. package/LICENSE-APACHE +201 -0
  2. package/LICENSE-MIT +21 -0
  3. package/README.md +274 -0
  4. package/dist/bin/fetch-jar.d.ts +2 -0
  5. package/dist/bin/fetch-jar.js +13 -0
  6. package/dist/bin/pull-profile.d.ts +2 -0
  7. package/dist/bin/pull-profile.js +40 -0
  8. package/dist/bin/show-log.d.ts +2 -0
  9. package/dist/bin/show-log.js +31 -0
  10. package/dist/classes/.complete +12 -0
  11. package/dist/classes/AmClassShutter.class +0 -0
  12. package/dist/classes/AmContextFactory$ObservedContext.class +0 -0
  13. package/dist/classes/AmContextFactory.class +0 -0
  14. package/dist/classes/AmScopes.class +0 -0
  15. package/dist/classes/HostOps.class +0 -0
  16. package/dist/classes/JsValues.class +0 -0
  17. package/dist/classes/Json$Parser.class +0 -0
  18. package/dist/classes/Json.class +0 -0
  19. package/dist/classes/LanguageVersions.class +0 -0
  20. package/dist/classes/Runner.class +0 -0
  21. package/dist/classes/ScriptContextScope.class +0 -0
  22. package/dist/src/aic/callbacks.d.ts +35 -0
  23. package/dist/src/aic/callbacks.js +130 -0
  24. package/dist/src/aic/conform.d.ts +90 -0
  25. package/dist/src/aic/conform.js +193 -0
  26. package/dist/src/aic/constants.d.ts +13 -0
  27. package/dist/src/aic/constants.js +13 -0
  28. package/dist/src/aic/diff.d.ts +25 -0
  29. package/dist/src/aic/diff.js +201 -0
  30. package/dist/src/aic/emit-journey.d.ts +64 -0
  31. package/dist/src/aic/emit-journey.js +254 -0
  32. package/dist/src/aic/emit-result.d.ts +10 -0
  33. package/dist/src/aic/emit-result.js +39 -0
  34. package/dist/src/aic/emit-session.d.ts +26 -0
  35. package/dist/src/aic/emit-session.js +132 -0
  36. package/dist/src/aic/emit-subject.d.ts +40 -0
  37. package/dist/src/aic/emit-subject.js +210 -0
  38. package/dist/src/aic/file-lease.d.ts +35 -0
  39. package/dist/src/aic/file-lease.js +543 -0
  40. package/dist/src/aic/http.d.ts +21 -0
  41. package/dist/src/aic/http.js +127 -0
  42. package/dist/src/aic/idm.d.ts +10 -0
  43. package/dist/src/aic/idm.js +112 -0
  44. package/dist/src/aic/index.d.ts +35 -0
  45. package/dist/src/aic/index.js +21 -0
  46. package/dist/src/aic/js.d.ts +8 -0
  47. package/dist/src/aic/js.js +11 -0
  48. package/dist/src/aic/lease-identity.d.ts +38 -0
  49. package/dist/src/aic/lease-identity.js +72 -0
  50. package/dist/src/aic/lease-lock.d.ts +45 -0
  51. package/dist/src/aic/lease-lock.js +173 -0
  52. package/dist/src/aic/managed.d.ts +28 -0
  53. package/dist/src/aic/managed.js +199 -0
  54. package/dist/src/aic/provider.d.ts +156 -0
  55. package/dist/src/aic/provider.js +416 -0
  56. package/dist/src/aic/record.d.ts +28 -0
  57. package/dist/src/aic/record.js +183 -0
  58. package/dist/src/aic/resource-snapshot.d.ts +12 -0
  59. package/dist/src/aic/resource-snapshot.js +116 -0
  60. package/dist/src/aic/run.d.ts +102 -0
  61. package/dist/src/aic/run.js +450 -0
  62. package/dist/src/aic/tenant.d.ts +107 -0
  63. package/dist/src/aic/tenant.js +307 -0
  64. package/dist/src/aic/trace.d.ts +25 -0
  65. package/dist/src/aic/trace.js +56 -0
  66. package/dist/src/aic/txid.d.ts +11 -0
  67. package/dist/src/aic/txid.js +25 -0
  68. package/dist/src/aic/unsupported.d.ts +15 -0
  69. package/dist/src/aic/unsupported.js +60 -0
  70. package/dist/src/bindings/allowlist.d.ts +42 -0
  71. package/dist/src/bindings/allowlist.js +62 -0
  72. package/dist/src/bindings/harvest.d.ts +7 -0
  73. package/dist/src/bindings/harvest.js +137 -0
  74. package/dist/src/bindings/index.d.ts +4 -0
  75. package/dist/src/bindings/index.js +3 -0
  76. package/dist/src/bindings/preamble.d.ts +23 -0
  77. package/dist/src/bindings/preamble.js +36 -0
  78. package/dist/src/bindings/run.d.ts +33 -0
  79. package/dist/src/bindings/run.js +55 -0
  80. package/dist/src/case/equal.d.ts +2 -0
  81. package/dist/src/case/equal.js +40 -0
  82. package/dist/src/case/index.d.ts +5 -0
  83. package/dist/src/case/index.js +4 -0
  84. package/dist/src/case/portable.d.ts +10 -0
  85. package/dist/src/case/portable.js +28 -0
  86. package/dist/src/case/session.d.ts +34 -0
  87. package/dist/src/case/session.js +66 -0
  88. package/dist/src/case/state.d.ts +4 -0
  89. package/dist/src/case/state.js +47 -0
  90. package/dist/src/case/types.d.ts +266 -0
  91. package/dist/src/case/types.js +106 -0
  92. package/dist/src/case/util.d.ts +7 -0
  93. package/dist/src/case/util.js +115 -0
  94. package/dist/src/case/validate.d.ts +8 -0
  95. package/dist/src/case/validate.js +463 -0
  96. package/dist/src/case/verdict.d.ts +6 -0
  97. package/dist/src/case/verdict.js +810 -0
  98. package/dist/src/diagnostics.d.ts +7 -0
  99. package/dist/src/diagnostics.js +5 -0
  100. package/dist/src/emit-dts.d.ts +2 -0
  101. package/dist/src/emit-dts.js +82 -0
  102. package/dist/src/emit-js.d.ts +3 -0
  103. package/dist/src/emit-js.js +149 -0
  104. package/dist/src/harness/failures.d.ts +26 -0
  105. package/dist/src/harness/failures.js +113 -0
  106. package/dist/src/harness/idm.d.ts +12 -0
  107. package/dist/src/harness/idm.js +44 -0
  108. package/dist/src/harness/index.d.ts +11 -0
  109. package/dist/src/harness/index.js +6 -0
  110. package/dist/src/harness/lease.d.ts +136 -0
  111. package/dist/src/harness/lease.js +286 -0
  112. package/dist/src/harness/residue.d.ts +23 -0
  113. package/dist/src/harness/residue.js +73 -0
  114. package/dist/src/harness/show-log.d.ts +43 -0
  115. package/dist/src/harness/show-log.js +253 -0
  116. package/dist/src/harness/spec.d.ts +67 -0
  117. package/dist/src/harness/spec.js +189 -0
  118. package/dist/src/harness/step.d.ts +80 -0
  119. package/dist/src/harness/step.js +97 -0
  120. package/dist/src/harness/types.d.ts +100 -0
  121. package/dist/src/harness/types.js +1 -0
  122. package/dist/src/harness/vitest.d.ts +52 -0
  123. package/dist/src/harness/vitest.js +155 -0
  124. package/dist/src/idents.d.ts +4 -0
  125. package/dist/src/idents.js +42 -0
  126. package/dist/src/jvm.d.ts +124 -0
  127. package/dist/src/jvm.js +432 -0
  128. package/dist/src/load.d.ts +2 -0
  129. package/dist/src/load.js +104 -0
  130. package/dist/src/paths.d.ts +36 -0
  131. package/dist/src/paths.js +50 -0
  132. package/dist/src/profile/index.d.ts +5 -0
  133. package/dist/src/profile/index.js +3 -0
  134. package/dist/src/profile/normalise.d.ts +16 -0
  135. package/dist/src/profile/normalise.js +106 -0
  136. package/dist/src/profile/pull.d.ts +22 -0
  137. package/dist/src/profile/pull.js +36 -0
  138. package/dist/src/profile/seed.d.ts +11 -0
  139. package/dist/src/profile/seed.js +28 -0
  140. package/dist/src/profile/store.d.ts +13 -0
  141. package/dist/src/profile/store.js +60 -0
  142. package/dist/src/profile/types.d.ts +45 -0
  143. package/dist/src/profile/types.js +1 -0
  144. package/dist/src/profile/validate.d.ts +38 -0
  145. package/dist/src/profile/validate.js +129 -0
  146. package/dist/src/project.d.ts +37 -0
  147. package/dist/src/project.js +93 -0
  148. package/dist/src/protocol.d.ts +62 -0
  149. package/dist/src/protocol.js +68 -0
  150. package/dist/src/provider-module.d.ts +11 -0
  151. package/dist/src/provider-module.js +46 -0
  152. package/dist/src/runner.d.ts +39 -0
  153. package/dist/src/runner.js +337 -0
  154. package/dist/src/schema.d.ts +48 -0
  155. package/dist/src/schema.js +93 -0
  156. package/generated/scripted-decision-mocks.cjs +722 -0
  157. package/generated/scripted-decision-mocks.d.ts +626 -0
  158. package/generated/scripted-decision-next.json +3640 -0
  159. package/java/AmClassShutter.java +98 -0
  160. package/java/AmContextFactory.java +69 -0
  161. package/java/AmScopes.java +49 -0
  162. package/java/HostOps.java +180 -0
  163. package/java/JsValues.java +39 -0
  164. package/java/Json.java +441 -0
  165. package/java/LanguageVersions.java +55 -0
  166. package/java/Runner.java +289 -0
  167. package/java/ScriptContextScope.java +147 -0
  168. package/package.json +88 -0
  169. package/src/bindings/rhino/runtime.cjs +3021 -0
@@ -0,0 +1,626 @@
1
+ // GENERATED from docs/api/bindings/scripted-decision-next.json — do not edit.
2
+ // Re-run: npm -w packages/rhino-local run generate
3
+ //
4
+ // Case-authoring types for the scripted-decision mock surface. javaScriptType
5
+ // values are mapped as-is (object → object, array → unknown[]); they do not
6
+ // include the Rhino Java interop layer in src/scripts/templates/am/types/.
7
+ // Every generated method throws at runtime until a later slice implements it.
8
+
9
+ /**
10
+ * Binding whose contexts metadata lists an empty `elements` array.
11
+ * A test case seeds this object directly; the generator does not invent
12
+ * methods the JSON does not name.
13
+ */
14
+ export type OpaqueBinding = {
15
+ [key: string]: unknown;
16
+ };
17
+
18
+ export interface SamlApplication {
19
+ getApplicationId(): string;
20
+ getAuthnRequest(): object;
21
+ getIdpAttributes(): object;
22
+ getSpAttributes(): object;
23
+ getFlowInitiator(): string;
24
+ getAssertion(): object;
25
+ }
26
+
27
+ export interface Logger {
28
+ getName(): string;
29
+ info(format: string, arg: object): void;
30
+ info(format: string, arg1: object, arg2: object): void;
31
+ info(msg: string): void;
32
+ info(format: string, args: unknown[]): void;
33
+ info(msg: string, t: object): void;
34
+ trace(format: string, arg1: object, arg2: object): void;
35
+ trace(msg: string): void;
36
+ trace(format: string, arg: object): void;
37
+ trace(format: string, args: unknown[]): void;
38
+ trace(msg: string, t: object): void;
39
+ error(msg: string, t: object): void;
40
+ error(format: string, args: unknown[]): void;
41
+ error(format: string, arg1: object, arg2: object): void;
42
+ error(format: string, arg: object): void;
43
+ error(msg: string): void;
44
+ warn(msg: string): void;
45
+ warn(format: string, arg: object): void;
46
+ warn(format: string, arg1: object, arg2: object): void;
47
+ warn(msg: string, t: object): void;
48
+ warn(format: string, args: unknown[]): void;
49
+ debug(format: string, arg1: object, arg2: object): void;
50
+ debug(format: string, arg: object): void;
51
+ debug(msg: string, t: object): void;
52
+ debug(format: string, args: unknown[]): void;
53
+ debug(msg: string): void;
54
+ isTraceEnabled(): boolean;
55
+ isDebugEnabled(): boolean;
56
+ isErrorEnabled(): boolean;
57
+ isInfoEnabled(): boolean;
58
+ isWarnEnabled(): boolean;
59
+ }
60
+
61
+ export interface Callbacks {
62
+ isEmpty(): boolean;
63
+ getStringAttributeInputCallbacks(): unknown[];
64
+ getChoiceCallbacks(): unknown[];
65
+ getNameCallbacks(): unknown[];
66
+ getPasswordCallbacks(): unknown[];
67
+ getHiddenValueCallbacks(): object;
68
+ getTextInputCallbacks(): unknown[];
69
+ getNumberAttributeInputCallbacks(): unknown[];
70
+ getBooleanAttributeInputCallbacks(): unknown[];
71
+ getConfirmationCallbacks(): unknown[];
72
+ getLanguageCallbacks(): unknown[];
73
+ getIdpCallbacks(): unknown[];
74
+ getValidatedPasswordCallbacks(): unknown[];
75
+ getValidatedUsernameCallbacks(): unknown[];
76
+ getHttpCallbacks(): unknown[];
77
+ getX509CertificateCallbacks(): unknown[];
78
+ getConsentMappingCallbacks(): unknown[];
79
+ getDeviceProfileCallbacks(): unknown[];
80
+ getKbaCreateCallbacks(): unknown[];
81
+ getSelectIdPCallbacks(): unknown[];
82
+ getTermsAndConditionsCallbacks(): unknown[];
83
+ }
84
+
85
+ export interface IdRepository {
86
+ createUser(userName: string, password: string): object;
87
+ createUser(userName: string, password: string, attributes: object): object;
88
+ getIdentity(userName: string): object;
89
+ }
90
+
91
+ export interface JwtAssertion {
92
+ generateJwt(jwtData: object): string;
93
+ }
94
+
95
+ export interface UtilsCryptoSubtle {
96
+ sign(algorithmOptions: object, key: unknown[], data: unknown[]): unknown[];
97
+ sign(algorithm: string, key: unknown[], data: unknown[]): unknown[];
98
+ digest(algorithm: string, data: unknown[]): unknown[];
99
+ verify(
100
+ algorithm: string,
101
+ key: unknown[],
102
+ data: unknown[],
103
+ signature: unknown[]
104
+ ): boolean;
105
+ verify(
106
+ algorithmOptions: object,
107
+ key: unknown[],
108
+ data: unknown[],
109
+ signature: unknown[]
110
+ ): boolean;
111
+ encrypt(algorithm: string, key: unknown[], data: unknown[]): unknown[];
112
+ encrypt(algorithmOptions: object, key: unknown[], data: unknown[]): unknown[];
113
+ decrypt(algorithm: string, key: unknown[], data: unknown[]): unknown[];
114
+ decrypt(algorithmOptions: object, key: unknown[], data: unknown[]): unknown[];
115
+ generateKey(algorithm: object): object;
116
+ generateKey(algorithm: string): object;
117
+ deriveKey(
118
+ algorithmName: string,
119
+ baseKey: unknown[],
120
+ derivedKeyLength: number
121
+ ): unknown[];
122
+ deriveKey(
123
+ algorithm: object,
124
+ baseKey: unknown[],
125
+ derivedKeyLength: number
126
+ ): unknown[];
127
+ }
128
+
129
+ export interface UtilsCrypto {
130
+ randomUUID(): string;
131
+ getRandomValues(array: unknown[]): unknown[];
132
+ checkBcrypt(bcryptString: string, password: string): boolean;
133
+ subtle: UtilsCryptoSubtle;
134
+ }
135
+
136
+ export interface UtilsBase64 {
137
+ decode(toDecode: string): string;
138
+ encode(toEncode: string): string;
139
+ encode(toEncode: unknown[]): string;
140
+ decodeToBytes(toDecode: string): unknown[];
141
+ btoa(toEncode: string): string;
142
+ atob(toDecode: string): string;
143
+ }
144
+
145
+ export interface UtilsBase64url {
146
+ decode(toDecode: string): string;
147
+ encode(toEncode: string): string;
148
+ encode(toEncode: unknown[]): string;
149
+ decodeToBytes(toDecode: string): unknown[];
150
+ btoa(toEncode: string): string;
151
+ atob(toDecode: string): string;
152
+ }
153
+
154
+ export interface UtilsTypes {
155
+ bytesToString(bytes: unknown[]): string;
156
+ stringToBytes(string: string): unknown[];
157
+ }
158
+
159
+ export interface Utils {
160
+ crypto: UtilsCrypto;
161
+ base64: UtilsBase64;
162
+ base64url: UtilsBase64url;
163
+ types: UtilsTypes;
164
+ }
165
+
166
+ export interface Action {
167
+ withIdentifiedUser(username: string): object;
168
+ withIdentifiedAgent(agentName: string): object;
169
+ goTo(outcome: string): object;
170
+ suspend(callbackTextFormat: string): object;
171
+ suspend(
172
+ callbackTextFormat: string,
173
+ additionalLogic: object,
174
+ maximumSuspendDuration: number
175
+ ): object;
176
+ suspend(callbackTextFormat: string, additionalLogic: object): object;
177
+ withHeader(header: string): object;
178
+ withMaxSessionTime(maxSessionTime: number): object;
179
+ withMaxIdleTime(maxIdleTime: number): object;
180
+ putSessionProperty(key: string, value: string): object;
181
+ withDescription(description: string): object;
182
+ withStage(stage: string): object;
183
+ withErrorMessage(errorMessage: string): object;
184
+ withLockoutMessage(lockoutMessage: string): object;
185
+ removeSessionProperty(key: string): object;
186
+ }
187
+
188
+ export interface CallbacksBuilder {
189
+ radioChoiceCallback(
190
+ prompt: string,
191
+ choices: unknown[],
192
+ defaultChoice: number
193
+ ): void;
194
+ suspendedTextOutputCallback(messageType: number, message: string): void;
195
+ textInputCallback(prompt: string, defaultText: string): void;
196
+ textInputCallback(prompt: string): void;
197
+ scriptTextOutputCallback(message: string): void;
198
+ metadataCallback(outputValue: object): void;
199
+ stringAttributeInputCallback(
200
+ name: string,
201
+ prompt: string,
202
+ value: string,
203
+ required: boolean,
204
+ failedPolicies: unknown[]
205
+ ): void;
206
+ stringAttributeInputCallback(
207
+ name: string,
208
+ prompt: string,
209
+ value: string,
210
+ required: boolean,
211
+ policies: object,
212
+ validateOnly: boolean
213
+ ): void;
214
+ stringAttributeInputCallback(
215
+ name: string,
216
+ prompt: string,
217
+ value: string,
218
+ required: boolean
219
+ ): void;
220
+ stringAttributeInputCallback(
221
+ name: string,
222
+ prompt: string,
223
+ value: string,
224
+ required: boolean,
225
+ policies: object,
226
+ validateOnly: boolean,
227
+ failedPolicies: unknown[]
228
+ ): void;
229
+ numberAttributeInputCallback(
230
+ name: string,
231
+ prompt: string,
232
+ value: number,
233
+ required: boolean,
234
+ policies: object,
235
+ validateOnly: boolean
236
+ ): void;
237
+ numberAttributeInputCallback(
238
+ name: string,
239
+ prompt: string,
240
+ value: number,
241
+ required: boolean,
242
+ failedPolicies: unknown[]
243
+ ): void;
244
+ numberAttributeInputCallback(
245
+ name: string,
246
+ prompt: string,
247
+ value: number,
248
+ required: boolean
249
+ ): void;
250
+ numberAttributeInputCallback(
251
+ name: string,
252
+ prompt: string,
253
+ value: number,
254
+ required: boolean,
255
+ policies: object,
256
+ validateOnly: boolean,
257
+ failedPolicies: unknown[]
258
+ ): void;
259
+ booleanAttributeInputCallback(
260
+ name: string,
261
+ prompt: string,
262
+ value: boolean,
263
+ required: boolean,
264
+ failedPolicies: unknown[]
265
+ ): void;
266
+ booleanAttributeInputCallback(
267
+ name: string,
268
+ prompt: string,
269
+ value: boolean,
270
+ required: boolean,
271
+ policies: object,
272
+ validateOnly: boolean,
273
+ failedPolicies: unknown[]
274
+ ): void;
275
+ booleanAttributeInputCallback(
276
+ name: string,
277
+ prompt: string,
278
+ value: boolean,
279
+ required: boolean
280
+ ): void;
281
+ booleanAttributeInputCallback(
282
+ name: string,
283
+ prompt: string,
284
+ value: boolean,
285
+ required: boolean,
286
+ policies: object,
287
+ validateOnly: boolean
288
+ ): void;
289
+ languageCallback(language: string, country: string): void;
290
+ idPCallback(
291
+ provider: string,
292
+ clientId: string,
293
+ redirectUri: string,
294
+ scope: unknown[],
295
+ nonce: string,
296
+ request: string,
297
+ requestUri: string,
298
+ acrValues: unknown[],
299
+ requestNativeAppForUserInfo: boolean
300
+ ): void;
301
+ idPCallback(
302
+ provider: string,
303
+ clientId: string,
304
+ redirectUri: string,
305
+ scope: unknown[],
306
+ nonce: string,
307
+ request: string,
308
+ requestUri: string,
309
+ acrValues: unknown[],
310
+ requestNativeAppForUserInfo: boolean,
311
+ token: string,
312
+ tokenType: string
313
+ ): void;
314
+ httpCallback(
315
+ authorizationHeader: string,
316
+ negotiationHeader: string,
317
+ errorCode: string
318
+ ): void;
319
+ httpCallback(
320
+ authRHeader: string,
321
+ negoName: string,
322
+ negoValue: string,
323
+ errorCode: number
324
+ ): void;
325
+ x509CertificateCallback(prompt: string, certificate: object): void;
326
+ x509CertificateCallback(prompt: string): void;
327
+ x509CertificateCallback(
328
+ prompt: string,
329
+ certificate: object,
330
+ requestSignature: boolean
331
+ ): void;
332
+ consentMappingCallback(
333
+ name: string,
334
+ displayName: string,
335
+ icon: string,
336
+ accessLevel: string,
337
+ titles: unknown[],
338
+ message: string,
339
+ isRequired: boolean
340
+ ): void;
341
+ consentMappingCallback(
342
+ config: object,
343
+ message: string,
344
+ isRequired: boolean
345
+ ): void;
346
+ deviceProfileCallback(
347
+ metadata: boolean,
348
+ location: boolean,
349
+ message: string
350
+ ): void;
351
+ kbaCreateCallback(
352
+ prompt: string,
353
+ predefinedQuestions: unknown[],
354
+ allowUserDefinedQuestions: boolean
355
+ ): void;
356
+ selectIdPCallback(providers: object): void;
357
+ termsAndConditionsCallback(
358
+ version: string,
359
+ terms: string,
360
+ createDate: string
361
+ ): void;
362
+ choiceCallback(
363
+ prompt: string,
364
+ choices: unknown[],
365
+ defaultChoice: number,
366
+ multipleSelectionsAllowed: boolean
367
+ ): void;
368
+ passwordCallback(prompt: string, echoOn: boolean): void;
369
+ nameCallback(prompt: string, defaultName: string): void;
370
+ nameCallback(prompt: string): void;
371
+ hiddenValueCallback(id: string, value: string): void;
372
+ redirectCallback(
373
+ redirectUrl: string,
374
+ redirectData: object,
375
+ method: string,
376
+ statusParameter: string,
377
+ redirectBackUrlCookie: string
378
+ ): void;
379
+ redirectCallback(
380
+ redirectUrl: string,
381
+ redirectData: object,
382
+ method: string,
383
+ setTrackingCookie: boolean
384
+ ): void;
385
+ redirectCallback(
386
+ redirectUrl: string,
387
+ redirectData: object,
388
+ method: string
389
+ ): void;
390
+ redirectCallback(
391
+ redirectUrl: string,
392
+ redirectData: object,
393
+ method: string,
394
+ statusParameter: string,
395
+ redirectBackUrlCookie: string,
396
+ setTrackingCookie: boolean
397
+ ): void;
398
+ confirmationCallback(
399
+ messageType: number,
400
+ optionType: number,
401
+ defaultOption: number
402
+ ): void;
403
+ confirmationCallback(
404
+ messageType: number,
405
+ options: unknown[],
406
+ defaultOption: number
407
+ ): void;
408
+ confirmationCallback(
409
+ prompt: string,
410
+ messageType: number,
411
+ optionType: number,
412
+ defaultOption: number
413
+ ): void;
414
+ confirmationCallback(
415
+ prompt: string,
416
+ messageType: number,
417
+ options: unknown[],
418
+ defaultOption: number
419
+ ): void;
420
+ pollingWaitCallback(waitTime: string, message: string): void;
421
+ textOutputCallback(messageType: number, message: string): void;
422
+ validatedUsernameCallback(
423
+ prompt: string,
424
+ policies: object,
425
+ validateOnly: boolean,
426
+ failedPolicies: unknown[]
427
+ ): void;
428
+ validatedUsernameCallback(
429
+ prompt: string,
430
+ policies: object,
431
+ validateOnly: boolean
432
+ ): void;
433
+ validatedPasswordCallback(
434
+ prompt: string,
435
+ echoOn: boolean,
436
+ policies: object,
437
+ validateOnly: boolean,
438
+ failedPolicies: unknown[]
439
+ ): void;
440
+ validatedPasswordCallback(
441
+ prompt: string,
442
+ echoOn: boolean,
443
+ policies: object,
444
+ validateOnly: boolean
445
+ ): void;
446
+ }
447
+
448
+ export interface Openidm {
449
+ update(
450
+ id: string,
451
+ rev: string,
452
+ value: object,
453
+ params: object,
454
+ fields: unknown[]
455
+ ): object;
456
+ update(id: string, rev: string, value: object, params: object): object;
457
+ update(id: string, rev: string, value: object): object;
458
+ action(
459
+ resource: string,
460
+ actionName: string,
461
+ content: object,
462
+ params: object
463
+ ): object;
464
+ action(
465
+ resource: string,
466
+ actionName: string,
467
+ content: object,
468
+ params: object,
469
+ fields: unknown[]
470
+ ): object;
471
+ action(resource: string, actionName: string, content: object): object;
472
+ action(resource: string, actionName: string): object;
473
+ create(resourceName: string, newResourceId: string, content: object): object;
474
+ create(
475
+ resourceName: string,
476
+ newResourceId: string,
477
+ content: object,
478
+ params: object
479
+ ): object;
480
+ create(
481
+ resourceName: string,
482
+ newResourceId: string,
483
+ content: object,
484
+ params: object,
485
+ fields: unknown[]
486
+ ): object;
487
+ delete(resourceName: string, rev: string, params: object): object;
488
+ delete(
489
+ resourceName: string,
490
+ rev: string,
491
+ params: object,
492
+ fields: unknown[]
493
+ ): object;
494
+ delete(resourceName: string, rev: string): object;
495
+ read(resourceName: string): object;
496
+ read(resourceName: string, params: object): object;
497
+ read(resourceName: string, params: object, fields: unknown[]): object;
498
+ query(resourceName: string, params: object, fields: unknown[]): object;
499
+ query(resourceName: string, params: object): object;
500
+ patch(
501
+ resourceName: string,
502
+ rev: string,
503
+ patch: unknown[],
504
+ params: object,
505
+ fields: unknown[]
506
+ ): object;
507
+ patch(resourceName: string, rev: string, patch: unknown[]): object;
508
+ patch(
509
+ resourceName: string,
510
+ rev: string,
511
+ patch: unknown[],
512
+ params: object
513
+ ): object;
514
+ }
515
+
516
+ export interface Policy {
517
+ evaluate(
518
+ subject: object,
519
+ application: string,
520
+ resourceNames: unknown[],
521
+ environment: object
522
+ ): unknown[];
523
+ evaluateTree(
524
+ subject: object,
525
+ application: string,
526
+ resourceName: string,
527
+ environment: object
528
+ ): unknown[];
529
+ }
530
+
531
+ export interface HttpClient {
532
+ send(uri: string, requestOptions: object): object;
533
+ send(uri: string): object;
534
+ }
535
+
536
+ export interface Journey {
537
+ name(): string;
538
+ innerJourney(): boolean;
539
+ mustRun(): boolean;
540
+ identityResource(): string;
541
+ }
542
+
543
+ export interface CacheManager {
544
+ exists(cacheName: string): boolean;
545
+ named(cacheName: string): object;
546
+ }
547
+
548
+ export interface Secrets {
549
+ getGenericSecret(secretId: string): object;
550
+ getDecryptionKey(secretId: string): object;
551
+ getEncryptionKey(secretId: string): object;
552
+ getSigningKey(secretId: string): object;
553
+ getVerificationKey(secretId: string): object;
554
+ }
555
+
556
+ export interface OauthApplication {
557
+ getRequestProperties(): object;
558
+ getApplicationId(): string;
559
+ getClientProperties(): object;
560
+ }
561
+
562
+ export interface EmailService {
563
+ send(to: string, subject: string, body: string): void;
564
+ send(to: string, subject: string, body: string, mimeType: string): void;
565
+ }
566
+
567
+ export interface SystemEnv {
568
+ getProperty(
569
+ propertyName: string,
570
+ defaultValue: string,
571
+ returnType: string
572
+ ): object;
573
+ getProperty(
574
+ propertyName: string,
575
+ defaultValue: string,
576
+ returnType: object
577
+ ): object;
578
+ getProperty(propertyName: string, defaultValue: string): string;
579
+ getProperty(propertyName: string): string;
580
+ }
581
+
582
+ export interface NodeState {
583
+ remove(key: string): void;
584
+ get(key: string): object;
585
+ keys(): object;
586
+ isDefined(key: string): boolean;
587
+ getObject(key: string): object;
588
+ putShared(key: string, value: object): object;
589
+ mergeShared(object: object): object;
590
+ mergeTransient(object: object): object;
591
+ putTransient(key: string, value: object): object;
592
+ }
593
+
594
+ export interface JwtValidator {
595
+ validateJwtClaims(jwtData: object): object;
596
+ }
597
+
598
+ export interface ScriptedDecisionMocks {
599
+ samlApplication: SamlApplication;
600
+ logger: Logger;
601
+ callbacks: Callbacks;
602
+ idRepository: IdRepository;
603
+ jwtAssertion: JwtAssertion;
604
+ utils: Utils;
605
+ action: Action;
606
+ callbacksBuilder: CallbacksBuilder;
607
+ openidm: Openidm;
608
+ requestCookies: OpaqueBinding;
609
+ cookieName: string;
610
+ policy: Policy;
611
+ httpClient: HttpClient;
612
+ journey: Journey;
613
+ requestParameters: OpaqueBinding;
614
+ cacheManager: CacheManager;
615
+ secrets: Secrets;
616
+ oauthApplication: OauthApplication;
617
+ emailService: EmailService;
618
+ locales: OpaqueBinding;
619
+ systemEnv: SystemEnv;
620
+ requestHeaders: OpaqueBinding;
621
+ nodeState: NodeState;
622
+ resumedFromSuspend: boolean;
623
+ scriptName: string;
624
+ realm: string;
625
+ jwtValidator: JwtValidator;
626
+ }