@webda/core 4.0.0-beta.2 → 4.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (756) hide show
  1. package/README.md +252 -0
  2. package/lib/application/application.d.ts +437 -0
  3. package/lib/application/application.d.ts.map +1 -0
  4. package/lib/application/application.js +792 -0
  5. package/lib/application/application.js.map +1 -0
  6. package/lib/application/hooks.d.ts +34 -0
  7. package/lib/application/hooks.d.ts.map +1 -0
  8. package/lib/application/hooks.js +57 -0
  9. package/lib/application/hooks.js.map +1 -0
  10. package/lib/application/iapplication.d.ts +43 -0
  11. package/lib/application/iapplication.d.ts.map +1 -0
  12. package/lib/application/iapplication.js +2 -0
  13. package/lib/application/iapplication.js.map +1 -0
  14. package/lib/application/iconfiguration.d.ts +176 -0
  15. package/lib/application/iconfiguration.d.ts.map +1 -0
  16. package/lib/application/iconfiguration.js +8 -0
  17. package/lib/application/iconfiguration.js.map +1 -0
  18. package/lib/application/runner.d.ts +8 -0
  19. package/lib/application/runner.d.ts.map +1 -0
  20. package/lib/application/runner.js +26 -0
  21. package/lib/application/runner.js.map +1 -0
  22. package/lib/{unpackedapplication.d.ts → application/unpackedapplication.d.ts} +43 -23
  23. package/lib/application/unpackedapplication.d.ts.map +1 -0
  24. package/lib/application/unpackedapplication.js +492 -0
  25. package/lib/application/unpackedapplication.js.map +1 -0
  26. package/lib/bin/cli-phase.d.ts +28 -0
  27. package/lib/bin/cli-phase.d.ts.map +1 -0
  28. package/lib/bin/cli-phase.js +44 -0
  29. package/lib/bin/cli-phase.js.map +1 -0
  30. package/lib/bin/cli.d.ts +161 -0
  31. package/lib/bin/cli.d.ts.map +1 -0
  32. package/lib/bin/cli.js +828 -0
  33. package/lib/bin/cli.js.map +1 -0
  34. package/lib/bin/launcher.d.ts +3 -0
  35. package/lib/bin/launcher.d.ts.map +1 -0
  36. package/lib/bin/launcher.js +50 -0
  37. package/lib/bin/launcher.js.map +1 -0
  38. package/lib/cache/cache.d.ts +33 -0
  39. package/lib/cache/cache.d.ts.map +1 -0
  40. package/lib/cache/cache.js +8 -0
  41. package/lib/cache/cache.js.map +1 -0
  42. package/lib/{services/configuration.d.ts → configurations/configuration.service.d.ts} +58 -58
  43. package/lib/configurations/configuration.service.d.ts.map +1 -0
  44. package/lib/configurations/configuration.service.js +248 -0
  45. package/lib/configurations/configuration.service.js.map +1 -0
  46. package/lib/configurations/fileconfiguration.service.d.ts +30 -0
  47. package/lib/configurations/fileconfiguration.service.d.ts.map +1 -0
  48. package/lib/configurations/fileconfiguration.service.js +65 -0
  49. package/lib/configurations/fileconfiguration.service.js.map +1 -0
  50. package/lib/configurations/kubernetesconfiguration.service.d.ts +43 -0
  51. package/lib/configurations/kubernetesconfiguration.service.d.ts.map +1 -0
  52. package/lib/configurations/kubernetesconfiguration.service.js +83 -0
  53. package/lib/configurations/kubernetesconfiguration.service.js.map +1 -0
  54. package/lib/contexts/execution.d.ts +33 -0
  55. package/lib/contexts/execution.d.ts.map +1 -0
  56. package/lib/contexts/execution.js +73 -0
  57. package/lib/contexts/execution.js.map +1 -0
  58. package/lib/contexts/globalcontext.d.ts +29 -0
  59. package/lib/contexts/globalcontext.d.ts.map +1 -0
  60. package/lib/contexts/globalcontext.js +38 -0
  61. package/lib/contexts/globalcontext.js.map +1 -0
  62. package/lib/{utils → contexts}/httpcontext.d.ts +44 -19
  63. package/lib/contexts/httpcontext.d.ts.map +1 -0
  64. package/lib/{utils → contexts}/httpcontext.js +95 -27
  65. package/lib/contexts/httpcontext.js.map +1 -0
  66. package/lib/contexts/icontext.d.ts +236 -0
  67. package/lib/contexts/icontext.d.ts.map +1 -0
  68. package/lib/contexts/icontext.js +230 -0
  69. package/lib/contexts/icontext.js.map +1 -0
  70. package/lib/contexts/operationcontext.d.ts +179 -0
  71. package/lib/contexts/operationcontext.d.ts.map +1 -0
  72. package/lib/contexts/operationcontext.js +358 -0
  73. package/lib/contexts/operationcontext.js.map +1 -0
  74. package/lib/contexts/simplecontext.d.ts +31 -0
  75. package/lib/contexts/simplecontext.d.ts.map +1 -0
  76. package/lib/contexts/simplecontext.js +45 -0
  77. package/lib/contexts/simplecontext.js.map +1 -0
  78. package/lib/contexts/webcontext.d.ts +218 -0
  79. package/lib/contexts/webcontext.d.ts.map +1 -0
  80. package/lib/contexts/webcontext.js +389 -0
  81. package/lib/contexts/webcontext.js.map +1 -0
  82. package/lib/core/authorizer.d.ts +23 -0
  83. package/lib/core/authorizer.d.ts.map +1 -0
  84. package/lib/core/authorizer.js +17 -0
  85. package/lib/core/authorizer.js.map +1 -0
  86. package/lib/core/core.d.ts +225 -0
  87. package/lib/core/core.d.ts.map +1 -0
  88. package/lib/core/core.js +576 -0
  89. package/lib/core/core.js.map +1 -0
  90. package/lib/core/hooks.d.ts +72 -0
  91. package/lib/core/hooks.d.ts.map +1 -0
  92. package/lib/core/hooks.js +73 -0
  93. package/lib/core/hooks.js.map +1 -0
  94. package/lib/core/icore.d.ts +249 -0
  95. package/lib/core/icore.d.ts.map +1 -0
  96. package/lib/core/icore.js +15 -0
  97. package/lib/core/icore.js.map +1 -0
  98. package/lib/core/instancestorage.d.ts +61 -0
  99. package/lib/core/instancestorage.d.ts.map +1 -0
  100. package/lib/core/instancestorage.js +75 -0
  101. package/lib/core/instancestorage.js.map +1 -0
  102. package/lib/core/operations.d.ts +181 -0
  103. package/lib/core/operations.d.ts.map +1 -0
  104. package/lib/core/operations.js +559 -0
  105. package/lib/core/operations.js.map +1 -0
  106. package/lib/errors/errors.d.ts +126 -0
  107. package/lib/errors/errors.d.ts.map +1 -0
  108. package/lib/errors/errors.js +165 -0
  109. package/lib/errors/errors.js.map +1 -0
  110. package/lib/events/asynceventemitter.d.ts +159 -0
  111. package/lib/events/asynceventemitter.d.ts.map +1 -0
  112. package/lib/events/asynceventemitter.js +152 -0
  113. package/lib/events/asynceventemitter.js.map +1 -0
  114. package/lib/events/events.d.ts +112 -0
  115. package/lib/events/events.d.ts.map +1 -0
  116. package/lib/events/events.js +45 -0
  117. package/lib/events/events.js.map +1 -0
  118. package/lib/index.d.ts +82 -53
  119. package/lib/index.d.ts.map +1 -1
  120. package/lib/index.js +81 -62
  121. package/lib/index.js.map +1 -1
  122. package/lib/loggers/console.service.d.ts +24 -0
  123. package/lib/loggers/console.service.d.ts.map +1 -0
  124. package/lib/loggers/console.service.js +30 -0
  125. package/lib/loggers/console.service.js.map +1 -0
  126. package/lib/loggers/file.service.d.ts +25 -0
  127. package/lib/loggers/file.service.d.ts.map +1 -0
  128. package/lib/loggers/file.service.js +33 -0
  129. package/lib/loggers/file.service.js.map +1 -0
  130. package/lib/loggers/hooks.d.ts +20 -0
  131. package/lib/loggers/hooks.d.ts.map +1 -0
  132. package/lib/loggers/hooks.js +40 -0
  133. package/lib/loggers/hooks.js.map +1 -0
  134. package/lib/loggers/ilogger.d.ts +76 -0
  135. package/lib/loggers/ilogger.d.ts.map +1 -0
  136. package/lib/loggers/ilogger.js +108 -0
  137. package/lib/loggers/ilogger.js.map +1 -0
  138. package/lib/loggers/logger.d.ts +13 -0
  139. package/lib/loggers/logger.d.ts.map +1 -0
  140. package/lib/loggers/logger.js +18 -0
  141. package/lib/loggers/logger.js.map +1 -0
  142. package/lib/loggers/memory.service.d.ts +18 -0
  143. package/lib/loggers/memory.service.d.ts.map +1 -0
  144. package/lib/loggers/memory.service.js +21 -0
  145. package/lib/loggers/memory.service.js.map +1 -0
  146. package/lib/loggers/params.d.ts +47 -0
  147. package/lib/loggers/params.d.ts.map +1 -0
  148. package/lib/loggers/params.js +56 -0
  149. package/lib/loggers/params.js.map +1 -0
  150. package/lib/metrics/metrics.d.ts +25 -0
  151. package/lib/metrics/metrics.d.ts.map +1 -0
  152. package/lib/metrics/metrics.js +51 -0
  153. package/lib/metrics/metrics.js.map +1 -0
  154. package/lib/models/aclmodel.d.ts +20 -76
  155. package/lib/models/aclmodel.d.ts.map +1 -1
  156. package/lib/models/aclmodel.js +27 -203
  157. package/lib/models/aclmodel.js.map +1 -1
  158. package/lib/models/coremodel.model.d.ts +5 -0
  159. package/lib/models/coremodel.model.d.ts.map +1 -0
  160. package/lib/models/coremodel.model.js +5 -0
  161. package/lib/models/coremodel.model.js.map +1 -0
  162. package/lib/models/decorator.d.ts +63 -0
  163. package/lib/models/decorator.d.ts.map +1 -0
  164. package/lib/models/decorator.js +63 -0
  165. package/lib/models/decorator.js.map +1 -0
  166. package/lib/models/deployment.d.ts +1 -1
  167. package/lib/models/deployment.d.ts.map +1 -1
  168. package/lib/models/ident.model.d.ts +89 -0
  169. package/lib/models/ident.model.d.ts.map +1 -0
  170. package/lib/models/ident.model.js +115 -0
  171. package/lib/models/ident.model.js.map +1 -0
  172. package/lib/models/ownermodel.model.d.ts +68 -0
  173. package/lib/models/ownermodel.model.d.ts.map +1 -0
  174. package/lib/models/ownermodel.model.js +112 -0
  175. package/lib/models/ownermodel.model.js.map +1 -0
  176. package/lib/models/registry.model.d.ts +76 -0
  177. package/lib/models/registry.model.d.ts.map +1 -0
  178. package/lib/models/registry.model.js +104 -0
  179. package/lib/models/registry.model.js.map +1 -0
  180. package/lib/models/rolemodel.model.d.ts +28 -0
  181. package/lib/models/rolemodel.model.d.ts.map +1 -0
  182. package/lib/models/{rolemodel.js → rolemodel.model.js} +23 -5
  183. package/lib/models/rolemodel.model.js.map +1 -0
  184. package/lib/models/simpleuser.model.d.ts +78 -0
  185. package/lib/models/simpleuser.model.d.ts.map +1 -0
  186. package/lib/models/simpleuser.model.js +123 -0
  187. package/lib/models/simpleuser.model.js.map +1 -0
  188. package/lib/models/types.d.ts +113 -0
  189. package/lib/models/types.d.ts.map +1 -0
  190. package/lib/models/types.js +2 -0
  191. package/lib/models/types.js.map +1 -0
  192. package/lib/models/user.model.d.ts +103 -0
  193. package/lib/models/user.model.d.ts.map +1 -0
  194. package/lib/models/user.model.js +125 -0
  195. package/lib/models/user.model.js.map +1 -0
  196. package/lib/queues/{memoryqueue.d.ts → memoryqueue.service.d.ts} +26 -13
  197. package/lib/queues/memoryqueue.service.d.ts.map +1 -0
  198. package/lib/queues/{memoryqueue.js → memoryqueue.service.js} +55 -31
  199. package/lib/queues/memoryqueue.service.js.map +1 -0
  200. package/lib/queues/pubsubservice.d.ts +8 -6
  201. package/lib/queues/pubsubservice.d.ts.map +1 -1
  202. package/lib/queues/pubsubservice.js +5 -4
  203. package/lib/queues/pubsubservice.js.map +1 -1
  204. package/lib/queues/queueservice.d.ts +9 -11
  205. package/lib/queues/queueservice.d.ts.map +1 -1
  206. package/lib/queues/queueservice.js +41 -13
  207. package/lib/queues/queueservice.js.map +1 -1
  208. package/lib/rest/hooks.d.ts +8 -0
  209. package/lib/rest/hooks.d.ts.map +1 -0
  210. package/lib/rest/hooks.js +10 -0
  211. package/lib/rest/hooks.js.map +1 -0
  212. package/lib/rest/irest.d.ts +212 -0
  213. package/lib/rest/irest.d.ts.map +1 -0
  214. package/lib/rest/irest.js +39 -0
  215. package/lib/rest/irest.js.map +1 -0
  216. package/lib/rest/originfilter.d.ts +38 -0
  217. package/lib/rest/originfilter.d.ts.map +1 -0
  218. package/lib/rest/originfilter.js +61 -0
  219. package/lib/rest/originfilter.js.map +1 -0
  220. package/lib/rest/restoperationstransport.service.d.ts +193 -0
  221. package/lib/rest/restoperationstransport.service.d.ts.map +1 -0
  222. package/lib/rest/restoperationstransport.service.js +780 -0
  223. package/lib/rest/restoperationstransport.service.js.map +1 -0
  224. package/lib/rest/router.service.d.ts +244 -0
  225. package/lib/rest/router.service.d.ts.map +1 -0
  226. package/lib/rest/router.service.js +843 -0
  227. package/lib/rest/router.service.js.map +1 -0
  228. package/lib/schemas/hooks.d.ts +48 -0
  229. package/lib/schemas/hooks.d.ts.map +1 -0
  230. package/lib/schemas/hooks.js +152 -0
  231. package/lib/schemas/hooks.js.map +1 -0
  232. package/lib/services/audit.model.d.ts +208 -0
  233. package/lib/services/audit.model.d.ts.map +1 -0
  234. package/lib/services/audit.model.js +431 -0
  235. package/lib/services/audit.model.js.map +1 -0
  236. package/lib/services/{authentication.d.ts → authentication.service.d.ts} +140 -59
  237. package/lib/services/authentication.service.d.ts.map +1 -0
  238. package/lib/services/authentication.service.js +932 -0
  239. package/lib/services/authentication.service.js.map +1 -0
  240. package/lib/services/binary.service.d.ts +808 -0
  241. package/lib/services/binary.service.d.ts.map +1 -0
  242. package/lib/services/binary.service.js +1365 -0
  243. package/lib/services/binary.service.js.map +1 -0
  244. package/lib/services/cloudbinary.d.ts +17 -12
  245. package/lib/services/cloudbinary.d.ts.map +1 -1
  246. package/lib/services/cloudbinary.js +23 -17
  247. package/lib/services/cloudbinary.js.map +1 -1
  248. package/lib/services/command.d.ts +118 -0
  249. package/lib/services/command.d.ts.map +1 -0
  250. package/lib/services/command.js +97 -0
  251. package/lib/services/command.js.map +1 -0
  252. package/lib/services/cron.service.d.ts +142 -0
  253. package/lib/services/cron.service.d.ts.map +1 -0
  254. package/lib/services/cron.service.js +291 -0
  255. package/lib/services/cron.service.js.map +1 -0
  256. package/lib/services/{cryptoservice.d.ts → cryptoservice.service.d.ts} +75 -141
  257. package/lib/services/cryptoservice.service.d.ts.map +1 -0
  258. package/lib/services/cryptoservice.service.js +527 -0
  259. package/lib/services/cryptoservice.service.js.map +1 -0
  260. package/lib/services/debugmailer.service.d.ts +49 -0
  261. package/lib/services/debugmailer.service.d.ts.map +1 -0
  262. package/lib/services/{debugmailer.js → debugmailer.service.js} +25 -10
  263. package/lib/services/debugmailer.service.js.map +1 -0
  264. package/lib/services/domainservice.service.d.ts +203 -0
  265. package/lib/services/domainservice.service.d.ts.map +1 -0
  266. package/lib/services/domainservice.service.js +600 -0
  267. package/lib/services/domainservice.service.js.map +1 -0
  268. package/lib/services/httpserver.service.d.ts +248 -0
  269. package/lib/services/httpserver.service.d.ts.map +1 -0
  270. package/lib/services/httpserver.service.js +673 -0
  271. package/lib/services/httpserver.service.js.map +1 -0
  272. package/lib/services/iauthentication.d.ts +9 -0
  273. package/lib/services/iauthentication.d.ts.map +1 -0
  274. package/lib/services/iauthentication.js +2 -0
  275. package/lib/services/iauthentication.js.map +1 -0
  276. package/lib/services/icryptoservice.d.ts +127 -0
  277. package/lib/services/icryptoservice.d.ts.map +1 -0
  278. package/lib/services/icryptoservice.js +68 -0
  279. package/lib/services/icryptoservice.js.map +1 -0
  280. package/lib/services/imailer.d.ts +17 -0
  281. package/lib/services/imailer.d.ts.map +1 -0
  282. package/lib/services/imailer.js +2 -0
  283. package/lib/services/imailer.js.map +1 -0
  284. package/lib/services/iservice.d.ts +104 -0
  285. package/lib/services/iservice.d.ts.map +1 -0
  286. package/lib/services/iservice.js +63 -0
  287. package/lib/services/iservice.js.map +1 -0
  288. package/lib/services/mailer.service.d.ts +220 -0
  289. package/lib/services/mailer.service.d.ts.map +1 -0
  290. package/lib/services/mailer.service.js +251 -0
  291. package/lib/services/mailer.service.js.map +1 -0
  292. package/lib/services/{notificationservice.d.ts → notificationservice.service.d.ts} +10 -11
  293. package/lib/services/notificationservice.service.d.ts.map +1 -0
  294. package/lib/services/{notificationservice.js → notificationservice.service.js} +24 -12
  295. package/lib/services/notificationservice.service.js.map +1 -0
  296. package/lib/services/oauth.d.ts +52 -28
  297. package/lib/services/oauth.d.ts.map +1 -1
  298. package/lib/services/oauth.js +365 -254
  299. package/lib/services/oauth.js.map +1 -1
  300. package/lib/services/operationstransport.d.ts +65 -0
  301. package/lib/services/operationstransport.d.ts.map +1 -0
  302. package/lib/services/operationstransport.js +103 -0
  303. package/lib/services/operationstransport.js.map +1 -0
  304. package/lib/services/{prometheus.d.ts → prometheus.service.d.ts} +13 -12
  305. package/lib/services/prometheus.service.d.ts.map +1 -0
  306. package/lib/services/prometheus.service.js +203 -0
  307. package/lib/services/prometheus.service.js.map +1 -0
  308. package/lib/services/{resource.d.ts → resource.service.d.ts} +34 -15
  309. package/lib/services/resource.service.d.ts.map +1 -0
  310. package/lib/services/resource.service.js +301 -0
  311. package/lib/services/resource.service.js.map +1 -0
  312. package/lib/services/service.d.ts +87 -188
  313. package/lib/services/service.d.ts.map +1 -1
  314. package/lib/services/service.js +407 -422
  315. package/lib/services/service.js.map +1 -1
  316. package/lib/services/servicecommands.d.ts +99 -0
  317. package/lib/services/servicecommands.d.ts.map +1 -0
  318. package/lib/services/servicecommands.js +165 -0
  319. package/lib/services/servicecommands.js.map +1 -0
  320. package/lib/services/serviceparameters.d.ts +33 -0
  321. package/lib/services/serviceparameters.d.ts.map +1 -0
  322. package/lib/services/serviceparameters.js +79 -0
  323. package/lib/services/serviceparameters.js.map +1 -0
  324. package/lib/{utils → session}/cookie.d.ts +32 -19
  325. package/lib/session/cookie.d.ts.map +1 -0
  326. package/lib/{utils → session}/cookie.js +76 -23
  327. package/lib/session/cookie.js.map +1 -0
  328. package/lib/session/manager.model.d.ts +71 -0
  329. package/lib/session/manager.model.d.ts.map +1 -0
  330. package/lib/session/manager.model.js +155 -0
  331. package/lib/session/manager.model.js.map +1 -0
  332. package/lib/session/session.d.ts +57 -0
  333. package/lib/session/session.d.ts.map +1 -0
  334. package/lib/session/session.js +126 -0
  335. package/lib/session/session.js.map +1 -0
  336. package/lib/stores/istore.d.ts +99 -0
  337. package/lib/stores/istore.d.ts.map +1 -0
  338. package/lib/stores/istore.js +26 -0
  339. package/lib/stores/istore.js.map +1 -0
  340. package/lib/stores/memory.service.d.ts +114 -0
  341. package/lib/stores/memory.service.d.ts.map +1 -0
  342. package/lib/stores/memory.service.js +343 -0
  343. package/lib/stores/memory.service.js.map +1 -0
  344. package/lib/stores/store.d.ts +126 -626
  345. package/lib/stores/store.d.ts.map +1 -1
  346. package/lib/stores/store.js +257 -1117
  347. package/lib/stores/store.js.map +1 -1
  348. package/lib/templates/templates.d.ts +39 -0
  349. package/lib/templates/templates.d.ts.map +1 -0
  350. package/lib/templates/templates.js +92 -0
  351. package/lib/templates/templates.js.map +1 -0
  352. package/lib/test/application.d.ts +174 -0
  353. package/lib/test/application.d.ts.map +1 -0
  354. package/lib/test/application.js +288 -0
  355. package/lib/test/application.js.map +1 -0
  356. package/lib/test/asyncstorage.d.ts +16 -0
  357. package/lib/test/asyncstorage.d.ts.map +1 -0
  358. package/lib/test/asyncstorage.js +32 -0
  359. package/lib/test/asyncstorage.js.map +1 -0
  360. package/lib/test/core.d.ts +63 -0
  361. package/lib/test/core.d.ts.map +1 -0
  362. package/lib/test/core.js +190 -0
  363. package/lib/test/core.js.map +1 -0
  364. package/lib/test/index.d.ts +7 -0
  365. package/lib/test/index.d.ts.map +1 -0
  366. package/lib/test/index.js +8 -0
  367. package/lib/test/index.js.map +1 -0
  368. package/lib/test/internal.d.ts +34 -0
  369. package/lib/test/internal.d.ts.map +1 -0
  370. package/lib/test/internal.js +156 -0
  371. package/lib/test/internal.js.map +1 -0
  372. package/lib/test/objects.d.ts +318 -0
  373. package/lib/test/objects.d.ts.map +1 -0
  374. package/lib/test/objects.js +443 -0
  375. package/lib/test/objects.js.map +1 -0
  376. package/lib/utils/abstractdeployer.d.ts +4 -2
  377. package/lib/utils/abstractdeployer.d.ts.map +1 -1
  378. package/lib/utils/abstractdeployer.js +3 -0
  379. package/lib/utils/abstractdeployer.js.map +1 -1
  380. package/package.json +85 -60
  381. package/test/cachedapp/webda.config.json +1 -5
  382. package/test/config-cached.json +1 -5
  383. package/test/config.json +0 -9
  384. package/test/my-cnf.json +9 -0
  385. package/webda.module.json +3463 -2482
  386. package/lib/application.d.ts +0 -888
  387. package/lib/application.d.ts.map +0 -1
  388. package/lib/application.js +0 -768
  389. package/lib/application.js.map +0 -1
  390. package/lib/application.spec.d.ts +0 -2
  391. package/lib/application.spec.d.ts.map +0 -1
  392. package/lib/application.spec.js +0 -248
  393. package/lib/application.spec.js.map +0 -1
  394. package/lib/core.d.ts +0 -743
  395. package/lib/core.d.ts.map +0 -1
  396. package/lib/core.js +0 -1334
  397. package/lib/core.js.map +0 -1
  398. package/lib/core.spec.d.ts +0 -2
  399. package/lib/core.spec.d.ts.map +0 -1
  400. package/lib/core.spec.js +0 -790
  401. package/lib/core.spec.js.map +0 -1
  402. package/lib/errors.d.ts +0 -64
  403. package/lib/errors.d.ts.map +0 -1
  404. package/lib/errors.js +0 -97
  405. package/lib/errors.js.map +0 -1
  406. package/lib/errors.spec.d.ts +0 -2
  407. package/lib/errors.spec.d.ts.map +0 -1
  408. package/lib/errors.spec.js +0 -33
  409. package/lib/errors.spec.js.map +0 -1
  410. package/lib/models/aclmodel.spec.d.ts +0 -2
  411. package/lib/models/aclmodel.spec.d.ts.map +0 -1
  412. package/lib/models/aclmodel.spec.js +0 -187
  413. package/lib/models/aclmodel.spec.js.map +0 -1
  414. package/lib/models/coremodel.d.ts +0 -896
  415. package/lib/models/coremodel.d.ts.map +0 -1
  416. package/lib/models/coremodel.js +0 -1214
  417. package/lib/models/coremodel.js.map +0 -1
  418. package/lib/models/coremodel.spec.d.ts +0 -2
  419. package/lib/models/coremodel.spec.d.ts.map +0 -1
  420. package/lib/models/coremodel.spec.js +0 -464
  421. package/lib/models/coremodel.spec.js.map +0 -1
  422. package/lib/models/ident.d.ts +0 -68
  423. package/lib/models/ident.d.ts.map +0 -1
  424. package/lib/models/ident.js +0 -26
  425. package/lib/models/ident.js.map +0 -1
  426. package/lib/models/ident.spec.d.ts +0 -2
  427. package/lib/models/ident.spec.d.ts.map +0 -1
  428. package/lib/models/ident.spec.js +0 -24
  429. package/lib/models/ident.spec.js.map +0 -1
  430. package/lib/models/ownermodel.d.ts +0 -51
  431. package/lib/models/ownermodel.d.ts.map +0 -1
  432. package/lib/models/ownermodel.js +0 -65
  433. package/lib/models/ownermodel.js.map +0 -1
  434. package/lib/models/ownermodel.spec.d.ts +0 -2
  435. package/lib/models/ownermodel.spec.d.ts.map +0 -1
  436. package/lib/models/ownermodel.spec.js +0 -215
  437. package/lib/models/ownermodel.spec.js.map +0 -1
  438. package/lib/models/relations.d.ts +0 -182
  439. package/lib/models/relations.d.ts.map +0 -1
  440. package/lib/models/relations.js +0 -157
  441. package/lib/models/relations.js.map +0 -1
  442. package/lib/models/relations.spec.d.ts +0 -14
  443. package/lib/models/relations.spec.d.ts.map +0 -1
  444. package/lib/models/relations.spec.js +0 -217
  445. package/lib/models/relations.spec.js.map +0 -1
  446. package/lib/models/rolemodel.d.ts +0 -11
  447. package/lib/models/rolemodel.d.ts.map +0 -1
  448. package/lib/models/rolemodel.js.map +0 -1
  449. package/lib/models/rolemodel.spec.d.ts +0 -2
  450. package/lib/models/rolemodel.spec.d.ts.map +0 -1
  451. package/lib/models/rolemodel.spec.js +0 -90
  452. package/lib/models/rolemodel.spec.js.map +0 -1
  453. package/lib/models/simpleuser.d.ts +0 -47
  454. package/lib/models/simpleuser.d.ts.map +0 -1
  455. package/lib/models/simpleuser.js +0 -84
  456. package/lib/models/simpleuser.js.map +0 -1
  457. package/lib/models/test.d.ts +0 -11
  458. package/lib/models/test.d.ts.map +0 -1
  459. package/lib/models/test.js +0 -7
  460. package/lib/models/test.js.map +0 -1
  461. package/lib/models/user.d.ts +0 -67
  462. package/lib/models/user.d.ts.map +0 -1
  463. package/lib/models/user.js +0 -86
  464. package/lib/models/user.js.map +0 -1
  465. package/lib/models/user.spec.d.ts +0 -2
  466. package/lib/models/user.spec.d.ts.map +0 -1
  467. package/lib/models/user.spec.js +0 -89
  468. package/lib/models/user.spec.js.map +0 -1
  469. package/lib/queues/filequeue.d.ts +0 -59
  470. package/lib/queues/filequeue.d.ts.map +0 -1
  471. package/lib/queues/filequeue.js +0 -131
  472. package/lib/queues/filequeue.js.map +0 -1
  473. package/lib/queues/filequeue.spec.d.ts +0 -2
  474. package/lib/queues/filequeue.spec.d.ts.map +0 -1
  475. package/lib/queues/filequeue.spec.js +0 -84
  476. package/lib/queues/filequeue.spec.js.map +0 -1
  477. package/lib/queues/memoryqueue.d.ts.map +0 -1
  478. package/lib/queues/memoryqueue.js.map +0 -1
  479. package/lib/queues/memoryqueue.spec.d.ts +0 -2
  480. package/lib/queues/memoryqueue.spec.d.ts.map +0 -1
  481. package/lib/queues/memoryqueue.spec.js +0 -203
  482. package/lib/queues/memoryqueue.spec.js.map +0 -1
  483. package/lib/queues/queue.spec.d.ts +0 -6
  484. package/lib/queues/queue.spec.d.ts.map +0 -1
  485. package/lib/queues/queue.spec.js +0 -55
  486. package/lib/queues/queue.spec.js.map +0 -1
  487. package/lib/rest/restdomainservice.d.ts +0 -63
  488. package/lib/rest/restdomainservice.d.ts.map +0 -1
  489. package/lib/rest/restdomainservice.js +0 -687
  490. package/lib/rest/restdomainservice.js.map +0 -1
  491. package/lib/rest/restdomainservice.spec.d.ts +0 -2
  492. package/lib/rest/restdomainservice.spec.d.ts.map +0 -1
  493. package/lib/rest/restdomainservice.spec.js +0 -124
  494. package/lib/rest/restdomainservice.spec.js.map +0 -1
  495. package/lib/rest/router.d.ts +0 -174
  496. package/lib/rest/router.d.ts.map +0 -1
  497. package/lib/rest/router.js +0 -429
  498. package/lib/rest/router.js.map +0 -1
  499. package/lib/rest/router.spec.d.ts +0 -2
  500. package/lib/rest/router.spec.d.ts.map +0 -1
  501. package/lib/rest/router.spec.js +0 -255
  502. package/lib/rest/router.spec.js.map +0 -1
  503. package/lib/services/asyncevents.d.ts +0 -152
  504. package/lib/services/asyncevents.d.ts.map +0 -1
  505. package/lib/services/asyncevents.js +0 -217
  506. package/lib/services/asyncevents.js.map +0 -1
  507. package/lib/services/asyncevents.spec.d.ts +0 -2
  508. package/lib/services/asyncevents.spec.d.ts.map +0 -1
  509. package/lib/services/asyncevents.spec.js +0 -118
  510. package/lib/services/asyncevents.spec.js.map +0 -1
  511. package/lib/services/authentication.d.ts.map +0 -1
  512. package/lib/services/authentication.js +0 -773
  513. package/lib/services/authentication.js.map +0 -1
  514. package/lib/services/authentication.spec.d.ts +0 -2
  515. package/lib/services/authentication.spec.d.ts.map +0 -1
  516. package/lib/services/authentication.spec.js +0 -458
  517. package/lib/services/authentication.spec.js.map +0 -1
  518. package/lib/services/binary.d.ts +0 -477
  519. package/lib/services/binary.d.ts.map +0 -1
  520. package/lib/services/binary.js +0 -617
  521. package/lib/services/binary.js.map +0 -1
  522. package/lib/services/binary.spec.d.ts +0 -41
  523. package/lib/services/binary.spec.d.ts.map +0 -1
  524. package/lib/services/binary.spec.js +0 -151
  525. package/lib/services/binary.spec.js.map +0 -1
  526. package/lib/services/cloudbinary.spec.d.ts +0 -6
  527. package/lib/services/cloudbinary.spec.d.ts.map +0 -1
  528. package/lib/services/cloudbinary.spec.js +0 -66
  529. package/lib/services/cloudbinary.spec.js.map +0 -1
  530. package/lib/services/configuration.d.ts.map +0 -1
  531. package/lib/services/configuration.js +0 -193
  532. package/lib/services/configuration.js.map +0 -1
  533. package/lib/services/configuration.spec.d.ts +0 -2
  534. package/lib/services/configuration.spec.d.ts.map +0 -1
  535. package/lib/services/configuration.spec.js +0 -130
  536. package/lib/services/configuration.spec.js.map +0 -1
  537. package/lib/services/cron.d.ts +0 -74
  538. package/lib/services/cron.d.ts.map +0 -1
  539. package/lib/services/cron.js +0 -141
  540. package/lib/services/cron.js.map +0 -1
  541. package/lib/services/cron.spec.d.ts +0 -2
  542. package/lib/services/cron.spec.d.ts.map +0 -1
  543. package/lib/services/cron.spec.js +0 -76
  544. package/lib/services/cron.spec.js.map +0 -1
  545. package/lib/services/cryptoservice.d.ts.map +0 -1
  546. package/lib/services/cryptoservice.js +0 -433
  547. package/lib/services/cryptoservice.js.map +0 -1
  548. package/lib/services/cryptoservice.spec.d.ts +0 -2
  549. package/lib/services/cryptoservice.spec.d.ts.map +0 -1
  550. package/lib/services/cryptoservice.spec.js +0 -177
  551. package/lib/services/cryptoservice.spec.js.map +0 -1
  552. package/lib/services/debugmailer.d.ts +0 -36
  553. package/lib/services/debugmailer.d.ts.map +0 -1
  554. package/lib/services/debugmailer.js.map +0 -1
  555. package/lib/services/debugmailer.spec.d.ts +0 -2
  556. package/lib/services/debugmailer.spec.d.ts.map +0 -1
  557. package/lib/services/debugmailer.spec.js +0 -32
  558. package/lib/services/debugmailer.spec.js.map +0 -1
  559. package/lib/services/domainservice.d.ts +0 -272
  560. package/lib/services/domainservice.d.ts.map +0 -1
  561. package/lib/services/domainservice.js +0 -651
  562. package/lib/services/domainservice.js.map +0 -1
  563. package/lib/services/domainservice.spec.d.ts +0 -2
  564. package/lib/services/domainservice.spec.d.ts.map +0 -1
  565. package/lib/services/domainservice.spec.js +0 -592
  566. package/lib/services/domainservice.spec.js.map +0 -1
  567. package/lib/services/filebinary.d.ts +0 -136
  568. package/lib/services/filebinary.d.ts.map +0 -1
  569. package/lib/services/filebinary.js +0 -373
  570. package/lib/services/filebinary.js.map +0 -1
  571. package/lib/services/filebinary.spec.d.ts +0 -25
  572. package/lib/services/filebinary.spec.d.ts.map +0 -1
  573. package/lib/services/filebinary.spec.js +0 -428
  574. package/lib/services/filebinary.spec.js.map +0 -1
  575. package/lib/services/fileconfiguration.d.ts +0 -23
  576. package/lib/services/fileconfiguration.d.ts.map +0 -1
  577. package/lib/services/fileconfiguration.js +0 -48
  578. package/lib/services/fileconfiguration.js.map +0 -1
  579. package/lib/services/fileconfiguration.spec.d.ts +0 -2
  580. package/lib/services/fileconfiguration.spec.d.ts.map +0 -1
  581. package/lib/services/fileconfiguration.spec.js +0 -215
  582. package/lib/services/fileconfiguration.spec.js.map +0 -1
  583. package/lib/services/invitationservice.d.ts +0 -223
  584. package/lib/services/invitationservice.d.ts.map +0 -1
  585. package/lib/services/invitationservice.js +0 -529
  586. package/lib/services/invitationservice.js.map +0 -1
  587. package/lib/services/invitationservice.spec.d.ts +0 -2
  588. package/lib/services/invitationservice.spec.d.ts.map +0 -1
  589. package/lib/services/invitationservice.spec.js +0 -567
  590. package/lib/services/invitationservice.spec.js.map +0 -1
  591. package/lib/services/kubernetesconfiguration.d.ts +0 -27
  592. package/lib/services/kubernetesconfiguration.d.ts.map +0 -1
  593. package/lib/services/kubernetesconfiguration.js +0 -52
  594. package/lib/services/kubernetesconfiguration.js.map +0 -1
  595. package/lib/services/kubernetesconfiguration.spec.d.ts +0 -2
  596. package/lib/services/kubernetesconfiguration.spec.d.ts.map +0 -1
  597. package/lib/services/kubernetesconfiguration.spec.js +0 -206
  598. package/lib/services/kubernetesconfiguration.spec.js.map +0 -1
  599. package/lib/services/mailer.d.ts +0 -166
  600. package/lib/services/mailer.d.ts.map +0 -1
  601. package/lib/services/mailer.js +0 -176
  602. package/lib/services/mailer.js.map +0 -1
  603. package/lib/services/mailer.spec.d.ts +0 -2
  604. package/lib/services/mailer.spec.d.ts.map +0 -1
  605. package/lib/services/mailer.spec.js +0 -158
  606. package/lib/services/mailer.spec.js.map +0 -1
  607. package/lib/services/notificationservice.d.ts.map +0 -1
  608. package/lib/services/notificationservice.js.map +0 -1
  609. package/lib/services/notificationservice.spec.d.ts +0 -2
  610. package/lib/services/notificationservice.spec.d.ts.map +0 -1
  611. package/lib/services/notificationservice.spec.js +0 -83
  612. package/lib/services/notificationservice.spec.js.map +0 -1
  613. package/lib/services/oauth.spec.d.ts +0 -2
  614. package/lib/services/oauth.spec.d.ts.map +0 -1
  615. package/lib/services/oauth.spec.js +0 -208
  616. package/lib/services/oauth.spec.js.map +0 -1
  617. package/lib/services/prometheus.d.ts.map +0 -1
  618. package/lib/services/prometheus.js +0 -160
  619. package/lib/services/prometheus.js.map +0 -1
  620. package/lib/services/prometheus.spec.d.ts +0 -2
  621. package/lib/services/prometheus.spec.d.ts.map +0 -1
  622. package/lib/services/prometheus.spec.js +0 -76
  623. package/lib/services/prometheus.spec.js.map +0 -1
  624. package/lib/services/resource.d.ts.map +0 -1
  625. package/lib/services/resource.js +0 -170
  626. package/lib/services/resource.js.map +0 -1
  627. package/lib/services/resource.spec.d.ts +0 -2
  628. package/lib/services/resource.spec.d.ts.map +0 -1
  629. package/lib/services/resource.spec.js +0 -140
  630. package/lib/services/resource.spec.js.map +0 -1
  631. package/lib/services/service.spec.d.ts +0 -2
  632. package/lib/services/service.spec.d.ts.map +0 -1
  633. package/lib/services/service.spec.js +0 -286
  634. package/lib/services/service.spec.js.map +0 -1
  635. package/lib/stores/aggregator.d.ts +0 -48
  636. package/lib/stores/aggregator.d.ts.map +0 -1
  637. package/lib/stores/aggregator.js +0 -80
  638. package/lib/stores/aggregator.js.map +0 -1
  639. package/lib/stores/file.d.ts +0 -108
  640. package/lib/stores/file.d.ts.map +0 -1
  641. package/lib/stores/file.js +0 -188
  642. package/lib/stores/file.js.map +0 -1
  643. package/lib/stores/file.spec.d.ts +0 -13
  644. package/lib/stores/file.spec.d.ts.map +0 -1
  645. package/lib/stores/file.spec.js +0 -138
  646. package/lib/stores/file.spec.js.map +0 -1
  647. package/lib/stores/mapper.d.ts +0 -150
  648. package/lib/stores/mapper.d.ts.map +0 -1
  649. package/lib/stores/mapper.js +0 -293
  650. package/lib/stores/mapper.js.map +0 -1
  651. package/lib/stores/mapper.spec.d.ts +0 -2
  652. package/lib/stores/mapper.spec.d.ts.map +0 -1
  653. package/lib/stores/mapper.spec.js +0 -167
  654. package/lib/stores/mapper.spec.js.map +0 -1
  655. package/lib/stores/memory.d.ts +0 -152
  656. package/lib/stores/memory.d.ts.map +0 -1
  657. package/lib/stores/memory.js +0 -371
  658. package/lib/stores/memory.js.map +0 -1
  659. package/lib/stores/memory.spec.d.ts +0 -14
  660. package/lib/stores/memory.spec.d.ts.map +0 -1
  661. package/lib/stores/memory.spec.js +0 -263
  662. package/lib/stores/memory.spec.js.map +0 -1
  663. package/lib/stores/modelmapper.d.ts +0 -62
  664. package/lib/stores/modelmapper.d.ts.map +0 -1
  665. package/lib/stores/modelmapper.js +0 -197
  666. package/lib/stores/modelmapper.js.map +0 -1
  667. package/lib/stores/store.spec.d.ts +0 -57
  668. package/lib/stores/store.spec.d.ts.map +0 -1
  669. package/lib/stores/store.spec.js +0 -737
  670. package/lib/stores/store.spec.js.map +0 -1
  671. package/lib/test.d.ts +0 -265
  672. package/lib/test.d.ts.map +0 -1
  673. package/lib/test.js +0 -622
  674. package/lib/test.js.map +0 -1
  675. package/lib/unpackedapplication.d.ts.map +0 -1
  676. package/lib/unpackedapplication.js +0 -350
  677. package/lib/unpackedapplication.js.map +0 -1
  678. package/lib/utils/abstractdeployer.spec.d.ts +0 -2
  679. package/lib/utils/abstractdeployer.spec.d.ts.map +0 -1
  680. package/lib/utils/abstractdeployer.spec.js +0 -21
  681. package/lib/utils/abstractdeployer.spec.js.map +0 -1
  682. package/lib/utils/case.d.ts +0 -8
  683. package/lib/utils/case.d.ts.map +0 -1
  684. package/lib/utils/case.js +0 -43
  685. package/lib/utils/case.js.map +0 -1
  686. package/lib/utils/case.spec.d.ts +0 -2
  687. package/lib/utils/case.spec.d.ts.map +0 -1
  688. package/lib/utils/case.spec.js +0 -50
  689. package/lib/utils/case.spec.js.map +0 -1
  690. package/lib/utils/context.d.ts +0 -482
  691. package/lib/utils/context.d.ts.map +0 -1
  692. package/lib/utils/context.js +0 -739
  693. package/lib/utils/context.js.map +0 -1
  694. package/lib/utils/context.spec.d.ts +0 -10
  695. package/lib/utils/context.spec.d.ts.map +0 -1
  696. package/lib/utils/context.spec.js +0 -383
  697. package/lib/utils/context.spec.js.map +0 -1
  698. package/lib/utils/cookie.d.ts.map +0 -1
  699. package/lib/utils/cookie.js.map +0 -1
  700. package/lib/utils/cookie.spec.d.ts +0 -2
  701. package/lib/utils/cookie.spec.d.ts.map +0 -1
  702. package/lib/utils/cookie.spec.js +0 -88
  703. package/lib/utils/cookie.spec.js.map +0 -1
  704. package/lib/utils/esm.d.ts +0 -14
  705. package/lib/utils/esm.d.ts.map +0 -1
  706. package/lib/utils/esm.js +0 -19
  707. package/lib/utils/esm.js.map +0 -1
  708. package/lib/utils/httpcontext.d.ts.map +0 -1
  709. package/lib/utils/httpcontext.js.map +0 -1
  710. package/lib/utils/httpcontext.spec.d.ts +0 -5
  711. package/lib/utils/httpcontext.spec.d.ts.map +0 -1
  712. package/lib/utils/httpcontext.spec.js +0 -77
  713. package/lib/utils/httpcontext.spec.js.map +0 -1
  714. package/lib/utils/logger.d.ts +0 -92
  715. package/lib/utils/logger.d.ts.map +0 -1
  716. package/lib/utils/logger.js +0 -121
  717. package/lib/utils/logger.js.map +0 -1
  718. package/lib/utils/logger.spec.d.ts +0 -2
  719. package/lib/utils/logger.spec.d.ts.map +0 -1
  720. package/lib/utils/logger.spec.js +0 -48
  721. package/lib/utils/logger.spec.js.map +0 -1
  722. package/lib/utils/serializers.d.ts +0 -162
  723. package/lib/utils/serializers.d.ts.map +0 -1
  724. package/lib/utils/serializers.js +0 -420
  725. package/lib/utils/serializers.js.map +0 -1
  726. package/lib/utils/serializers.spec.d.ts +0 -2
  727. package/lib/utils/serializers.spec.d.ts.map +0 -1
  728. package/lib/utils/serializers.spec.js +0 -311
  729. package/lib/utils/serializers.spec.js.map +0 -1
  730. package/lib/utils/session.d.ts +0 -123
  731. package/lib/utils/session.d.ts.map +0 -1
  732. package/lib/utils/session.js +0 -156
  733. package/lib/utils/session.js.map +0 -1
  734. package/lib/utils/session.spec.d.ts +0 -2
  735. package/lib/utils/session.spec.d.ts.map +0 -1
  736. package/lib/utils/session.spec.js +0 -81
  737. package/lib/utils/session.spec.js.map +0 -1
  738. package/lib/utils/throttler.d.ts +0 -99
  739. package/lib/utils/throttler.d.ts.map +0 -1
  740. package/lib/utils/throttler.js +0 -160
  741. package/lib/utils/throttler.js.map +0 -1
  742. package/lib/utils/throttler.spec.d.ts +0 -2
  743. package/lib/utils/throttler.spec.d.ts.map +0 -1
  744. package/lib/utils/throttler.spec.js +0 -53
  745. package/lib/utils/throttler.spec.js.map +0 -1
  746. package/lib/utils/waiter.d.ts +0 -94
  747. package/lib/utils/waiter.d.ts.map +0 -1
  748. package/lib/utils/waiter.js +0 -148
  749. package/lib/utils/waiter.js.map +0 -1
  750. package/lib/utils/waiter.spec.d.ts +0 -2
  751. package/lib/utils/waiter.spec.d.ts.map +0 -1
  752. package/lib/utils/waiter.spec.js +0 -98
  753. package/lib/utils/waiter.spec.js.map +0 -1
  754. package/test/jsonutils/mdocs.yaml +0 -56
  755. package/test/jsonutils/test.json +0 -3
  756. package/test/jsonutils/test.yml +0 -5
@@ -0,0 +1,492 @@
1
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
2
+ var useValue = arguments.length > 2;
3
+ for (var i = 0; i < initializers.length; i++) {
4
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
5
+ }
6
+ return useValue ? value : void 0;
7
+ };
8
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
9
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
10
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
11
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
12
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
13
+ var _, done = false;
14
+ for (var i = decorators.length - 1; i >= 0; i--) {
15
+ var context = {};
16
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
17
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
18
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
19
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
20
+ if (kind === "accessor") {
21
+ if (result === void 0) continue;
22
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
23
+ if (_ = accept(result.get)) descriptor.get = _;
24
+ if (_ = accept(result.set)) descriptor.set = _;
25
+ if (_ = accept(result.init)) initializers.unshift(_);
26
+ }
27
+ else if (_ = accept(result)) {
28
+ if (kind === "field") initializers.unshift(_);
29
+ else descriptor[key] = _;
30
+ }
31
+ }
32
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
33
+ done = true;
34
+ };
35
+ import { deepmerge } from "deepmerge-ts";
36
+ import * as fs from "fs";
37
+ import { Application } from "./application.js";
38
+ import { SectionEnum } from "./iconfiguration.js";
39
+ import { FileUtils } from "@webda/utils";
40
+ import { getMachineId } from "../core/hooks.js";
41
+ import { join, resolve, relative, dirname } from "path";
42
+ import { ProcessCache } from "../cache/cache.js";
43
+ /**
44
+ * Empty git information
45
+ */
46
+ export const EmptyGitInformation = {
47
+ branch: "",
48
+ commit: "",
49
+ short: "",
50
+ tag: "",
51
+ tags: [],
52
+ version: ""
53
+ };
54
+ /**
55
+ * An unpacked application load dynamically all webda.module.json
56
+ * And load also all the package description
57
+ *
58
+ * The normal Application is designed to load all this information from
59
+ * the cachedModule to avoid any unecessary action within a production environment
60
+ */
61
+ let UnpackedApplication = (() => {
62
+ let _classSuper = Application;
63
+ let _staticExtraInitializers = [];
64
+ let _static_findModulesFiles_decorators;
65
+ return class UnpackedApplication extends _classSuper {
66
+ static {
67
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
68
+ _static_findModulesFiles_decorators = [ProcessCache()];
69
+ __esDecorate(this, null, _static_findModulesFiles_decorators, { kind: "method", name: "findModulesFiles", static: true, private: false, access: { has: obj => "findModulesFiles" in obj, get: obj => obj.findModulesFiles }, metadata: _metadata }, null, _staticExtraInitializers);
70
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
71
+ __runInitializers(this, _staticExtraInitializers);
72
+ }
73
+ /** Create a new UnpackedApplication
74
+ * @param file - file path or partial configuration
75
+ * @param logger - the logger instance
76
+ */
77
+ constructor(file, logger) {
78
+ super(typeof file === "string"
79
+ ? file
80
+ : {
81
+ version: 4,
82
+ application: {},
83
+ services: {},
84
+ parameters: {},
85
+ ...file
86
+ }, logger);
87
+ if (typeof file !== "string") {
88
+ this.baseConfiguration = this.completeConfiguration(this.baseConfiguration);
89
+ }
90
+ }
91
+ /**
92
+ * Ensure default configuration after load
93
+ * @returns the result
94
+ */
95
+ async load() {
96
+ await super.load();
97
+ // Ensuring default configuration after loadModule as we do auto-type guess and needs the Modda
98
+ // We only do it in UnpackedApplication as Application should be optimized for startup
99
+ // Application should have a webda.config.json optimized by the builder
100
+ // webda config > webda.config.json
101
+ this.ensureDefaultConfiguration(this.baseConfiguration);
102
+ return this;
103
+ }
104
+ /**
105
+ * Ensure default parameters are set on our application
106
+ * Creating the default services if they do not exist
107
+ *
108
+ * Might want to have only this in unpackaged application as Application should
109
+ * have a perfectly valid configuration
110
+ * @param configuration - the configuration
111
+ */
112
+ ensureDefaultConfiguration(configuration) {
113
+ configuration.services ??= {};
114
+ configuration.parameters ??= {};
115
+ configuration.parameters.apiUrl ??= "http://localhost:18080";
116
+ configuration.parameters.metrics ??= {};
117
+ if (configuration.parameters.metrics) {
118
+ configuration.parameters.metrics.labels ??= {};
119
+ configuration.parameters.metrics.config ??= {};
120
+ configuration.parameters.metrics.prefix ??= "";
121
+ }
122
+ configuration.parameters.configurationService ??= "Configuration";
123
+ configuration.parameters.defaultStore ??= "Registry";
124
+ const autoRegistry = configuration.services["Registry"] === undefined;
125
+ configuration.services["Router"] ??= {
126
+ type: "Webda/Router"
127
+ };
128
+ // Registry by default
129
+ configuration.services["Registry"] ??= {
130
+ type: "Webda/MemoryStore",
131
+ persistence: {
132
+ path: ".registry",
133
+ key: getMachineId()
134
+ }
135
+ };
136
+ // CryptoService by default
137
+ configuration.services["CryptoService"] ??= {
138
+ type: "Webda/CryptoService",
139
+ autoRotate: autoRegistry ? 30 : undefined,
140
+ autoCreate: true
141
+ };
142
+ // By default use CookieSessionManager
143
+ // TODO Should not be added here as it is only for HTTP
144
+ configuration.services["SessionManager"] ??= {
145
+ type: "Webda/CookieSessionManager"
146
+ };
147
+ // Ensure type is set to default
148
+ for (const serviceName in configuration.services) {
149
+ if (configuration.services[serviceName].type !== undefined) {
150
+ continue;
151
+ }
152
+ if (this.moddas[this.completeNamespace(serviceName)]) {
153
+ configuration.services[serviceName].type = this.completeNamespace(serviceName);
154
+ continue;
155
+ }
156
+ if (!serviceName.includes("/") && this.moddas[`Webda/${serviceName}`]) {
157
+ configuration.services[serviceName].type = `Webda/${serviceName}`;
158
+ }
159
+ }
160
+ }
161
+ /**
162
+ * Load full configuration
163
+ *
164
+ * webda.config.json and complete the cachedModule
165
+ *
166
+ * @param file - the file path
167
+ * @returns the result
168
+ */
169
+ async loadConfiguration(file) {
170
+ if (!file && this.baseConfiguration) {
171
+ this.baseConfiguration = this.completeConfiguration({ version: 4, ...this.baseConfiguration });
172
+ }
173
+ else if (!fs.existsSync(file)) {
174
+ this.baseConfiguration = this.completeConfiguration({ version: 4, parameters: {} });
175
+ }
176
+ else {
177
+ this.baseConfiguration = this.completeConfiguration(FileUtils.load(file));
178
+ }
179
+ // If cachedModules is defined we do not recompute
180
+ if (!this.baseConfiguration.cachedModules) {
181
+ this.baseConfiguration.cachedModules = {
182
+ project: this.loadProjectInformation(),
183
+ beans: {},
184
+ deployers: {},
185
+ models: {},
186
+ schemas: {},
187
+ moddas: {}
188
+ };
189
+ this.log("DEBUG", "Merging modules into configuration");
190
+ await this.mergeModules(this.baseConfiguration);
191
+ }
192
+ }
193
+ /**
194
+ * Add Moddas, Models and Deployers definitions
195
+ * It also add the project metadata
196
+ *
197
+ * @param configuration - the configuration
198
+ * @returns the result
199
+ */
200
+ completeConfiguration(configuration) {
201
+ // Only one level of includes is permitted
202
+ const imports = configuration.$import || [];
203
+ const effectiveImports = [];
204
+ for (const importFile of imports) {
205
+ if (!fs.existsSync(this.getPath(importFile))) {
206
+ this.log("WARN", `Cannot import configuration '${importFile}'`);
207
+ continue;
208
+ }
209
+ effectiveImports.push(importFile);
210
+ const includeConfiguration = FileUtils.load(this.getPath(importFile));
211
+ if (includeConfiguration.imports?.length) {
212
+ this.log("WARN", `Imported configuration '${importFile}' has nested imports that will be skipped`);
213
+ }
214
+ configuration = deepmerge(includeConfiguration, configuration);
215
+ }
216
+ configuration.$import = effectiveImports;
217
+ // Ensure default values
218
+ return configuration;
219
+ }
220
+ /**
221
+ * @param _name - the name to use
222
+ * @param _version - the version string
223
+ * @returns empty git information
224
+ */
225
+ getGitInformation(_name, _version) {
226
+ return {
227
+ branch: "",
228
+ commit: "",
229
+ short: "",
230
+ tag: "",
231
+ tags: [],
232
+ version: ""
233
+ };
234
+ }
235
+ /** Upgrade a v3 configuration to v4 format */
236
+ upgradeConfigToV4() {
237
+ /*
238
+ // Move to router
239
+
240
+ trustedProxies
241
+ csrfOrigins
242
+ website
243
+ static
244
+ apiUrl
245
+ requestLimit
246
+ requestTimeout
247
+ defaultHeaders
248
+
249
+ // Move to Core
250
+ configurationService
251
+ defaultStore
252
+ ignoreBeans
253
+
254
+ // metrics??
255
+ */
256
+ }
257
+ /**
258
+ * Check package.json
259
+ * @returns the result
260
+ */
261
+ loadProjectInformation() {
262
+ const info = {
263
+ deployment: {
264
+ name: ""
265
+ },
266
+ package: {
267
+ name: "",
268
+ version: ""
269
+ },
270
+ git: EmptyGitInformation,
271
+ webda: {}
272
+ };
273
+ let packageJson = join(this.applicationPath, "package.json");
274
+ if (fs.existsSync(packageJson)) {
275
+ info.package = FileUtils.load(packageJson);
276
+ }
277
+ info.git = this.getGitInformation(info.package?.name, info.package?.version);
278
+ info.webda = info.package.webda || {};
279
+ let parent = join(this.applicationPath, "..");
280
+ do {
281
+ packageJson = join(parent, "package.json");
282
+ if (fs.existsSync(packageJson)) {
283
+ const currentInfo = FileUtils.load(packageJson);
284
+ if (currentInfo.workspaces) {
285
+ this.log("DEBUG", "Application is running within a workspace");
286
+ // Replace any relative path by absolute one
287
+ for (const i in currentInfo.webda) {
288
+ if (currentInfo.webda[i].startsWith("./")) {
289
+ currentInfo.webda[i] = join(resolve(parent), currentInfo.webda[i].substr(2));
290
+ }
291
+ }
292
+ info.webda = deepmerge(currentInfo.webda || {}, info.webda);
293
+ info.webda.workspaces = {
294
+ packages: currentInfo.workspaces,
295
+ parent: currentInfo,
296
+ path: resolve(parent)
297
+ };
298
+ break;
299
+ }
300
+ }
301
+ parent = resolve(join(parent, ".."));
302
+ } while (parent !== resolve(join(parent, "..")));
303
+ // Check modules
304
+ return info;
305
+ }
306
+ /**
307
+ * Search the node_modules structure for webda.module.json files
308
+ *
309
+ * @param path - the path
310
+ * @returns the result
311
+ */
312
+ static async findModulesFiles(path) {
313
+ if (!path.endsWith("node_modules") || !fs.existsSync(path)) {
314
+ return [];
315
+ }
316
+ // Track visited directories (by realpath) to prevent infinite loops
317
+ // caused by pnpm's symlink structure where workspace packages
318
+ // reference each other through nested node_modules
319
+ const visited = new Set();
320
+ const scanNodeModules = async (nmPath) => {
321
+ const realNmPath = await fs.promises.realpath(nmPath).catch(() => nmPath);
322
+ if (visited.has(realNmPath)) {
323
+ return [];
324
+ }
325
+ visited.add(realNmPath);
326
+ if (!fs.existsSync(nmPath)) {
327
+ return [];
328
+ }
329
+ const files = new Set();
330
+ const checkFolder = async (filepath) => {
331
+ if (fs.existsSync(join(filepath, "webda.module.json"))) {
332
+ files.add(join(filepath, "webda.module.json"));
333
+ }
334
+ if (fs.existsSync(join(filepath, "node_modules"))) {
335
+ (await scanNodeModules(join(filepath, "node_modules"))).forEach(f => files.add(f));
336
+ }
337
+ };
338
+ const recursiveSearch = async (dirpath, depth = 0) => {
339
+ await Promise.all((await fs.promises.readdir(dirpath, { withFileTypes: true })).map(async (file) => {
340
+ if (file.name.startsWith(".")) {
341
+ return;
342
+ }
343
+ const filepath = join(dirpath, file.name);
344
+ if (file.isDirectory() && file.name.startsWith("@") && depth === 0) {
345
+ // One recursion
346
+ await recursiveSearch(filepath, depth + 1);
347
+ }
348
+ else if (file.isDirectory()) {
349
+ await checkFolder(filepath);
350
+ }
351
+ else if (file.isSymbolicLink()) {
352
+ // We want to follow symbolic links w/o increasing depth
353
+ let realPath;
354
+ try {
355
+ // realpathSync will throw if the symlink is broken
356
+ realPath = await fs.promises.realpath(filepath);
357
+ }
358
+ catch (err) {
359
+ return;
360
+ }
361
+ await checkFolder(realPath);
362
+ }
363
+ }));
364
+ };
365
+ await recursiveSearch(nmPath, 0);
366
+ return [...files];
367
+ };
368
+ return scanNodeModules(path);
369
+ }
370
+ /**
371
+ * Load all imported modules and current module
372
+ * It will compile module
373
+ * Generate the current module file
374
+ * Load any imported webda.module.json
375
+ * @param module - the module to load
376
+ * @returns the list of results
377
+ */
378
+ async findModules(module) {
379
+ const appPath = this.getPath();
380
+ // Modules should be cached on deploy
381
+ const files = [];
382
+ const currentModule = this.getPath("webda.module.json");
383
+ if (fs.existsSync(currentModule)) {
384
+ files.push(currentModule);
385
+ }
386
+ this.log("TRACE", "Searching for modules in", this.getPath("node_modules"));
387
+ files.push(...(await UnpackedApplication.findModulesFiles(this.getPath("node_modules"))));
388
+ // Search workspace for webda.module.json
389
+ if (module.project.webda.workspaces && module.project.webda.workspaces.path !== "") {
390
+ this.log("TRACE", "Searching for modules in", join(module.project.webda.workspaces.path, "node_modules"));
391
+ files.push(...(await UnpackedApplication.findModulesFiles(join(module.project.webda.workspaces.path, "node_modules"))));
392
+ }
393
+ // Ensure we are not adding many times the same modules
394
+ // App's own module always included, filterModule only applies to dependencies
395
+ const currentModuleReal = fs.existsSync(currentModule) ? fs.realpathSync(currentModule) : undefined;
396
+ const moduleInfo = Array.from(new Set(files.map(n => fs.realpathSync(n)))).filter(f => f === currentModuleReal || this.filterModule(f));
397
+ this.log("TRACE", "Found modules", moduleInfo, "for", appPath);
398
+ return moduleInfo;
399
+ }
400
+ /**
401
+ * Only allow local and core module and sample-app
402
+ * @param _filename - the filename
403
+ * @returns true if the condition is met
404
+ */
405
+ filterModule(_filename) {
406
+ return true;
407
+ }
408
+ /**
409
+ * Load a webda.module.json file
410
+ * Resolve the linked file to current application
411
+ *
412
+ * @param moduleFile to load
413
+ * @returns the result
414
+ */
415
+ loadWebdaModule(moduleFile) {
416
+ const module = FileUtils.load(moduleFile);
417
+ if (!module.$schema?.endsWith("/webda.module.v4.json")) {
418
+ this.log("WARN", `Module '${moduleFile}' is not a v4 format, skipping module`);
419
+ return {
420
+ models: {},
421
+ schemas: {},
422
+ beans: {},
423
+ deployers: {},
424
+ moddas: {},
425
+ project: undefined
426
+ };
427
+ }
428
+ Object.keys(SectionEnum)
429
+ .filter(k => Number.isNaN(+k))
430
+ .forEach(p => {
431
+ // Do not keep Beans from other modules
432
+ if (this.getPath("webda.module.json") !== moduleFile && SectionEnum[p] === "beans") {
433
+ delete module[SectionEnum[p]];
434
+ return;
435
+ }
436
+ for (const key in module[SectionEnum[p]]) {
437
+ const relBase = relative(this.getPath(), dirname(moduleFile));
438
+ module[SectionEnum[p]][key].Import = join(relBase, module[SectionEnum[p]][key].Import);
439
+ if (module[SectionEnum[p]][key].Configuration) {
440
+ module[SectionEnum[p]][key].Configuration = join(relBase, module[SectionEnum[p]][key].Configuration);
441
+ }
442
+ }
443
+ });
444
+ return module;
445
+ }
446
+ /**
447
+ * Merge all modules into one cached module
448
+ *
449
+ * @param module - the module to load
450
+ * @param configuration - the configuration
451
+ * @returns the result
452
+ */
453
+ async mergeModules(configuration) {
454
+ const module = configuration.cachedModules;
455
+ const appModule = this.getPath("webda.module.json");
456
+ const files = await this.findModules(module);
457
+ const value = files
458
+ .map(f => {
459
+ const currentModule = this.loadWebdaModule(f);
460
+ // We only take the Beans from current application
461
+ if (appModule !== f) {
462
+ this.log("DEBUG", `Load module without beans '${f}'`);
463
+ delete currentModule.beans;
464
+ }
465
+ else {
466
+ this.log("DEBUG", `Load module with beans '${f}'`);
467
+ }
468
+ return currentModule;
469
+ })
470
+ .reduce((prev, val) => {
471
+ return deepmerge(prev, val);
472
+ }, module);
473
+ Object.keys(SectionEnum)
474
+ .filter(k => Number.isNaN(+k))
475
+ .forEach(p => {
476
+ module[SectionEnum[p]] = value[SectionEnum[p]];
477
+ });
478
+ // Copying schemas, capabilities, and behaviors. `behaviors` lives outside
479
+ // SectionEnum because Behavior classes are intentionally not models /
480
+ // moddas / beans / deployers — but the merged value must still flow
481
+ // through to the runtime so DomainService.addBehaviorOperations sees them.
482
+ module.schemas = value.schemas;
483
+ module.capabilities = value.capabilities;
484
+ module.behaviors = value.behaviors;
485
+ this.log("DEBUG", "Merged modules", module);
486
+ await this.loadModule(module);
487
+ return module;
488
+ }
489
+ };
490
+ })();
491
+ export { UnpackedApplication };
492
+ //# sourceMappingURL=unpackedapplication.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unpackedapplication.js","sourceRoot":"","sources":["../../src/application/unpackedapplication.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { Core } from "../core/core.js";
2
+ import type { ServiceCommandInfo } from "../services/servicecommands.js";
3
+ /**
4
+ * Decide which Core lifecycle phase a CLI command should run at, based on the
5
+ * phases declared by every service that provides the command.
6
+ *
7
+ * Rule:
8
+ * - All declared phases `"resolved"` → run `Core.resolve()` only (no service.init()).
9
+ * - All `undefined` or `"initialized"` → run `Core.init()` (full initialization).
10
+ * - Mixed → throw with an error naming the command and conflicting phases.
11
+ * - Empty array → `"initialized"` (no providers = safest fallback).
12
+ *
13
+ * `undefined` in the input is treated as `"initialized"` (a service declaring no
14
+ * phase means "no opinion — use the default, full init").
15
+ * @param phases - per-provider phase declarations collected by `collectServiceCommands`.
16
+ * @param cmdName - name of the command, included in the mixed-phase error for diagnosability.
17
+ * @returns the lifecycle phase Core should run at for this command.
18
+ */
19
+ export declare function selectPhase(phases: Array<"resolved" | "initialized" | undefined>, cmdName?: string): "resolved" | "initialized";
20
+ /**
21
+ * Boot a Core instance up to the phase required by the given command. Shared
22
+ * entry point for every cli.ts site that dispatches a `@Command`.
23
+ * @param core - a freshly-constructed `Core` instance (not yet resolved or initialized).
24
+ * @param cmdName - name of the command being dispatched.
25
+ * @param cmdInfo - merged command info from `collectServiceCommands`.
26
+ */
27
+ export declare function bootCoreForCommand(core: Core, cmdName: string, cmdInfo: ServiceCommandInfo): Promise<void>;
28
+ //# sourceMappingURL=cli-phase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-phase.d.ts","sourceRoot":"","sources":["../../src/bin/cli-phase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEzE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,KAAK,CAAC,UAAU,GAAG,aAAa,GAAG,SAAS,CAAC,EACrD,OAAO,GAAE,MAAoB,GAC5B,UAAU,GAAG,aAAa,CAW5B;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAOf"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Decide which Core lifecycle phase a CLI command should run at, based on the
3
+ * phases declared by every service that provides the command.
4
+ *
5
+ * Rule:
6
+ * - All declared phases `"resolved"` → run `Core.resolve()` only (no service.init()).
7
+ * - All `undefined` or `"initialized"` → run `Core.init()` (full initialization).
8
+ * - Mixed → throw with an error naming the command and conflicting phases.
9
+ * - Empty array → `"initialized"` (no providers = safest fallback).
10
+ *
11
+ * `undefined` in the input is treated as `"initialized"` (a service declaring no
12
+ * phase means "no opinion — use the default, full init").
13
+ * @param phases - per-provider phase declarations collected by `collectServiceCommands`.
14
+ * @param cmdName - name of the command, included in the mixed-phase error for diagnosability.
15
+ * @returns the lifecycle phase Core should run at for this command.
16
+ */
17
+ export function selectPhase(phases, cmdName = "<unknown>") {
18
+ if (phases.length === 0)
19
+ return "initialized";
20
+ const normalized = phases.map(p => p ?? "initialized");
21
+ const unique = new Set(normalized);
22
+ if (unique.size === 1) {
23
+ return normalized[0];
24
+ }
25
+ throw new Error(`Command '${cmdName}' has inconsistent phases across services: ${[...unique].join(", ")}. ` +
26
+ `All services declaring a command must agree on phase.`);
27
+ }
28
+ /**
29
+ * Boot a Core instance up to the phase required by the given command. Shared
30
+ * entry point for every cli.ts site that dispatches a `@Command`.
31
+ * @param core - a freshly-constructed `Core` instance (not yet resolved or initialized).
32
+ * @param cmdName - name of the command being dispatched.
33
+ * @param cmdInfo - merged command info from `collectServiceCommands`.
34
+ */
35
+ export async function bootCoreForCommand(core, cmdName, cmdInfo) {
36
+ const phase = selectPhase(cmdInfo.phases, cmdName);
37
+ if (phase === "resolved") {
38
+ await core.resolve();
39
+ }
40
+ else {
41
+ await core.init();
42
+ }
43
+ }
44
+ //# sourceMappingURL=cli-phase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-phase.js","sourceRoot":"","sources":["../../src/bin/cli-phase.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,WAAW,CACzB,MAAqD,EACrD,OAAO,GAAW,WAAW;IAE7B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,aAAa,CAAC;IAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IACnC,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,8CAA8C,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QACzF,uDAAuD,CAC1D,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAAU,EACV,OAAe,EACf,OAA2B;IAE3B,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnD,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QACzB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;AACH,CAAC"}