aletrn commited on
Commit
575702e
1 Parent(s): e43684f

[feat] add two openapi docs builder scripts, update samgis version within docs, remove unused package.json

Browse files
docs/brief_project_presentation.md CHANGED
@@ -10,7 +10,8 @@ Check about implementation details on my [blog](https://trinca.tornidor.com/proj
10
  # Self-hosted demo
11
 
12
  You can visit my self-hosted demo [here](https://ml-trinca.tornidor.com).
13
- Since this demo uses a backend hosted on my AWS account I keep it under authentication to prevent abuses.
 
14
 
15
  # HuggingFace Space demo
16
 
 
10
  # Self-hosted demo
11
 
12
  You can visit my self-hosted demo [here](https://ml-trinca.tornidor.com).
13
+ Since this demo uses a python container backend hosted on my AWS account I keep it under authentication to prevent abuses.
14
+ [Here](https://docs.ml-trinca.tornidor.com/openapi) the OpenAPI swagger documentation.
15
 
16
  # HuggingFace Space demo
17
 
docs/conf.py CHANGED
@@ -9,9 +9,9 @@ import os
9
  import sys
10
 
11
  project = 'SamGIS'
12
- copyright = '2023, alessandro trinca tornidor'
13
  author = 'alessandro trinca tornidor'
14
- release = '1.0.0'
15
 
16
  # -- General configuration ---------------------------------------------------
17
  # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
 
9
  import sys
10
 
11
  project = 'SamGIS'
12
+ copyright = '2023-2024, alessandro trinca tornidor'
13
  author = 'alessandro trinca tornidor'
14
+ release = '1.0.2'
15
 
16
  # -- General configuration ---------------------------------------------------
17
  # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
docs/specs/openapi.yaml CHANGED
@@ -1,4 +1,4 @@
1
- openapi: 3.0.3
2
  info:
3
  title: Swagger SamGIS - OpenAPI 3.0
4
  description: |-
@@ -11,14 +11,19 @@ info:
11
  url: https://www.linkedin.com/in/trincatornidor/en
12
  license:
13
  name: MIT License
14
- version: "1.0.0"
 
15
  servers:
16
  - url: https://localhost:8000/
17
  tags:
18
- - name: samgis
19
- description: segment anything applied to gis
20
  externalDocs:
21
- url: http://segment-anything.com
 
 
 
 
22
  - name: segment-anything
23
  description: segment anything machine learning model
24
  externalDocs:
 
1
+ openapi: 3.1.0
2
  info:
3
  title: Swagger SamGIS - OpenAPI 3.0
4
  description: |-
 
11
  url: https://www.linkedin.com/in/trincatornidor/en
12
  license:
13
  name: MIT License
14
+ url: https://opensource.org/license/mit/
15
+ version: "1.0.2"
16
  servers:
17
  - url: https://localhost:8000/
18
  tags:
19
+ - name: samgis-aws
20
+ description: segment anything applied to gis (self-hosted demo)
21
  externalDocs:
22
+ url: https://ml-trinca.tornidor.com/
23
+ - name: samgis-huggingface
24
+ description: segment anything applied to gis (huggingface demo)
25
+ externalDocs:
26
+ url: https://huggingface.co/spaces/aletrn/samgis
27
  - name: segment-anything
28
  description: segment anything machine learning model
29
  externalDocs:
package.json DELETED
@@ -1,11 +0,0 @@
1
- {
2
- "devDependencies": {
3
- "@openapitools/openapi-generator-cli": "^2.7.0",
4
- "mock-to-openapi": "^1.0.9"
5
- },
6
- "pnpm": {
7
- "overrides": {
8
- "axios@>=0.8.1 <1.6.0": ">=1.6.0"
9
- }
10
- }
11
- }
 
 
 
 
 
 
 
 
 
 
 
 
pnpm-lock.yaml DELETED
@@ -1,1379 +0,0 @@
1
- lockfileVersion: '6.0'
2
-
3
- settings:
4
- autoInstallPeers: true
5
- excludeLinksFromLockfile: false
6
-
7
- overrides:
8
- axios@>=0.8.1 <1.6.0: '>=1.6.0'
9
-
10
- devDependencies:
11
- '@openapitools/openapi-generator-cli':
12
- specifier: ^2.7.0
13
- version: 2.7.0
14
- mock-to-openapi:
15
- specifier: ^1.0.9
16
- version: 1.0.9
17
-
18
- packages:
19
-
20
- /@babel/code-frame@7.23.5:
21
- resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==}
22
- engines: {node: '>=6.9.0'}
23
- dependencies:
24
- '@babel/highlight': 7.23.4
25
- chalk: 2.4.2
26
- dev: true
27
-
28
- /@babel/helper-validator-identifier@7.22.20:
29
- resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
30
- engines: {node: '>=6.9.0'}
31
- dev: true
32
-
33
- /@babel/highlight@7.23.4:
34
- resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==}
35
- engines: {node: '>=6.9.0'}
36
- dependencies:
37
- '@babel/helper-validator-identifier': 7.22.20
38
- chalk: 2.4.2
39
- js-tokens: 4.0.0
40
- dev: true
41
-
42
- /@babel/runtime@7.23.7:
43
- resolution: {integrity: sha512-w06OXVOFso7LcbzMiDGt+3X7Rh7Ho8MmgPoWU3rarH+8upf+wSU/grlGbWzQyr3DkdN6ZeuMFjpdwW0Q+HxobA==}
44
- engines: {node: '>=6.9.0'}
45
- dependencies:
46
- regenerator-runtime: 0.14.1
47
- dev: true
48
-
49
- /@lukeed/csprng@1.1.0:
50
- resolution: {integrity: sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==}
51
- engines: {node: '>=8'}
52
- dev: true
53
-
54
- /@nestjs/axios@0.1.0(@nestjs/common@9.3.11)(reflect-metadata@0.1.13)(rxjs@7.8.0):
55
- resolution: {integrity: sha512-b2TT2X6BFbnNoeteiaxCIiHaFcSbVW+S5yygYqiIq5i6H77yIU3IVuLdpQkHq8/EqOWFwMopLN8jdkUT71Am9w==}
56
- peerDependencies:
57
- '@nestjs/common': ^7.0.0 || ^8.0.0 || ^9.0.0
58
- reflect-metadata: ^0.1.12
59
- rxjs: ^6.0.0 || ^7.0.0
60
- dependencies:
61
- '@nestjs/common': 9.3.11(reflect-metadata@0.1.13)(rxjs@7.8.0)
62
- axios: 1.6.3
63
- reflect-metadata: 0.1.13
64
- rxjs: 7.8.0
65
- transitivePeerDependencies:
66
- - debug
67
- dev: true
68
-
69
- /@nestjs/common@9.3.11(reflect-metadata@0.1.13)(rxjs@7.8.0):
70
- resolution: {integrity: sha512-IFZ2G/5UKWC2Uo7tJ4SxGed2+aiA+sJyWeWsGTogKVDhq90oxVBToh+uCDeI31HNUpqYGoWmkletfty42zUd8A==}
71
- peerDependencies:
72
- cache-manager: <=5
73
- class-transformer: '*'
74
- class-validator: '*'
75
- reflect-metadata: ^0.1.12
76
- rxjs: ^7.1.0
77
- peerDependenciesMeta:
78
- cache-manager:
79
- optional: true
80
- class-transformer:
81
- optional: true
82
- class-validator:
83
- optional: true
84
- dependencies:
85
- iterare: 1.2.1
86
- reflect-metadata: 0.1.13
87
- rxjs: 7.8.0
88
- tslib: 2.5.0
89
- uid: 2.0.1
90
- dev: true
91
-
92
- /@nestjs/core@9.3.11(@nestjs/common@9.3.11)(reflect-metadata@0.1.13)(rxjs@7.8.0):
93
- resolution: {integrity: sha512-CI27a2JFd5rvvbgkalWqsiwQNhcP4EAG5BUK8usjp29wVp1kx30ghfBT8FLqIgmkRVo65A0IcEnWsxeXMntkxQ==}
94
- requiresBuild: true
95
- peerDependencies:
96
- '@nestjs/common': ^9.0.0
97
- '@nestjs/microservices': ^9.0.0
98
- '@nestjs/platform-express': ^9.0.0
99
- '@nestjs/websockets': ^9.0.0
100
- reflect-metadata: ^0.1.12
101
- rxjs: ^7.1.0
102
- peerDependenciesMeta:
103
- '@nestjs/microservices':
104
- optional: true
105
- '@nestjs/platform-express':
106
- optional: true
107
- '@nestjs/websockets':
108
- optional: true
109
- dependencies:
110
- '@nestjs/common': 9.3.11(reflect-metadata@0.1.13)(rxjs@7.8.0)
111
- '@nuxtjs/opencollective': 0.3.2
112
- fast-safe-stringify: 2.1.1
113
- iterare: 1.2.1
114
- path-to-regexp: 3.2.0
115
- reflect-metadata: 0.1.13
116
- rxjs: 7.8.0
117
- tslib: 2.5.0
118
- uid: 2.0.1
119
- transitivePeerDependencies:
120
- - encoding
121
- dev: true
122
-
123
- /@nodelib/fs.scandir@2.1.5:
124
- resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
125
- engines: {node: '>= 8'}
126
- dependencies:
127
- '@nodelib/fs.stat': 2.0.5
128
- run-parallel: 1.2.0
129
- dev: true
130
-
131
- /@nodelib/fs.stat@2.0.5:
132
- resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
133
- engines: {node: '>= 8'}
134
- dev: true
135
-
136
- /@nodelib/fs.walk@1.2.8:
137
- resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
138
- engines: {node: '>= 8'}
139
- dependencies:
140
- '@nodelib/fs.scandir': 2.1.5
141
- fastq: 1.16.0
142
- dev: true
143
-
144
- /@nuxtjs/opencollective@0.3.2:
145
- resolution: {integrity: sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==}
146
- engines: {node: '>=8.0.0', npm: '>=5.0.0'}
147
- hasBin: true
148
- dependencies:
149
- chalk: 4.1.2
150
- consola: 2.15.3
151
- node-fetch: 2.7.0
152
- transitivePeerDependencies:
153
- - encoding
154
- dev: true
155
-
156
- /@openapitools/openapi-generator-cli@2.7.0:
157
- resolution: {integrity: sha512-ieEpHTA/KsDz7ANw03lLPYyjdedDEXYEyYoGBRWdduqXWSX65CJtttjqa8ZaB1mNmIjMtchUHwAYQmTLVQ8HYg==}
158
- engines: {node: '>=10.0.0'}
159
- hasBin: true
160
- requiresBuild: true
161
- dependencies:
162
- '@nestjs/axios': 0.1.0(@nestjs/common@9.3.11)(reflect-metadata@0.1.13)(rxjs@7.8.0)
163
- '@nestjs/common': 9.3.11(reflect-metadata@0.1.13)(rxjs@7.8.0)
164
- '@nestjs/core': 9.3.11(@nestjs/common@9.3.11)(reflect-metadata@0.1.13)(rxjs@7.8.0)
165
- '@nuxtjs/opencollective': 0.3.2
166
- chalk: 4.1.2
167
- commander: 8.3.0
168
- compare-versions: 4.1.4
169
- concurrently: 6.5.1
170
- console.table: 0.10.0
171
- fs-extra: 10.1.0
172
- glob: 7.1.6
173
- inquirer: 8.2.5
174
- lodash: 4.17.21
175
- reflect-metadata: 0.1.13
176
- rxjs: 7.8.0
177
- tslib: 2.0.3
178
- transitivePeerDependencies:
179
- - '@nestjs/microservices'
180
- - '@nestjs/platform-express'
181
- - '@nestjs/websockets'
182
- - cache-manager
183
- - class-transformer
184
- - class-validator
185
- - debug
186
- - encoding
187
- dev: true
188
-
189
- /@types/minimist@1.2.5:
190
- resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==}
191
- dev: true
192
-
193
- /@types/normalize-package-data@2.4.4:
194
- resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
195
- dev: true
196
-
197
- /ansi-escapes@4.3.2:
198
- resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
199
- engines: {node: '>=8'}
200
- dependencies:
201
- type-fest: 0.21.3
202
- dev: true
203
-
204
- /ansi-regex@5.0.1:
205
- resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
206
- engines: {node: '>=8'}
207
- dev: true
208
-
209
- /ansi-styles@3.2.1:
210
- resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
211
- engines: {node: '>=4'}
212
- dependencies:
213
- color-convert: 1.9.3
214
- dev: true
215
-
216
- /ansi-styles@4.3.0:
217
- resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
218
- engines: {node: '>=8'}
219
- dependencies:
220
- color-convert: 2.0.1
221
- dev: true
222
-
223
- /arrify@1.0.1:
224
- resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==}
225
- engines: {node: '>=0.10.0'}
226
- dev: true
227
-
228
- /asynckit@0.4.0:
229
- resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
230
- dev: true
231
-
232
- /axios@1.6.3:
233
- resolution: {integrity: sha512-fWyNdeawGam70jXSVlKl+SUNVcL6j6W79CuSIPfi6HnDUmSCH6gyUys/HrqHeA/wU0Az41rRgean494d0Jb+ww==}
234
- dependencies:
235
- follow-redirects: 1.15.3
236
- form-data: 4.0.0
237
- proxy-from-env: 1.1.0
238
- transitivePeerDependencies:
239
- - debug
240
- dev: true
241
-
242
- /balanced-match@1.0.2:
243
- resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
244
- dev: true
245
-
246
- /base64-js@1.5.1:
247
- resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
248
- dev: true
249
-
250
- /bl@4.1.0:
251
- resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
252
- dependencies:
253
- buffer: 5.7.1
254
- inherits: 2.0.4
255
- readable-stream: 3.6.2
256
- dev: true
257
-
258
- /brace-expansion@1.1.11:
259
- resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
260
- dependencies:
261
- balanced-match: 1.0.2
262
- concat-map: 0.0.1
263
- dev: true
264
-
265
- /braces@3.0.2:
266
- resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
267
- engines: {node: '>=8'}
268
- dependencies:
269
- fill-range: 7.0.1
270
- dev: true
271
-
272
- /buffer@5.7.1:
273
- resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
274
- dependencies:
275
- base64-js: 1.5.1
276
- ieee754: 1.2.1
277
- dev: true
278
-
279
- /camelcase-keys@8.0.2:
280
- resolution: {integrity: sha512-qMKdlOfsjlezMqxkUGGMaWWs17i2HoL15tM+wtx8ld4nLrUwU58TFdvyGOz/piNP842KeO8yXvggVQSdQ828NA==}
281
- engines: {node: '>=14.16'}
282
- dependencies:
283
- camelcase: 7.0.1
284
- map-obj: 4.3.0
285
- quick-lru: 6.1.2
286
- type-fest: 2.19.0
287
- dev: true
288
-
289
- /camelcase@7.0.1:
290
- resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==}
291
- engines: {node: '>=14.16'}
292
- dev: true
293
-
294
- /chalk@2.4.2:
295
- resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
296
- engines: {node: '>=4'}
297
- dependencies:
298
- ansi-styles: 3.2.1
299
- escape-string-regexp: 1.0.5
300
- supports-color: 5.5.0
301
- dev: true
302
-
303
- /chalk@4.1.2:
304
- resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
305
- engines: {node: '>=10'}
306
- dependencies:
307
- ansi-styles: 4.3.0
308
- supports-color: 7.2.0
309
- dev: true
310
-
311
- /chalk@5.3.0:
312
- resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
313
- engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
314
- dev: true
315
-
316
- /chardet@0.7.0:
317
- resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
318
- dev: true
319
-
320
- /cli-cursor@3.1.0:
321
- resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
322
- engines: {node: '>=8'}
323
- dependencies:
324
- restore-cursor: 3.1.0
325
- dev: true
326
-
327
- /cli-spinners@2.9.2:
328
- resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
329
- engines: {node: '>=6'}
330
- dev: true
331
-
332
- /cli-width@3.0.0:
333
- resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==}
334
- engines: {node: '>= 10'}
335
- dev: true
336
-
337
- /cliui@7.0.4:
338
- resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
339
- dependencies:
340
- string-width: 4.2.3
341
- strip-ansi: 6.0.1
342
- wrap-ansi: 7.0.0
343
- dev: true
344
-
345
- /clone@1.0.4:
346
- resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
347
- engines: {node: '>=0.8'}
348
- requiresBuild: true
349
- dev: true
350
-
351
- /color-convert@1.9.3:
352
- resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
353
- dependencies:
354
- color-name: 1.1.3
355
- dev: true
356
-
357
- /color-convert@2.0.1:
358
- resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
359
- engines: {node: '>=7.0.0'}
360
- dependencies:
361
- color-name: 1.1.4
362
- dev: true
363
-
364
- /color-name@1.1.3:
365
- resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
366
- dev: true
367
-
368
- /color-name@1.1.4:
369
- resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
370
- dev: true
371
-
372
- /combined-stream@1.0.8:
373
- resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
374
- engines: {node: '>= 0.8'}
375
- dependencies:
376
- delayed-stream: 1.0.0
377
- dev: true
378
-
379
- /commander@8.3.0:
380
- resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
381
- engines: {node: '>= 12'}
382
- dev: true
383
-
384
- /compare-versions@4.1.4:
385
- resolution: {integrity: sha512-FemMreK9xNyL8gQevsdRMrvO4lFCkQP7qbuktn1q8ndcNk1+0mz7lgE7b/sNvbhVgY4w6tMN1FDp6aADjqw2rw==}
386
- dev: true
387
-
388
- /concat-map@0.0.1:
389
- resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
390
- dev: true
391
-
392
- /concurrently@6.5.1:
393
- resolution: {integrity: sha512-FlSwNpGjWQfRwPLXvJ/OgysbBxPkWpiVjy1042b0U7on7S7qwwMIILRj7WTN1mTgqa582bG6NFuScOoh6Zgdag==}
394
- engines: {node: '>=10.0.0'}
395
- hasBin: true
396
- dependencies:
397
- chalk: 4.1.2
398
- date-fns: 2.30.0
399
- lodash: 4.17.21
400
- rxjs: 6.6.7
401
- spawn-command: 0.0.2-1
402
- supports-color: 8.1.1
403
- tree-kill: 1.2.2
404
- yargs: 16.2.0
405
- dev: true
406
-
407
- /consola@2.15.3:
408
- resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==}
409
- dev: true
410
-
411
- /console.table@0.10.0:
412
- resolution: {integrity: sha512-dPyZofqggxuvSf7WXvNjuRfnsOk1YazkVP8FdxH4tcH2c37wc79/Yl6Bhr7Lsu00KMgy2ql/qCMuNu8xctZM8g==}
413
- engines: {node: '> 0.10'}
414
- dependencies:
415
- easy-table: 1.1.0
416
- dev: true
417
-
418
- /date-fns@2.30.0:
419
- resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==}
420
- engines: {node: '>=0.11'}
421
- dependencies:
422
- '@babel/runtime': 7.23.7
423
- dev: true
424
-
425
- /decamelize-keys@1.1.1:
426
- resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==}
427
- engines: {node: '>=0.10.0'}
428
- dependencies:
429
- decamelize: 1.2.0
430
- map-obj: 1.0.1
431
- dev: true
432
-
433
- /decamelize@1.2.0:
434
- resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
435
- engines: {node: '>=0.10.0'}
436
- dev: true
437
-
438
- /decamelize@6.0.0:
439
- resolution: {integrity: sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==}
440
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
441
- dev: true
442
-
443
- /defaults@1.0.4:
444
- resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
445
- requiresBuild: true
446
- dependencies:
447
- clone: 1.0.4
448
- dev: true
449
-
450
- /delayed-stream@1.0.0:
451
- resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
452
- engines: {node: '>=0.4.0'}
453
- dev: true
454
-
455
- /dir-glob@3.0.1:
456
- resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
457
- engines: {node: '>=8'}
458
- dependencies:
459
- path-type: 4.0.0
460
- dev: true
461
-
462
- /easy-table@1.1.0:
463
- resolution: {integrity: sha512-oq33hWOSSnl2Hoh00tZWaIPi1ievrD9aFG82/IgjlycAnW9hHx5PkJiXpxPsgEE+H7BsbVQXFVFST8TEXS6/pA==}
464
- optionalDependencies:
465
- wcwidth: 1.0.1
466
- dev: true
467
-
468
- /emoji-regex@8.0.0:
469
- resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
470
- dev: true
471
-
472
- /error-ex@1.3.2:
473
- resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
474
- dependencies:
475
- is-arrayish: 0.2.1
476
- dev: true
477
-
478
- /escalade@3.1.1:
479
- resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
480
- engines: {node: '>=6'}
481
- dev: true
482
-
483
- /escape-string-regexp@1.0.5:
484
- resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
485
- engines: {node: '>=0.8.0'}
486
- dev: true
487
-
488
- /external-editor@3.1.0:
489
- resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==}
490
- engines: {node: '>=4'}
491
- dependencies:
492
- chardet: 0.7.0
493
- iconv-lite: 0.4.24
494
- tmp: 0.0.33
495
- dev: true
496
-
497
- /fast-glob@3.3.2:
498
- resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
499
- engines: {node: '>=8.6.0'}
500
- dependencies:
501
- '@nodelib/fs.stat': 2.0.5
502
- '@nodelib/fs.walk': 1.2.8
503
- glob-parent: 5.1.2
504
- merge2: 1.4.1
505
- micromatch: 4.0.5
506
- dev: true
507
-
508
- /fast-safe-stringify@2.1.1:
509
- resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==}
510
- dev: true
511
-
512
- /fastq@1.16.0:
513
- resolution: {integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==}
514
- dependencies:
515
- reusify: 1.0.4
516
- dev: true
517
-
518
- /figures@3.2.0:
519
- resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
520
- engines: {node: '>=8'}
521
- dependencies:
522
- escape-string-regexp: 1.0.5
523
- dev: true
524
-
525
- /fill-range@7.0.1:
526
- resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
527
- engines: {node: '>=8'}
528
- dependencies:
529
- to-regex-range: 5.0.1
530
- dev: true
531
-
532
- /find-up@6.3.0:
533
- resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==}
534
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
535
- dependencies:
536
- locate-path: 7.2.0
537
- path-exists: 5.0.0
538
- dev: true
539
-
540
- /follow-redirects@1.15.3:
541
- resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==}
542
- engines: {node: '>=4.0'}
543
- peerDependencies:
544
- debug: '*'
545
- peerDependenciesMeta:
546
- debug:
547
- optional: true
548
- dev: true
549
-
550
- /form-data@4.0.0:
551
- resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
552
- engines: {node: '>= 6'}
553
- dependencies:
554
- asynckit: 0.4.0
555
- combined-stream: 1.0.8
556
- mime-types: 2.1.35
557
- dev: true
558
-
559
- /fs-extra@10.1.0:
560
- resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
561
- engines: {node: '>=12'}
562
- dependencies:
563
- graceful-fs: 4.2.11
564
- jsonfile: 6.1.0
565
- universalify: 2.0.1
566
- dev: true
567
-
568
- /fs.realpath@1.0.0:
569
- resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
570
- dev: true
571
-
572
- /function-bind@1.1.2:
573
- resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
574
- dev: true
575
-
576
- /get-caller-file@2.0.5:
577
- resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
578
- engines: {node: 6.* || 8.* || >= 10.*}
579
- dev: true
580
-
581
- /glob-parent@5.1.2:
582
- resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
583
- engines: {node: '>= 6'}
584
- dependencies:
585
- is-glob: 4.0.3
586
- dev: true
587
-
588
- /glob@7.1.6:
589
- resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==}
590
- dependencies:
591
- fs.realpath: 1.0.0
592
- inflight: 1.0.6
593
- inherits: 2.0.4
594
- minimatch: 3.1.2
595
- once: 1.4.0
596
- path-is-absolute: 1.0.1
597
- dev: true
598
-
599
- /globby@13.2.2:
600
- resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==}
601
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
602
- dependencies:
603
- dir-glob: 3.0.1
604
- fast-glob: 3.3.2
605
- ignore: 5.3.0
606
- merge2: 1.4.1
607
- slash: 4.0.0
608
- dev: true
609
-
610
- /graceful-fs@4.2.11:
611
- resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
612
- dev: true
613
-
614
- /hard-rejection@2.1.0:
615
- resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==}
616
- engines: {node: '>=6'}
617
- dev: true
618
-
619
- /has-flag@3.0.0:
620
- resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
621
- engines: {node: '>=4'}
622
- dev: true
623
-
624
- /has-flag@4.0.0:
625
- resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
626
- engines: {node: '>=8'}
627
- dev: true
628
-
629
- /hasown@2.0.0:
630
- resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==}
631
- engines: {node: '>= 0.4'}
632
- dependencies:
633
- function-bind: 1.1.2
634
- dev: true
635
-
636
- /hosted-git-info@4.1.0:
637
- resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==}
638
- engines: {node: '>=10'}
639
- dependencies:
640
- lru-cache: 6.0.0
641
- dev: true
642
-
643
- /hosted-git-info@5.2.1:
644
- resolution: {integrity: sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==}
645
- engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
646
- dependencies:
647
- lru-cache: 7.18.3
648
- dev: true
649
-
650
- /iconv-lite@0.4.24:
651
- resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
652
- engines: {node: '>=0.10.0'}
653
- dependencies:
654
- safer-buffer: 2.1.2
655
- dev: true
656
-
657
- /ieee754@1.2.1:
658
- resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
659
- dev: true
660
-
661
- /ignore@5.3.0:
662
- resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==}
663
- engines: {node: '>= 4'}
664
- dev: true
665
-
666
- /indent-string@5.0.0:
667
- resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==}
668
- engines: {node: '>=12'}
669
- dev: true
670
-
671
- /inflight@1.0.6:
672
- resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
673
- dependencies:
674
- once: 1.4.0
675
- wrappy: 1.0.2
676
- dev: true
677
-
678
- /inherits@2.0.4:
679
- resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
680
- dev: true
681
-
682
- /inquirer@8.2.5:
683
- resolution: {integrity: sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==}
684
- engines: {node: '>=12.0.0'}
685
- dependencies:
686
- ansi-escapes: 4.3.2
687
- chalk: 4.1.2
688
- cli-cursor: 3.1.0
689
- cli-width: 3.0.0
690
- external-editor: 3.1.0
691
- figures: 3.2.0
692
- lodash: 4.17.21
693
- mute-stream: 0.0.8
694
- ora: 5.4.1
695
- run-async: 2.4.1
696
- rxjs: 7.8.0
697
- string-width: 4.2.3
698
- strip-ansi: 6.0.1
699
- through: 2.3.8
700
- wrap-ansi: 7.0.0
701
- dev: true
702
-
703
- /is-arrayish@0.2.1:
704
- resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
705
- dev: true
706
-
707
- /is-core-module@2.13.1:
708
- resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
709
- dependencies:
710
- hasown: 2.0.0
711
- dev: true
712
-
713
- /is-extglob@2.1.1:
714
- resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
715
- engines: {node: '>=0.10.0'}
716
- dev: true
717
-
718
- /is-fullwidth-code-point@3.0.0:
719
- resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
720
- engines: {node: '>=8'}
721
- dev: true
722
-
723
- /is-glob@4.0.3:
724
- resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
725
- engines: {node: '>=0.10.0'}
726
- dependencies:
727
- is-extglob: 2.1.1
728
- dev: true
729
-
730
- /is-interactive@1.0.0:
731
- resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==}
732
- engines: {node: '>=8'}
733
- dev: true
734
-
735
- /is-number@7.0.0:
736
- resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
737
- engines: {node: '>=0.12.0'}
738
- dev: true
739
-
740
- /is-plain-obj@1.1.0:
741
- resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==}
742
- engines: {node: '>=0.10.0'}
743
- dev: true
744
-
745
- /is-unicode-supported@0.1.0:
746
- resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
747
- engines: {node: '>=10'}
748
- dev: true
749
-
750
- /iterare@1.2.1:
751
- resolution: {integrity: sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==}
752
- engines: {node: '>=6'}
753
- dev: true
754
-
755
- /js-tokens@4.0.0:
756
- resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
757
- dev: true
758
-
759
- /json-parse-even-better-errors@2.3.1:
760
- resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
761
- dev: true
762
-
763
- /jsonfile@6.1.0:
764
- resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
765
- dependencies:
766
- universalify: 2.0.1
767
- optionalDependencies:
768
- graceful-fs: 4.2.11
769
- dev: true
770
-
771
- /kind-of@6.0.3:
772
- resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
773
- engines: {node: '>=0.10.0'}
774
- dev: true
775
-
776
- /lines-and-columns@1.2.4:
777
- resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
778
- dev: true
779
-
780
- /locate-path@7.2.0:
781
- resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==}
782
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
783
- dependencies:
784
- p-locate: 6.0.0
785
- dev: true
786
-
787
- /lodash@4.17.21:
788
- resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
789
- dev: true
790
-
791
- /log-symbols@4.1.0:
792
- resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
793
- engines: {node: '>=10'}
794
- dependencies:
795
- chalk: 4.1.2
796
- is-unicode-supported: 0.1.0
797
- dev: true
798
-
799
- /lru-cache@6.0.0:
800
- resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
801
- engines: {node: '>=10'}
802
- dependencies:
803
- yallist: 4.0.0
804
- dev: true
805
-
806
- /lru-cache@7.18.3:
807
- resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==}
808
- engines: {node: '>=12'}
809
- dev: true
810
-
811
- /luxon@3.4.4:
812
- resolution: {integrity: sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA==}
813
- engines: {node: '>=12'}
814
- dev: true
815
-
816
- /map-obj@1.0.1:
817
- resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==}
818
- engines: {node: '>=0.10.0'}
819
- dev: true
820
-
821
- /map-obj@4.3.0:
822
- resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==}
823
- engines: {node: '>=8'}
824
- dev: true
825
-
826
- /meow@11.0.0:
827
- resolution: {integrity: sha512-Cl0yeeIrko6d94KpUo1M+0X1sB14ikoaqlIGuTH1fW4I+E3+YljL54/hb/BWmVfrV9tTV9zU04+xjw08Fh2WkA==}
828
- engines: {node: '>=14.16'}
829
- dependencies:
830
- '@types/minimist': 1.2.5
831
- camelcase-keys: 8.0.2
832
- decamelize: 6.0.0
833
- decamelize-keys: 1.1.1
834
- hard-rejection: 2.1.0
835
- minimist-options: 4.1.0
836
- normalize-package-data: 4.0.1
837
- read-pkg-up: 9.1.0
838
- redent: 4.0.0
839
- trim-newlines: 4.1.1
840
- type-fest: 3.13.1
841
- yargs-parser: 21.1.1
842
- dev: true
843
-
844
- /merge2@1.4.1:
845
- resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
846
- engines: {node: '>= 8'}
847
- dev: true
848
-
849
- /micromatch@4.0.5:
850
- resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
851
- engines: {node: '>=8.6'}
852
- dependencies:
853
- braces: 3.0.2
854
- picomatch: 2.3.1
855
- dev: true
856
-
857
- /mime-db@1.52.0:
858
- resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
859
- engines: {node: '>= 0.6'}
860
- dev: true
861
-
862
- /mime-types@2.1.35:
863
- resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
864
- engines: {node: '>= 0.6'}
865
- dependencies:
866
- mime-db: 1.52.0
867
- dev: true
868
-
869
- /mimic-fn@2.1.0:
870
- resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
871
- engines: {node: '>=6'}
872
- dev: true
873
-
874
- /min-indent@1.0.1:
875
- resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
876
- engines: {node: '>=4'}
877
- dev: true
878
-
879
- /minimatch@3.1.2:
880
- resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
881
- dependencies:
882
- brace-expansion: 1.1.11
883
- dev: true
884
-
885
- /minimist-options@4.1.0:
886
- resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==}
887
- engines: {node: '>= 6'}
888
- dependencies:
889
- arrify: 1.0.1
890
- is-plain-obj: 1.1.0
891
- kind-of: 6.0.3
892
- dev: true
893
-
894
- /mock-to-openapi@1.0.9:
895
- resolution: {integrity: sha512-slcpOfm8rROyGNBL1th3XIrHAPSl1MvsfRjTuAnKuEpHTnzYW6ybH+ww1SwNB14bdvS6wpnbgdS1KoZmNsD9pA==}
896
- engines: {node: '>=16'}
897
- hasBin: true
898
- dependencies:
899
- chalk: 5.3.0
900
- globby: 13.2.2
901
- luxon: 3.4.4
902
- meow: 11.0.0
903
- yaml: 2.3.4
904
- dev: true
905
-
906
- /mute-stream@0.0.8:
907
- resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==}
908
- dev: true
909
-
910
- /node-fetch@2.7.0:
911
- resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
912
- engines: {node: 4.x || >=6.0.0}
913
- peerDependencies:
914
- encoding: ^0.1.0
915
- peerDependenciesMeta:
916
- encoding:
917
- optional: true
918
- dependencies:
919
- whatwg-url: 5.0.0
920
- dev: true
921
-
922
- /normalize-package-data@3.0.3:
923
- resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==}
924
- engines: {node: '>=10'}
925
- dependencies:
926
- hosted-git-info: 4.1.0
927
- is-core-module: 2.13.1
928
- semver: 7.5.4
929
- validate-npm-package-license: 3.0.4
930
- dev: true
931
-
932
- /normalize-package-data@4.0.1:
933
- resolution: {integrity: sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg==}
934
- engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
935
- dependencies:
936
- hosted-git-info: 5.2.1
937
- is-core-module: 2.13.1
938
- semver: 7.5.4
939
- validate-npm-package-license: 3.0.4
940
- dev: true
941
-
942
- /once@1.4.0:
943
- resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
944
- dependencies:
945
- wrappy: 1.0.2
946
- dev: true
947
-
948
- /onetime@5.1.2:
949
- resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
950
- engines: {node: '>=6'}
951
- dependencies:
952
- mimic-fn: 2.1.0
953
- dev: true
954
-
955
- /ora@5.4.1:
956
- resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
957
- engines: {node: '>=10'}
958
- dependencies:
959
- bl: 4.1.0
960
- chalk: 4.1.2
961
- cli-cursor: 3.1.0
962
- cli-spinners: 2.9.2
963
- is-interactive: 1.0.0
964
- is-unicode-supported: 0.1.0
965
- log-symbols: 4.1.0
966
- strip-ansi: 6.0.1
967
- wcwidth: 1.0.1
968
- dev: true
969
-
970
- /os-tmpdir@1.0.2:
971
- resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
972
- engines: {node: '>=0.10.0'}
973
- dev: true
974
-
975
- /p-limit@4.0.0:
976
- resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==}
977
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
978
- dependencies:
979
- yocto-queue: 1.0.0
980
- dev: true
981
-
982
- /p-locate@6.0.0:
983
- resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==}
984
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
985
- dependencies:
986
- p-limit: 4.0.0
987
- dev: true
988
-
989
- /parse-json@5.2.0:
990
- resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
991
- engines: {node: '>=8'}
992
- dependencies:
993
- '@babel/code-frame': 7.23.5
994
- error-ex: 1.3.2
995
- json-parse-even-better-errors: 2.3.1
996
- lines-and-columns: 1.2.4
997
- dev: true
998
-
999
- /path-exists@5.0.0:
1000
- resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==}
1001
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
1002
- dev: true
1003
-
1004
- /path-is-absolute@1.0.1:
1005
- resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
1006
- engines: {node: '>=0.10.0'}
1007
- dev: true
1008
-
1009
- /path-to-regexp@3.2.0:
1010
- resolution: {integrity: sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA==}
1011
- dev: true
1012
-
1013
- /path-type@4.0.0:
1014
- resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
1015
- engines: {node: '>=8'}
1016
- dev: true
1017
-
1018
- /picomatch@2.3.1:
1019
- resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1020
- engines: {node: '>=8.6'}
1021
- dev: true
1022
-
1023
- /proxy-from-env@1.1.0:
1024
- resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
1025
- dev: true
1026
-
1027
- /queue-microtask@1.2.3:
1028
- resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1029
- dev: true
1030
-
1031
- /quick-lru@6.1.2:
1032
- resolution: {integrity: sha512-AAFUA5O1d83pIHEhJwWCq/RQcRukCkn/NSm2QsTEMle5f2hP0ChI2+3Xb051PZCkLryI/Ir1MVKviT2FIloaTQ==}
1033
- engines: {node: '>=12'}
1034
- dev: true
1035
-
1036
- /read-pkg-up@9.1.0:
1037
- resolution: {integrity: sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg==}
1038
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
1039
- dependencies:
1040
- find-up: 6.3.0
1041
- read-pkg: 7.1.0
1042
- type-fest: 2.19.0
1043
- dev: true
1044
-
1045
- /read-pkg@7.1.0:
1046
- resolution: {integrity: sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg==}
1047
- engines: {node: '>=12.20'}
1048
- dependencies:
1049
- '@types/normalize-package-data': 2.4.4
1050
- normalize-package-data: 3.0.3
1051
- parse-json: 5.2.0
1052
- type-fest: 2.19.0
1053
- dev: true
1054
-
1055
- /readable-stream@3.6.2:
1056
- resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
1057
- engines: {node: '>= 6'}
1058
- dependencies:
1059
- inherits: 2.0.4
1060
- string_decoder: 1.3.0
1061
- util-deprecate: 1.0.2
1062
- dev: true
1063
-
1064
- /redent@4.0.0:
1065
- resolution: {integrity: sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==}
1066
- engines: {node: '>=12'}
1067
- dependencies:
1068
- indent-string: 5.0.0
1069
- strip-indent: 4.0.0
1070
- dev: true
1071
-
1072
- /reflect-metadata@0.1.13:
1073
- resolution: {integrity: sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==}
1074
- dev: true
1075
-
1076
- /regenerator-runtime@0.14.1:
1077
- resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
1078
- dev: true
1079
-
1080
- /require-directory@2.1.1:
1081
- resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
1082
- engines: {node: '>=0.10.0'}
1083
- dev: true
1084
-
1085
- /restore-cursor@3.1.0:
1086
- resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
1087
- engines: {node: '>=8'}
1088
- dependencies:
1089
- onetime: 5.1.2
1090
- signal-exit: 3.0.7
1091
- dev: true
1092
-
1093
- /reusify@1.0.4:
1094
- resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
1095
- engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1096
- dev: true
1097
-
1098
- /run-async@2.4.1:
1099
- resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==}
1100
- engines: {node: '>=0.12.0'}
1101
- dev: true
1102
-
1103
- /run-parallel@1.2.0:
1104
- resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1105
- dependencies:
1106
- queue-microtask: 1.2.3
1107
- dev: true
1108
-
1109
- /rxjs@6.6.7:
1110
- resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==}
1111
- engines: {npm: '>=2.0.0'}
1112
- dependencies:
1113
- tslib: 1.14.1
1114
- dev: true
1115
-
1116
- /rxjs@7.8.0:
1117
- resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==}
1118
- dependencies:
1119
- tslib: 2.6.2
1120
- dev: true
1121
-
1122
- /safe-buffer@5.2.1:
1123
- resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
1124
- dev: true
1125
-
1126
- /safer-buffer@2.1.2:
1127
- resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
1128
- dev: true
1129
-
1130
- /semver@7.5.4:
1131
- resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
1132
- engines: {node: '>=10'}
1133
- hasBin: true
1134
- dependencies:
1135
- lru-cache: 6.0.0
1136
- dev: true
1137
-
1138
- /signal-exit@3.0.7:
1139
- resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
1140
- dev: true
1141
-
1142
- /slash@4.0.0:
1143
- resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==}
1144
- engines: {node: '>=12'}
1145
- dev: true
1146
-
1147
- /spawn-command@0.0.2-1:
1148
- resolution: {integrity: sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg==}
1149
- dev: true
1150
-
1151
- /spdx-correct@3.2.0:
1152
- resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
1153
- dependencies:
1154
- spdx-expression-parse: 3.0.1
1155
- spdx-license-ids: 3.0.16
1156
- dev: true
1157
-
1158
- /spdx-exceptions@2.3.0:
1159
- resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==}
1160
- dev: true
1161
-
1162
- /spdx-expression-parse@3.0.1:
1163
- resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
1164
- dependencies:
1165
- spdx-exceptions: 2.3.0
1166
- spdx-license-ids: 3.0.16
1167
- dev: true
1168
-
1169
- /spdx-license-ids@3.0.16:
1170
- resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==}
1171
- dev: true
1172
-
1173
- /string-width@4.2.3:
1174
- resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
1175
- engines: {node: '>=8'}
1176
- dependencies:
1177
- emoji-regex: 8.0.0
1178
- is-fullwidth-code-point: 3.0.0
1179
- strip-ansi: 6.0.1
1180
- dev: true
1181
-
1182
- /string_decoder@1.3.0:
1183
- resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
1184
- dependencies:
1185
- safe-buffer: 5.2.1
1186
- dev: true
1187
-
1188
- /strip-ansi@6.0.1:
1189
- resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
1190
- engines: {node: '>=8'}
1191
- dependencies:
1192
- ansi-regex: 5.0.1
1193
- dev: true
1194
-
1195
- /strip-indent@4.0.0:
1196
- resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==}
1197
- engines: {node: '>=12'}
1198
- dependencies:
1199
- min-indent: 1.0.1
1200
- dev: true
1201
-
1202
- /supports-color@5.5.0:
1203
- resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
1204
- engines: {node: '>=4'}
1205
- dependencies:
1206
- has-flag: 3.0.0
1207
- dev: true
1208
-
1209
- /supports-color@7.2.0:
1210
- resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
1211
- engines: {node: '>=8'}
1212
- dependencies:
1213
- has-flag: 4.0.0
1214
- dev: true
1215
-
1216
- /supports-color@8.1.1:
1217
- resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
1218
- engines: {node: '>=10'}
1219
- dependencies:
1220
- has-flag: 4.0.0
1221
- dev: true
1222
-
1223
- /through@2.3.8:
1224
- resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
1225
- dev: true
1226
-
1227
- /tmp@0.0.33:
1228
- resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
1229
- engines: {node: '>=0.6.0'}
1230
- dependencies:
1231
- os-tmpdir: 1.0.2
1232
- dev: true
1233
-
1234
- /to-regex-range@5.0.1:
1235
- resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1236
- engines: {node: '>=8.0'}
1237
- dependencies:
1238
- is-number: 7.0.0
1239
- dev: true
1240
-
1241
- /tr46@0.0.3:
1242
- resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
1243
- dev: true
1244
-
1245
- /tree-kill@1.2.2:
1246
- resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
1247
- hasBin: true
1248
- dev: true
1249
-
1250
- /trim-newlines@4.1.1:
1251
- resolution: {integrity: sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==}
1252
- engines: {node: '>=12'}
1253
- dev: true
1254
-
1255
- /tslib@1.14.1:
1256
- resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
1257
- dev: true
1258
-
1259
- /tslib@2.0.3:
1260
- resolution: {integrity: sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==}
1261
- dev: true
1262
-
1263
- /tslib@2.5.0:
1264
- resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==}
1265
- dev: true
1266
-
1267
- /tslib@2.6.2:
1268
- resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
1269
- dev: true
1270
-
1271
- /type-fest@0.21.3:
1272
- resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
1273
- engines: {node: '>=10'}
1274
- dev: true
1275
-
1276
- /type-fest@2.19.0:
1277
- resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==}
1278
- engines: {node: '>=12.20'}
1279
- dev: true
1280
-
1281
- /type-fest@3.13.1:
1282
- resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==}
1283
- engines: {node: '>=14.16'}
1284
- dev: true
1285
-
1286
- /uid@2.0.1:
1287
- resolution: {integrity: sha512-PF+1AnZgycpAIEmNtjxGBVmKbZAQguaa4pBUq6KNaGEcpzZ2klCNZLM34tsjp76maN00TttiiUf6zkIBpJQm2A==}
1288
- engines: {node: '>=8'}
1289
- dependencies:
1290
- '@lukeed/csprng': 1.1.0
1291
- dev: true
1292
-
1293
- /universalify@2.0.1:
1294
- resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
1295
- engines: {node: '>= 10.0.0'}
1296
- dev: true
1297
-
1298
- /util-deprecate@1.0.2:
1299
- resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
1300
- dev: true
1301
-
1302
- /validate-npm-package-license@3.0.4:
1303
- resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
1304
- dependencies:
1305
- spdx-correct: 3.2.0
1306
- spdx-expression-parse: 3.0.1
1307
- dev: true
1308
-
1309
- /wcwidth@1.0.1:
1310
- resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
1311
- dependencies:
1312
- defaults: 1.0.4
1313
- dev: true
1314
-
1315
- /webidl-conversions@3.0.1:
1316
- resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
1317
- dev: true
1318
-
1319
- /whatwg-url@5.0.0:
1320
- resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
1321
- dependencies:
1322
- tr46: 0.0.3
1323
- webidl-conversions: 3.0.1
1324
- dev: true
1325
-
1326
- /wrap-ansi@7.0.0:
1327
- resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
1328
- engines: {node: '>=10'}
1329
- dependencies:
1330
- ansi-styles: 4.3.0
1331
- string-width: 4.2.3
1332
- strip-ansi: 6.0.1
1333
- dev: true
1334
-
1335
- /wrappy@1.0.2:
1336
- resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
1337
- dev: true
1338
-
1339
- /y18n@5.0.8:
1340
- resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
1341
- engines: {node: '>=10'}
1342
- dev: true
1343
-
1344
- /yallist@4.0.0:
1345
- resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
1346
- dev: true
1347
-
1348
- /yaml@2.3.4:
1349
- resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==}
1350
- engines: {node: '>= 14'}
1351
- dev: true
1352
-
1353
- /yargs-parser@20.2.9:
1354
- resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
1355
- engines: {node: '>=10'}
1356
- dev: true
1357
-
1358
- /yargs-parser@21.1.1:
1359
- resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
1360
- engines: {node: '>=12'}
1361
- dev: true
1362
-
1363
- /yargs@16.2.0:
1364
- resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==}
1365
- engines: {node: '>=10'}
1366
- dependencies:
1367
- cliui: 7.0.4
1368
- escalade: 3.1.1
1369
- get-caller-file: 2.0.5
1370
- require-directory: 2.1.1
1371
- string-width: 4.2.3
1372
- y18n: 5.0.8
1373
- yargs-parser: 20.2.9
1374
- dev: true
1375
-
1376
- /yocto-queue@1.0.0:
1377
- resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==}
1378
- engines: {node: '>=12.20'}
1379
- dev: true
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
pyproject.toml CHANGED
@@ -1,6 +1,6 @@
1
  [tool.poetry]
2
  name = "samgis"
3
- version = "1.0.0"
4
  description = "A backend for machine learning instance segmentation on geospatial data even without dedicated graphics cards."
5
  authors = ["alessandro trinca tornidor <alessandro@trinca.tornidor.com>"]
6
  license = "MIT license"
 
1
  [tool.poetry]
2
  name = "samgis"
3
+ version = "1.0.2"
4
  description = "A backend for machine learning instance segmentation on geospatial data even without dedicated graphics cards."
5
  authors = ["alessandro trinca tornidor <alessandro@trinca.tornidor.com>"]
6
  license = "MIT license"
scripts/extract-openapi-fastapi.py ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # https://www.doctave.com/blog/python-export-fastapi-openapi-spec#step-2-create-an-export-script
2
+ import argparse
3
+ import json
4
+ import logging
5
+ import sys
6
+ import yaml
7
+ from uvicorn.importer import import_from_string
8
+
9
+
10
+ parser = argparse.ArgumentParser(prog="extract-openapi-fastapi.py")
11
+ parser.add_argument("app", help='App import string. Eg. "main:app"', default="main:app")
12
+ parser.add_argument("--app-dir", help="Directory containing the app", default=None)
13
+ parser.add_argument("--out", help="Output file ending in .json or .yaml", default="openapi.yaml")
14
+
15
+
16
+ if __name__ == "__main__":
17
+ # python scripts/extract-openapi.py fastapi_wrapper:app --app-dir wrappers --out docs/specs/openapi_new.yaml
18
+ args = parser.parse_args()
19
+
20
+ if args.app_dir is not None:
21
+ logging.info(f"adding {args.app_dir} to sys.path")
22
+ sys.path.insert(0, args.app_dir)
23
+
24
+ logging.info(f"importing app from {args.app}")
25
+ app = import_from_string(args.app)
26
+ openapi = app.openapi()
27
+ version = openapi.get("openapi", "unknown version")
28
+
29
+ logging.info(f"writing openapi spec v{version}")
30
+ with open(args.out, "w") as f:
31
+ if args.out.endswith(".json"):
32
+ json.dump(openapi, f, indent=2)
33
+ else:
34
+ yaml.dump(openapi, f, sort_keys=False)
35
+
36
+ logging.info(f"spec written to {args.out} #")
scripts/extract-openapi-lambda.py ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import json
2
+
3
+ from samgis import PROJECT_ROOT_FOLDER
4
+
5
+ if __name__ == '__main__':
6
+ from samgis.utilities.type_hints import ApiRequestBody, ApiResponseBodyFailure, ApiResponseBodySuccess
7
+
8
+ with open(PROJECT_ROOT_FOLDER / "docs" / "specs" / "openapi_lambda_wip.json", "w") as output_json:
9
+ json.dump({
10
+ "ApiRequestBody": ApiRequestBody.model_json_schema(),
11
+ "ApiResponseBodyFailure": ApiResponseBodyFailure.model_json_schema(),
12
+ "ApiResponseBodySuccess": ApiResponseBodySuccess.model_json_schema()
13
+ }, output_json)