@strapi/core 0.0.0-experimental.3f7b2587c5e3d548262671895cf11d8bf8c9166e → 0.0.0-experimental.44c735643fa8b4286750c2dca43f185bb30b7760

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.

Potentially problematic release.


This version of @strapi/core might be problematic. Click here for more details.

Files changed (851) hide show
  1. package/LICENSE +18 -3
  2. package/dist/Strapi.d.ts +52 -59
  3. package/dist/Strapi.d.ts.map +1 -1
  4. package/dist/Strapi.js +195 -207
  5. package/dist/Strapi.js.map +1 -1
  6. package/dist/Strapi.mjs +166 -198
  7. package/dist/Strapi.mjs.map +1 -1
  8. package/dist/configuration/config-loader.d.ts.map +1 -1
  9. package/dist/configuration/config-loader.js +9 -5
  10. package/dist/configuration/config-loader.js.map +1 -1
  11. package/dist/configuration/config-loader.mjs +9 -5
  12. package/dist/configuration/config-loader.mjs.map +1 -1
  13. package/dist/configuration/get-dirs.d.ts +10 -0
  14. package/dist/configuration/get-dirs.d.ts.map +1 -0
  15. package/dist/{utils → configuration}/get-dirs.js +3 -2
  16. package/dist/configuration/get-dirs.js.map +1 -0
  17. package/dist/{utils → configuration}/get-dirs.mjs +3 -2
  18. package/dist/configuration/get-dirs.mjs.map +1 -0
  19. package/dist/configuration/index.d.ts +4 -7
  20. package/dist/configuration/index.d.ts.map +1 -1
  21. package/dist/configuration/index.js +12 -10
  22. package/dist/configuration/index.js.map +1 -1
  23. package/dist/configuration/index.mjs +6 -5
  24. package/dist/configuration/index.mjs.map +1 -1
  25. package/dist/configuration/urls.d.ts +8 -0
  26. package/dist/configuration/urls.d.ts.map +1 -0
  27. package/dist/configuration/urls.js +68 -0
  28. package/dist/configuration/urls.js.map +1 -0
  29. package/dist/configuration/urls.mjs +66 -0
  30. package/dist/configuration/urls.mjs.map +1 -0
  31. package/dist/container.d.ts +2 -2
  32. package/dist/container.d.ts.map +1 -1
  33. package/dist/container.js.map +1 -1
  34. package/dist/container.mjs.map +1 -1
  35. package/dist/core-api/controller/collection-type.d.ts +4 -4
  36. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  37. package/dist/core-api/controller/collection-type.js +15 -23
  38. package/dist/core-api/controller/collection-type.js.map +1 -1
  39. package/dist/core-api/controller/collection-type.mjs +11 -20
  40. package/dist/core-api/controller/collection-type.mjs.map +1 -1
  41. package/dist/core-api/controller/index.d.ts +3 -3
  42. package/dist/core-api/controller/index.d.ts.map +1 -1
  43. package/dist/core-api/controller/index.js +15 -10
  44. package/dist/core-api/controller/index.js.map +1 -1
  45. package/dist/core-api/controller/index.mjs +14 -9
  46. package/dist/core-api/controller/index.mjs.map +1 -1
  47. package/dist/core-api/controller/single-type.d.ts +4 -4
  48. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  49. package/dist/core-api/controller/single-type.js +9 -13
  50. package/dist/core-api/controller/single-type.js.map +1 -1
  51. package/dist/core-api/controller/single-type.mjs +6 -11
  52. package/dist/core-api/controller/single-type.mjs.map +1 -1
  53. package/dist/core-api/controller/transform.d.ts +10 -18
  54. package/dist/core-api/controller/transform.d.ts.map +1 -1
  55. package/dist/core-api/controller/transform.js +17 -25
  56. package/dist/core-api/controller/transform.js.map +1 -1
  57. package/dist/core-api/controller/transform.mjs +10 -18
  58. package/dist/core-api/controller/transform.mjs.map +1 -1
  59. package/dist/core-api/routes/index.d.ts.map +1 -1
  60. package/dist/core-api/service/collection-type.d.ts +22 -5
  61. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  62. package/dist/core-api/service/collection-type.js +58 -49
  63. package/dist/core-api/service/collection-type.js.map +1 -1
  64. package/dist/core-api/service/collection-type.mjs +58 -50
  65. package/dist/core-api/service/collection-type.mjs.map +1 -1
  66. package/dist/core-api/service/core-service.d.ts +4 -0
  67. package/dist/core-api/service/core-service.d.ts.map +1 -0
  68. package/dist/core-api/service/core-service.js +12 -0
  69. package/dist/core-api/service/core-service.js.map +1 -0
  70. package/dist/core-api/service/core-service.mjs +12 -0
  71. package/dist/core-api/service/core-service.mjs.map +1 -0
  72. package/dist/core-api/service/index.d.ts +3 -3
  73. package/dist/core-api/service/index.d.ts.map +1 -1
  74. package/dist/core-api/service/index.js +2 -2
  75. package/dist/core-api/service/index.js.map +1 -1
  76. package/dist/core-api/service/index.mjs +4 -4
  77. package/dist/core-api/service/index.mjs.map +1 -1
  78. package/dist/core-api/service/pagination.d.ts +4 -15
  79. package/dist/core-api/service/pagination.d.ts.map +1 -1
  80. package/dist/core-api/service/pagination.js +18 -55
  81. package/dist/core-api/service/pagination.js.map +1 -1
  82. package/dist/core-api/service/pagination.mjs +16 -53
  83. package/dist/core-api/service/pagination.mjs.map +1 -1
  84. package/dist/core-api/service/single-type.d.ts +14 -8
  85. package/dist/core-api/service/single-type.d.ts.map +1 -1
  86. package/dist/core-api/service/single-type.js +42 -50
  87. package/dist/core-api/service/single-type.js.map +1 -1
  88. package/dist/core-api/service/single-type.mjs +41 -50
  89. package/dist/core-api/service/single-type.mjs.map +1 -1
  90. package/dist/domain/content-type/index.d.ts +1 -1
  91. package/dist/domain/content-type/index.d.ts.map +1 -1
  92. package/dist/domain/content-type/index.js +22 -4
  93. package/dist/domain/content-type/index.js.map +1 -1
  94. package/dist/domain/content-type/index.mjs +18 -0
  95. package/dist/domain/content-type/index.mjs.map +1 -1
  96. package/dist/domain/content-type/validator.d.ts.map +1 -1
  97. package/dist/domain/content-type/validator.js +1 -1
  98. package/dist/domain/content-type/validator.js.map +1 -1
  99. package/dist/domain/content-type/validator.mjs +2 -2
  100. package/dist/domain/content-type/validator.mjs.map +1 -1
  101. package/dist/domain/module/index.d.ts +24 -23
  102. package/dist/domain/module/index.d.ts.map +1 -1
  103. package/dist/domain/module/index.js +3 -3
  104. package/dist/domain/module/index.js.map +1 -1
  105. package/dist/domain/module/index.mjs +4 -4
  106. package/dist/domain/module/index.mjs.map +1 -1
  107. package/dist/ee/index.d.ts +4 -2
  108. package/dist/ee/index.d.ts.map +1 -1
  109. package/dist/ee/index.js +3 -3
  110. package/dist/ee/index.js.map +1 -1
  111. package/dist/ee/index.mjs.map +1 -1
  112. package/dist/ee/license.d.ts +2 -2
  113. package/dist/ee/license.d.ts.map +1 -1
  114. package/dist/ee/license.js +2 -1
  115. package/dist/ee/license.js.map +1 -1
  116. package/dist/ee/license.mjs +2 -1
  117. package/dist/ee/license.mjs.map +1 -1
  118. package/dist/factories.d.ts +10 -10
  119. package/dist/factories.d.ts.map +1 -1
  120. package/dist/factories.js +12 -18
  121. package/dist/factories.js.map +1 -1
  122. package/dist/factories.mjs +8 -14
  123. package/dist/factories.mjs.map +1 -1
  124. package/dist/index.d.ts +18 -2
  125. package/dist/index.d.ts.map +1 -1
  126. package/dist/index.js +25 -1
  127. package/dist/index.js.map +1 -1
  128. package/dist/index.mjs +27 -3
  129. package/dist/index.mjs.map +1 -1
  130. package/dist/loaders/admin.d.ts +2 -2
  131. package/dist/loaders/admin.d.ts.map +1 -1
  132. package/dist/loaders/admin.js +0 -1
  133. package/dist/loaders/admin.js.map +1 -1
  134. package/dist/loaders/admin.mjs +0 -1
  135. package/dist/loaders/admin.mjs.map +1 -1
  136. package/dist/loaders/apis.d.ts +2 -2
  137. package/dist/loaders/apis.d.ts.map +1 -1
  138. package/dist/loaders/apis.js +13 -13
  139. package/dist/loaders/apis.js.map +1 -1
  140. package/dist/loaders/apis.mjs +12 -12
  141. package/dist/loaders/apis.mjs.map +1 -1
  142. package/dist/loaders/components.d.ts +2 -2
  143. package/dist/loaders/components.d.ts.map +1 -1
  144. package/dist/loaders/components.js.map +1 -1
  145. package/dist/loaders/components.mjs.map +1 -1
  146. package/dist/loaders/index.d.ts +2 -2
  147. package/dist/loaders/index.d.ts.map +1 -1
  148. package/dist/loaders/index.js +0 -2
  149. package/dist/loaders/index.js.map +1 -1
  150. package/dist/loaders/index.mjs +0 -2
  151. package/dist/loaders/index.mjs.map +1 -1
  152. package/dist/loaders/middlewares.d.ts +2 -2
  153. package/dist/loaders/middlewares.d.ts.map +1 -1
  154. package/dist/loaders/middlewares.js.map +1 -1
  155. package/dist/loaders/middlewares.mjs.map +1 -1
  156. package/dist/loaders/plugins/get-enabled-plugins.d.ts +2 -2
  157. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  158. package/dist/loaders/plugins/get-enabled-plugins.js +42 -15
  159. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  160. package/dist/loaders/plugins/get-enabled-plugins.mjs +13 -8
  161. package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -1
  162. package/dist/loaders/plugins/get-user-plugins-config.js +2 -2
  163. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  164. package/dist/loaders/plugins/index.d.ts +2 -2
  165. package/dist/loaders/plugins/index.d.ts.map +1 -1
  166. package/dist/loaders/plugins/index.js +6 -6
  167. package/dist/loaders/plugins/index.js.map +1 -1
  168. package/dist/loaders/plugins/index.mjs.map +1 -1
  169. package/dist/loaders/policies.d.ts +2 -2
  170. package/dist/loaders/policies.d.ts.map +1 -1
  171. package/dist/loaders/policies.js.map +1 -1
  172. package/dist/loaders/policies.mjs.map +1 -1
  173. package/dist/loaders/sanitizers.d.ts +2 -2
  174. package/dist/loaders/sanitizers.d.ts.map +1 -1
  175. package/dist/loaders/sanitizers.js.map +1 -1
  176. package/dist/loaders/sanitizers.mjs.map +1 -1
  177. package/dist/loaders/src-index.d.ts +2 -2
  178. package/dist/loaders/src-index.d.ts.map +1 -1
  179. package/dist/loaders/src-index.js.map +1 -1
  180. package/dist/loaders/src-index.mjs.map +1 -1
  181. package/dist/loaders/validators.d.ts +2 -2
  182. package/dist/loaders/validators.d.ts.map +1 -1
  183. package/dist/loaders/validators.js.map +1 -1
  184. package/dist/loaders/validators.mjs.map +1 -1
  185. package/dist/middlewares/body.d.ts +4 -4
  186. package/dist/middlewares/body.d.ts.map +1 -1
  187. package/dist/middlewares/body.js +6 -6
  188. package/dist/middlewares/body.js.map +1 -1
  189. package/dist/middlewares/body.mjs +4 -4
  190. package/dist/middlewares/body.mjs.map +1 -1
  191. package/dist/middlewares/compression.d.ts +2 -2
  192. package/dist/middlewares/compression.d.ts.map +1 -1
  193. package/dist/middlewares/compression.js.map +1 -1
  194. package/dist/middlewares/compression.mjs.map +1 -1
  195. package/dist/middlewares/cors.d.ts +2 -2
  196. package/dist/middlewares/cors.d.ts.map +1 -1
  197. package/dist/middlewares/cors.js +9 -7
  198. package/dist/middlewares/cors.js.map +1 -1
  199. package/dist/middlewares/cors.mjs +9 -7
  200. package/dist/middlewares/cors.mjs.map +1 -1
  201. package/dist/middlewares/errors.d.ts +2 -2
  202. package/dist/middlewares/errors.d.ts.map +1 -1
  203. package/dist/middlewares/errors.js.map +1 -1
  204. package/dist/middlewares/errors.mjs.map +1 -1
  205. package/dist/middlewares/favicon.d.ts +2 -2
  206. package/dist/middlewares/favicon.d.ts.map +1 -1
  207. package/dist/middlewares/favicon.js.map +1 -1
  208. package/dist/middlewares/favicon.mjs.map +1 -1
  209. package/dist/middlewares/index.d.ts +2 -2
  210. package/dist/middlewares/index.d.ts.map +1 -1
  211. package/dist/middlewares/index.js.map +1 -1
  212. package/dist/middlewares/index.mjs.map +1 -1
  213. package/dist/middlewares/ip.d.ts +2 -2
  214. package/dist/middlewares/ip.d.ts.map +1 -1
  215. package/dist/middlewares/ip.js.map +1 -1
  216. package/dist/middlewares/ip.mjs.map +1 -1
  217. package/dist/middlewares/logger.d.ts +2 -2
  218. package/dist/middlewares/logger.d.ts.map +1 -1
  219. package/dist/middlewares/logger.js.map +1 -1
  220. package/dist/middlewares/logger.mjs.map +1 -1
  221. package/dist/middlewares/powered-by.d.ts +2 -2
  222. package/dist/middlewares/powered-by.d.ts.map +1 -1
  223. package/dist/middlewares/powered-by.js.map +1 -1
  224. package/dist/middlewares/powered-by.mjs.map +1 -1
  225. package/dist/middlewares/public.d.ts +2 -2
  226. package/dist/middlewares/public.d.ts.map +1 -1
  227. package/dist/middlewares/public.js +3 -3
  228. package/dist/middlewares/public.js.map +1 -1
  229. package/dist/middlewares/public.mjs +1 -1
  230. package/dist/middlewares/public.mjs.map +1 -1
  231. package/dist/middlewares/query.d.ts +2 -2
  232. package/dist/middlewares/query.d.ts.map +1 -1
  233. package/dist/middlewares/query.js.map +1 -1
  234. package/dist/middlewares/query.mjs.map +1 -1
  235. package/dist/middlewares/response-time.d.ts +2 -2
  236. package/dist/middlewares/response-time.d.ts.map +1 -1
  237. package/dist/middlewares/response-time.js.map +1 -1
  238. package/dist/middlewares/response-time.mjs.map +1 -1
  239. package/dist/middlewares/responses.d.ts +3 -3
  240. package/dist/middlewares/responses.d.ts.map +1 -1
  241. package/dist/middlewares/responses.js +2 -2
  242. package/dist/middlewares/responses.js.map +1 -1
  243. package/dist/middlewares/responses.mjs.map +1 -1
  244. package/dist/middlewares/security.d.ts +2 -2
  245. package/dist/middlewares/security.d.ts.map +1 -1
  246. package/dist/middlewares/security.js +13 -6
  247. package/dist/middlewares/security.js.map +1 -1
  248. package/dist/middlewares/security.mjs +12 -5
  249. package/dist/middlewares/security.mjs.map +1 -1
  250. package/dist/middlewares/session.d.ts +2 -2
  251. package/dist/middlewares/session.d.ts.map +1 -1
  252. package/dist/middlewares/session.js +2 -2
  253. package/dist/middlewares/session.js.map +1 -1
  254. package/dist/middlewares/session.mjs.map +1 -1
  255. package/dist/migrations/database/5.0.0-discard-drafts.d.ts +30 -0
  256. package/dist/migrations/database/5.0.0-discard-drafts.d.ts.map +1 -0
  257. package/dist/migrations/database/5.0.0-discard-drafts.js +50 -0
  258. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -0
  259. package/dist/migrations/database/5.0.0-discard-drafts.mjs +50 -0
  260. package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -0
  261. package/dist/migrations/draft-publish.d.ts +17 -0
  262. package/dist/migrations/draft-publish.d.ts.map +1 -0
  263. package/dist/migrations/draft-publish.js +42 -0
  264. package/dist/migrations/draft-publish.js.map +1 -0
  265. package/dist/migrations/draft-publish.mjs +42 -0
  266. package/dist/migrations/draft-publish.mjs.map +1 -0
  267. package/dist/providers/admin.d.ts +3 -0
  268. package/dist/providers/admin.d.ts.map +1 -0
  269. package/dist/providers/admin.js +20 -0
  270. package/dist/providers/admin.js.map +1 -0
  271. package/dist/providers/admin.mjs +21 -0
  272. package/dist/providers/admin.mjs.map +1 -0
  273. package/dist/providers/coreStore.d.ts +3 -0
  274. package/dist/providers/coreStore.d.ts.map +1 -0
  275. package/dist/providers/coreStore.js +11 -0
  276. package/dist/providers/coreStore.js.map +1 -0
  277. package/dist/providers/coreStore.mjs +12 -0
  278. package/dist/providers/coreStore.mjs.map +1 -0
  279. package/dist/providers/cron.d.ts +3 -0
  280. package/dist/providers/cron.d.ts.map +1 -0
  281. package/dist/providers/cron.js +20 -0
  282. package/dist/providers/cron.js.map +1 -0
  283. package/dist/providers/cron.mjs +21 -0
  284. package/dist/providers/cron.mjs.map +1 -0
  285. package/dist/providers/index.d.ts +3 -0
  286. package/dist/providers/index.d.ts.map +1 -0
  287. package/dist/providers/index.js +11 -0
  288. package/dist/providers/index.js.map +1 -0
  289. package/dist/providers/index.mjs +11 -0
  290. package/dist/providers/index.mjs.map +1 -0
  291. package/dist/providers/provider.d.ts +9 -0
  292. package/dist/providers/provider.d.ts.map +1 -0
  293. package/dist/providers/provider.js +5 -0
  294. package/dist/providers/provider.js.map +1 -0
  295. package/dist/providers/provider.mjs +5 -0
  296. package/dist/providers/provider.mjs.map +1 -0
  297. package/dist/providers/registries.d.ts +3 -0
  298. package/dist/providers/registries.d.ts.map +1 -0
  299. package/dist/providers/registries.js +35 -0
  300. package/dist/providers/registries.js.map +1 -0
  301. package/dist/providers/registries.mjs +36 -0
  302. package/dist/providers/registries.mjs.map +1 -0
  303. package/dist/providers/telemetry.d.ts +3 -0
  304. package/dist/providers/telemetry.d.ts.map +1 -0
  305. package/dist/providers/telemetry.js +19 -0
  306. package/dist/providers/telemetry.js.map +1 -0
  307. package/dist/providers/telemetry.mjs +20 -0
  308. package/dist/providers/telemetry.mjs.map +1 -0
  309. package/dist/providers/webhooks.d.ts +3 -0
  310. package/dist/providers/webhooks.d.ts.map +1 -0
  311. package/dist/providers/webhooks.js +30 -0
  312. package/dist/providers/webhooks.js.map +1 -0
  313. package/dist/providers/webhooks.mjs +31 -0
  314. package/dist/providers/webhooks.mjs.map +1 -0
  315. package/dist/registries/apis.d.ts +2 -2
  316. package/dist/registries/apis.d.ts.map +1 -1
  317. package/dist/registries/apis.js +2 -2
  318. package/dist/registries/apis.js.map +1 -1
  319. package/dist/registries/apis.mjs.map +1 -1
  320. package/dist/registries/components.d.ts +6 -6
  321. package/dist/registries/components.d.ts.map +1 -1
  322. package/dist/registries/components.js +2 -2
  323. package/dist/registries/components.js.map +1 -1
  324. package/dist/registries/components.mjs.map +1 -1
  325. package/dist/registries/content-types.d.ts +5 -5
  326. package/dist/registries/content-types.d.ts.map +1 -1
  327. package/dist/registries/content-types.js +4 -5
  328. package/dist/registries/content-types.js.map +1 -1
  329. package/dist/registries/content-types.mjs +1 -2
  330. package/dist/registries/content-types.mjs.map +1 -1
  331. package/dist/registries/controllers.d.ts +10 -10
  332. package/dist/registries/controllers.d.ts.map +1 -1
  333. package/dist/registries/controllers.js +3 -3
  334. package/dist/registries/controllers.js.map +1 -1
  335. package/dist/registries/controllers.mjs.map +1 -1
  336. package/dist/registries/custom-fields.d.ts +3 -3
  337. package/dist/registries/custom-fields.d.ts.map +1 -1
  338. package/dist/registries/custom-fields.js +4 -4
  339. package/dist/registries/custom-fields.js.map +1 -1
  340. package/dist/registries/custom-fields.mjs.map +1 -1
  341. package/dist/registries/hooks.js +2 -2
  342. package/dist/registries/hooks.js.map +1 -1
  343. package/dist/registries/index.d.ts +0 -1
  344. package/dist/registries/index.d.ts.map +1 -1
  345. package/dist/registries/middlewares.d.ts +6 -6
  346. package/dist/registries/middlewares.d.ts.map +1 -1
  347. package/dist/registries/middlewares.js +3 -3
  348. package/dist/registries/middlewares.js.map +1 -1
  349. package/dist/registries/middlewares.mjs.map +1 -1
  350. package/dist/registries/modules.d.ts +2 -2
  351. package/dist/registries/modules.d.ts.map +1 -1
  352. package/dist/registries/modules.js +3 -3
  353. package/dist/registries/modules.js.map +1 -1
  354. package/dist/registries/modules.mjs.map +1 -1
  355. package/dist/registries/plugins.d.ts +5 -5
  356. package/dist/registries/plugins.d.ts.map +1 -1
  357. package/dist/registries/plugins.js +2 -2
  358. package/dist/registries/plugins.js.map +1 -1
  359. package/dist/registries/plugins.mjs.map +1 -1
  360. package/dist/registries/policies.d.ts +22 -10
  361. package/dist/registries/policies.d.ts.map +1 -1
  362. package/dist/registries/policies.js +66 -20
  363. package/dist/registries/policies.js.map +1 -1
  364. package/dist/registries/policies.mjs +65 -19
  365. package/dist/registries/policies.mjs.map +1 -1
  366. package/dist/registries/services.d.ts +8 -8
  367. package/dist/registries/services.d.ts.map +1 -1
  368. package/dist/registries/services.js +3 -3
  369. package/dist/registries/services.js.map +1 -1
  370. package/dist/registries/services.mjs.map +1 -1
  371. package/dist/services/auth/index.d.ts +4 -4
  372. package/dist/services/auth/index.d.ts.map +1 -1
  373. package/dist/services/auth/index.js +3 -3
  374. package/dist/services/auth/index.js.map +1 -1
  375. package/dist/services/auth/index.mjs.map +1 -1
  376. package/dist/services/config.d.ts +3 -0
  377. package/dist/services/config.d.ts.map +1 -0
  378. package/dist/services/config.js +47 -0
  379. package/dist/services/config.js.map +1 -0
  380. package/dist/services/config.mjs +47 -0
  381. package/dist/services/config.mjs.map +1 -0
  382. package/dist/services/content-api/index.d.ts +31 -15
  383. package/dist/services/content-api/index.d.ts.map +1 -1
  384. package/dist/services/content-api/index.js +28 -2
  385. package/dist/services/content-api/index.js.map +1 -1
  386. package/dist/services/content-api/index.mjs +28 -2
  387. package/dist/services/content-api/index.mjs.map +1 -1
  388. package/dist/services/content-api/permissions/index.d.ts +13 -15
  389. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  390. package/dist/services/content-api/permissions/index.js +1 -1
  391. package/dist/services/content-api/permissions/index.js.map +1 -1
  392. package/dist/services/content-api/permissions/index.mjs +1 -1
  393. package/dist/services/content-api/permissions/index.mjs.map +1 -1
  394. package/dist/services/content-api/permissions/providers/action.d.ts +5 -6
  395. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  396. package/dist/services/content-api/permissions/providers/condition.d.ts +5 -6
  397. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  398. package/dist/services/core-store.d.ts.map +1 -1
  399. package/dist/services/core-store.js +3 -3
  400. package/dist/services/core-store.js.map +1 -1
  401. package/dist/services/cron.d.ts +5 -5
  402. package/dist/services/cron.d.ts.map +1 -1
  403. package/dist/services/cron.js +3 -3
  404. package/dist/services/cron.js.map +1 -1
  405. package/dist/services/cron.mjs.map +1 -1
  406. package/dist/services/custom-fields.d.ts +2 -2
  407. package/dist/services/custom-fields.d.ts.map +1 -1
  408. package/dist/services/custom-fields.js.map +1 -1
  409. package/dist/services/custom-fields.mjs.map +1 -1
  410. package/dist/services/document-service/attributes/index.d.ts +6 -0
  411. package/dist/services/document-service/attributes/index.d.ts.map +1 -0
  412. package/dist/services/{entity-service → document-service}/attributes/index.js +5 -5
  413. package/dist/services/document-service/attributes/index.js.map +1 -0
  414. package/dist/services/{entity-service → document-service}/attributes/index.mjs +5 -5
  415. package/dist/services/document-service/attributes/index.mjs.map +1 -0
  416. package/dist/services/document-service/attributes/transforms.d.ts +10 -0
  417. package/dist/services/document-service/attributes/transforms.d.ts.map +1 -0
  418. package/dist/services/{entity-service → document-service}/attributes/transforms.js +3 -3
  419. package/dist/services/document-service/attributes/transforms.js.map +1 -0
  420. package/dist/services/document-service/attributes/transforms.mjs.map +1 -0
  421. package/dist/services/document-service/common.d.ts +4 -0
  422. package/dist/services/document-service/common.d.ts.map +1 -0
  423. package/dist/services/document-service/common.js +7 -0
  424. package/dist/services/document-service/common.js.map +1 -0
  425. package/dist/services/document-service/common.mjs +7 -0
  426. package/dist/services/document-service/common.mjs.map +1 -0
  427. package/dist/services/document-service/components.d.ts +25 -1
  428. package/dist/services/document-service/components.d.ts.map +1 -1
  429. package/dist/services/{entity-service → document-service}/components.js +57 -153
  430. package/dist/services/document-service/components.js.map +1 -0
  431. package/dist/services/{entity-service → document-service}/components.mjs +48 -144
  432. package/dist/services/document-service/components.mjs.map +1 -0
  433. package/dist/services/document-service/draft-and-publish.d.ts +10 -0
  434. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -0
  435. package/dist/services/document-service/draft-and-publish.js +69 -0
  436. package/dist/services/document-service/draft-and-publish.js.map +1 -0
  437. package/dist/services/document-service/draft-and-publish.mjs +69 -0
  438. package/dist/services/document-service/draft-and-publish.mjs.map +1 -0
  439. package/dist/services/document-service/entries.d.ts +10 -0
  440. package/dist/services/document-service/entries.d.ts.map +1 -0
  441. package/dist/services/document-service/entries.js +96 -0
  442. package/dist/services/document-service/entries.js.map +1 -0
  443. package/dist/services/document-service/entries.mjs +96 -0
  444. package/dist/services/document-service/entries.mjs.map +1 -0
  445. package/dist/services/document-service/events.d.ts +25 -0
  446. package/dist/services/document-service/events.d.ts.map +1 -0
  447. package/dist/services/document-service/events.js +47 -0
  448. package/dist/services/document-service/events.js.map +1 -0
  449. package/dist/services/document-service/events.mjs +47 -0
  450. package/dist/services/document-service/events.mjs.map +1 -0
  451. package/dist/services/document-service/{document-service.d.ts → index.d.ts} +3 -7
  452. package/dist/services/document-service/index.d.ts.map +1 -0
  453. package/dist/services/document-service/index.js +35 -0
  454. package/dist/services/document-service/index.js.map +1 -0
  455. package/dist/services/document-service/index.mjs +35 -0
  456. package/dist/services/document-service/index.mjs.map +1 -0
  457. package/dist/services/document-service/internationalization.d.ts +8 -0
  458. package/dist/services/document-service/internationalization.d.ts.map +1 -0
  459. package/dist/services/document-service/internationalization.js +63 -0
  460. package/dist/services/document-service/internationalization.js.map +1 -0
  461. package/dist/services/document-service/internationalization.mjs +63 -0
  462. package/dist/services/document-service/internationalization.mjs.map +1 -0
  463. package/dist/services/document-service/middlewares/errors.d.ts +6 -0
  464. package/dist/services/document-service/middlewares/errors.d.ts.map +1 -0
  465. package/dist/services/document-service/middlewares/errors.js +25 -0
  466. package/dist/services/document-service/middlewares/errors.js.map +1 -0
  467. package/dist/services/document-service/middlewares/errors.mjs +25 -0
  468. package/dist/services/document-service/middlewares/errors.mjs.map +1 -0
  469. package/dist/services/document-service/middlewares/index.d.ts +2 -10
  470. package/dist/services/document-service/middlewares/index.d.ts.map +1 -1
  471. package/dist/services/document-service/middlewares/middleware-manager.d.ts +10 -0
  472. package/dist/services/document-service/middlewares/middleware-manager.d.ts.map +1 -0
  473. package/dist/services/document-service/middlewares/middleware-manager.js +49 -0
  474. package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -0
  475. package/dist/services/document-service/middlewares/middleware-manager.mjs +49 -0
  476. package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -0
  477. package/dist/services/document-service/params.d.ts +3 -1
  478. package/dist/services/document-service/params.d.ts.map +1 -1
  479. package/dist/services/{entity-service → document-service}/params.js +2 -2
  480. package/dist/services/document-service/params.js.map +1 -0
  481. package/dist/services/{entity-service → document-service}/params.mjs +1 -1
  482. package/dist/services/document-service/params.mjs.map +1 -0
  483. package/dist/services/document-service/repository.d.ts +3 -0
  484. package/dist/services/document-service/repository.d.ts.map +1 -0
  485. package/dist/services/document-service/repository.js +309 -0
  486. package/dist/services/document-service/repository.js.map +1 -0
  487. package/dist/services/document-service/repository.mjs +309 -0
  488. package/dist/services/document-service/repository.mjs.map +1 -0
  489. package/dist/services/document-service/transform/data.d.ts +5 -0
  490. package/dist/services/document-service/transform/data.d.ts.map +1 -0
  491. package/dist/services/document-service/transform/data.js +15 -0
  492. package/dist/services/document-service/transform/data.js.map +1 -0
  493. package/dist/services/document-service/transform/data.mjs +15 -0
  494. package/dist/services/document-service/transform/data.mjs.map +1 -0
  495. package/dist/services/document-service/transform/fields.d.ts +5 -0
  496. package/dist/services/document-service/transform/fields.d.ts.map +1 -0
  497. package/dist/services/document-service/transform/fields.js +24 -0
  498. package/dist/services/document-service/transform/fields.js.map +1 -0
  499. package/dist/services/document-service/transform/fields.mjs +24 -0
  500. package/dist/services/document-service/transform/fields.mjs.map +1 -0
  501. package/dist/services/document-service/transform/id-map.d.ts +23 -0
  502. package/dist/services/document-service/transform/id-map.d.ts.map +1 -0
  503. package/dist/services/document-service/transform/id-map.js +78 -0
  504. package/dist/services/document-service/transform/id-map.js.map +1 -0
  505. package/dist/services/document-service/transform/id-map.mjs +78 -0
  506. package/dist/services/document-service/transform/id-map.mjs.map +1 -0
  507. package/dist/services/document-service/transform/id-transform.d.ts +5 -0
  508. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -0
  509. package/dist/services/document-service/transform/id-transform.js +33 -0
  510. package/dist/services/document-service/transform/id-transform.js.map +1 -0
  511. package/dist/services/document-service/transform/id-transform.mjs +33 -0
  512. package/dist/services/document-service/transform/id-transform.mjs.map +1 -0
  513. package/dist/services/document-service/transform/populate.d.ts +6 -0
  514. package/dist/services/document-service/transform/populate.d.ts.map +1 -0
  515. package/dist/services/document-service/transform/populate.js +21 -0
  516. package/dist/services/document-service/transform/populate.js.map +1 -0
  517. package/dist/services/document-service/transform/populate.mjs +21 -0
  518. package/dist/services/document-service/transform/populate.mjs.map +1 -0
  519. package/dist/services/document-service/transform/query.d.ts +5 -0
  520. package/dist/services/document-service/transform/query.d.ts.map +1 -0
  521. package/dist/services/document-service/transform/query.js +9 -0
  522. package/dist/services/document-service/transform/query.js.map +1 -0
  523. package/dist/services/document-service/transform/query.mjs +9 -0
  524. package/dist/services/document-service/transform/query.mjs.map +1 -0
  525. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +14 -0
  526. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -0
  527. package/dist/services/document-service/transform/relations/extract/data-ids.js +57 -0
  528. package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -0
  529. package/dist/services/document-service/transform/relations/extract/data-ids.mjs +57 -0
  530. package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -0
  531. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts +14 -0
  532. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -0
  533. package/dist/services/document-service/transform/relations/transform/data-ids.js +76 -0
  534. package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -0
  535. package/dist/services/document-service/transform/relations/transform/data-ids.mjs +76 -0
  536. package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -0
  537. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts +9 -0
  538. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts.map +1 -0
  539. package/dist/services/document-service/transform/relations/transform/default-locale.js +32 -0
  540. package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -0
  541. package/dist/services/document-service/transform/relations/transform/default-locale.mjs +32 -0
  542. package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -0
  543. package/dist/services/document-service/transform/relations/utils/data.d.ts +4 -0
  544. package/dist/services/document-service/transform/relations/utils/data.d.ts.map +1 -0
  545. package/dist/services/document-service/transform/relations/utils/dp.d.ts +10 -0
  546. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -0
  547. package/dist/services/document-service/transform/relations/utils/dp.js +30 -0
  548. package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -0
  549. package/dist/services/document-service/transform/relations/utils/dp.mjs +30 -0
  550. package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -0
  551. package/dist/services/document-service/transform/relations/utils/i18n.d.ts +10 -0
  552. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -0
  553. package/dist/services/document-service/transform/relations/utils/i18n.js +25 -0
  554. package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -0
  555. package/dist/services/document-service/transform/relations/utils/i18n.mjs +25 -0
  556. package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -0
  557. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts +6 -0
  558. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -0
  559. package/dist/services/document-service/transform/relations/utils/map-relation.js +91 -0
  560. package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -0
  561. package/dist/services/document-service/transform/relations/utils/map-relation.mjs +91 -0
  562. package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -0
  563. package/dist/services/document-service/transform/relations/utils/types.d.ts +21 -0
  564. package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -0
  565. package/dist/services/document-service/transform/types.d.ts +13 -0
  566. package/dist/services/document-service/transform/types.d.ts.map +1 -0
  567. package/dist/services/document-service/utils/populate.d.ts +10 -0
  568. package/dist/services/document-service/utils/populate.d.ts.map +1 -0
  569. package/dist/services/document-service/utils/populate.js +45 -0
  570. package/dist/services/document-service/utils/populate.js.map +1 -0
  571. package/dist/services/document-service/utils/populate.mjs +45 -0
  572. package/dist/services/document-service/utils/populate.mjs.map +1 -0
  573. package/dist/services/entity-service/index.d.ts +4 -6
  574. package/dist/services/entity-service/index.d.ts.map +1 -1
  575. package/dist/services/entity-service/index.js +44 -203
  576. package/dist/services/entity-service/index.js.map +1 -1
  577. package/dist/services/entity-service/index.mjs +38 -197
  578. package/dist/services/entity-service/index.mjs.map +1 -1
  579. package/dist/services/entity-validator/blocks-validator.d.ts +1 -2
  580. package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
  581. package/dist/services/entity-validator/blocks-validator.js +26 -5
  582. package/dist/services/entity-validator/blocks-validator.js.map +1 -1
  583. package/dist/services/entity-validator/blocks-validator.mjs +25 -5
  584. package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
  585. package/dist/services/entity-validator/index.d.ts +16 -2
  586. package/dist/services/entity-validator/index.d.ts.map +1 -1
  587. package/dist/services/entity-validator/index.js +191 -128
  588. package/dist/services/entity-validator/index.js.map +1 -1
  589. package/dist/services/entity-validator/index.mjs +186 -123
  590. package/dist/services/entity-validator/index.mjs.map +1 -1
  591. package/dist/services/entity-validator/validators.d.ts +36 -25
  592. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  593. package/dist/services/entity-validator/validators.js +153 -34
  594. package/dist/services/entity-validator/validators.js.map +1 -1
  595. package/dist/services/entity-validator/validators.mjs +145 -26
  596. package/dist/services/entity-validator/validators.mjs.map +1 -1
  597. package/dist/services/event-hub.d.ts +1 -0
  598. package/dist/services/event-hub.d.ts.map +1 -1
  599. package/dist/services/event-hub.js +9 -4
  600. package/dist/services/event-hub.js.map +1 -1
  601. package/dist/services/event-hub.mjs +9 -4
  602. package/dist/services/event-hub.mjs.map +1 -1
  603. package/dist/services/features.d.ts +3 -3
  604. package/dist/services/features.d.ts.map +1 -1
  605. package/dist/services/features.js.map +1 -1
  606. package/dist/services/features.mjs.map +1 -1
  607. package/dist/services/fs.d.ts +2 -2
  608. package/dist/services/fs.d.ts.map +1 -1
  609. package/dist/services/fs.js.map +1 -1
  610. package/dist/services/fs.mjs.map +1 -1
  611. package/dist/services/metrics/admin-user-hash.d.ts +2 -2
  612. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  613. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  614. package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
  615. package/dist/services/metrics/index.d.ts +2 -2
  616. package/dist/services/metrics/index.d.ts.map +1 -1
  617. package/dist/services/metrics/index.js.map +1 -1
  618. package/dist/services/metrics/index.mjs.map +1 -1
  619. package/dist/services/metrics/middleware.d.ts +2 -2
  620. package/dist/services/metrics/middleware.d.ts.map +1 -1
  621. package/dist/services/metrics/middleware.js.map +1 -1
  622. package/dist/services/metrics/middleware.mjs.map +1 -1
  623. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  624. package/dist/services/metrics/rate-limiter.js.map +1 -1
  625. package/dist/services/metrics/rate-limiter.mjs.map +1 -1
  626. package/dist/services/metrics/sender.d.ts +3 -3
  627. package/dist/services/metrics/sender.d.ts.map +1 -1
  628. package/dist/services/metrics/sender.js.map +1 -1
  629. package/dist/services/metrics/sender.mjs.map +1 -1
  630. package/dist/services/query-params.d.ts +7 -0
  631. package/dist/services/query-params.d.ts.map +1 -0
  632. package/dist/services/query-params.js +12 -0
  633. package/dist/services/query-params.js.map +1 -0
  634. package/dist/services/query-params.mjs +13 -0
  635. package/dist/services/query-params.mjs.map +1 -0
  636. package/dist/services/reloader.d.ts +7 -0
  637. package/dist/services/reloader.d.ts.map +1 -0
  638. package/dist/services/reloader.js +36 -0
  639. package/dist/services/reloader.js.map +1 -0
  640. package/dist/services/reloader.mjs +36 -0
  641. package/dist/services/reloader.mjs.map +1 -0
  642. package/dist/services/server/admin-api.d.ts +3 -3
  643. package/dist/services/server/admin-api.d.ts.map +1 -1
  644. package/dist/services/server/admin-api.js.map +1 -1
  645. package/dist/services/server/admin-api.mjs.map +1 -1
  646. package/dist/services/server/api.d.ts +3 -3
  647. package/dist/services/server/api.d.ts.map +1 -1
  648. package/dist/services/server/api.js.map +1 -1
  649. package/dist/services/server/api.mjs.map +1 -1
  650. package/dist/services/server/compose-endpoint.d.ts +2 -2
  651. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  652. package/dist/services/server/compose-endpoint.js +11 -9
  653. package/dist/services/server/compose-endpoint.js.map +1 -1
  654. package/dist/services/server/compose-endpoint.mjs +5 -3
  655. package/dist/services/server/compose-endpoint.mjs.map +1 -1
  656. package/dist/services/server/content-api.d.ts +3 -3
  657. package/dist/services/server/content-api.d.ts.map +1 -1
  658. package/dist/services/server/content-api.js.map +1 -1
  659. package/dist/services/server/content-api.mjs.map +1 -1
  660. package/dist/services/server/http-server.d.ts +2 -2
  661. package/dist/services/server/http-server.d.ts.map +1 -1
  662. package/dist/services/server/http-server.js.map +1 -1
  663. package/dist/services/server/http-server.mjs.map +1 -1
  664. package/dist/services/server/index.d.ts +2 -2
  665. package/dist/services/server/index.d.ts.map +1 -1
  666. package/dist/services/server/index.js +2 -3
  667. package/dist/services/server/index.js.map +1 -1
  668. package/dist/services/server/index.mjs +2 -3
  669. package/dist/services/server/index.mjs.map +1 -1
  670. package/dist/services/server/koa.d.ts.map +1 -1
  671. package/dist/services/server/koa.js +4 -4
  672. package/dist/services/server/koa.js.map +1 -1
  673. package/dist/services/server/koa.mjs +1 -1
  674. package/dist/services/server/koa.mjs.map +1 -1
  675. package/dist/services/server/middleware.d.ts +4 -4
  676. package/dist/services/server/middleware.d.ts.map +1 -1
  677. package/dist/services/server/middleware.js +3 -3
  678. package/dist/services/server/middleware.js.map +1 -1
  679. package/dist/services/server/middleware.mjs.map +1 -1
  680. package/dist/services/server/policy.d.ts +3 -3
  681. package/dist/services/server/policy.d.ts.map +1 -1
  682. package/dist/services/server/policy.js +4 -4
  683. package/dist/services/server/policy.js.map +1 -1
  684. package/dist/services/server/policy.mjs +4 -4
  685. package/dist/services/server/policy.mjs.map +1 -1
  686. package/dist/services/server/register-middlewares.d.ts +2 -2
  687. package/dist/services/server/register-middlewares.d.ts.map +1 -1
  688. package/dist/services/server/register-middlewares.js.map +1 -1
  689. package/dist/services/server/register-middlewares.mjs.map +1 -1
  690. package/dist/services/server/register-routes.d.ts +2 -2
  691. package/dist/services/server/register-routes.d.ts.map +1 -1
  692. package/dist/services/server/register-routes.js +3 -3
  693. package/dist/services/server/register-routes.js.map +1 -1
  694. package/dist/services/server/register-routes.mjs +3 -3
  695. package/dist/services/server/register-routes.mjs.map +1 -1
  696. package/dist/services/server/routing.d.ts +5 -5
  697. package/dist/services/server/routing.d.ts.map +1 -1
  698. package/dist/services/server/routing.js +2 -2
  699. package/dist/services/server/routing.js.map +1 -1
  700. package/dist/services/server/routing.mjs.map +1 -1
  701. package/dist/services/utils/dynamic-zones.d.ts.map +1 -1
  702. package/dist/services/utils/dynamic-zones.js +7 -6
  703. package/dist/services/utils/dynamic-zones.js.map +1 -1
  704. package/dist/services/utils/dynamic-zones.mjs +2 -1
  705. package/dist/services/utils/dynamic-zones.mjs.map +1 -1
  706. package/dist/services/webhook-runner.d.ts +2 -1
  707. package/dist/services/webhook-runner.d.ts.map +1 -1
  708. package/dist/services/webhook-runner.js.map +1 -1
  709. package/dist/services/webhook-runner.mjs.map +1 -1
  710. package/dist/services/webhook-store.d.ts +2 -8
  711. package/dist/services/webhook-store.d.ts.map +1 -1
  712. package/dist/services/webhook-store.js +15 -9
  713. package/dist/services/webhook-store.js.map +1 -1
  714. package/dist/services/webhook-store.mjs +15 -9
  715. package/dist/services/webhook-store.mjs.map +1 -1
  716. package/dist/utils/convert-custom-field-type.d.ts +2 -2
  717. package/dist/utils/convert-custom-field-type.d.ts.map +1 -1
  718. package/dist/utils/convert-custom-field-type.js.map +1 -1
  719. package/dist/utils/convert-custom-field-type.mjs.map +1 -1
  720. package/dist/utils/cron.js +3 -3
  721. package/dist/utils/cron.js.map +1 -1
  722. package/dist/utils/fetch.d.ts +3 -3
  723. package/dist/utils/fetch.d.ts.map +1 -1
  724. package/dist/utils/fetch.js +4 -3
  725. package/dist/utils/fetch.js.map +1 -1
  726. package/dist/utils/fetch.mjs +4 -3
  727. package/dist/utils/fetch.mjs.map +1 -1
  728. package/dist/utils/filepath-to-prop-path.d.ts +1 -1
  729. package/dist/utils/filepath-to-prop-path.d.ts.map +1 -1
  730. package/dist/utils/filepath-to-prop-path.js +27 -6
  731. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  732. package/dist/utils/filepath-to-prop-path.mjs +25 -5
  733. package/dist/utils/filepath-to-prop-path.mjs.map +1 -1
  734. package/dist/utils/index.d.ts +2 -1
  735. package/dist/utils/index.d.ts.map +1 -1
  736. package/dist/utils/is-initialized.d.ts +2 -2
  737. package/dist/utils/is-initialized.d.ts.map +1 -1
  738. package/dist/utils/is-initialized.js +4 -4
  739. package/dist/utils/is-initialized.js.map +1 -1
  740. package/dist/utils/is-initialized.mjs +1 -1
  741. package/dist/utils/is-initialized.mjs.map +1 -1
  742. package/dist/utils/load-config-file.js +1 -1
  743. package/dist/utils/load-config-file.js.map +1 -1
  744. package/dist/utils/load-config-file.mjs +2 -2
  745. package/dist/utils/load-config-file.mjs.map +1 -1
  746. package/dist/utils/load-files.d.ts.map +1 -1
  747. package/dist/utils/open-browser.d.ts +2 -2
  748. package/dist/utils/open-browser.d.ts.map +1 -1
  749. package/dist/utils/open-browser.js.map +1 -1
  750. package/dist/utils/open-browser.mjs.map +1 -1
  751. package/dist/utils/resolve-working-dirs.d.ts +19 -0
  752. package/dist/utils/resolve-working-dirs.d.ts.map +1 -0
  753. package/dist/utils/resolve-working-dirs.js +13 -0
  754. package/dist/utils/resolve-working-dirs.js.map +1 -0
  755. package/dist/utils/resolve-working-dirs.mjs +11 -0
  756. package/dist/utils/resolve-working-dirs.mjs.map +1 -0
  757. package/dist/utils/signals.d.ts +2 -2
  758. package/dist/utils/signals.d.ts.map +1 -1
  759. package/dist/utils/signals.js.map +1 -1
  760. package/dist/utils/signals.mjs.map +1 -1
  761. package/dist/utils/startup-logger.d.ts +2 -2
  762. package/dist/utils/startup-logger.d.ts.map +1 -1
  763. package/dist/utils/startup-logger.js +4 -4
  764. package/dist/utils/startup-logger.js.map +1 -1
  765. package/dist/utils/startup-logger.mjs +3 -3
  766. package/dist/utils/startup-logger.mjs.map +1 -1
  767. package/dist/utils/transform-content-types-to-models.d.ts +129 -3
  768. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  769. package/dist/utils/transform-content-types-to-models.js +138 -48
  770. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  771. package/dist/utils/transform-content-types-to-models.mjs +137 -48
  772. package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
  773. package/dist/utils/update-notifier/index.d.ts +2 -7
  774. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  775. package/dist/utils/update-notifier/index.js +11 -14
  776. package/dist/utils/update-notifier/index.js.map +1 -1
  777. package/dist/utils/update-notifier/index.mjs +11 -14
  778. package/dist/utils/update-notifier/index.mjs.map +1 -1
  779. package/package.json +33 -30
  780. package/dist/core-api/service/get-fetch-params.d.ts +0 -7
  781. package/dist/core-api/service/get-fetch-params.d.ts.map +0 -1
  782. package/dist/core-api/service/get-fetch-params.js +0 -14
  783. package/dist/core-api/service/get-fetch-params.js.map +0 -1
  784. package/dist/core-api/service/get-fetch-params.mjs +0 -14
  785. package/dist/core-api/service/get-fetch-params.mjs.map +0 -1
  786. package/dist/registries/config.d.ts +0 -4
  787. package/dist/registries/config.d.ts.map +0 -1
  788. package/dist/registries/config.js +0 -23
  789. package/dist/registries/config.js.map +0 -1
  790. package/dist/registries/config.mjs +0 -22
  791. package/dist/registries/config.mjs.map +0 -1
  792. package/dist/services/document-service/document-engine.d.ts +0 -8
  793. package/dist/services/document-service/document-engine.d.ts.map +0 -1
  794. package/dist/services/document-service/document-engine.js +0 -200
  795. package/dist/services/document-service/document-engine.js.map +0 -1
  796. package/dist/services/document-service/document-engine.mjs +0 -201
  797. package/dist/services/document-service/document-engine.mjs.map +0 -1
  798. package/dist/services/document-service/document-service.d.ts.map +0 -1
  799. package/dist/services/document-service/document-service.js +0 -132
  800. package/dist/services/document-service/document-service.js.map +0 -1
  801. package/dist/services/document-service/document-service.mjs +0 -132
  802. package/dist/services/document-service/document-service.mjs.map +0 -1
  803. package/dist/services/document-service/middlewares/defaults/draft-and-publish.d.ts +0 -26
  804. package/dist/services/document-service/middlewares/defaults/draft-and-publish.d.ts.map +0 -1
  805. package/dist/services/document-service/middlewares/defaults/draft-and-publish.js +0 -58
  806. package/dist/services/document-service/middlewares/defaults/draft-and-publish.js.map +0 -1
  807. package/dist/services/document-service/middlewares/defaults/draft-and-publish.mjs +0 -58
  808. package/dist/services/document-service/middlewares/defaults/draft-and-publish.mjs.map +0 -1
  809. package/dist/services/document-service/middlewares/defaults/index.d.ts +0 -3
  810. package/dist/services/document-service/middlewares/defaults/index.d.ts.map +0 -1
  811. package/dist/services/document-service/middlewares/defaults/index.js +0 -82
  812. package/dist/services/document-service/middlewares/defaults/index.js.map +0 -1
  813. package/dist/services/document-service/middlewares/defaults/index.mjs +0 -82
  814. package/dist/services/document-service/middlewares/defaults/index.mjs.map +0 -1
  815. package/dist/services/document-service/middlewares/defaults/locales.d.ts +0 -18
  816. package/dist/services/document-service/middlewares/defaults/locales.d.ts.map +0 -1
  817. package/dist/services/document-service/middlewares/defaults/locales.js +0 -50
  818. package/dist/services/document-service/middlewares/defaults/locales.js.map +0 -1
  819. package/dist/services/document-service/middlewares/defaults/locales.mjs +0 -50
  820. package/dist/services/document-service/middlewares/defaults/locales.mjs.map +0 -1
  821. package/dist/services/document-service/middlewares/index.js +0 -59
  822. package/dist/services/document-service/middlewares/index.js.map +0 -1
  823. package/dist/services/document-service/middlewares/index.mjs +0 -59
  824. package/dist/services/document-service/middlewares/index.mjs.map +0 -1
  825. package/dist/services/entity-service/attributes/index.d.ts +0 -6
  826. package/dist/services/entity-service/attributes/index.d.ts.map +0 -1
  827. package/dist/services/entity-service/attributes/index.js.map +0 -1
  828. package/dist/services/entity-service/attributes/index.mjs.map +0 -1
  829. package/dist/services/entity-service/attributes/transforms.d.ts +0 -10
  830. package/dist/services/entity-service/attributes/transforms.d.ts.map +0 -1
  831. package/dist/services/entity-service/attributes/transforms.js.map +0 -1
  832. package/dist/services/entity-service/attributes/transforms.mjs.map +0 -1
  833. package/dist/services/entity-service/components.d.ts +0 -23
  834. package/dist/services/entity-service/components.d.ts.map +0 -1
  835. package/dist/services/entity-service/components.js.map +0 -1
  836. package/dist/services/entity-service/components.mjs.map +0 -1
  837. package/dist/services/entity-service/params.d.ts +0 -8
  838. package/dist/services/entity-service/params.d.ts.map +0 -1
  839. package/dist/services/entity-service/params.js.map +0 -1
  840. package/dist/services/entity-service/params.mjs.map +0 -1
  841. package/dist/services/utils/upload-files.d.ts +0 -8
  842. package/dist/services/utils/upload-files.d.ts.map +0 -1
  843. package/dist/services/utils/upload-files.js +0 -64
  844. package/dist/services/utils/upload-files.js.map +0 -1
  845. package/dist/services/utils/upload-files.mjs +0 -63
  846. package/dist/services/utils/upload-files.mjs.map +0 -1
  847. package/dist/utils/get-dirs.d.ts +0 -9
  848. package/dist/utils/get-dirs.d.ts.map +0 -1
  849. package/dist/utils/get-dirs.js.map +0 -1
  850. package/dist/utils/get-dirs.mjs.map +0 -1
  851. /package/dist/services/{entity-service → document-service}/attributes/transforms.mjs +0 -0
package/dist/Strapi.js CHANGED
@@ -1,158 +1,139 @@
1
1
  "use strict";
2
+ const globalAgent = require("global-agent");
2
3
  const path = require("path");
3
4
  const _ = require("lodash");
4
- const _$1 = require("lodash/fp");
5
+ const fp = require("lodash/fp");
5
6
  const logger = require("@strapi/logger");
6
7
  const database = require("@strapi/database");
7
- const strapiUtils = require("@strapi/utils");
8
8
  const index = require("./configuration/index.js");
9
9
  const factories = require("./factories.js");
10
- const compile = require("./compile.js");
11
10
  const openBrowser = require("./utils/open-browser.js");
12
11
  const isInitialized = require("./utils/is-initialized.js");
13
- const getDirs = require("./utils/get-dirs.js");
14
- const index$6 = require("./ee/index.js");
15
- const index$5 = require("./utils/update-notifier/index.js");
12
+ const index$2 = require("./ee/index.js");
13
+ require("./utils/update-notifier/index.js");
16
14
  const fetch = require("./utils/fetch.js");
17
15
  const convertCustomFieldType = require("./utils/convert-custom-field-type.js");
18
16
  const startupLogger = require("./utils/startup-logger.js");
19
17
  const transformContentTypesToModels = require("./utils/transform-content-types-to-models.js");
20
- const signals = require("./utils/signals.js");
21
18
  const lifecycles = require("./utils/lifecycles.js");
22
- const contentTypes = require("./registries/content-types.js");
23
- const components = require("./registries/components.js");
24
- const services = require("./registries/services.js");
25
- const policies = require("./registries/policies.js");
26
- const middlewares = require("./registries/middlewares.js");
27
- const hooks = require("./registries/hooks.js");
28
- const controllers = require("./registries/controllers.js");
29
- const modules = require("./registries/modules.js");
30
- const plugins = require("./registries/plugins.js");
31
- const customFields = require("./registries/custom-fields.js");
32
- const config = require("./registries/config.js");
33
- const apis = require("./registries/apis.js");
34
- const sanitizers = require("./registries/sanitizers.js");
35
- const validators = require("./registries/validators.js");
36
- const models = require("./registries/models.js");
37
- const index$7 = require("./loaders/index.js");
19
+ require("node:path");
38
20
  const container = require("./container.js");
39
21
  const fs = require("./services/fs.js");
40
22
  const eventHub = require("./services/event-hub.js");
41
- const index$3 = require("./services/server/index.js");
42
- const webhookRunner = require("./services/webhook-runner.js");
43
- const webhookStore = require("./services/webhook-store.js");
44
- const coreStore = require("./services/core-store.js");
45
- const index$9 = require("./services/entity-service/index.js");
46
- const cron = require("./services/cron.js");
47
- const index$8 = require("./services/entity-validator/index.js");
48
- const index$4 = require("./services/metrics/index.js");
23
+ const index$5 = require("./services/server/index.js");
24
+ const reloader = require("./services/reloader.js");
25
+ const index$1 = require("./providers/index.js");
26
+ const index$7 = require("./services/entity-service/index.js");
27
+ const queryParams = require("./services/query-params.js");
28
+ const index$6 = require("./services/entity-validator/index.js");
49
29
  const requestContext = require("./services/request-context.js");
50
- const index$2 = require("./services/auth/index.js");
51
- const customFields$1 = require("./services/custom-fields.js");
52
- const index$1 = require("./services/content-api/index.js");
30
+ const index$4 = require("./services/auth/index.js");
31
+ const customFields = require("./services/custom-fields.js");
32
+ const index$3 = require("./services/content-api/index.js");
53
33
  const dynamicZones = require("./services/utils/dynamic-zones.js");
54
34
  const features = require("./services/features.js");
55
- const documentService = require("./services/document-service/document-service.js");
35
+ const index$8 = require("./services/document-service/index.js");
36
+ const coreStore = require("./services/core-store.js");
37
+ const config = require("./services/config.js");
56
38
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
57
- const path__default = /* @__PURE__ */ _interopDefault(path);
58
- const ___default = /* @__PURE__ */ _interopDefault(_);
59
- const resolveWorkingDirectories = (opts) => {
60
- const cwd = process.cwd();
61
- const appDir = opts.appDir ? path__default.default.resolve(cwd, opts.appDir) : cwd;
62
- const distDir = opts.distDir ? path__default.default.resolve(cwd, opts.distDir) : appDir;
63
- return { app: appDir, dist: distDir };
64
- };
65
- const reloader = (strapi) => {
66
- const state = {
67
- shouldReload: 0,
68
- isWatching: true
69
- };
70
- function reload() {
71
- if (state.shouldReload > 0) {
72
- state.shouldReload -= 1;
73
- reload.isReloading = false;
74
- return;
75
- }
76
- if (strapi.config.get("autoReload")) {
77
- process.send?.("reload");
78
- }
79
- }
80
- Object.defineProperty(reload, "isWatching", {
81
- configurable: true,
82
- enumerable: true,
83
- set(value) {
84
- if (state.isWatching === false && value === true) {
85
- state.shouldReload += 1;
39
+ function _interopNamespace(e) {
40
+ if (e && e.__esModule)
41
+ return e;
42
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
43
+ if (e) {
44
+ for (const k in e) {
45
+ if (k !== "default") {
46
+ const d = Object.getOwnPropertyDescriptor(e, k);
47
+ Object.defineProperty(n, k, d.get ? d : {
48
+ enumerable: true,
49
+ get: () => e[k]
50
+ });
86
51
  }
87
- state.isWatching = value;
88
- },
89
- get() {
90
- return state.isWatching;
91
52
  }
92
- });
93
- reload.isReloading = false;
94
- reload.isWatching = true;
95
- return reload;
96
- };
53
+ }
54
+ n.default = e;
55
+ return Object.freeze(n);
56
+ }
57
+ const globalAgent__namespace = /* @__PURE__ */ _interopNamespace(globalAgent);
58
+ const path__default = /* @__PURE__ */ _interopDefault(path);
59
+ const ___default = /* @__PURE__ */ _interopDefault(_);
97
60
  class Strapi extends container.Container {
98
- server;
99
- log;
100
- fs;
101
- eventHub;
102
- startupLogger;
103
- cron;
104
- webhookRunner;
105
- webhookStore;
106
- store;
107
- entityValidator;
108
- entityService;
109
- documents;
110
- telemetry;
111
- requestContext;
112
- customFields;
113
- fetch;
114
- dirs;
115
- admin;
116
- isLoaded;
117
- db;
118
61
  app;
119
- EE;
120
- reload;
121
- features;
122
- // @ts-expect-error - Assigned in constructor
123
- ee;
124
- constructor(opts = {}) {
62
+ isLoaded = false;
63
+ internal_config = {};
64
+ constructor(opts) {
125
65
  super();
126
- signals.destroyOnSignal(this);
127
- const rootDirs = resolveWorkingDirectories(opts);
128
- const appConfig = index(rootDirs, opts);
129
- this.add("config", config(appConfig)).add("content-types", contentTypes()).add("components", components()).add("services", services(this)).add("policies", policies()).add("middlewares", middlewares()).add("hooks", hooks()).add("controllers", controllers(this)).add("modules", modules(this)).add("plugins", plugins(this)).add("custom-fields", customFields(this)).add("apis", apis(this)).add("sanitizers", sanitizers()).add("validators", validators()).add("content-api", index$1(this)).add("auth", index$2()).add("models", models.registry());
130
- this.dirs = getDirs.getDirs(rootDirs, { strapi: this });
131
- this.isLoaded = false;
132
- this.reload = reloader(this);
133
- this.server = index$3.createServer(this);
134
- this.fs = fs(this);
135
- this.eventHub = eventHub();
136
- this.startupLogger = startupLogger.createStartupLogger(this);
137
- this.log = logger.createLogger(this.config.get("logger", { level: "info" }));
138
- this.cron = cron();
139
- this.telemetry = index$4(this);
140
- this.requestContext = requestContext;
141
- this.customFields = customFields$1(this);
142
- this.fetch = fetch.createStrapiFetch(this);
143
- this.features = features.createFeaturesService(this);
144
- index$5.createUpdateNotifier(this).notify();
145
- Object.defineProperty(this, "EE", {
146
- get: () => {
147
- index$6.init(this.dirs.app.root, this.log);
148
- return index$6.isEE;
149
- },
150
- configurable: false
151
- });
152
- Object.defineProperty(this, "ee", {
153
- get: () => index$6,
154
- configurable: false
155
- });
66
+ this.internal_config = index.loadConfiguration(opts);
67
+ this.registerInternalServices();
68
+ for (const provider of index$1.providers) {
69
+ provider.init?.(this);
70
+ }
71
+ }
72
+ get admin() {
73
+ return this.get("admin");
74
+ }
75
+ get EE() {
76
+ return index$2.isEE;
77
+ }
78
+ get ee() {
79
+ return index$2;
80
+ }
81
+ get dirs() {
82
+ return this.config.get("dirs");
83
+ }
84
+ get reload() {
85
+ return this.get("reload");
86
+ }
87
+ get db() {
88
+ return this.get("db");
89
+ }
90
+ get requestContext() {
91
+ return this.get("requestContext");
92
+ }
93
+ get customFields() {
94
+ return this.get("customFields");
95
+ }
96
+ get entityValidator() {
97
+ return this.get("entityValidator");
98
+ }
99
+ /**
100
+ * @deprecated `strapi.entityService` will be removed in the next major version
101
+ */
102
+ get entityService() {
103
+ return this.get("entityService");
104
+ }
105
+ get documents() {
106
+ return this.get("documents");
107
+ }
108
+ get features() {
109
+ return this.get("features");
110
+ }
111
+ get fetch() {
112
+ return this.get("fetch");
113
+ }
114
+ get cron() {
115
+ return this.get("cron");
116
+ }
117
+ get log() {
118
+ return this.get("logger");
119
+ }
120
+ get startupLogger() {
121
+ return this.get("startupLogger");
122
+ }
123
+ get eventHub() {
124
+ return this.get("eventHub");
125
+ }
126
+ get fs() {
127
+ return this.get("fs");
128
+ }
129
+ get server() {
130
+ return this.get("server");
131
+ }
132
+ get telemetry() {
133
+ return this.get("telemetry");
134
+ }
135
+ get store() {
136
+ return this.get("coreStore");
156
137
  }
157
138
  get config() {
158
139
  return this.get("config");
@@ -202,12 +183,12 @@ class Strapi extends container.Container {
202
183
  hook(name) {
203
184
  return this.get("hooks").get(name);
204
185
  }
205
- // api(name) {
206
- // return this.get('apis').get(name);
207
- // }
208
- get api() {
186
+ get apis() {
209
187
  return this.get("apis").getAll();
210
188
  }
189
+ api(name) {
190
+ return this.get("apis").get(name);
191
+ }
211
192
  get auth() {
212
193
  return this.get("auth");
213
194
  }
@@ -231,15 +212,29 @@ class Strapi extends container.Container {
231
212
  return this.stopWithError(error);
232
213
  }
233
214
  }
234
- async destroy() {
235
- await this.server.destroy();
236
- await this.runLifecyclesFunctions(lifecycles.LIFECYCLES.DESTROY);
237
- this.eventHub.destroy();
238
- await this.db?.destroy();
239
- this.telemetry.destroy();
240
- this.cron.destroy();
241
- process.removeAllListeners();
242
- delete global.strapi;
215
+ // TODO: split into more providers
216
+ registerInternalServices() {
217
+ const config$1 = config.createConfigProvider(this.internal_config, this);
218
+ const logger$1 = logger.createLogger({
219
+ level: "http",
220
+ // Strapi defaults to level 'http'
221
+ ...config$1.get("logger"),
222
+ // DEPRECATED
223
+ ...config$1.get("server.logger.config")
224
+ });
225
+ this.add("config", () => config$1).add("query-params", queryParams(this)).add("content-api", index$3(this)).add("auth", index$4()).add("server", () => index$5.createServer(this)).add("fs", () => fs(this)).add("eventHub", () => eventHub()).add("startupLogger", () => startupLogger.createStartupLogger(this)).add("logger", () => logger$1).add("fetch", () => fetch.createStrapiFetch(this)).add("features", () => features.createFeaturesService(this)).add("requestContext", requestContext).add("customFields", customFields(this)).add("entityValidator", index$6).add("entityService", () => index$7({ strapi: this, db: this.db })).add("documents", () => index$8.createDocumentService(this)).add(
226
+ "db",
227
+ () => new database.Database(
228
+ ___default.default.merge(this.config.get("database"), {
229
+ logger: logger$1,
230
+ settings: {
231
+ migrations: {
232
+ dir: path__default.default.join(this.dirs.app.root, "database/migrations")
233
+ }
234
+ }
235
+ })
236
+ )
237
+ ).add("reload", () => reloader.createReloader(this));
243
238
  }
244
239
  sendStartupTelemetry() {
245
240
  this.telemetry.send("didStartServer", {
@@ -274,6 +269,7 @@ class Strapi extends container.Container {
274
269
  async postListen() {
275
270
  const isInitialized$1 = await isInitialized.isInitialized(this);
276
271
  this.startupLogger.logStartupMessage({ isInitialized: isInitialized$1 });
272
+ this.log.info("Strapi started successfully");
277
273
  this.sendStartupTelemetry();
278
274
  this.openAdmin({ isInitialized: isInitialized$1 });
279
275
  }
@@ -314,49 +310,32 @@ class Strapi extends container.Container {
314
310
  }
315
311
  process.exit(exitCode);
316
312
  }
317
- registerInternalHooks() {
318
- this.get("hooks").set("strapi::content-types.beforeSync", strapiUtils.hooks.createAsyncParallelHook());
319
- this.get("hooks").set("strapi::content-types.afterSync", strapiUtils.hooks.createAsyncParallelHook());
313
+ async load() {
314
+ await this.register();
315
+ await this.bootstrap();
316
+ this.isLoaded = true;
317
+ return this;
320
318
  }
321
319
  async register() {
322
- await index$7.loadApplicationContext(this);
323
- this.get("models").add(coreStore.coreStoreModel).add(webhookStore.webhookModel);
324
- this.webhookRunner = webhookRunner({
325
- eventHub: this.eventHub,
326
- logger: this.log,
327
- configuration: this.config.get("server.webhooks", {}),
328
- fetch: this.fetch
329
- });
330
- this.registerInternalHooks();
331
- this.telemetry.register();
332
- await this.runLifecyclesFunctions(lifecycles.LIFECYCLES.REGISTER);
320
+ this.ee.init(this.dirs.app.root, this.log);
321
+ for (const provider of index$1.providers) {
322
+ await provider.register?.(this);
323
+ }
324
+ await this.runPluginsLifecycles(lifecycles.LIFECYCLES.REGISTER);
325
+ await this.runUserLifecycles(lifecycles.LIFECYCLES.REGISTER);
333
326
  convertCustomFieldType.convertCustomFieldType(this);
334
327
  return this;
335
328
  }
336
329
  async bootstrap() {
337
- const models2 = [
338
- ...transformContentTypesToModels.transformContentTypesToModels([
339
- ...Object.values(this.contentTypes),
340
- ...Object.values(this.components)
341
- ]),
330
+ this.configureGlobalProxy();
331
+ const models = [
332
+ ...transformContentTypesToModels.transformContentTypesToModels(
333
+ [...Object.values(this.contentTypes), ...Object.values(this.components)],
334
+ this.db.metadata.identifiers
335
+ ),
342
336
  ...this.get("models").get()
343
337
  ];
344
- this.db = await database.Database.init({ ...this.config.get("database"), models: models2 });
345
- this.store = coreStore.createCoreStore({ db: this.db });
346
- this.webhookStore = webhookStore.createWebhookStore({ db: this.db });
347
- this.entityValidator = index$8;
348
- this.entityService = index$9({
349
- strapi: this,
350
- db: this.db,
351
- eventHub: this.eventHub,
352
- entityValidator: this.entityValidator
353
- });
354
- this.documents = documentService.createDocumentService(this);
355
- if (this.config.get("server.cron.enabled", true)) {
356
- const cronTasks = this.config.get("server.cron.tasks", {});
357
- this.cron.add(cronTasks);
358
- }
359
- this.telemetry.bootstrap();
338
+ await this.db.init({ models });
360
339
  let oldContentTypes;
361
340
  if (await this.db.getSchemaConnection().hasTable(coreStore.coreStoreModel.tableName)) {
362
341
  oldContentTypes = await this.store.get({
@@ -371,7 +350,7 @@ class Strapi extends container.Container {
371
350
  });
372
351
  await this.db.schema.sync();
373
352
  if (this.EE) {
374
- await index$6.checkLicense({ strapi: this });
353
+ await index$2.checkLicense({ strapi: this });
375
354
  }
376
355
  await this.hook("strapi::content-types.afterSync").call({
377
356
  oldContentTypes,
@@ -383,37 +362,53 @@ class Strapi extends container.Container {
383
362
  key: "schema",
384
363
  value: this.contentTypes
385
364
  });
386
- await this.startWebhooks();
387
365
  await this.server.initMiddlewares();
388
366
  this.server.initRouting();
389
367
  await this.contentAPI.permissions.registerActions();
390
- await this.runLifecyclesFunctions(lifecycles.LIFECYCLES.BOOTSTRAP);
391
- this.cron.start();
392
- return this;
393
- }
394
- async load() {
395
- await this.register();
396
- await this.bootstrap();
397
- this.isLoaded = true;
368
+ await this.runPluginsLifecycles(lifecycles.LIFECYCLES.BOOTSTRAP);
369
+ for (const provider of index$1.providers) {
370
+ await provider.bootstrap?.(this);
371
+ }
372
+ await this.runUserLifecycles(lifecycles.LIFECYCLES.BOOTSTRAP);
398
373
  return this;
399
374
  }
400
- async startWebhooks() {
401
- const webhooks = await this.webhookStore?.findWebhooks();
402
- if (!webhooks) {
375
+ configureGlobalProxy() {
376
+ const globalProxy = this.config.get("server.proxy.global");
377
+ const httpProxy = this.config.get("server.proxy.http") || globalProxy;
378
+ const httpsProxy = this.config.get("server.proxy.https") || globalProxy;
379
+ if (!httpProxy && !httpsProxy) {
403
380
  return;
404
381
  }
405
- for (const webhook of webhooks) {
406
- this.webhookRunner?.add(webhook);
382
+ globalAgent__namespace.bootstrap();
383
+ if (httpProxy) {
384
+ this.log.info(`Using HTTP proxy: ${httpProxy}`);
385
+ global.GLOBAL_AGENT.HTTP_PROXY = httpProxy;
386
+ }
387
+ if (httpsProxy) {
388
+ this.log.info(`Using HTTPS proxy: ${httpsProxy}`);
389
+ global.GLOBAL_AGENT.HTTPS_PROXY = httpsProxy;
407
390
  }
408
391
  }
409
- async runLifecyclesFunctions(lifecycleName) {
410
- await this.get("modules")[lifecycleName]();
411
- const adminLifecycleFunction = this.admin && this.admin[lifecycleName];
412
- if (_$1.isFunction(adminLifecycleFunction)) {
413
- await adminLifecycleFunction({ strapi: this });
392
+ async destroy() {
393
+ this.log.info("Shutting down Strapi");
394
+ await this.runPluginsLifecycles(lifecycles.LIFECYCLES.DESTROY);
395
+ for (const provider of index$1.providers) {
396
+ await provider.destroy?.(this);
414
397
  }
398
+ await this.runUserLifecycles(lifecycles.LIFECYCLES.DESTROY);
399
+ await this.server.destroy();
400
+ this.eventHub.destroy();
401
+ await this.db?.destroy();
402
+ process.removeAllListeners();
403
+ delete global.strapi;
404
+ this.log.info("Strapi has been shut down");
405
+ }
406
+ async runPluginsLifecycles(lifecycleName) {
407
+ await this.get("modules")[lifecycleName]();
408
+ }
409
+ async runUserLifecycles(lifecycleName) {
415
410
  const userLifecycleFunction = this.app && this.app[lifecycleName];
416
- if (_$1.isFunction(userLifecycleFunction)) {
411
+ if (fp.isFunction(userLifecycleFunction)) {
417
412
  await userLifecycleFunction({ strapi: this });
418
413
  }
419
414
  }
@@ -426,18 +421,11 @@ class Strapi extends container.Container {
426
421
  }
427
422
  }
428
423
  /**
429
- * Binds queries with a specific model
430
- * @param {string} uid
424
+ * @deprecated Use `strapi.db.query` instead
431
425
  */
432
426
  query(uid) {
433
427
  return this.db.query(uid);
434
428
  }
435
429
  }
436
- const initFn = (options = {}) => {
437
- const strapi = new Strapi(options);
438
- global.strapi = strapi;
439
- return strapi;
440
- };
441
- const init = Object.assign(initFn, { factories, compile });
442
- module.exports = init;
430
+ module.exports = Strapi;
443
431
  //# sourceMappingURL=Strapi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Strapi.js","sources":["../src/Strapi.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-namespace */\n/* eslint-disable vars-on-top */\n/* eslint-disable no-var */\nimport path from 'path';\nimport _ from 'lodash';\nimport { isFunction } from 'lodash/fp';\nimport { Logger, createLogger } from '@strapi/logger';\nimport { Database } from '@strapi/database';\nimport { hooks } from '@strapi/utils';\nimport type {\n Strapi as StrapiI,\n Server,\n EntityService,\n Documents,\n EventHub,\n StartupLogger,\n CronService,\n WebhookStore,\n CoreStore,\n TelemetryService,\n RequestContext,\n CustomFields,\n Fetch,\n StrapiFS,\n StrapiDirectories,\n Reloader,\n EntityValidator,\n Common,\n Shared,\n Schema,\n} from '@strapi/types';\n\nimport loadConfiguration from './configuration';\n\nimport * as factories from './factories';\nimport compile from './compile';\n\nimport * as utils from './utils';\nimport * as registries from './registries';\nimport * as loaders from './loaders';\nimport { Container } from './container';\nimport createStrapiFs from './services/fs';\nimport createEventHub from './services/event-hub';\nimport { createServer } from './services/server';\nimport createWebhookRunner, { WebhookRunner } from './services/webhook-runner';\nimport { webhookModel, createWebhookStore } from './services/webhook-store';\nimport { createCoreStore, coreStoreModel } from './services/core-store';\nimport createEntityService from './services/entity-service';\n\nimport createCronService from './services/cron';\nimport entityValidator from './services/entity-validator';\nimport createTelemetry from './services/metrics';\nimport requestContext from './services/request-context';\nimport createAuth from './services/auth';\nimport createCustomFields from './services/custom-fields';\nimport createContentAPI from './services/content-api';\nimport getNumberOfDynamicZones from './services/utils/dynamic-zones';\nimport { FeaturesService, createFeaturesService } from './services/features';\nimport { createDocumentService } from './services/document-service/document-service';\n\n/**\n * Resolve the working directories based on the instance options.\n *\n * Behavior:\n * - `appDir` is the directory where Strapi will write every file (schemas, generated APIs, controllers or services)\n * - `distDir` is the directory where Strapi will read configurations, schemas and any compiled code\n *\n * Default values:\n * - If `appDir` is `undefined`, it'll be set to `process.cwd()`\n * - If `distDir` is `undefined`, it'll be set to `appDir`\n */\nconst resolveWorkingDirectories = (opts: { appDir?: string; distDir?: string }) => {\n const cwd = process.cwd();\n\n const appDir = opts.appDir ? path.resolve(cwd, opts.appDir) : cwd;\n const distDir = opts.distDir ? path.resolve(cwd, opts.distDir) : appDir;\n\n return { app: appDir, dist: distDir };\n};\n\nconst reloader = (strapi: Strapi) => {\n const state = {\n shouldReload: 0,\n isWatching: true,\n };\n\n function reload() {\n if (state.shouldReload > 0) {\n // Reset the reloading state\n state.shouldReload -= 1;\n reload.isReloading = false;\n return;\n }\n\n if (strapi.config.get('autoReload')) {\n process.send?.('reload');\n }\n }\n\n Object.defineProperty(reload, 'isWatching', {\n configurable: true,\n enumerable: true,\n set(value) {\n // Special state when the reloader is disabled temporarly (see GraphQL plugin example).\n if (state.isWatching === false && value === true) {\n state.shouldReload += 1;\n }\n state.isWatching = value;\n },\n get() {\n return state.isWatching;\n },\n });\n\n reload.isReloading = false;\n reload.isWatching = true;\n\n return reload;\n};\n\nexport type LoadedStrapi = Required<Strapi>;\n\nclass Strapi extends Container implements StrapiI {\n server: Server;\n\n log: Logger;\n\n fs: StrapiFS;\n\n eventHub: EventHub;\n\n startupLogger: StartupLogger;\n\n cron: CronService;\n\n webhookRunner?: WebhookRunner;\n\n webhookStore?: WebhookStore;\n\n store?: CoreStore;\n\n entityValidator?: EntityValidator;\n\n entityService?: EntityService.EntityService;\n\n documents?: Documents.Service;\n\n telemetry: TelemetryService;\n\n requestContext: RequestContext;\n\n customFields: CustomFields.CustomFields;\n\n fetch: Fetch;\n\n dirs: StrapiDirectories;\n\n admin?: Common.Module;\n\n isLoaded: boolean;\n\n db?: Database;\n\n app: any;\n\n EE?: boolean;\n\n reload: Reloader;\n\n features: FeaturesService;\n\n // @ts-expect-error - Assigned in constructor\n ee: StrapiI['ee'];\n\n constructor(opts: StrapiOptions = {}) {\n super();\n\n utils.destroyOnSignal(this);\n\n const rootDirs = resolveWorkingDirectories(opts);\n\n // Load the app configuration from the dist directory\n const appConfig = loadConfiguration(rootDirs, opts);\n\n // Instantiate the Strapi container\n this.add('config', registries.config(appConfig))\n .add('content-types', registries.contentTypes())\n .add('components', registries.components())\n .add('services', registries.services(this))\n .add('policies', registries.policies())\n .add('middlewares', registries.middlewares())\n .add('hooks', registries.hooks())\n .add('controllers', registries.controllers(this))\n .add('modules', registries.modules(this))\n .add('plugins', registries.plugins(this))\n .add('custom-fields', registries.customFields(this))\n .add('apis', registries.apis(this))\n .add('sanitizers', registries.sanitizers())\n .add('validators', registries.validators())\n .add('content-api', createContentAPI(this))\n .add('auth', createAuth())\n .add('models', registries.models());\n\n // Create a mapping of every useful directory (for the app, dist and static directories)\n this.dirs = utils.getDirs(rootDirs, { strapi: this });\n\n // Strapi state management variables\n this.isLoaded = false;\n this.reload = reloader(this);\n\n // Instantiate the Koa app & the HTTP server\n this.server = createServer(this);\n\n // Strapi utils instantiation\n this.fs = createStrapiFs(this);\n this.eventHub = createEventHub();\n this.startupLogger = utils.createStartupLogger(this);\n this.log = createLogger(this.config.get('logger', { level: 'info' }));\n this.cron = createCronService();\n this.telemetry = createTelemetry(this);\n this.requestContext = requestContext;\n this.customFields = createCustomFields(this);\n this.fetch = utils.createStrapiFetch(this);\n this.features = createFeaturesService(this);\n\n utils.createUpdateNotifier(this).notify();\n\n Object.defineProperty<Strapi>(this, 'EE', {\n get: () => {\n utils.ee.init(this.dirs.app.root, this.log);\n return utils.ee.isEE;\n },\n configurable: false,\n });\n\n Object.defineProperty<Strapi>(this, 'ee', {\n get: () => utils.ee,\n configurable: false,\n });\n }\n\n get config() {\n return this.get('config');\n }\n\n get services() {\n return this.get('services').getAll();\n }\n\n service(uid: Common.UID.Service) {\n return this.get('services').get(uid);\n }\n\n get controllers() {\n return this.get('controllers').getAll();\n }\n\n controller(uid: Common.UID.Controller) {\n return this.get('controllers').get(uid);\n }\n\n get contentTypes(): Shared.ContentTypes {\n return this.get('content-types').getAll();\n }\n\n contentType(name: Common.UID.ContentType) {\n return this.get('content-types').get(name);\n }\n\n get components(): Shared.Components {\n return this.get('components').getAll();\n }\n\n get policies() {\n return this.get('policies').getAll();\n }\n\n policy(name: string) {\n return this.get('policies').get(name);\n }\n\n get middlewares() {\n return this.get('middlewares').getAll();\n }\n\n middleware(name: string) {\n return this.get('middlewares').get(name);\n }\n\n get plugins(): Record<string, Common.Plugin> {\n return this.get('plugins').getAll();\n }\n\n plugin(name: string): Common.Plugin {\n return this.get('plugins').get(name);\n }\n\n get hooks() {\n return this.get('hooks').getAll();\n }\n\n hook(name: string) {\n return this.get('hooks').get(name);\n }\n\n // api(name) {\n // return this.get('apis').get(name);\n // }\n\n get api(): Record<string, Common.Module> {\n return this.get('apis').getAll();\n }\n\n get auth() {\n return this.get('auth');\n }\n\n get contentAPI() {\n return this.get('content-api');\n }\n\n get sanitizers() {\n return this.get('sanitizers');\n }\n\n get validators() {\n return this.get('validators');\n }\n\n async start() {\n try {\n if (!this.isLoaded) {\n await this.load();\n }\n\n await this.listen();\n\n return this;\n } catch (error) {\n return this.stopWithError(error);\n }\n }\n\n async destroy() {\n await this.server.destroy();\n await this.runLifecyclesFunctions(utils.LIFECYCLES.DESTROY);\n\n this.eventHub.destroy();\n\n await this.db?.destroy();\n\n this.telemetry.destroy();\n this.cron.destroy();\n\n process.removeAllListeners();\n\n // @ts-expect-error: Allow clean delete of global.strapi to allow re-instanciation\n delete global.strapi;\n }\n\n sendStartupTelemetry() {\n // Emit started event.\n // do not await to avoid slower startup\n // This event is anonymous\n this.telemetry\n .send('didStartServer', {\n groupProperties: {\n database: this.config.get('database.connection.client'),\n plugins: Object.keys(this.plugins),\n numberOfAllContentTypes: _.size(this.contentTypes), // TODO: V5: This event should be renamed numberOfContentTypes in V5 as the name is already taken to describe the number of content types using i18n.\n numberOfComponents: _.size(this.components),\n numberOfDynamicZones: getNumberOfDynamicZones(),\n numberOfCustomControllers: Object.values<Common.Controller>(this.controllers).filter(\n // TODO: Fix this at the content API loader level to prevent future types issues\n (controller) => controller !== undefined && factories.isCustomController(controller)\n ).length,\n environment: this.config.environment,\n // TODO: to add back\n // providers: this.config.installedProviders,\n },\n })\n .catch(this.log.error);\n }\n\n async openAdmin({ isInitialized }: { isInitialized: boolean }) {\n const shouldOpenAdmin =\n this.config.get('environment') === 'development' &&\n this.config.get('admin.autoOpen', true) !== false;\n\n if (shouldOpenAdmin && !isInitialized) {\n try {\n await utils.openBrowser(this.config);\n this.telemetry.send('didOpenTab');\n } catch (e) {\n this.telemetry.send('didNotOpenTab');\n }\n }\n }\n\n async postListen() {\n const isInitialized = await utils.isInitialized(this);\n\n this.startupLogger.logStartupMessage({ isInitialized });\n\n this.sendStartupTelemetry();\n this.openAdmin({ isInitialized });\n }\n\n /**\n * Add behaviors to the server\n */\n async listen() {\n return new Promise<void>((resolve, reject) => {\n const onListen = async () => {\n try {\n await this.postListen();\n\n resolve();\n } catch (error) {\n reject(error);\n }\n };\n\n const listenSocket = this.config.get('server.socket');\n\n if (listenSocket) {\n this.server.listen(listenSocket, onListen);\n } else {\n const { host, port } = this.config.get('server');\n\n this.server.listen(port, host, onListen);\n }\n });\n }\n\n stopWithError(err: unknown, customMessage?: string): never {\n this.log.debug(`⛔️ Server wasn't able to start properly.`);\n if (customMessage) {\n this.log.error(customMessage);\n }\n\n this.log.error(err);\n return this.stop();\n }\n\n stop(exitCode = 1): never {\n this.destroy();\n\n if (this.config.get('autoReload')) {\n process.send?.('stop');\n }\n\n // Kill process\n process.exit(exitCode);\n }\n\n registerInternalHooks() {\n this.get('hooks').set('strapi::content-types.beforeSync', hooks.createAsyncParallelHook());\n this.get('hooks').set('strapi::content-types.afterSync', hooks.createAsyncParallelHook());\n }\n\n async register() {\n await loaders.loadApplicationContext(this);\n\n this.get('models').add(coreStoreModel).add(webhookModel);\n\n // init webhook runner\n this.webhookRunner = createWebhookRunner({\n eventHub: this.eventHub,\n logger: this.log,\n configuration: this.config.get('server.webhooks', {}),\n fetch: this.fetch,\n });\n\n this.registerInternalHooks();\n\n this.telemetry.register();\n\n await this.runLifecyclesFunctions(utils.LIFECYCLES.REGISTER);\n // NOTE: Swap type customField for underlying data type\n utils.convertCustomFieldType(this);\n\n return this;\n }\n\n async bootstrap() {\n const models = [\n ...utils.transformContentTypesToModels([\n ...Object.values(this.contentTypes),\n ...Object.values(this.components),\n ]),\n ...this.get('models').get(),\n ];\n\n this.db = await Database.init({ ...this.config.get('database'), models });\n\n this.store = createCoreStore({ db: this.db });\n this.webhookStore = createWebhookStore({ db: this.db });\n\n this.entityValidator = entityValidator;\n this.entityService = createEntityService({\n strapi: this,\n db: this.db,\n eventHub: this.eventHub,\n entityValidator: this.entityValidator,\n });\n\n this.documents = createDocumentService(this);\n\n if (this.config.get('server.cron.enabled', true)) {\n const cronTasks = this.config.get('server.cron.tasks', {});\n this.cron.add(cronTasks);\n }\n\n this.telemetry.bootstrap();\n\n let oldContentTypes;\n if (await this.db.getSchemaConnection().hasTable(coreStoreModel.tableName)) {\n oldContentTypes = await this.store.get({\n type: 'strapi',\n name: 'content_types',\n key: 'schema',\n });\n }\n\n await this.hook('strapi::content-types.beforeSync').call({\n oldContentTypes,\n contentTypes: this.contentTypes,\n });\n\n await this.db.schema.sync();\n\n if (this.EE) {\n await utils.ee.checkLicense({ strapi: this });\n }\n\n await this.hook('strapi::content-types.afterSync').call({\n oldContentTypes,\n contentTypes: this.contentTypes,\n });\n\n await this.store.set({\n type: 'strapi',\n name: 'content_types',\n key: 'schema',\n value: this.contentTypes,\n });\n\n await this.startWebhooks();\n\n await this.server.initMiddlewares();\n this.server.initRouting();\n\n await this.contentAPI.permissions.registerActions();\n\n await this.runLifecyclesFunctions(utils.LIFECYCLES.BOOTSTRAP);\n\n this.cron.start();\n\n return this;\n }\n\n async load() {\n await this.register();\n await this.bootstrap();\n\n this.isLoaded = true;\n\n return this as this & Required<StrapiI>;\n }\n\n async startWebhooks() {\n const webhooks = await this.webhookStore?.findWebhooks();\n if (!webhooks) {\n return;\n }\n\n for (const webhook of webhooks) {\n this.webhookRunner?.add(webhook);\n }\n }\n\n async runLifecyclesFunctions(lifecycleName: 'register' | 'bootstrap' | 'destroy') {\n // plugins\n await this.get('modules')[lifecycleName]();\n\n // admin\n const adminLifecycleFunction = this.admin && this.admin[lifecycleName];\n if (isFunction(adminLifecycleFunction)) {\n await adminLifecycleFunction({ strapi: this });\n }\n\n // user\n const userLifecycleFunction = this.app && this.app[lifecycleName];\n if (isFunction(userLifecycleFunction)) {\n await userLifecycleFunction({ strapi: this });\n }\n }\n\n getModel(uid: Common.UID.ContentType): Schema.ContentType;\n getModel(uid: Common.UID.Component): Schema.Component;\n getModel<TUID extends Common.UID.Schema>(\n uid: TUID\n ): Schema.ContentType | Schema.Component | undefined {\n if (uid in this.contentTypes) {\n return this.contentTypes[uid as Common.UID.ContentType];\n }\n\n if (uid in this.components) {\n return this.components[uid as Common.UID.Component];\n }\n }\n\n /**\n * Binds queries with a specific model\n * @param {string} uid\n */\n query(uid: Common.UID.Schema) {\n return this.db!.query(uid);\n }\n}\n\ninterface StrapiOptions {\n appDir?: string;\n distDir?: string;\n autoReload?: boolean;\n serveAdminPanel?: boolean;\n}\n\ninterface Init {\n (options?: StrapiOptions): StrapiI;\n factories: typeof factories;\n compile: typeof compile;\n}\n\nconst initFn = (options: StrapiOptions = {}): StrapiI => {\n const strapi = new Strapi(options);\n global.strapi = strapi as LoadedStrapi;\n return strapi;\n};\n\nconst init: Init = Object.assign(initFn, { factories, compile });\n\nexport default init;\n"],"names":["path","Container","utils.destroyOnSignal","loadConfiguration","registries.config","registries.contentTypes","registries.components","registries.services","registries.policies","registries.middlewares","registries.hooks","registries.controllers","registries.modules","registries.plugins","registries.customFields","registries.apis","registries.sanitizers","registries.validators","createContentAPI","createAuth","registries.models","utils.getDirs","createServer","createStrapiFs","createEventHub","utils.createStartupLogger","createLogger","createCronService","createTelemetry","createCustomFields","utils.createStrapiFetch","createFeaturesService","utils.createUpdateNotifier","utils.ee","utils.LIFECYCLES","_","getNumberOfDynamicZones","factories.isCustomController","isInitialized","utils.openBrowser","utils.isInitialized","hooks","loaders.loadApplicationContext","coreStoreModel","webhookModel","createWebhookRunner","utils.convertCustomFieldType","models","utils.transformContentTypesToModels","Database","createCoreStore","createWebhookStore","entityValidator","createEntityService","createDocumentService","isFunction"],"mappings":"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"}
1
+ {"version":3,"file":"Strapi.js","sources":["../src/Strapi.ts"],"sourcesContent":["import * as globalAgent from 'global-agent';\nimport path from 'path';\nimport _ from 'lodash';\nimport { isFunction } from 'lodash/fp';\nimport { Logger, createLogger } from '@strapi/logger';\nimport { Database } from '@strapi/database';\n\nimport type { Core, Modules, UID, Schema } from '@strapi/types';\n\nimport { loadConfiguration } from './configuration';\n\nimport * as factories from './factories';\n\nimport * as utils from './utils';\nimport { Container } from './container';\nimport createStrapiFs from './services/fs';\nimport createEventHub from './services/event-hub';\nimport { createServer } from './services/server';\nimport { createReloader } from './services/reloader';\n\nimport { providers } from './providers';\nimport createEntityService from './services/entity-service';\nimport createQueryParamService from './services/query-params';\n\nimport entityValidator from './services/entity-validator';\nimport requestContext from './services/request-context';\nimport createAuth from './services/auth';\nimport createCustomFields from './services/custom-fields';\nimport createContentAPI from './services/content-api';\nimport getNumberOfDynamicZones from './services/utils/dynamic-zones';\nimport { FeaturesService, createFeaturesService } from './services/features';\nimport { createDocumentService } from './services/document-service';\n\nimport { coreStoreModel } from './services/core-store';\nimport { createConfigProvider } from './services/config';\n\nclass Strapi extends Container implements Core.Strapi {\n app: any;\n\n isLoaded: boolean = false;\n\n internal_config: Record<string, unknown> = {};\n\n constructor(opts: StrapiOptions) {\n super();\n\n this.internal_config = loadConfiguration(opts);\n\n this.registerInternalServices();\n\n for (const provider of providers) {\n provider.init?.(this);\n }\n }\n\n get admin(): Core.Module {\n return this.get('admin');\n }\n\n get EE(): boolean {\n return utils.ee.isEE;\n }\n\n get ee(): Core.Strapi['ee'] {\n return utils.ee;\n }\n\n get dirs(): Core.StrapiDirectories {\n return this.config.get('dirs');\n }\n\n get reload(): Core.Reloader {\n return this.get('reload');\n }\n\n get db(): Database {\n return this.get('db');\n }\n\n get requestContext(): Modules.RequestContext.RequestContext {\n return this.get('requestContext');\n }\n\n get customFields(): Modules.CustomFields.CustomFields {\n return this.get('customFields');\n }\n\n get entityValidator(): Modules.EntityValidator.EntityValidator {\n return this.get('entityValidator');\n }\n\n /**\n * @deprecated `strapi.entityService` will be removed in the next major version\n */\n get entityService(): Modules.EntityService.EntityService {\n return this.get('entityService');\n }\n\n get documents(): Modules.Documents.Service {\n return this.get('documents');\n }\n\n get features(): FeaturesService {\n return this.get('features');\n }\n\n get fetch(): Modules.Fetch.Fetch {\n return this.get('fetch');\n }\n\n get cron(): Modules.Cron.CronService {\n return this.get('cron');\n }\n\n get log(): Logger {\n return this.get('logger');\n }\n\n get startupLogger(): Core.StartupLogger {\n return this.get('startupLogger');\n }\n\n get eventHub(): Modules.EventHub.EventHub {\n return this.get('eventHub');\n }\n\n get fs(): Core.StrapiFS {\n return this.get('fs');\n }\n\n get server(): Modules.Server.Server {\n return this.get('server');\n }\n\n get telemetry(): Modules.Metrics.TelemetryService {\n return this.get('telemetry');\n }\n\n get store(): Modules.CoreStore.CoreStore {\n return this.get('coreStore');\n }\n\n get config() {\n return this.get('config');\n }\n\n get services() {\n return this.get('services').getAll();\n }\n\n service(uid: UID.Service) {\n return this.get('services').get(uid);\n }\n\n get controllers() {\n return this.get('controllers').getAll();\n }\n\n controller(uid: UID.Controller) {\n return this.get('controllers').get(uid);\n }\n\n get contentTypes(): Schema.ContentTypes {\n return this.get('content-types').getAll();\n }\n\n contentType(name: UID.ContentType) {\n return this.get('content-types').get(name);\n }\n\n get components(): Schema.Components {\n return this.get('components').getAll();\n }\n\n get policies() {\n return this.get('policies').getAll();\n }\n\n policy(name: string) {\n return this.get('policies').get(name);\n }\n\n get middlewares() {\n return this.get('middlewares').getAll();\n }\n\n middleware(name: string) {\n return this.get('middlewares').get(name);\n }\n\n get plugins(): Record<string, Core.Plugin> {\n return this.get('plugins').getAll();\n }\n\n plugin(name: string): Core.Plugin {\n return this.get('plugins').get(name);\n }\n\n get hooks() {\n return this.get('hooks').getAll();\n }\n\n hook(name: string) {\n return this.get('hooks').get(name);\n }\n\n get apis() {\n return this.get('apis').getAll();\n }\n\n api(name: string): Core.Module {\n return this.get('apis').get(name);\n }\n\n get auth() {\n return this.get('auth');\n }\n\n get contentAPI() {\n return this.get('content-api');\n }\n\n get sanitizers() {\n return this.get('sanitizers');\n }\n\n get validators() {\n return this.get('validators');\n }\n\n async start() {\n try {\n if (!this.isLoaded) {\n await this.load();\n }\n\n await this.listen();\n\n return this;\n } catch (error) {\n return this.stopWithError(error);\n }\n }\n\n // TODO: split into more providers\n registerInternalServices() {\n const config = createConfigProvider(this.internal_config, this);\n\n const logger = createLogger({\n level: 'http', // Strapi defaults to level 'http'\n ...config.get('logger'), // DEPRECATED\n ...config.get('server.logger.config'),\n });\n\n // Instantiate the Strapi container\n this.add('config', () => config)\n .add('query-params', createQueryParamService(this))\n .add('content-api', createContentAPI(this))\n .add('auth', createAuth())\n .add('server', () => createServer(this))\n .add('fs', () => createStrapiFs(this))\n .add('eventHub', () => createEventHub())\n .add('startupLogger', () => utils.createStartupLogger(this))\n .add('logger', () => logger)\n .add('fetch', () => utils.createStrapiFetch(this))\n .add('features', () => createFeaturesService(this))\n .add('requestContext', requestContext)\n .add('customFields', createCustomFields(this))\n .add('entityValidator', entityValidator)\n .add('entityService', () => createEntityService({ strapi: this, db: this.db }))\n .add('documents', () => createDocumentService(this))\n .add(\n 'db',\n () =>\n new Database(\n _.merge(this.config.get('database'), {\n logger,\n settings: {\n migrations: {\n dir: path.join(this.dirs.app.root, 'database/migrations'),\n },\n },\n })\n )\n )\n .add('reload', () => createReloader(this));\n }\n\n sendStartupTelemetry() {\n // Emit started event.\n // do not await to avoid slower startup\n // This event is anonymous\n this.telemetry\n .send('didStartServer', {\n groupProperties: {\n database: this.config.get('database.connection.client'),\n plugins: Object.keys(this.plugins),\n numberOfAllContentTypes: _.size(this.contentTypes), // TODO: V5: This event should be renamed numberOfContentTypes in V5 as the name is already taken to describe the number of content types using i18n.\n numberOfComponents: _.size(this.components),\n numberOfDynamicZones: getNumberOfDynamicZones(),\n numberOfCustomControllers: Object.values<Core.Controller>(this.controllers).filter(\n // TODO: Fix this at the content API loader level to prevent future types issues\n (controller) => controller !== undefined && factories.isCustomController(controller)\n ).length,\n environment: this.config.environment,\n // TODO: to add back\n // providers: this.config.installedProviders,\n },\n })\n .catch(this.log.error);\n }\n\n async openAdmin({ isInitialized }: { isInitialized: boolean }) {\n const shouldOpenAdmin =\n this.config.get('environment') === 'development' &&\n this.config.get('admin.autoOpen', true) !== false;\n\n if (shouldOpenAdmin && !isInitialized) {\n try {\n await utils.openBrowser(this.config);\n this.telemetry.send('didOpenTab');\n } catch (e) {\n this.telemetry.send('didNotOpenTab');\n }\n }\n }\n\n async postListen() {\n const isInitialized = await utils.isInitialized(this);\n\n this.startupLogger.logStartupMessage({ isInitialized });\n\n this.log.info('Strapi started successfully');\n this.sendStartupTelemetry();\n this.openAdmin({ isInitialized });\n }\n\n /**\n * Add behaviors to the server\n */\n async listen() {\n return new Promise<void>((resolve, reject) => {\n const onListen = async () => {\n try {\n await this.postListen();\n\n resolve();\n } catch (error) {\n reject(error);\n }\n };\n\n const listenSocket = this.config.get('server.socket');\n\n if (listenSocket) {\n this.server.listen(listenSocket, onListen);\n } else {\n const { host, port } = this.config.get('server');\n\n this.server.listen(port, host, onListen);\n }\n });\n }\n\n stopWithError(err: unknown, customMessage?: string): never {\n this.log.debug(`⛔️ Server wasn't able to start properly.`);\n if (customMessage) {\n this.log.error(customMessage);\n }\n\n this.log.error(err);\n return this.stop();\n }\n\n stop(exitCode = 1): never {\n this.destroy();\n\n if (this.config.get('autoReload')) {\n process.send?.('stop');\n }\n\n // Kill process\n process.exit(exitCode);\n }\n\n async load() {\n await this.register();\n await this.bootstrap();\n\n this.isLoaded = true;\n\n return this;\n }\n\n async register() {\n // @ts-expect-error: init is internal\n this.ee.init(this.dirs.app.root, this.log);\n\n for (const provider of providers) {\n await provider.register?.(this);\n }\n\n await this.runPluginsLifecycles(utils.LIFECYCLES.REGISTER);\n await this.runUserLifecycles(utils.LIFECYCLES.REGISTER);\n\n // NOTE: Swap type customField for underlying data type\n utils.convertCustomFieldType(this);\n\n return this;\n }\n\n async bootstrap() {\n this.configureGlobalProxy();\n\n const models = [\n ...utils.transformContentTypesToModels(\n [...Object.values(this.contentTypes), ...Object.values(this.components)],\n this.db.metadata.identifiers\n ),\n ...this.get('models').get(),\n ];\n\n await this.db.init({ models });\n\n let oldContentTypes;\n if (await this.db.getSchemaConnection().hasTable(coreStoreModel.tableName)) {\n oldContentTypes = await this.store.get({\n type: 'strapi',\n name: 'content_types',\n key: 'schema',\n });\n }\n\n await this.hook('strapi::content-types.beforeSync').call({\n oldContentTypes,\n contentTypes: this.contentTypes,\n });\n\n await this.db.schema.sync();\n\n if (this.EE) {\n await utils.ee.checkLicense({ strapi: this });\n }\n\n await this.hook('strapi::content-types.afterSync').call({\n oldContentTypes,\n contentTypes: this.contentTypes,\n });\n\n await this.store.set({\n type: 'strapi',\n name: 'content_types',\n key: 'schema',\n value: this.contentTypes,\n });\n\n await this.server.initMiddlewares();\n this.server.initRouting();\n\n await this.contentAPI.permissions.registerActions();\n\n await this.runPluginsLifecycles(utils.LIFECYCLES.BOOTSTRAP);\n\n for (const provider of providers) {\n await provider.bootstrap?.(this);\n }\n\n await this.runUserLifecycles(utils.LIFECYCLES.BOOTSTRAP);\n\n return this;\n }\n\n configureGlobalProxy() {\n const globalProxy = this.config.get('server.proxy.global');\n const httpProxy = this.config.get('server.proxy.http') || globalProxy;\n const httpsProxy = this.config.get('server.proxy.https') || globalProxy;\n\n if (!httpProxy && !httpsProxy) {\n return;\n }\n\n globalAgent.bootstrap();\n\n if (httpProxy) {\n this.log.info(`Using HTTP proxy: ${httpProxy}`);\n (global as any).GLOBAL_AGENT.HTTP_PROXY = httpProxy;\n }\n\n if (httpsProxy) {\n this.log.info(`Using HTTPS proxy: ${httpsProxy}`);\n (global as any).GLOBAL_AGENT.HTTPS_PROXY = httpsProxy;\n }\n }\n\n async destroy() {\n this.log.info('Shutting down Strapi');\n await this.runPluginsLifecycles(utils.LIFECYCLES.DESTROY);\n\n for (const provider of providers) {\n await provider.destroy?.(this);\n }\n\n await this.runUserLifecycles(utils.LIFECYCLES.DESTROY);\n\n await this.server.destroy();\n\n this.eventHub.destroy();\n\n await this.db?.destroy();\n\n process.removeAllListeners();\n\n // @ts-expect-error: Allow clean delete of global.strapi to allow re-instanciation\n delete global.strapi;\n\n this.log.info('Strapi has been shut down');\n }\n\n async runPluginsLifecycles(lifecycleName: 'register' | 'bootstrap' | 'destroy') {\n // plugins\n await this.get('modules')[lifecycleName]();\n }\n\n async runUserLifecycles(lifecycleName: 'register' | 'bootstrap' | 'destroy') {\n // user\n const userLifecycleFunction = this.app && this.app[lifecycleName];\n if (isFunction(userLifecycleFunction)) {\n await userLifecycleFunction({ strapi: this });\n }\n }\n\n getModel(uid: UID.ContentType): Schema.ContentType;\n getModel(uid: UID.Component): Schema.Component;\n getModel<TUID extends UID.Schema>(uid: TUID): Schema.ContentType | Schema.Component | undefined {\n if (uid in this.contentTypes) {\n return this.contentTypes[uid as UID.ContentType];\n }\n\n if (uid in this.components) {\n return this.components[uid as UID.Component];\n }\n }\n\n /**\n * @deprecated Use `strapi.db.query` instead\n */\n query(uid: UID.Schema) {\n return this.db.query(uid);\n }\n}\n\nexport interface StrapiOptions {\n appDir: string;\n distDir: string;\n autoReload?: boolean;\n serveAdminPanel?: boolean;\n}\n\nexport default Strapi;\n"],"names":["Container","loadConfiguration","providers","utils.ee","config","createConfigProvider","logger","createLogger","createQueryParamService","createContentAPI","createAuth","createServer","createStrapiFs","createEventHub","utils.createStartupLogger","utils.createStrapiFetch","createFeaturesService","createCustomFields","entityValidator","createEntityService","createDocumentService","Database","_","path","createReloader","getNumberOfDynamicZones","factories.isCustomController","isInitialized","utils.openBrowser","utils.isInitialized","utils.LIFECYCLES","utils.convertCustomFieldType","utils.transformContentTypesToModels","coreStoreModel","globalAgent","isFunction"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,MAAM,eAAeA,UAAAA,UAAiC;AAAA,EACpD;AAAA,EAEA,WAAoB;AAAA,EAEpB,kBAA2C,CAAA;AAAA,EAE3C,YAAY,MAAqB;AACzB;AAED,SAAA,kBAAkBC,wBAAkB,IAAI;AAE7C,SAAK,yBAAyB;AAE9B,eAAW,YAAYC,mBAAW;AAChC,eAAS,OAAO,IAAI;AAAA,IACtB;AAAA,EACF;AAAA,EAEA,IAAI,QAAqB;AAChB,WAAA,KAAK,IAAI,OAAO;AAAA,EACzB;AAAA,EAEA,IAAI,KAAc;AAChB,WAAOC,QAAS;AAAA,EAClB;AAAA,EAEA,IAAI,KAAwB;AAC1B,WAAOA;AAAAA,EACT;AAAA,EAEA,IAAI,OAA+B;AAC1B,WAAA,KAAK,OAAO,IAAI,MAAM;AAAA,EAC/B;AAAA,EAEA,IAAI,SAAwB;AACnB,WAAA,KAAK,IAAI,QAAQ;AAAA,EAC1B;AAAA,EAEA,IAAI,KAAe;AACV,WAAA,KAAK,IAAI,IAAI;AAAA,EACtB;AAAA,EAEA,IAAI,iBAAwD;AACnD,WAAA,KAAK,IAAI,gBAAgB;AAAA,EAClC;AAAA,EAEA,IAAI,eAAkD;AAC7C,WAAA,KAAK,IAAI,cAAc;AAAA,EAChC;AAAA,EAEA,IAAI,kBAA2D;AACtD,WAAA,KAAK,IAAI,iBAAiB;AAAA,EACnC;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,gBAAqD;AAChD,WAAA,KAAK,IAAI,eAAe;AAAA,EACjC;AAAA,EAEA,IAAI,YAAuC;AAClC,WAAA,KAAK,IAAI,WAAW;AAAA,EAC7B;AAAA,EAEA,IAAI,WAA4B;AACvB,WAAA,KAAK,IAAI,UAAU;AAAA,EAC5B;AAAA,EAEA,IAAI,QAA6B;AACxB,WAAA,KAAK,IAAI,OAAO;AAAA,EACzB;AAAA,EAEA,IAAI,OAAiC;AAC5B,WAAA,KAAK,IAAI,MAAM;AAAA,EACxB;AAAA,EAEA,IAAI,MAAc;AACT,WAAA,KAAK,IAAI,QAAQ;AAAA,EAC1B;AAAA,EAEA,IAAI,gBAAoC;AAC/B,WAAA,KAAK,IAAI,eAAe;AAAA,EACjC;AAAA,EAEA,IAAI,WAAsC;AACjC,WAAA,KAAK,IAAI,UAAU;AAAA,EAC5B;AAAA,EAEA,IAAI,KAAoB;AACf,WAAA,KAAK,IAAI,IAAI;AAAA,EACtB;AAAA,EAEA,IAAI,SAAgC;AAC3B,WAAA,KAAK,IAAI,QAAQ;AAAA,EAC1B;AAAA,EAEA,IAAI,YAA8C;AACzC,WAAA,KAAK,IAAI,WAAW;AAAA,EAC7B;AAAA,EAEA,IAAI,QAAqC;AAChC,WAAA,KAAK,IAAI,WAAW;AAAA,EAC7B;AAAA,EAEA,IAAI,SAAS;AACJ,WAAA,KAAK,IAAI,QAAQ;AAAA,EAC1B;AAAA,EAEA,IAAI,WAAW;AACb,WAAO,KAAK,IAAI,UAAU,EAAE,OAAO;AAAA,EACrC;AAAA,EAEA,QAAQ,KAAkB;AACxB,WAAO,KAAK,IAAI,UAAU,EAAE,IAAI,GAAG;AAAA,EACrC;AAAA,EAEA,IAAI,cAAc;AAChB,WAAO,KAAK,IAAI,aAAa,EAAE,OAAO;AAAA,EACxC;AAAA,EAEA,WAAW,KAAqB;AAC9B,WAAO,KAAK,IAAI,aAAa,EAAE,IAAI,GAAG;AAAA,EACxC;AAAA,EAEA,IAAI,eAAoC;AACtC,WAAO,KAAK,IAAI,eAAe,EAAE,OAAO;AAAA,EAC1C;AAAA,EAEA,YAAY,MAAuB;AACjC,WAAO,KAAK,IAAI,eAAe,EAAE,IAAI,IAAI;AAAA,EAC3C;AAAA,EAEA,IAAI,aAAgC;AAClC,WAAO,KAAK,IAAI,YAAY,EAAE,OAAO;AAAA,EACvC;AAAA,EAEA,IAAI,WAAW;AACb,WAAO,KAAK,IAAI,UAAU,EAAE,OAAO;AAAA,EACrC;AAAA,EAEA,OAAO,MAAc;AACnB,WAAO,KAAK,IAAI,UAAU,EAAE,IAAI,IAAI;AAAA,EACtC;AAAA,EAEA,IAAI,cAAc;AAChB,WAAO,KAAK,IAAI,aAAa,EAAE,OAAO;AAAA,EACxC;AAAA,EAEA,WAAW,MAAc;AACvB,WAAO,KAAK,IAAI,aAAa,EAAE,IAAI,IAAI;AAAA,EACzC;AAAA,EAEA,IAAI,UAAuC;AACzC,WAAO,KAAK,IAAI,SAAS,EAAE,OAAO;AAAA,EACpC;AAAA,EAEA,OAAO,MAA2B;AAChC,WAAO,KAAK,IAAI,SAAS,EAAE,IAAI,IAAI;AAAA,EACrC;AAAA,EAEA,IAAI,QAAQ;AACV,WAAO,KAAK,IAAI,OAAO,EAAE,OAAO;AAAA,EAClC;AAAA,EAEA,KAAK,MAAc;AACjB,WAAO,KAAK,IAAI,OAAO,EAAE,IAAI,IAAI;AAAA,EACnC;AAAA,EAEA,IAAI,OAAO;AACT,WAAO,KAAK,IAAI,MAAM,EAAE,OAAO;AAAA,EACjC;AAAA,EAEA,IAAI,MAA2B;AAC7B,WAAO,KAAK,IAAI,MAAM,EAAE,IAAI,IAAI;AAAA,EAClC;AAAA,EAEA,IAAI,OAAO;AACF,WAAA,KAAK,IAAI,MAAM;AAAA,EACxB;AAAA,EAEA,IAAI,aAAa;AACR,WAAA,KAAK,IAAI,aAAa;AAAA,EAC/B;AAAA,EAEA,IAAI,aAAa;AACR,WAAA,KAAK,IAAI,YAAY;AAAA,EAC9B;AAAA,EAEA,IAAI,aAAa;AACR,WAAA,KAAK,IAAI,YAAY;AAAA,EAC9B;AAAA,EAEA,MAAM,QAAQ;AACR,QAAA;AACE,UAAA,CAAC,KAAK,UAAU;AAClB,cAAM,KAAK;MACb;AAEA,YAAM,KAAK;AAEJ,aAAA;AAAA,aACA,OAAO;AACP,aAAA,KAAK,cAAc,KAAK;AAAA,IACjC;AAAA,EACF;AAAA;AAAA,EAGA,2BAA2B;AACzB,UAAMC,WAASC,OAAA,qBAAqB,KAAK,iBAAiB,IAAI;AAE9D,UAAMC,WAASC,OAAAA,aAAa;AAAA,MAC1B,OAAO;AAAA;AAAA,MACP,GAAGH,SAAO,IAAI,QAAQ;AAAA;AAAA,MACtB,GAAGA,SAAO,IAAI,sBAAsB;AAAA,IAAA,CACrC;AAGI,SAAA,IAAI,UAAU,MAAMA,QAAM,EAC5B,IAAI,gBAAgBI,YAAwB,IAAI,CAAC,EACjD,IAAI,eAAeC,QAAiB,IAAI,CAAC,EACzC,IAAI,QAAQC,QAAY,CAAA,EACxB,IAAI,UAAU,MAAMC,QAAa,aAAA,IAAI,CAAC,EACtC,IAAI,MAAM,MAAMC,GAAe,IAAI,CAAC,EACpC,IAAI,YAAY,MAAMC,UAAgB,EACtC,IAAI,iBAAiB,MAAMC,kCAA0B,IAAI,CAAC,EAC1D,IAAI,UAAU,MAAMR,QAAM,EAC1B,IAAI,SAAS,MAAMS,MAAM,kBAAkB,IAAI,CAAC,EAChD,IAAI,YAAY,MAAMC,SAAA,sBAAsB,IAAI,CAAC,EACjD,IAAI,kBAAkB,cAAc,EACpC,IAAI,gBAAgBC,aAAmB,IAAI,CAAC,EAC5C,IAAI,mBAAmBC,OAAe,EACtC,IAAI,iBAAiB,MAAMC,QAAoB,EAAE,QAAQ,MAAM,IAAI,KAAK,IAAI,CAAC,EAC7E,IAAI,aAAa,MAAMC,QAAA,sBAAsB,IAAI,CAAC,EAClD;AAAA,MACC;AAAA,MACA,MACE,IAAIC,SAAA;AAAA,QACFC,mBAAE,MAAM,KAAK,OAAO,IAAI,UAAU,GAAG;AAAA,UAAA,QACnChB;AAAAA,UACA,UAAU;AAAA,YACR,YAAY;AAAA,cACV,KAAKiB,cAAK,QAAA,KAAK,KAAK,KAAK,IAAI,MAAM,qBAAqB;AAAA,YAC1D;AAAA,UACF;AAAA,QAAA,CACD;AAAA,MACH;AAAA,MAEH,IAAI,UAAU,MAAMC,SAAAA,eAAe,IAAI,CAAC;AAAA,EAC7C;AAAA,EAEA,uBAAuB;AAIhB,SAAA,UACF,KAAK,kBAAkB;AAAA,MACtB,iBAAiB;AAAA,QACf,UAAU,KAAK,OAAO,IAAI,4BAA4B;AAAA,QACtD,SAAS,OAAO,KAAK,KAAK,OAAO;AAAA,QACjC,yBAAyBF,WAAA,QAAE,KAAK,KAAK,YAAY;AAAA;AAAA,QACjD,oBAAoBA,WAAA,QAAE,KAAK,KAAK,UAAU;AAAA,QAC1C,sBAAsBG,aAAwB;AAAA,QAC9C,2BAA2B,OAAO,OAAwB,KAAK,WAAW,EAAE;AAAA;AAAA,UAE1E,CAAC,eAAe,eAAe,UAAaC,UAAAA,mBAA6B,UAAU;AAAA,QAAA,EACnF;AAAA,QACF,aAAa,KAAK,OAAO;AAAA;AAAA;AAAA,MAG3B;AAAA,IACD,CAAA,EACA,MAAM,KAAK,IAAI,KAAK;AAAA,EACzB;AAAA,EAEA,MAAM,UAAU,EAAE,eAAAC,kBAA6C;AAC7D,UAAM,kBACJ,KAAK,OAAO,IAAI,aAAa,MAAM,iBACnC,KAAK,OAAO,IAAI,kBAAkB,IAAI,MAAM;AAE1C,QAAA,mBAAmB,CAACA,gBAAe;AACjC,UAAA;AACI,cAAAC,YAAkB,YAAA,KAAK,MAAM;AAC9B,aAAA,UAAU,KAAK,YAAY;AAAA,eACzB,GAAG;AACL,aAAA,UAAU,KAAK,eAAe;AAAA,MACrC;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAM,aAAa;AACjB,UAAMD,kBAAgB,MAAME,4BAAoB,IAAI;AAEpD,SAAK,cAAc,kBAAkB,EAAEF,eAAAA,gBAAe,CAAA;AAEjD,SAAA,IAAI,KAAK,6BAA6B;AAC3C,SAAK,qBAAqB;AACrB,SAAA,UAAU,iBAAEA,gBAAA,CAAe;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,SAAS;AACb,WAAO,IAAI,QAAc,CAAC,SAAS,WAAW;AAC5C,YAAM,WAAW,YAAY;AACvB,YAAA;AACF,gBAAM,KAAK;AAEH;iBACD,OAAO;AACd,iBAAO,KAAK;AAAA,QACd;AAAA,MAAA;AAGF,YAAM,eAAe,KAAK,OAAO,IAAI,eAAe;AAEpD,UAAI,cAAc;AACX,aAAA,OAAO,OAAO,cAAc,QAAQ;AAAA,MAAA,OACpC;AACL,cAAM,EAAE,MAAM,SAAS,KAAK,OAAO,IAAI,QAAQ;AAE/C,aAAK,OAAO,OAAO,MAAM,MAAM,QAAQ;AAAA,MACzC;AAAA,IAAA,CACD;AAAA,EACH;AAAA,EAEA,cAAc,KAAc,eAA+B;AACpD,SAAA,IAAI,MAAM,0CAA0C;AACzD,QAAI,eAAe;AACZ,WAAA,IAAI,MAAM,aAAa;AAAA,IAC9B;AAEK,SAAA,IAAI,MAAM,GAAG;AAClB,WAAO,KAAK;EACd;AAAA,EAEA,KAAK,WAAW,GAAU;AACxB,SAAK,QAAQ;AAEb,QAAI,KAAK,OAAO,IAAI,YAAY,GAAG;AACjC,cAAQ,OAAO,MAAM;AAAA,IACvB;AAGA,YAAQ,KAAK,QAAQ;AAAA,EACvB;AAAA,EAEA,MAAM,OAAO;AACX,UAAM,KAAK;AACX,UAAM,KAAK;AAEX,SAAK,WAAW;AAET,WAAA;AAAA,EACT;AAAA,EAEA,MAAM,WAAW;AAEf,SAAK,GAAG,KAAK,KAAK,KAAK,IAAI,MAAM,KAAK,GAAG;AAEzC,eAAW,YAAYzB,mBAAW;AAC1B,YAAA,SAAS,WAAW,IAAI;AAAA,IAChC;AAEA,UAAM,KAAK,qBAAqB4B,WAAM,WAAW,QAAQ;AACzD,UAAM,KAAK,kBAAkBA,WAAM,WAAW,QAAQ;AAGtDC,kDAA6B,IAAI;AAE1B,WAAA;AAAA,EACT;AAAA,EAEA,MAAM,YAAY;AAChB,SAAK,qBAAqB;AAE1B,UAAM,SAAS;AAAA,MACb,GAAGC,8BAAM;AAAA,QACP,CAAC,GAAG,OAAO,OAAO,KAAK,YAAY,GAAG,GAAG,OAAO,OAAO,KAAK,UAAU,CAAC;AAAA,QACvE,KAAK,GAAG,SAAS;AAAA,MACnB;AAAA,MACA,GAAG,KAAK,IAAI,QAAQ,EAAE,IAAI;AAAA,IAAA;AAG5B,UAAM,KAAK,GAAG,KAAK,EAAE,OAAQ,CAAA;AAEzB,QAAA;AACA,QAAA,MAAM,KAAK,GAAG,sBAAsB,SAASC,UAAAA,eAAe,SAAS,GAAG;AACxD,wBAAA,MAAM,KAAK,MAAM,IAAI;AAAA,QACrC,MAAM;AAAA,QACN,MAAM;AAAA,QACN,KAAK;AAAA,MAAA,CACN;AAAA,IACH;AAEA,UAAM,KAAK,KAAK,kCAAkC,EAAE,KAAK;AAAA,MACvD;AAAA,MACA,cAAc,KAAK;AAAA,IAAA,CACpB;AAEK,UAAA,KAAK,GAAG,OAAO,KAAK;AAE1B,QAAI,KAAK,IAAI;AACX,YAAM9B,QAAS,aAAa,EAAE,QAAQ,KAAM,CAAA;AAAA,IAC9C;AAEA,UAAM,KAAK,KAAK,iCAAiC,EAAE,KAAK;AAAA,MACtD;AAAA,MACA,cAAc,KAAK;AAAA,IAAA,CACpB;AAEK,UAAA,KAAK,MAAM,IAAI;AAAA,MACnB,MAAM;AAAA,MACN,MAAM;AAAA,MACN,KAAK;AAAA,MACL,OAAO,KAAK;AAAA,IAAA,CACb;AAEK,UAAA,KAAK,OAAO;AAClB,SAAK,OAAO;AAEN,UAAA,KAAK,WAAW,YAAY,gBAAgB;AAElD,UAAM,KAAK,qBAAqB2B,WAAM,WAAW,SAAS;AAE1D,eAAW,YAAY5B,mBAAW;AAC1B,YAAA,SAAS,YAAY,IAAI;AAAA,IACjC;AAEA,UAAM,KAAK,kBAAkB4B,WAAM,WAAW,SAAS;AAEhD,WAAA;AAAA,EACT;AAAA,EAEA,uBAAuB;AACrB,UAAM,cAAc,KAAK,OAAO,IAAI,qBAAqB;AACzD,UAAM,YAAY,KAAK,OAAO,IAAI,mBAAmB,KAAK;AAC1D,UAAM,aAAa,KAAK,OAAO,IAAI,oBAAoB,KAAK;AAExD,QAAA,CAAC,aAAa,CAAC,YAAY;AAC7B;AAAA,IACF;AAEAI,2BAAY,UAAU;AAEtB,QAAI,WAAW;AACb,WAAK,IAAI,KAAK,qBAAqB,SAAS,EAAE;AAC7C,aAAe,aAAa,aAAa;AAAA,IAC5C;AAEA,QAAI,YAAY;AACd,WAAK,IAAI,KAAK,sBAAsB,UAAU,EAAE;AAC/C,aAAe,aAAa,cAAc;AAAA,IAC7C;AAAA,EACF;AAAA,EAEA,MAAM,UAAU;AACT,SAAA,IAAI,KAAK,sBAAsB;AACpC,UAAM,KAAK,qBAAqBJ,WAAM,WAAW,OAAO;AAExD,eAAW,YAAY5B,mBAAW;AAC1B,YAAA,SAAS,UAAU,IAAI;AAAA,IAC/B;AAEA,UAAM,KAAK,kBAAkB4B,WAAM,WAAW,OAAO;AAE/C,UAAA,KAAK,OAAO;AAElB,SAAK,SAAS;AAER,UAAA,KAAK,IAAI;AAEf,YAAQ,mBAAmB;AAG3B,WAAO,OAAO;AAET,SAAA,IAAI,KAAK,2BAA2B;AAAA,EAC3C;AAAA,EAEA,MAAM,qBAAqB,eAAqD;AAE9E,UAAM,KAAK,IAAI,SAAS,EAAE,aAAa,EAAE;AAAA,EAC3C;AAAA,EAEA,MAAM,kBAAkB,eAAqD;AAE3E,UAAM,wBAAwB,KAAK,OAAO,KAAK,IAAI,aAAa;AAC5D,QAAAK,GAAAA,WAAW,qBAAqB,GAAG;AACrC,YAAM,sBAAsB,EAAE,QAAQ,KAAM,CAAA;AAAA,IAC9C;AAAA,EACF;AAAA,EAIA,SAAkC,KAA8D;AAC1F,QAAA,OAAO,KAAK,cAAc;AACrB,aAAA,KAAK,aAAa,GAAsB;AAAA,IACjD;AAEI,QAAA,OAAO,KAAK,YAAY;AACnB,aAAA,KAAK,WAAW,GAAoB;AAAA,IAC7C;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,KAAiB;AACd,WAAA,KAAK,GAAG,MAAM,GAAG;AAAA,EAC1B;AACF;;"}