@strapi/types 0.0.0-experimental.6340da17068c3bed7fb006e7bcc554c71129e282 → 0.0.0-experimental.63624e21eb5b0713345a0cf2f68f1c40eab427bc

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 (445) hide show
  1. package/dist/core/config/admin.d.ts +12 -0
  2. package/dist/core/config/admin.d.ts.map +1 -1
  3. package/dist/core/config/api.d.ts +10 -0
  4. package/dist/core/config/api.d.ts.map +1 -1
  5. package/dist/core/config/database.d.ts +40 -23
  6. package/dist/core/config/database.d.ts.map +1 -1
  7. package/dist/core/config/features.d.ts +14 -2
  8. package/dist/core/config/features.d.ts.map +1 -1
  9. package/dist/core/config/middlewares.d.ts +9 -1
  10. package/dist/core/config/middlewares.d.ts.map +1 -1
  11. package/dist/core/config/server.d.ts +5 -0
  12. package/dist/core/config/server.d.ts.map +1 -1
  13. package/dist/core/config/shared.d.ts.map +1 -1
  14. package/dist/core/config/typescript.d.ts +11 -0
  15. package/dist/core/config/typescript.d.ts.map +1 -1
  16. package/dist/core/container.d.ts +1 -0
  17. package/dist/core/container.d.ts.map +1 -1
  18. package/dist/core/content-api-schema-registry.d.ts +24 -0
  19. package/dist/core/content-api-schema-registry.d.ts.map +1 -0
  20. package/dist/core/controller.d.ts +89 -0
  21. package/dist/core/controller.d.ts.map +1 -1
  22. package/dist/core/core-api/service.d.ts +125 -3
  23. package/dist/core/core-api/service.d.ts.map +1 -1
  24. package/dist/core/hook.d.ts +108 -0
  25. package/dist/core/hook.d.ts.map +1 -0
  26. package/dist/core/index.d.ts +4 -0
  27. package/dist/core/index.d.ts.map +1 -1
  28. package/dist/core/middleware.d.ts +73 -0
  29. package/dist/core/middleware.d.ts.map +1 -1
  30. package/dist/core/module.d.ts +131 -7
  31. package/dist/core/module.d.ts.map +1 -1
  32. package/dist/core/plugin.d.ts +127 -3
  33. package/dist/core/plugin.d.ts.map +1 -1
  34. package/dist/core/policy.d.ts +78 -2
  35. package/dist/core/policy.d.ts.map +1 -1
  36. package/dist/core/registry-drift.d.ts +54 -0
  37. package/dist/core/registry-drift.d.ts.map +1 -0
  38. package/dist/core/route.d.ts +20 -1
  39. package/dist/core/route.d.ts.map +1 -1
  40. package/dist/core/router.d.ts +5 -1
  41. package/dist/core/router.d.ts.map +1 -1
  42. package/dist/core/service.d.ts +73 -0
  43. package/dist/core/service.d.ts.map +1 -1
  44. package/dist/core/strapi.d.ts +287 -19
  45. package/dist/core/strapi.d.ts.map +1 -1
  46. package/dist/core/strictness.d.ts +15 -0
  47. package/dist/core/strictness.d.ts.map +1 -0
  48. package/dist/globals-admin.d.ts +56 -0
  49. package/dist/globals-admin.d.ts.map +1 -0
  50. package/dist/index.d.ts +197 -3
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +3 -3
  53. package/dist/index.js.map +1 -1
  54. package/dist/index.mjs +2 -0
  55. package/dist/index.mjs.map +1 -0
  56. package/dist/internal/registry.d.ts +17 -0
  57. package/dist/internal/registry.d.ts.map +1 -1
  58. package/dist/modules/ai.d.ts +8 -2
  59. package/dist/modules/ai.d.ts.map +1 -1
  60. package/dist/modules/audit-logs.d.ts +78 -0
  61. package/dist/modules/audit-logs.d.ts.map +1 -0
  62. package/dist/modules/auth.d.ts +9 -2
  63. package/dist/modules/auth.d.ts.map +1 -1
  64. package/dist/modules/content-api.d.ts +23 -8
  65. package/dist/modules/content-api.d.ts.map +1 -1
  66. package/dist/modules/content-structure.d.ts +46 -0
  67. package/dist/modules/content-structure.d.ts.map +1 -0
  68. package/dist/modules/core-store.d.ts +85 -0
  69. package/dist/modules/core-store.d.ts.map +1 -1
  70. package/dist/modules/cron.d.ts +49 -10
  71. package/dist/modules/cron.d.ts.map +1 -1
  72. package/dist/modules/documents/component-extension.d.ts.map +1 -1
  73. package/dist/modules/documents/index.d.ts +7 -1
  74. package/dist/modules/documents/index.d.ts.map +1 -1
  75. package/dist/modules/documents/params/document-engine.d.ts +53 -6
  76. package/dist/modules/documents/params/document-engine.d.ts.map +1 -1
  77. package/dist/modules/documents/params/fields.d.ts.map +1 -1
  78. package/dist/modules/documents/params/filters/index.d.ts.map +1 -1
  79. package/dist/modules/documents/params/index.d.ts +2 -1
  80. package/dist/modules/documents/params/index.d.ts.map +1 -1
  81. package/dist/modules/documents/params/populate.d.ts.map +1 -1
  82. package/dist/modules/documents/params/sort.d.ts.map +1 -1
  83. package/dist/modules/documents/params/write.d.ts +155 -0
  84. package/dist/modules/documents/params/write.d.ts.map +1 -0
  85. package/dist/modules/documents/plugin.d.ts.map +1 -1
  86. package/dist/modules/documents/result/document-engine.d.ts +47 -12
  87. package/dist/modules/documents/result/document-engine.d.ts.map +1 -1
  88. package/dist/modules/documents/result/index.d.ts +116 -1
  89. package/dist/modules/documents/result/index.d.ts.map +1 -1
  90. package/dist/modules/documents/service-instance.d.ts +22 -11
  91. package/dist/modules/documents/service-instance.d.ts.map +1 -1
  92. package/dist/modules/entity-service/params/fields.d.ts.map +1 -1
  93. package/dist/modules/entity-service/params/filters/index.d.ts.map +1 -1
  94. package/dist/modules/entity-service/params/populate.d.ts.map +1 -1
  95. package/dist/modules/entity-service/params/sort.d.ts.map +1 -1
  96. package/dist/modules/entity-service/plugin.d.ts.map +1 -1
  97. package/dist/modules/entity-service/result.d.ts.map +1 -1
  98. package/dist/modules/entity-validator.d.ts +1 -0
  99. package/dist/modules/entity-validator.d.ts.map +1 -1
  100. package/dist/modules/event-hub.d.ts +44 -0
  101. package/dist/modules/event-hub.d.ts.map +1 -1
  102. package/dist/modules/features.d.ts +6 -0
  103. package/dist/modules/features.d.ts.map +1 -1
  104. package/dist/modules/fetch.d.ts +3 -3
  105. package/dist/modules/fetch.d.ts.map +1 -1
  106. package/dist/modules/index.d.ts +3 -0
  107. package/dist/modules/index.d.ts.map +1 -1
  108. package/dist/modules/localization.d.ts +31 -0
  109. package/dist/modules/localization.d.ts.map +1 -0
  110. package/dist/modules/mcp.d.ts +182 -18
  111. package/dist/modules/mcp.d.ts.map +1 -1
  112. package/dist/modules/session-manager.d.ts.map +1 -1
  113. package/dist/plugin/index.d.ts +6 -3
  114. package/dist/plugin/index.d.ts.map +1 -1
  115. package/dist/public/registries.d.ts +33 -12
  116. package/dist/public/registries.d.ts.map +1 -1
  117. package/dist/public/shared.d.ts +6 -4
  118. package/dist/public/shared.d.ts.map +1 -1
  119. package/dist/schema/attribute/definitions/relation.d.ts.map +1 -1
  120. package/dist/schema/attribute/options.d.ts +14 -0
  121. package/dist/schema/attribute/options.d.ts.map +1 -1
  122. package/dist/schema/index.d.ts +10 -7
  123. package/dist/schema/index.d.ts.map +1 -1
  124. package/dist/schema/registries.d.ts +25 -0
  125. package/dist/schema/registries.d.ts.map +1 -0
  126. package/dist/struct/schema.d.ts +28 -0
  127. package/dist/struct/schema.d.ts.map +1 -1
  128. package/dist/uid/index.d.ts +12 -7
  129. package/dist/uid/index.d.ts.map +1 -1
  130. package/dist/utils/string.d.ts +13 -0
  131. package/dist/utils/string.d.ts.map +1 -1
  132. package/package.json +49 -23
  133. package/strict.d.ts +13 -0
  134. package/dist/core/api.js +0 -3
  135. package/dist/core/api.js.map +0 -1
  136. package/dist/core/commands/index.js +0 -3
  137. package/dist/core/commands/index.js.map +0 -1
  138. package/dist/core/config/admin.js +0 -3
  139. package/dist/core/config/admin.js.map +0 -1
  140. package/dist/core/config/api.js +0 -3
  141. package/dist/core/config/api.js.map +0 -1
  142. package/dist/core/config/database.js +0 -3
  143. package/dist/core/config/database.js.map +0 -1
  144. package/dist/core/config/features.js +0 -3
  145. package/dist/core/config/features.js.map +0 -1
  146. package/dist/core/config/index.js +0 -3
  147. package/dist/core/config/index.js.map +0 -1
  148. package/dist/core/config/middlewares.js +0 -3
  149. package/dist/core/config/middlewares.js.map +0 -1
  150. package/dist/core/config/openapi.js +0 -3
  151. package/dist/core/config/openapi.js.map +0 -1
  152. package/dist/core/config/plugin.js +0 -3
  153. package/dist/core/config/plugin.js.map +0 -1
  154. package/dist/core/config/server.js +0 -3
  155. package/dist/core/config/server.js.map +0 -1
  156. package/dist/core/config/shared.js +0 -3
  157. package/dist/core/config/shared.js.map +0 -1
  158. package/dist/core/config/typescript.js +0 -3
  159. package/dist/core/config/typescript.js.map +0 -1
  160. package/dist/core/container.js +0 -3
  161. package/dist/core/container.js.map +0 -1
  162. package/dist/core/controller.js +0 -4
  163. package/dist/core/controller.js.map +0 -1
  164. package/dist/core/core-api/controller.js +0 -3
  165. package/dist/core/core-api/controller.js.map +0 -1
  166. package/dist/core/core-api/index.js +0 -40
  167. package/dist/core/core-api/index.js.map +0 -1
  168. package/dist/core/core-api/router.js +0 -3
  169. package/dist/core/core-api/router.js.map +0 -1
  170. package/dist/core/core-api/service.js +0 -3
  171. package/dist/core/core-api/service.js.map +0 -1
  172. package/dist/core/index.js +0 -54
  173. package/dist/core/index.js.map +0 -1
  174. package/dist/core/middleware.js +0 -3
  175. package/dist/core/middleware.js.map +0 -1
  176. package/dist/core/module.js +0 -3
  177. package/dist/core/module.js.map +0 -1
  178. package/dist/core/plugin.js +0 -3
  179. package/dist/core/plugin.js.map +0 -1
  180. package/dist/core/policy.js +0 -3
  181. package/dist/core/policy.js.map +0 -1
  182. package/dist/core/route.js +0 -3
  183. package/dist/core/route.js.map +0 -1
  184. package/dist/core/router.js +0 -3
  185. package/dist/core/router.js.map +0 -1
  186. package/dist/core/service.js +0 -3
  187. package/dist/core/service.js.map +0 -1
  188. package/dist/core/strapi.js +0 -3
  189. package/dist/core/strapi.js.map +0 -1
  190. package/dist/data/component.js +0 -3
  191. package/dist/data/component.js.map +0 -1
  192. package/dist/data/constants.js +0 -3
  193. package/dist/data/constants.js.map +0 -1
  194. package/dist/data/content-type.js +0 -3
  195. package/dist/data/content-type.js.map +0 -1
  196. package/dist/data/entity.js +0 -3
  197. package/dist/data/entity.js.map +0 -1
  198. package/dist/data/index.js +0 -3
  199. package/dist/data/index.js.map +0 -1
  200. package/dist/internal/index.js +0 -3
  201. package/dist/internal/index.js.map +0 -1
  202. package/dist/internal/namespace.js +0 -3
  203. package/dist/internal/namespace.js.map +0 -1
  204. package/dist/internal/registry.js +0 -3
  205. package/dist/internal/registry.js.map +0 -1
  206. package/dist/internal/uid.js +0 -3
  207. package/dist/internal/uid.js.map +0 -1
  208. package/dist/modules/ai.js +0 -3
  209. package/dist/modules/ai.js.map +0 -1
  210. package/dist/modules/auth.js +0 -3
  211. package/dist/modules/auth.js.map +0 -1
  212. package/dist/modules/content-api.js +0 -3
  213. package/dist/modules/content-api.js.map +0 -1
  214. package/dist/modules/core-store.js +0 -3
  215. package/dist/modules/core-store.js.map +0 -1
  216. package/dist/modules/cron.js +0 -3
  217. package/dist/modules/cron.js.map +0 -1
  218. package/dist/modules/custom-fields.js +0 -3
  219. package/dist/modules/custom-fields.js.map +0 -1
  220. package/dist/modules/documents/component-extension.js +0 -3
  221. package/dist/modules/documents/component-extension.js.map +0 -1
  222. package/dist/modules/documents/document-engine.d.ts +0 -1
  223. package/dist/modules/documents/document-engine.d.ts.map +0 -1
  224. package/dist/modules/documents/document-engine.js +0 -2
  225. package/dist/modules/documents/document-engine.js.map +0 -1
  226. package/dist/modules/documents/draft-and-publish.js +0 -3
  227. package/dist/modules/documents/draft-and-publish.js.map +0 -1
  228. package/dist/modules/documents/index.js +0 -45
  229. package/dist/modules/documents/index.js.map +0 -1
  230. package/dist/modules/documents/middleware.js +0 -3
  231. package/dist/modules/documents/middleware.js.map +0 -1
  232. package/dist/modules/documents/params/attributes/id.js +0 -3
  233. package/dist/modules/documents/params/attributes/id.js.map +0 -1
  234. package/dist/modules/documents/params/attributes/index.js +0 -3
  235. package/dist/modules/documents/params/attributes/index.js.map +0 -1
  236. package/dist/modules/documents/params/attributes/relations.js +0 -3
  237. package/dist/modules/documents/params/attributes/relations.js.map +0 -1
  238. package/dist/modules/documents/params/data.js +0 -3
  239. package/dist/modules/documents/params/data.js.map +0 -1
  240. package/dist/modules/documents/params/document-engine.js +0 -3
  241. package/dist/modules/documents/params/document-engine.js.map +0 -1
  242. package/dist/modules/documents/params/fields.js +0 -3
  243. package/dist/modules/documents/params/fields.js.map +0 -1
  244. package/dist/modules/documents/params/filters/index.js +0 -3
  245. package/dist/modules/documents/params/filters/index.js.map +0 -1
  246. package/dist/modules/documents/params/filters/operators.js +0 -3
  247. package/dist/modules/documents/params/filters/operators.js.map +0 -1
  248. package/dist/modules/documents/params/index.js +0 -3
  249. package/dist/modules/documents/params/index.js.map +0 -1
  250. package/dist/modules/documents/params/locale.js +0 -3
  251. package/dist/modules/documents/params/locale.js.map +0 -1
  252. package/dist/modules/documents/params/pagination.js +0 -3
  253. package/dist/modules/documents/params/pagination.js.map +0 -1
  254. package/dist/modules/documents/params/populate.js +0 -3
  255. package/dist/modules/documents/params/populate.js.map +0 -1
  256. package/dist/modules/documents/params/search.js +0 -3
  257. package/dist/modules/documents/params/search.js.map +0 -1
  258. package/dist/modules/documents/params/sort.js +0 -3
  259. package/dist/modules/documents/params/sort.js.map +0 -1
  260. package/dist/modules/documents/params/status.js +0 -3
  261. package/dist/modules/documents/params/status.js.map +0 -1
  262. package/dist/modules/documents/plugin.js +0 -3
  263. package/dist/modules/documents/plugin.js.map +0 -1
  264. package/dist/modules/documents/result/document-engine.js +0 -3
  265. package/dist/modules/documents/result/document-engine.js.map +0 -1
  266. package/dist/modules/documents/result/index.js +0 -3
  267. package/dist/modules/documents/result/index.js.map +0 -1
  268. package/dist/modules/documents/service-instance.js +0 -3
  269. package/dist/modules/documents/service-instance.js.map +0 -1
  270. package/dist/modules/entity-service/index.js +0 -43
  271. package/dist/modules/entity-service/index.js.map +0 -1
  272. package/dist/modules/entity-service/params/attributes/id.js +0 -3
  273. package/dist/modules/entity-service/params/attributes/id.js.map +0 -1
  274. package/dist/modules/entity-service/params/attributes/index.js +0 -21
  275. package/dist/modules/entity-service/params/attributes/index.js.map +0 -1
  276. package/dist/modules/entity-service/params/attributes/literals.js +0 -3
  277. package/dist/modules/entity-service/params/attributes/literals.js.map +0 -1
  278. package/dist/modules/entity-service/params/attributes/relation.js +0 -3
  279. package/dist/modules/entity-service/params/attributes/relation.js.map +0 -1
  280. package/dist/modules/entity-service/params/attributes/utils.js +0 -3
  281. package/dist/modules/entity-service/params/attributes/utils.js.map +0 -1
  282. package/dist/modules/entity-service/params/data.js +0 -3
  283. package/dist/modules/entity-service/params/data.js.map +0 -1
  284. package/dist/modules/entity-service/params/fields.js +0 -3
  285. package/dist/modules/entity-service/params/fields.js.map +0 -1
  286. package/dist/modules/entity-service/params/filters/index.js +0 -3
  287. package/dist/modules/entity-service/params/filters/index.js.map +0 -1
  288. package/dist/modules/entity-service/params/filters/operators.js +0 -3
  289. package/dist/modules/entity-service/params/filters/operators.js.map +0 -1
  290. package/dist/modules/entity-service/params/index.js +0 -3
  291. package/dist/modules/entity-service/params/index.js.map +0 -1
  292. package/dist/modules/entity-service/params/pagination.js +0 -3
  293. package/dist/modules/entity-service/params/pagination.js.map +0 -1
  294. package/dist/modules/entity-service/params/populate.js +0 -3
  295. package/dist/modules/entity-service/params/populate.js.map +0 -1
  296. package/dist/modules/entity-service/params/search.js +0 -3
  297. package/dist/modules/entity-service/params/search.js.map +0 -1
  298. package/dist/modules/entity-service/params/sort.js +0 -3
  299. package/dist/modules/entity-service/params/sort.js.map +0 -1
  300. package/dist/modules/entity-service/plugin.js +0 -3
  301. package/dist/modules/entity-service/plugin.js.map +0 -1
  302. package/dist/modules/entity-service/result.js +0 -3
  303. package/dist/modules/entity-service/result.js.map +0 -1
  304. package/dist/modules/entity-validator.js +0 -3
  305. package/dist/modules/entity-validator.js.map +0 -1
  306. package/dist/modules/event-hub.js +0 -3
  307. package/dist/modules/event-hub.js.map +0 -1
  308. package/dist/modules/features.js +0 -3
  309. package/dist/modules/features.js.map +0 -1
  310. package/dist/modules/fetch.js +0 -3
  311. package/dist/modules/fetch.js.map +0 -1
  312. package/dist/modules/index.js +0 -3
  313. package/dist/modules/index.js.map +0 -1
  314. package/dist/modules/mcp.js +0 -3
  315. package/dist/modules/mcp.js.map +0 -1
  316. package/dist/modules/metrics.js +0 -3
  317. package/dist/modules/metrics.js.map +0 -1
  318. package/dist/modules/permissions.js +0 -3
  319. package/dist/modules/permissions.js.map +0 -1
  320. package/dist/modules/request-context.js +0 -3
  321. package/dist/modules/request-context.js.map +0 -1
  322. package/dist/modules/sanitizers.js +0 -3
  323. package/dist/modules/sanitizers.js.map +0 -1
  324. package/dist/modules/server.js +0 -3
  325. package/dist/modules/server.js.map +0 -1
  326. package/dist/modules/session-manager.js +0 -3
  327. package/dist/modules/session-manager.js.map +0 -1
  328. package/dist/modules/validators.js +0 -3
  329. package/dist/modules/validators.js.map +0 -1
  330. package/dist/modules/webhook-runner.js +0 -3
  331. package/dist/modules/webhook-runner.js.map +0 -1
  332. package/dist/modules/webhook-store.js +0 -3
  333. package/dist/modules/webhook-store.js.map +0 -1
  334. package/dist/plugin/config/index.js +0 -3
  335. package/dist/plugin/config/index.js.map +0 -1
  336. package/dist/plugin/config/strapi-admin/index.js +0 -3
  337. package/dist/plugin/config/strapi-admin/index.js.map +0 -1
  338. package/dist/plugin/config/strapi-server/config.js +0 -3
  339. package/dist/plugin/config/strapi-server/config.js.map +0 -1
  340. package/dist/plugin/config/strapi-server/content-types.js +0 -3
  341. package/dist/plugin/config/strapi-server/content-types.js.map +0 -1
  342. package/dist/plugin/config/strapi-server/controllers.js +0 -3
  343. package/dist/plugin/config/strapi-server/controllers.js.map +0 -1
  344. package/dist/plugin/config/strapi-server/index.js +0 -3
  345. package/dist/plugin/config/strapi-server/index.js.map +0 -1
  346. package/dist/plugin/config/strapi-server/lifecycle.js +0 -3
  347. package/dist/plugin/config/strapi-server/lifecycle.js.map +0 -1
  348. package/dist/plugin/config/strapi-server/routes.js +0 -3
  349. package/dist/plugin/config/strapi-server/routes.js.map +0 -1
  350. package/dist/plugin/index.js +0 -38
  351. package/dist/plugin/index.js.map +0 -1
  352. package/dist/public/index.js +0 -22
  353. package/dist/public/index.js.map +0 -1
  354. package/dist/public/registries.js +0 -3
  355. package/dist/public/registries.js.map +0 -1
  356. package/dist/public/shared.js +0 -4
  357. package/dist/public/shared.js.map +0 -1
  358. package/dist/schema/attribute/base.js +0 -3
  359. package/dist/schema/attribute/base.js.map +0 -1
  360. package/dist/schema/attribute/common.js +0 -3
  361. package/dist/schema/attribute/common.js.map +0 -1
  362. package/dist/schema/attribute/constants.js +0 -3
  363. package/dist/schema/attribute/constants.js.map +0 -1
  364. package/dist/schema/attribute/definitions/biginteger.js +0 -3
  365. package/dist/schema/attribute/definitions/biginteger.js.map +0 -1
  366. package/dist/schema/attribute/definitions/blocks.js +0 -3
  367. package/dist/schema/attribute/definitions/blocks.js.map +0 -1
  368. package/dist/schema/attribute/definitions/boolean.js +0 -3
  369. package/dist/schema/attribute/definitions/boolean.js.map +0 -1
  370. package/dist/schema/attribute/definitions/component.js +0 -3
  371. package/dist/schema/attribute/definitions/component.js.map +0 -1
  372. package/dist/schema/attribute/definitions/date-time.js +0 -3
  373. package/dist/schema/attribute/definitions/date-time.js.map +0 -1
  374. package/dist/schema/attribute/definitions/date.js +0 -3
  375. package/dist/schema/attribute/definitions/date.js.map +0 -1
  376. package/dist/schema/attribute/definitions/decimal.js +0 -3
  377. package/dist/schema/attribute/definitions/decimal.js.map +0 -1
  378. package/dist/schema/attribute/definitions/dynamic-zone.js +0 -3
  379. package/dist/schema/attribute/definitions/dynamic-zone.js.map +0 -1
  380. package/dist/schema/attribute/definitions/email.js +0 -3
  381. package/dist/schema/attribute/definitions/email.js.map +0 -1
  382. package/dist/schema/attribute/definitions/enumeration.js +0 -3
  383. package/dist/schema/attribute/definitions/enumeration.js.map +0 -1
  384. package/dist/schema/attribute/definitions/float.js +0 -3
  385. package/dist/schema/attribute/definitions/float.js.map +0 -1
  386. package/dist/schema/attribute/definitions/index.js +0 -3
  387. package/dist/schema/attribute/definitions/index.js.map +0 -1
  388. package/dist/schema/attribute/definitions/integer.js +0 -3
  389. package/dist/schema/attribute/definitions/integer.js.map +0 -1
  390. package/dist/schema/attribute/definitions/json.js +0 -3
  391. package/dist/schema/attribute/definitions/json.js.map +0 -1
  392. package/dist/schema/attribute/definitions/media.js +0 -3
  393. package/dist/schema/attribute/definitions/media.js.map +0 -1
  394. package/dist/schema/attribute/definitions/password.js +0 -3
  395. package/dist/schema/attribute/definitions/password.js.map +0 -1
  396. package/dist/schema/attribute/definitions/relation.js +0 -3
  397. package/dist/schema/attribute/definitions/relation.js.map +0 -1
  398. package/dist/schema/attribute/definitions/richtext.js +0 -3
  399. package/dist/schema/attribute/definitions/richtext.js.map +0 -1
  400. package/dist/schema/attribute/definitions/string.js +0 -3
  401. package/dist/schema/attribute/definitions/string.js.map +0 -1
  402. package/dist/schema/attribute/definitions/text.js +0 -3
  403. package/dist/schema/attribute/definitions/text.js.map +0 -1
  404. package/dist/schema/attribute/definitions/time.js +0 -3
  405. package/dist/schema/attribute/definitions/time.js.map +0 -1
  406. package/dist/schema/attribute/definitions/timestamp.js +0 -3
  407. package/dist/schema/attribute/definitions/timestamp.js.map +0 -1
  408. package/dist/schema/attribute/definitions/uid.js +0 -3
  409. package/dist/schema/attribute/definitions/uid.js.map +0 -1
  410. package/dist/schema/attribute/index.js +0 -23
  411. package/dist/schema/attribute/index.js.map +0 -1
  412. package/dist/schema/attribute/options.js +0 -9
  413. package/dist/schema/attribute/options.js.map +0 -1
  414. package/dist/schema/attribute/utils.js +0 -3
  415. package/dist/schema/attribute/utils.js.map +0 -1
  416. package/dist/schema/index.js +0 -3
  417. package/dist/schema/index.js.map +0 -1
  418. package/dist/struct/index.js +0 -3
  419. package/dist/struct/index.js.map +0 -1
  420. package/dist/struct/schema-definition.js +0 -3
  421. package/dist/struct/schema-definition.js.map +0 -1
  422. package/dist/struct/schema.js +0 -3
  423. package/dist/struct/schema.js.map +0 -1
  424. package/dist/uid/index.js +0 -3
  425. package/dist/uid/index.js.map +0 -1
  426. package/dist/utils/array.js +0 -3
  427. package/dist/utils/array.js.map +0 -1
  428. package/dist/utils/constants.js +0 -3
  429. package/dist/utils/constants.js.map +0 -1
  430. package/dist/utils/expression.js +0 -3
  431. package/dist/utils/expression.js.map +0 -1
  432. package/dist/utils/function.js +0 -3
  433. package/dist/utils/function.js.map +0 -1
  434. package/dist/utils/guard.js +0 -3
  435. package/dist/utils/guard.js.map +0 -1
  436. package/dist/utils/index.js +0 -49
  437. package/dist/utils/index.js.map +0 -1
  438. package/dist/utils/json.js +0 -3
  439. package/dist/utils/json.js.map +0 -1
  440. package/dist/utils/object.js +0 -3
  441. package/dist/utils/object.js.map +0 -1
  442. package/dist/utils/string.js +0 -3
  443. package/dist/utils/string.js.map +0 -1
  444. package/dist/utils/tuple.js +0 -3
  445. package/dist/utils/tuple.js.map +0 -1
@@ -13,6 +13,7 @@ export interface AuthSessions {
13
13
  idleSessionLifespan?: number;
14
14
  }
15
15
  export interface AuthCookie {
16
+ name?: string;
16
17
  secure?: boolean;
17
18
  domain?: string;
18
19
  path?: string;
@@ -46,6 +47,8 @@ export interface Secrets {
46
47
  export interface AuditLogs {
47
48
  enabled?: boolean;
48
49
  retentionDays?: number;
50
+ exportMaxRows?: number;
51
+ exportPartRows?: number;
49
52
  }
50
53
  export interface History {
51
54
  retentionDays?: number;
@@ -54,6 +57,11 @@ export interface ForgotPassword {
54
57
  emailTemplate?: string;
55
58
  from?: string;
56
59
  replyTo?: string;
60
+ /**
61
+ * Lifetime of the reset-password token. Accepts a number of seconds or a
62
+ * shorthand string such as `'15m'` / `'1h'`. Defaults to `'1h'`.
63
+ */
64
+ expiresIn?: string | number;
57
65
  }
58
66
  export interface RateLimit {
59
67
  enabled?: boolean;
@@ -102,6 +110,10 @@ export interface Preview {
102
110
  export interface Ai {
103
111
  enabled?: boolean;
104
112
  }
113
+ /**
114
+ * Input of `config/admin.ts`. Resolved contract, with loader defaults: `ResolvedConfig.Admin` in
115
+ * `@strapi/core`.
116
+ */
105
117
  export interface Admin {
106
118
  apiToken: ApiToken;
107
119
  auth: Auth;
@@ -1 +1 @@
1
- {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../src/core/config/admin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../src/core/config/admin.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,17 @@ export interface DocumentsProp {
22
22
  * status, locale). When false or unset, unknown params are ignored.
23
23
  */
24
24
  strictParams?: boolean;
25
+ /**
26
+ * When true, the Document Service enforces relational field constraints (required media and
27
+ * required relations) on non-draft writes. When false or unset, these are not enforced (legacy
28
+ * behaviour). Deliberately broad: future relational enforcements may be added under this flag and
29
+ * treated as bug fixes.
30
+ */
31
+ strictRelations?: boolean;
25
32
  }
33
+ /**
34
+ * Input type of the `api` config, what applications write in `config/api.ts`. Resolved contract: `ResolvedConfig.Api` in `@strapi/core`.
35
+ */
26
36
  export interface Api {
27
37
  responses?: ResponsesProp;
28
38
  rest?: RestProp;
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/core/config/api.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,GAAG;IAClB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/core/config/api.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,GAAG;IAClB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B"}
@@ -1,6 +1,6 @@
1
- import type { If, StrictEqual } from '../../utils';
2
- export type ClientKind = 'mysql' | 'postgres' | 'sqlite';
3
- type IfClientIs<TClient extends ClientKind, TClientKind extends ClientKind, TOnTrue, TOnFalse> = If<StrictEqual<TClient, TClientKind>, TOnTrue, TOnFalse>;
1
+ export declare namespace Database {
2
+ type ClientKind = 'mysql' | 'postgres' | 'sqlite';
3
+ }
4
4
  type SSLConfig = {
5
5
  rejectUnauthorized?: boolean;
6
6
  key?: string;
@@ -20,7 +20,7 @@ type PoolConfig = {
20
20
  createRetryIntervalMillis?: number;
21
21
  afterCreate?: (conn: unknown, done: (err?: Error, conn?: unknown) => void) => void;
22
22
  };
23
- type Connection<TClient extends ClientKind> = {
23
+ type SharedConnection = {
24
24
  database: string;
25
25
  user: string;
26
26
  password: string;
@@ -29,32 +29,49 @@ type Connection<TClient extends ClientKind> = {
29
29
  ssl?: SSLConfig | boolean;
30
30
  connectionString?: string;
31
31
  timezone?: string;
32
- } & {
33
- [key: string]: unknown;
34
- } & IfClientIs<TClient, 'postgres', {
35
- schema?: string;
36
- }, unknown>;
37
- type SqliteConnection = {
38
- filename: string;
39
- } & {
32
+ };
33
+ type Connection<TClient extends Database.ClientKind> = {
34
+ mysql: SharedConnection;
35
+ postgres: SharedConnection & {
36
+ schema?: string;
37
+ };
38
+ sqlite: {
39
+ filename: string;
40
+ };
41
+ }[TClient] & {
40
42
  [key: string]: unknown;
41
43
  };
42
- export interface Database<TClient extends ClientKind = ClientKind> {
43
- connection: {
44
- client: TClient;
45
- connection: IfClientIs<TClient, 'sqlite', SqliteConnection, Connection<TClient>>;
46
- debug?: boolean;
47
- pool?: PoolConfig;
48
- acquireConnectionTimeout?: number;
49
- } & {
50
- [key: string]: unknown;
51
- } & IfClientIs<TClient, 'sqlite', {
44
+ type SharedDatabaseConnection<TClient extends Database.ClientKind> = {
45
+ client: TClient;
46
+ connection: Connection<TClient> | (() => Promise<Connection<TClient>>) | (() => Connection<TClient>);
47
+ debug?: boolean;
48
+ pool?: PoolConfig;
49
+ acquireConnectionTimeout?: number;
50
+ };
51
+ type DatabaseConnection<TClient extends Database.ClientKind> = {
52
+ mysql: SharedDatabaseConnection<'mysql'>;
53
+ postgres: SharedDatabaseConnection<'postgres'>;
54
+ sqlite: SharedDatabaseConnection<'sqlite'> & {
52
55
  useNullAsDefault?: boolean;
53
- }, unknown>;
56
+ };
57
+ }[TClient] & {
58
+ [key: string]: unknown;
59
+ };
60
+ /**
61
+ * Input type, what applications write in `config/database.ts`.
62
+ * Resolved contract, what `strapi.config.get('database')` returns: `ResolvedConfig.Database` in `@strapi/core`.
63
+ */
64
+ export interface Database<TClient extends Database.ClientKind = Database.ClientKind> {
65
+ connection: DatabaseConnection<TClient>;
54
66
  settings?: {
55
67
  forceMigration?: boolean;
56
68
  runMigrations?: boolean;
57
69
  useTypescriptMigrations?: boolean;
70
+ /**
71
+ * Describe the pool on connection pool timeouts. Defaults to true. Must be a boolean (for
72
+ * example `env.bool('DATABASE_POOL_TIMEOUT_DIAGNOSTICS', true)`): a string is not read as false.
73
+ */
74
+ poolTimeoutDiagnostics?: boolean;
58
75
  };
59
76
  }
60
77
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../src/core/config/database.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEzD,KAAK,UAAU,CAAC,OAAO,SAAS,UAAU,EAAE,WAAW,SAAS,UAAU,EAAE,OAAO,EAAE,QAAQ,IAAI,EAAE,CACjG,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,EACjC,OAAO,EACP,QAAQ,CACT,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAEnC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;CACpF,CAAC;AAEF,KAAK,UAAU,CAAC,OAAO,SAAS,UAAU,IAAI;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAAG,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,CAAC,CAAC;AAE/F,KAAK,gBAAgB,GAAG;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AAE/B,MAAM,WAAW,QAAQ,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU;IAC/D,UAAU,EAAE;QACV,MAAM,EAAE,OAAO,CAAC;QAChB,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QACjF,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,IAAI,CAAC,EAAE,UAAU,CAAC;QAClB,wBAAwB,CAAC,EAAE,MAAM,CAAC;KACnC,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,UAAU,CACvC,OAAO,EACP,QAAQ,EACR;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,EAC9B,OAAO,CACR,CAAC;IACJ,QAAQ,CAAC,EAAE;QACT,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,uBAAuB,CAAC,EAAE,OAAO,CAAC;KACnC,CAAC;CACH"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../src/core/config/database.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,26 @@
1
1
  /**
2
2
  * Feature flags for enabling experimental or upcoming breaking changes.
3
3
  *
4
- * @see docs/docs/docs/06-future-flags.md
4
+ * @see docs/docs/architecture/10-future-flags.md
5
5
  */
6
6
  export interface FeaturesFutureFlags {
7
- unstableMediaLibrary?: boolean;
8
7
  experimental_firstPublishedAt?: boolean;
8
+ unstableNextDesignSystem?: boolean;
9
9
  [futureFlagName: string]: boolean | undefined;
10
10
  }
11
+ /**
12
+ * Input of `config/features.ts`. Resolved contract: `ResolvedConfig.Features` in `@strapi/core`.
13
+ */
11
14
  export interface Features {
12
15
  future?: FeaturesFutureFlags;
16
+ /**
17
+ * Restores the previous Media Library.
18
+ *
19
+ * Flat rather than under `future`, which means "unstable, may be removed": this flag
20
+ * is a supported opt-out that outlives the feature's release. It reads as an opt-out
21
+ * because the new Media Library is the default from 5.53 — see the removal version in
22
+ * the Media Library documentation.
23
+ */
24
+ useLegacyMediaLibrary?: boolean;
13
25
  }
14
26
  //# sourceMappingURL=features.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../../src/core/config/features.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CAC/C;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC9B"}
1
+ {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../../src/core/config/features.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B;;;;;;;OAOG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC"}
@@ -1,3 +1,11 @@
1
1
  import type { MiddlewareConfig, MiddlewareHandler, MiddlewareName } from '..';
2
- export type Middlewares = Array<MiddlewareName | MiddlewareConfig | MiddlewareHandler>;
2
+ import type { IsStrict } from '../strictness';
3
+ /**
4
+ * Input type of `config/middlewares.ts`. Resolved contract: `ResolvedConfig.Middlewares` in `@strapi/core`.
5
+ *
6
+ * With strict types, handler functions are rejected: the runtime validation of the global
7
+ * middlewares only accepts names and `{ name | resolve, config }` objects, and Strapi fails to start
8
+ * otherwise. Without strict types, the type is develop's.
9
+ */
10
+ export type Middlewares = Array<MiddlewareName | MiddlewareConfig | (IsStrict extends false ? MiddlewareHandler : never)>;
3
11
  //# sourceMappingURL=middlewares.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../../src/core/config/middlewares.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAE9E,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,GAAG,gBAAgB,GAAG,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../../src/core/config/middlewares.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,KAAK,CAC7B,cAAc,GAAG,gBAAgB,GAAG,CAAC,QAAQ,SAAS,KAAK,GAAG,iBAAiB,GAAG,KAAK,CAAC,CACzF,CAAC"}
@@ -49,6 +49,8 @@ export interface Proxy {
49
49
  https?: string;
50
50
  fetch?: string;
51
51
  koa?: boolean;
52
+ ipHeader?: string;
53
+ maxIpsCount?: number;
52
54
  }
53
55
  export interface Webhooks {
54
56
  populateRelations?: boolean;
@@ -68,6 +70,9 @@ export interface McpConfig {
68
70
  /** Maximum time (ms) to wait for a single MCP request to complete. Defaults to 60 000. */
69
71
  requestTimeoutMs?: number;
70
72
  }
73
+ /**
74
+ * Input type of `config/server.ts`. Resolved contract: `ResolvedConfig.Server` in `@strapi/core`.
75
+ */
71
76
  export interface Server {
72
77
  host: string;
73
78
  port: number;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/core/config/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/core/config/server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/core/config/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,OAAO,GAAG,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,aAAa,GAAG,mBAAmB,IAAI,CAChE,MAAM,EAAE,YAAY,KACjB,aAAa,CAAC;AAEnB,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE1D,MAAM,MAAM,YAAY,CAAC,aAAa,GAAG,mBAAmB,IACxD,cAAc,CAAC,aAAa,CAAC,GAC7B,aAAa,CAAC"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/core/config/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,OAAO,GAAG,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,aAAa,GAAG,mBAAmB,IAAI,CAChE,MAAM,EAAE,YAAY,KACjB,aAAa,CAAC;AAEnB,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE1D,MAAM,MAAM,YAAY,CAAC,aAAa,GAAG,mBAAmB,IAC1D,cAAc,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC"}
@@ -1,3 +1,6 @@
1
+ /**
2
+ * Input type of `config/typescript.ts`. Resolved contract: `ResolvedConfig.TypeScript` in `@strapi/core`.
3
+ */
1
4
  export interface TypeScript {
2
5
  /**
3
6
  * When unset or `true`, Strapi generates TypeScript definitions during `strapi develop`
@@ -6,5 +9,13 @@ export interface TypeScript {
6
9
  * Set to `false` to disable autogeneration.
7
10
  */
8
11
  autogenerate?: boolean;
12
+ /**
13
+ * When `true`, `strapi develop` and `strapi ts:generate-types` also generate the application
14
+ * level contracts and the opt-in to the strict core contracts.
15
+ *
16
+ * Unset or `false` keeps the previous behaviour.
17
+ * Enabled by default in projects created with `create-strapi-app`.
18
+ */
19
+ strictTypes?: boolean;
9
20
  }
10
21
  //# sourceMappingURL=typescript.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../src/core/config/typescript.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB"}
1
+ {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../src/core/config/typescript.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB"}
@@ -1,5 +1,6 @@
1
1
  export interface Container {
2
2
  add<T, U extends string>(name: U, resolver: T): Container;
3
3
  get<T = any>(name: string, args?: unknown): T;
4
+ has(name: string): boolean;
4
5
  }
5
6
  //# sourceMappingURL=container.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/core/container.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC;IAC1D,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC;CAC/C"}
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/core/container.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC;IAC1D,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC;IAC9C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B"}
@@ -0,0 +1,24 @@
1
+ import type { z } from 'zod/v4';
2
+ /**
3
+ * Per-application store of named Zod schemas built for content-API validation.
4
+ *
5
+ * The ID map is the source of truth for lookup and iteration. OpenAPI conversion
6
+ * copies `entries()` into a conversion-local registry and must not receive a live
7
+ * Zod registry.
8
+ *
9
+ * @internal Owned by the Strapi instance that created the schemas. Not a plugin API.
10
+ */
11
+ export type ContentAPISchemaRegistry = {
12
+ set(id: string, schema: z.ZodType): void;
13
+ get(id: string): z.ZodType | undefined;
14
+ /**
15
+ * Returns the registered schema, or a lazy stand-in when construction of `id`
16
+ * is still in progress (cycle breaking).
17
+ */
18
+ getOrDefer(id: string): z.ZodType | undefined;
19
+ has(id: string): boolean;
20
+ startPending(id: string): void;
21
+ finishPending(id: string): void;
22
+ entries(): Iterable<[string, z.ZodType]>;
23
+ };
24
+ //# sourceMappingURL=content-api-schema-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-api-schema-registry.d.ts","sourceRoot":"","sources":["../../src/core/content-api-schema-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAEhC;;;;;;;;GAQG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;IACzC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC;IACvC;;;OAGG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC;IAC9C,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,OAAO,IAAI,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CAC1C,CAAC"}
@@ -1,7 +1,96 @@
1
1
  import 'koa-body';
2
2
  import type { Context, Next } from 'koa';
3
+ import type * as UID from '../uid';
4
+ import type * as InternalUID from '../internal/uid';
5
+ import type { SuggestedString } from '../utils/string';
6
+ import type { IsStrict, RegisteredRecord } from './strictness';
7
+ import type { Strapi } from './strapi';
3
8
  export type Controller = Record<string, ControllerHandler>;
9
+ /**
10
+ * Resolves application overrides before package defaults. With strict types enabled, an unregistered
11
+ * UID resolves to `unknown`, so callers pass a type argument; with strict types disabled, every UID
12
+ * resolves to the legacy controller.
13
+ */
14
+ export type ControllerFor<TUID extends string> = IsStrict extends false ? Controller : TUID extends keyof Strapi.Registries.AppControllers ? Strapi.Registries.AppControllers[TUID] : TUID extends keyof Strapi.Registries.PackageControllers ? Strapi.Registries.PackageControllers[TUID] : unknown;
15
+ /**
16
+ * Return type of `strapi.controller<T>(uid)`: `T` when the UID kept its wide default, which happens
17
+ * when the caller passes an explicit type argument (TypeScript then does not infer the UID) or a
18
+ * dynamic UID; the registered lookup otherwise.
19
+ */
20
+ export type ControllerLookup<TUID extends ControllerLookupUID, T> = UID.Controller extends TUID ? T : ControllerFor<TUID>;
21
+ /**
22
+ * Controller UIDs that have a registered contract. Registry keys outside the UID pattern, such as a UID
23
+ * without its namespace, are ignored, so looking them up fails.
24
+ */
25
+ export type RegisteredControllerUID = Extract<keyof Strapi.Registries.AppControllers | keyof Strapi.Registries.PackageControllers, InternalUID.Controller>;
26
+ /** A UID accepted by `strapi.controller(uid)`. Registered UIDs are listed for completion. */
27
+ export type ControllerLookupUID = SuggestedString<RegisteredControllerUID, UID.Controller>;
28
+ /**
29
+ * Controllers keyed by UID, e.g. `strapi.controllers`. With strict types enabled, registered UIDs
30
+ * resolve to their contracts. Other keys, literal or dynamic, resolve to the legacy controller: an
31
+ * index signature cannot close literal keys while keeping dynamic keys open, unlike `strapi.controller(uid)`.
32
+ */
33
+ export type ControllerMap = IsStrict extends false ? Record<string, Controller> : RegisteredRecord<{
34
+ [TUID in RegisteredControllerUID]: ControllerFor<TUID>;
35
+ }, Controller>;
36
+ /**
37
+ * A UID accepted by {@link ControllerFactory}. With strict types enabled, only registered UIDs: a
38
+ * factory checked against a UID without a contract would accept any controller. An application
39
+ * controller registered with the type its module provides (`Strapi.Registries.InferredControllers`)
40
+ * is rejected too (TS2344): that type is read from the factory being checked.
41
+ */
42
+ export type ControllerFactoryUID = IsStrict extends false ? UID.Controller : Exclude<RegisteredControllerUID, keyof Strapi.Registries.InferredControllers>;
43
+ /**
44
+ * A controller factory, checked against the contract registered for `TUID`. The controllers
45
+ * registry calls a function controller once with `{ strapi }` and caches its result as the
46
+ * controller (`packages/core/core/src/registries/controllers.ts:26-37`), which
47
+ * `strapi.controller(uid)` returns.
48
+ *
49
+ * With strict types disabled, the factory may return any object. Develop has no public type for a
50
+ * controller factory, and `Controller` rejects what `createCoreController` returns: its index
51
+ * signature is missing from the returned type (TS1360).
52
+ *
53
+ * Type generation registers an application controller with the `ControllerContract` type its module
54
+ * exports (`types/generated/controllers.ts`), so the factory of that module can be checked against
55
+ * its own UID. Without that export, type generation lists the UID in
56
+ * `Strapi.Registries.InferredControllers`, so it is not a {@link ControllerFactoryUID} (TS2344), as
57
+ * for services (see `ServiceFactory`).
58
+ *
59
+ * @example
60
+ * ```ts
61
+ * // src/api/article/controllers/article.ts
62
+ * export type ControllerContract = Core.CoreAPI.Controller.ContentType<'api::article.article'> & {
63
+ * titles: Core.ControllerHandler<string[]>;
64
+ * };
65
+ *
66
+ * export default factories.createCoreController('api::article.article', ({ strapi }) => ({
67
+ * async titles() {
68
+ * return strapi.service('api::article.article').findPublishedTitles();
69
+ * },
70
+ * })) satisfies Core.ControllerFactory<'api::article.article'>;
71
+ *
72
+ * // A plugin controller, whose contract the plugin registers in `PackageControllers`
73
+ * export default (({ strapi }) => ({
74
+ * async list(ctx) {
75
+ * ctx.body = await strapi.plugin('my-plugin').service('items').findAll();
76
+ * },
77
+ * })) satisfies Core.ControllerFactory<'plugin::my-plugin.items'>;
78
+ * ```
79
+ */
80
+ export type ControllerFactory<TUID extends ControllerFactoryUID> = (params: {
81
+ strapi: Strapi;
82
+ }) => IsStrict extends false ? object : TUID extends keyof Strapi.Registries.InferredControllers ? unknown : ControllerFor<TUID>;
4
83
  export interface ControllerHandler<TResponse = unknown> {
5
84
  (context: Context, next: Next): Promise<TResponse | void> | TResponse | void;
6
85
  }
86
+ /** The controller a controller map entry provides: the entry itself, or what a controller factory returns. */
87
+ type ControllerInstance<TEntry> = TEntry extends (...args: any[]) => infer TController ? TController : TEntry;
88
+ /**
89
+ * `'<controller>.<action>'` for every action of a controller map, such as a plugin's `controllers` export.
90
+ * With `TNamespace` (e.g. `'plugin::my-plugin'`), `'<namespace>.<controller>.<action>'` is accepted too.
91
+ */
92
+ export type ControllerActionReference<TControllers, TNamespace extends string = never> = {
93
+ [TName in keyof TControllers & string]: `${TName}.${keyof ControllerInstance<TControllers[TName]> & string}`;
94
+ }[keyof TControllers & string] extends infer TRelative extends string ? TRelative | `${TNamespace}.${TRelative}` : never;
95
+ export {};
7
96
  //# sourceMappingURL=controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/core/controller.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEzC,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAC3D,MAAM,WAAW,iBAAiB,CAAC,SAAS,GAAG,OAAO;IACpD,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;CAC9E"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/core/controller.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  import type * as UID from '../../uid';
2
2
  import type * as Utils from '../../utils';
3
3
  import type { Documents } from '../../modules';
4
+ import type { IsStrict } from '../strictness';
5
+ import type { Pick as ParamsPick } from '../../modules/documents/params';
6
+ import type { StrictResult } from '../../modules/documents/result';
7
+ import type { CreateInput } from '../../modules/documents/params/write';
4
8
  type Document = Documents.AnyDocument;
5
9
  type PaginatedEntities = {
6
10
  results: Document[] | null;
@@ -16,7 +20,68 @@ type PaginatedEntities = {
16
20
  pageSize?: undefined;
17
21
  };
18
22
  };
23
+ /**
24
+ * The result of a collection type's `find`, with strict types. `results` is never `null`: the core
25
+ * service resolves the Document Service's `findMany`, an array. `pagination` keeps the notation of
26
+ * the request (`page`/`pageSize` unless `start` or `limit` is passed) and always holds its numbers,
27
+ * defaults included. `total`, and `pageCount` for the page notation, are present when the service
28
+ * counts the entries: unless `pagination.withCount` is false, or `api.rest.withCount` is false and
29
+ * the request does not set it.
30
+ */
31
+ type StrictPaginatedEntities = {
32
+ results: Document[];
33
+ pagination: ({
34
+ page: number;
35
+ pageSize: number;
36
+ start?: undefined;
37
+ limit?: undefined;
38
+ } & ({
39
+ pageCount: number;
40
+ total: number;
41
+ } | {
42
+ pageCount?: undefined;
43
+ total?: undefined;
44
+ })) | ({
45
+ start: number;
46
+ limit: number;
47
+ page?: undefined;
48
+ pageSize?: undefined;
49
+ } & ({
50
+ total: number;
51
+ } | {
52
+ total?: undefined;
53
+ }));
54
+ };
55
+ /** The result of a collection type's `find`: develop's type without strict types. */
56
+ type FindResult = IsStrict extends false ? PaginatedEntities : StrictPaginatedEntities;
57
+ /**
58
+ * The params of a core service read, as far as its result depends on them: `fields`, `populate` and
59
+ * `status`. Other params, such as `filters` or `pagination`, are accepted as they are.
60
+ */
61
+ type ReadParams<TContentTypeUID extends UID.ContentType> = ParamsPick<TContentTypeUID, 'fields' | 'populate' | 'status'>;
62
+ /**
63
+ * An entry the core service returns, with strict types. The core service calls the Document Service
64
+ * with `{ status: 'published', ...params }`, so it reads published entries unless the params pass a
65
+ * `status`. An explicit `status: undefined` overrides the default, and the Document Service then
66
+ * reads drafts.
67
+ *
68
+ * @see {@link StrictResult} for what the entry guarantees.
69
+ */
70
+ export type Entry<TContentTypeUID extends UID.ContentType, TParams> = StrictResult<TContentTypeUID, TParams, 'published', 'draft'>;
19
71
  type Data = Record<string, unknown>;
72
+ /**
73
+ * The params of a core service `create`, with strict types. The core service calls the Document
74
+ * Service with `{ status: 'published', ...params }` (`core-api/service/core-service.ts:2-7` in
75
+ * `@strapi/core`), so `data` follows the published write rules ({@link CreateInput}) unless the
76
+ * params pass `status: 'draft'`.
77
+ */
78
+ type CreateParams<TContentTypeUID extends UID.ContentType> = ReadParams<TContentTypeUID> & ({
79
+ status?: 'published';
80
+ data: CreateInput<TContentTypeUID, 'published'>;
81
+ } | {
82
+ status: 'draft';
83
+ data: CreateInput<TContentTypeUID, 'draft'>;
84
+ });
20
85
  /**
21
86
  * Base Core-API service type
22
87
  */
@@ -33,7 +98,7 @@ export type Generic = {
33
98
  * Core-API collection type service
34
99
  */
35
100
  export interface CollectionType extends Base {
36
- find(params: object): Promise<PaginatedEntities>;
101
+ find(params: object): Promise<FindResult>;
37
102
  findOne(docId: Documents.ID, params: object): Promise<Document | null>;
38
103
  create(params: {
39
104
  data: Data;
@@ -60,10 +125,67 @@ export interface SingleType extends Base {
60
125
  deletedEntries: number;
61
126
  }>;
62
127
  }
63
- export type ContentType<TContentTypeUID extends UID.ContentType> = Utils.MatchFirst<[
128
+ /**
129
+ * A core collection type service of `TContentTypeUID`, with strict types: its entries follow the
130
+ * strict result model, read as published by default (see {@link Entry}).
131
+ */
132
+ export interface StrictCollectionType<TContentTypeUID extends UID.ContentType> extends Base {
133
+ /**
134
+ * `results` holds the entries of the page; `pagination` keeps the notation of the request, with
135
+ * `total` (and `pageCount` for pages) when the service counts the entries.
136
+ */
137
+ find<const TParams extends ReadParams<TContentTypeUID>>(params: TParams): Promise<Omit<StrictPaginatedEntities, 'results'> & {
138
+ results: Entry<TContentTypeUID, TParams>[];
139
+ }>;
140
+ /** `null` when no entry of the document matches. */
141
+ findOne<const TParams extends ReadParams<TContentTypeUID>>(docId: Documents.ID, params: TParams): Promise<Entry<TContentTypeUID, TParams> | null>;
142
+ /**
143
+ * The created entry, published unless the params pass another `status`. `data` follows the write
144
+ * rules of that status (see {@link CreateParams}).
145
+ */
146
+ create<const TParams extends CreateParams<TContentTypeUID>>(params: TParams): Promise<Entry<TContentTypeUID, TParams>>;
147
+ /** `null` when the document does not exist. */
148
+ update<const TParams extends ReadParams<TContentTypeUID> & {
149
+ data: Data;
150
+ }>(docId: Documents.ID, params: TParams): Promise<Entry<TContentTypeUID, TParams> | null>;
151
+ delete(docId: Documents.ID, params: object): Promise<{
152
+ deletedEntries: number;
153
+ }>;
154
+ }
155
+ /**
156
+ * A core single type service of `TContentTypeUID`, with strict types: its entry follows the strict
157
+ * result model, read as published by default (see {@link Entry}).
158
+ */
159
+ export interface StrictSingleType<TContentTypeUID extends UID.ContentType> extends Base {
160
+ /** `null` when the single type has no entry. */
161
+ find<const TParams extends ReadParams<TContentTypeUID>>(params: TParams): Promise<Entry<TContentTypeUID, TParams> | null>;
162
+ /** Updates the entry, or creates it when there is none. */
163
+ createOrUpdate<const TParams extends ReadParams<TContentTypeUID> & {
164
+ data: Data;
165
+ }>(params: TParams): Promise<Entry<TContentTypeUID, TParams> | null>;
166
+ delete(params: object): Promise<{
167
+ deletedEntries: number;
168
+ }>;
169
+ }
170
+ /** The core service of `TContentTypeUID`, as typed without strict types. */
171
+ type LegacyContentType<TContentTypeUID extends UID.ContentType> = Utils.MatchFirst<[
64
172
  Utils.Test<UID.IsCollectionType<TContentTypeUID>, CollectionType>,
65
173
  Utils.Test<UID.IsSingleType<TContentTypeUID>, SingleType>
66
174
  ], Base>;
67
- export type Extendable<TContentTypeUID extends UID.ContentType> = Partial<ContentType<TContentTypeUID>> & Generic;
175
+ /**
176
+ * The core service of `TContentTypeUID`. Without strict types, develop's service types. With strict
177
+ * types, the services typed by the content type ({@link StrictCollectionType},
178
+ * {@link StrictSingleType}).
179
+ */
180
+ export type ContentType<TContentTypeUID extends UID.ContentType> = IsStrict extends false ? LegacyContentType<TContentTypeUID> : Utils.MatchFirst<[
181
+ Utils.Test<UID.IsCollectionType<TContentTypeUID>, StrictCollectionType<TContentTypeUID>>,
182
+ Utils.Test<UID.IsSingleType<TContentTypeUID>, StrictSingleType<TContentTypeUID>>
183
+ ], Base>;
184
+ /**
185
+ * The methods a core service definition may override. Overrides keep the service types of
186
+ * {@link LegacyContentType}, strict types or not: the factory copies a base method only where the
187
+ * definition has none, and the overrides' own types win at call sites.
188
+ */
189
+ export type Extendable<TContentTypeUID extends UID.ContentType> = Partial<LegacyContentType<TContentTypeUID>> & Generic;
68
190
  export {};
69
191
  //# sourceMappingURL=service.d.ts.map