santoid-sdk 5.0.0 → 5.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.
@@ -1,286 +1,286 @@
1
- 18:07:43.629 INFO Scanner configuration file: /opt/sonar-scanner/conf/sonar-scanner.properties
2
- 18:07:43.634 INFO Project root configuration file: NONE
3
- 18:07:43.654 INFO SonarScanner CLI 6.2.1.4610
4
- 18:07:43.656 INFO Java 17.0.12 Amazon.com Inc. (64-bit)
5
- 18:07:43.657 INFO Linux 6.1.79 amd64
6
- 18:07:43.659 INFO SONAR_SCANNER_OPTS=-Xmx2048m
7
- 18:07:43.701 INFO User cache: /opt/sonar-scanner/.sonar/cache
8
- 18:07:44.525 INFO JRE provisioning: os[linux], arch[x86_64]
9
- 18:07:49.444 INFO Communicating with SonarCloud
10
- 18:07:49.943 INFO Starting SonarScanner Engine...
11
- 18:07:49.947 INFO Java 17.0.11 Eclipse Adoptium (64-bit)
12
- 18:07:51.372 INFO Load global settings
13
- 18:07:51.918 INFO Load global settings (done) | time=547ms
14
- 18:07:51.925 INFO Server id: 1BD809FA-AWHW8ct9-T_TB3XqouNu
15
- 18:07:52.320 INFO Loading required plugins
16
- 18:07:52.321 INFO Load plugins index
17
- 18:07:52.486 INFO Load plugins index (done) | time=165ms
18
- 18:07:52.488 INFO Load/download plugins
19
- 18:07:53.905 INFO Load/download plugins (done) | time=1419ms
20
- 18:07:54.418 INFO Found an active CI vendor: 'Bitbucket Pipelines'
21
- 18:07:54.546 INFO Detected project key 'santodigital_santoid-sdk-javascript' from 'Bitbucket Cloud Pipelines'
22
- 18:07:54.547 INFO Detected organization key 'santodigital' from 'Bitbucket Cloud Pipelines'
23
- 18:07:54.550 INFO Load project settings for component key: 'santodigital_santoid-sdk-javascript'
24
- 18:07:54.677 INFO Load project settings for component key: 'santodigital_santoid-sdk-javascript' (done) | time=128ms
25
- 18:07:54.683 INFO Process project properties
26
- 18:07:54.698 INFO Project key: santodigital_santoid-sdk-javascript
27
- 18:07:54.699 INFO Base dir: /opt/atlassian/pipelines/agent/build
28
- 18:07:54.699 INFO Working dir: /opt/atlassian/pipelines/agent/build/.scannerwork
29
- 18:07:54.707 INFO Load project branches
30
- 18:07:54.880 INFO Load project branches (done) | time=173ms
31
- 18:07:54.884 INFO Check ALM binding of project 'santodigital_santoid-sdk-javascript'
32
- 18:07:54.992 INFO Detected project binding: BOUND
33
- 18:07:54.993 INFO Check ALM binding of project 'santodigital_santoid-sdk-javascript' (done) | time=108ms
34
- 18:07:54.995 INFO Load project pull requests
35
- 18:07:55.177 INFO Load project pull requests (done) | time=181ms
36
- 18:07:55.181 INFO Load branch configuration
37
- 18:07:55.184 INFO Detected analysis for branch 'master'
38
- 18:07:55.185 INFO Auto-configuring branch master
39
- 18:07:55.186 INFO Load branch configuration (done) | time=5ms
40
- 18:07:55.195 INFO Load quality profiles
41
- 18:07:55.444 INFO Load quality profiles (done) | time=249ms
42
- 18:07:55.452 INFO Load active rules
43
- 18:08:01.874 INFO Load active rules (done) | time=6422ms
44
- 18:08:02.024 INFO Organization key: santodigital
45
- 18:08:02.038 INFO Branch name: master, type: long-lived
46
- 18:08:02.047 INFO Preprocessing files...
47
- 18:08:02.231 INFO 1 language detected in 40 preprocessed files
48
- 18:08:02.233 INFO 0 files ignored because of inclusion/exclusion patterns
49
- 18:08:02.234 INFO 0 files ignored because of scm ignore settings
50
- 18:08:02.263 INFO Loading plugins for detected languages
51
- 18:08:02.266 INFO Load/download plugins
52
- 18:08:03.479 INFO Load/download plugins (done) | time=1215ms
53
- 18:08:03.708 INFO Load project repositories
54
- 18:08:03.839 INFO Load project repositories (done) | time=130ms
55
- 18:08:03.850 INFO Indexing files...
56
- 18:08:03.850 INFO Project configuration:
57
- 18:08:03.850 INFO Excluded sources: **/build-wrapper-dump.json, __tests__/**/*.test.ts
58
- 18:08:03.850 INFO Included tests: __tests__/**/*.test.ts
59
- 18:08:03.916 INFO 40 files indexed
60
- 18:08:03.923 INFO Quality profile for ts: Sonar way
61
- 18:08:03.924 INFO ------------- Run sensors on module santodigital_santoid-sdk-javascript
62
- 18:08:04.002 INFO Load metrics repository
63
- 18:08:04.125 INFO Load metrics repository (done) | time=123ms
64
- 18:08:04.131 INFO Sensor cache enabled
65
- 18:08:04.424 INFO Load sensor cache
66
- 18:08:06.192 INFO Load sensor cache (96 KB) | time=1769ms
67
- 18:08:07.114 INFO Sensor JaCoCo XML Report Importer [jacoco]
68
- 18:08:07.116 INFO 'sonar.coverage.jacoco.xmlReportPaths' is not defined. Using default locations: target/site/jacoco/jacoco.xml,target/site/jacoco-it/jacoco.xml,build/reports/jacoco/test/jacocoTestReport.xml
69
- 18:08:07.116 INFO No report imported, no coverage information will be imported by JaCoCo XML Report Importer
70
- 18:08:07.117 INFO Sensor JaCoCo XML Report Importer [jacoco] (done) | time=2ms
71
- 18:08:07.118 INFO Sensor Java Config Sensor [iac]
72
- 18:08:07.158 INFO 0 source files to be analyzed
73
- 18:08:07.170 INFO 0/0 source files have been analyzed
74
- 18:08:07.173 INFO Sensor Java Config Sensor [iac] (done) | time=55ms
75
- 18:08:07.174 INFO Sensor JavaScript/TypeScript analysis [javascript]
76
- 18:08:07.434 INFO Detected os: Linux arch: amd64 alpine: false. Platform: LINUX_X64
77
- 18:08:07.435 INFO Deploy location /opt/sonar-scanner/.sonar/js/node-runtime, tagetRuntime: /opt/sonar-scanner/.sonar/js/node-runtime/node, version: /opt/sonar-scanner/.sonar/js/node-runtime/version.txt
78
- 18:08:11.587 INFO Using embedded Node.js runtime.
79
- 18:08:11.587 INFO Using Node.js executable: '/opt/sonar-scanner/.sonar/js/node-runtime/node'.
80
- 18:08:14.039 INFO Memory configuration: OS (10191 MB), Node.js (2096 MB).
81
- 18:08:16.975 WARN Access to the multi-values/property set property 'sonar.javascript.file.suffixes' should be made using 'getStringArray' method. The SonarQube plugin using this property should be updated.
82
- 18:08:16.976 WARN Access to the multi-values/property set property 'sonar.typescript.file.suffixes' should be made using 'getStringArray' method. The SonarQube plugin using this property should be updated.
83
- 18:08:17.021 INFO Found 1 tsconfig.json file(s): [/opt/atlassian/pipelines/agent/build/tsconfig.json]
84
- 18:08:17.022 INFO Creating TypeScript program
85
- 18:08:17.023 INFO TypeScript configuration file /opt/atlassian/pipelines/agent/build/tsconfig.json
86
- 18:08:17.024 INFO 40 source files to be analyzed
87
- 18:08:18.065 INFO Starting analysis with current program
88
- 18:08:22.906 INFO Analyzed 40 file(s) with current program
89
- 18:08:22.918 INFO 40/40 source files have been analyzed
90
- 18:08:22.919 INFO Hit the cache for 0 out of 40
91
- 18:08:22.922 INFO Miss the cache for 40 out of 40: ANALYSIS_MODE_INELIGIBLE [40/40]
92
- 18:08:22.922 INFO Sensor JavaScript/TypeScript analysis [javascript] (done) | time=15748ms
93
- 18:08:22.922 INFO Sensor CSS Rules [javascript]
94
- 18:08:22.923 INFO No CSS, PHP, HTML or VueJS files are found in the project. CSS analysis is skipped.
95
- 18:08:22.923 INFO Sensor CSS Rules [javascript] (done) | time=1ms
96
- 18:08:22.923 INFO Sensor JavaScript/TypeScript Coverage [javascript]
97
- 18:08:22.924 INFO Analysing [/opt/atlassian/pipelines/agent/build/coverage/lcov.info]
98
- 18:08:22.947 INFO Sensor JavaScript/TypeScript Coverage [javascript] (done) | time=23ms
99
- 18:08:22.947 INFO Sensor IaC Docker Sensor [iac]
100
- 18:08:23.080 INFO 0 source files to be analyzed
101
- 18:08:23.081 INFO 0/0 source files have been analyzed
102
- 18:08:23.081 INFO Sensor IaC Docker Sensor [iac] (done) | time=133ms
103
- 18:08:23.081 INFO Sensor Serverless configuration file sensor [security]
104
- 18:08:23.083 INFO 0 Serverless function entries were found in the project
105
- 18:08:23.087 INFO 0 Serverless function handlers were kept as entrypoints
106
- 18:08:23.087 INFO Sensor Serverless configuration file sensor [security] (done) | time=6ms
107
- 18:08:23.088 INFO Sensor AWS SAM template file sensor [security]
108
- 18:08:23.089 INFO Sensor AWS SAM template file sensor [security] (done) | time=1ms
109
- 18:08:23.089 INFO Sensor AWS SAM Inline template file sensor [security]
110
- 18:08:23.091 INFO Sensor AWS SAM Inline template file sensor [security] (done) | time=1ms
111
- 18:08:23.091 INFO Sensor EnterpriseTextAndSecretsSensor [textenterprise]
112
- 18:08:23.091 INFO Available processors: 4
113
- 18:08:23.092 INFO Using 4 threads for analysis.
114
- 18:08:23.913 INFO Using git CLI to retrieve untracked files
115
- 18:08:23.918 WARN Analyzing only language associated files, make sure to run the analysis inside a git repository to make use of inclusions specified via "sonar.text.inclusions"
116
- 18:08:23.944 INFO 40 source files to be analyzed
117
- 18:08:24.377 INFO 40/40 source files have been analyzed
118
- 18:08:24.379 INFO Sensor EnterpriseTextAndSecretsSensor [textenterprise] (done) | time=1287ms
119
- 18:08:24.379 INFO Sensor JavaSecuritySensor [security]
120
- 18:08:24.388 INFO Enabled taint analysis rules: S2076, S2078, S2083, S2091, S2631, S3649, S5131, S5135, S5144, S5145, S5146, S5147, S5334, S5496, S5883, S6096, S6173, S6287, S6350, S6384, S6390, S6398, S6399, S6547, S6549, S7044
121
- 18:08:24.389 INFO Load type hierarchy and UCFGs: Starting
122
- 18:08:24.389 INFO Load type hierarchy: Starting
123
- 18:08:24.389 INFO Reading type hierarchy from: /opt/atlassian/pipelines/agent/build/.scannerwork/ucfg2/java
124
- 18:08:24.389 INFO Read 0 type definitions
125
- 18:08:24.392 INFO Load type hierarchy: Time spent was 00:00:00.002
126
- 18:08:24.392 INFO Load UCFGs: Starting
127
- 18:08:24.393 INFO Load UCFGs: Time spent was 00:00:00.000
128
- 18:08:24.394 INFO Load type hierarchy and UCFGs: Time spent was 00:00:00.003
129
- 18:08:24.394 INFO No UCFGs have been included for analysis.
130
- 18:08:24.407 INFO java security sensor: Time spent was 00:00:00.024
131
- 18:08:24.410 INFO java security sensor: Begin: 2025-02-19T18:08:24.382816327Z, End: 2025-02-19T18:08:24.407064805Z, Duration: 00:00:00.024
132
- Load type hierarchy and UCFGs: Begin: 2025-02-19T18:08:24.388807975Z, End: 2025-02-19T18:08:24.392498435Z, Duration: 00:00:00.003
133
- Load type hierarchy: Begin: 2025-02-19T18:08:24.388931381Z, End: 2025-02-19T18:08:24.391374442Z, Duration: 00:00:00.002
134
- Load UCFGs: Begin: 2025-02-19T18:08:24.392196780Z, End: 2025-02-19T18:08:24.392315142Z, Duration: 00:00:00.000
135
- 18:08:24.410 INFO java security sensor peak memory: 224 MB
136
- 18:08:24.411 INFO Sensor JavaSecuritySensor [security] (done) | time=31ms
137
- 18:08:24.411 INFO Sensor CSharpSecuritySensor [security]
138
- 18:08:24.412 INFO Enabled taint analysis rules: S2076, S2078, S2083, S2091, S2631, S3649, S5131, S5135, S5144, S5145, S5146, S5147, S5334, S5883, S6096, S6173, S6287, S6350, S6399, S6547, S6549, S6639, S6641, S6680, S6776, S7044
139
- 18:08:24.412 INFO Load type hierarchy and UCFGs: Starting
140
- 18:08:24.412 INFO Load type hierarchy: Starting
141
- 18:08:24.413 INFO Reading type hierarchy from: /opt/atlassian/pipelines/agent/build/ucfg2/cs
142
- 18:08:24.413 INFO Read 0 type definitions
143
- 18:08:24.413 INFO Load type hierarchy: Time spent was 00:00:00.000
144
- 18:08:24.413 INFO Load UCFGs: Starting
145
- 18:08:24.414 INFO Load UCFGs: Time spent was 00:00:00.000
146
- 18:08:24.414 INFO Load type hierarchy and UCFGs: Time spent was 00:00:00.001
147
- 18:08:24.414 INFO No UCFGs have been included for analysis.
148
- 18:08:24.415 INFO csharp security sensor: Time spent was 00:00:00.003
149
- 18:08:24.416 INFO csharp security sensor: Begin: 2025-02-19T18:08:24.411054821Z, End: 2025-02-19T18:08:24.414938348Z, Duration: 00:00:00.003
150
- Load type hierarchy and UCFGs: Begin: 2025-02-19T18:08:24.412258716Z, End: 2025-02-19T18:08:24.413955166Z, Duration: 00:00:00.001
151
- Load type hierarchy: Begin: 2025-02-19T18:08:24.412294742Z, End: 2025-02-19T18:08:24.412638182Z, Duration: 00:00:00.000
152
- Load UCFGs: Begin: 2025-02-19T18:08:24.413191013Z, End: 2025-02-19T18:08:24.413578499Z, Duration: 00:00:00.000
153
- 18:08:24.416 INFO csharp security sensor peak memory: 224 MB
154
- 18:08:24.416 INFO Sensor CSharpSecuritySensor [security] (done) | time=6ms
155
- 18:08:24.428 INFO Sensor PhpSecuritySensor [security]
156
- 18:08:24.429 INFO Enabled taint analysis rules: S2076, S2078, S2083, S2091, S2631, S3649, S5131, S5135, S5144, S5145, S5146, S5334, S5335, S5883, S6173, S6287, S6350, S7044
157
- 18:08:24.429 INFO Load type hierarchy and UCFGs: Starting
158
- 18:08:24.429 INFO Load type hierarchy: Starting
159
- 18:08:24.430 INFO Reading type hierarchy from: /opt/atlassian/pipelines/agent/build/.scannerwork/ucfg2/php
160
- 18:08:24.430 INFO Read 0 type definitions
161
- 18:08:24.432 INFO Load type hierarchy: Time spent was 00:00:00.000
162
- 18:08:24.432 INFO Load UCFGs: Starting
163
- 18:08:24.432 INFO Load UCFGs: Time spent was 00:00:00.000
164
- 18:08:24.432 INFO Load type hierarchy and UCFGs: Time spent was 00:00:00.003
165
- 18:08:24.432 INFO No UCFGs have been included for analysis.
166
- 18:08:24.433 INFO php security sensor: Time spent was 00:00:00.005
167
- 18:08:24.435 INFO php security sensor: Begin: 2025-02-19T18:08:24.428230433Z, End: 2025-02-19T18:08:24.433476691Z, Duration: 00:00:00.005
168
- Load type hierarchy and UCFGs: Begin: 2025-02-19T18:08:24.429032710Z, End: 2025-02-19T18:08:24.432049660Z, Duration: 00:00:00.003
169
- Load type hierarchy: Begin: 2025-02-19T18:08:24.429076120Z, End: 2025-02-19T18:08:24.429308153Z, Duration: 00:00:00.000
170
- Load UCFGs: Begin: 2025-02-19T18:08:24.431766968Z, End: 2025-02-19T18:08:24.431848372Z, Duration: 00:00:00.000
171
- 18:08:24.435 INFO php security sensor peak memory: 224 MB
172
- 18:08:24.435 INFO Sensor PhpSecuritySensor [security] (done) | time=6ms
173
- 18:08:24.435 INFO Sensor PythonSecuritySensor [security]
174
- 18:08:24.436 INFO Enabled taint analysis rules: S2076, S2078, S2083, S2091, S2631, S3649, S5131, S5135, S5144, S5145, S5146, S5147, S5334, S5496, S6287, S6350, S6639, S6680, S6776, S6839, S7044
175
- 18:08:24.436 INFO Load type hierarchy and UCFGs: Starting
176
- 18:08:24.436 INFO Load type hierarchy: Starting
177
- 18:08:24.437 INFO Reading type hierarchy from: /opt/atlassian/pipelines/agent/build/.scannerwork/ucfg2/python
178
- 18:08:24.437 INFO Read 0 type definitions
179
- 18:08:24.437 INFO Load type hierarchy: Time spent was 00:00:00.000
180
- 18:08:24.437 INFO Load UCFGs: Starting
181
- 18:08:24.437 INFO Load UCFGs: Time spent was 00:00:00.000
182
- 18:08:24.438 INFO Load type hierarchy and UCFGs: Time spent was 00:00:00.001
183
- 18:08:24.438 INFO No UCFGs have been included for analysis.
184
- 18:08:24.439 INFO python security sensor: Time spent was 00:00:00.003
185
- 18:08:24.440 INFO python security sensor: Begin: 2025-02-19T18:08:24.435481769Z, End: 2025-02-19T18:08:24.438752981Z, Duration: 00:00:00.003
186
- Load type hierarchy and UCFGs: Begin: 2025-02-19T18:08:24.436327552Z, End: 2025-02-19T18:08:24.437417356Z, Duration: 00:00:00.001
187
- Load type hierarchy: Begin: 2025-02-19T18:08:24.436453663Z, End: 2025-02-19T18:08:24.436727778Z, Duration: 00:00:00.000
188
- Load UCFGs: Begin: 2025-02-19T18:08:24.436963310Z, End: 2025-02-19T18:08:24.437039081Z, Duration: 00:00:00.000
189
- 18:08:24.440 INFO python security sensor peak memory: 224 MB
190
- 18:08:24.440 INFO Sensor PythonSecuritySensor [security] (done) | time=4ms
191
- 18:08:24.440 INFO Sensor JsSecuritySensor [security]
192
- 18:08:24.442 INFO Enabled taint analysis rules: S2076, S2083, S2631, S3649, S5131, S5144, S5146, S5147, S5334, S5696, S5883, S6096, S6105, S6287, S6350
193
- 18:08:24.442 INFO Load type hierarchy and UCFGs: Starting
194
- 18:08:24.442 INFO Load type hierarchy: Starting
195
- 18:08:24.442 INFO Reading type hierarchy from: /opt/atlassian/pipelines/agent/build/.scannerwork/ucfg2/js
196
- 18:08:24.444 INFO Read 0 type definitions
197
- 18:08:24.444 INFO Load type hierarchy: Time spent was 00:00:00.002
198
- 18:08:24.445 INFO Load UCFGs: Starting
199
- 18:08:24.445 INFO Reading UCFGs from: /opt/atlassian/pipelines/agent/build/.scannerwork/ucfg2/js
200
- 18:08:24.744 INFO Load UCFGs: Time spent was 00:00:00.299
201
- 18:08:24.745 INFO Load type hierarchy and UCFGs: Time spent was 00:00:00.302
202
- 18:08:24.746 INFO Analyzing 157 UCFGs to detect vulnerabilities.
203
- 18:08:24.747 INFO Check cache: Starting
204
- 18:08:24.747 INFO Load cache: Starting
205
- 18:08:24.747 INFO Load cache: Time spent was 00:00:00.000
206
- 18:08:24.747 INFO Check cache: Time spent was 00:00:00.000
207
- 18:08:24.748 INFO Create runtime call graph: Starting
208
- 18:08:24.748 INFO Variable Type Analysis #1: Starting
209
- 18:08:24.750 INFO Create runtime type propagation graph: Starting
210
- 18:08:24.777 INFO Create runtime type propagation graph: Time spent was 00:00:00.026
211
- 18:08:24.777 INFO Run SCC (Tarjan) on 881 nodes: Starting
212
- 18:08:24.782 INFO Run SCC (Tarjan) on 881 nodes: Time spent was 00:00:00.004
213
- 18:08:24.783 INFO Tarjan found 881 strongly connected components
214
- 18:08:24.783 INFO Propagate runtime types to strongly connected components: Starting
215
- 18:08:24.791 INFO Propagate runtime types to strongly connected components: Time spent was 00:00:00.008
216
- 18:08:24.792 INFO Variable Type Analysis #1: Time spent was 00:00:00.043
217
- 18:08:24.793 INFO Variable Type Analysis #2: Starting
218
- 18:08:24.794 INFO Create runtime type propagation graph: Starting
219
- 18:08:24.810 INFO Create runtime type propagation graph: Time spent was 00:00:00.016
220
- 18:08:24.811 INFO Run SCC (Tarjan) on 881 nodes: Starting
221
- 18:08:24.813 INFO Run SCC (Tarjan) on 881 nodes: Time spent was 00:00:00.002
222
- 18:08:24.815 INFO Tarjan found 881 strongly connected components
223
- 18:08:24.815 INFO Propagate runtime types to strongly connected components: Starting
224
- 18:08:24.817 INFO Propagate runtime types to strongly connected components: Time spent was 00:00:00.003
225
- 18:08:24.819 INFO Variable Type Analysis #2: Time spent was 00:00:00.024
226
- 18:08:24.820 INFO Create runtime call graph: Time spent was 00:00:00.073
227
- 18:08:24.820 INFO Load config: Starting
228
- 18:08:24.928 INFO Load config: Time spent was 00:00:00.107
229
- 18:08:24.928 INFO Compute entry points: Starting
230
- 18:08:25.021 INFO Compute entry points: Time spent was 00:00:00.093
231
- 18:08:25.022 INFO All rules entry points : 28
232
- 18:08:25.023 INFO Slice call graph: Starting
233
- 18:08:25.024 INFO Slice call graph: Time spent was 00:00:00.000
234
- 18:08:25.024 INFO Live variable analysis: Starting
235
- 18:08:25.100 INFO Live variable analysis: Time spent was 00:00:00.077
236
- 18:08:25.101 INFO Taint analysis for js: Starting
237
- 18:08:26.133 INFO 0 / 157 UCFGs simulated, memory usage: 107 MB
238
- 18:08:26.263 INFO 28 / 157 UCFGs simulated, memory usage: 122 MB
239
- 18:08:26.264 INFO Taint analysis for js: Time spent was 00:00:01.163
240
- 18:08:26.264 INFO Report issues: Starting
241
- 18:08:26.268 INFO Report issues: Time spent was 00:00:00.003
242
- 18:08:26.269 INFO Store cache: Starting
243
- 18:08:26.271 INFO Store cache: Time spent was 00:00:00.001
244
- 18:08:26.273 INFO js security sensor: Time spent was 00:00:01.832
245
- 18:08:26.274 INFO js security sensor: Begin: 2025-02-19T18:08:24.440686053Z, End: 2025-02-19T18:08:26.272726248Z, Duration: 00:00:01.832
246
- Load type hierarchy and UCFGs: Begin: 2025-02-19T18:08:24.441909067Z, End: 2025-02-19T18:08:24.744156569Z, Duration: 00:00:00.302
247
- Load type hierarchy: Begin: 2025-02-19T18:08:24.441940718Z, End: 2025-02-19T18:08:24.444361761Z, Duration: 00:00:00.002
248
- Load UCFGs: Begin: 2025-02-19T18:08:24.444538505Z, End: 2025-02-19T18:08:24.743767562Z, Duration: 00:00:00.299
249
- Check cache: Begin: 2025-02-19T18:08:24.744412318Z, End: 2025-02-19T18:08:24.745071348Z, Duration: 00:00:00.000
250
- Load cache: Begin: 2025-02-19T18:08:24.744472731Z, End: 2025-02-19T18:08:24.744535371Z, Duration: 00:00:00.000
251
- Create runtime call graph: Begin: 2025-02-19T18:08:24.745335104Z, End: 2025-02-19T18:08:24.818991079Z, Duration: 00:00:00.073
252
- Variable Type Analysis #1: Begin: 2025-02-19T18:08:24.747062596Z, End: 2025-02-19T18:08:24.790900607Z, Duration: 00:00:00.043
253
- Create runtime type propagation graph: Begin: 2025-02-19T18:08:24.750082587Z, End: 2025-02-19T18:08:24.776159340Z, Duration: 00:00:00.026
254
- Run SCC (Tarjan) on 881 nodes: Begin: 2025-02-19T18:08:24.776878991Z, End: 2025-02-19T18:08:24.781606398Z, Duration: 00:00:00.004
255
- Propagate runtime types to strongly connected components: Begin: 2025-02-19T18:08:24.782075847Z, End: 2025-02-19T18:08:24.790569617Z, Duration: 00:00:00.008
256
- Variable Type Analysis #2: Begin: 2025-02-19T18:08:24.793168735Z, End: 2025-02-19T18:08:24.817350389Z, Duration: 00:00:00.024
257
- Create runtime type propagation graph: Begin: 2025-02-19T18:08:24.793270347Z, End: 2025-02-19T18:08:24.809712805Z, Duration: 00:00:00.016
258
- Run SCC (Tarjan) on 881 nodes: Begin: 2025-02-19T18:08:24.810117370Z, End: 2025-02-19T18:08:24.812700851Z, Duration: 00:00:00.002
259
- Propagate runtime types to strongly connected components: Begin: 2025-02-19T18:08:24.813103954Z, End: 2025-02-19T18:08:24.817016189Z, Duration: 00:00:00.003
260
- Load config: Begin: 2025-02-19T18:08:24.819222156Z, End: 2025-02-19T18:08:24.927118950Z, Duration: 00:00:00.107
261
- Compute entry points: Begin: 2025-02-19T18:08:24.927449568Z, End: 2025-02-19T18:08:25.021007107Z, Duration: 00:00:00.093
262
- Slice call graph: Begin: 2025-02-19T18:08:25.021446146Z, End: 2025-02-19T18:08:25.021478801Z, Duration: 00:00:00.000
263
- Live variable analysis: Begin: 2025-02-19T18:08:25.021638503Z, End: 2025-02-19T18:08:25.099345446Z, Duration: 00:00:00.077
264
- Taint analysis for js: Begin: 2025-02-19T18:08:25.100042355Z, End: 2025-02-19T18:08:26.263853177Z, Duration: 00:00:01.163
265
- Report issues: Begin: 2025-02-19T18:08:26.264389475Z, End: 2025-02-19T18:08:26.267808640Z, Duration: 00:00:00.003
266
- Store cache: Begin: 2025-02-19T18:08:26.269455720Z, End: 2025-02-19T18:08:26.271260650Z, Duration: 00:00:00.001
267
- 18:08:26.276 INFO js security sensor peak memory: 235 MB
268
- 18:08:26.288 INFO Sensor JsSecuritySensor [security] (done) | time=1847ms
269
- 18:08:26.292 INFO ------------- Run sensors on project
270
- 18:08:26.504 INFO Sensor Zero Coverage Sensor
271
- 18:08:26.506 INFO Sensor Zero Coverage Sensor (done) | time=2ms
272
- 18:08:26.529 INFO CPD Executor 7 files had no CPD blocks
273
- 18:08:26.530 INFO CPD Executor Calculating CPD for 20 files
274
- 18:08:26.580 INFO CPD Executor CPD calculation finished (done) | time=44ms
275
- 18:08:26.787 INFO Analysis report generated in 201ms, dir size=404 KB
276
- 18:08:27.022 INFO Analysis report compressed in 235ms, zip size=143 KB
277
- 18:08:27.610 INFO Analysis report uploaded in 586ms
278
- 18:08:27.613 INFO ANALYSIS SUCCESSFUL, you can find the results at: https://sonarcloud.io/dashboard?id=santodigital_santoid-sdk-javascript&branch=master
279
- 18:08:27.613 INFO Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report
280
- 18:08:27.614 INFO More about the report processing at https://sonarcloud.io/api/ce/task?id=AZUfZZr7Wki3S8Zw-QMc
281
- 18:08:28.605 INFO Sensor cache published successfully
282
- 18:08:28.615 INFO Time spent writing ucfgs 106ms
283
- 18:08:28.693 INFO Analysis total time: 34.603 s
284
- 18:08:28.694 INFO SonarScanner Engine completed successfully
285
- 18:08:29.037 INFO EXECUTION SUCCESS
286
- 18:08:29.039 INFO Total time: 45.414s
1
+ 18:08:54.370 INFO Scanner configuration file: /opt/sonar-scanner/conf/sonar-scanner.properties
2
+ 18:08:54.376 INFO Project root configuration file: NONE
3
+ 18:08:54.399 INFO SonarScanner CLI 6.2.1.4610
4
+ 18:08:54.403 INFO Java 17.0.12 Amazon.com Inc. (64-bit)
5
+ 18:08:54.404 INFO Linux 6.1.79 amd64
6
+ 18:08:54.406 INFO SONAR_SCANNER_OPTS=-Xmx2048m
7
+ 18:08:54.447 INFO User cache: /opt/sonar-scanner/.sonar/cache
8
+ 18:08:55.273 INFO JRE provisioning: os[linux], arch[x86_64]
9
+ 18:09:01.192 INFO Communicating with SonarCloud
10
+ 18:09:01.936 INFO Starting SonarScanner Engine...
11
+ 18:09:01.937 INFO Java 17.0.11 Eclipse Adoptium (64-bit)
12
+ 18:09:03.467 INFO Load global settings
13
+ 18:09:03.955 INFO Load global settings (done) | time=489ms
14
+ 18:09:03.960 INFO Server id: 1BD809FA-AWHW8ct9-T_TB3XqouNu
15
+ 18:09:04.400 INFO Loading required plugins
16
+ 18:09:04.400 INFO Load plugins index
17
+ 18:09:04.609 INFO Load plugins index (done) | time=208ms
18
+ 18:09:04.609 INFO Load/download plugins
19
+ 18:09:06.205 INFO Load/download plugins (done) | time=1597ms
20
+ 18:09:07.069 INFO Found an active CI vendor: 'Bitbucket Pipelines'
21
+ 18:09:07.253 INFO Detected project key 'santodigital_santoid-sdk-javascript' from 'Bitbucket Cloud Pipelines'
22
+ 18:09:07.255 INFO Detected organization key 'santodigital' from 'Bitbucket Cloud Pipelines'
23
+ 18:09:07.257 INFO Load project settings for component key: 'santodigital_santoid-sdk-javascript'
24
+ 18:09:07.465 INFO Load project settings for component key: 'santodigital_santoid-sdk-javascript' (done) | time=208ms
25
+ 18:09:07.472 INFO Process project properties
26
+ 18:09:07.483 INFO Project key: santodigital_santoid-sdk-javascript
27
+ 18:09:07.484 INFO Base dir: /opt/atlassian/pipelines/agent/build
28
+ 18:09:07.484 INFO Working dir: /opt/atlassian/pipelines/agent/build/.scannerwork
29
+ 18:09:07.488 INFO Load project branches
30
+ 18:09:07.887 INFO Load project branches (done) | time=387ms
31
+ 18:09:07.887 INFO Check ALM binding of project 'santodigital_santoid-sdk-javascript'
32
+ 18:09:08.102 INFO Detected project binding: BOUND
33
+ 18:09:08.103 INFO Check ALM binding of project 'santodigital_santoid-sdk-javascript' (done) | time=224ms
34
+ 18:09:08.105 INFO Load project pull requests
35
+ 18:09:08.360 INFO Load project pull requests (done) | time=256ms
36
+ 18:09:08.364 INFO Load branch configuration
37
+ 18:09:08.367 INFO Detected analysis for branch 'master'
38
+ 18:09:08.369 INFO Auto-configuring branch master
39
+ 18:09:08.370 INFO Load branch configuration (done) | time=6ms
40
+ 18:09:08.378 INFO Load quality profiles
41
+ 18:09:09.152 INFO Load quality profiles (done) | time=773ms
42
+ 18:09:09.159 INFO Load active rules
43
+ 18:09:19.061 INFO Load active rules (done) | time=9901ms
44
+ 18:09:19.274 INFO Organization key: santodigital
45
+ 18:09:19.276 INFO Branch name: master, type: long-lived
46
+ 18:09:19.299 INFO Preprocessing files...
47
+ 18:09:19.491 INFO 1 language detected in 40 preprocessed files
48
+ 18:09:19.491 INFO 0 files ignored because of inclusion/exclusion patterns
49
+ 18:09:19.491 INFO 0 files ignored because of scm ignore settings
50
+ 18:09:19.518 INFO Loading plugins for detected languages
51
+ 18:09:19.519 INFO Load/download plugins
52
+ 18:09:20.607 INFO Load/download plugins (done) | time=1089ms
53
+ 18:09:20.798 INFO Load project repositories
54
+ 18:09:20.999 INFO Load project repositories (done) | time=201ms
55
+ 18:09:21.006 INFO Indexing files...
56
+ 18:09:21.015 INFO Project configuration:
57
+ 18:09:21.015 INFO Excluded sources: **/build-wrapper-dump.json, __tests__/**/*.test.ts
58
+ 18:09:21.015 INFO Included tests: __tests__/**/*.test.ts
59
+ 18:09:21.073 INFO 40 files indexed
60
+ 18:09:21.078 INFO Quality profile for ts: Sonar way
61
+ 18:09:21.079 INFO ------------- Run sensors on module santodigital_santoid-sdk-javascript
62
+ 18:09:21.126 INFO Load metrics repository
63
+ 18:09:21.295 INFO Load metrics repository (done) | time=169ms
64
+ 18:09:21.301 INFO Sensor cache enabled
65
+ 18:09:21.639 INFO Load sensor cache
66
+ 18:09:23.189 INFO Load sensor cache (97 KB) | time=1550ms
67
+ 18:09:23.985 INFO Sensor JaCoCo XML Report Importer [jacoco]
68
+ 18:09:23.987 INFO 'sonar.coverage.jacoco.xmlReportPaths' is not defined. Using default locations: target/site/jacoco/jacoco.xml,target/site/jacoco-it/jacoco.xml,build/reports/jacoco/test/jacocoTestReport.xml
69
+ 18:09:23.987 INFO No report imported, no coverage information will be imported by JaCoCo XML Report Importer
70
+ 18:09:23.987 INFO Sensor JaCoCo XML Report Importer [jacoco] (done) | time=2ms
71
+ 18:09:23.988 INFO Sensor Java Config Sensor [iac]
72
+ 18:09:24.021 INFO 0 source files to be analyzed
73
+ 18:09:24.030 INFO 0/0 source files have been analyzed
74
+ 18:09:24.032 INFO Sensor Java Config Sensor [iac] (done) | time=44ms
75
+ 18:09:24.032 INFO Sensor JavaScript/TypeScript analysis [javascript]
76
+ 18:09:24.269 INFO Detected os: Linux arch: amd64 alpine: false. Platform: LINUX_X64
77
+ 18:09:24.270 INFO Deploy location /opt/sonar-scanner/.sonar/js/node-runtime, tagetRuntime: /opt/sonar-scanner/.sonar/js/node-runtime/node, version: /opt/sonar-scanner/.sonar/js/node-runtime/version.txt
78
+ 18:09:28.330 INFO Using embedded Node.js runtime.
79
+ 18:09:28.331 INFO Using Node.js executable: '/opt/sonar-scanner/.sonar/js/node-runtime/node'.
80
+ 18:09:32.065 INFO Memory configuration: OS (10191 MB), Node.js (2096 MB).
81
+ 18:09:35.133 WARN Access to the multi-values/property set property 'sonar.javascript.file.suffixes' should be made using 'getStringArray' method. The SonarQube plugin using this property should be updated.
82
+ 18:09:35.134 WARN Access to the multi-values/property set property 'sonar.typescript.file.suffixes' should be made using 'getStringArray' method. The SonarQube plugin using this property should be updated.
83
+ 18:09:35.162 INFO Found 1 tsconfig.json file(s): [/opt/atlassian/pipelines/agent/build/tsconfig.json]
84
+ 18:09:35.163 INFO Creating TypeScript program
85
+ 18:09:35.163 INFO TypeScript configuration file /opt/atlassian/pipelines/agent/build/tsconfig.json
86
+ 18:09:35.165 INFO 40 source files to be analyzed
87
+ 18:09:36.210 INFO Starting analysis with current program
88
+ 18:09:40.712 INFO Analyzed 40 file(s) with current program
89
+ 18:09:40.721 INFO 40/40 source files have been analyzed
90
+ 18:09:40.723 INFO Hit the cache for 0 out of 40
91
+ 18:09:40.725 INFO Miss the cache for 40 out of 40: ANALYSIS_MODE_INELIGIBLE [40/40]
92
+ 18:09:40.726 INFO Sensor JavaScript/TypeScript analysis [javascript] (done) | time=16694ms
93
+ 18:09:40.727 INFO Sensor CSS Rules [javascript]
94
+ 18:09:40.728 INFO No CSS, PHP, HTML or VueJS files are found in the project. CSS analysis is skipped.
95
+ 18:09:40.729 INFO Sensor CSS Rules [javascript] (done) | time=1ms
96
+ 18:09:40.729 INFO Sensor JavaScript/TypeScript Coverage [javascript]
97
+ 18:09:40.730 INFO Analysing [/opt/atlassian/pipelines/agent/build/coverage/lcov.info]
98
+ 18:09:40.749 INFO Sensor JavaScript/TypeScript Coverage [javascript] (done) | time=19ms
99
+ 18:09:40.749 INFO Sensor IaC Docker Sensor [iac]
100
+ 18:09:40.836 INFO 0 source files to be analyzed
101
+ 18:09:40.837 INFO 0/0 source files have been analyzed
102
+ 18:09:40.837 INFO Sensor IaC Docker Sensor [iac] (done) | time=88ms
103
+ 18:09:40.838 INFO Sensor Serverless configuration file sensor [security]
104
+ 18:09:40.839 INFO 0 Serverless function entries were found in the project
105
+ 18:09:40.842 INFO 0 Serverless function handlers were kept as entrypoints
106
+ 18:09:40.842 INFO Sensor Serverless configuration file sensor [security] (done) | time=4ms
107
+ 18:09:40.843 INFO Sensor AWS SAM template file sensor [security]
108
+ 18:09:40.844 INFO Sensor AWS SAM template file sensor [security] (done) | time=1ms
109
+ 18:09:40.844 INFO Sensor AWS SAM Inline template file sensor [security]
110
+ 18:09:40.845 INFO Sensor AWS SAM Inline template file sensor [security] (done) | time=1ms
111
+ 18:09:40.846 INFO Sensor EnterpriseTextAndSecretsSensor [textenterprise]
112
+ 18:09:40.846 INFO Available processors: 4
113
+ 18:09:40.847 INFO Using 4 threads for analysis.
114
+ 18:09:41.395 INFO Using git CLI to retrieve untracked files
115
+ 18:09:41.399 WARN Analyzing only language associated files, make sure to run the analysis inside a git repository to make use of inclusions specified via "sonar.text.inclusions"
116
+ 18:09:41.417 INFO 40 source files to be analyzed
117
+ 18:09:41.839 INFO 40/40 source files have been analyzed
118
+ 18:09:41.840 INFO Sensor EnterpriseTextAndSecretsSensor [textenterprise] (done) | time=993ms
119
+ 18:09:41.840 INFO Sensor JavaSecuritySensor [security]
120
+ 18:09:41.846 INFO Enabled taint analysis rules: S2076, S2078, S2083, S2091, S2631, S3649, S5131, S5135, S5144, S5145, S5146, S5147, S5334, S5496, S5883, S6096, S6173, S6287, S6350, S6384, S6390, S6398, S6399, S6547, S6549, S7044
121
+ 18:09:41.846 INFO Load type hierarchy and UCFGs: Starting
122
+ 18:09:41.846 INFO Load type hierarchy: Starting
123
+ 18:09:41.846 INFO Reading type hierarchy from: /opt/atlassian/pipelines/agent/build/.scannerwork/ucfg2/java
124
+ 18:09:41.847 INFO Read 0 type definitions
125
+ 18:09:41.850 INFO Load type hierarchy: Time spent was 00:00:00.002
126
+ 18:09:41.850 INFO Load UCFGs: Starting
127
+ 18:09:41.851 INFO Load UCFGs: Time spent was 00:00:00.000
128
+ 18:09:41.851 INFO Load type hierarchy and UCFGs: Time spent was 00:00:00.004
129
+ 18:09:41.851 INFO No UCFGs have been included for analysis.
130
+ 18:09:41.863 INFO java security sensor: Time spent was 00:00:00.020
131
+ 18:09:41.864 INFO java security sensor: Begin: 2025-02-20T18:09:41.842431022Z, End: 2025-02-20T18:09:41.862719367Z, Duration: 00:00:00.020
132
+ Load type hierarchy and UCFGs: Begin: 2025-02-20T18:09:41.846414292Z, End: 2025-02-20T18:09:41.851198747Z, Duration: 00:00:00.004
133
+ Load type hierarchy: Begin: 2025-02-20T18:09:41.846694260Z, End: 2025-02-20T18:09:41.849561475Z, Duration: 00:00:00.002
134
+ Load UCFGs: Begin: 2025-02-20T18:09:41.849922343Z, End: 2025-02-20T18:09:41.850005124Z, Duration: 00:00:00.000
135
+ 18:09:41.864 INFO java security sensor peak memory: 208 MB
136
+ 18:09:41.864 INFO Sensor JavaSecuritySensor [security] (done) | time=24ms
137
+ 18:09:41.865 INFO Sensor CSharpSecuritySensor [security]
138
+ 18:09:41.866 INFO Enabled taint analysis rules: S2076, S2078, S2083, S2091, S2631, S3649, S5131, S5135, S5144, S5145, S5146, S5147, S5334, S5883, S6096, S6173, S6287, S6350, S6399, S6547, S6549, S6639, S6641, S6680, S6776, S7044
139
+ 18:09:41.866 INFO Load type hierarchy and UCFGs: Starting
140
+ 18:09:41.867 INFO Load type hierarchy: Starting
141
+ 18:09:41.867 INFO Reading type hierarchy from: /opt/atlassian/pipelines/agent/build/ucfg2/cs
142
+ 18:09:41.868 INFO Read 0 type definitions
143
+ 18:09:41.868 INFO Load type hierarchy: Time spent was 00:00:00.001
144
+ 18:09:41.868 INFO Load UCFGs: Starting
145
+ 18:09:41.869 INFO Load UCFGs: Time spent was 00:00:00.000
146
+ 18:09:41.869 INFO Load type hierarchy and UCFGs: Time spent was 00:00:00.003
147
+ 18:09:41.869 INFO No UCFGs have been included for analysis.
148
+ 18:09:41.869 INFO csharp security sensor: Time spent was 00:00:00.004
149
+ 18:09:41.871 INFO csharp security sensor: Begin: 2025-02-20T18:09:41.865118305Z, End: 2025-02-20T18:09:41.869725702Z, Duration: 00:00:00.004
150
+ Load type hierarchy and UCFGs: Begin: 2025-02-20T18:09:41.865964329Z, End: 2025-02-20T18:09:41.869215926Z, Duration: 00:00:00.003
151
+ Load type hierarchy: Begin: 2025-02-20T18:09:41.865986645Z, End: 2025-02-20T18:09:41.867853400Z, Duration: 00:00:00.001
152
+ Load UCFGs: Begin: 2025-02-20T18:09:41.868092351Z, End: 2025-02-20T18:09:41.868136129Z, Duration: 00:00:00.000
153
+ 18:09:41.871 INFO csharp security sensor peak memory: 208 MB
154
+ 18:09:41.871 INFO Sensor CSharpSecuritySensor [security] (done) | time=6ms
155
+ 18:09:41.871 INFO Sensor PhpSecuritySensor [security]
156
+ 18:09:41.872 INFO Enabled taint analysis rules: S2076, S2078, S2083, S2091, S2631, S3649, S5131, S5135, S5144, S5145, S5146, S5334, S5335, S5883, S6173, S6287, S6350, S7044
157
+ 18:09:41.872 INFO Load type hierarchy and UCFGs: Starting
158
+ 18:09:41.872 INFO Load type hierarchy: Starting
159
+ 18:09:41.872 INFO Reading type hierarchy from: /opt/atlassian/pipelines/agent/build/.scannerwork/ucfg2/php
160
+ 18:09:41.872 INFO Read 0 type definitions
161
+ 18:09:41.872 INFO Load type hierarchy: Time spent was 00:00:00.000
162
+ 18:09:41.872 INFO Load UCFGs: Starting
163
+ 18:09:41.872 INFO Load UCFGs: Time spent was 00:00:00.000
164
+ 18:09:41.873 INFO Load type hierarchy and UCFGs: Time spent was 00:00:00.000
165
+ 18:09:41.873 INFO No UCFGs have been included for analysis.
166
+ 18:09:41.873 INFO php security sensor: Time spent was 00:00:00.002
167
+ 18:09:41.879 INFO php security sensor: Begin: 2025-02-20T18:09:41.871414614Z, End: 2025-02-20T18:09:41.873573582Z, Duration: 00:00:00.002
168
+ Load type hierarchy and UCFGs: Begin: 2025-02-20T18:09:41.871922233Z, End: 2025-02-20T18:09:41.872505997Z, Duration: 00:00:00.000
169
+ Load type hierarchy: Begin: 2025-02-20T18:09:41.871950676Z, End: 2025-02-20T18:09:41.872098737Z, Duration: 00:00:00.000
170
+ Load UCFGs: Begin: 2025-02-20T18:09:41.872278531Z, End: 2025-02-20T18:09:41.872311753Z, Duration: 00:00:00.000
171
+ 18:09:41.879 INFO php security sensor peak memory: 208 MB
172
+ 18:09:41.879 INFO Sensor PhpSecuritySensor [security] (done) | time=7ms
173
+ 18:09:41.880 INFO Sensor PythonSecuritySensor [security]
174
+ 18:09:41.881 INFO Enabled taint analysis rules: S2076, S2078, S2083, S2091, S2631, S3649, S5131, S5135, S5144, S5145, S5146, S5147, S5334, S5496, S6287, S6350, S6639, S6680, S6776, S6839, S7044
175
+ 18:09:41.881 INFO Load type hierarchy and UCFGs: Starting
176
+ 18:09:41.881 INFO Load type hierarchy: Starting
177
+ 18:09:41.881 INFO Reading type hierarchy from: /opt/atlassian/pipelines/agent/build/.scannerwork/ucfg2/python
178
+ 18:09:41.882 INFO Read 0 type definitions
179
+ 18:09:41.883 INFO Load type hierarchy: Time spent was 00:00:00.000
180
+ 18:09:41.883 INFO Load UCFGs: Starting
181
+ 18:09:41.884 INFO Load UCFGs: Time spent was 00:00:00.000
182
+ 18:09:41.885 INFO Load type hierarchy and UCFGs: Time spent was 00:00:00.003
183
+ 18:09:41.885 INFO No UCFGs have been included for analysis.
184
+ 18:09:41.886 INFO python security sensor: Time spent was 00:00:00.005
185
+ 18:09:41.887 INFO python security sensor: Begin: 2025-02-20T18:09:41.880298088Z, End: 2025-02-20T18:09:41.886053438Z, Duration: 00:00:00.005
186
+ Load type hierarchy and UCFGs: Begin: 2025-02-20T18:09:41.881406327Z, End: 2025-02-20T18:09:41.884613384Z, Duration: 00:00:00.003
187
+ Load type hierarchy: Begin: 2025-02-20T18:09:41.881438349Z, End: 2025-02-20T18:09:41.881853418Z, Duration: 00:00:00.000
188
+ Load UCFGs: Begin: 2025-02-20T18:09:41.883348487Z, End: 2025-02-20T18:09:41.883417955Z, Duration: 00:00:00.000
189
+ 18:09:41.887 INFO python security sensor peak memory: 208 MB
190
+ 18:09:41.887 INFO Sensor PythonSecuritySensor [security] (done) | time=7ms
191
+ 18:09:41.889 INFO Sensor JsSecuritySensor [security]
192
+ 18:09:41.890 INFO Enabled taint analysis rules: S2076, S2083, S2631, S3649, S5131, S5144, S5146, S5147, S5334, S5696, S5883, S6096, S6105, S6287, S6350
193
+ 18:09:41.890 INFO Load type hierarchy and UCFGs: Starting
194
+ 18:09:41.890 INFO Load type hierarchy: Starting
195
+ 18:09:41.890 INFO Reading type hierarchy from: /opt/atlassian/pipelines/agent/build/.scannerwork/ucfg2/js
196
+ 18:09:41.891 INFO Read 0 type definitions
197
+ 18:09:41.892 INFO Load type hierarchy: Time spent was 00:00:00.001
198
+ 18:09:41.892 INFO Load UCFGs: Starting
199
+ 18:09:41.892 INFO Reading UCFGs from: /opt/atlassian/pipelines/agent/build/.scannerwork/ucfg2/js
200
+ 18:09:42.115 INFO Load UCFGs: Time spent was 00:00:00.222
201
+ 18:09:42.115 INFO Load type hierarchy and UCFGs: Time spent was 00:00:00.224
202
+ 18:09:42.115 INFO Analyzing 157 UCFGs to detect vulnerabilities.
203
+ 18:09:42.115 INFO Check cache: Starting
204
+ 18:09:42.115 INFO Load cache: Starting
205
+ 18:09:42.116 INFO Load cache: Time spent was 00:00:00.000
206
+ 18:09:42.118 INFO Check cache: Time spent was 00:00:00.002
207
+ 18:09:42.118 INFO Create runtime call graph: Starting
208
+ 18:09:42.119 INFO Variable Type Analysis #1: Starting
209
+ 18:09:42.121 INFO Create runtime type propagation graph: Starting
210
+ 18:09:42.151 INFO Create runtime type propagation graph: Time spent was 00:00:00.028
211
+ 18:09:42.154 INFO Run SCC (Tarjan) on 882 nodes: Starting
212
+ 18:09:42.159 INFO Run SCC (Tarjan) on 882 nodes: Time spent was 00:00:00.007
213
+ 18:09:42.159 INFO Tarjan found 882 strongly connected components
214
+ 18:09:42.159 INFO Propagate runtime types to strongly connected components: Starting
215
+ 18:09:42.164 INFO Propagate runtime types to strongly connected components: Time spent was 00:00:00.005
216
+ 18:09:42.165 INFO Variable Type Analysis #1: Time spent was 00:00:00.045
217
+ 18:09:42.167 INFO Variable Type Analysis #2: Starting
218
+ 18:09:42.167 INFO Create runtime type propagation graph: Starting
219
+ 18:09:42.178 INFO Create runtime type propagation graph: Time spent was 00:00:00.010
220
+ 18:09:42.178 INFO Run SCC (Tarjan) on 882 nodes: Starting
221
+ 18:09:42.179 INFO Run SCC (Tarjan) on 882 nodes: Time spent was 00:00:00.001
222
+ 18:09:42.179 INFO Tarjan found 882 strongly connected components
223
+ 18:09:42.179 INFO Propagate runtime types to strongly connected components: Starting
224
+ 18:09:42.182 INFO Propagate runtime types to strongly connected components: Time spent was 00:00:00.002
225
+ 18:09:42.182 INFO Variable Type Analysis #2: Time spent was 00:00:00.015
226
+ 18:09:42.183 INFO Create runtime call graph: Time spent was 00:00:00.065
227
+ 18:09:42.184 INFO Load config: Starting
228
+ 18:09:42.262 INFO Load config: Time spent was 00:00:00.078
229
+ 18:09:42.263 INFO Compute entry points: Starting
230
+ 18:09:42.278 INFO Compute entry points: Time spent was 00:00:00.014
231
+ 18:09:42.278 INFO All rules entry points : 28
232
+ 18:09:42.278 INFO Slice call graph: Starting
233
+ 18:09:42.278 INFO Slice call graph: Time spent was 00:00:00.000
234
+ 18:09:42.279 INFO Live variable analysis: Starting
235
+ 18:09:42.318 INFO Live variable analysis: Time spent was 00:00:00.039
236
+ 18:09:42.318 INFO Taint analysis for js: Starting
237
+ 18:09:43.369 INFO 0 / 157 UCFGs simulated, memory usage: 116 MB
238
+ 18:09:43.903 INFO 28 / 157 UCFGs simulated, memory usage: 121 MB
239
+ 18:09:43.904 INFO Taint analysis for js: Time spent was 00:00:01.585
240
+ 18:09:43.904 INFO Report issues: Starting
241
+ 18:09:43.909 INFO Report issues: Time spent was 00:00:00.004
242
+ 18:09:43.911 INFO Store cache: Starting
243
+ 18:09:43.914 INFO Store cache: Time spent was 00:00:00.002
244
+ 18:09:43.915 INFO js security sensor: Time spent was 00:00:02.026
245
+ 18:09:43.917 INFO js security sensor: Begin: 2025-02-20T18:09:41.888906909Z, End: 2025-02-20T18:09:43.915407187Z, Duration: 00:00:02.026
246
+ Load type hierarchy and UCFGs: Begin: 2025-02-20T18:09:41.890187528Z, End: 2025-02-20T18:09:42.114906521Z, Duration: 00:00:00.224
247
+ Load type hierarchy: Begin: 2025-02-20T18:09:41.890209067Z, End: 2025-02-20T18:09:41.891712734Z, Duration: 00:00:00.001
248
+ Load UCFGs: Begin: 2025-02-20T18:09:41.891838886Z, End: 2025-02-20T18:09:42.114556453Z, Duration: 00:00:00.222
249
+ Check cache: Begin: 2025-02-20T18:09:42.115013872Z, End: 2025-02-20T18:09:42.117801785Z, Duration: 00:00:00.002
250
+ Load cache: Begin: 2025-02-20T18:09:42.115033564Z, End: 2025-02-20T18:09:42.115069273Z, Duration: 00:00:00.000
251
+ Create runtime call graph: Begin: 2025-02-20T18:09:42.118052277Z, End: 2025-02-20T18:09:42.183657266Z, Duration: 00:00:00.065
252
+ Variable Type Analysis #1: Begin: 2025-02-20T18:09:42.119137972Z, End: 2025-02-20T18:09:42.164526152Z, Duration: 00:00:00.045
253
+ Create runtime type propagation graph: Begin: 2025-02-20T18:09:42.121591798Z, End: 2025-02-20T18:09:42.150583113Z, Duration: 00:00:00.028
254
+ Run SCC (Tarjan) on 882 nodes: Begin: 2025-02-20T18:09:42.151143162Z, End: 2025-02-20T18:09:42.158585964Z, Duration: 00:00:00.007
255
+ Propagate runtime types to strongly connected components: Begin: 2025-02-20T18:09:42.158901033Z, End: 2025-02-20T18:09:42.164292035Z, Duration: 00:00:00.005
256
+ Variable Type Analysis #2: Begin: 2025-02-20T18:09:42.166684171Z, End: 2025-02-20T18:09:42.182011195Z, Duration: 00:00:00.015
257
+ Create runtime type propagation graph: Begin: 2025-02-20T18:09:42.166766439Z, End: 2025-02-20T18:09:42.177683179Z, Duration: 00:00:00.010
258
+ Run SCC (Tarjan) on 882 nodes: Begin: 2025-02-20T18:09:42.177984954Z, End: 2025-02-20T18:09:42.179180033Z, Duration: 00:00:00.001
259
+ Propagate runtime types to strongly connected components: Begin: 2025-02-20T18:09:42.179374257Z, End: 2025-02-20T18:09:42.181834972Z, Duration: 00:00:00.002
260
+ Load config: Begin: 2025-02-20T18:09:42.183826340Z, End: 2025-02-20T18:09:42.262249479Z, Duration: 00:00:00.078
261
+ Compute entry points: Begin: 2025-02-20T18:09:42.262520527Z, End: 2025-02-20T18:09:42.277281560Z, Duration: 00:00:00.014
262
+ Slice call graph: Begin: 2025-02-20T18:09:42.277581349Z, End: 2025-02-20T18:09:42.277600006Z, Duration: 00:00:00.000
263
+ Live variable analysis: Begin: 2025-02-20T18:09:42.277702730Z, End: 2025-02-20T18:09:42.317458365Z, Duration: 00:00:00.039
264
+ Taint analysis for js: Begin: 2025-02-20T18:09:42.317907889Z, End: 2025-02-20T18:09:43.903076025Z, Duration: 00:00:01.585
265
+ Report issues: Begin: 2025-02-20T18:09:43.903834895Z, End: 2025-02-20T18:09:43.908783712Z, Duration: 00:00:00.004
266
+ Store cache: Begin: 2025-02-20T18:09:43.910684637Z, End: 2025-02-20T18:09:43.913560702Z, Duration: 00:00:00.002
267
+ 18:09:43.918 INFO js security sensor peak memory: 211 MB
268
+ 18:09:43.918 INFO Sensor JsSecuritySensor [security] (done) | time=2029ms
269
+ 18:09:43.934 INFO ------------- Run sensors on project
270
+ 18:09:44.193 INFO Sensor Zero Coverage Sensor
271
+ 18:09:44.193 INFO Sensor Zero Coverage Sensor (done) | time=1ms
272
+ 18:09:44.235 INFO CPD Executor 7 files had no CPD blocks
273
+ 18:09:44.236 INFO CPD Executor Calculating CPD for 20 files
274
+ 18:09:44.236 INFO CPD Executor CPD calculation finished (done) | time=20ms
275
+ 18:09:44.400 INFO Analysis report generated in 158ms, dir size=407 KB
276
+ 18:09:44.506 INFO Analysis report compressed in 106ms, zip size=144 KB
277
+ 18:09:45.218 INFO Analysis report uploaded in 713ms
278
+ 18:09:45.220 INFO ANALYSIS SUCCESSFUL, you can find the results at: https://sonarcloud.io/dashboard?id=santodigital_santoid-sdk-javascript&branch=master
279
+ 18:09:45.220 INFO Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report
280
+ 18:09:45.220 INFO More about the report processing at https://sonarcloud.io/api/ce/task?id=AZUkjSZU28NixYytveya
281
+ 18:09:46.959 INFO Sensor cache published successfully
282
+ 18:09:46.972 INFO Time spent writing ucfgs 112ms
283
+ 18:09:47.064 INFO Analysis total time: 40.563 s
284
+ 18:09:47.065 INFO SonarScanner Engine completed successfully
285
+ 18:09:48.067 INFO EXECUTION SUCCESS
286
+ 18:09:48.069 INFO Total time: 53.704s
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## Versão 5.1.0
4
+
5
+ ### Mudanças
6
+ - Ajuste na entrega dos resultados do método **startDocumentUpload** da função **uploadIdentificationDocument**, para considerar todos os status "validation" e "error", além do status "processed".
7
+ - Foram adicionadas duas propriedades ao método **startDocumentUpload** da função **uploadIdentificationDocument**, "onValidationRequested" para lidar com o status "validation" das requisições e "onClearInterval" para que o usuário possa limpar o timer configurado pela função setInterval() implementada durante a chamada ao método **startDocumentUpload** quando desejar.
8
+
3
9
  ## Versão 5.0.0
4
10
 
5
11
  ### Mudanças
package/README.md CHANGED
@@ -235,6 +235,8 @@ As propriedades disponíveis para utilização no objeto de opções estão list
235
235
  | onError | Função executada quando ocorre erro em alguma das operações. | Não |
236
236
  | onSuccess | Função executada quando as verificações são finalizadas com sucesso. <br><br>Disponibiliza pelos parâmetros o mesmo objeto fornecido pela função onUpdate, porém com todos os resultados preenchidos. | Não |
237
237
  | onEnd | Função executada quando a verificação é finalizada, seja com erro ou com sucesso. | Não |
238
+ | onValidationRequested | Função executada quando o status do processamento é "validation". Retorna informações da requisição para que o usuário consiga fazer a validação manual da requisição | Não |
239
+ | onClearInterval | Função executada após a implementação da função setInterval(), retorna a variável atribuída ao setInterval() permitindo que o usuário consiga utilizar a função clearInterval() para limpar o temporizador quando desejar | Não |
238
240
 
239
241
  <br>
240
242
 
@@ -261,6 +263,14 @@ const uploadIdentificationDocumentResponse = uploadIdentificationDocument({
261
263
  // ...
262
264
  },
263
265
 
266
+ onValidationRequested (requestInformation) {
267
+ // ..
268
+ },
269
+
270
+ onClearInterval (interval) {
271
+ // ..
272
+ },
273
+
264
274
  livenessDetectionOptions: {
265
275
  getNextFrame () {
266
276
  // ...
@@ -1,7 +1,7 @@
1
1
  import { AbstractService } from './AbstractService';
2
2
  export declare class TypificationService<TFileType> extends AbstractService {
3
3
  predict(imageFile: TFileType, customerRequestId: string): Promise<ITypificationPredict>;
4
- get(requestId: string): Promise<any>;
4
+ get(requestId: string): Promise<ITypificationGet>;
5
5
  }
6
6
  export interface ITypificationPredict {
7
7
  createdAt: string;
@@ -18,14 +18,8 @@ class TypificationService extends AbstractService_1.AbstractService {
18
18
  return await (0, index_1.retryAsyncFunctionXTimes)(requestFn);
19
19
  }
20
20
  async get(requestId) {
21
- const request = await this.request().get(`/api/v1/tracks/${this.options.track}/typification-async/` + requestId);
22
- const { data } = request;
23
- if ((data === null || data === void 0 ? void 0 : data.status) === 'processed' && data.fileURL) {
24
- const response = await fetch(data.fileURL);
25
- const results = await response.json();
26
- return results;
27
- }
28
- return null;
21
+ const response = await this.request().get(`/api/v1/tracks/${this.options.track}/typification-async/` + requestId);
22
+ return response.data;
29
23
  }
30
24
  }
31
25
  exports.TypificationService = TypificationService;
package/browser/index.js CHANGED
@@ -1 +1 @@
1
- !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("SantoiDSDK",[],e):"object"==typeof exports?exports.SantoiDSDK=e():t.SantoiDSDK=e()}(this,(()=>(()=>{var t={373:function(t,e,n){"use strict";var o=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractService=void 0;const r=o(n(218)),s=n(661);e.AbstractService=class{constructor(t,e){this.options=t,this.serviceOptions=e}request(t){var e,n,{contentType:o="application/json",authToken:i=this.options.token,baseUrl:a=(null!==(e=this.options.customApiUrl)&&void 0!==e?e:s.API_GATEWAY_URL)}=void 0===t?{}:t;const c={baseURL:a,headers:{"Content-Type":o,Authorization:`Bearer ${i}`}};let l=this.options.domain;if(!this.options.domain&&this.options.token){const t=this.serviceOptions.tryDecodeJwt(this.options.token);l=null===(n=null==t?void 0:t.claims)||void 0===n?void 0:n.domain}return c.headers&&(l&&(c.headers.Domain=l),this.options.useBillingAccounts&&(c.headers.clientCredentials=!0)),r.default.create(c)}}},605:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FaceMatchService=void 0;const o=n(373),r=n(951);class s extends o.AbstractService{async faceMatch(t,e){return await(0,r.retryAsyncFunctionXTimes)((async()=>{const n=new this.serviceOptions.FormDataClass;return n.append("track",this.options.track),n.append("firstImage",t,"firstImage.jpg"),n.append("secondImage",e,"secondImage.jpg"),(await this.request({contentType:"multipart/form-data"}).post("/api/v1/facematch/pair",n,{params:{sensitive_data_compliance:!0}})).data}))}}e.FaceMatchService=s},144:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypificationService=void 0;const o=n(373),r=n(951);class s extends o.AbstractService{async predict(t,e){return await(0,r.retryAsyncFunctionXTimes)((async()=>{const n=new this.serviceOptions.FormDataClass;return n.append("imageFile",t,"imageFile.jpg"),n.append("track",this.options.track),n.append("customerRequestId",e),n.append("deliveryFront",!0),(await this.request({contentType:"multipart/form-data"}).post("/api/v1/typification-async/predict",n)).data}))}async get(t){const e=await this.request().get(`/api/v1/tracks/${this.options.track}/typification-async/`+t),{data:n}=e;if("processed"===(null==n?void 0:n.status)&&n.fileURL){const t=await fetch(n.fileURL);return await t.json()}return null}}e.TypificationService=s},122:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.insertUploadIdentificationDocument=void 0;const o=n(661);e.insertUploadIdentificationDocument=function(t,e){var n,r,s;const i=e?document.querySelector(e):document.body;if(!i)throw new Error("Cannot find target element");const a=document.createElement("iframe");a.style.overflow="hidden",a.style.border="0",a.setAttribute("width",null!==(n=t.width)&&void 0!==n?n:"100%"),a.setAttribute("height",null!==(r=t.height)&&void 0!==r?r:"550px"),a.setAttribute("scrolling","no"),a.setAttribute("allow","camera; microphone; clipboard-read; clipboard-write");let c=`${null!==(s=t.customAppUrl)&&void 0!==s?s:o.APPLICATION_URL}/share/domains/${t.domain}/tracks/${t.track}/flow/${t.flow}/embedded`;t.token&&(c+=`?accessToken=${t.token}`),a.setAttribute("src",c),i.appendChild(a)}},42:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LivenessDetectionService=void 0;const o=n(551),r=n(620),s=n(951),i=n(661);e.LivenessDetectionService=class{constructor(t,e){this.frameGetControls={},this.currentStep="front",this.pauseSendingFramesToWebSocket=!1,this.websocketClosedBySDK=!1,this.validationSuccess=!1,this.canSendNextBytes=!0,this.endCalled=!1,this.cancelSendingFramesToWebsocket=void 0,this.successFrames={front:void 0,right:void 0,left:void 0,up:void 0,bottom:void 0},this.options=t,this.abstractWebSocket=e}async onWebSocketMessage(t){var e,n,r,i,a,c,l,u;const d=t.data,p=JSON.parse(d);return(null==p?void 0:p.validation)&&this.currentStep&&(this.successFrames[this.currentStep]=this.lastSentBytes),(null==p?void 0:p.next_step)&&!p.error&&(this.currentStep=p.next_step,await(null===(n=(e=this.options).onNextStep)||void 0===n?void 0:n.call(e,p.next_step)),await(null===(i=(r=this.options)[`on${(0,s.capitalizeFirstLetter)(p.next_step)}Step`])||void 0===i?void 0:i.call(r))),p&&(this.canSendNextBytes=!!(null==p?void 0:p.can_send_next_bytes)),(null==p?void 0:p.success)&&(this.successFrames.bottom=this.lastSentBytes,this.validationSuccess=!0,await(null===(c=(a=this.options).onSuccess)||void 0===c?void 0:c.call(a,{livenessId:p.livenessId,successFrames:this.successFrames})),await this.stopLivenessDetection()),(null==p?void 0:p.error)&&await(null===(u=(l=this.options).onError)||void 0===u?void 0:u.call(l,new o.SDKError({message:"Wrong position",code:o.ELivenessDetectionErrorCodes.WRONG_POSITION}))),p}async stopLivenessDetection(){var t,e,n,o,r;await(0,s.waitFor)((()=>!!this.cancelSendingFramesToWebsocket)),null===(t=this.cancelSendingFramesToWebsocket)||void 0===t||t.call(this),await(null===(n=(e=this.frameGetControls).stopGettingFrames)||void 0===n?void 0:n.call(e)),this.abstractWebSocket.disconnectFromWebSocket(),this.endCalled||(await(null===(r=(o=this.options).onEnd)||void 0===r?void 0:r.call(o)),this.endCalled=!0),this.websocketClosedBySDK=!0}async sendFramesToWebSocket(){var t,e;try{if(this.canSendNextBytes&&!this.pauseSendingFramesToWebSocket){const n=await(null===(e=(t=this.frameGetControls).getNextFrame)||void 0===e?void 0:e.call(t));n&&(this.abstractWebSocket.send(n),this.lastSentBytes=n,this.canSendNextBytes=!1)}}catch(t){await this.stopLivenessDetection()}}async onConnect(){var t,e,n,o,a,c,l,u,d,p;try{if(this.options.getNextFrame)this.frameGetControls.startGettingFrames=this.options.startGettingFrames,this.frameGetControls.getNextFrame=this.options.getNextFrame,this.frameGetControls.stopGettingFrames=this.options.stopGettingFrames,this.frameGetControls.videoStream=await(null===(e=(t=this.options).startGettingFrames)||void 0===e?void 0:e.call(t));else{const t=await(0,r.getDefaultFrameControls)();this.frameGetControls.startGettingFrames=t.startGettingFrames,this.frameGetControls.getNextFrame=t.getNextFrame,this.frameGetControls.stopGettingFrames=t.stopGettingFrames,this.frameGetControls.videoStream=await(null===(o=(n=this.frameGetControls).startGettingFrames)||void 0===o?void 0:o.call(n))}await(null===(c=(a=this.options).onStart)||void 0===c?void 0:c.call(a,{videoStream:this.getVideoStream()})),await(null===(u=(l=this.options).onNextStep)||void 0===u?void 0:u.call(l,"front")),await(null===(p=(d=this.options).onFrontStep)||void 0===p?void 0:p.call(d)),this.cancelSendingFramesToWebsocket=(0,s.callAsyncFunctionEveryXSeconds)((async()=>{await this.sendFramesToWebSocket()}),i.SEND_FRAMES_INTERVAL_MS)}catch(t){await this.onError()}}async onError(){var t,e;this.validationSuccess||(await(null===(e=(t=this.options).onError)||void 0===e?void 0:e.call(t,new o.SDKError({message:"Internal Error",code:o.EDefaultErrorCodes.INTERNAL_ERROR}))),await this.stopLivenessDetection())}resumeGettingFrames(){this.pauseSendingFramesToWebSocket=!1}pauseGettingFrames(){this.pauseSendingFramesToWebSocket=!0}getVideoStream(){var t;return null===(t=this.frameGetControls)||void 0===t?void 0:t.videoStream}}},234:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.livenessDetection=void 0;const o=n(42),r=n(551),s=n(706),i=n(616);e.livenessDetection=function(t){var e;try{const n=new s.AbstractWebSocket({WebSocketClass:null!==(e=t.CustomWebSocketClass)&&void 0!==e?e:WebSocket,decodeJwt:i.decodeJwt},t);n.startConnection();const r=new o.LivenessDetectionService(t,n);return n.waitForWebSocketConnection().then((()=>{r.onConnect()})).catch((()=>{r.onError()})),n.addListener("message",(t=>{r.onWebSocketMessage(t)})),n.addListener("error",(()=>{r.onError()})),n.addListener("close",(()=>{r.onError()})),{getVideoStream:()=>r.getVideoStream(),stopLivenessDetection:async()=>{await r.stopLivenessDetection()},resumeGettingFrames:()=>{r.resumeGettingFrames()},pauseGettingFrames:()=>{r.pauseGettingFrames()}}}catch(t){throw new r.SDKError({message:"Error while starting SDK",code:r.EDefaultErrorCodes.INITIALIZATION_ERROR})}}},171:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UploadIdentificationDocumentService=void 0;const o=n(144),r=n(605),s=n(551),i=n(877),a=n(616);e.UploadIdentificationDocumentService=class{constructor(t,e){this.results={uploadedDocument:null,typification:{status:null,results:null,loading:!1,error:null},liveness:{status:null,results:null,loading:!1,error:null},faceMatch:{status:null,results:null,loading:!1,error:null}},this.options=t,this.internalOptions=e,this.typificationService=new o.TypificationService(t,{FormDataClass:FormData,tryDecodeJwt:a.tryDecodeJwt}),this.faceMatchService=new r.FaceMatchService(t,{FormDataClass:FormData,tryDecodeJwt:a.tryDecodeJwt})}getResults(){return this.results}async updateResults(t){var e,n,o,r,s,i;this.results=Object.assign(Object.assign({},this.results),t),await(null===(n=(e=this.options).onUpdate)||void 0===n?void 0:n.call(e,this.results)),t.faceMatch||this.tryStartFaceMatch(),Object.entries(this.results).every((([t,e])=>"uploadedDocument"===t||!!e.results))&&(await(null===(r=(o=this.options).onSuccess)||void 0===r?void 0:r.call(o,this.results)),await(null===(i=(s=this.options).onEnd)||void 0===i?void 0:i.call(s)))}updateUploadedDocument(t){this.results.uploadedDocument=t}async waitForResults(t){return await new Promise(((e,n)=>{const o=setInterval((async()=>{try{const n=await this.typificationService.get(t);n&&(clearInterval(o),e(n))}catch(t){clearInterval(o),n(new Error(t))}}),5e3)}))}async startDocumentUpload(t){var e,n;try{this.updateResults({typification:{status:null,results:null,loading:!0,error:null}}),this.updateUploadedDocument(t);const{requestId:e}=await this.typificationService.predict(t,`sdk-typification-${(0,i.v4)()}`),n=await this.waitForResults(e);this.updateResults({typification:{status:"success",results:n,loading:!1,error:null}})}catch(t){const o=new s.SDKError({message:"Error during document upload/analysis",code:s.EUploadIdentificationDocumentErrorCodes.DOCUMENT_ANALYSIS_ERROR,details:t});await(null===(n=(e=this.options).onError)||void 0===n?void 0:n.call(e,o)),this.updateResults({typification:{status:"error",results:null,loading:!1,error:o}})}}startLivenessDetection(t){var e,n;const o=Object.assign(Object.assign({},this.options.livenessDetectionOptions),t);this.updateResults({liveness:{results:null,status:null,loading:!0,error:null}});try{return this.internalOptions.livenessDetection(Object.assign(Object.assign({domain:this.options.domain,customId:this.options.customId,customWebSocketUrl:this.options.customWebSocketUrl,token:this.options.token,track:this.options.track},o),{onSuccess:async t=>{var e;await(null===(e=null==o?void 0:o.onSuccess)||void 0===e?void 0:e.call(o,t)),this.updateResults({liveness:{status:"success",results:t,loading:!1,error:null}})},onError:async t=>{var e,n,r;await(null===(e=null==o?void 0:o.onError)||void 0===e?void 0:e.call(o,t)),await(null===(r=(n=this.options).onError)||void 0===r?void 0:r.call(n,t)),this.updateResults({liveness:{status:"error",results:null,loading:"wrong-position"===(null==t?void 0:t.code),error:null!=t?t:null}})}}))}catch(t){const o=new s.SDKError({message:"Error during liveness detection",code:s.EUploadIdentificationDocumentErrorCodes.LIVENESS_DETECTION_ERROR,details:t});null===(n=(e=this.options).onError)||void 0===n||n.call(e,o),this.updateResults({liveness:{status:"error",results:null,loading:!1,error:o}})}}async startFaceMatch(t,e){var n,o;try{this.updateResults({faceMatch:{status:null,results:null,loading:!0,error:null}});const n=await this.faceMatchService.faceMatch(t,e);this.updateResults({faceMatch:{results:n,status:"success",loading:!1,error:null}})}catch(t){const e=new s.SDKError({message:"Error when comparing the face with the document",code:s.EUploadIdentificationDocumentErrorCodes.FACE_MATCH_ERROR,details:t});await(null===(o=(n=this.options).onError)||void 0===o?void 0:o.call(n,e)),this.updateResults({faceMatch:{results:null,status:"error",loading:!1,error:e}})}}async tryStartFaceMatch(){var t,e,n;!this.results.uploadedDocument||!(null===(t=this.results.liveness.results)||void 0===t?void 0:t.successFrames.front)||this.results.faceMatch.loading||this.results.liveness.loading||this.results.typification.loading?await(null===(n=(e=this.options).onError)||void 0===n?void 0:n.call(e,new s.SDKError({message:"Unavailable faces",code:s.EUploadIdentificationDocumentErrorCodes.FACE_MATCH_UNAVAILABLE_FACES_ERROR}))):await this.startFaceMatch(this.results.uploadedDocument,this.results.liveness.results.successFrames.front)}startAll(t,e){this.startDocumentUpload(t),this.startLivenessDetection(e)}}},604:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.uploadIdentificationDocument=void 0;const o=n(171),r=n(234);e.uploadIdentificationDocument=function(t){const e=new o.UploadIdentificationDocumentService(t,{livenessDetection:r.livenessDetection});return{startDocumentUpload:async(...t)=>{await e.startDocumentUpload(...t)},startLivenessDetection:(...t)=>e.startLivenessDetection(...t),startFaceComparison:async(...t)=>{await e.tryStartFaceMatch(...t)},startAll:(...t)=>{e.startAll(...t)},getResults:(...t)=>e.getResults(...t)}}},620:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getDefaultFrameControls=void 0,e.getDefaultFrameControls=async function(){let t,e,n,o;return{startGettingFrames:async function(){return t&&e&&n||(t=await navigator.mediaDevices.getUserMedia({video:!0}),e=document.createElement("video"),e.setAttribute("autoplay","true"),e.style.transform="scale(-1, 1)",e.style.position="absolute",e.style.left="99999px",document.body.appendChild(e),e.srcObject=t,n=document.createElement("canvas"),o=n.getContext("2d")),t},getNextFrame:async function(){if(n&&e)return n.width=e.videoWidth,n.height=e.videoHeight,null==o||o.drawImage(e,0,0,n.width,n.height),await new Promise(((t,e)=>{n?n.toBlob((e=>{t(e)})):t(null)}));throw new Error("Cannot found video element")},stopGettingFrames:function(){e&&(document.body.removeChild(e),e=void 0),n&&(n=void 0),o&&(o=void 0),t&&(null==t||t.getTracks().forEach((t=>{t.stop()})),t=void 0)}}}},616:(t,e)=>{"use strict";function n(t){const e=t.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),n=decodeURIComponent(window.atob(e).split("").map((t=>"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2))).join(""));return JSON.parse(n)}Object.defineProperty(e,"__esModule",{value:!0}),e.tryDecodeJwt=e.decodeJwt=void 0,e.decodeJwt=n,e.tryDecodeJwt=function(t){try{return n(t)}catch(t){return null}}},661:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DEFAULT_RETRY_TIME_STEP=e.DEFAULT_NUMBER_OF_RETRIES=e.SEND_FRAMES_INTERVAL_MS=e.APPLICATION_URL=e.API_GATEWAY_URL=e.WEBSOCKET_BASE_URL=void 0,e.WEBSOCKET_BASE_URL="wss://santoid-liveness-w4ynos5dlq-ue.a.run.app/api/v1/liveness/ws",e.API_GATEWAY_URL="https://api.santoid.com.br",e.APPLICATION_URL="https://app.santoid.com.br",e.SEND_FRAMES_INTERVAL_MS=100,e.DEFAULT_NUMBER_OF_RETRIES=5,e.DEFAULT_RETRY_TIME_STEP=1e3},551:(t,e)=>{"use strict";var n,o,r;Object.defineProperty(e,"__esModule",{value:!0}),e.SDKError=e.EUploadIdentificationDocumentErrorCodes=e.ELivenessDetectionErrorCodes=e.EDefaultErrorCodes=void 0,function(t){t.INITIALIZATION_ERROR="initialization-error",t.INTERNAL_ERROR="internal-error"}(n||(e.EDefaultErrorCodes=n={})),function(t){t.WRONG_POSITION="liveness-detection/wrong-position"}(o||(e.ELivenessDetectionErrorCodes=o={})),function(t){t.FACE_MATCH_ERROR="upload-identification-document/face-match-error",t.FACE_MATCH_UNAVAILABLE_FACES_ERROR="upload-identification-document/face-match-unavailable-faces-error",t.DOCUMENT_ANALYSIS_ERROR="upload-identification-document/document-analysis-error",t.LIVENESS_DETECTION_ERROR="upload-identification-document/liveness-detection-error"}(r||(e.EUploadIdentificationDocumentErrorCodes=r={}));class s extends Error{constructor({message:t,code:e,details:n}){super(t),this.code=e,this.details=n}}e.SDKError=s},951:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.retryAsyncFunctionXTimes=e.callAsyncFunctionEveryXSeconds=e.waitFor=e.wait=e.capitalizeFirstLetter=void 0;const o=n(218),r=n(661);async function s(t){await new Promise((e=>{t()?e():setTimeout((()=>{s(t).then(e)}),500)}))}function i(t){var e;return t instanceof o.AxiosError&&(503===(null===(e=t.response)||void 0===e?void 0:e.status)||"Network Error"===t.message)}e.capitalizeFirstLetter=function(t){return t.charAt(0).toUpperCase()+t.slice(1)},e.wait=async t=>{await new Promise((e=>{setTimeout(e,t)}))},e.waitFor=s,e.callAsyncFunctionEveryXSeconds=function t(e,n,o={stop:!1}){const r={timerEnd:!1};return setTimeout((()=>{r.timerEnd=!0}),n),e().then((async()=>{await s((()=>r.timerEnd)),o.stop||t(e,n,o)})),function(){o.stop=!0}},e.retryAsyncFunctionXTimes=async function t(n,o=i,s=r.DEFAULT_NUMBER_OF_RETRIES,a=1e3,c=r.DEFAULT_RETRY_TIME_STEP){try{return await n()}catch(r){if(o(r)&&s>0)return await(0,e.wait)(a),await t(n,o,s-1,a+c,c);throw r}}},706:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractWebSocket=void 0;const o=n(661);e.AbstractWebSocket=class{constructor(t,e){this.classOptions=t,this.sdkOptions=e}startConnection(){var t,e;const n=this.classOptions.decodeJwt(this.sdkOptions.token),r={x_endpoint_api_userinfo:this.sdkOptions.token,domain:null!==(t=this.sdkOptions.domain)&&void 0!==t?t:n.claims.domain,track:this.sdkOptions.track};this.sdkOptions.customId&&(r.customerRequestId=this.sdkOptions.customId),this.sdkOptions.useBillingAccounts&&(r.clientCredentials=!0);const s=Object.entries(r).map((t=>t.join("="))).join("&");this.websocket=new this.classOptions.WebSocketClass(`${null!==(e=this.sdkOptions.customWebSocketUrl)&&void 0!==e?e:o.WEBSOCKET_BASE_URL}?${s}`)}async waitForWebSocketConnection(){if(await new Promise((t=>{const e=setInterval((()=>{[3,1].includes(this.websocket.readyState)&&(clearInterval(e),t())}),5)})),3===this.websocket.readyState)throw new Error("Cannot connect to server")}disconnectFromWebSocket(){var t,e;[2,3].includes(this.websocket.readyState)||null===(e=(t=this.websocket).close)||void 0===e||e.call(t)}get readyState(){return this.websocket.readyState}addListener(t,e){var n,o;this.websocket.on?this.websocket.on(t,e):null===(o=(n=this.websocket).addEventListener)||void 0===o||o.call(n,t,e)}send(t){this.websocket.send(t)}}},877:(t,e,n)=>{var o=n(570),r=n(358),s=r;s.v1=o,s.v4=r,t.exports=s},327:t=>{for(var e=[],n=0;n<256;++n)e[n]=(n+256).toString(16).substr(1);t.exports=function(t,n){var o=n||0,r=e;return[r[t[o++]],r[t[o++]],r[t[o++]],r[t[o++]],"-",r[t[o++]],r[t[o++]],"-",r[t[o++]],r[t[o++]],"-",r[t[o++]],r[t[o++]],"-",r[t[o++]],r[t[o++]],r[t[o++]],r[t[o++]],r[t[o++]],r[t[o++]]].join("")}},217:t=>{var e="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof window.msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto);if(e){var n=new Uint8Array(16);t.exports=function(){return e(n),n}}else{var o=new Array(16);t.exports=function(){for(var t,e=0;e<16;e++)0==(3&e)&&(t=4294967296*Math.random()),o[e]=t>>>((3&e)<<3)&255;return o}}},570:(t,e,n)=>{var o,r,s=n(217),i=n(327),a=0,c=0;t.exports=function(t,e,n){var l=e&&n||0,u=e||[],d=(t=t||{}).node||o,p=void 0!==t.clockseq?t.clockseq:r;if(null==d||null==p){var f=s();null==d&&(d=o=[1|f[0],f[1],f[2],f[3],f[4],f[5]]),null==p&&(p=r=16383&(f[6]<<8|f[7]))}var h=void 0!==t.msecs?t.msecs:(new Date).getTime(),m=void 0!==t.nsecs?t.nsecs:c+1,v=h-a+(m-c)/1e4;if(v<0&&void 0===t.clockseq&&(p=p+1&16383),(v<0||h>a)&&void 0===t.nsecs&&(m=0),m>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");a=h,c=m,r=p;var y=(1e4*(268435455&(h+=122192928e5))+m)%4294967296;u[l++]=y>>>24&255,u[l++]=y>>>16&255,u[l++]=y>>>8&255,u[l++]=255&y;var g=h/4294967296*1e4&268435455;u[l++]=g>>>8&255,u[l++]=255&g,u[l++]=g>>>24&15|16,u[l++]=g>>>16&255,u[l++]=p>>>8|128,u[l++]=255&p;for(var E=0;E<6;++E)u[l+E]=d[E];return e||i(u)}},358:(t,e,n)=>{var o=n(217),r=n(327);t.exports=function(t,e,n){var s=e&&n||0;"string"==typeof t&&(e="binary"===t?new Array(16):null,t=null);var i=(t=t||{}).random||(t.rng||o)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,e)for(var a=0;a<16;++a)e[s+a]=i[a];return e||r(i)}},218:(t,e,n)=>{"use strict";function o(t,e){return function(){return t.apply(e,arguments)}}const{toString:r}=Object.prototype,{getPrototypeOf:s}=Object,i=(a=Object.create(null),t=>{const e=r.call(t);return a[e]||(a[e]=e.slice(8,-1).toLowerCase())});var a;const c=t=>(t=t.toLowerCase(),e=>i(e)===t),l=t=>e=>typeof e===t,{isArray:u}=Array,d=l("undefined"),p=c("ArrayBuffer"),f=l("string"),h=l("function"),m=l("number"),v=t=>null!==t&&"object"==typeof t,y=t=>{if("object"!==i(t))return!1;const e=s(t);return!(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e)||Symbol.toStringTag in t||Symbol.iterator in t)},g=c("Date"),E=c("File"),w=c("Blob"),b=c("FileList"),S=c("URLSearchParams");function O(t,e,{allOwnKeys:n=!1}={}){if(null==t)return;let o,r;if("object"!=typeof t&&(t=[t]),u(t))for(o=0,r=t.length;o<r;o++)e.call(null,t[o],o,t);else{const r=n?Object.getOwnPropertyNames(t):Object.keys(t),s=r.length;let i;for(o=0;o<s;o++)i=r[o],e.call(null,t[i],i,t)}}function R(t,e){e=e.toLowerCase();const n=Object.keys(t);let o,r=n.length;for(;r-- >0;)if(o=n[r],e===o.toLowerCase())return o;return null}const A="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:n.g,T=t=>!d(t)&&t!==A,_=(C="undefined"!=typeof Uint8Array&&s(Uint8Array),t=>C&&t instanceof C);var C;const D=c("HTMLFormElement"),F=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),N=c("RegExp"),k=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),o={};O(n,((n,r)=>{let s;!1!==(s=e(n,r,t))&&(o[r]=s||n)})),Object.defineProperties(t,o)},j="abcdefghijklmnopqrstuvwxyz",U="0123456789",L={DIGIT:U,ALPHA:j,ALPHA_DIGIT:j+j.toUpperCase()+U},x=c("AsyncFunction");var P={isArray:u,isArrayBuffer:p,isBuffer:function(t){return null!==t&&!d(t)&&null!==t.constructor&&!d(t.constructor)&&h(t.constructor.isBuffer)&&t.constructor.isBuffer(t)},isFormData:t=>{let e;return t&&("function"==typeof FormData&&t instanceof FormData||h(t.append)&&("formdata"===(e=i(t))||"object"===e&&h(t.toString)&&"[object FormData]"===t.toString()))},isArrayBufferView:function(t){let e;return e="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&p(t.buffer),e},isString:f,isNumber:m,isBoolean:t=>!0===t||!1===t,isObject:v,isPlainObject:y,isUndefined:d,isDate:g,isFile:E,isBlob:w,isRegExp:N,isFunction:h,isStream:t=>v(t)&&h(t.pipe),isURLSearchParams:S,isTypedArray:_,isFileList:b,forEach:O,merge:function t(){const{caseless:e}=T(this)&&this||{},n={},o=(o,r)=>{const s=e&&R(n,r)||r;y(n[s])&&y(o)?n[s]=t(n[s],o):y(o)?n[s]=t({},o):u(o)?n[s]=o.slice():n[s]=o};for(let t=0,e=arguments.length;t<e;t++)arguments[t]&&O(arguments[t],o);return n},extend:(t,e,n,{allOwnKeys:r}={})=>(O(e,((e,r)=>{n&&h(e)?t[r]=o(e,n):t[r]=e}),{allOwnKeys:r}),t),trim:t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:t=>(65279===t.charCodeAt(0)&&(t=t.slice(1)),t),inherits:(t,e,n,o)=>{t.prototype=Object.create(e.prototype,o),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},toFlatObject:(t,e,n,o)=>{let r,i,a;const c={};if(e=e||{},null==t)return e;do{for(r=Object.getOwnPropertyNames(t),i=r.length;i-- >0;)a=r[i],o&&!o(a,t,e)||c[a]||(e[a]=t[a],c[a]=!0);t=!1!==n&&s(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},kindOf:i,kindOfTest:c,endsWith:(t,e,n)=>{t=String(t),(void 0===n||n>t.length)&&(n=t.length),n-=e.length;const o=t.indexOf(e,n);return-1!==o&&o===n},toArray:t=>{if(!t)return null;if(u(t))return t;let e=t.length;if(!m(e))return null;const n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},forEachEntry:(t,e)=>{const n=(t&&t[Symbol.iterator]).call(t);let o;for(;(o=n.next())&&!o.done;){const n=o.value;e.call(t,n[0],n[1])}},matchAll:(t,e)=>{let n;const o=[];for(;null!==(n=t.exec(e));)o.push(n);return o},isHTMLForm:D,hasOwnProperty:F,hasOwnProp:F,reduceDescriptors:k,freezeMethods:t=>{k(t,((e,n)=>{if(h(t)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const o=t[n];h(o)&&(e.enumerable=!1,"writable"in e?e.writable=!1:e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:(t,e)=>{const n={},o=t=>{t.forEach((t=>{n[t]=!0}))};return u(t)?o(t):o(String(t).split(e)),n},toCamelCase:t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(t,e,n){return e.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(t,e)=>(t=+t,Number.isFinite(t)?t:e),findKey:R,global:A,isContextDefined:T,ALPHABET:L,generateString:(t=16,e=L.ALPHA_DIGIT)=>{let n="";const{length:o}=e;for(;t--;)n+=e[Math.random()*o|0];return n},isSpecCompliantForm:function(t){return!!(t&&h(t.append)&&"FormData"===t[Symbol.toStringTag]&&t[Symbol.iterator])},toJSONObject:t=>{const e=new Array(10),n=(t,o)=>{if(v(t)){if(e.indexOf(t)>=0)return;if(!("toJSON"in t)){e[o]=t;const r=u(t)?[]:{};return O(t,((t,e)=>{const s=n(t,o+1);!d(s)&&(r[e]=s)})),e[o]=void 0,r}}return t};return n(t,0)},isAsyncFn:x,isThenable:t=>t&&(v(t)||h(t))&&h(t.then)&&h(t.catch)};function I(t,e,n,o,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),o&&(this.request=o),r&&(this.response=r)}P.inherits(I,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:P.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const B=I.prototype,M={};function W(t){return P.isPlainObject(t)||P.isArray(t)}function G(t){return P.endsWith(t,"[]")?t.slice(0,-2):t}function q(t,e,n){return t?t.concat(e).map((function(t,e){return t=G(t),!n&&e?"["+t+"]":t})).join(n?".":""):e}["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((t=>{M[t]={value:t}})),Object.defineProperties(I,M),Object.defineProperty(B,"isAxiosError",{value:!0}),I.from=(t,e,n,o,r,s)=>{const i=Object.create(B);return P.toFlatObject(t,i,(function(t){return t!==Error.prototype}),(t=>"isAxiosError"!==t)),I.call(i,t.message,e,n,o,r),i.cause=t,i.name=t.name,s&&Object.assign(i,s),i};const J=P.toFlatObject(P,{},null,(function(t){return/^is[A-Z]/.test(t)}));function K(t,e,n){if(!P.isObject(t))throw new TypeError("target must be an object");e=e||new FormData;const o=(n=P.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(t,e){return!P.isUndefined(e[t])}))).metaTokens,r=n.visitor||l,s=n.dots,i=n.indexes,a=(n.Blob||"undefined"!=typeof Blob&&Blob)&&P.isSpecCompliantForm(e);if(!P.isFunction(r))throw new TypeError("visitor must be a function");function c(t){if(null===t)return"";if(P.isDate(t))return t.toISOString();if(!a&&P.isBlob(t))throw new I("Blob is not supported. Use a Buffer instead.");return P.isArrayBuffer(t)||P.isTypedArray(t)?a&&"function"==typeof Blob?new Blob([t]):Buffer.from(t):t}function l(t,n,r){let a=t;if(t&&!r&&"object"==typeof t)if(P.endsWith(n,"{}"))n=o?n:n.slice(0,-2),t=JSON.stringify(t);else if(P.isArray(t)&&function(t){return P.isArray(t)&&!t.some(W)}(t)||(P.isFileList(t)||P.endsWith(n,"[]"))&&(a=P.toArray(t)))return n=G(n),a.forEach((function(t,o){!P.isUndefined(t)&&null!==t&&e.append(!0===i?q([n],o,s):null===i?n:n+"[]",c(t))})),!1;return!!W(t)||(e.append(q(r,n,s),c(t)),!1)}const u=[],d=Object.assign(J,{defaultVisitor:l,convertValue:c,isVisitable:W});if(!P.isObject(t))throw new TypeError("data must be an object");return function t(n,o){if(!P.isUndefined(n)){if(-1!==u.indexOf(n))throw Error("Circular reference detected in "+o.join("."));u.push(n),P.forEach(n,(function(n,s){!0===(!(P.isUndefined(n)||null===n)&&r.call(e,n,P.isString(s)?s.trim():s,o,d))&&t(n,o?o.concat(s):[s])})),u.pop()}}(t),e}function z(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,(function(t){return e[t]}))}function V(t,e){this._pairs=[],t&&K(t,this,e)}const H=V.prototype;function $(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function X(t,e,n){if(!e)return t;const o=n&&n.encode||$,r=n&&n.serialize;let s;if(s=r?r(e,n):P.isURLSearchParams(e)?e.toString():new V(e,n).toString(o),s){const e=t.indexOf("#");-1!==e&&(t=t.slice(0,e)),t+=(-1===t.indexOf("?")?"?":"&")+s}return t}H.append=function(t,e){this._pairs.push([t,e])},H.toString=function(t){const e=t?function(e){return t.call(this,e,z)}:z;return this._pairs.map((function(t){return e(t[0])+"="+e(t[1])}),"").join("&")};var Y=class{constructor(){this.handlers=[]}use(t,e,n){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){P.forEach(this.handlers,(function(e){null!==e&&t(e)}))}},Z={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Q={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:V,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},isStandardBrowserEnv:(()=>{let t;return("undefined"==typeof navigator||"ReactNative"!==(t=navigator.product)&&"NativeScript"!==t&&"NS"!==t)&&"undefined"!=typeof window&&"undefined"!=typeof document})(),isStandardBrowserWebWorkerEnv:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,protocols:["http","https","file","blob","url","data"]};function tt(t){function e(t,n,o,r){let s=t[r++];const i=Number.isFinite(+s),a=r>=t.length;return s=!s&&P.isArray(o)?o.length:s,a?(P.hasOwnProp(o,s)?o[s]=[o[s],n]:o[s]=n,!i):(o[s]&&P.isObject(o[s])||(o[s]=[]),e(t,n,o[s],r)&&P.isArray(o[s])&&(o[s]=function(t){const e={},n=Object.keys(t);let o;const r=n.length;let s;for(o=0;o<r;o++)s=n[o],e[s]=t[s];return e}(o[s])),!i)}if(P.isFormData(t)&&P.isFunction(t.entries)){const n={};return P.forEachEntry(t,((t,o)=>{e(function(t){return P.matchAll(/\w+|\[(\w*)]/g,t).map((t=>"[]"===t[0]?"":t[1]||t[0]))}(t),o,n,0)})),n}return null}const et={transitional:Z,adapter:["xhr","http"],transformRequest:[function(t,e){const n=e.getContentType()||"",o=n.indexOf("application/json")>-1,r=P.isObject(t);if(r&&P.isHTMLForm(t)&&(t=new FormData(t)),P.isFormData(t))return o&&o?JSON.stringify(tt(t)):t;if(P.isArrayBuffer(t)||P.isBuffer(t)||P.isStream(t)||P.isFile(t)||P.isBlob(t))return t;if(P.isArrayBufferView(t))return t.buffer;if(P.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let s;if(r){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(t,e){return K(t,new Q.classes.URLSearchParams,Object.assign({visitor:function(t,e,n,o){return Q.isNode&&P.isBuffer(t)?(this.append(e,t.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)}},e))}(t,this.formSerializer).toString();if((s=P.isFileList(t))||n.indexOf("multipart/form-data")>-1){const e=this.env&&this.env.FormData;return K(s?{"files[]":t}:t,e&&new e,this.formSerializer)}}return r||o?(e.setContentType("application/json",!1),function(t,e,n){if(P.isString(t))try{return(0,JSON.parse)(t),P.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(0,JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){const e=this.transitional||et.transitional,n=e&&e.forcedJSONParsing,o="json"===this.responseType;if(t&&P.isString(t)&&(n&&!this.responseType||o)){const n=!(e&&e.silentJSONParsing)&&o;try{return JSON.parse(t)}catch(t){if(n){if("SyntaxError"===t.name)throw I.from(t,I.ERR_BAD_RESPONSE,this,null,this.response);throw t}}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Q.classes.FormData,Blob:Q.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};P.forEach(["delete","get","head","post","put","patch"],(t=>{et.headers[t]={}}));var nt=et;const ot=P.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),rt=Symbol("internals");function st(t){return t&&String(t).trim().toLowerCase()}function it(t){return!1===t||null==t?t:P.isArray(t)?t.map(it):String(t)}function at(t,e,n,o,r){return P.isFunction(o)?o.call(this,e,n):(r&&(e=n),P.isString(e)?P.isString(o)?-1!==e.indexOf(o):P.isRegExp(o)?o.test(e):void 0:void 0)}class ct{constructor(t){t&&this.set(t)}set(t,e,n){const o=this;function r(t,e,n){const r=st(e);if(!r)throw new Error("header name must be a non-empty string");const s=P.findKey(o,r);(!s||void 0===o[s]||!0===n||void 0===n&&!1!==o[s])&&(o[s||e]=it(t))}const s=(t,e)=>P.forEach(t,((t,n)=>r(t,n,e)));return P.isPlainObject(t)||t instanceof this.constructor?s(t,e):P.isString(t)&&(t=t.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim())?s((t=>{const e={};let n,o,r;return t&&t.split("\n").forEach((function(t){r=t.indexOf(":"),n=t.substring(0,r).trim().toLowerCase(),o=t.substring(r+1).trim(),!n||e[n]&&ot[n]||("set-cookie"===n?e[n]?e[n].push(o):e[n]=[o]:e[n]=e[n]?e[n]+", "+o:o)})),e})(t),e):null!=t&&r(e,t,n),this}get(t,e){if(t=st(t)){const n=P.findKey(this,t);if(n){const t=this[n];if(!e)return t;if(!0===e)return function(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let o;for(;o=n.exec(t);)e[o[1]]=o[2];return e}(t);if(P.isFunction(e))return e.call(this,t,n);if(P.isRegExp(e))return e.exec(t);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=st(t)){const n=P.findKey(this,t);return!(!n||void 0===this[n]||e&&!at(0,this[n],n,e))}return!1}delete(t,e){const n=this;let o=!1;function r(t){if(t=st(t)){const r=P.findKey(n,t);!r||e&&!at(0,n[r],r,e)||(delete n[r],o=!0)}}return P.isArray(t)?t.forEach(r):r(t),o}clear(t){const e=Object.keys(this);let n=e.length,o=!1;for(;n--;){const r=e[n];t&&!at(0,this[r],r,t,!0)||(delete this[r],o=!0)}return o}normalize(t){const e=this,n={};return P.forEach(this,((o,r)=>{const s=P.findKey(n,r);if(s)return e[s]=it(o),void delete e[r];const i=t?function(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((t,e,n)=>e.toUpperCase()+n))}(r):String(r).trim();i!==r&&delete e[r],e[i]=it(o),n[i]=!0})),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return P.forEach(this,((n,o)=>{null!=n&&!1!==n&&(e[o]=t&&P.isArray(n)?n.join(", "):n)})),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([t,e])=>t+": "+e)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){const n=new this(t);return e.forEach((t=>n.set(t))),n}static accessor(t){const e=(this[rt]=this[rt]={accessors:{}}).accessors,n=this.prototype;function o(t){const o=st(t);e[o]||(function(t,e){const n=P.toCamelCase(" "+e);["get","set","has"].forEach((o=>{Object.defineProperty(t,o+n,{value:function(t,n,r){return this[o].call(this,e,t,n,r)},configurable:!0})}))}(n,t),e[o]=!0)}return P.isArray(t)?t.forEach(o):o(t),this}}ct.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),P.reduceDescriptors(ct.prototype,(({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(t){this[n]=t}}})),P.freezeMethods(ct);var lt=ct;function ut(t,e){const n=this||nt,o=e||n,r=lt.from(o.headers);let s=o.data;return P.forEach(t,(function(t){s=t.call(n,s,r.normalize(),e?e.status:void 0)})),r.normalize(),s}function dt(t){return!(!t||!t.__CANCEL__)}function pt(t,e,n){I.call(this,null==t?"canceled":t,I.ERR_CANCELED,e,n),this.name="CanceledError"}P.inherits(pt,I,{__CANCEL__:!0});var ft=Q.isStandardBrowserEnv?{write:function(t,e,n,o,r,s){const i=[];i.push(t+"="+encodeURIComponent(e)),P.isNumber(n)&&i.push("expires="+new Date(n).toGMTString()),P.isString(o)&&i.push("path="+o),P.isString(r)&&i.push("domain="+r),!0===s&&i.push("secure"),document.cookie=i.join("; ")},read:function(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};function ht(t,e){return t&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)?function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}(t,e):e}var mt=Q.isStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");let n;function o(n){let o=n;return t&&(e.setAttribute("href",o),o=e.href),e.setAttribute("href",o),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return n=o(window.location.href),function(t){const e=P.isString(t)?o(t):t;return e.protocol===n.protocol&&e.host===n.host}}():function(){return!0};function vt(t,e){let n=0;const o=function(t,e){t=t||10;const n=new Array(t),o=new Array(t);let r,s=0,i=0;return e=void 0!==e?e:1e3,function(a){const c=Date.now(),l=o[i];r||(r=c),n[s]=a,o[s]=c;let u=i,d=0;for(;u!==s;)d+=n[u++],u%=t;if(s=(s+1)%t,s===i&&(i=(i+1)%t),c-r<e)return;const p=l&&c-l;return p?Math.round(1e3*d/p):void 0}}(50,250);return r=>{const s=r.loaded,i=r.lengthComputable?r.total:void 0,a=s-n,c=o(a);n=s;const l={loaded:s,total:i,progress:i?s/i:void 0,bytes:a,rate:c||void 0,estimated:c&&i&&s<=i?(i-s)/c:void 0,event:r};l[e?"download":"upload"]=!0,t(l)}}const yt={http:null,xhr:"undefined"!=typeof XMLHttpRequest&&function(t){return new Promise((function(e,n){let o=t.data;const r=lt.from(t.headers).normalize(),s=t.responseType;let i,a;function c(){t.cancelToken&&t.cancelToken.unsubscribe(i),t.signal&&t.signal.removeEventListener("abort",i)}P.isFormData(o)&&(Q.isStandardBrowserEnv||Q.isStandardBrowserWebWorkerEnv?r.setContentType(!1):r.getContentType(/^\s*multipart\/form-data/)?P.isString(a=r.getContentType())&&r.setContentType(a.replace(/^\s*(multipart\/form-data);+/,"$1")):r.setContentType("multipart/form-data"));let l=new XMLHttpRequest;if(t.auth){const e=t.auth.username||"",n=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";r.set("Authorization","Basic "+btoa(e+":"+n))}const u=ht(t.baseURL,t.url);function d(){if(!l)return;const o=lt.from("getAllResponseHeaders"in l&&l.getAllResponseHeaders());!function(t,e,n){const o=n.config.validateStatus;n.status&&o&&!o(n.status)?e(new I("Request failed with status code "+n.status,[I.ERR_BAD_REQUEST,I.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):t(n)}((function(t){e(t),c()}),(function(t){n(t),c()}),{data:s&&"text"!==s&&"json"!==s?l.response:l.responseText,status:l.status,statusText:l.statusText,headers:o,config:t,request:l}),l=null}if(l.open(t.method.toUpperCase(),X(u,t.params,t.paramsSerializer),!0),l.timeout=t.timeout,"onloadend"in l?l.onloadend=d:l.onreadystatechange=function(){l&&4===l.readyState&&(0!==l.status||l.responseURL&&0===l.responseURL.indexOf("file:"))&&setTimeout(d)},l.onabort=function(){l&&(n(new I("Request aborted",I.ECONNABORTED,t,l)),l=null)},l.onerror=function(){n(new I("Network Error",I.ERR_NETWORK,t,l)),l=null},l.ontimeout=function(){let e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded";const o=t.transitional||Z;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),n(new I(e,o.clarifyTimeoutError?I.ETIMEDOUT:I.ECONNABORTED,t,l)),l=null},Q.isStandardBrowserEnv){const e=(t.withCredentials||mt(u))&&t.xsrfCookieName&&ft.read(t.xsrfCookieName);e&&r.set(t.xsrfHeaderName,e)}void 0===o&&r.setContentType(null),"setRequestHeader"in l&&P.forEach(r.toJSON(),(function(t,e){l.setRequestHeader(e,t)})),P.isUndefined(t.withCredentials)||(l.withCredentials=!!t.withCredentials),s&&"json"!==s&&(l.responseType=t.responseType),"function"==typeof t.onDownloadProgress&&l.addEventListener("progress",vt(t.onDownloadProgress,!0)),"function"==typeof t.onUploadProgress&&l.upload&&l.upload.addEventListener("progress",vt(t.onUploadProgress)),(t.cancelToken||t.signal)&&(i=e=>{l&&(n(!e||e.type?new pt(null,t,l):e),l.abort(),l=null)},t.cancelToken&&t.cancelToken.subscribe(i),t.signal&&(t.signal.aborted?i():t.signal.addEventListener("abort",i)));const p=function(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}(u);p&&-1===Q.protocols.indexOf(p)?n(new I("Unsupported protocol "+p+":",I.ERR_BAD_REQUEST,t)):l.send(o||null)}))}};P.forEach(yt,((t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch(t){}Object.defineProperty(t,"adapterName",{value:e})}}));const gt=t=>`- ${t}`,Et=t=>P.isFunction(t)||null===t||!1===t;var wt=t=>{t=P.isArray(t)?t:[t];const{length:e}=t;let n,o;const r={};for(let s=0;s<e;s++){let e;if(n=t[s],o=n,!Et(n)&&(o=yt[(e=String(n)).toLowerCase()],void 0===o))throw new I(`Unknown adapter '${e}'`);if(o)break;r[e||"#"+s]=o}if(!o){const t=Object.entries(r).map((([t,e])=>`adapter ${t} `+(!1===e?"is not supported by the environment":"is not available in the build")));throw new I("There is no suitable adapter to dispatch the request "+(e?t.length>1?"since :\n"+t.map(gt).join("\n"):" "+gt(t[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return o};function bt(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new pt(null,t)}function St(t){return bt(t),t.headers=lt.from(t.headers),t.data=ut.call(t,t.transformRequest),-1!==["post","put","patch"].indexOf(t.method)&&t.headers.setContentType("application/x-www-form-urlencoded",!1),wt(t.adapter||nt.adapter)(t).then((function(e){return bt(t),e.data=ut.call(t,t.transformResponse,e),e.headers=lt.from(e.headers),e}),(function(e){return dt(e)||(bt(t),e&&e.response&&(e.response.data=ut.call(t,t.transformResponse,e.response),e.response.headers=lt.from(e.response.headers))),Promise.reject(e)}))}const Ot=t=>t instanceof lt?t.toJSON():t;function Rt(t,e){e=e||{};const n={};function o(t,e,n){return P.isPlainObject(t)&&P.isPlainObject(e)?P.merge.call({caseless:n},t,e):P.isPlainObject(e)?P.merge({},e):P.isArray(e)?e.slice():e}function r(t,e,n){return P.isUndefined(e)?P.isUndefined(t)?void 0:o(void 0,t,n):o(t,e,n)}function s(t,e){if(!P.isUndefined(e))return o(void 0,e)}function i(t,e){return P.isUndefined(e)?P.isUndefined(t)?void 0:o(void 0,t):o(void 0,e)}function a(n,r,s){return s in e?o(n,r):s in t?o(void 0,n):void 0}const c={url:s,method:s,data:s,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:a,headers:(t,e)=>r(Ot(t),Ot(e),!0)};return P.forEach(Object.keys(Object.assign({},t,e)),(function(o){const s=c[o]||r,i=s(t[o],e[o],o);P.isUndefined(i)&&s!==a||(n[o]=i)})),n}const At={};["object","boolean","number","function","string","symbol"].forEach(((t,e)=>{At[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}}));const Tt={};At.transitional=function(t,e,n){function o(t,e){return"[Axios v1.5.1] Transitional option '"+t+"'"+e+(n?". "+n:"")}return(n,r,s)=>{if(!1===t)throw new I(o(r," has been removed"+(e?" in "+e:"")),I.ERR_DEPRECATED);return e&&!Tt[r]&&(Tt[r]=!0,console.warn(o(r," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(n,r,s)}};var _t={assertOptions:function(t,e,n){if("object"!=typeof t)throw new I("options must be an object",I.ERR_BAD_OPTION_VALUE);const o=Object.keys(t);let r=o.length;for(;r-- >0;){const s=o[r],i=e[s];if(i){const e=t[s],n=void 0===e||i(e,s,t);if(!0!==n)throw new I("option "+s+" must be "+n,I.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new I("Unknown option "+s,I.ERR_BAD_OPTION)}},validators:At};const Ct=_t.validators;class Dt{constructor(t){this.defaults=t,this.interceptors={request:new Y,response:new Y}}request(t,e){"string"==typeof t?(e=e||{}).url=t:e=t||{},e=Rt(this.defaults,e);const{transitional:n,paramsSerializer:o,headers:r}=e;void 0!==n&&_t.assertOptions(n,{silentJSONParsing:Ct.transitional(Ct.boolean),forcedJSONParsing:Ct.transitional(Ct.boolean),clarifyTimeoutError:Ct.transitional(Ct.boolean)},!1),null!=o&&(P.isFunction(o)?e.paramsSerializer={serialize:o}:_t.assertOptions(o,{encode:Ct.function,serialize:Ct.function},!0)),e.method=(e.method||this.defaults.method||"get").toLowerCase();let s=r&&P.merge(r.common,r[e.method]);r&&P.forEach(["delete","get","head","post","put","patch","common"],(t=>{delete r[t]})),e.headers=lt.concat(s,r);const i=[];let a=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(a=a&&t.synchronous,i.unshift(t.fulfilled,t.rejected))}));const c=[];let l;this.interceptors.response.forEach((function(t){c.push(t.fulfilled,t.rejected)}));let u,d=0;if(!a){const t=[St.bind(this),void 0];for(t.unshift.apply(t,i),t.push.apply(t,c),u=t.length,l=Promise.resolve(e);d<u;)l=l.then(t[d++],t[d++]);return l}u=i.length;let p=e;for(d=0;d<u;){const t=i[d++],e=i[d++];try{p=t(p)}catch(t){e.call(this,t);break}}try{l=St.call(this,p)}catch(t){return Promise.reject(t)}for(d=0,u=c.length;d<u;)l=l.then(c[d++],c[d++]);return l}getUri(t){return X(ht((t=Rt(this.defaults,t)).baseURL,t.url),t.params,t.paramsSerializer)}}P.forEach(["delete","get","head","options"],(function(t){Dt.prototype[t]=function(e,n){return this.request(Rt(n||{},{method:t,url:e,data:(n||{}).data}))}})),P.forEach(["post","put","patch"],(function(t){function e(e){return function(n,o,r){return this.request(Rt(r||{},{method:t,headers:e?{"Content-Type":"multipart/form-data"}:{},url:n,data:o}))}}Dt.prototype[t]=e(),Dt.prototype[t+"Form"]=e(!0)}));var Ft=Dt;class Nt{constructor(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");let e;this.promise=new Promise((function(t){e=t}));const n=this;this.promise.then((t=>{if(!n._listeners)return;let e=n._listeners.length;for(;e-- >0;)n._listeners[e](t);n._listeners=null})),this.promise.then=t=>{let e;const o=new Promise((t=>{n.subscribe(t),e=t})).then(t);return o.cancel=function(){n.unsubscribe(e)},o},t((function(t,o,r){n.reason||(n.reason=new pt(t,o,r),e(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}static source(){let t;return{token:new Nt((function(e){t=e})),cancel:t}}}var kt=Nt;const jt={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(jt).forEach((([t,e])=>{jt[e]=t}));var Ut=jt;const Lt=function t(e){const n=new Ft(e),r=o(Ft.prototype.request,n);return P.extend(r,Ft.prototype,n,{allOwnKeys:!0}),P.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return t(Rt(e,n))},r}(nt);Lt.Axios=Ft,Lt.CanceledError=pt,Lt.CancelToken=kt,Lt.isCancel=dt,Lt.VERSION="1.5.1",Lt.toFormData=K,Lt.AxiosError=I,Lt.Cancel=Lt.CanceledError,Lt.all=function(t){return Promise.all(t)},Lt.spread=function(t){return function(e){return t.apply(null,e)}},Lt.isAxiosError=function(t){return P.isObject(t)&&!0===t.isAxiosError},Lt.mergeConfig=Rt,Lt.AxiosHeaders=lt,Lt.formToJSON=t=>tt(P.isHTMLForm(t)?new FormData(t):t),Lt.getAdapter=wt,Lt.HttpStatusCode=Ut,Lt.default=Lt,t.exports=Lt}},e={};function n(o){var r=e[o];if(void 0!==r)return r.exports;var s=e[o]={exports:{}};return t[o].call(s.exports,s,s.exports,n),s.exports}n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}();var o={};return(()=>{"use strict";var t=o;const e=n(234),r=n(604),s=n(122);class i{}i.livenessDetection=e.livenessDetection,i.uploadIdentificationDocument=r.uploadIdentificationDocument,i.insertUploadIdentificationDocument=s.insertUploadIdentificationDocument,t.default=i})(),o.default})()));
1
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("SantoiDSDK",[],e):"object"==typeof exports?exports.SantoiDSDK=e():t.SantoiDSDK=e()}(this,(()=>(()=>{var t={373:function(t,e,n){"use strict";var o=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractService=void 0;const r=o(n(218)),s=n(661);e.AbstractService=class{constructor(t,e){this.options=t,this.serviceOptions=e}request(t){var e,n,{contentType:o="application/json",authToken:i=this.options.token,baseUrl:a=(null!==(e=this.options.customApiUrl)&&void 0!==e?e:s.API_GATEWAY_URL)}=void 0===t?{}:t;const c={baseURL:a,headers:{"Content-Type":o,Authorization:`Bearer ${i}`}};let l=this.options.domain;if(!this.options.domain&&this.options.token){const t=this.serviceOptions.tryDecodeJwt(this.options.token);l=null===(n=null==t?void 0:t.claims)||void 0===n?void 0:n.domain}return c.headers&&(l&&(c.headers.Domain=l),this.options.useBillingAccounts&&(c.headers.clientCredentials=!0)),r.default.create(c)}}},605:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FaceMatchService=void 0;const o=n(373),r=n(951);class s extends o.AbstractService{async faceMatch(t,e){return await(0,r.retryAsyncFunctionXTimes)((async()=>{const n=new this.serviceOptions.FormDataClass;return n.append("track",this.options.track),n.append("firstImage",t,"firstImage.jpg"),n.append("secondImage",e,"secondImage.jpg"),(await this.request({contentType:"multipart/form-data"}).post("/api/v1/facematch/pair",n,{params:{sensitive_data_compliance:!0}})).data}))}}e.FaceMatchService=s},144:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypificationService=void 0;const o=n(373),r=n(951);class s extends o.AbstractService{async predict(t,e){return await(0,r.retryAsyncFunctionXTimes)((async()=>{const n=new this.serviceOptions.FormDataClass;return n.append("imageFile",t,"imageFile.jpg"),n.append("track",this.options.track),n.append("customerRequestId",e),n.append("deliveryFront",!0),(await this.request({contentType:"multipart/form-data"}).post("/api/v1/typification-async/predict",n)).data}))}async get(t){return(await this.request().get(`/api/v1/tracks/${this.options.track}/typification-async/`+t)).data}}e.TypificationService=s},122:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.insertUploadIdentificationDocument=void 0;const o=n(661);e.insertUploadIdentificationDocument=function(t,e){var n,r,s;const i=e?document.querySelector(e):document.body;if(!i)throw new Error("Cannot find target element");const a=document.createElement("iframe");a.style.overflow="hidden",a.style.border="0",a.setAttribute("width",null!==(n=t.width)&&void 0!==n?n:"100%"),a.setAttribute("height",null!==(r=t.height)&&void 0!==r?r:"550px"),a.setAttribute("scrolling","no"),a.setAttribute("allow","camera; microphone; clipboard-read; clipboard-write");let c=`${null!==(s=t.customAppUrl)&&void 0!==s?s:o.APPLICATION_URL}/share/domains/${t.domain}/tracks/${t.track}/flow/${t.flow}/embedded`;t.token&&(c+=`?accessToken=${t.token}`),a.setAttribute("src",c),i.appendChild(a)}},42:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LivenessDetectionService=void 0;const o=n(551),r=n(620),s=n(951),i=n(661);e.LivenessDetectionService=class{constructor(t,e){this.frameGetControls={},this.currentStep="front",this.pauseSendingFramesToWebSocket=!1,this.websocketClosedBySDK=!1,this.validationSuccess=!1,this.canSendNextBytes=!0,this.endCalled=!1,this.cancelSendingFramesToWebsocket=void 0,this.successFrames={front:void 0,right:void 0,left:void 0,up:void 0,bottom:void 0},this.options=t,this.abstractWebSocket=e}async onWebSocketMessage(t){var e,n,r,i,a,c,l,u;const d=t.data,p=JSON.parse(d);return(null==p?void 0:p.validation)&&this.currentStep&&(this.successFrames[this.currentStep]=this.lastSentBytes),(null==p?void 0:p.next_step)&&!p.error&&(this.currentStep=p.next_step,await(null===(n=(e=this.options).onNextStep)||void 0===n?void 0:n.call(e,p.next_step)),await(null===(i=(r=this.options)[`on${(0,s.capitalizeFirstLetter)(p.next_step)}Step`])||void 0===i?void 0:i.call(r))),p&&(this.canSendNextBytes=!!(null==p?void 0:p.can_send_next_bytes)),(null==p?void 0:p.success)&&(this.successFrames.bottom=this.lastSentBytes,this.validationSuccess=!0,await(null===(c=(a=this.options).onSuccess)||void 0===c?void 0:c.call(a,{livenessId:p.livenessId,successFrames:this.successFrames})),await this.stopLivenessDetection()),(null==p?void 0:p.error)&&await(null===(u=(l=this.options).onError)||void 0===u?void 0:u.call(l,new o.SDKError({message:"Wrong position",code:o.ELivenessDetectionErrorCodes.WRONG_POSITION}))),p}async stopLivenessDetection(){var t,e,n,o,r;await(0,s.waitFor)((()=>!!this.cancelSendingFramesToWebsocket)),null===(t=this.cancelSendingFramesToWebsocket)||void 0===t||t.call(this),await(null===(n=(e=this.frameGetControls).stopGettingFrames)||void 0===n?void 0:n.call(e)),this.abstractWebSocket.disconnectFromWebSocket(),this.endCalled||(await(null===(r=(o=this.options).onEnd)||void 0===r?void 0:r.call(o)),this.endCalled=!0),this.websocketClosedBySDK=!0}async sendFramesToWebSocket(){var t,e;try{if(this.canSendNextBytes&&!this.pauseSendingFramesToWebSocket){const n=await(null===(e=(t=this.frameGetControls).getNextFrame)||void 0===e?void 0:e.call(t));n&&(this.abstractWebSocket.send(n),this.lastSentBytes=n,this.canSendNextBytes=!1)}}catch(t){await this.stopLivenessDetection()}}async onConnect(){var t,e,n,o,a,c,l,u,d,p;try{if(this.options.getNextFrame)this.frameGetControls.startGettingFrames=this.options.startGettingFrames,this.frameGetControls.getNextFrame=this.options.getNextFrame,this.frameGetControls.stopGettingFrames=this.options.stopGettingFrames,this.frameGetControls.videoStream=await(null===(e=(t=this.options).startGettingFrames)||void 0===e?void 0:e.call(t));else{const t=await(0,r.getDefaultFrameControls)();this.frameGetControls.startGettingFrames=t.startGettingFrames,this.frameGetControls.getNextFrame=t.getNextFrame,this.frameGetControls.stopGettingFrames=t.stopGettingFrames,this.frameGetControls.videoStream=await(null===(o=(n=this.frameGetControls).startGettingFrames)||void 0===o?void 0:o.call(n))}await(null===(c=(a=this.options).onStart)||void 0===c?void 0:c.call(a,{videoStream:this.getVideoStream()})),await(null===(u=(l=this.options).onNextStep)||void 0===u?void 0:u.call(l,"front")),await(null===(p=(d=this.options).onFrontStep)||void 0===p?void 0:p.call(d)),this.cancelSendingFramesToWebsocket=(0,s.callAsyncFunctionEveryXSeconds)((async()=>{await this.sendFramesToWebSocket()}),i.SEND_FRAMES_INTERVAL_MS)}catch(t){await this.onError()}}async onError(){var t,e;this.validationSuccess||(await(null===(e=(t=this.options).onError)||void 0===e?void 0:e.call(t,new o.SDKError({message:"Internal Error",code:o.EDefaultErrorCodes.INTERNAL_ERROR}))),await this.stopLivenessDetection())}resumeGettingFrames(){this.pauseSendingFramesToWebSocket=!1}pauseGettingFrames(){this.pauseSendingFramesToWebSocket=!0}getVideoStream(){var t;return null===(t=this.frameGetControls)||void 0===t?void 0:t.videoStream}}},234:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.livenessDetection=void 0;const o=n(42),r=n(551),s=n(706),i=n(616);e.livenessDetection=function(t){var e;try{const n=new s.AbstractWebSocket({WebSocketClass:null!==(e=t.CustomWebSocketClass)&&void 0!==e?e:WebSocket,decodeJwt:i.decodeJwt},t);n.startConnection();const r=new o.LivenessDetectionService(t,n);return n.waitForWebSocketConnection().then((()=>{r.onConnect()})).catch((()=>{r.onError()})),n.addListener("message",(t=>{r.onWebSocketMessage(t)})),n.addListener("error",(()=>{r.onError()})),n.addListener("close",(()=>{r.onError()})),{getVideoStream:()=>r.getVideoStream(),stopLivenessDetection:async()=>{await r.stopLivenessDetection()},resumeGettingFrames:()=>{r.resumeGettingFrames()},pauseGettingFrames:()=>{r.pauseGettingFrames()}}}catch(t){throw new r.SDKError({message:"Error while starting SDK",code:r.EDefaultErrorCodes.INITIALIZATION_ERROR})}}},171:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UploadIdentificationDocumentService=void 0;const o=n(144),r=n(605),s=n(551),i=n(877),a=n(616);e.UploadIdentificationDocumentService=class{constructor(t,e){this.results={uploadedDocument:null,typification:{status:null,results:null,loading:!1,error:null},liveness:{status:null,results:null,loading:!1,error:null},faceMatch:{status:null,results:null,loading:!1,error:null}},this.options=t,this.internalOptions=e,this.typificationService=new o.TypificationService(t,{FormDataClass:FormData,tryDecodeJwt:a.tryDecodeJwt}),this.faceMatchService=new r.FaceMatchService(t,{FormDataClass:FormData,tryDecodeJwt:a.tryDecodeJwt})}getResults(){return this.results}async updateResults(t){var e,n,o,r,s,i;this.results=Object.assign(Object.assign({},this.results),t),await(null===(n=(e=this.options).onUpdate)||void 0===n?void 0:n.call(e,this.results)),t.faceMatch||this.tryStartFaceMatch(),Object.entries(this.results).every((([t,e])=>"uploadedDocument"===t||!!e.results))&&(await(null===(r=(o=this.options).onSuccess)||void 0===r?void 0:r.call(o,this.results)),await(null===(i=(s=this.options).onEnd)||void 0===i?void 0:i.call(s)))}updateUploadedDocument(t){this.results.uploadedDocument=t}async waitForResults(t){let e=!1;return await new Promise(((n,o)=>{const r=setInterval((async()=>{var s,i,a,c;try{null===(i=(s=this.options).onClearInterval)||void 0===i||i.call(s,r);const l=await this.typificationService.get(t);if("validation"!==(null==l?void 0:l.status)||e){if("error"===(null==l?void 0:l.status))clearInterval(r),o(new Error("Não foi possível processar os resultados do Upload de Documentos"));else if("processed"===(null==l?void 0:l.status)&&l.fileURL){const t=await fetch(l.fileURL),e=await t.json();e&&(clearInterval(r),n(e))}}else await(null===(c=(a=this.options).onValidationRequested)||void 0===c?void 0:c.call(a,{track:this.options.track,requestId:l.id})),e=!0}catch(t){clearInterval(r),o(new Error(t))}}),5e3)}))}async startDocumentUpload(t){var e,n;try{this.updateResults({typification:{status:null,results:null,loading:!0,error:null}}),this.updateUploadedDocument(t);const{requestId:e}=await this.typificationService.predict(t,`sdk-typification-${(0,i.v4)()}`),n=await this.waitForResults(e);this.updateResults({typification:{status:"success",results:n,loading:!1,error:null}})}catch(t){const o=new s.SDKError({message:"Error during document upload/analysis",code:s.EUploadIdentificationDocumentErrorCodes.DOCUMENT_ANALYSIS_ERROR,details:t});await(null===(n=(e=this.options).onError)||void 0===n?void 0:n.call(e,o)),this.updateResults({typification:{status:"error",results:null,loading:!1,error:o}})}}startLivenessDetection(t){var e,n;const o=Object.assign(Object.assign({},this.options.livenessDetectionOptions),t);this.updateResults({liveness:{results:null,status:null,loading:!0,error:null}});try{return this.internalOptions.livenessDetection(Object.assign(Object.assign({domain:this.options.domain,customId:this.options.customId,customWebSocketUrl:this.options.customWebSocketUrl,token:this.options.token,track:this.options.track},o),{onSuccess:async t=>{var e;await(null===(e=null==o?void 0:o.onSuccess)||void 0===e?void 0:e.call(o,t)),this.updateResults({liveness:{status:"success",results:t,loading:!1,error:null}})},onError:async t=>{var e,n,r;await(null===(e=null==o?void 0:o.onError)||void 0===e?void 0:e.call(o,t)),await(null===(r=(n=this.options).onError)||void 0===r?void 0:r.call(n,t)),this.updateResults({liveness:{status:"error",results:null,loading:"wrong-position"===(null==t?void 0:t.code),error:null!=t?t:null}})}}))}catch(t){const o=new s.SDKError({message:"Error during liveness detection",code:s.EUploadIdentificationDocumentErrorCodes.LIVENESS_DETECTION_ERROR,details:t});null===(n=(e=this.options).onError)||void 0===n||n.call(e,o),this.updateResults({liveness:{status:"error",results:null,loading:!1,error:o}})}}async startFaceMatch(t,e){var n,o;try{this.updateResults({faceMatch:{status:null,results:null,loading:!0,error:null}});const n=await this.faceMatchService.faceMatch(t,e);this.updateResults({faceMatch:{results:n,status:"success",loading:!1,error:null}})}catch(t){const e=new s.SDKError({message:"Error when comparing the face with the document",code:s.EUploadIdentificationDocumentErrorCodes.FACE_MATCH_ERROR,details:t});await(null===(o=(n=this.options).onError)||void 0===o?void 0:o.call(n,e)),this.updateResults({faceMatch:{results:null,status:"error",loading:!1,error:e}})}}async tryStartFaceMatch(){var t,e,n;!this.results.uploadedDocument||!(null===(t=this.results.liveness.results)||void 0===t?void 0:t.successFrames.front)||this.results.faceMatch.loading||this.results.liveness.loading||this.results.typification.loading?await(null===(n=(e=this.options).onError)||void 0===n?void 0:n.call(e,new s.SDKError({message:"Unavailable faces",code:s.EUploadIdentificationDocumentErrorCodes.FACE_MATCH_UNAVAILABLE_FACES_ERROR}))):await this.startFaceMatch(this.results.uploadedDocument,this.results.liveness.results.successFrames.front)}startAll(t,e){this.startDocumentUpload(t),this.startLivenessDetection(e)}}},604:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.uploadIdentificationDocument=void 0;const o=n(171),r=n(234);e.uploadIdentificationDocument=function(t){const e=new o.UploadIdentificationDocumentService(t,{livenessDetection:r.livenessDetection});return{startDocumentUpload:async(...t)=>{await e.startDocumentUpload(...t)},startLivenessDetection:(...t)=>e.startLivenessDetection(...t),startFaceComparison:async(...t)=>{await e.tryStartFaceMatch(...t)},startAll:(...t)=>{e.startAll(...t)},getResults:(...t)=>e.getResults(...t)}}},620:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getDefaultFrameControls=void 0,e.getDefaultFrameControls=async function(){let t,e,n,o;return{startGettingFrames:async function(){return t&&e&&n||(t=await navigator.mediaDevices.getUserMedia({video:!0}),e=document.createElement("video"),e.setAttribute("autoplay","true"),e.style.transform="scale(-1, 1)",e.style.position="absolute",e.style.left="99999px",document.body.appendChild(e),e.srcObject=t,n=document.createElement("canvas"),o=n.getContext("2d")),t},getNextFrame:async function(){if(n&&e)return n.width=e.videoWidth,n.height=e.videoHeight,null==o||o.drawImage(e,0,0,n.width,n.height),await new Promise(((t,e)=>{n?n.toBlob((e=>{t(e)})):t(null)}));throw new Error("Cannot found video element")},stopGettingFrames:function(){e&&(document.body.removeChild(e),e=void 0),n&&(n=void 0),o&&(o=void 0),t&&(null==t||t.getTracks().forEach((t=>{t.stop()})),t=void 0)}}}},616:(t,e)=>{"use strict";function n(t){const e=t.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),n=decodeURIComponent(window.atob(e).split("").map((t=>"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2))).join(""));return JSON.parse(n)}Object.defineProperty(e,"__esModule",{value:!0}),e.tryDecodeJwt=e.decodeJwt=void 0,e.decodeJwt=n,e.tryDecodeJwt=function(t){try{return n(t)}catch(t){return null}}},661:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DEFAULT_RETRY_TIME_STEP=e.DEFAULT_NUMBER_OF_RETRIES=e.SEND_FRAMES_INTERVAL_MS=e.APPLICATION_URL=e.API_GATEWAY_URL=e.WEBSOCKET_BASE_URL=void 0,e.WEBSOCKET_BASE_URL="wss://santoid-liveness-w4ynos5dlq-ue.a.run.app/api/v1/liveness/ws",e.API_GATEWAY_URL="https://api.santoid.com.br",e.APPLICATION_URL="https://app.santoid.com.br",e.SEND_FRAMES_INTERVAL_MS=100,e.DEFAULT_NUMBER_OF_RETRIES=5,e.DEFAULT_RETRY_TIME_STEP=1e3},551:(t,e)=>{"use strict";var n,o,r;Object.defineProperty(e,"__esModule",{value:!0}),e.SDKError=e.EUploadIdentificationDocumentErrorCodes=e.ELivenessDetectionErrorCodes=e.EDefaultErrorCodes=void 0,function(t){t.INITIALIZATION_ERROR="initialization-error",t.INTERNAL_ERROR="internal-error"}(n||(e.EDefaultErrorCodes=n={})),function(t){t.WRONG_POSITION="liveness-detection/wrong-position"}(o||(e.ELivenessDetectionErrorCodes=o={})),function(t){t.FACE_MATCH_ERROR="upload-identification-document/face-match-error",t.FACE_MATCH_UNAVAILABLE_FACES_ERROR="upload-identification-document/face-match-unavailable-faces-error",t.DOCUMENT_ANALYSIS_ERROR="upload-identification-document/document-analysis-error",t.LIVENESS_DETECTION_ERROR="upload-identification-document/liveness-detection-error"}(r||(e.EUploadIdentificationDocumentErrorCodes=r={}));class s extends Error{constructor({message:t,code:e,details:n}){super(t),this.code=e,this.details=n}}e.SDKError=s},951:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.retryAsyncFunctionXTimes=e.callAsyncFunctionEveryXSeconds=e.waitFor=e.wait=e.capitalizeFirstLetter=void 0;const o=n(218),r=n(661);async function s(t){await new Promise((e=>{t()?e():setTimeout((()=>{s(t).then(e)}),500)}))}function i(t){var e;return t instanceof o.AxiosError&&(503===(null===(e=t.response)||void 0===e?void 0:e.status)||"Network Error"===t.message)}e.capitalizeFirstLetter=function(t){return t.charAt(0).toUpperCase()+t.slice(1)},e.wait=async t=>{await new Promise((e=>{setTimeout(e,t)}))},e.waitFor=s,e.callAsyncFunctionEveryXSeconds=function t(e,n,o={stop:!1}){const r={timerEnd:!1};return setTimeout((()=>{r.timerEnd=!0}),n),e().then((async()=>{await s((()=>r.timerEnd)),o.stop||t(e,n,o)})),function(){o.stop=!0}},e.retryAsyncFunctionXTimes=async function t(n,o=i,s=r.DEFAULT_NUMBER_OF_RETRIES,a=1e3,c=r.DEFAULT_RETRY_TIME_STEP){try{return await n()}catch(r){if(o(r)&&s>0)return await(0,e.wait)(a),await t(n,o,s-1,a+c,c);throw r}}},706:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractWebSocket=void 0;const o=n(661);e.AbstractWebSocket=class{constructor(t,e){this.classOptions=t,this.sdkOptions=e}startConnection(){var t,e;const n=this.classOptions.decodeJwt(this.sdkOptions.token),r={x_endpoint_api_userinfo:this.sdkOptions.token,domain:null!==(t=this.sdkOptions.domain)&&void 0!==t?t:n.claims.domain,track:this.sdkOptions.track};this.sdkOptions.customId&&(r.customerRequestId=this.sdkOptions.customId),this.sdkOptions.useBillingAccounts&&(r.clientCredentials=!0);const s=Object.entries(r).map((t=>t.join("="))).join("&");this.websocket=new this.classOptions.WebSocketClass(`${null!==(e=this.sdkOptions.customWebSocketUrl)&&void 0!==e?e:o.WEBSOCKET_BASE_URL}?${s}`)}async waitForWebSocketConnection(){if(await new Promise((t=>{const e=setInterval((()=>{[3,1].includes(this.websocket.readyState)&&(clearInterval(e),t())}),5)})),3===this.websocket.readyState)throw new Error("Cannot connect to server")}disconnectFromWebSocket(){var t,e;[2,3].includes(this.websocket.readyState)||null===(e=(t=this.websocket).close)||void 0===e||e.call(t)}get readyState(){return this.websocket.readyState}addListener(t,e){var n,o;this.websocket.on?this.websocket.on(t,e):null===(o=(n=this.websocket).addEventListener)||void 0===o||o.call(n,t,e)}send(t){this.websocket.send(t)}}},877:(t,e,n)=>{var o=n(570),r=n(358),s=r;s.v1=o,s.v4=r,t.exports=s},327:t=>{for(var e=[],n=0;n<256;++n)e[n]=(n+256).toString(16).substr(1);t.exports=function(t,n){var o=n||0,r=e;return[r[t[o++]],r[t[o++]],r[t[o++]],r[t[o++]],"-",r[t[o++]],r[t[o++]],"-",r[t[o++]],r[t[o++]],"-",r[t[o++]],r[t[o++]],"-",r[t[o++]],r[t[o++]],r[t[o++]],r[t[o++]],r[t[o++]],r[t[o++]]].join("")}},217:t=>{var e="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof window.msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto);if(e){var n=new Uint8Array(16);t.exports=function(){return e(n),n}}else{var o=new Array(16);t.exports=function(){for(var t,e=0;e<16;e++)0==(3&e)&&(t=4294967296*Math.random()),o[e]=t>>>((3&e)<<3)&255;return o}}},570:(t,e,n)=>{var o,r,s=n(217),i=n(327),a=0,c=0;t.exports=function(t,e,n){var l=e&&n||0,u=e||[],d=(t=t||{}).node||o,p=void 0!==t.clockseq?t.clockseq:r;if(null==d||null==p){var f=s();null==d&&(d=o=[1|f[0],f[1],f[2],f[3],f[4],f[5]]),null==p&&(p=r=16383&(f[6]<<8|f[7]))}var h=void 0!==t.msecs?t.msecs:(new Date).getTime(),m=void 0!==t.nsecs?t.nsecs:c+1,v=h-a+(m-c)/1e4;if(v<0&&void 0===t.clockseq&&(p=p+1&16383),(v<0||h>a)&&void 0===t.nsecs&&(m=0),m>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");a=h,c=m,r=p;var y=(1e4*(268435455&(h+=122192928e5))+m)%4294967296;u[l++]=y>>>24&255,u[l++]=y>>>16&255,u[l++]=y>>>8&255,u[l++]=255&y;var g=h/4294967296*1e4&268435455;u[l++]=g>>>8&255,u[l++]=255&g,u[l++]=g>>>24&15|16,u[l++]=g>>>16&255,u[l++]=p>>>8|128,u[l++]=255&p;for(var E=0;E<6;++E)u[l+E]=d[E];return e||i(u)}},358:(t,e,n)=>{var o=n(217),r=n(327);t.exports=function(t,e,n){var s=e&&n||0;"string"==typeof t&&(e="binary"===t?new Array(16):null,t=null);var i=(t=t||{}).random||(t.rng||o)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,e)for(var a=0;a<16;++a)e[s+a]=i[a];return e||r(i)}},218:(t,e,n)=>{"use strict";function o(t,e){return function(){return t.apply(e,arguments)}}const{toString:r}=Object.prototype,{getPrototypeOf:s}=Object,i=(a=Object.create(null),t=>{const e=r.call(t);return a[e]||(a[e]=e.slice(8,-1).toLowerCase())});var a;const c=t=>(t=t.toLowerCase(),e=>i(e)===t),l=t=>e=>typeof e===t,{isArray:u}=Array,d=l("undefined"),p=c("ArrayBuffer"),f=l("string"),h=l("function"),m=l("number"),v=t=>null!==t&&"object"==typeof t,y=t=>{if("object"!==i(t))return!1;const e=s(t);return!(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e)||Symbol.toStringTag in t||Symbol.iterator in t)},g=c("Date"),E=c("File"),w=c("Blob"),b=c("FileList"),S=c("URLSearchParams");function O(t,e,{allOwnKeys:n=!1}={}){if(null==t)return;let o,r;if("object"!=typeof t&&(t=[t]),u(t))for(o=0,r=t.length;o<r;o++)e.call(null,t[o],o,t);else{const r=n?Object.getOwnPropertyNames(t):Object.keys(t),s=r.length;let i;for(o=0;o<s;o++)i=r[o],e.call(null,t[i],i,t)}}function R(t,e){e=e.toLowerCase();const n=Object.keys(t);let o,r=n.length;for(;r-- >0;)if(o=n[r],e===o.toLowerCase())return o;return null}const A="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:n.g,T=t=>!d(t)&&t!==A,_=(C="undefined"!=typeof Uint8Array&&s(Uint8Array),t=>C&&t instanceof C);var C;const D=c("HTMLFormElement"),F=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),N=c("RegExp"),k=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),o={};O(n,((n,r)=>{let s;!1!==(s=e(n,r,t))&&(o[r]=s||n)})),Object.defineProperties(t,o)},j="abcdefghijklmnopqrstuvwxyz",U="0123456789",L={DIGIT:U,ALPHA:j,ALPHA_DIGIT:j+j.toUpperCase()+U},x=c("AsyncFunction");var I={isArray:u,isArrayBuffer:p,isBuffer:function(t){return null!==t&&!d(t)&&null!==t.constructor&&!d(t.constructor)&&h(t.constructor.isBuffer)&&t.constructor.isBuffer(t)},isFormData:t=>{let e;return t&&("function"==typeof FormData&&t instanceof FormData||h(t.append)&&("formdata"===(e=i(t))||"object"===e&&h(t.toString)&&"[object FormData]"===t.toString()))},isArrayBufferView:function(t){let e;return e="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&p(t.buffer),e},isString:f,isNumber:m,isBoolean:t=>!0===t||!1===t,isObject:v,isPlainObject:y,isUndefined:d,isDate:g,isFile:E,isBlob:w,isRegExp:N,isFunction:h,isStream:t=>v(t)&&h(t.pipe),isURLSearchParams:S,isTypedArray:_,isFileList:b,forEach:O,merge:function t(){const{caseless:e}=T(this)&&this||{},n={},o=(o,r)=>{const s=e&&R(n,r)||r;y(n[s])&&y(o)?n[s]=t(n[s],o):y(o)?n[s]=t({},o):u(o)?n[s]=o.slice():n[s]=o};for(let t=0,e=arguments.length;t<e;t++)arguments[t]&&O(arguments[t],o);return n},extend:(t,e,n,{allOwnKeys:r}={})=>(O(e,((e,r)=>{n&&h(e)?t[r]=o(e,n):t[r]=e}),{allOwnKeys:r}),t),trim:t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:t=>(65279===t.charCodeAt(0)&&(t=t.slice(1)),t),inherits:(t,e,n,o)=>{t.prototype=Object.create(e.prototype,o),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},toFlatObject:(t,e,n,o)=>{let r,i,a;const c={};if(e=e||{},null==t)return e;do{for(r=Object.getOwnPropertyNames(t),i=r.length;i-- >0;)a=r[i],o&&!o(a,t,e)||c[a]||(e[a]=t[a],c[a]=!0);t=!1!==n&&s(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},kindOf:i,kindOfTest:c,endsWith:(t,e,n)=>{t=String(t),(void 0===n||n>t.length)&&(n=t.length),n-=e.length;const o=t.indexOf(e,n);return-1!==o&&o===n},toArray:t=>{if(!t)return null;if(u(t))return t;let e=t.length;if(!m(e))return null;const n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},forEachEntry:(t,e)=>{const n=(t&&t[Symbol.iterator]).call(t);let o;for(;(o=n.next())&&!o.done;){const n=o.value;e.call(t,n[0],n[1])}},matchAll:(t,e)=>{let n;const o=[];for(;null!==(n=t.exec(e));)o.push(n);return o},isHTMLForm:D,hasOwnProperty:F,hasOwnProp:F,reduceDescriptors:k,freezeMethods:t=>{k(t,((e,n)=>{if(h(t)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const o=t[n];h(o)&&(e.enumerable=!1,"writable"in e?e.writable=!1:e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:(t,e)=>{const n={},o=t=>{t.forEach((t=>{n[t]=!0}))};return u(t)?o(t):o(String(t).split(e)),n},toCamelCase:t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(t,e,n){return e.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(t,e)=>(t=+t,Number.isFinite(t)?t:e),findKey:R,global:A,isContextDefined:T,ALPHABET:L,generateString:(t=16,e=L.ALPHA_DIGIT)=>{let n="";const{length:o}=e;for(;t--;)n+=e[Math.random()*o|0];return n},isSpecCompliantForm:function(t){return!!(t&&h(t.append)&&"FormData"===t[Symbol.toStringTag]&&t[Symbol.iterator])},toJSONObject:t=>{const e=new Array(10),n=(t,o)=>{if(v(t)){if(e.indexOf(t)>=0)return;if(!("toJSON"in t)){e[o]=t;const r=u(t)?[]:{};return O(t,((t,e)=>{const s=n(t,o+1);!d(s)&&(r[e]=s)})),e[o]=void 0,r}}return t};return n(t,0)},isAsyncFn:x,isThenable:t=>t&&(v(t)||h(t))&&h(t.then)&&h(t.catch)};function P(t,e,n,o,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),o&&(this.request=o),r&&(this.response=r)}I.inherits(P,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:I.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const B=P.prototype,M={};function W(t){return I.isPlainObject(t)||I.isArray(t)}function q(t){return I.endsWith(t,"[]")?t.slice(0,-2):t}function G(t,e,n){return t?t.concat(e).map((function(t,e){return t=q(t),!n&&e?"["+t+"]":t})).join(n?".":""):e}["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((t=>{M[t]={value:t}})),Object.defineProperties(P,M),Object.defineProperty(B,"isAxiosError",{value:!0}),P.from=(t,e,n,o,r,s)=>{const i=Object.create(B);return I.toFlatObject(t,i,(function(t){return t!==Error.prototype}),(t=>"isAxiosError"!==t)),P.call(i,t.message,e,n,o,r),i.cause=t,i.name=t.name,s&&Object.assign(i,s),i};const J=I.toFlatObject(I,{},null,(function(t){return/^is[A-Z]/.test(t)}));function K(t,e,n){if(!I.isObject(t))throw new TypeError("target must be an object");e=e||new FormData;const o=(n=I.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(t,e){return!I.isUndefined(e[t])}))).metaTokens,r=n.visitor||l,s=n.dots,i=n.indexes,a=(n.Blob||"undefined"!=typeof Blob&&Blob)&&I.isSpecCompliantForm(e);if(!I.isFunction(r))throw new TypeError("visitor must be a function");function c(t){if(null===t)return"";if(I.isDate(t))return t.toISOString();if(!a&&I.isBlob(t))throw new P("Blob is not supported. Use a Buffer instead.");return I.isArrayBuffer(t)||I.isTypedArray(t)?a&&"function"==typeof Blob?new Blob([t]):Buffer.from(t):t}function l(t,n,r){let a=t;if(t&&!r&&"object"==typeof t)if(I.endsWith(n,"{}"))n=o?n:n.slice(0,-2),t=JSON.stringify(t);else if(I.isArray(t)&&function(t){return I.isArray(t)&&!t.some(W)}(t)||(I.isFileList(t)||I.endsWith(n,"[]"))&&(a=I.toArray(t)))return n=q(n),a.forEach((function(t,o){!I.isUndefined(t)&&null!==t&&e.append(!0===i?G([n],o,s):null===i?n:n+"[]",c(t))})),!1;return!!W(t)||(e.append(G(r,n,s),c(t)),!1)}const u=[],d=Object.assign(J,{defaultVisitor:l,convertValue:c,isVisitable:W});if(!I.isObject(t))throw new TypeError("data must be an object");return function t(n,o){if(!I.isUndefined(n)){if(-1!==u.indexOf(n))throw Error("Circular reference detected in "+o.join("."));u.push(n),I.forEach(n,(function(n,s){!0===(!(I.isUndefined(n)||null===n)&&r.call(e,n,I.isString(s)?s.trim():s,o,d))&&t(n,o?o.concat(s):[s])})),u.pop()}}(t),e}function z(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,(function(t){return e[t]}))}function V(t,e){this._pairs=[],t&&K(t,this,e)}const H=V.prototype;function $(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function X(t,e,n){if(!e)return t;const o=n&&n.encode||$,r=n&&n.serialize;let s;if(s=r?r(e,n):I.isURLSearchParams(e)?e.toString():new V(e,n).toString(o),s){const e=t.indexOf("#");-1!==e&&(t=t.slice(0,e)),t+=(-1===t.indexOf("?")?"?":"&")+s}return t}H.append=function(t,e){this._pairs.push([t,e])},H.toString=function(t){const e=t?function(e){return t.call(this,e,z)}:z;return this._pairs.map((function(t){return e(t[0])+"="+e(t[1])}),"").join("&")};var Y=class{constructor(){this.handlers=[]}use(t,e,n){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){I.forEach(this.handlers,(function(e){null!==e&&t(e)}))}},Z={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Q={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:V,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},isStandardBrowserEnv:(()=>{let t;return("undefined"==typeof navigator||"ReactNative"!==(t=navigator.product)&&"NativeScript"!==t&&"NS"!==t)&&"undefined"!=typeof window&&"undefined"!=typeof document})(),isStandardBrowserWebWorkerEnv:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,protocols:["http","https","file","blob","url","data"]};function tt(t){function e(t,n,o,r){let s=t[r++];const i=Number.isFinite(+s),a=r>=t.length;return s=!s&&I.isArray(o)?o.length:s,a?(I.hasOwnProp(o,s)?o[s]=[o[s],n]:o[s]=n,!i):(o[s]&&I.isObject(o[s])||(o[s]=[]),e(t,n,o[s],r)&&I.isArray(o[s])&&(o[s]=function(t){const e={},n=Object.keys(t);let o;const r=n.length;let s;for(o=0;o<r;o++)s=n[o],e[s]=t[s];return e}(o[s])),!i)}if(I.isFormData(t)&&I.isFunction(t.entries)){const n={};return I.forEachEntry(t,((t,o)=>{e(function(t){return I.matchAll(/\w+|\[(\w*)]/g,t).map((t=>"[]"===t[0]?"":t[1]||t[0]))}(t),o,n,0)})),n}return null}const et={transitional:Z,adapter:["xhr","http"],transformRequest:[function(t,e){const n=e.getContentType()||"",o=n.indexOf("application/json")>-1,r=I.isObject(t);if(r&&I.isHTMLForm(t)&&(t=new FormData(t)),I.isFormData(t))return o&&o?JSON.stringify(tt(t)):t;if(I.isArrayBuffer(t)||I.isBuffer(t)||I.isStream(t)||I.isFile(t)||I.isBlob(t))return t;if(I.isArrayBufferView(t))return t.buffer;if(I.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let s;if(r){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(t,e){return K(t,new Q.classes.URLSearchParams,Object.assign({visitor:function(t,e,n,o){return Q.isNode&&I.isBuffer(t)?(this.append(e,t.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)}},e))}(t,this.formSerializer).toString();if((s=I.isFileList(t))||n.indexOf("multipart/form-data")>-1){const e=this.env&&this.env.FormData;return K(s?{"files[]":t}:t,e&&new e,this.formSerializer)}}return r||o?(e.setContentType("application/json",!1),function(t,e,n){if(I.isString(t))try{return(0,JSON.parse)(t),I.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(0,JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){const e=this.transitional||et.transitional,n=e&&e.forcedJSONParsing,o="json"===this.responseType;if(t&&I.isString(t)&&(n&&!this.responseType||o)){const n=!(e&&e.silentJSONParsing)&&o;try{return JSON.parse(t)}catch(t){if(n){if("SyntaxError"===t.name)throw P.from(t,P.ERR_BAD_RESPONSE,this,null,this.response);throw t}}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Q.classes.FormData,Blob:Q.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};I.forEach(["delete","get","head","post","put","patch"],(t=>{et.headers[t]={}}));var nt=et;const ot=I.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),rt=Symbol("internals");function st(t){return t&&String(t).trim().toLowerCase()}function it(t){return!1===t||null==t?t:I.isArray(t)?t.map(it):String(t)}function at(t,e,n,o,r){return I.isFunction(o)?o.call(this,e,n):(r&&(e=n),I.isString(e)?I.isString(o)?-1!==e.indexOf(o):I.isRegExp(o)?o.test(e):void 0:void 0)}class ct{constructor(t){t&&this.set(t)}set(t,e,n){const o=this;function r(t,e,n){const r=st(e);if(!r)throw new Error("header name must be a non-empty string");const s=I.findKey(o,r);(!s||void 0===o[s]||!0===n||void 0===n&&!1!==o[s])&&(o[s||e]=it(t))}const s=(t,e)=>I.forEach(t,((t,n)=>r(t,n,e)));return I.isPlainObject(t)||t instanceof this.constructor?s(t,e):I.isString(t)&&(t=t.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim())?s((t=>{const e={};let n,o,r;return t&&t.split("\n").forEach((function(t){r=t.indexOf(":"),n=t.substring(0,r).trim().toLowerCase(),o=t.substring(r+1).trim(),!n||e[n]&&ot[n]||("set-cookie"===n?e[n]?e[n].push(o):e[n]=[o]:e[n]=e[n]?e[n]+", "+o:o)})),e})(t),e):null!=t&&r(e,t,n),this}get(t,e){if(t=st(t)){const n=I.findKey(this,t);if(n){const t=this[n];if(!e)return t;if(!0===e)return function(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let o;for(;o=n.exec(t);)e[o[1]]=o[2];return e}(t);if(I.isFunction(e))return e.call(this,t,n);if(I.isRegExp(e))return e.exec(t);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=st(t)){const n=I.findKey(this,t);return!(!n||void 0===this[n]||e&&!at(0,this[n],n,e))}return!1}delete(t,e){const n=this;let o=!1;function r(t){if(t=st(t)){const r=I.findKey(n,t);!r||e&&!at(0,n[r],r,e)||(delete n[r],o=!0)}}return I.isArray(t)?t.forEach(r):r(t),o}clear(t){const e=Object.keys(this);let n=e.length,o=!1;for(;n--;){const r=e[n];t&&!at(0,this[r],r,t,!0)||(delete this[r],o=!0)}return o}normalize(t){const e=this,n={};return I.forEach(this,((o,r)=>{const s=I.findKey(n,r);if(s)return e[s]=it(o),void delete e[r];const i=t?function(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((t,e,n)=>e.toUpperCase()+n))}(r):String(r).trim();i!==r&&delete e[r],e[i]=it(o),n[i]=!0})),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return I.forEach(this,((n,o)=>{null!=n&&!1!==n&&(e[o]=t&&I.isArray(n)?n.join(", "):n)})),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([t,e])=>t+": "+e)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){const n=new this(t);return e.forEach((t=>n.set(t))),n}static accessor(t){const e=(this[rt]=this[rt]={accessors:{}}).accessors,n=this.prototype;function o(t){const o=st(t);e[o]||(function(t,e){const n=I.toCamelCase(" "+e);["get","set","has"].forEach((o=>{Object.defineProperty(t,o+n,{value:function(t,n,r){return this[o].call(this,e,t,n,r)},configurable:!0})}))}(n,t),e[o]=!0)}return I.isArray(t)?t.forEach(o):o(t),this}}ct.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),I.reduceDescriptors(ct.prototype,(({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(t){this[n]=t}}})),I.freezeMethods(ct);var lt=ct;function ut(t,e){const n=this||nt,o=e||n,r=lt.from(o.headers);let s=o.data;return I.forEach(t,(function(t){s=t.call(n,s,r.normalize(),e?e.status:void 0)})),r.normalize(),s}function dt(t){return!(!t||!t.__CANCEL__)}function pt(t,e,n){P.call(this,null==t?"canceled":t,P.ERR_CANCELED,e,n),this.name="CanceledError"}I.inherits(pt,P,{__CANCEL__:!0});var ft=Q.isStandardBrowserEnv?{write:function(t,e,n,o,r,s){const i=[];i.push(t+"="+encodeURIComponent(e)),I.isNumber(n)&&i.push("expires="+new Date(n).toGMTString()),I.isString(o)&&i.push("path="+o),I.isString(r)&&i.push("domain="+r),!0===s&&i.push("secure"),document.cookie=i.join("; ")},read:function(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};function ht(t,e){return t&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)?function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}(t,e):e}var mt=Q.isStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");let n;function o(n){let o=n;return t&&(e.setAttribute("href",o),o=e.href),e.setAttribute("href",o),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return n=o(window.location.href),function(t){const e=I.isString(t)?o(t):t;return e.protocol===n.protocol&&e.host===n.host}}():function(){return!0};function vt(t,e){let n=0;const o=function(t,e){t=t||10;const n=new Array(t),o=new Array(t);let r,s=0,i=0;return e=void 0!==e?e:1e3,function(a){const c=Date.now(),l=o[i];r||(r=c),n[s]=a,o[s]=c;let u=i,d=0;for(;u!==s;)d+=n[u++],u%=t;if(s=(s+1)%t,s===i&&(i=(i+1)%t),c-r<e)return;const p=l&&c-l;return p?Math.round(1e3*d/p):void 0}}(50,250);return r=>{const s=r.loaded,i=r.lengthComputable?r.total:void 0,a=s-n,c=o(a);n=s;const l={loaded:s,total:i,progress:i?s/i:void 0,bytes:a,rate:c||void 0,estimated:c&&i&&s<=i?(i-s)/c:void 0,event:r};l[e?"download":"upload"]=!0,t(l)}}const yt={http:null,xhr:"undefined"!=typeof XMLHttpRequest&&function(t){return new Promise((function(e,n){let o=t.data;const r=lt.from(t.headers).normalize(),s=t.responseType;let i,a;function c(){t.cancelToken&&t.cancelToken.unsubscribe(i),t.signal&&t.signal.removeEventListener("abort",i)}I.isFormData(o)&&(Q.isStandardBrowserEnv||Q.isStandardBrowserWebWorkerEnv?r.setContentType(!1):r.getContentType(/^\s*multipart\/form-data/)?I.isString(a=r.getContentType())&&r.setContentType(a.replace(/^\s*(multipart\/form-data);+/,"$1")):r.setContentType("multipart/form-data"));let l=new XMLHttpRequest;if(t.auth){const e=t.auth.username||"",n=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";r.set("Authorization","Basic "+btoa(e+":"+n))}const u=ht(t.baseURL,t.url);function d(){if(!l)return;const o=lt.from("getAllResponseHeaders"in l&&l.getAllResponseHeaders());!function(t,e,n){const o=n.config.validateStatus;n.status&&o&&!o(n.status)?e(new P("Request failed with status code "+n.status,[P.ERR_BAD_REQUEST,P.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):t(n)}((function(t){e(t),c()}),(function(t){n(t),c()}),{data:s&&"text"!==s&&"json"!==s?l.response:l.responseText,status:l.status,statusText:l.statusText,headers:o,config:t,request:l}),l=null}if(l.open(t.method.toUpperCase(),X(u,t.params,t.paramsSerializer),!0),l.timeout=t.timeout,"onloadend"in l?l.onloadend=d:l.onreadystatechange=function(){l&&4===l.readyState&&(0!==l.status||l.responseURL&&0===l.responseURL.indexOf("file:"))&&setTimeout(d)},l.onabort=function(){l&&(n(new P("Request aborted",P.ECONNABORTED,t,l)),l=null)},l.onerror=function(){n(new P("Network Error",P.ERR_NETWORK,t,l)),l=null},l.ontimeout=function(){let e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded";const o=t.transitional||Z;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),n(new P(e,o.clarifyTimeoutError?P.ETIMEDOUT:P.ECONNABORTED,t,l)),l=null},Q.isStandardBrowserEnv){const e=(t.withCredentials||mt(u))&&t.xsrfCookieName&&ft.read(t.xsrfCookieName);e&&r.set(t.xsrfHeaderName,e)}void 0===o&&r.setContentType(null),"setRequestHeader"in l&&I.forEach(r.toJSON(),(function(t,e){l.setRequestHeader(e,t)})),I.isUndefined(t.withCredentials)||(l.withCredentials=!!t.withCredentials),s&&"json"!==s&&(l.responseType=t.responseType),"function"==typeof t.onDownloadProgress&&l.addEventListener("progress",vt(t.onDownloadProgress,!0)),"function"==typeof t.onUploadProgress&&l.upload&&l.upload.addEventListener("progress",vt(t.onUploadProgress)),(t.cancelToken||t.signal)&&(i=e=>{l&&(n(!e||e.type?new pt(null,t,l):e),l.abort(),l=null)},t.cancelToken&&t.cancelToken.subscribe(i),t.signal&&(t.signal.aborted?i():t.signal.addEventListener("abort",i)));const p=function(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}(u);p&&-1===Q.protocols.indexOf(p)?n(new P("Unsupported protocol "+p+":",P.ERR_BAD_REQUEST,t)):l.send(o||null)}))}};I.forEach(yt,((t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch(t){}Object.defineProperty(t,"adapterName",{value:e})}}));const gt=t=>`- ${t}`,Et=t=>I.isFunction(t)||null===t||!1===t;var wt=t=>{t=I.isArray(t)?t:[t];const{length:e}=t;let n,o;const r={};for(let s=0;s<e;s++){let e;if(n=t[s],o=n,!Et(n)&&(o=yt[(e=String(n)).toLowerCase()],void 0===o))throw new P(`Unknown adapter '${e}'`);if(o)break;r[e||"#"+s]=o}if(!o){const t=Object.entries(r).map((([t,e])=>`adapter ${t} `+(!1===e?"is not supported by the environment":"is not available in the build")));throw new P("There is no suitable adapter to dispatch the request "+(e?t.length>1?"since :\n"+t.map(gt).join("\n"):" "+gt(t[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return o};function bt(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new pt(null,t)}function St(t){return bt(t),t.headers=lt.from(t.headers),t.data=ut.call(t,t.transformRequest),-1!==["post","put","patch"].indexOf(t.method)&&t.headers.setContentType("application/x-www-form-urlencoded",!1),wt(t.adapter||nt.adapter)(t).then((function(e){return bt(t),e.data=ut.call(t,t.transformResponse,e),e.headers=lt.from(e.headers),e}),(function(e){return dt(e)||(bt(t),e&&e.response&&(e.response.data=ut.call(t,t.transformResponse,e.response),e.response.headers=lt.from(e.response.headers))),Promise.reject(e)}))}const Ot=t=>t instanceof lt?t.toJSON():t;function Rt(t,e){e=e||{};const n={};function o(t,e,n){return I.isPlainObject(t)&&I.isPlainObject(e)?I.merge.call({caseless:n},t,e):I.isPlainObject(e)?I.merge({},e):I.isArray(e)?e.slice():e}function r(t,e,n){return I.isUndefined(e)?I.isUndefined(t)?void 0:o(void 0,t,n):o(t,e,n)}function s(t,e){if(!I.isUndefined(e))return o(void 0,e)}function i(t,e){return I.isUndefined(e)?I.isUndefined(t)?void 0:o(void 0,t):o(void 0,e)}function a(n,r,s){return s in e?o(n,r):s in t?o(void 0,n):void 0}const c={url:s,method:s,data:s,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:a,headers:(t,e)=>r(Ot(t),Ot(e),!0)};return I.forEach(Object.keys(Object.assign({},t,e)),(function(o){const s=c[o]||r,i=s(t[o],e[o],o);I.isUndefined(i)&&s!==a||(n[o]=i)})),n}const At={};["object","boolean","number","function","string","symbol"].forEach(((t,e)=>{At[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}}));const Tt={};At.transitional=function(t,e,n){function o(t,e){return"[Axios v1.5.1] Transitional option '"+t+"'"+e+(n?". "+n:"")}return(n,r,s)=>{if(!1===t)throw new P(o(r," has been removed"+(e?" in "+e:"")),P.ERR_DEPRECATED);return e&&!Tt[r]&&(Tt[r]=!0,console.warn(o(r," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(n,r,s)}};var _t={assertOptions:function(t,e,n){if("object"!=typeof t)throw new P("options must be an object",P.ERR_BAD_OPTION_VALUE);const o=Object.keys(t);let r=o.length;for(;r-- >0;){const s=o[r],i=e[s];if(i){const e=t[s],n=void 0===e||i(e,s,t);if(!0!==n)throw new P("option "+s+" must be "+n,P.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new P("Unknown option "+s,P.ERR_BAD_OPTION)}},validators:At};const Ct=_t.validators;class Dt{constructor(t){this.defaults=t,this.interceptors={request:new Y,response:new Y}}request(t,e){"string"==typeof t?(e=e||{}).url=t:e=t||{},e=Rt(this.defaults,e);const{transitional:n,paramsSerializer:o,headers:r}=e;void 0!==n&&_t.assertOptions(n,{silentJSONParsing:Ct.transitional(Ct.boolean),forcedJSONParsing:Ct.transitional(Ct.boolean),clarifyTimeoutError:Ct.transitional(Ct.boolean)},!1),null!=o&&(I.isFunction(o)?e.paramsSerializer={serialize:o}:_t.assertOptions(o,{encode:Ct.function,serialize:Ct.function},!0)),e.method=(e.method||this.defaults.method||"get").toLowerCase();let s=r&&I.merge(r.common,r[e.method]);r&&I.forEach(["delete","get","head","post","put","patch","common"],(t=>{delete r[t]})),e.headers=lt.concat(s,r);const i=[];let a=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(a=a&&t.synchronous,i.unshift(t.fulfilled,t.rejected))}));const c=[];let l;this.interceptors.response.forEach((function(t){c.push(t.fulfilled,t.rejected)}));let u,d=0;if(!a){const t=[St.bind(this),void 0];for(t.unshift.apply(t,i),t.push.apply(t,c),u=t.length,l=Promise.resolve(e);d<u;)l=l.then(t[d++],t[d++]);return l}u=i.length;let p=e;for(d=0;d<u;){const t=i[d++],e=i[d++];try{p=t(p)}catch(t){e.call(this,t);break}}try{l=St.call(this,p)}catch(t){return Promise.reject(t)}for(d=0,u=c.length;d<u;)l=l.then(c[d++],c[d++]);return l}getUri(t){return X(ht((t=Rt(this.defaults,t)).baseURL,t.url),t.params,t.paramsSerializer)}}I.forEach(["delete","get","head","options"],(function(t){Dt.prototype[t]=function(e,n){return this.request(Rt(n||{},{method:t,url:e,data:(n||{}).data}))}})),I.forEach(["post","put","patch"],(function(t){function e(e){return function(n,o,r){return this.request(Rt(r||{},{method:t,headers:e?{"Content-Type":"multipart/form-data"}:{},url:n,data:o}))}}Dt.prototype[t]=e(),Dt.prototype[t+"Form"]=e(!0)}));var Ft=Dt;class Nt{constructor(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");let e;this.promise=new Promise((function(t){e=t}));const n=this;this.promise.then((t=>{if(!n._listeners)return;let e=n._listeners.length;for(;e-- >0;)n._listeners[e](t);n._listeners=null})),this.promise.then=t=>{let e;const o=new Promise((t=>{n.subscribe(t),e=t})).then(t);return o.cancel=function(){n.unsubscribe(e)},o},t((function(t,o,r){n.reason||(n.reason=new pt(t,o,r),e(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}static source(){let t;return{token:new Nt((function(e){t=e})),cancel:t}}}var kt=Nt;const jt={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(jt).forEach((([t,e])=>{jt[e]=t}));var Ut=jt;const Lt=function t(e){const n=new Ft(e),r=o(Ft.prototype.request,n);return I.extend(r,Ft.prototype,n,{allOwnKeys:!0}),I.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return t(Rt(e,n))},r}(nt);Lt.Axios=Ft,Lt.CanceledError=pt,Lt.CancelToken=kt,Lt.isCancel=dt,Lt.VERSION="1.5.1",Lt.toFormData=K,Lt.AxiosError=P,Lt.Cancel=Lt.CanceledError,Lt.all=function(t){return Promise.all(t)},Lt.spread=function(t){return function(e){return t.apply(null,e)}},Lt.isAxiosError=function(t){return I.isObject(t)&&!0===t.isAxiosError},Lt.mergeConfig=Rt,Lt.AxiosHeaders=lt,Lt.formToJSON=t=>tt(I.isHTMLForm(t)?new FormData(t):t),Lt.getAdapter=wt,Lt.HttpStatusCode=Ut,Lt.default=Lt,t.exports=Lt}},e={};function n(o){var r=e[o];if(void 0!==r)return r.exports;var s=e[o]={exports:{}};return t[o].call(s.exports,s,s.exports,n),s.exports}n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}();var o={};return(()=>{"use strict";var t=o;const e=n(234),r=n(604),s=n(122);class i{}i.livenessDetection=e.livenessDetection,i.uploadIdentificationDocument=r.uploadIdentificationDocument,i.insertUploadIdentificationDocument=s.insertUploadIdentificationDocument,t.default=i})(),o.default})()));
@@ -52,11 +52,17 @@ export interface IServiceOptions<TFrameType, TMediaType, TFileType> extends IBas
52
52
  onSuccess?: <TFrameType, ResultsType = ILivenessResults<TFrameType>>(results?: ResultsType) => void | Promise<void>;
53
53
  onError?: (error?: SDKError) => void | Promise<void>;
54
54
  onEnd?: TCallbackFunction;
55
+ onValidationRequested?: (requestInformation: IRequestInformation) => void | Promise<void>;
56
+ onClearInterval?: (interval: ReturnType<typeof setInterval>) => void | Promise<void>;
55
57
  }
56
58
  type TLivenessDetectionReturn<TMediaType> = Omit<ReturnType<typeof livenessDetection>, 'getVideoStream'> & {
57
59
  getVideoStream?: () => TMediaType;
58
60
  };
59
61
  type TLivenessDetectionFn<TFrameType, TMediaType> = (options: ISDKOptions<TFrameType, TMediaType>) => TLivenessDetectionReturn<TMediaType>;
62
+ interface IRequestInformation {
63
+ track: string;
64
+ requestId: string;
65
+ }
60
66
  export interface IInternalServiceOptions<TFrameType, TMediaType> {
61
67
  livenessDetection: TLivenessDetectionFn<TFrameType, TMediaType>;
62
68
  }
@@ -39,13 +39,31 @@ class UploadIdentificationDocumentService {
39
39
  this.results.uploadedDocument = file;
40
40
  }
41
41
  async waitForResults(requestId) {
42
+ let validationNotified = false;
42
43
  return await new Promise((resolve, reject) => {
43
44
  const interval = setInterval(async () => {
45
+ var _a, _b, _c, _d;
44
46
  try {
45
- const typificationResults = await this.typificationService.get(requestId);
46
- if (typificationResults) {
47
+ (_b = (_a = this.options).onClearInterval) === null || _b === void 0 ? void 0 : _b.call(_a, interval);
48
+ const data = await this.typificationService.get(requestId);
49
+ if ((data === null || data === void 0 ? void 0 : data.status) === 'validation' && !validationNotified) {
50
+ await ((_d = (_c = this.options).onValidationRequested) === null || _d === void 0 ? void 0 : _d.call(_c, {
51
+ track: this.options.track,
52
+ requestId: data.id,
53
+ }));
54
+ validationNotified = true;
55
+ }
56
+ else if ((data === null || data === void 0 ? void 0 : data.status) === 'error') {
47
57
  clearInterval(interval);
48
- resolve(typificationResults);
58
+ reject(new Error('Não foi possível processar os resultados do Upload de Documentos'));
59
+ }
60
+ else if ((data === null || data === void 0 ? void 0 : data.status) === 'processed' && data.fileURL) {
61
+ const response = await fetch(data.fileURL);
62
+ const typificationResults = await response.json();
63
+ if (typificationResults) {
64
+ clearInterval(interval);
65
+ resolve(typificationResults);
66
+ }
49
67
  }
50
68
  }
51
69
  catch (error) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "santoid-sdk",
3
- "version": "5.0.0",
3
+ "version": "5.1.0",
4
4
  "description": "",
5
5
  "main": "client/index.js",
6
6
  "types": "client/index.d.ts",