@strapi/core 5.48.1 → 5.50.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (420) hide show
  1. package/dist/Strapi.d.ts.map +1 -1
  2. package/dist/Strapi.js +11 -5
  3. package/dist/Strapi.js.map +1 -1
  4. package/dist/Strapi.mjs +2 -1
  5. package/dist/Strapi.mjs.map +1 -1
  6. package/dist/ai.d.ts +2 -0
  7. package/dist/ai.d.ts.map +1 -0
  8. package/dist/ai.js +8 -0
  9. package/dist/ai.js.map +1 -0
  10. package/dist/ai.mjs +3 -0
  11. package/dist/ai.mjs.map +1 -0
  12. package/dist/configuration/config-loader.d.ts.map +1 -1
  13. package/dist/configuration/config-loader.js +11 -6
  14. package/dist/configuration/config-loader.js.map +1 -1
  15. package/dist/configuration/get-dirs.d.ts.map +1 -1
  16. package/dist/configuration/index.d.ts +0 -3
  17. package/dist/configuration/index.d.ts.map +1 -1
  18. package/dist/configuration/index.js +22 -18
  19. package/dist/configuration/index.js.map +1 -1
  20. package/dist/configuration/index.mjs +0 -3
  21. package/dist/configuration/index.mjs.map +1 -1
  22. package/dist/configuration/server-config.d.ts +11 -0
  23. package/dist/configuration/server-config.d.ts.map +1 -0
  24. package/dist/configuration/server-config.js +16 -0
  25. package/dist/configuration/server-config.js.map +1 -0
  26. package/dist/configuration/server-config.mjs +14 -0
  27. package/dist/configuration/server-config.mjs.map +1 -0
  28. package/dist/configuration/urls.d.ts.map +1 -1
  29. package/dist/configuration/urls.js +11 -7
  30. package/dist/configuration/urls.js.map +1 -1
  31. package/dist/core-api/controller/collection-type.d.ts.map +1 -1
  32. package/dist/core-api/controller/single-type.d.ts.map +1 -1
  33. package/dist/core-api/controller/transform.d.ts.map +1 -1
  34. package/dist/core-api/routes/index.d.ts.map +1 -1
  35. package/dist/core-api/routes/index.js +3 -2
  36. package/dist/core-api/routes/index.js.map +1 -1
  37. package/dist/core-api/routes/validation/attributes.d.ts.map +1 -1
  38. package/dist/core-api/routes/validation/common.js +3 -2
  39. package/dist/core-api/routes/validation/common.js.map +1 -1
  40. package/dist/core-api/routes/validation/content-type.js +3 -2
  41. package/dist/core-api/routes/validation/content-type.js.map +1 -1
  42. package/dist/core-api/routes/validation/mappers.d.ts.map +1 -1
  43. package/dist/core-api/routes/validation/mappers.js +3 -2
  44. package/dist/core-api/routes/validation/mappers.js.map +1 -1
  45. package/dist/core-api/routes/validation/utils.d.ts.map +1 -1
  46. package/dist/core-api/routes/validation/utils.js +3 -2
  47. package/dist/core-api/routes/validation/utils.js.map +1 -1
  48. package/dist/core-api/service/collection-type.d.ts.map +1 -1
  49. package/dist/core-api/service/pagination.d.ts.map +1 -1
  50. package/dist/core-api/service/single-type.d.ts.map +1 -1
  51. package/dist/domain/content-type/index.d.ts.map +1 -1
  52. package/dist/domain/content-type/index.js +9 -5
  53. package/dist/domain/content-type/index.js.map +1 -1
  54. package/dist/domain/content-type/validator.d.ts.map +1 -1
  55. package/dist/domain/content-type/validator.js +6 -2
  56. package/dist/domain/content-type/validator.js.map +1 -1
  57. package/dist/domain/module/index.d.ts.map +1 -1
  58. package/dist/domain/module/index.js +6 -2
  59. package/dist/domain/module/index.js.map +1 -1
  60. package/dist/domain/module/validation.d.ts.map +1 -1
  61. package/dist/ee/index.d.ts +2 -1
  62. package/dist/ee/index.d.ts.map +1 -1
  63. package/dist/ee/license.d.ts.map +1 -1
  64. package/dist/ee/license.js +8 -3
  65. package/dist/ee/license.js.map +1 -1
  66. package/dist/factories.d.ts.map +1 -1
  67. package/dist/index.d.ts +5 -1
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +2 -0
  70. package/dist/index.js.map +1 -1
  71. package/dist/index.mjs +2 -0
  72. package/dist/index.mjs.map +1 -1
  73. package/dist/loaders/admin.js +5 -1
  74. package/dist/loaders/admin.js.map +1 -1
  75. package/dist/loaders/apis.js +16 -11
  76. package/dist/loaders/apis.js.map +1 -1
  77. package/dist/loaders/components.js +6 -2
  78. package/dist/loaders/components.js.map +1 -1
  79. package/dist/loaders/middlewares.js +6 -2
  80. package/dist/loaders/middlewares.js.map +1 -1
  81. package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -1
  82. package/dist/loaders/plugins/get-enabled-plugins.js +5 -1
  83. package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -1
  84. package/dist/loaders/plugins/get-user-plugins-config.js +6 -2
  85. package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -1
  86. package/dist/loaders/plugins/index.js +8 -4
  87. package/dist/loaders/plugins/index.js.map +1 -1
  88. package/dist/loaders/policies.js +6 -2
  89. package/dist/loaders/policies.js.map +1 -1
  90. package/dist/loaders/sanitizers.d.ts.map +1 -1
  91. package/dist/loaders/src-index.d.ts.map +1 -1
  92. package/dist/loaders/validators.d.ts.map +1 -1
  93. package/dist/mcp.d.ts +4 -0
  94. package/dist/mcp.d.ts.map +1 -0
  95. package/dist/mcp.js +12 -0
  96. package/dist/mcp.js.map +1 -0
  97. package/dist/mcp.mjs +4 -0
  98. package/dist/mcp.mjs.map +1 -0
  99. package/dist/middlewares/body.d.ts.map +1 -1
  100. package/dist/middlewares/body.js +9 -4
  101. package/dist/middlewares/body.js.map +1 -1
  102. package/dist/middlewares/body.mjs +1 -1
  103. package/dist/middlewares/body.mjs.map +1 -1
  104. package/dist/middlewares/compression.js +5 -1
  105. package/dist/middlewares/compression.js.map +1 -1
  106. package/dist/middlewares/cors.d.ts.map +1 -1
  107. package/dist/middlewares/cors.js +5 -1
  108. package/dist/middlewares/cors.js.map +1 -1
  109. package/dist/middlewares/errors.d.ts +5 -0
  110. package/dist/middlewares/errors.d.ts.map +1 -1
  111. package/dist/middlewares/errors.js.map +1 -1
  112. package/dist/middlewares/errors.mjs.map +1 -1
  113. package/dist/middlewares/favicon.d.ts +0 -1
  114. package/dist/middlewares/favicon.d.ts.map +1 -1
  115. package/dist/middlewares/favicon.js +5 -1
  116. package/dist/middlewares/favicon.js.map +1 -1
  117. package/dist/middlewares/ip.js +5 -1
  118. package/dist/middlewares/ip.js.map +1 -1
  119. package/dist/middlewares/public.js +5 -1
  120. package/dist/middlewares/public.js.map +1 -1
  121. package/dist/middlewares/query.js +6 -2
  122. package/dist/middlewares/query.js.map +1 -1
  123. package/dist/middlewares/security.js +5 -1
  124. package/dist/middlewares/security.js.map +1 -1
  125. package/dist/migrations/database/5.0.0-discard-drafts.js +5 -1
  126. package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -1
  127. package/dist/migrations/draft-publish.d.ts.map +1 -1
  128. package/dist/migrations/first-published-at.d.ts.map +1 -1
  129. package/dist/migrations/first-published-at.js +5 -1
  130. package/dist/migrations/first-published-at.js.map +1 -1
  131. package/dist/migrations/i18n.d.ts.map +1 -1
  132. package/dist/migrations/index.d.ts.map +1 -1
  133. package/dist/package.json.js +18 -21
  134. package/dist/package.json.js.map +1 -1
  135. package/dist/package.json.mjs +18 -21
  136. package/dist/package.json.mjs.map +1 -1
  137. package/dist/providers/provider.d.ts.map +1 -1
  138. package/dist/registries/apis.d.ts.map +1 -1
  139. package/dist/registries/components.d.ts +1 -1
  140. package/dist/registries/components.d.ts.map +1 -1
  141. package/dist/registries/content-types.d.ts +2 -3
  142. package/dist/registries/content-types.d.ts.map +1 -1
  143. package/dist/registries/controllers.d.ts +3 -3
  144. package/dist/registries/controllers.d.ts.map +1 -1
  145. package/dist/registries/custom-fields.d.ts.map +1 -1
  146. package/dist/registries/hooks.d.ts +3 -4
  147. package/dist/registries/hooks.d.ts.map +1 -1
  148. package/dist/registries/middlewares.d.ts +2 -3
  149. package/dist/registries/middlewares.d.ts.map +1 -1
  150. package/dist/registries/models.d.ts +1 -1
  151. package/dist/registries/modules.d.ts.map +1 -1
  152. package/dist/registries/namespace.d.ts.map +1 -1
  153. package/dist/registries/plugins.d.ts.map +1 -1
  154. package/dist/registries/policies.d.ts +1 -2
  155. package/dist/registries/policies.d.ts.map +1 -1
  156. package/dist/registries/sanitizers.d.ts +2 -2
  157. package/dist/registries/sanitizers.js +7 -3
  158. package/dist/registries/sanitizers.js.map +1 -1
  159. package/dist/registries/services.d.ts +3 -3
  160. package/dist/registries/services.d.ts.map +1 -1
  161. package/dist/registries/validators.d.ts +2 -2
  162. package/dist/registries/validators.js +7 -3
  163. package/dist/registries/validators.js.map +1 -1
  164. package/dist/services/ai.d.ts.map +1 -1
  165. package/dist/services/auth/index.js +7 -3
  166. package/dist/services/auth/index.js.map +1 -1
  167. package/dist/services/config.d.ts.map +1 -1
  168. package/dist/services/content-api/index.d.ts +4 -4
  169. package/dist/services/content-api/index.d.ts.map +1 -1
  170. package/dist/services/content-api/index.js +10 -6
  171. package/dist/services/content-api/index.js.map +1 -1
  172. package/dist/services/content-api/permissions/engine.d.ts.map +1 -1
  173. package/dist/services/content-api/permissions/engine.js +5 -1
  174. package/dist/services/content-api/permissions/engine.js.map +1 -1
  175. package/dist/services/content-api/permissions/index.d.ts +2 -2
  176. package/dist/services/content-api/permissions/index.d.ts.map +1 -1
  177. package/dist/services/content-api/permissions/index.js +10 -6
  178. package/dist/services/content-api/permissions/index.js.map +1 -1
  179. package/dist/services/content-api/permissions/providers/action.d.ts +1 -1
  180. package/dist/services/content-api/permissions/providers/action.d.ts.map +1 -1
  181. package/dist/services/content-api/permissions/providers/condition.d.ts +1 -1
  182. package/dist/services/content-api/permissions/providers/condition.d.ts.map +1 -1
  183. package/dist/services/content-source-maps.d.ts.map +1 -1
  184. package/dist/services/core-store.d.ts.map +1 -1
  185. package/dist/services/cron.d.ts +5 -5
  186. package/dist/services/custom-fields.d.ts.map +1 -1
  187. package/dist/services/document-service/attributes/index.d.ts +0 -1
  188. package/dist/services/document-service/attributes/index.d.ts.map +1 -1
  189. package/dist/services/document-service/attributes/transforms.js +5 -1
  190. package/dist/services/document-service/attributes/transforms.js.map +1 -1
  191. package/dist/services/document-service/common.d.ts.map +1 -1
  192. package/dist/services/document-service/components.d.ts +2 -2
  193. package/dist/services/document-service/components.d.ts.map +1 -1
  194. package/dist/services/document-service/components.js +14 -10
  195. package/dist/services/document-service/components.js.map +1 -1
  196. package/dist/services/document-service/components.mjs.map +1 -1
  197. package/dist/services/document-service/draft-and-publish.d.ts +0 -1
  198. package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
  199. package/dist/services/document-service/draft-and-publish.js +1 -1
  200. package/dist/services/document-service/draft-and-publish.js.map +1 -1
  201. package/dist/services/document-service/draft-and-publish.mjs +1 -1
  202. package/dist/services/document-service/draft-and-publish.mjs.map +1 -1
  203. package/dist/services/document-service/entries.d.ts.map +1 -1
  204. package/dist/services/document-service/entries.js +6 -2
  205. package/dist/services/document-service/entries.js.map +1 -1
  206. package/dist/services/document-service/entries.mjs +7 -3
  207. package/dist/services/document-service/entries.mjs.map +1 -1
  208. package/dist/services/document-service/events.d.ts.map +1 -1
  209. package/dist/services/document-service/first-published-at.d.ts.map +1 -1
  210. package/dist/services/document-service/index.d.ts.map +1 -1
  211. package/dist/services/document-service/internationalization.d.ts +0 -1
  212. package/dist/services/document-service/internationalization.d.ts.map +1 -1
  213. package/dist/services/document-service/internationalization.js.map +1 -1
  214. package/dist/services/document-service/internationalization.mjs.map +1 -1
  215. package/dist/services/document-service/middlewares/middleware-manager.d.ts.map +1 -1
  216. package/dist/services/document-service/params.d.ts +1 -1
  217. package/dist/services/document-service/params.d.ts.map +1 -1
  218. package/dist/services/document-service/publication-filter.d.ts +1 -1
  219. package/dist/services/document-service/publication-filter.d.ts.map +1 -1
  220. package/dist/services/document-service/transform/data.d.ts +2 -0
  221. package/dist/services/document-service/transform/data.d.ts.map +1 -1
  222. package/dist/services/document-service/transform/data.js +7 -1
  223. package/dist/services/document-service/transform/data.js.map +1 -1
  224. package/dist/services/document-service/transform/data.mjs +7 -2
  225. package/dist/services/document-service/transform/data.mjs.map +1 -1
  226. package/dist/services/document-service/transform/fields.d.ts.map +1 -1
  227. package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
  228. package/dist/services/document-service/transform/id-map.js +7 -4
  229. package/dist/services/document-service/transform/id-map.js.map +1 -1
  230. package/dist/services/document-service/transform/id-map.mjs +7 -4
  231. package/dist/services/document-service/transform/id-map.mjs.map +1 -1
  232. package/dist/services/document-service/transform/id-transform.d.ts +0 -1
  233. package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
  234. package/dist/services/document-service/transform/populate.d.ts.map +1 -1
  235. package/dist/services/document-service/transform/query.d.ts +0 -1
  236. package/dist/services/document-service/transform/query.d.ts.map +1 -1
  237. package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
  238. package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -1
  239. package/dist/services/document-service/transform/relations/transform/default-locale.d.ts.map +1 -1
  240. package/dist/services/document-service/transform/relations/utils/data.d.ts.map +1 -1
  241. package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
  242. package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
  243. package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
  244. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts +0 -1
  245. package/dist/services/document-service/transform/relations/utils/map-relation.d.ts.map +1 -1
  246. package/dist/services/document-service/transform/relations/utils/xto-one.d.ts.map +1 -1
  247. package/dist/services/document-service/utils/bidirectional-relations.d.ts.map +1 -1
  248. package/dist/services/document-service/utils/bidirectional-relations.js +7 -2
  249. package/dist/services/document-service/utils/bidirectional-relations.js.map +1 -1
  250. package/dist/services/document-service/utils/bidirectional-relations.mjs +7 -2
  251. package/dist/services/document-service/utils/bidirectional-relations.mjs.map +1 -1
  252. package/dist/services/document-service/utils/clean-component-join-table.d.ts.map +1 -1
  253. package/dist/services/document-service/utils/ordered-parallel.d.ts.map +1 -1
  254. package/dist/services/document-service/utils/populate.d.ts +1 -1
  255. package/dist/services/document-service/utils/populate.d.ts.map +1 -1
  256. package/dist/services/document-service/utils/populate.js.map +1 -1
  257. package/dist/services/document-service/utils/populate.mjs.map +1 -1
  258. package/dist/services/document-service/utils/self-referential-relations.d.ts.map +1 -1
  259. package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -1
  260. package/dist/services/entity-service/index.d.ts.map +1 -1
  261. package/dist/services/entity-service/index.js +9 -4
  262. package/dist/services/entity-service/index.js.map +1 -1
  263. package/dist/services/entity-validator/index.d.ts.map +1 -1
  264. package/dist/services/entity-validator/index.js +9 -4
  265. package/dist/services/entity-validator/index.js.map +1 -1
  266. package/dist/services/entity-validator/index.mjs.map +1 -1
  267. package/dist/services/entity-validator/validators.d.ts.map +1 -1
  268. package/dist/services/entity-validator/validators.js +10 -6
  269. package/dist/services/entity-validator/validators.js.map +1 -1
  270. package/dist/services/errors.d.ts.map +1 -1
  271. package/dist/services/errors.js +7 -3
  272. package/dist/services/errors.js.map +1 -1
  273. package/dist/services/features.d.ts.map +1 -1
  274. package/dist/services/fs.d.ts.map +1 -1
  275. package/dist/services/fs.js +10 -5
  276. package/dist/services/fs.js.map +1 -1
  277. package/dist/services/mcp/authentication.d.ts.map +1 -1
  278. package/dist/services/mcp/handlers/handlePost.d.ts.map +1 -1
  279. package/dist/services/mcp/index.d.ts.map +1 -1
  280. package/dist/services/mcp/internal/McpCapabilityRegistry.d.ts +2 -2
  281. package/dist/services/mcp/internal/McpServerFactory.d.ts.map +1 -1
  282. package/dist/services/mcp/internal/syncMcpSessionCapabilities.d.ts.map +1 -1
  283. package/dist/services/mcp/metrics/metrics.d.ts.map +1 -1
  284. package/dist/services/mcp/metrics/normalizeMcpCapability.d.ts.map +1 -1
  285. package/dist/services/mcp/metrics/wrapCapabilityHandlerForMetrics.d.ts.map +1 -1
  286. package/dist/services/mcp/middleware/oauthDiscoveryFallback.d.ts.map +1 -1
  287. package/dist/services/mcp/prompt-registry.d.ts +31 -3
  288. package/dist/services/mcp/prompt-registry.d.ts.map +1 -1
  289. package/dist/services/mcp/prompt-registry.js +31 -0
  290. package/dist/services/mcp/prompt-registry.js.map +1 -1
  291. package/dist/services/mcp/prompt-registry.mjs +31 -1
  292. package/dist/services/mcp/prompt-registry.mjs.map +1 -1
  293. package/dist/services/mcp/resource-registry.d.ts +31 -1
  294. package/dist/services/mcp/resource-registry.d.ts.map +1 -1
  295. package/dist/services/mcp/resource-registry.js +31 -0
  296. package/dist/services/mcp/resource-registry.js.map +1 -1
  297. package/dist/services/mcp/resource-registry.mjs +31 -1
  298. package/dist/services/mcp/resource-registry.mjs.map +1 -1
  299. package/dist/services/mcp/routes.d.ts +1 -1
  300. package/dist/services/mcp/routes.d.ts.map +1 -1
  301. package/dist/services/mcp/tool-registry.d.ts +36 -9
  302. package/dist/services/mcp/tool-registry.d.ts.map +1 -1
  303. package/dist/services/mcp/tool-registry.js +35 -3
  304. package/dist/services/mcp/tool-registry.js.map +1 -1
  305. package/dist/services/mcp/tool-registry.mjs +35 -3
  306. package/dist/services/mcp/tool-registry.mjs.map +1 -1
  307. package/dist/services/mcp/tools/log.d.ts +15 -85
  308. package/dist/services/mcp/tools/log.d.ts.map +1 -1
  309. package/dist/services/mcp/utils/createSafeCapabilityRegistration.d.ts.map +1 -1
  310. package/dist/services/mcp/utils/safeHandlerWrapper.d.ts.map +1 -1
  311. package/dist/services/mcp/utils/sendJsonRpcError.d.ts +0 -1
  312. package/dist/services/mcp/utils/sendJsonRpcError.d.ts.map +1 -1
  313. package/dist/services/mcp/utils/withTimeout.d.ts.map +1 -1
  314. package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
  315. package/dist/services/metrics/admin-user-hash.js +5 -1
  316. package/dist/services/metrics/admin-user-hash.js.map +1 -1
  317. package/dist/services/metrics/index.d.ts.map +1 -1
  318. package/dist/services/metrics/is-truthy.d.ts.map +1 -1
  319. package/dist/services/metrics/is-truthy.js +5 -1
  320. package/dist/services/metrics/is-truthy.js.map +1 -1
  321. package/dist/services/metrics/middleware.d.ts.map +1 -1
  322. package/dist/services/metrics/rate-limiter.d.ts +2 -1
  323. package/dist/services/metrics/rate-limiter.d.ts.map +1 -1
  324. package/dist/services/metrics/sender.d.ts.map +1 -1
  325. package/dist/services/metrics/sender.js +17 -9
  326. package/dist/services/metrics/sender.js.map +1 -1
  327. package/dist/services/query-params.d.ts.map +1 -1
  328. package/dist/services/reloader.d.ts.map +1 -1
  329. package/dist/services/request-context.d.ts.map +1 -1
  330. package/dist/services/server/admin-api.d.ts +3 -5
  331. package/dist/services/server/admin-api.d.ts.map +1 -1
  332. package/dist/services/server/api.d.ts +3 -4
  333. package/dist/services/server/api.d.ts.map +1 -1
  334. package/dist/services/server/api.js +5 -1
  335. package/dist/services/server/api.js.map +1 -1
  336. package/dist/services/server/compose-endpoint.d.ts.map +1 -1
  337. package/dist/services/server/compose-endpoint.js +5 -1
  338. package/dist/services/server/compose-endpoint.js.map +1 -1
  339. package/dist/services/server/content-api.d.ts +3 -5
  340. package/dist/services/server/content-api.d.ts.map +1 -1
  341. package/dist/services/server/http-server.d.ts +0 -1
  342. package/dist/services/server/http-server.d.ts.map +1 -1
  343. package/dist/services/server/http-server.js +5 -1
  344. package/dist/services/server/http-server.js.map +1 -1
  345. package/dist/services/server/index.d.ts.map +1 -1
  346. package/dist/services/server/index.js +5 -1
  347. package/dist/services/server/index.js.map +1 -1
  348. package/dist/services/server/koa-methods.d.ts +107 -0
  349. package/dist/services/server/koa-methods.d.ts.map +1 -0
  350. package/dist/services/server/koa-methods.js +24 -0
  351. package/dist/services/server/koa-methods.js.map +1 -0
  352. package/dist/services/server/koa-methods.mjs +22 -0
  353. package/dist/services/server/koa-methods.mjs.map +1 -0
  354. package/dist/services/server/koa.d.ts +0 -9
  355. package/dist/services/server/koa.d.ts.map +1 -1
  356. package/dist/services/server/koa.js +14 -10
  357. package/dist/services/server/koa.js.map +1 -1
  358. package/dist/services/server/koa.mjs +7 -9
  359. package/dist/services/server/koa.mjs.map +1 -1
  360. package/dist/services/server/middleware.d.ts.map +1 -1
  361. package/dist/services/server/middleware.js +5 -1
  362. package/dist/services/server/middleware.js.map +1 -1
  363. package/dist/services/server/openapi.d.ts.map +1 -1
  364. package/dist/services/server/openapi.js +11 -6
  365. package/dist/services/server/openapi.js.map +1 -1
  366. package/dist/services/server/policy.d.ts.map +1 -1
  367. package/dist/services/server/register-middlewares.d.ts.map +1 -1
  368. package/dist/services/server/register-routes.d.ts.map +1 -1
  369. package/dist/services/server/register-routes.js +8 -4
  370. package/dist/services/server/register-routes.js.map +1 -1
  371. package/dist/services/server/routing.d.ts +0 -2
  372. package/dist/services/server/routing.d.ts.map +1 -1
  373. package/dist/services/server/routing.js +5 -1
  374. package/dist/services/server/routing.js.map +1 -1
  375. package/dist/services/session-manager.d.ts +20 -0
  376. package/dist/services/session-manager.d.ts.map +1 -1
  377. package/dist/services/session-manager.js +71 -9
  378. package/dist/services/session-manager.js.map +1 -1
  379. package/dist/services/session-manager.mjs +57 -0
  380. package/dist/services/session-manager.mjs.map +1 -1
  381. package/dist/services/webhook-runner.js +7 -2
  382. package/dist/services/webhook-runner.js.map +1 -1
  383. package/dist/services/webhook-store.d.ts.map +1 -1
  384. package/dist/services/worker-queue.js +5 -1
  385. package/dist/services/worker-queue.js.map +1 -1
  386. package/dist/utils/convert-custom-field-type.d.ts.map +1 -1
  387. package/dist/utils/cron.d.ts.map +1 -1
  388. package/dist/utils/fetch.d.ts.map +1 -1
  389. package/dist/utils/filepath-to-prop-path.d.ts.map +1 -1
  390. package/dist/utils/filepath-to-prop-path.js +13 -8
  391. package/dist/utils/filepath-to-prop-path.js.map +1 -1
  392. package/dist/utils/is-initialized.d.ts.map +1 -1
  393. package/dist/utils/load-config-file.d.ts.map +1 -1
  394. package/dist/utils/load-config-file.js +7 -2
  395. package/dist/utils/load-config-file.js.map +1 -1
  396. package/dist/utils/load-files.d.ts +1 -1
  397. package/dist/utils/load-files.d.ts.map +1 -1
  398. package/dist/utils/load-files.js +12 -6
  399. package/dist/utils/load-files.js.map +1 -1
  400. package/dist/utils/open-browser.d.ts +0 -1
  401. package/dist/utils/open-browser.d.ts.map +1 -1
  402. package/dist/utils/open-browser.js +5 -1
  403. package/dist/utils/open-browser.js.map +1 -1
  404. package/dist/utils/resolve-working-dirs.d.ts.map +1 -1
  405. package/dist/utils/resolve-working-dirs.js +6 -2
  406. package/dist/utils/resolve-working-dirs.js.map +1 -1
  407. package/dist/utils/signals.d.ts.map +1 -1
  408. package/dist/utils/startup-logger.d.ts.map +1 -1
  409. package/dist/utils/startup-logger.js +27 -21
  410. package/dist/utils/startup-logger.js.map +1 -1
  411. package/dist/utils/transform-content-types-to-models.d.ts +3 -3
  412. package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
  413. package/dist/utils/transform-content-types-to-models.js +10 -5
  414. package/dist/utils/transform-content-types-to-models.js.map +1 -1
  415. package/dist/utils/update-notifier/index.d.ts.map +1 -1
  416. package/dist/utils/update-notifier/index.js +21 -8
  417. package/dist/utils/update-notifier/index.js.map +1 -1
  418. package/dist/utils/update-notifier/index.mjs +6 -1
  419. package/dist/utils/update-notifier/index.mjs.map +1 -1
  420. package/package.json +18 -21
@@ -1,87 +1,17 @@
1
1
  import { z } from '@strapi/utils';
2
- export declare const logToolDefinition: {
3
- name: "log";
4
- telemetry?: import("@strapi/types/dist/modules/mcp").McpCapabilityTelemetry | undefined;
5
- } & {
6
- devModeOnly: true;
7
- auth?: undefined;
8
- } & {
9
- title: "Strapi Log";
10
- description: "Logs a message to the Strapi logger with specified level";
11
- resolveInputSchema?: import("@strapi/types/dist/modules/mcp").McpToolSchemaResolver<z.ZodObject<{
12
- message: z.ZodString;
13
- level: z.ZodDefault<z.ZodEnum<{
14
- http: "http";
15
- info: "info";
16
- error: "error";
17
- log: "log";
18
- warn: "warn";
19
- }>>;
20
- }, z.core.$strip>> | undefined;
21
- resolveOutputSchema: import("@strapi/types/dist/modules/mcp").McpToolSchemaResolver<z.ZodObject<{
22
- status: z.ZodString;
23
- message: z.ZodString;
24
- level: z.ZodString;
25
- timestamp: z.ZodString;
26
- }, z.core.$strip>>;
27
- createHandler: (strapi: import("@strapi/types/dist/core").Strapi, context: import("@strapi/types/dist/modules/mcp").McpHandlerContext) => import("@strapi/types/dist/modules/mcp").McpToolHandler<NoInfer<z.ZodObject<{
28
- message: z.ZodString;
29
- level: z.ZodDefault<z.ZodEnum<{
30
- http: "http";
31
- info: "info";
32
- error: "error";
33
- log: "log";
34
- warn: "warn";
35
- }>>;
36
- }, z.core.$strip>>, NoInfer<z.ZodObject<{
37
- status: z.ZodString;
38
- message: z.ZodString;
39
- level: z.ZodString;
40
- timestamp: z.ZodString;
41
- }, z.core.$strip>>>;
42
- } & {
43
- name: "log";
44
- title: "Strapi Log";
45
- description: "Logs a message to the Strapi logger with specified level";
46
- resolveInputSchema: () => z.ZodObject<{
47
- message: z.ZodString;
48
- level: z.ZodDefault<z.ZodEnum<{
49
- http: "http";
50
- info: "info";
51
- error: "error";
52
- log: "log";
53
- warn: "warn";
54
- }>>;
55
- }, z.core.$strip>;
56
- resolveOutputSchema: () => z.ZodObject<{
57
- status: z.ZodString;
58
- message: z.ZodString;
59
- level: z.ZodString;
60
- timestamp: z.ZodString;
61
- }, z.core.$strip>;
62
- telemetry: {
63
- source: string;
64
- name: string;
65
- };
66
- devModeOnly: true;
67
- createHandler: (strapi: import("@strapi/types/dist/core").Strapi) => ({ args }: {
68
- extra: import("@modelcontextprotocol/sdk/shared/protocol").RequestHandlerExtra<import("@modelcontextprotocol/sdk/types").ServerRequest, import("@modelcontextprotocol/sdk/types").ServerNotification>;
69
- } & {
70
- args: {
71
- message: string;
72
- level: "http" | "info" | "error" | "log" | "warn";
73
- };
74
- }) => Promise<{
75
- content: {
76
- type: "text";
77
- text: string;
78
- }[];
79
- structuredContent: {
80
- status: string;
81
- message: string;
82
- level: "http" | "info" | "error" | "log" | "warn";
83
- timestamp: string;
84
- };
85
- }>;
86
- };
2
+ export declare const logToolDefinition: import("@strapi/types/dist/modules/mcp").McpToolDefinitionFields<"log", z.ZodObject<{
3
+ message: z.ZodString;
4
+ level: z.ZodDefault<z.ZodEnum<{
5
+ http: "http";
6
+ info: "info";
7
+ error: "error";
8
+ log: "log";
9
+ warn: "warn";
10
+ }>>;
11
+ }, z.core.$strip>, z.ZodObject<{
12
+ status: z.ZodString;
13
+ message: z.ZodString;
14
+ level: z.ZodString;
15
+ timestamp: z.ZodString;
16
+ }, z.core.$strip>, "Strapi Log", "Logs a message to the Strapi logger with specified level"> & import("@strapi/types/dist/modules/mcp").McpDevModeAccess;
87
17
  //# sourceMappingURL=log.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../../src/services/mcp/tools/log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAmBlC,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwE5B,CAAC"}
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../../src/services/mcp/tools/log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAmBlC,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;wJAwE5B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createSafeCapabilityRegistration.d.ts","sourceRoot":"","sources":["../../../../src/services/mcp/utils/createSafeCapabilityRegistration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAG9E;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,EAAE,oBAKzC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,gCAAgC,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,IAAI;IAClF,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC;IACjD,qBAAqB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnE,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,YAAY,CAAC;IACnE,eAAe,EAAE,CAAC,WAAW,EAAE,QAAQ,KAAK,WAAW,CAAC;CACzD,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gCAAgC,gDACnC,iCAAiC,QAAQ,EAAE,YAAY,EAAE,WAAW,CAAC,KAC5E,WA4CF,CAAC"}
1
+ {"version":3,"file":"createSafeCapabilityRegistration.d.ts","sourceRoot":"","sources":["../../../../src/services/mcp/utils/createSafeCapabilityRegistration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAG9E;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,EAAE,oBAKzC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,gCAAgC,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,IAAI;IAClF,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC;IACjD,qBAAqB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnE,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,YAAY,CAAC;IACnE,eAAe,EAAE,CAAC,WAAW,EAAE,QAAQ,KAAK,WAAW,CAAC;CACzD,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gCAAgC,GAAI,QAAQ,EAAE,YAAY,EAAE,WAAW,EAClF,QAAQ,gCAAgC,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,CAAC,KAC5E,WA4CF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"safeHandlerWrapper.d.ts","sourceRoot":"","sources":["../../../../src/services/mcp/utils/safeHandlerWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,8CACjB,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,QAAQ,OAAO,CAAC,WACpC;IACP,MAAM,EAAE,KAAK,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC;CAC3D,KACA,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,QAAQ,OAAO,CAAC,CAoBvC,CAAC"}
1
+ {"version":3,"file":"safeHandlerWrapper.d.ts","sourceRoot":"","sources":["../../../../src/services/mcp/utils/safeHandlerWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,GAAI,KAAK,SAAS,OAAO,EAAE,EAAE,OAAO,EAC9D,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,EAC7C,SAAS;IACP,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC;CAC3D,KACA,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,CAoBvC,CAAC"}
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import type { ServerResponse } from 'node:http';
3
2
  import { JSON_RPC_ERRORS } from './jsonRpcErrors';
4
3
  export declare const sendJsonRpcError: (res: ServerResponse, errorKey: keyof typeof JSON_RPC_ERRORS, customMessage?: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"sendJsonRpcError.d.ts","sourceRoot":"","sources":["../../../../src/services/mcp/utils/sendJsonRpcError.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,eAAO,MAAM,gBAAgB,QACtB,cAAc,YACT,MAAM,sBAAsB,kBACtB,MAAM,KACrB,IAaF,CAAC"}
1
+ {"version":3,"file":"sendJsonRpcError.d.ts","sourceRoot":"","sources":["../../../../src/services/mcp/utils/sendJsonRpcError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,eAAO,MAAM,gBAAgB,GAC3B,KAAK,cAAc,EACnB,UAAU,MAAM,OAAO,eAAe,EACtC,gBAAgB,MAAM,KACrB,IAaF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"withTimeout.d.ts","sourceRoot":"","sources":["../../../../src/services/mcp/utils/withTimeout.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,WAAW,eACb,QAAQ,CAAC,CAAC,aACR,MAAM,aACN,MAAM,KAChB,QAAQ,CAAC,CAYX,CAAC"}
1
+ {"version":3,"file":"withTimeout.d.ts","sourceRoot":"","sources":["../../../../src/services/mcp/utils/withTimeout.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,EAC3B,SAAS,OAAO,CAAC,CAAC,CAAC,EACnB,WAAW,MAAM,EACjB,WAAW,MAAM,KAChB,OAAO,CAAC,CAAC,CAYX,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"admin-user-hash.d.ts","sourceRoot":"","sources":["../../../src/services/metrics/admin-user-hash.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C;;GAEG;AACH,QAAA,MAAM,qBAAqB,WAAY,KAAK,MAAM,WAOjD,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"admin-user-hash.d.ts","sourceRoot":"","sources":["../../../src/services/metrics/admin-user-hash.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C;;GAEG;AACH,QAAA,MAAM,qBAAqB,GAAI,QAAQ,IAAI,CAAC,MAAM,WAOjD,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
@@ -2,6 +2,10 @@
2
2
 
3
3
  var crypto = require('crypto');
4
4
 
5
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
6
+
7
+ var crypto__default = /*#__PURE__*/_interopDefault(crypto);
8
+
5
9
  /**
6
10
  * Generate an admin user hash
7
11
  */ const generateAdminUserHash = (strapi)=>{
@@ -9,7 +13,7 @@ var crypto = require('crypto');
9
13
  if (!ctx?.state?.user?.email) {
10
14
  return '';
11
15
  }
12
- return crypto.createHash('sha256').update(ctx.state.user.email).digest('hex');
16
+ return crypto__default.default.createHash('sha256').update(ctx.state.user.email).digest('hex');
13
17
  };
14
18
 
15
19
  exports.generateAdminUserHash = generateAdminUserHash;
@@ -1 +1 @@
1
- {"version":3,"file":"admin-user-hash.js","sources":["../../../src/services/metrics/admin-user-hash.ts"],"sourcesContent":["import crypto from 'crypto';\nimport type { Core } from '@strapi/types';\n\n/**\n * Generate an admin user hash\n */\nconst generateAdminUserHash = (strapi: Core.Strapi) => {\n const ctx = strapi?.requestContext?.get();\n\n if (!ctx?.state?.user?.email) {\n return '';\n }\n return crypto.createHash('sha256').update(ctx.state.user.email).digest('hex');\n};\n\nexport { generateAdminUserHash };\n"],"names":["generateAdminUserHash","strapi","ctx","requestContext","get","state","user","email","crypto","createHash","update","digest"],"mappings":";;;;AAGA;;IAGA,MAAMA,wBAAwB,CAACC,MAAAA,GAAAA;IAC7B,MAAMC,GAAAA,GAAMD,QAAQE,cAAAA,EAAgBC,GAAAA,EAAAA;AAEpC,IAAA,IAAI,CAACF,GAAAA,EAAKG,KAAAA,EAAOC,IAAAA,EAAMC,KAAAA,EAAO;QAC5B,OAAO,EAAA;AACT,IAAA;AACA,IAAA,OAAOC,MAAAA,CAAOC,UAAU,CAAC,QAAA,CAAA,CAAUC,MAAM,CAACR,GAAAA,CAAIG,KAAK,CAACC,IAAI,CAACC,KAAK,CAAA,CAAEI,MAAM,CAAC,KAAA,CAAA;AACzE;;;;"}
1
+ {"version":3,"file":"admin-user-hash.js","sources":["../../../src/services/metrics/admin-user-hash.ts"],"sourcesContent":["import crypto from 'crypto';\nimport type { Core } from '@strapi/types';\n\n/**\n * Generate an admin user hash\n */\nconst generateAdminUserHash = (strapi: Core.Strapi) => {\n const ctx = strapi?.requestContext?.get();\n\n if (!ctx?.state?.user?.email) {\n return '';\n }\n return crypto.createHash('sha256').update(ctx.state.user.email).digest('hex');\n};\n\nexport { generateAdminUserHash };\n"],"names":["generateAdminUserHash","strapi","ctx","requestContext","get","state","user","email","crypto","createHash","update","digest"],"mappings":";;;;;;;;AAGA;;IAGA,MAAMA,wBAAwB,CAACC,MAAAA,GAAAA;IAC7B,MAAMC,GAAAA,GAAMD,QAAQE,cAAAA,EAAgBC,GAAAA,EAAAA;AAEpC,IAAA,IAAI,CAACF,GAAAA,EAAKG,KAAAA,EAAOC,IAAAA,EAAMC,KAAAA,EAAO;QAC5B,OAAO,EAAA;AACT,IAAA;AACA,IAAA,OAAOC,uBAAAA,CAAOC,UAAU,CAAC,QAAA,CAAA,CAAUC,MAAM,CAACR,GAAAA,CAAIG,KAAK,CAACC,IAAI,CAACC,KAAK,CAAA,CAAEI,MAAM,CAAC,KAAA,CAAA;AACzE;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/metrics/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAiB1C,QAAA,MAAM,uBAAuB,WAAY,KAAK,MAAM;;;;gBA8B9B,MAAM,YAAW,OAAO,MAAM,EAAE,OAAO,CAAC;;CAS7D,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/metrics/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAiB1C,QAAA,MAAM,uBAAuB,GAAI,QAAQ,IAAI,CAAC,MAAM;;;;gBA8B9B,MAAM,YAAW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;CAS7D,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-truthy.d.ts","sourceRoot":"","sources":["../../../src/services/metrics/is-truthy.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,QAAQ,QAAS,GAAG,YAEzB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"is-truthy.d.ts","sourceRoot":"","sources":["../../../src/services/metrics/is-truthy.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,QAAQ,GAAI,KAAK,GAAG,YAEzB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -2,6 +2,10 @@
2
2
 
3
3
  var _ = require('lodash');
4
4
 
5
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
6
+
7
+ var ___default = /*#__PURE__*/_interopDefault(_);
8
+
5
9
  const isTruthy = (val)=>{
6
10
  return [
7
11
  1,
@@ -9,7 +13,7 @@ const isTruthy = (val)=>{
9
13
  ].includes(val) || [
10
14
  'true',
11
15
  '1'
12
- ].includes(_.toLower(val));
16
+ ].includes(___default.default.toLower(val));
13
17
  };
14
18
 
15
19
  module.exports = isTruthy;
@@ -1 +1 @@
1
- {"version":3,"file":"is-truthy.js","sources":["../../../src/services/metrics/is-truthy.ts"],"sourcesContent":["import _ from 'lodash';\n\nconst isTruthy = (val: any) => {\n return [1, true].includes(val) || ['true', '1'].includes(_.toLower(val));\n};\n\nexport default isTruthy;\n"],"names":["isTruthy","val","includes","_","toLower"],"mappings":";;;;AAEA,MAAMA,WAAW,CAACC,GAAAA,GAAAA;IAChB,OAAO;AAAC,QAAA,CAAA;AAAG,QAAA;KAAK,CAACC,QAAQ,CAACD,GAAAA,CAAAA,IAAQ;AAAC,QAAA,MAAA;AAAQ,QAAA;AAAI,KAAA,CAACC,QAAQ,CAACC,CAAAA,CAAEC,OAAO,CAACH,GAAAA,CAAAA,CAAAA;AACrE;;;;"}
1
+ {"version":3,"file":"is-truthy.js","sources":["../../../src/services/metrics/is-truthy.ts"],"sourcesContent":["import _ from 'lodash';\n\nconst isTruthy = (val: any) => {\n return [1, true].includes(val) || ['true', '1'].includes(_.toLower(val));\n};\n\nexport default isTruthy;\n"],"names":["isTruthy","val","includes","_","toLower"],"mappings":";;;;;;;;AAEA,MAAMA,WAAW,CAACC,GAAAA,GAAAA;IAChB,OAAO;AAAC,QAAA,CAAA;AAAG,QAAA;KAAK,CAACC,QAAQ,CAACD,GAAAA,CAAAA,IAAQ;AAAC,QAAA,MAAA;AAAQ,QAAA;AAAI,KAAA,CAACC,QAAQ,CAACC,kBAAAA,CAAEC,OAAO,CAACH,GAAAA,CAAAA,CAAAA;AACrE;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/services/metrics/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAWvC,QAAA,MAAM,gBAAgB,0BAA2B;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,KAAK,MAAM,CAAA;CAAE,2BA2D1F,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/services/metrics/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAWvC,QAAA,MAAM,gBAAgB,GAAI,uBAAuB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE,2BA2D1F,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -2,6 +2,7 @@ import type { Sender } from './sender';
2
2
  interface Options {
3
3
  limitedEvents?: string[];
4
4
  }
5
- declare const _default: (sender: Sender, { limitedEvents }?: Options) => (event: string, payload?: import("./sender").Payload | undefined, opts?: Record<string, unknown> | undefined) => Promise<boolean>;
5
+ type TailParams<T extends (...args: any[]) => any> = Parameters<T> extends [unknown, ...infer U] ? U : never;
6
+ declare const _default: (sender: Sender, { limitedEvents }?: Options) => (event: string, ...args: TailParams<Sender>) => Promise<boolean>;
6
7
  export default _default;
7
8
  //# sourceMappingURL=rate-limiter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../../../src/services/metrics/rate-limiter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,UAAU,OAAO;IACf,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;iCASuB,MAAM,sBAA0B,OAAO,aAIxC,MAAM;AAJ7B,wBAqBE"}
1
+ {"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../../../src/services/metrics/rate-limiter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,UAAU,OAAO;IACf,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,KAAK,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,IAC/C,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;yBAM1C,QAAQ,MAAM,EAAE,oBAAwB,OAAY,MAIpD,OAAO,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC;AAJ1D,wBAqBE"}
@@ -1 +1 @@
1
- {"version":3,"file":"sender.d.ts","sourceRoot":"","sources":["../../../src/services/metrics/sender.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAa1C,MAAM,WAAW,OAAO;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C;AAED,MAAM,MAAM,MAAM,GAAG,CACnB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC3B,OAAO,CAAC,OAAO,CAAC,CAAC;AAgBtB;;GAEG;iCACqB,KAAK,MAAM,KAAG,MAAM;AAA5C,wBAkEE"}
1
+ {"version":3,"file":"sender.d.ts","sourceRoot":"","sources":["../../../src/services/metrics/sender.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAa1C,MAAM,WAAW,OAAO;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C;AAED,MAAM,MAAM,MAAM,GAAG,CACnB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC3B,OAAO,CAAC,OAAO,CAAC,CAAC;AAgBtB;;GAEG;yBACa,QAAQ,IAAI,CAAC,MAAM,KAAG,MAAM;AAA5C,wBAkEE"}
@@ -8,6 +8,14 @@ var ciEnv = require('ci-info');
8
8
  var strapiUtils = require('@strapi/utils');
9
9
  var adminUserHash = require('./admin-user-hash.js');
10
10
 
11
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
12
+
13
+ var os__default = /*#__PURE__*/_interopDefault(os);
14
+ var path__default = /*#__PURE__*/_interopDefault(path);
15
+ var ___default = /*#__PURE__*/_interopDefault(_);
16
+ var isDocker__default = /*#__PURE__*/_interopDefault(isDocker);
17
+ var ciEnv__default = /*#__PURE__*/_interopDefault(ciEnv);
18
+
11
19
  // Lazy: only resolved when telemetry is enabled and a sender is constructed
12
20
  let lazyTsUtils;
13
21
  const tsUtils = ()=>{
@@ -27,7 +35,7 @@ const defaultQueryOpts = {
27
35
  * Add properties from the package.json strapi key in the metadata
28
36
  */ const addPackageJsonStrapiMetadata = (metadata, strapi)=>{
29
37
  const { packageJsonStrapi = {} } = strapi.config;
30
- _.defaults(metadata, packageJsonStrapi);
38
+ ___default.default.defaults(metadata, packageJsonStrapi);
31
39
  };
32
40
  /**
33
41
  * Create a send function for event with all the necessary metadata
@@ -35,18 +43,18 @@ const defaultQueryOpts = {
35
43
  const { uuid, installId: installIdFromPackageJson } = strapi.config;
36
44
  const installId = strapiUtils.generateInstallId(uuid, installIdFromPackageJson);
37
45
  const serverRootPath = strapi.dirs.app.root;
38
- const adminRootPath = path.join(strapi.dirs.app.root, 'src', 'admin');
46
+ const adminRootPath = path__default.default.join(strapi.dirs.app.root, 'src', 'admin');
39
47
  const anonymousUserProperties = {
40
48
  environment: strapi.config.environment,
41
- os: os.type(),
42
- osPlatform: os.platform(),
43
- osArch: os.arch(),
44
- osRelease: os.release(),
49
+ os: os__default.default.type(),
50
+ osPlatform: os__default.default.platform(),
51
+ osArch: os__default.default.arch(),
52
+ osRelease: os__default.default.release(),
45
53
  nodeVersion: process.versions.node
46
54
  };
47
55
  const anonymousGroupProperties = {
48
- docker: process.env.DOCKER || isDocker(),
49
- isCI: ciEnv.isCI,
56
+ docker: process.env.DOCKER || isDocker__default.default(),
57
+ isCI: ciEnv__default.default.isCI,
50
58
  version: strapi.config.get('info.strapi'),
51
59
  useTypescriptOnServer: tsUtils().isUsingTypeScriptSync(serverRootPath),
52
60
  useTypescriptOnAdmin: tsUtils().isUsingTypeScriptSync(adminRootPath),
@@ -81,7 +89,7 @@ const defaultQueryOpts = {
81
89
  ...payload.groupProperties
82
90
  }
83
91
  }),
84
- ..._.merge({
92
+ ...___default.default.merge({
85
93
  headers: {
86
94
  'X-Strapi-Event': event
87
95
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sender.js","sources":["../../../src/services/metrics/sender.ts"],"sourcesContent":["import os from 'os';\nimport path from 'path';\nimport _ from 'lodash';\nimport isDocker from 'is-docker';\nimport ciEnv from 'ci-info';\nimport { env, generateInstallId } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\nimport { generateAdminUserHash } from './admin-user-hash';\n\n// Lazy: only resolved when telemetry is enabled and a sender is constructed\nlet lazyTsUtils: typeof import('@strapi/typescript-utils') | undefined;\nconst tsUtils = (): typeof import('@strapi/typescript-utils') => {\n if (!lazyTsUtils) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n lazyTsUtils = require('@strapi/typescript-utils');\n }\n return lazyTsUtils as typeof import('@strapi/typescript-utils');\n};\n\nexport interface Payload {\n eventProperties?: Record<string, unknown>;\n userProperties?: Record<string, unknown>;\n groupProperties?: Record<string, unknown>;\n}\n\nexport type Sender = (\n event: string,\n payload?: Payload,\n opts?: Record<string, unknown>\n) => Promise<boolean>;\n\nconst defaultQueryOpts = {\n timeout: 1000,\n headers: { 'Content-Type': 'application/json' },\n};\n\n/**\n * Add properties from the package.json strapi key in the metadata\n */\nconst addPackageJsonStrapiMetadata = (metadata: Record<string, unknown>, strapi: Core.Strapi) => {\n const { packageJsonStrapi = {} } = strapi.config;\n\n _.defaults(metadata, packageJsonStrapi);\n};\n\n/**\n * Create a send function for event with all the necessary metadata\n */\nexport default (strapi: Core.Strapi): Sender => {\n const { uuid, installId: installIdFromPackageJson } = strapi.config;\n\n const installId = generateInstallId(uuid, installIdFromPackageJson);\n\n const serverRootPath = strapi.dirs.app.root;\n const adminRootPath = path.join(strapi.dirs.app.root, 'src', 'admin');\n\n const anonymousUserProperties = {\n environment: strapi.config.environment,\n os: os.type(),\n osPlatform: os.platform(),\n osArch: os.arch(),\n osRelease: os.release(),\n nodeVersion: process.versions.node,\n };\n\n const anonymousGroupProperties = {\n docker: process.env.DOCKER || isDocker(),\n isCI: ciEnv.isCI,\n version: strapi.config.get('info.strapi'),\n useTypescriptOnServer: tsUtils().isUsingTypeScriptSync(serverRootPath),\n useTypescriptOnAdmin: tsUtils().isUsingTypeScriptSync(adminRootPath),\n projectId: uuid,\n isHostedOnStrapiCloud: env('STRAPI_HOSTING', null) === 'strapi.cloud',\n };\n\n addPackageJsonStrapiMetadata(anonymousGroupProperties, strapi);\n\n return async (event: string, payload: Payload = {}, opts = {}) => {\n const userId = generateAdminUserHash(strapi);\n\n const eeGroupProps: Record<string, unknown> = {};\n if (strapi.ee?.subscriptionId !== undefined && strapi.ee?.subscriptionId !== null) {\n eeGroupProps.subscriptionId = strapi.ee.subscriptionId;\n }\n if (strapi.ee?.planPriceId !== undefined && strapi.ee?.planPriceId !== null) {\n eeGroupProps.planPriceId = strapi.ee.planPriceId;\n }\n\n const reqParams = {\n method: 'POST',\n body: JSON.stringify({\n event,\n userId,\n installId,\n eventProperties: payload.eventProperties,\n userProperties: userId ? { ...anonymousUserProperties, ...payload.userProperties } : {},\n groupProperties: {\n ...anonymousGroupProperties,\n projectType: strapi.EE ? 'Enterprise' : 'Community',\n ...eeGroupProps,\n ...payload.groupProperties,\n },\n }),\n ..._.merge({ headers: { 'X-Strapi-Event': event } }, defaultQueryOpts, opts),\n };\n\n try {\n const analyticsUrl = env('STRAPI_ANALYTICS_URL', 'https://analytics.strapi.io');\n const res = await strapi.fetch(`${analyticsUrl}/api/v2/track`, reqParams);\n return res.ok;\n } catch (err) {\n return false;\n }\n };\n};\n"],"names":["lazyTsUtils","tsUtils","require","defaultQueryOpts","timeout","headers","addPackageJsonStrapiMetadata","metadata","strapi","packageJsonStrapi","config","_","defaults","uuid","installId","installIdFromPackageJson","generateInstallId","serverRootPath","dirs","app","root","adminRootPath","path","join","anonymousUserProperties","environment","os","type","osPlatform","platform","osArch","arch","osRelease","release","nodeVersion","process","versions","node","anonymousGroupProperties","docker","env","DOCKER","isDocker","isCI","ciEnv","version","get","useTypescriptOnServer","isUsingTypeScriptSync","useTypescriptOnAdmin","projectId","isHostedOnStrapiCloud","event","payload","opts","userId","generateAdminUserHash","eeGroupProps","ee","subscriptionId","undefined","planPriceId","reqParams","method","body","JSON","stringify","eventProperties","userProperties","groupProperties","projectType","EE","merge","analyticsUrl","res","fetch","ok","err"],"mappings":"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"}
1
+ {"version":3,"file":"sender.js","sources":["../../../src/services/metrics/sender.ts"],"sourcesContent":["import os from 'os';\nimport path from 'path';\nimport _ from 'lodash';\nimport isDocker from 'is-docker';\nimport ciEnv from 'ci-info';\nimport { env, generateInstallId } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\nimport { generateAdminUserHash } from './admin-user-hash';\n\n// Lazy: only resolved when telemetry is enabled and a sender is constructed\nlet lazyTsUtils: typeof import('@strapi/typescript-utils') | undefined;\nconst tsUtils = (): typeof import('@strapi/typescript-utils') => {\n if (!lazyTsUtils) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n lazyTsUtils = require('@strapi/typescript-utils');\n }\n return lazyTsUtils as typeof import('@strapi/typescript-utils');\n};\n\nexport interface Payload {\n eventProperties?: Record<string, unknown>;\n userProperties?: Record<string, unknown>;\n groupProperties?: Record<string, unknown>;\n}\n\nexport type Sender = (\n event: string,\n payload?: Payload,\n opts?: Record<string, unknown>\n) => Promise<boolean>;\n\nconst defaultQueryOpts = {\n timeout: 1000,\n headers: { 'Content-Type': 'application/json' },\n};\n\n/**\n * Add properties from the package.json strapi key in the metadata\n */\nconst addPackageJsonStrapiMetadata = (metadata: Record<string, unknown>, strapi: Core.Strapi) => {\n const { packageJsonStrapi = {} } = strapi.config;\n\n _.defaults(metadata, packageJsonStrapi);\n};\n\n/**\n * Create a send function for event with all the necessary metadata\n */\nexport default (strapi: Core.Strapi): Sender => {\n const { uuid, installId: installIdFromPackageJson } = strapi.config;\n\n const installId = generateInstallId(uuid, installIdFromPackageJson);\n\n const serverRootPath = strapi.dirs.app.root;\n const adminRootPath = path.join(strapi.dirs.app.root, 'src', 'admin');\n\n const anonymousUserProperties = {\n environment: strapi.config.environment,\n os: os.type(),\n osPlatform: os.platform(),\n osArch: os.arch(),\n osRelease: os.release(),\n nodeVersion: process.versions.node,\n };\n\n const anonymousGroupProperties = {\n docker: process.env.DOCKER || isDocker(),\n isCI: ciEnv.isCI,\n version: strapi.config.get('info.strapi'),\n useTypescriptOnServer: tsUtils().isUsingTypeScriptSync(serverRootPath),\n useTypescriptOnAdmin: tsUtils().isUsingTypeScriptSync(adminRootPath),\n projectId: uuid,\n isHostedOnStrapiCloud: env('STRAPI_HOSTING', null) === 'strapi.cloud',\n };\n\n addPackageJsonStrapiMetadata(anonymousGroupProperties, strapi);\n\n return async (event: string, payload: Payload = {}, opts = {}) => {\n const userId = generateAdminUserHash(strapi);\n\n const eeGroupProps: Record<string, unknown> = {};\n if (strapi.ee?.subscriptionId !== undefined && strapi.ee?.subscriptionId !== null) {\n eeGroupProps.subscriptionId = strapi.ee.subscriptionId;\n }\n if (strapi.ee?.planPriceId !== undefined && strapi.ee?.planPriceId !== null) {\n eeGroupProps.planPriceId = strapi.ee.planPriceId;\n }\n\n const reqParams = {\n method: 'POST',\n body: JSON.stringify({\n event,\n userId,\n installId,\n eventProperties: payload.eventProperties,\n userProperties: userId ? { ...anonymousUserProperties, ...payload.userProperties } : {},\n groupProperties: {\n ...anonymousGroupProperties,\n projectType: strapi.EE ? 'Enterprise' : 'Community',\n ...eeGroupProps,\n ...payload.groupProperties,\n },\n }),\n ..._.merge({ headers: { 'X-Strapi-Event': event } }, defaultQueryOpts, opts),\n };\n\n try {\n const analyticsUrl = env('STRAPI_ANALYTICS_URL', 'https://analytics.strapi.io');\n const res = await strapi.fetch(`${analyticsUrl}/api/v2/track`, reqParams);\n return res.ok;\n } catch (err) {\n return false;\n }\n };\n};\n"],"names":["lazyTsUtils","tsUtils","require","defaultQueryOpts","timeout","headers","addPackageJsonStrapiMetadata","metadata","strapi","packageJsonStrapi","config","_","defaults","uuid","installId","installIdFromPackageJson","generateInstallId","serverRootPath","dirs","app","root","adminRootPath","path","join","anonymousUserProperties","environment","os","type","osPlatform","platform","osArch","arch","osRelease","release","nodeVersion","process","versions","node","anonymousGroupProperties","docker","env","DOCKER","isDocker","isCI","ciEnv","version","get","useTypescriptOnServer","isUsingTypeScriptSync","useTypescriptOnAdmin","projectId","isHostedOnStrapiCloud","event","payload","opts","userId","generateAdminUserHash","eeGroupProps","ee","subscriptionId","undefined","planPriceId","reqParams","method","body","JSON","stringify","eventProperties","userProperties","groupProperties","projectType","EE","merge","analyticsUrl","res","fetch","ok","err"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"query-params.d.ts","sourceRoot":"","sources":["../../src/services/query-params.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAO,MAAM,eAAe,CAAC;iCAEvB,KAAK,MAAM;;;AAAnC,wBAQE"}
1
+ {"version":3,"file":"query-params.d.ts","sourceRoot":"","sources":["../../src/services/query-params.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAO,MAAM,eAAe,CAAC;yBAE/B,QAAQ,IAAI,CAAC,MAAM;;;AAAnC,wBAQE"}
@@ -1 +1 @@
1
- {"version":3,"file":"reloader.d.ts","sourceRoot":"","sources":["../../src/services/reloader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,eAAO,MAAM,cAAc,WAAY,KAAK,MAAM;;;;CAsCjD,CAAC"}
1
+ {"version":3,"file":"reloader.d.ts","sourceRoot":"","sources":["../../src/services/reloader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,eAAO,MAAM,cAAc,GAAI,QAAQ,IAAI,CAAC,MAAM;;;;CAsCjD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"request-context.d.ts","sourceRoot":"","sources":["../../src/services/request-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,KAAK,CAAC;AAIhD,QAAA,MAAM,UAAU;eACG,oBAAoB,MAAM,MAAM,QAAQ,IAAI,CAAC;;CAO/D,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"request-context.d.ts","sourceRoot":"","sources":["../../src/services/request-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,KAAK,CAAC;AAIhD,QAAA,MAAM,UAAU;eACG,oBAAoB,MAAM,MAAM,OAAO,CAAC,IAAI,CAAC;;CAO/D,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,11 +1,9 @@
1
- /// <reference types="koa__router" />
2
- /// <reference types="koa" />
3
1
  import type { Core } from '@strapi/types';
4
2
  declare const createAdminAPI: (strapi: Core.Strapi) => {
5
3
  listRoutes(): import("@koa/router").Layer[];
6
- use(fn: import("@koa/router").Middleware<import("koa").DefaultState, import("koa").DefaultContext, unknown>): any;
7
- routes(routes: Core.Router | Core.Route[]): any;
8
- mount(router: import("@koa/router")<import("koa").DefaultState, import("koa").DefaultContext>): any;
4
+ use(fn: import("@koa/router").Middleware): /*elided*/ any;
5
+ routes(routes: Core.Router | Core.Route[]): /*elided*/ any;
6
+ mount(router: import("@koa/router")): /*elided*/ any;
9
7
  };
10
8
  export { createAdminAPI };
11
9
  //# sourceMappingURL=admin-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin-api.d.ts","sourceRoot":"","sources":["../../../src/services/server/admin-api.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1C,QAAA,MAAM,cAAc,WAAY,KAAK,MAAM;;;;;CAO1C,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"admin-api.d.ts","sourceRoot":"","sources":["../../../src/services/server/admin-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1C,QAAA,MAAM,cAAc,GAAI,QAAQ,IAAI,CAAC,MAAM;;;;;CAO1C,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -1,4 +1,3 @@
1
- /// <reference types="koa__router" />
2
1
  import Router from '@koa/router';
3
2
  import type { Core } from '@strapi/types';
4
3
  interface Options {
@@ -7,9 +6,9 @@ interface Options {
7
6
  }
8
7
  declare const createAPI: (strapi: Core.Strapi, opts?: Options) => {
9
8
  listRoutes(): Router.Layer[];
10
- use(fn: Router.Middleware): any;
11
- routes(routes: Core.Router | Core.Route[]): any;
12
- mount(router: Router): any;
9
+ use(fn: Router.Middleware): /*elided*/ any;
10
+ routes(routes: Core.Router | Core.Route[]): /*elided*/ any;
11
+ mount(router: Router): /*elided*/ any;
13
12
  };
14
13
  export { createAPI };
15
14
  //# sourceMappingURL=api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/services/server/api.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAI1C,UAAU,OAAO;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,QAAA,MAAM,SAAS,WAAY,KAAK,MAAM,SAAQ,OAAO;;YAYzC,OAAO,UAAU;mBAKV,WAAW,GAAG,KAAK,KAAK,EAAE;kBAK3B,MAAM;CAKvB,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/services/server/api.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAI1C,UAAU,OAAO;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,QAAA,MAAM,SAAS,GAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,OAAM,OAAY;;YAY9C,MAAM,CAAC,UAAU;mBAKV,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE;kBAK3B,MAAM;CAKvB,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -3,9 +3,13 @@
3
3
  var Router = require('@koa/router');
4
4
  var routing = require('./routing.js');
5
5
 
6
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
+
8
+ var Router__default = /*#__PURE__*/_interopDefault(Router);
9
+
6
10
  const createAPI = (strapi, opts = {})=>{
7
11
  const { prefix, type } = opts;
8
- const api = new Router({
12
+ const api = new Router__default.default({
9
13
  prefix
10
14
  });
11
15
  const routeManager = routing.createRouteManager(strapi, {
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sources":["../../../src/services/server/api.ts"],"sourcesContent":["import Router from '@koa/router';\nimport type { Core } from '@strapi/types';\n\nimport { createRouteManager } from './routing';\n\ninterface Options {\n prefix?: string;\n type?: string;\n}\n\nconst createAPI = (strapi: Core.Strapi, opts: Options = {}) => {\n const { prefix, type } = opts;\n\n const api = new Router({ prefix });\n\n const routeManager = createRouteManager(strapi, { type });\n\n return {\n listRoutes() {\n return [...api.stack];\n },\n\n use(fn: Router.Middleware) {\n api.use(fn);\n return this;\n },\n\n routes(routes: Core.Router | Core.Route[]) {\n routeManager.addRoutes(routes, api);\n return this;\n },\n\n mount(router: Router) {\n router.use(api.routes(), api.allowedMethods());\n return this;\n },\n };\n};\n\nexport { createAPI };\n"],"names":["createAPI","strapi","opts","prefix","type","api","Router","routeManager","createRouteManager","listRoutes","stack","use","fn","routes","addRoutes","mount","router","allowedMethods"],"mappings":";;;;;AAUA,MAAMA,SAAAA,GAAY,CAACC,MAAAA,EAAqBC,IAAAA,GAAgB,EAAE,GAAA;AACxD,IAAA,MAAM,EAAEC,MAAM,EAAEC,IAAI,EAAE,GAAGF,IAAAA;IAEzB,MAAMG,GAAAA,GAAM,IAAIC,MAAAA,CAAO;AAAEH,QAAAA;AAAO,KAAA,CAAA;IAEhC,MAAMI,YAAAA,GAAeC,2BAAmBP,MAAAA,EAAQ;AAAEG,QAAAA;AAAK,KAAA,CAAA;IAEvD,OAAO;AACLK,QAAAA,UAAAA,CAAAA,GAAAA;YACE,OAAO;AAAIJ,gBAAAA,GAAAA,GAAAA,CAAIK;AAAM,aAAA;AACvB,QAAA,CAAA;AAEAC,QAAAA,GAAAA,CAAAA,CAAIC,EAAqB,EAAA;AACvBP,YAAAA,GAAAA,CAAIM,GAAG,CAACC,EAAAA,CAAAA;AACR,YAAA,OAAO,IAAI;AACb,QAAA,CAAA;AAEAC,QAAAA,MAAAA,CAAAA,CAAOA,MAAkC,EAAA;YACvCN,YAAAA,CAAaO,SAAS,CAACD,MAAAA,EAAQR,GAAAA,CAAAA;AAC/B,YAAA,OAAO,IAAI;AACb,QAAA,CAAA;AAEAU,QAAAA,KAAAA,CAAAA,CAAMC,MAAc,EAAA;AAClBA,YAAAA,MAAAA,CAAOL,GAAG,CAACN,GAAAA,CAAIQ,MAAM,EAAA,EAAIR,IAAIY,cAAc,EAAA,CAAA;AAC3C,YAAA,OAAO,IAAI;AACb,QAAA;AACF,KAAA;AACF;;;;"}
1
+ {"version":3,"file":"api.js","sources":["../../../src/services/server/api.ts"],"sourcesContent":["import Router from '@koa/router';\nimport type { Core } from '@strapi/types';\n\nimport { createRouteManager } from './routing';\n\ninterface Options {\n prefix?: string;\n type?: string;\n}\n\nconst createAPI = (strapi: Core.Strapi, opts: Options = {}) => {\n const { prefix, type } = opts;\n\n const api = new Router({ prefix });\n\n const routeManager = createRouteManager(strapi, { type });\n\n return {\n listRoutes() {\n return [...api.stack];\n },\n\n use(fn: Router.Middleware) {\n api.use(fn);\n return this;\n },\n\n routes(routes: Core.Router | Core.Route[]) {\n routeManager.addRoutes(routes, api);\n return this;\n },\n\n mount(router: Router) {\n router.use(api.routes(), api.allowedMethods());\n return this;\n },\n };\n};\n\nexport { createAPI };\n"],"names":["createAPI","strapi","opts","prefix","type","api","Router","routeManager","createRouteManager","listRoutes","stack","use","fn","routes","addRoutes","mount","router","allowedMethods"],"mappings":";;;;;;;;;AAUA,MAAMA,SAAAA,GAAY,CAACC,MAAAA,EAAqBC,IAAAA,GAAgB,EAAE,GAAA;AACxD,IAAA,MAAM,EAAEC,MAAM,EAAEC,IAAI,EAAE,GAAGF,IAAAA;IAEzB,MAAMG,GAAAA,GAAM,IAAIC,uBAAAA,CAAO;AAAEH,QAAAA;AAAO,KAAA,CAAA;IAEhC,MAAMI,YAAAA,GAAeC,2BAAmBP,MAAAA,EAAQ;AAAEG,QAAAA;AAAK,KAAA,CAAA;IAEvD,OAAO;AACLK,QAAAA,UAAAA,CAAAA,GAAAA;YACE,OAAO;AAAIJ,gBAAAA,GAAAA,GAAAA,CAAIK;AAAM,aAAA;AACvB,QAAA,CAAA;AAEAC,QAAAA,GAAAA,CAAAA,CAAIC,EAAqB,EAAA;AACvBP,YAAAA,GAAAA,CAAIM,GAAG,CAACC,EAAAA,CAAAA;AACR,YAAA,OAAO,IAAI;AACb,QAAA,CAAA;AAEAC,QAAAA,MAAAA,CAAAA,CAAOA,MAAkC,EAAA;YACvCN,YAAAA,CAAaO,SAAS,CAACD,MAAAA,EAAQR,GAAAA,CAAAA;AAC/B,YAAA,OAAO,IAAI;AACb,QAAA,CAAA;AAEAU,QAAAA,KAAAA,CAAAA,CAAMC,MAAc,EAAA;AAClBA,YAAAA,MAAAA,CAAOL,GAAG,CAACN,GAAAA,CAAIQ,MAAM,EAAA,EAAIR,IAAIY,cAAc,EAAA,CAAA;AAC3C,YAAA,OAAO,IAAI;AACb,QAAA;AACF,KAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"compose-endpoint.d.ts","sourceRoot":"","sources":["../../../src/services/server/compose-endpoint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAO,MAAM,eAAe,CAAC;AAE/C,OAAO,MAAM,MAAM,aAAa,CAAC;iCAoET,KAAK,MAAM,aAIlB,KAAK,KAAK,cAAc;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE;AAJ3D,wBAgCE"}
1
+ {"version":3,"file":"compose-endpoint.d.ts","sourceRoot":"","sources":["../../../src/services/server/compose-endpoint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAO,MAAM,eAAe,CAAC;AAE/C,OAAO,MAAM,MAAM,aAAa,CAAC;yBAoEjB,QAAQ,IAAI,CAAC,MAAM,MAIzB,OAAO,IAAI,CAAC,KAAK,EAAE,YAAY;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE;AAJ3D,wBAgCE"}
@@ -6,6 +6,10 @@ var compose = require('koa-compose');
6
6
  var middleware = require('./middleware.js');
7
7
  var policy = require('./policy.js');
8
8
 
9
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
+
11
+ var compose__default = /*#__PURE__*/_interopDefault(compose);
12
+
9
13
  const getMethod = (route)=>{
10
14
  return fp.trim(fp.toLower(route.method));
11
15
  };
@@ -57,7 +61,7 @@ var createEndpointComposer = ((strapi)=>{
57
61
  const path = getPath(route);
58
62
  const middlewares = middleware.resolveRouteMiddlewares(route, strapi);
59
63
  const action = getAction(route, strapi);
60
- const routeHandler = compose([
64
+ const routeHandler = compose__default.default([
61
65
  createRouteInfoMiddleware(route),
62
66
  authenticate,
63
67
  authorize,
@@ -1 +1 @@
1
- {"version":3,"file":"compose-endpoint.js","sources":["../../../src/services/server/compose-endpoint.ts"],"sourcesContent":["import { toLower, castArray, trim, prop, isNil } from 'lodash/fp';\nimport type { Core, UID } from '@strapi/types';\nimport { errors } from '@strapi/utils';\nimport Router from '@koa/router';\n\nimport compose from 'koa-compose';\nimport { resolveRouteMiddlewares } from './middleware';\nimport { createPolicicesMiddleware } from './policy';\n\nconst getMethod = (route: Core.Route) => {\n return trim(toLower(route.method)) as Lowercase<Core.Route['method']>;\n};\n\nconst getPath = (route: Core.Route) => trim(route.path);\n\nconst createRouteInfoMiddleware =\n (routeInfo: Core.Route): Core.MiddlewareHandler =>\n (ctx, next) => {\n const route = {\n ...routeInfo,\n config: routeInfo.config || {},\n };\n\n ctx.state.route = route;\n return next();\n };\n\nconst getAuthConfig = prop('config.auth');\n\nconst createAuthorizeMiddleware =\n (strapi: Core.Strapi): Core.MiddlewareHandler =>\n async (ctx, next) => {\n const { auth, route } = ctx.state;\n\n const authService = strapi.get('auth');\n\n try {\n await authService.verify(auth, getAuthConfig(route));\n\n return await next();\n } catch (error) {\n if (error instanceof errors.UnauthorizedError) {\n return ctx.unauthorized();\n }\n\n if (error instanceof errors.ForbiddenError) {\n // allow PolicyError as an exception to throw a publicly visible message in the API\n if (error instanceof errors.PolicyError) {\n throw error;\n }\n return ctx.forbidden();\n }\n\n throw error;\n }\n };\n\nconst createAuthenticateMiddleware =\n (strapi: Core.Strapi): Core.MiddlewareHandler =>\n async (ctx, next) => {\n return strapi.get('auth').authenticate(ctx, next);\n };\n\nconst returnBodyMiddleware: Core.MiddlewareHandler = async (ctx, next) => {\n const values = await next();\n\n if (isNil(ctx.body) && !isNil(values)) {\n ctx.body = values;\n }\n};\n\nexport default (strapi: Core.Strapi) => {\n const authenticate = createAuthenticateMiddleware(strapi);\n const authorize = createAuthorizeMiddleware(strapi);\n\n return (route: Core.Route, { router }: { router: Router }) => {\n try {\n const method = getMethod(route);\n const path = getPath(route);\n\n const middlewares = resolveRouteMiddlewares(route, strapi);\n\n const action = getAction(route, strapi);\n\n const routeHandler = compose([\n createRouteInfoMiddleware(route),\n authenticate,\n authorize,\n createPolicicesMiddleware(route, strapi),\n ...middlewares,\n returnBodyMiddleware,\n ...castArray(action),\n ]);\n\n router[method](path, routeHandler);\n } catch (error) {\n if (error instanceof Error) {\n error.message = `Error creating endpoint ${route.method} ${route.path}: ${error.message}`;\n }\n\n throw error;\n }\n };\n};\n\nconst getController = (\n name: string,\n { pluginName, apiName }: Core.RouteInfo,\n strapi: Core.Strapi\n) => {\n let ctrl: Core.Controller | undefined;\n\n if (pluginName) {\n if (pluginName === 'admin') {\n ctrl = strapi.controller(`admin::${name}`);\n } else {\n ctrl = strapi.plugin(pluginName).controller(name);\n }\n } else if (apiName) {\n ctrl = strapi.controller(`api::${apiName}.${name}`);\n }\n\n if (!ctrl) {\n return strapi.controller(name as UID.Controller);\n }\n\n return ctrl;\n};\n\nconst extractHandlerParts = (name: string) => {\n const controllerName = name.slice(0, name.lastIndexOf('.'));\n const actionName = name.slice(name.lastIndexOf('.') + 1);\n\n return { controllerName, actionName };\n};\n\nconst getAction = (route: Core.Route, strapi: Core.Strapi) => {\n const { handler, info } = route;\n const { pluginName, apiName, type } = info ?? {};\n\n if (Array.isArray(handler) || typeof handler === 'function') {\n return handler;\n }\n\n const { controllerName, actionName } = extractHandlerParts(trim(handler));\n\n const controller = getController(controllerName, { pluginName, apiName, type }, strapi);\n\n if (typeof controller[actionName] !== 'function') {\n throw new Error(`Handler not found \"${handler}\"`);\n }\n\n if (Symbol.for('__type__') in controller[actionName]) {\n (controller[actionName] as any)[Symbol.for('__type__')].push(type);\n } else {\n (controller[actionName] as any)[Symbol.for('__type__')] = [type];\n }\n\n return controller[actionName].bind(controller);\n};\n"],"names":["getMethod","route","trim","toLower","method","getPath","path","createRouteInfoMiddleware","routeInfo","ctx","next","config","state","getAuthConfig","prop","createAuthorizeMiddleware","strapi","auth","authService","get","verify","error","errors","UnauthorizedError","unauthorized","ForbiddenError","PolicyError","forbidden","createAuthenticateMiddleware","authenticate","returnBodyMiddleware","values","isNil","body","authorize","router","middlewares","resolveRouteMiddlewares","action","getAction","routeHandler","compose","createPolicicesMiddleware","castArray","Error","message","getController","name","pluginName","apiName","ctrl","controller","plugin","extractHandlerParts","controllerName","slice","lastIndexOf","actionName","handler","info","type","Array","isArray","Symbol","for","push","bind"],"mappings":"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"}
1
+ {"version":3,"file":"compose-endpoint.js","sources":["../../../src/services/server/compose-endpoint.ts"],"sourcesContent":["import { toLower, castArray, trim, prop, isNil } from 'lodash/fp';\nimport type { Core, UID } from '@strapi/types';\nimport { errors } from '@strapi/utils';\nimport Router from '@koa/router';\n\nimport compose from 'koa-compose';\nimport { resolveRouteMiddlewares } from './middleware';\nimport { createPolicicesMiddleware } from './policy';\n\nconst getMethod = (route: Core.Route) => {\n return trim(toLower(route.method)) as Lowercase<Core.Route['method']>;\n};\n\nconst getPath = (route: Core.Route) => trim(route.path);\n\nconst createRouteInfoMiddleware =\n (routeInfo: Core.Route): Core.MiddlewareHandler =>\n (ctx, next) => {\n const route = {\n ...routeInfo,\n config: routeInfo.config || {},\n };\n\n ctx.state.route = route;\n return next();\n };\n\nconst getAuthConfig = prop('config.auth');\n\nconst createAuthorizeMiddleware =\n (strapi: Core.Strapi): Core.MiddlewareHandler =>\n async (ctx, next) => {\n const { auth, route } = ctx.state;\n\n const authService = strapi.get('auth');\n\n try {\n await authService.verify(auth, getAuthConfig(route));\n\n return await next();\n } catch (error) {\n if (error instanceof errors.UnauthorizedError) {\n return ctx.unauthorized();\n }\n\n if (error instanceof errors.ForbiddenError) {\n // allow PolicyError as an exception to throw a publicly visible message in the API\n if (error instanceof errors.PolicyError) {\n throw error;\n }\n return ctx.forbidden();\n }\n\n throw error;\n }\n };\n\nconst createAuthenticateMiddleware =\n (strapi: Core.Strapi): Core.MiddlewareHandler =>\n async (ctx, next) => {\n return strapi.get('auth').authenticate(ctx, next);\n };\n\nconst returnBodyMiddleware: Core.MiddlewareHandler = async (ctx, next) => {\n const values = await next();\n\n if (isNil(ctx.body) && !isNil(values)) {\n ctx.body = values;\n }\n};\n\nexport default (strapi: Core.Strapi) => {\n const authenticate = createAuthenticateMiddleware(strapi);\n const authorize = createAuthorizeMiddleware(strapi);\n\n return (route: Core.Route, { router }: { router: Router }) => {\n try {\n const method = getMethod(route);\n const path = getPath(route);\n\n const middlewares = resolveRouteMiddlewares(route, strapi);\n\n const action = getAction(route, strapi);\n\n const routeHandler = compose([\n createRouteInfoMiddleware(route),\n authenticate,\n authorize,\n createPolicicesMiddleware(route, strapi),\n ...middlewares,\n returnBodyMiddleware,\n ...castArray(action),\n ]);\n\n router[method](path, routeHandler);\n } catch (error) {\n if (error instanceof Error) {\n error.message = `Error creating endpoint ${route.method} ${route.path}: ${error.message}`;\n }\n\n throw error;\n }\n };\n};\n\nconst getController = (\n name: string,\n { pluginName, apiName }: Core.RouteInfo,\n strapi: Core.Strapi\n) => {\n let ctrl: Core.Controller | undefined;\n\n if (pluginName) {\n if (pluginName === 'admin') {\n ctrl = strapi.controller(`admin::${name}`);\n } else {\n ctrl = strapi.plugin(pluginName).controller(name);\n }\n } else if (apiName) {\n ctrl = strapi.controller(`api::${apiName}.${name}`);\n }\n\n if (!ctrl) {\n return strapi.controller(name as UID.Controller);\n }\n\n return ctrl;\n};\n\nconst extractHandlerParts = (name: string) => {\n const controllerName = name.slice(0, name.lastIndexOf('.'));\n const actionName = name.slice(name.lastIndexOf('.') + 1);\n\n return { controllerName, actionName };\n};\n\nconst getAction = (route: Core.Route, strapi: Core.Strapi) => {\n const { handler, info } = route;\n const { pluginName, apiName, type } = info ?? {};\n\n if (Array.isArray(handler) || typeof handler === 'function') {\n return handler;\n }\n\n const { controllerName, actionName } = extractHandlerParts(trim(handler));\n\n const controller = getController(controllerName, { pluginName, apiName, type }, strapi);\n\n if (typeof controller[actionName] !== 'function') {\n throw new Error(`Handler not found \"${handler}\"`);\n }\n\n if (Symbol.for('__type__') in controller[actionName]) {\n (controller[actionName] as any)[Symbol.for('__type__')].push(type);\n } else {\n (controller[actionName] as any)[Symbol.for('__type__')] = [type];\n }\n\n return controller[actionName].bind(controller);\n};\n"],"names":["getMethod","route","trim","toLower","method","getPath","path","createRouteInfoMiddleware","routeInfo","ctx","next","config","state","getAuthConfig","prop","createAuthorizeMiddleware","strapi","auth","authService","get","verify","error","errors","UnauthorizedError","unauthorized","ForbiddenError","PolicyError","forbidden","createAuthenticateMiddleware","authenticate","returnBodyMiddleware","values","isNil","body","authorize","router","middlewares","resolveRouteMiddlewares","action","getAction","routeHandler","compose","createPolicicesMiddleware","castArray","Error","message","getController","name","pluginName","apiName","ctrl","controller","plugin","extractHandlerParts","controllerName","slice","lastIndexOf","actionName","handler","info","type","Array","isArray","Symbol","for","push","bind"],"mappings":"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"}
@@ -1,11 +1,9 @@
1
- /// <reference types="koa__router" />
2
- /// <reference types="koa" />
3
1
  import type { Core } from '@strapi/types';
4
2
  declare const createContentAPI: (strapi: Core.Strapi) => {
5
3
  listRoutes(): import("@koa/router").Layer[];
6
- use(fn: import("@koa/router").Middleware<import("koa").DefaultState, import("koa").DefaultContext, unknown>): any;
7
- routes(routes: Core.Router | Core.Route[]): any;
8
- mount(router: import("@koa/router")<import("koa").DefaultState, import("koa").DefaultContext>): any;
4
+ use(fn: import("@koa/router").Middleware): /*elided*/ any;
5
+ routes(routes: Core.Router | Core.Route[]): /*elided*/ any;
6
+ mount(router: import("@koa/router")): /*elided*/ any;
9
7
  };
10
8
  export { createContentAPI };
11
9
  //# sourceMappingURL=content-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"content-api.d.ts","sourceRoot":"","sources":["../../../src/services/server/content-api.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1C,QAAA,MAAM,gBAAgB,WAAY,KAAK,MAAM;;;;;CAO5C,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"content-api.d.ts","sourceRoot":"","sources":["../../../src/services/server/content-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1C,QAAA,MAAM,gBAAgB,GAAI,QAAQ,IAAI,CAAC,MAAM;;;;;CAO5C,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import http from 'http';
3
2
  import Koa from 'koa';
4
3
  import type { Core } from '@strapi/types';
@@ -1 +1 @@
1
- {"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../../../src/services/server/http-server.ts"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,WAAW,MAAO,SAAQ,IAAI,CAAC,MAAM;IACzC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,QAAA,MAAM,gBAAgB,WAAY,KAAK,MAAM,UAAU,GAAG,KAAG,MAyD5D,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../../../src/services/server/http-server.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,WAAW,MAAO,SAAQ,IAAI,CAAC,MAAM;IACzC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,QAAA,MAAM,gBAAgB,GAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,KAAG,MAyD5D,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -2,6 +2,10 @@
2
2
 
3
3
  var http = require('http');
4
4
 
5
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
6
+
7
+ var http__default = /*#__PURE__*/_interopDefault(http);
8
+
5
9
  const createHTTPServer = (strapi, koaApp)=>{
6
10
  const connections = new Set();
7
11
  // lazy creation of the request listener
@@ -13,7 +17,7 @@ const createHTTPServer = (strapi, koaApp)=>{
13
17
  return handler(req, res);
14
18
  };
15
19
  const options = strapi.config.get('server.http.serverOptions', {});
16
- const server = http.createServer(options, listener);
20
+ const server = http__default.default.createServer(options, listener);
17
21
  server.on('connection', (connection)=>{
18
22
  connections.add(connection);
19
23
  connection.on('close', ()=>{
@@ -1 +1 @@
1
- {"version":3,"file":"http-server.js","sources":["../../../src/services/server/http-server.ts"],"sourcesContent":["import http from 'http';\nimport type { Socket } from 'net';\nimport Koa from 'koa';\nimport type { Core } from '@strapi/types';\n\nexport interface Server extends http.Server {\n destroy: () => Promise<void>;\n}\n\nconst createHTTPServer = (strapi: Core.Strapi, koaApp: Koa): Server => {\n const connections = new Set<Socket>();\n\n // lazy creation of the request listener\n let handler: http.RequestListener;\n const listener: http.RequestListener = function handleRequest(req, res) {\n if (!handler) {\n handler = koaApp.callback();\n }\n\n return handler(req, res);\n };\n\n const options = strapi.config.get<http.ServerOptions>('server.http.serverOptions', {});\n\n const server: http.Server = http.createServer(options, listener);\n\n server.on('connection', (connection) => {\n connections.add(connection);\n\n connection.on('close', () => {\n connections.delete(connection);\n });\n });\n\n // handle port in use cleanly\n server.on('error', (err) => {\n if ('code' in err && 'port' in err && err.code === 'EADDRINUSE') {\n return strapi.stopWithError(`The port ${err.port} is already used by another application.`);\n }\n\n strapi.log.error(err);\n });\n\n const destroy = async () => {\n for (const connection of connections) {\n connection.destroy();\n\n connections.delete(connection);\n }\n\n if (!server.listening) {\n return;\n }\n\n return new Promise<void>((resolve, reject) => {\n server.close((error) => {\n if (error) {\n reject(error);\n } else {\n resolve();\n }\n });\n });\n };\n\n return Object.assign(server, { destroy });\n};\n\nexport { createHTTPServer };\n"],"names":["createHTTPServer","strapi","koaApp","connections","Set","handler","listener","handleRequest","req","res","callback","options","config","get","server","http","createServer","on","connection","add","delete","err","code","stopWithError","port","log","error","destroy","listening","Promise","resolve","reject","close","Object","assign"],"mappings":";;;;AASA,MAAMA,gBAAAA,GAAmB,CAACC,MAAAA,EAAqBC,MAAAA,GAAAA;AAC7C,IAAA,MAAMC,cAAc,IAAIC,GAAAA,EAAAA;;IAGxB,IAAIC,OAAAA;AACJ,IAAA,MAAMC,QAAAA,GAAiC,SAASC,aAAAA,CAAcC,GAAG,EAAEC,GAAG,EAAA;AACpE,QAAA,IAAI,CAACJ,OAAAA,EAAS;AACZA,YAAAA,OAAAA,GAAUH,OAAOQ,QAAQ,EAAA;AAC3B,QAAA;AAEA,QAAA,OAAOL,QAAQG,GAAAA,EAAKC,GAAAA,CAAAA;AACtB,IAAA,CAAA;AAEA,IAAA,MAAME,UAAUV,MAAAA,CAAOW,MAAM,CAACC,GAAG,CAAqB,6BAA6B,EAAC,CAAA;AAEpF,IAAA,MAAMC,MAAAA,GAAsBC,IAAAA,CAAKC,YAAY,CAACL,OAAAA,EAASL,QAAAA,CAAAA;IAEvDQ,MAAAA,CAAOG,EAAE,CAAC,YAAA,EAAc,CAACC,UAAAA,GAAAA;AACvBf,QAAAA,WAAAA,CAAYgB,GAAG,CAACD,UAAAA,CAAAA;QAEhBA,UAAAA,CAAWD,EAAE,CAAC,OAAA,EAAS,IAAA;AACrBd,YAAAA,WAAAA,CAAYiB,MAAM,CAACF,UAAAA,CAAAA;AACrB,QAAA,CAAA,CAAA;AACF,IAAA,CAAA,CAAA;;IAGAJ,MAAAA,CAAOG,EAAE,CAAC,OAAA,EAAS,CAACI,GAAAA,GAAAA;AAClB,QAAA,IAAI,UAAUA,GAAAA,IAAO,MAAA,IAAUA,OAAOA,GAAAA,CAAIC,IAAI,KAAK,YAAA,EAAc;YAC/D,OAAOrB,MAAAA,CAAOsB,aAAa,CAAC,CAAC,SAAS,EAAEF,GAAAA,CAAIG,IAAI,CAAC,wCAAwC,CAAC,CAAA;AAC5F,QAAA;QAEAvB,MAAAA,CAAOwB,GAAG,CAACC,KAAK,CAACL,GAAAA,CAAAA;AACnB,IAAA,CAAA,CAAA;AAEA,IAAA,MAAMM,OAAAA,GAAU,UAAA;QACd,KAAK,MAAMT,cAAcf,WAAAA,CAAa;AACpCe,YAAAA,UAAAA,CAAWS,OAAO,EAAA;AAElBxB,YAAAA,WAAAA,CAAYiB,MAAM,CAACF,UAAAA,CAAAA;AACrB,QAAA;QAEA,IAAI,CAACJ,MAAAA,CAAOc,SAAS,EAAE;AACrB,YAAA;AACF,QAAA;QAEA,OAAO,IAAIC,OAAAA,CAAc,CAACC,OAAAA,EAASC,MAAAA,GAAAA;YACjCjB,MAAAA,CAAOkB,KAAK,CAAC,CAACN,KAAAA,GAAAA;AACZ,gBAAA,IAAIA,KAAAA,EAAO;oBACTK,MAAAA,CAAOL,KAAAA,CAAAA;gBACT,CAAA,MAAO;AACLI,oBAAAA,OAAAA,EAAAA;AACF,gBAAA;AACF,YAAA,CAAA,CAAA;AACF,QAAA,CAAA,CAAA;AACF,IAAA,CAAA;IAEA,OAAOG,MAAAA,CAAOC,MAAM,CAACpB,MAAAA,EAAQ;AAAEa,QAAAA;AAAQ,KAAA,CAAA;AACzC;;;;"}
1
+ {"version":3,"file":"http-server.js","sources":["../../../src/services/server/http-server.ts"],"sourcesContent":["import http from 'http';\nimport type { Socket } from 'net';\nimport Koa from 'koa';\nimport type { Core } from '@strapi/types';\n\nexport interface Server extends http.Server {\n destroy: () => Promise<void>;\n}\n\nconst createHTTPServer = (strapi: Core.Strapi, koaApp: Koa): Server => {\n const connections = new Set<Socket>();\n\n // lazy creation of the request listener\n let handler: http.RequestListener;\n const listener: http.RequestListener = function handleRequest(req, res) {\n if (!handler) {\n handler = koaApp.callback();\n }\n\n return handler(req, res);\n };\n\n const options = strapi.config.get<http.ServerOptions>('server.http.serverOptions', {});\n\n const server: http.Server = http.createServer(options, listener);\n\n server.on('connection', (connection) => {\n connections.add(connection);\n\n connection.on('close', () => {\n connections.delete(connection);\n });\n });\n\n // handle port in use cleanly\n server.on('error', (err) => {\n if ('code' in err && 'port' in err && err.code === 'EADDRINUSE') {\n return strapi.stopWithError(`The port ${err.port} is already used by another application.`);\n }\n\n strapi.log.error(err);\n });\n\n const destroy = async () => {\n for (const connection of connections) {\n connection.destroy();\n\n connections.delete(connection);\n }\n\n if (!server.listening) {\n return;\n }\n\n return new Promise<void>((resolve, reject) => {\n server.close((error) => {\n if (error) {\n reject(error);\n } else {\n resolve();\n }\n });\n });\n };\n\n return Object.assign(server, { destroy });\n};\n\nexport { createHTTPServer };\n"],"names":["createHTTPServer","strapi","koaApp","connections","Set","handler","listener","handleRequest","req","res","callback","options","config","get","server","http","createServer","on","connection","add","delete","err","code","stopWithError","port","log","error","destroy","listening","Promise","resolve","reject","close","Object","assign"],"mappings":";;;;;;;;AASA,MAAMA,gBAAAA,GAAmB,CAACC,MAAAA,EAAqBC,MAAAA,GAAAA;AAC7C,IAAA,MAAMC,cAAc,IAAIC,GAAAA,EAAAA;;IAGxB,IAAIC,OAAAA;AACJ,IAAA,MAAMC,QAAAA,GAAiC,SAASC,aAAAA,CAAcC,GAAG,EAAEC,GAAG,EAAA;AACpE,QAAA,IAAI,CAACJ,OAAAA,EAAS;AACZA,YAAAA,OAAAA,GAAUH,OAAOQ,QAAQ,EAAA;AAC3B,QAAA;AAEA,QAAA,OAAOL,QAAQG,GAAAA,EAAKC,GAAAA,CAAAA;AACtB,IAAA,CAAA;AAEA,IAAA,MAAME,UAAUV,MAAAA,CAAOW,MAAM,CAACC,GAAG,CAAqB,6BAA6B,EAAC,CAAA;AAEpF,IAAA,MAAMC,MAAAA,GAAsBC,qBAAAA,CAAKC,YAAY,CAACL,OAAAA,EAASL,QAAAA,CAAAA;IAEvDQ,MAAAA,CAAOG,EAAE,CAAC,YAAA,EAAc,CAACC,UAAAA,GAAAA;AACvBf,QAAAA,WAAAA,CAAYgB,GAAG,CAACD,UAAAA,CAAAA;QAEhBA,UAAAA,CAAWD,EAAE,CAAC,OAAA,EAAS,IAAA;AACrBd,YAAAA,WAAAA,CAAYiB,MAAM,CAACF,UAAAA,CAAAA;AACrB,QAAA,CAAA,CAAA;AACF,IAAA,CAAA,CAAA;;IAGAJ,MAAAA,CAAOG,EAAE,CAAC,OAAA,EAAS,CAACI,GAAAA,GAAAA;AAClB,QAAA,IAAI,UAAUA,GAAAA,IAAO,MAAA,IAAUA,OAAOA,GAAAA,CAAIC,IAAI,KAAK,YAAA,EAAc;YAC/D,OAAOrB,MAAAA,CAAOsB,aAAa,CAAC,CAAC,SAAS,EAAEF,GAAAA,CAAIG,IAAI,CAAC,wCAAwC,CAAC,CAAA;AAC5F,QAAA;QAEAvB,MAAAA,CAAOwB,GAAG,CAACC,KAAK,CAACL,GAAAA,CAAAA;AACnB,IAAA,CAAA,CAAA;AAEA,IAAA,MAAMM,OAAAA,GAAU,UAAA;QACd,KAAK,MAAMT,cAAcf,WAAAA,CAAa;AACpCe,YAAAA,UAAAA,CAAWS,OAAO,EAAA;AAElBxB,YAAAA,WAAAA,CAAYiB,MAAM,CAACF,UAAAA,CAAAA;AACrB,QAAA;QAEA,IAAI,CAACJ,MAAAA,CAAOc,SAAS,EAAE;AACrB,YAAA;AACF,QAAA;QAEA,OAAO,IAAIC,OAAAA,CAAc,CAACC,OAAAA,EAASC,MAAAA,GAAAA;YACjCjB,MAAAA,CAAOkB,KAAK,CAAC,CAACN,KAAAA,GAAAA;AACZ,gBAAA,IAAIA,KAAAA,EAAO;oBACTK,MAAAA,CAAOL,KAAAA,CAAAA;gBACT,CAAA,MAAO;AACLI,oBAAAA,OAAAA,EAAAA;AACF,gBAAA;AACF,YAAA,CAAA,CAAA;AACF,QAAA,CAAA,CAAA;AACF,IAAA,CAAA;IAEA,OAAOG,MAAAA,CAAOC,MAAM,CAACpB,MAAAA,EAAQ;AAAEa,QAAAA;AAAQ,KAAA,CAAA;AACzC;;;;"}