@rakun-kit/core 1.4.10 → 1.5.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 (652) hide show
  1. package/README.md +1100 -732
  2. package/dist/cjs/api/context.js +1 -0
  3. package/dist/cjs/api/context.js.map +1 -1
  4. package/dist/cjs/api/operations/apiEventLog.js +128 -0
  5. package/dist/cjs/api/operations/apiEventLog.js.map +1 -0
  6. package/dist/cjs/api/operations/index.js +4 -1
  7. package/dist/cjs/api/operations/index.js.map +1 -1
  8. package/dist/cjs/api/operations/manager-contract.js +256 -2
  9. package/dist/cjs/api/operations/manager-contract.js.map +1 -1
  10. package/dist/cjs/api/operations/manager-manifest.js +160 -0
  11. package/dist/cjs/api/operations/manager-manifest.js.map +1 -1
  12. package/dist/cjs/api/operations/manager.js +128 -4
  13. package/dist/cjs/api/operations/manager.js.map +1 -1
  14. package/dist/cjs/api/operations/tracing.js +36 -5
  15. package/dist/cjs/api/operations/tracing.js.map +1 -1
  16. package/dist/cjs/api/routes/manager/auth/externalLogin.js +126 -0
  17. package/dist/cjs/api/routes/manager/auth/externalLogin.js.map +1 -0
  18. package/dist/cjs/api/routes/manager/auth/login.js +51 -54
  19. package/dist/cjs/api/routes/manager/auth/login.js.map +1 -1
  20. package/dist/cjs/api/routes/manager/auth/mfa/regenerateRecoveryCodes.js +46 -0
  21. package/dist/cjs/api/routes/manager/auth/mfa/regenerateRecoveryCodes.js.map +1 -0
  22. package/dist/cjs/api/routes/manager/auth/mfa/verifyRecoveryCode.js +80 -0
  23. package/dist/cjs/api/routes/manager/auth/mfa/verifyRecoveryCode.js.map +1 -0
  24. package/dist/cjs/api/routes/manager/auth/passwordIpBlocks.js +90 -0
  25. package/dist/cjs/api/routes/manager/auth/passwordIpBlocks.js.map +1 -0
  26. package/dist/cjs/api/routes/manager/auth/passwordRecovery.js +147 -0
  27. package/dist/cjs/api/routes/manager/auth/passwordRecovery.js.map +1 -0
  28. package/dist/cjs/api/routes/manager/auth/totp/confirmTotp.js +19 -2
  29. package/dist/cjs/api/routes/manager/auth/totp/confirmTotp.js.map +1 -1
  30. package/dist/cjs/api/routes/manager/auth/totp/enrollTotp.js +2 -2
  31. package/dist/cjs/api/routes/manager/auth/totp/enrollTotp.js.map +1 -1
  32. package/dist/cjs/api/routes/manager/auth/webauthn/webauthnRegisterVerify.js +32 -3
  33. package/dist/cjs/api/routes/manager/auth/webauthn/webauthnRegisterVerify.js.map +1 -1
  34. package/dist/cjs/api/routes/manager/comments.js +120 -8
  35. package/dist/cjs/api/routes/manager/comments.js.map +1 -1
  36. package/dist/cjs/api/routes/manager/contentVersions.js +224 -0
  37. package/dist/cjs/api/routes/manager/contentVersions.js.map +1 -0
  38. package/dist/cjs/api/routes/manager/delete.js +69 -5
  39. package/dist/cjs/api/routes/manager/delete.js.map +1 -1
  40. package/dist/cjs/api/routes/manager/list.js +91 -2
  41. package/dist/cjs/api/routes/manager/list.js.map +1 -1
  42. package/dist/cjs/api/routes/manager/localeVariants.js +234 -18
  43. package/dist/cjs/api/routes/manager/localeVariants.js.map +1 -1
  44. package/dist/cjs/api/routes/manager/logs/cleanup.js +20 -0
  45. package/dist/cjs/api/routes/manager/logs/cleanup.js.map +1 -0
  46. package/dist/cjs/api/routes/manager/logs/list.js +22 -0
  47. package/dist/cjs/api/routes/manager/logs/list.js.map +1 -0
  48. package/dist/cjs/api/routes/manager/notifications.js +140 -0
  49. package/dist/cjs/api/routes/manager/notifications.js.map +1 -0
  50. package/dist/cjs/api/routes/manager/previewSlugRedirects.js +25 -0
  51. package/dist/cjs/api/routes/manager/previewSlugRedirects.js.map +1 -0
  52. package/dist/cjs/api/routes/manager/reviewPolicies.js +109 -0
  53. package/dist/cjs/api/routes/manager/reviewPolicies.js.map +1 -0
  54. package/dist/cjs/api/routes/manager/reviews.js +272 -0
  55. package/dist/cjs/api/routes/manager/reviews.js.map +1 -0
  56. package/dist/cjs/api/routes/manager/routeLayout.js +138 -0
  57. package/dist/cjs/api/routes/manager/routeLayout.js.map +1 -0
  58. package/dist/cjs/api/routes/manager/translateDocument.js +15 -0
  59. package/dist/cjs/api/routes/manager/translateDocument.js.map +1 -1
  60. package/dist/cjs/api/routes/manager/trash.js +72 -39
  61. package/dist/cjs/api/routes/manager/trash.js.map +1 -1
  62. package/dist/cjs/api/routes/manager/uiLocales.js +30 -0
  63. package/dist/cjs/api/routes/manager/uiLocales.js.map +1 -0
  64. package/dist/cjs/api/routes/manager/update.js +87 -0
  65. package/dist/cjs/api/routes/manager/update.js.map +1 -1
  66. package/dist/cjs/api/routes/manager/versions/restore.js +20 -0
  67. package/dist/cjs/api/routes/manager/versions/restore.js.map +1 -1
  68. package/dist/cjs/api/utils/authEvents.js +31 -0
  69. package/dist/cjs/api/utils/authEvents.js.map +1 -0
  70. package/dist/cjs/api/utils/authRateLimit.js +4 -3
  71. package/dist/cjs/api/utils/authRateLimit.js.map +1 -1
  72. package/dist/cjs/api/utils/managerNotifications.js +27 -0
  73. package/dist/cjs/api/utils/managerNotifications.js.map +1 -0
  74. package/dist/cjs/api/utils/recoveryCodes.js +29 -0
  75. package/dist/cjs/api/utils/recoveryCodes.js.map +1 -0
  76. package/dist/cjs/api/utils/redirects/createSlugChangeRedirects.js +145 -0
  77. package/dist/cjs/api/utils/redirects/createSlugChangeRedirects.js.map +1 -0
  78. package/dist/cjs/api/utils/redirects/slugPathChanges.js +137 -0
  79. package/dist/cjs/api/utils/redirects/slugPathChanges.js.map +1 -0
  80. package/dist/cjs/api/utils/requireContentType.js +13 -0
  81. package/dist/cjs/api/utils/requireContentType.js.map +1 -1
  82. package/dist/cjs/api/utils/reviews.js +273 -0
  83. package/dist/cjs/api/utils/reviews.js.map +1 -0
  84. package/dist/cjs/api/utils/routes/routeMapHelpers.js +46 -22
  85. package/dist/cjs/api/utils/routes/routeMapHelpers.js.map +1 -1
  86. package/dist/cjs/api/utils/routes/updateRoutesMap.js +2 -1
  87. package/dist/cjs/api/utils/routes/updateRoutesMap.js.map +1 -1
  88. package/dist/cjs/api/utils/safeManagerQuery.js +1 -0
  89. package/dist/cjs/api/utils/safeManagerQuery.js.map +1 -1
  90. package/dist/cjs/auth/accountRecovery.js +5 -0
  91. package/dist/cjs/auth/accountRecovery.js.map +1 -0
  92. package/dist/cjs/auth/completePrimaryAuthentication.js +50 -0
  93. package/dist/cjs/auth/completePrimaryAuthentication.js.map +1 -0
  94. package/dist/cjs/auth/loginAdapters.js +183 -0
  95. package/dist/cjs/auth/loginAdapters.js.map +1 -0
  96. package/dist/cjs/auth/passwordFail2ban.js +119 -0
  97. package/dist/cjs/auth/passwordFail2ban.js.map +1 -0
  98. package/dist/cjs/auth/passwordResetMailTemplate.js +90 -0
  99. package/dist/cjs/auth/passwordResetMailTemplate.js.map +1 -0
  100. package/dist/cjs/bootstrapState.js.map +1 -1
  101. package/dist/cjs/client.js +5 -1
  102. package/dist/cjs/client.js.map +1 -1
  103. package/dist/cjs/contracts.js +12 -0
  104. package/dist/cjs/contracts.js.map +1 -1
  105. package/dist/cjs/eventLog/index.js +52 -0
  106. package/dist/cjs/eventLog/index.js.map +1 -0
  107. package/dist/cjs/eventLog/mongo.js +115 -0
  108. package/dist/cjs/eventLog/mongo.js.map +1 -0
  109. package/dist/cjs/eventLog/service.js +189 -0
  110. package/dist/cjs/eventLog/service.js.map +1 -0
  111. package/dist/cjs/eventLog/types.js +6 -0
  112. package/dist/cjs/eventLog/types.js.map +1 -0
  113. package/dist/cjs/index.js +62 -3
  114. package/dist/cjs/index.js.map +1 -1
  115. package/dist/cjs/internal-content-types/ContentCommentReadState.js +21 -0
  116. package/dist/cjs/internal-content-types/ContentCommentReadState.js.map +1 -0
  117. package/dist/cjs/internal-content-types/ContentReview.js +34 -0
  118. package/dist/cjs/internal-content-types/ContentReview.js.map +1 -0
  119. package/dist/cjs/internal-content-types/ContentReviewDecision.js +21 -0
  120. package/dist/cjs/internal-content-types/ContentReviewDecision.js.map +1 -0
  121. package/dist/cjs/internal-content-types/ContentReviewPolicy.js +21 -0
  122. package/dist/cjs/internal-content-types/ContentReviewPolicy.js.map +1 -0
  123. package/dist/cjs/internal-content-types/LoginIpBlock.js +20 -0
  124. package/dist/cjs/internal-content-types/LoginIpBlock.js.map +1 -0
  125. package/dist/cjs/internal-content-types/ManagerNotification.js +33 -0
  126. package/dist/cjs/internal-content-types/ManagerNotification.js.map +1 -0
  127. package/dist/cjs/internal-content-types/ManagerUserHooks.js +8 -1
  128. package/dist/cjs/internal-content-types/ManagerUserHooks.js.map +1 -1
  129. package/dist/cjs/internal-content-types/PasswordResetToken.js +50 -0
  130. package/dist/cjs/internal-content-types/PasswordResetToken.js.map +1 -0
  131. package/dist/cjs/internal-content-types/UserMfa.js +35 -1
  132. package/dist/cjs/internal-content-types/UserMfa.js.map +1 -1
  133. package/dist/cjs/internal-content-types/index.js +7 -0
  134. package/dist/cjs/internal-content-types/index.js.map +1 -1
  135. package/dist/cjs/lib/ContentType.js +2 -8
  136. package/dist/cjs/lib/ContentType.js.map +1 -1
  137. package/dist/cjs/lib/Permissions.js +13 -1
  138. package/dist/cjs/lib/Permissions.js.map +1 -1
  139. package/dist/cjs/lib/Registry.js +8 -3
  140. package/dist/cjs/lib/Registry.js.map +1 -1
  141. package/dist/cjs/lib/errors/AppError.js +7 -1
  142. package/dist/cjs/lib/errors/AppError.js.map +1 -1
  143. package/dist/cjs/lib/fields/Fields.js +2 -1
  144. package/dist/cjs/lib/fields/Fields.js.map +1 -1
  145. package/dist/cjs/lib/fields/Link.js +2 -1
  146. package/dist/cjs/lib/fields/Link.js.map +1 -1
  147. package/dist/cjs/lib/localeVariants.js +9 -1
  148. package/dist/cjs/lib/localeVariants.js.map +1 -1
  149. package/dist/cjs/literals/index.js +0 -1
  150. package/dist/cjs/literals/index.js.map +1 -1
  151. package/dist/cjs/mail/adapters.js +3 -0
  152. package/dist/cjs/mail/adapters.js.map +1 -0
  153. package/dist/cjs/mail/index.js +53 -0
  154. package/dist/cjs/mail/index.js.map +1 -0
  155. package/dist/cjs/mail/mailService.js +209 -0
  156. package/dist/cjs/mail/mailService.js.map +1 -0
  157. package/dist/cjs/mail/templates.js +32 -0
  158. package/dist/cjs/mail/templates.js.map +1 -0
  159. package/dist/cjs/orm/createIndexes.js +37 -0
  160. package/dist/cjs/orm/createIndexes.js.map +1 -1
  161. package/dist/cjs/orm/dbService.js +3 -3
  162. package/dist/cjs/orm/dbService.js.map +1 -1
  163. package/dist/cjs/orm/operations/update.js +28 -26
  164. package/dist/cjs/orm/operations/update.js.map +1 -1
  165. package/dist/cjs/plugins.js.map +1 -1
  166. package/dist/cjs/schemas/manager/auth/externalLogin.js +27 -0
  167. package/dist/cjs/schemas/manager/auth/externalLogin.js.map +1 -0
  168. package/dist/cjs/schemas/manager/auth/mfa/recoveryCode.js +27 -0
  169. package/dist/cjs/schemas/manager/auth/mfa/recoveryCode.js.map +1 -0
  170. package/dist/cjs/schemas/manager/auth/passwordIpBlocks.js +32 -0
  171. package/dist/cjs/schemas/manager/auth/passwordIpBlocks.js.map +1 -0
  172. package/dist/cjs/schemas/manager/auth/passwordRecovery.js +21 -0
  173. package/dist/cjs/schemas/manager/auth/passwordRecovery.js.map +1 -0
  174. package/dist/cjs/schemas/manager/auth/totp/confirmTotp.js +4 -7
  175. package/dist/cjs/schemas/manager/auth/totp/confirmTotp.js.map +1 -1
  176. package/dist/cjs/schemas/manager/comments.js +11 -1
  177. package/dist/cjs/schemas/manager/comments.js.map +1 -1
  178. package/dist/cjs/schemas/manager/contentVersions.js +51 -0
  179. package/dist/cjs/schemas/manager/contentVersions.js.map +1 -0
  180. package/dist/cjs/schemas/manager/eventLogs.js +54 -0
  181. package/dist/cjs/schemas/manager/eventLogs.js.map +1 -0
  182. package/dist/cjs/schemas/manager/list.js +1 -0
  183. package/dist/cjs/schemas/manager/list.js.map +1 -1
  184. package/dist/cjs/schemas/manager/localeVariants.js +10 -1
  185. package/dist/cjs/schemas/manager/localeVariants.js.map +1 -1
  186. package/dist/cjs/schemas/manager/notifications.js +51 -0
  187. package/dist/cjs/schemas/manager/notifications.js.map +1 -0
  188. package/dist/cjs/schemas/manager/reviewPolicies.js +33 -0
  189. package/dist/cjs/schemas/manager/reviewPolicies.js.map +1 -0
  190. package/dist/cjs/schemas/manager/reviews.js +93 -0
  191. package/dist/cjs/schemas/manager/reviews.js.map +1 -0
  192. package/dist/cjs/schemas/manager/routeLayout.js +50 -0
  193. package/dist/cjs/schemas/manager/routeLayout.js.map +1 -0
  194. package/dist/cjs/schemas/manager/slugRedirects.js +24 -0
  195. package/dist/cjs/schemas/manager/slugRedirects.js.map +1 -0
  196. package/dist/cjs/schemas/manager/uiLocales.js +29 -0
  197. package/dist/cjs/schemas/manager/uiLocales.js.map +1 -0
  198. package/dist/cjs/schemas/manager/update.js +1 -0
  199. package/dist/cjs/schemas/manager/update.js.map +1 -1
  200. package/dist/docs/index.md +238 -0
  201. package/dist/esm/api/context.d.ts +2 -0
  202. package/dist/esm/api/context.d.ts.map +1 -1
  203. package/dist/esm/api/context.js +1 -0
  204. package/dist/esm/api/context.js.map +1 -1
  205. package/dist/esm/api/operations/apiEventLog.d.ts +25 -0
  206. package/dist/esm/api/operations/apiEventLog.d.ts.map +1 -0
  207. package/dist/esm/api/operations/apiEventLog.js +121 -0
  208. package/dist/esm/api/operations/apiEventLog.js.map +1 -0
  209. package/dist/esm/api/operations/index.d.ts +737 -4
  210. package/dist/esm/api/operations/index.d.ts.map +1 -1
  211. package/dist/esm/api/operations/index.js +1 -0
  212. package/dist/esm/api/operations/index.js.map +1 -1
  213. package/dist/esm/api/operations/manager-contract.d.ts +731 -4
  214. package/dist/esm/api/operations/manager-contract.d.ts.map +1 -1
  215. package/dist/esm/api/operations/manager-contract.js +257 -3
  216. package/dist/esm/api/operations/manager-contract.js.map +1 -1
  217. package/dist/esm/api/operations/manager-manifest.d.ts +160 -0
  218. package/dist/esm/api/operations/manager-manifest.d.ts.map +1 -1
  219. package/dist/esm/api/operations/manager-manifest.js +160 -0
  220. package/dist/esm/api/operations/manager-manifest.js.map +1 -1
  221. package/dist/esm/api/operations/manager.d.ts +731 -4
  222. package/dist/esm/api/operations/manager.d.ts.map +1 -1
  223. package/dist/esm/api/operations/manager.js +126 -2
  224. package/dist/esm/api/operations/manager.js.map +1 -1
  225. package/dist/esm/api/operations/tracing.d.ts.map +1 -1
  226. package/dist/esm/api/operations/tracing.js +36 -5
  227. package/dist/esm/api/operations/tracing.js.map +1 -1
  228. package/dist/esm/api/operations/web-contract.d.ts +5 -0
  229. package/dist/esm/api/operations/web-contract.d.ts.map +1 -1
  230. package/dist/esm/api/operations/web.d.ts +5 -0
  231. package/dist/esm/api/operations/web.d.ts.map +1 -1
  232. package/dist/esm/api/routes/manager/auth/externalLogin.d.ts +11 -0
  233. package/dist/esm/api/routes/manager/auth/externalLogin.d.ts.map +1 -0
  234. package/dist/esm/api/routes/manager/auth/externalLogin.js +121 -0
  235. package/dist/esm/api/routes/manager/auth/externalLogin.js.map +1 -0
  236. package/dist/esm/api/routes/manager/auth/getSession.d.ts +2 -0
  237. package/dist/esm/api/routes/manager/auth/getSession.d.ts.map +1 -1
  238. package/dist/esm/api/routes/manager/auth/login.d.ts.map +1 -1
  239. package/dist/esm/api/routes/manager/auth/login.js +52 -55
  240. package/dist/esm/api/routes/manager/auth/login.js.map +1 -1
  241. package/dist/esm/api/routes/manager/auth/markTourSeen.d.ts +2 -0
  242. package/dist/esm/api/routes/manager/auth/markTourSeen.d.ts.map +1 -1
  243. package/dist/esm/api/routes/manager/auth/mfa/regenerateRecoveryCodes.d.ts +10 -0
  244. package/dist/esm/api/routes/manager/auth/mfa/regenerateRecoveryCodes.d.ts.map +1 -0
  245. package/dist/esm/api/routes/manager/auth/mfa/regenerateRecoveryCodes.js +42 -0
  246. package/dist/esm/api/routes/manager/auth/mfa/regenerateRecoveryCodes.js.map +1 -0
  247. package/dist/esm/api/routes/manager/auth/mfa/verifyRecoveryCode.d.ts +15 -0
  248. package/dist/esm/api/routes/manager/auth/mfa/verifyRecoveryCode.d.ts.map +1 -0
  249. package/dist/esm/api/routes/manager/auth/mfa/verifyRecoveryCode.js +76 -0
  250. package/dist/esm/api/routes/manager/auth/mfa/verifyRecoveryCode.js.map +1 -0
  251. package/dist/esm/api/routes/manager/auth/passwordIpBlocks.d.ts +10 -0
  252. package/dist/esm/api/routes/manager/auth/passwordIpBlocks.d.ts.map +1 -0
  253. package/dist/esm/api/routes/manager/auth/passwordIpBlocks.js +85 -0
  254. package/dist/esm/api/routes/manager/auth/passwordIpBlocks.js.map +1 -0
  255. package/dist/esm/api/routes/manager/auth/passwordRecovery.d.ts +15 -0
  256. package/dist/esm/api/routes/manager/auth/passwordRecovery.d.ts.map +1 -0
  257. package/dist/esm/api/routes/manager/auth/passwordRecovery.js +142 -0
  258. package/dist/esm/api/routes/manager/auth/passwordRecovery.js.map +1 -0
  259. package/dist/esm/api/routes/manager/auth/totp/confirmTotp.d.ts +2 -1
  260. package/dist/esm/api/routes/manager/auth/totp/confirmTotp.d.ts.map +1 -1
  261. package/dist/esm/api/routes/manager/auth/totp/confirmTotp.js +19 -2
  262. package/dist/esm/api/routes/manager/auth/totp/confirmTotp.js.map +1 -1
  263. package/dist/esm/api/routes/manager/auth/totp/enrollTotp.js +2 -2
  264. package/dist/esm/api/routes/manager/auth/totp/enrollTotp.js.map +1 -1
  265. package/dist/esm/api/routes/manager/auth/updateAccount.d.ts +2 -0
  266. package/dist/esm/api/routes/manager/auth/updateAccount.d.ts.map +1 -1
  267. package/dist/esm/api/routes/manager/auth/updateTutorialPreferences.d.ts +2 -0
  268. package/dist/esm/api/routes/manager/auth/updateTutorialPreferences.d.ts.map +1 -1
  269. package/dist/esm/api/routes/manager/auth/webauthn/webauthnRegisterVerify.d.ts +2 -1
  270. package/dist/esm/api/routes/manager/auth/webauthn/webauthnRegisterVerify.d.ts.map +1 -1
  271. package/dist/esm/api/routes/manager/auth/webauthn/webauthnRegisterVerify.js +32 -3
  272. package/dist/esm/api/routes/manager/auth/webauthn/webauthnRegisterVerify.js.map +1 -1
  273. package/dist/esm/api/routes/manager/comments.d.ts +9 -1
  274. package/dist/esm/api/routes/manager/comments.d.ts.map +1 -1
  275. package/dist/esm/api/routes/manager/comments.js +118 -8
  276. package/dist/esm/api/routes/manager/comments.js.map +1 -1
  277. package/dist/esm/api/routes/manager/contentType.d.ts +1 -1
  278. package/dist/esm/api/routes/manager/contentTypes.d.ts +1 -1
  279. package/dist/esm/api/routes/manager/contentVersions.d.ts +15 -0
  280. package/dist/esm/api/routes/manager/contentVersions.d.ts.map +1 -0
  281. package/dist/esm/api/routes/manager/contentVersions.js +218 -0
  282. package/dist/esm/api/routes/manager/contentVersions.js.map +1 -0
  283. package/dist/esm/api/routes/manager/create.d.ts +1 -0
  284. package/dist/esm/api/routes/manager/create.d.ts.map +1 -1
  285. package/dist/esm/api/routes/manager/delete.d.ts.map +1 -1
  286. package/dist/esm/api/routes/manager/delete.js +70 -6
  287. package/dist/esm/api/routes/manager/delete.js.map +1 -1
  288. package/dist/esm/api/routes/manager/duplicate.d.ts +1 -0
  289. package/dist/esm/api/routes/manager/duplicate.d.ts.map +1 -1
  290. package/dist/esm/api/routes/manager/languages.d.ts +1 -0
  291. package/dist/esm/api/routes/manager/languages.d.ts.map +1 -1
  292. package/dist/esm/api/routes/manager/list.d.ts +3 -0
  293. package/dist/esm/api/routes/manager/list.d.ts.map +1 -1
  294. package/dist/esm/api/routes/manager/list.js +93 -4
  295. package/dist/esm/api/routes/manager/list.js.map +1 -1
  296. package/dist/esm/api/routes/manager/localeVariants.d.ts +215 -1
  297. package/dist/esm/api/routes/manager/localeVariants.d.ts.map +1 -1
  298. package/dist/esm/api/routes/manager/localeVariants.js +218 -11
  299. package/dist/esm/api/routes/manager/localeVariants.js.map +1 -1
  300. package/dist/esm/api/routes/manager/logs/cleanup.d.ts +7 -0
  301. package/dist/esm/api/routes/manager/logs/cleanup.d.ts.map +1 -0
  302. package/dist/esm/api/routes/manager/logs/cleanup.js +16 -0
  303. package/dist/esm/api/routes/manager/logs/cleanup.js.map +1 -0
  304. package/dist/esm/api/routes/manager/logs/list.d.ts +7 -0
  305. package/dist/esm/api/routes/manager/logs/list.d.ts.map +1 -0
  306. package/dist/esm/api/routes/manager/logs/list.js +18 -0
  307. package/dist/esm/api/routes/manager/logs/list.js.map +1 -0
  308. package/dist/esm/api/routes/manager/notifications.d.ts +11 -0
  309. package/dist/esm/api/routes/manager/notifications.d.ts.map +1 -0
  310. package/dist/esm/api/routes/manager/notifications.js +135 -0
  311. package/dist/esm/api/routes/manager/notifications.js.map +1 -0
  312. package/dist/esm/api/routes/manager/previewSlugRedirects.d.ts +7 -0
  313. package/dist/esm/api/routes/manager/previewSlugRedirects.d.ts.map +1 -0
  314. package/dist/esm/api/routes/manager/previewSlugRedirects.js +21 -0
  315. package/dist/esm/api/routes/manager/previewSlugRedirects.js.map +1 -0
  316. package/dist/esm/api/routes/manager/reviewPolicies.d.ts +14 -0
  317. package/dist/esm/api/routes/manager/reviewPolicies.d.ts.map +1 -0
  318. package/dist/esm/api/routes/manager/reviewPolicies.js +103 -0
  319. package/dist/esm/api/routes/manager/reviewPolicies.js.map +1 -0
  320. package/dist/esm/api/routes/manager/reviews.d.ts +23 -0
  321. package/dist/esm/api/routes/manager/reviews.d.ts.map +1 -0
  322. package/dist/esm/api/routes/manager/reviews.js +264 -0
  323. package/dist/esm/api/routes/manager/reviews.js.map +1 -0
  324. package/dist/esm/api/routes/manager/routeLayout.d.ts +11 -0
  325. package/dist/esm/api/routes/manager/routeLayout.d.ts.map +1 -0
  326. package/dist/esm/api/routes/manager/routeLayout.js +133 -0
  327. package/dist/esm/api/routes/manager/routeLayout.js.map +1 -0
  328. package/dist/esm/api/routes/manager/translateDocument.d.ts.map +1 -1
  329. package/dist/esm/api/routes/manager/translateDocument.js +15 -0
  330. package/dist/esm/api/routes/manager/translateDocument.js.map +1 -1
  331. package/dist/esm/api/routes/manager/trash.d.ts +19 -0
  332. package/dist/esm/api/routes/manager/trash.d.ts.map +1 -1
  333. package/dist/esm/api/routes/manager/trash.js +70 -38
  334. package/dist/esm/api/routes/manager/trash.js.map +1 -1
  335. package/dist/esm/api/routes/manager/uiLocales.d.ts +17 -0
  336. package/dist/esm/api/routes/manager/uiLocales.d.ts.map +1 -0
  337. package/dist/esm/api/routes/manager/uiLocales.js +25 -0
  338. package/dist/esm/api/routes/manager/uiLocales.js.map +1 -0
  339. package/dist/esm/api/routes/manager/update.d.ts +1 -0
  340. package/dist/esm/api/routes/manager/update.d.ts.map +1 -1
  341. package/dist/esm/api/routes/manager/update.js +87 -0
  342. package/dist/esm/api/routes/manager/update.js.map +1 -1
  343. package/dist/esm/api/routes/manager/versions/restore.d.ts.map +1 -1
  344. package/dist/esm/api/routes/manager/versions/restore.js +20 -0
  345. package/dist/esm/api/routes/manager/versions/restore.js.map +1 -1
  346. package/dist/esm/api/routes/web/previewPage.d.ts +2 -0
  347. package/dist/esm/api/routes/web/previewPage.d.ts.map +1 -1
  348. package/dist/esm/api/utils/authEvents.d.ts +7 -0
  349. package/dist/esm/api/utils/authEvents.d.ts.map +1 -0
  350. package/dist/esm/api/utils/authEvents.js +27 -0
  351. package/dist/esm/api/utils/authEvents.js.map +1 -0
  352. package/dist/esm/api/utils/authRateLimit.d.ts.map +1 -1
  353. package/dist/esm/api/utils/authRateLimit.js +4 -3
  354. package/dist/esm/api/utils/authRateLimit.js.map +1 -1
  355. package/dist/esm/api/utils/getUser.d.ts +2 -0
  356. package/dist/esm/api/utils/getUser.d.ts.map +1 -1
  357. package/dist/esm/api/utils/managerNotifications.d.ts +39 -0
  358. package/dist/esm/api/utils/managerNotifications.d.ts.map +1 -0
  359. package/dist/esm/api/utils/managerNotifications.js +23 -0
  360. package/dist/esm/api/utils/managerNotifications.js.map +1 -0
  361. package/dist/esm/api/utils/recoveryCodes.d.ts +9 -0
  362. package/dist/esm/api/utils/recoveryCodes.d.ts.map +1 -0
  363. package/dist/esm/api/utils/recoveryCodes.js +22 -0
  364. package/dist/esm/api/utils/recoveryCodes.js.map +1 -0
  365. package/dist/esm/api/utils/redirects/createSlugChangeRedirects.d.ts +14 -0
  366. package/dist/esm/api/utils/redirects/createSlugChangeRedirects.d.ts.map +1 -0
  367. package/dist/esm/api/utils/redirects/createSlugChangeRedirects.js +141 -0
  368. package/dist/esm/api/utils/redirects/createSlugChangeRedirects.js.map +1 -0
  369. package/dist/esm/api/utils/redirects/slugPathChanges.d.ts +9 -0
  370. package/dist/esm/api/utils/redirects/slugPathChanges.d.ts.map +1 -0
  371. package/dist/esm/api/utils/redirects/slugPathChanges.js +133 -0
  372. package/dist/esm/api/utils/redirects/slugPathChanges.js.map +1 -0
  373. package/dist/esm/api/utils/requireContentType.d.ts.map +1 -1
  374. package/dist/esm/api/utils/requireContentType.js +13 -0
  375. package/dist/esm/api/utils/requireContentType.js.map +1 -1
  376. package/dist/esm/api/utils/reviews.d.ts +145 -0
  377. package/dist/esm/api/utils/reviews.d.ts.map +1 -0
  378. package/dist/esm/api/utils/reviews.js +253 -0
  379. package/dist/esm/api/utils/reviews.js.map +1 -0
  380. package/dist/esm/api/utils/routes/routeMapHelpers.d.ts +2 -0
  381. package/dist/esm/api/utils/routes/routeMapHelpers.d.ts.map +1 -1
  382. package/dist/esm/api/utils/routes/routeMapHelpers.js +45 -22
  383. package/dist/esm/api/utils/routes/routeMapHelpers.js.map +1 -1
  384. package/dist/esm/api/utils/routes/updateRoutesMap.d.ts +2 -1
  385. package/dist/esm/api/utils/routes/updateRoutesMap.d.ts.map +1 -1
  386. package/dist/esm/api/utils/routes/updateRoutesMap.js +2 -1
  387. package/dist/esm/api/utils/routes/updateRoutesMap.js.map +1 -1
  388. package/dist/esm/api/utils/safeManagerQuery.d.ts.map +1 -1
  389. package/dist/esm/api/utils/safeManagerQuery.js +1 -0
  390. package/dist/esm/api/utils/safeManagerQuery.js.map +1 -1
  391. package/dist/esm/auth/accountRecovery.d.ts +18 -0
  392. package/dist/esm/auth/accountRecovery.d.ts.map +1 -0
  393. package/dist/esm/auth/accountRecovery.js +2 -0
  394. package/dist/esm/auth/accountRecovery.js.map +1 -0
  395. package/dist/esm/auth/completePrimaryAuthentication.d.ts +3 -0
  396. package/dist/esm/auth/completePrimaryAuthentication.d.ts.map +1 -0
  397. package/dist/esm/auth/completePrimaryAuthentication.js +46 -0
  398. package/dist/esm/auth/completePrimaryAuthentication.js.map +1 -0
  399. package/dist/esm/auth/loginAdapters.d.ts +57 -0
  400. package/dist/esm/auth/loginAdapters.d.ts.map +1 -0
  401. package/dist/esm/auth/loginAdapters.js +176 -0
  402. package/dist/esm/auth/loginAdapters.js.map +1 -0
  403. package/dist/esm/auth/passwordFail2ban.d.ts +20 -0
  404. package/dist/esm/auth/passwordFail2ban.d.ts.map +1 -0
  405. package/dist/esm/auth/passwordFail2ban.js +110 -0
  406. package/dist/esm/auth/passwordFail2ban.js.map +1 -0
  407. package/dist/esm/auth/passwordResetMailTemplate.d.ts +3 -0
  408. package/dist/esm/auth/passwordResetMailTemplate.d.ts.map +1 -0
  409. package/dist/esm/auth/passwordResetMailTemplate.js +87 -0
  410. package/dist/esm/auth/passwordResetMailTemplate.js.map +1 -0
  411. package/dist/esm/bootstrapState.d.ts +24 -2
  412. package/dist/esm/bootstrapState.d.ts.map +1 -1
  413. package/dist/esm/bootstrapState.js.map +1 -1
  414. package/dist/esm/client.d.ts +12 -6
  415. package/dist/esm/client.d.ts.map +1 -1
  416. package/dist/esm/client.js +4 -4
  417. package/dist/esm/client.js.map +1 -1
  418. package/dist/esm/contracts.d.ts +12 -0
  419. package/dist/esm/contracts.d.ts.map +1 -1
  420. package/dist/esm/contracts.js +12 -0
  421. package/dist/esm/contracts.js.map +1 -1
  422. package/dist/esm/eventLog/index.d.ts +12 -0
  423. package/dist/esm/eventLog/index.d.ts.map +1 -0
  424. package/dist/esm/eventLog/index.js +28 -0
  425. package/dist/esm/eventLog/index.js.map +1 -0
  426. package/dist/esm/eventLog/mongo.d.ts +5 -0
  427. package/dist/esm/eventLog/mongo.d.ts.map +1 -0
  428. package/dist/esm/eventLog/mongo.js +111 -0
  429. package/dist/esm/eventLog/mongo.js.map +1 -0
  430. package/dist/esm/eventLog/service.d.ts +19 -0
  431. package/dist/esm/eventLog/service.d.ts.map +1 -0
  432. package/dist/esm/eventLog/service.js +180 -0
  433. package/dist/esm/eventLog/service.js.map +1 -0
  434. package/dist/esm/eventLog/types.d.ts +73 -0
  435. package/dist/esm/eventLog/types.d.ts.map +1 -0
  436. package/dist/esm/eventLog/types.js +3 -0
  437. package/dist/esm/eventLog/types.js.map +1 -0
  438. package/dist/esm/index.d.ts +9 -4
  439. package/dist/esm/index.d.ts.map +1 -1
  440. package/dist/esm/index.js +56 -7
  441. package/dist/esm/index.js.map +1 -1
  442. package/dist/esm/internal-content-types/Backup.d.ts.map +1 -1
  443. package/dist/esm/internal-content-types/ContentComment.d.ts +35 -0
  444. package/dist/esm/internal-content-types/ContentComment.d.ts.map +1 -1
  445. package/dist/esm/internal-content-types/ContentCommentReadState.d.ts +3499 -0
  446. package/dist/esm/internal-content-types/ContentCommentReadState.d.ts.map +1 -0
  447. package/dist/esm/internal-content-types/ContentCommentReadState.js +15 -0
  448. package/dist/esm/internal-content-types/ContentCommentReadState.js.map +1 -0
  449. package/dist/esm/internal-content-types/ContentReview.d.ts +10045 -0
  450. package/dist/esm/internal-content-types/ContentReview.d.ts.map +1 -0
  451. package/dist/esm/internal-content-types/ContentReview.js +28 -0
  452. package/dist/esm/internal-content-types/ContentReview.js.map +1 -0
  453. package/dist/esm/internal-content-types/ContentReviewDecision.d.ts +3181 -0
  454. package/dist/esm/internal-content-types/ContentReviewDecision.d.ts.map +1 -0
  455. package/dist/esm/internal-content-types/ContentReviewDecision.js +15 -0
  456. package/dist/esm/internal-content-types/ContentReviewDecision.js.map +1 -0
  457. package/dist/esm/internal-content-types/ContentReviewPolicy.d.ts +1211 -0
  458. package/dist/esm/internal-content-types/ContentReviewPolicy.d.ts.map +1 -0
  459. package/dist/esm/internal-content-types/ContentReviewPolicy.js +15 -0
  460. package/dist/esm/internal-content-types/ContentReviewPolicy.js.map +1 -0
  461. package/dist/esm/internal-content-types/ContentVersion.d.ts.map +1 -1
  462. package/dist/esm/internal-content-types/LinkedIteratorTemplate.d.ts.map +1 -1
  463. package/dist/esm/internal-content-types/LoginIpBlock.d.ts +434 -0
  464. package/dist/esm/internal-content-types/LoginIpBlock.d.ts.map +1 -0
  465. package/dist/esm/internal-content-types/LoginIpBlock.js +14 -0
  466. package/dist/esm/internal-content-types/LoginIpBlock.js.map +1 -0
  467. package/dist/esm/internal-content-types/ManagerFavorite.d.ts +28 -0
  468. package/dist/esm/internal-content-types/ManagerFavorite.d.ts.map +1 -1
  469. package/dist/esm/internal-content-types/ManagerNotification.d.ts +6614 -0
  470. package/dist/esm/internal-content-types/ManagerNotification.d.ts.map +1 -0
  471. package/dist/esm/internal-content-types/ManagerNotification.js +27 -0
  472. package/dist/esm/internal-content-types/ManagerNotification.js.map +1 -0
  473. package/dist/esm/internal-content-types/ManagerUser.d.ts +7 -0
  474. package/dist/esm/internal-content-types/ManagerUser.d.ts.map +1 -1
  475. package/dist/esm/internal-content-types/ManagerUserHooks.d.ts.map +1 -1
  476. package/dist/esm/internal-content-types/ManagerUserHooks.js +8 -1
  477. package/dist/esm/internal-content-types/ManagerUserHooks.js.map +1 -1
  478. package/dist/esm/internal-content-types/MfaChallenge.d.ts +28 -0
  479. package/dist/esm/internal-content-types/MfaChallenge.d.ts.map +1 -1
  480. package/dist/esm/internal-content-types/Migration.d.ts.map +1 -1
  481. package/dist/esm/internal-content-types/PasswordResetToken.d.ts +3181 -0
  482. package/dist/esm/internal-content-types/PasswordResetToken.d.ts.map +1 -0
  483. package/dist/esm/internal-content-types/PasswordResetToken.js +44 -0
  484. package/dist/esm/internal-content-types/PasswordResetToken.js.map +1 -0
  485. package/dist/esm/internal-content-types/RobotsRule.d.ts.map +1 -1
  486. package/dist/esm/internal-content-types/Route.d.ts.map +1 -1
  487. package/dist/esm/internal-content-types/RouteLayoutModule.d.ts.map +1 -1
  488. package/dist/esm/internal-content-types/SchemaState.d.ts.map +1 -1
  489. package/dist/esm/internal-content-types/Session.d.ts +28 -0
  490. package/dist/esm/internal-content-types/Session.d.ts.map +1 -1
  491. package/dist/esm/internal-content-types/UserMfa.d.ts +30 -0
  492. package/dist/esm/internal-content-types/UserMfa.d.ts.map +1 -1
  493. package/dist/esm/internal-content-types/UserMfa.js +35 -1
  494. package/dist/esm/internal-content-types/UserMfa.js.map +1 -1
  495. package/dist/esm/internal-content-types/WebAuthnCredential.d.ts +28 -0
  496. package/dist/esm/internal-content-types/WebAuthnCredential.d.ts.map +1 -1
  497. package/dist/esm/internal-content-types/WebAuthnRegChallenge.d.ts +28 -0
  498. package/dist/esm/internal-content-types/WebAuthnRegChallenge.d.ts.map +1 -1
  499. package/dist/esm/internal-content-types/index.d.ts +7 -0
  500. package/dist/esm/internal-content-types/index.d.ts.map +1 -1
  501. package/dist/esm/internal-content-types/index.js +7 -0
  502. package/dist/esm/internal-content-types/index.js.map +1 -1
  503. package/dist/esm/internal-content-types/syncAdminRole.d.ts +1 -0
  504. package/dist/esm/internal-content-types/syncAdminRole.d.ts.map +1 -1
  505. package/dist/esm/lib/ContentType.d.ts +7 -9
  506. package/dist/esm/lib/ContentType.d.ts.map +1 -1
  507. package/dist/esm/lib/ContentType.js +3 -9
  508. package/dist/esm/lib/ContentType.js.map +1 -1
  509. package/dist/esm/lib/Permissions.d.ts +3 -0
  510. package/dist/esm/lib/Permissions.d.ts.map +1 -1
  511. package/dist/esm/lib/Permissions.js +13 -1
  512. package/dist/esm/lib/Permissions.js.map +1 -1
  513. package/dist/esm/lib/Registry.d.ts +6 -3
  514. package/dist/esm/lib/Registry.d.ts.map +1 -1
  515. package/dist/esm/lib/Registry.js +7 -3
  516. package/dist/esm/lib/Registry.js.map +1 -1
  517. package/dist/esm/lib/errors/AppError.d.ts.map +1 -1
  518. package/dist/esm/lib/errors/AppError.js +7 -1
  519. package/dist/esm/lib/errors/AppError.js.map +1 -1
  520. package/dist/esm/lib/fields/Fields.d.ts +15 -0
  521. package/dist/esm/lib/fields/Fields.d.ts.map +1 -1
  522. package/dist/esm/lib/fields/Fields.js +1 -0
  523. package/dist/esm/lib/fields/Fields.js.map +1 -1
  524. package/dist/esm/lib/fields/Link.d.ts +2 -2
  525. package/dist/esm/lib/fields/Link.d.ts.map +1 -1
  526. package/dist/esm/lib/fields/Link.js +2 -1
  527. package/dist/esm/lib/fields/Link.js.map +1 -1
  528. package/dist/esm/lib/localeVariants.d.ts +3 -0
  529. package/dist/esm/lib/localeVariants.d.ts.map +1 -1
  530. package/dist/esm/lib/localeVariants.js +7 -0
  531. package/dist/esm/lib/localeVariants.js.map +1 -1
  532. package/dist/esm/lib/types/index.d.ts +1 -0
  533. package/dist/esm/lib/types/index.d.ts.map +1 -1
  534. package/dist/esm/literals/index.d.ts +0 -1
  535. package/dist/esm/literals/index.d.ts.map +1 -1
  536. package/dist/esm/literals/index.js +0 -1
  537. package/dist/esm/literals/index.js.map +1 -1
  538. package/dist/esm/mail/adapters.d.ts +34 -0
  539. package/dist/esm/mail/adapters.d.ts.map +1 -0
  540. package/dist/esm/mail/adapters.js +2 -0
  541. package/dist/esm/mail/adapters.js.map +1 -0
  542. package/dist/esm/mail/index.d.ts +11 -0
  543. package/dist/esm/mail/index.d.ts.map +1 -0
  544. package/dist/esm/mail/index.js +31 -0
  545. package/dist/esm/mail/index.js.map +1 -0
  546. package/dist/esm/mail/mailService.d.ts +58 -0
  547. package/dist/esm/mail/mailService.d.ts.map +1 -0
  548. package/dist/esm/mail/mailService.js +202 -0
  549. package/dist/esm/mail/mailService.js.map +1 -0
  550. package/dist/esm/mail/templates.d.ts +26 -0
  551. package/dist/esm/mail/templates.d.ts.map +1 -0
  552. package/dist/esm/mail/templates.js +27 -0
  553. package/dist/esm/mail/templates.js.map +1 -0
  554. package/dist/esm/manager.d.ts +160 -0
  555. package/dist/esm/manager.d.ts.map +1 -1
  556. package/dist/esm/orm/createIndexes.d.ts.map +1 -1
  557. package/dist/esm/orm/createIndexes.js +38 -1
  558. package/dist/esm/orm/createIndexes.js.map +1 -1
  559. package/dist/esm/orm/dbService.js +3 -3
  560. package/dist/esm/orm/dbService.js.map +1 -1
  561. package/dist/esm/orm/operations/update.d.ts.map +1 -1
  562. package/dist/esm/orm/operations/update.js +28 -26
  563. package/dist/esm/orm/operations/update.js.map +1 -1
  564. package/dist/esm/plugins.d.ts +4 -0
  565. package/dist/esm/plugins.d.ts.map +1 -1
  566. package/dist/esm/plugins.js.map +1 -1
  567. package/dist/esm/schemas/manager/auth/externalLogin.d.ts +42 -0
  568. package/dist/esm/schemas/manager/auth/externalLogin.d.ts.map +1 -0
  569. package/dist/esm/schemas/manager/auth/externalLogin.js +21 -0
  570. package/dist/esm/schemas/manager/auth/externalLogin.js.map +1 -0
  571. package/dist/esm/schemas/manager/auth/mfa/recoveryCode.d.ts +22 -0
  572. package/dist/esm/schemas/manager/auth/mfa/recoveryCode.d.ts.map +1 -0
  573. package/dist/esm/schemas/manager/auth/mfa/recoveryCode.js +21 -0
  574. package/dist/esm/schemas/manager/auth/mfa/recoveryCode.js.map +1 -0
  575. package/dist/esm/schemas/manager/auth/passwordIpBlocks.d.ts +36 -0
  576. package/dist/esm/schemas/manager/auth/passwordIpBlocks.d.ts.map +1 -0
  577. package/dist/esm/schemas/manager/auth/passwordIpBlocks.js +26 -0
  578. package/dist/esm/schemas/manager/auth/passwordIpBlocks.js.map +1 -0
  579. package/dist/esm/schemas/manager/auth/passwordRecovery.d.ts +17 -0
  580. package/dist/esm/schemas/manager/auth/passwordRecovery.d.ts.map +1 -0
  581. package/dist/esm/schemas/manager/auth/passwordRecovery.js +15 -0
  582. package/dist/esm/schemas/manager/auth/passwordRecovery.js.map +1 -0
  583. package/dist/esm/schemas/manager/auth/totp/confirmTotp.d.ts +4 -5
  584. package/dist/esm/schemas/manager/auth/totp/confirmTotp.d.ts.map +1 -1
  585. package/dist/esm/schemas/manager/auth/totp/confirmTotp.js +4 -7
  586. package/dist/esm/schemas/manager/auth/totp/confirmTotp.js.map +1 -1
  587. package/dist/esm/schemas/manager/comments.d.ts +15 -0
  588. package/dist/esm/schemas/manager/comments.d.ts.map +1 -1
  589. package/dist/esm/schemas/manager/comments.js +10 -0
  590. package/dist/esm/schemas/manager/comments.js.map +1 -1
  591. package/dist/esm/schemas/manager/contentVersions.d.ts +442 -0
  592. package/dist/esm/schemas/manager/contentVersions.d.ts.map +1 -0
  593. package/dist/esm/schemas/manager/contentVersions.js +45 -0
  594. package/dist/esm/schemas/manager/contentVersions.js.map +1 -0
  595. package/dist/esm/schemas/manager/eventLogs.d.ts +127 -0
  596. package/dist/esm/schemas/manager/eventLogs.d.ts.map +1 -0
  597. package/dist/esm/schemas/manager/eventLogs.js +48 -0
  598. package/dist/esm/schemas/manager/eventLogs.js.map +1 -0
  599. package/dist/esm/schemas/manager/list.d.ts +1 -0
  600. package/dist/esm/schemas/manager/list.d.ts.map +1 -1
  601. package/dist/esm/schemas/manager/list.js +1 -0
  602. package/dist/esm/schemas/manager/list.js.map +1 -1
  603. package/dist/esm/schemas/manager/localeVariants.d.ts +51 -0
  604. package/dist/esm/schemas/manager/localeVariants.d.ts.map +1 -1
  605. package/dist/esm/schemas/manager/localeVariants.js +9 -0
  606. package/dist/esm/schemas/manager/localeVariants.js.map +1 -1
  607. package/dist/esm/schemas/manager/notifications.d.ts +79 -0
  608. package/dist/esm/schemas/manager/notifications.d.ts.map +1 -0
  609. package/dist/esm/schemas/manager/notifications.js +45 -0
  610. package/dist/esm/schemas/manager/notifications.js.map +1 -0
  611. package/dist/esm/schemas/manager/reviewPolicies.d.ts +43 -0
  612. package/dist/esm/schemas/manager/reviewPolicies.d.ts.map +1 -0
  613. package/dist/esm/schemas/manager/reviewPolicies.js +27 -0
  614. package/dist/esm/schemas/manager/reviewPolicies.js.map +1 -0
  615. package/dist/esm/schemas/manager/reviews.d.ts +442 -0
  616. package/dist/esm/schemas/manager/reviews.d.ts.map +1 -0
  617. package/dist/esm/schemas/manager/reviews.js +87 -0
  618. package/dist/esm/schemas/manager/reviews.js.map +1 -0
  619. package/dist/esm/schemas/manager/routeLayout.d.ts +75 -0
  620. package/dist/esm/schemas/manager/routeLayout.d.ts.map +1 -0
  621. package/dist/esm/schemas/manager/routeLayout.js +44 -0
  622. package/dist/esm/schemas/manager/routeLayout.js.map +1 -0
  623. package/dist/esm/schemas/manager/slugRedirects.d.ts +26 -0
  624. package/dist/esm/schemas/manager/slugRedirects.d.ts.map +1 -0
  625. package/dist/esm/schemas/manager/slugRedirects.js +18 -0
  626. package/dist/esm/schemas/manager/slugRedirects.js.map +1 -0
  627. package/dist/esm/schemas/manager/uiLocales.d.ts +33 -0
  628. package/dist/esm/schemas/manager/uiLocales.d.ts.map +1 -0
  629. package/dist/esm/schemas/manager/uiLocales.js +25 -0
  630. package/dist/esm/schemas/manager/uiLocales.js.map +1 -0
  631. package/dist/esm/schemas/manager/update.d.ts +1 -0
  632. package/dist/esm/schemas/manager/update.d.ts.map +1 -1
  633. package/dist/esm/schemas/manager/update.js +1 -0
  634. package/dist/esm/schemas/manager/update.js.map +1 -1
  635. package/dist/esm/schemas/web/page.d.ts +12 -0
  636. package/dist/esm/schemas/web/page.d.ts.map +1 -1
  637. package/dist/esm/schemas/web/previewPage.d.ts +8 -0
  638. package/dist/esm/schemas/web/previewPage.d.ts.map +1 -1
  639. package/dist/tsconfig.build.tsbuildinfo +1 -1
  640. package/package.json +11 -4
  641. package/dist/cjs/literals/manager.js +0 -43
  642. package/dist/cjs/literals/manager.js.map +0 -1
  643. package/dist/cjs/literals/managerLiterals.js +0 -15
  644. package/dist/cjs/literals/managerLiterals.js.map +0 -1
  645. package/dist/esm/literals/manager.d.ts +0 -22
  646. package/dist/esm/literals/manager.d.ts.map +0 -1
  647. package/dist/esm/literals/manager.js +0 -38
  648. package/dist/esm/literals/manager.js.map +0 -1
  649. package/dist/esm/literals/managerLiterals.d.ts +0 -12
  650. package/dist/esm/literals/managerLiterals.d.ts.map +0 -1
  651. package/dist/esm/literals/managerLiterals.js +0 -12
  652. package/dist/esm/literals/managerLiterals.js.map +0 -1
@@ -0,0 +1,238 @@
1
+ # Rakun AI manual and package index
2
+
3
+ This is the entry point for coding agents working on an application that uses
4
+ Rakun. It describes the package map, the normal architecture, and the public
5
+ surface of `@rakun-kit/core`. Read the manual for every adapter used by the
6
+ application before editing its integration.
7
+
8
+ In an installed project this file is located at
9
+ `node_modules/@rakun-kit/core/dist/docs/index.md`. Other package manuals use the
10
+ same `dist/docs/index.md` location.
11
+
12
+ ## Package map
13
+
14
+ | Package | Use it for | Installed manual |
15
+ | ------------------------------- | ----------------------------------------------------------------------------------- | --------------------------------------------------------------- |
16
+ | `@rakun-kit/core` | Domain model, bootstrap, operations, auth, routes, media, mail and shared contracts | This file |
17
+ | `@rakun-kit/next` | Next.js App Router API, manager, media and web rendering | `node_modules/@rakun-kit/next/dist/docs/index.md` |
18
+ | `@rakun-kit/express` | Express API and local-media adapter | `node_modules/@rakun-kit/express/dist/docs/index.md` |
19
+ | `@rakun-kit/trpc` | Typed tRPC router for manager and web operations | `node_modules/@rakun-kit/trpc/dist/docs/index.md` |
20
+ | `@rakun-kit/react` | Framework-neutral React module rendering | `node_modules/@rakun-kit/react/dist/docs/index.md` |
21
+ | `@rakun-kit/manager-react` | Manager UI, clients, navigation and plugin runtime | `node_modules/@rakun-kit/manager-react/dist/docs/index.md` |
22
+ | `@rakun-kit/manager-locales` | Optional manager UI locale packs | `node_modules/@rakun-kit/manager-locales/dist/docs/index.md` |
23
+ | `@rakun-kit/s3` | S3 and S3-compatible media storage | `node_modules/@rakun-kit/s3/dist/docs/index.md` |
24
+ | `@rakun-kit/smtp` | SMTP mail delivery | `node_modules/@rakun-kit/smtp/dist/docs/index.md` |
25
+ | `@rakun-kit/resend` | Resend mail delivery | `node_modules/@rakun-kit/resend/dist/docs/index.md` |
26
+ | `@rakun-kit/jsx-email` | Typed JSX Email template rendering | `node_modules/@rakun-kit/jsx-email/dist/docs/index.md` |
27
+ | `@rakun-kit/openai` | OpenAI-backed automatic content translation | `node_modules/@rakun-kit/openai/dist/docs/index.md` |
28
+ | `@rakun-kit/plugin-code-editor` | Code blocks in manager RichText fields | `node_modules/@rakun-kit/plugin-code-editor/dist/docs/index.md` |
29
+ | `create-rakun-app` | Official project generator and framework starter templates | `node_modules/create-rakun-app/dist/docs/index.md` |
30
+
31
+ Choose one server adapter (`next` or `express`). Add `trpc` only if the host
32
+ wants tRPC, one media adapter if uploads are required, and one mail adapter if
33
+ outbound mail is required. `manager-react` is normally consumed through the
34
+ Next adapter; use it directly for custom hosts.
35
+
36
+ `preview` and `preview-next` are private example applications in the Rakun
37
+ repository, not installable packages, so they do not have installed manuals.
38
+
39
+ ## Typical architecture
40
+
41
+ 1. Define literals, content types, routes and any custom operations in
42
+ framework-neutral server modules.
43
+ 2. Call `rakunBootstrap` once, or pass the same options to an adapter that calls
44
+ `ensureRakunBootstrap`.
45
+ 3. Mount the API with `@rakun-kit/next` or `@rakun-kit/express`.
46
+ 4. Render the manager and web modules with the corresponding React integration.
47
+ 5. Keep browser code away from server secrets and server-only package entries.
48
+
49
+ ## Install and peer requirements
50
+
51
+ ```sh
52
+ bun add @rakun-kit/core mongodb bcrypt sharp zod
53
+ ```
54
+
55
+ `mongodb`, `bcrypt` and `sharp` are peer dependencies. Install only compatible
56
+ versions declared by the package. Adapters and optional services are separate
57
+ packages.
58
+
59
+ ## Bootstrap
60
+
61
+ ```ts
62
+ import { ContentType, f, rakunBootstrap } from '@rakun-kit/core'
63
+
64
+ const Article = new ContentType({
65
+ name: 'Article',
66
+ menu: { title: 'Articles', icon: 'newspaper', category: 'Content' },
67
+ fields: {
68
+ title: f.string().required(),
69
+ slug: f.string().type('Slug').required(),
70
+ body: f.string().type('RichText'),
71
+ },
72
+ uniques: [['slug']],
73
+ listFields: ['title', 'slug'],
74
+ })
75
+
76
+ rakunBootstrap({
77
+ literals,
78
+ contentTypes: [Article],
79
+ routes,
80
+ mongo: {
81
+ MONGO_URI: process.env.MONGO_URI!,
82
+ ENVIRONMENT: process.env.NODE_ENV === 'test' ? 'test' : 'production',
83
+ },
84
+ })
85
+ ```
86
+
87
+ Important bootstrap options are `literals`, `contentTypes`,
88
+ `internalContentTypes`, `routes`, `apiOperations`, `plugins`, `mongo`, `media`,
89
+ `mail`, `translation`, `managerLanguages`, `login`, `accountRecovery`, `logger`
90
+ and `syncRoutes`.
91
+
92
+ - `rakunBootstrap(options)` registers configuration synchronously.
93
+ - `ensureRakunBootstrap(options)` registers it only if needed. Framework
94
+ adapters use this to tolerate development reloads.
95
+ - `ensureRakunInitialized()` initializes logger, MongoDB, media and route sync.
96
+ It is concurrency-safe and retries after a failed initialization.
97
+
98
+ Do not import React, Next, Express, Vite or tRPC into core configuration modules.
99
+
100
+ ## Content types and fields
101
+
102
+ `ContentType` describes a collection and derives its validation and TypeScript
103
+ shapes. Use `f` factories rather than handwritten storage schemas.
104
+ `Fields` remains available as a backward-compatible alias and references the
105
+ same object, but new code and examples should prefer `f`.
106
+
107
+ Common factories include string, number, boolean, date, object, relation, file,
108
+ blocks and array/list forms. Chain field modifiers such as `.required()`,
109
+ `.multiple()`, `.managerOnly()`, `.apiOnly()` and `.noDynamic()` when applicable.
110
+ Special manager editors are selected with `.type(...)`, for example `Slug`,
111
+ `RichText`, `Email`, `Password` and `Image`.
112
+
113
+ `f.link()` accepts either a direct URL string or an internal
114
+ `{ routeId, contentTypeId }` reference. Internal references resolve to localized
115
+ paths in web output; direct URLs pass through unchanged.
116
+
117
+ Use `iterator` for ordered page modules. Rakun stores it as the reserved
118
+ `_iterator` field. `linkedIterator: true` shares a canonical module structure
119
+ between documents while allowing a document to be explicitly unlinked.
120
+
121
+ ```ts
122
+ const Page = new ContentType({
123
+ name: 'Page',
124
+ fields: {
125
+ title: f.string().required(),
126
+ slug: f.string().type('Slug').required(),
127
+ },
128
+ iterator: [{ contentType: Hero, type: 'new' }],
129
+ linkedIterator: true,
130
+ })
131
+ ```
132
+
133
+ Content type names, field names and reserved fields are persisted API. Do not
134
+ rename them without a data migration and a review of manager and web consumers.
135
+ Use `.withHooks(...)` for lifecycle behavior; keep mutations and secrets out of
136
+ `onGet` transformations unless that behavior is explicitly intended.
137
+
138
+ ## Routes and web output
139
+
140
+ Routes connect a content type field to a public URL. A page route may also have
141
+ a fixed `layout` with module slots and a `{ type: 'content' }` insertion point.
142
+ When a content type has a `hasPage: true` route, core adds optional `_seo`
143
+ metadata and can expose generated `href` values to dynamic data.
144
+
145
+ Use `@rakun-kit/core/web` for framework-neutral web types/utilities. Use the
146
+ Next or React manual for actual rendering. Route changes can affect configured
147
+ redirects, sitemap, robots output, preview, and adapter behavior.
148
+
149
+ ## Custom operations
150
+
151
+ Define public API behavior with the operation helpers and Zod input/output
152
+ schemas. Register the map through `apiOperations` so adapters and typed clients
153
+ share one contract.
154
+
155
+ ```ts
156
+ import { defineOperation } from '@rakun-kit/core'
157
+ import { z } from 'zod'
158
+
159
+ export const apiOperations = {
160
+ 'demo.hello': defineOperation({
161
+ access: 'public',
162
+ kind: 'query',
163
+ method: 'get',
164
+ input: z.object({ name: z.string() }),
165
+ output: z.object({ message: z.string() }),
166
+ resolve: ({ input }) => ({ message: `Hello ${input.name}` }),
167
+ }),
168
+ }
169
+ ```
170
+
171
+ Keep operations in server modules. Client code should import the operation map
172
+ with `import type` and use the typed client supplied by its adapter.
173
+
174
+ Every API error, including expected 4xx errors, must reach Rakun's persistent
175
+ event log without persisting payloads, credentials, sensitive causes or raw
176
+ internal error messages. Successful mutations already emit
177
+ `<operation>.succeeded`; add explicit domain events for meaningful phases,
178
+ external effects or partial outcomes. Queries are not logged by default.
179
+
180
+ ## Request context, auth and permissions
181
+
182
+ Adapters create a Rakun request context from headers, cookies and their response
183
+ abstraction. Prefer existing helpers such as `getUser`, `checkPermissions` and
184
+ `checkOwnership`; do not duplicate authorization rules in application code.
185
+
186
+ External manager login adapters are configured under `login.adapters`.
187
+ Provider emails must be verified and match an existing manager user; Rakun does
188
+ not provision users automatically. Password login can use persistent IP
189
+ blocking. Account recovery requires both a mail service and
190
+ `accountRecovery.passwordReset` configuration.
191
+
192
+ ## Media, mail and translation
193
+
194
+ Core defines service contracts; concrete integrations are separate:
195
+
196
+ - Media: use `@rakun-kit/s3`, or local media from the selected framework
197
+ adapter. Configure the result as `media` in bootstrap.
198
+ - Mail: use `@rakun-kit/smtp` or `@rakun-kit/resend`; optionally render typed
199
+ templates with `@rakun-kit/jsx-email`. Configure delivery as `mail`.
200
+ - Translation: use `@rakun-kit/openai` or implement the core translation
201
+ adapter contract. Configure it as `translation`.
202
+
203
+ Never expose adapter credentials in client modules. Public and private media
204
+ have different URL semantics; do not replace stored media objects with raw URLs.
205
+
206
+ ## Manager languages and user-facing text
207
+
208
+ Web/content-facing text belongs in Rakun literals. Manager UI text belongs in
209
+ the manager catalog. English manager copy is built into `manager-react`; add
210
+ optional packs such as Spanish through `@rakun-kit/manager-locales/es` and
211
+ `managerLanguages`.
212
+
213
+ Project-defined manager labels may use arbitrary keys. Field labels follow
214
+ `field.<fieldName>` and layout slots follow `layoutModule.<layoutKey>`.
215
+
216
+ ## Public entrypoints
217
+
218
+ - `@rakun-kit/core`: bootstrap and the main domain/runtime API.
219
+ - `@rakun-kit/core/contracts`: shared schemas, operation and locale contracts.
220
+ - `@rakun-kit/core/client`: browser-safe client types and utilities.
221
+ - `@rakun-kit/core/manager`: manager operation metadata and types.
222
+ - `@rakun-kit/core/web`: web output types and utilities.
223
+ - `@rakun-kit/core/types`: content-type-derived helpers.
224
+ - `@rakun-kit/core/logger`, `/errors`, `/literals`, `/api-utils`, `/plugins`,
225
+ `/event-log` and `/internal-content-types`: focused public surfaces.
226
+
227
+ Import only declared package entrypoints. Do not reach into `dist/esm`,
228
+ `dist/cjs` or source paths.
229
+
230
+ ## Agent checklist
231
+
232
+ - Identify the host adapter and read its installed manual.
233
+ - Confirm an API is exported before importing it.
234
+ - Preserve the server/browser boundary and use `import type` for contracts.
235
+ - Reuse core validation, auth, operation, logging and service abstractions.
236
+ - Treat persisted names and public schemas as compatibility boundaries.
237
+ - Update application tests when content, routes, permissions or operation
238
+ behavior changes.
@@ -11,6 +11,7 @@ export type RakunRequestContext = {
11
11
  req?: {
12
12
  headers?: Record<string, string | string[] | undefined>;
13
13
  cookies?: Record<string, string>;
14
+ ip?: string;
14
15
  };
15
16
  res?: {
16
17
  setHeader: (name: string, value: string | string[]) => void;
@@ -22,6 +23,7 @@ export type RakunRequestContext = {
22
23
  export type RakunRequestContextInput = {
23
24
  headers?: Record<string, string | string[] | undefined>;
24
25
  cookies?: Record<string, string>;
26
+ ip?: string;
25
27
  res: {
26
28
  setHeader: (name: string, value: string | string[]) => void;
27
29
  cookie?: (name: string, value: string, options?: CookieOptions) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/api/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAK9D,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,CAAC,EAAE;QACJ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;QACxD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAClC,CAAC;IACF,GAAG,CAAC,EAAE;QACJ,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;QAC5D,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;KACzE,CAAC;IACF,IAAI,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAChC,OAAO,EAAE,MAAM,iBAAiB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,GAAG,EAAE;QACH,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;QAC5D,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;KACzE,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,OAAO,wBAAwB,KAC9B,OAAO,CAAC,mBAAmB,CA+B7B,CAAC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/api/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAK9D,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,CAAC,EAAE;QACJ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;QACxD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;IACF,GAAG,CAAC,EAAE;QACJ,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;QAC5D,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;KACzE,CAAC;IACF,IAAI,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAChC,OAAO,EAAE,MAAM,iBAAiB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE;QACH,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;QAC5D,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;KACzE,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,OAAO,wBAAwB,KAC9B,OAAO,CAAC,mBAAmB,CAgC7B,CAAC"}
@@ -6,6 +6,7 @@ export const createRequestContext = async (input) => {
6
6
  req: {
7
7
  headers: input.headers,
8
8
  cookies: input.cookies ?? {},
9
+ ip: input.ip,
9
10
  },
10
11
  res: input.res,
11
12
  getUser() {
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/api/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAiC1C,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACvC,KAA+B,EACD,EAAE;IAChC,MAAM,GAAG,GAAwB;QAC/B,GAAG,EAAE;YACH,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE;SAC7B;QACD,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,OAAO;YACL,OAAO,EAAuB,CAAC;QACjC,CAAC;KACF,CAAC;IAEF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,sBAAsB,GAAG,KAAK,CAAC;IAEnC,OAAO;QACL,GAAG,GAAG;QACN,IAAI;QACJ,OAAO;YACL,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,aAAa,CAAC,eAAe,CAAC,CAAC;YACjC,CAAC;YAED,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC5B,MAAM,CAAC,QAAQ,CAAC,wBAAwB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBAChE,sBAAsB,GAAG,IAAI,CAAC;YAChC,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/api/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAmC1C,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACvC,KAA+B,EACD,EAAE;IAChC,MAAM,GAAG,GAAwB;QAC/B,GAAG,EAAE;YACH,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE;YAC5B,EAAE,EAAE,KAAK,CAAC,EAAE;SACb;QACD,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,OAAO;YACL,OAAO,EAAuB,CAAC;QACjC,CAAC;KACF,CAAC;IAEF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,sBAAsB,GAAG,KAAK,CAAC;IAEnC,OAAO;QACL,GAAG,GAAG;QACN,IAAI;QACJ,OAAO;YACL,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,aAAa,CAAC,eAAe,CAAC,CAAC;YACjC,CAAC;YAED,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC5B,MAAM,CAAC,QAAQ,CAAC,wBAAwB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBAChE,sBAAsB,GAAG,IAAI,CAAC;YAChC,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { EventLogJsonValue } from '../../eventLog/index.js';
2
+ import type { RakunRequestContext } from '../context.js';
3
+ import type { AnyRakunOperation } from './types.js';
4
+ export declare const setApiErrorEventData: (ctx: RakunRequestContext | undefined, data: Record<string, EventLogJsonValue>) => void;
5
+ export declare const setApiSuccessEventData: (ctx: RakunRequestContext, data: Record<string, EventLogJsonValue>) => void;
6
+ export type ApiErrorLogInput = {
7
+ name: string;
8
+ operation?: Pick<AnyRakunOperation, 'kind' | 'method'>;
9
+ ctx?: RakunRequestContext;
10
+ error: unknown;
11
+ statusCode?: number;
12
+ /**
13
+ * Marks the outer API adapter boundary. It clears propagation deduplication
14
+ * so a reused Error object can still be recorded by a later request.
15
+ */
16
+ boundary?: boolean;
17
+ };
18
+ export declare const recordApiError: ({ name, operation, ctx, error, statusCode, boundary, }: ApiErrorLogInput) => Promise<void>;
19
+ export type ApiOperationSuccessLogInput = {
20
+ name: string;
21
+ operation: Pick<AnyRakunOperation, 'kind' | 'method'>;
22
+ ctx: RakunRequestContext;
23
+ };
24
+ export declare const recordApiOperationSuccess: ({ name, operation, ctx, }: ApiOperationSuccessLogInput) => Promise<void>;
25
+ //# sourceMappingURL=apiEventLog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiEventLog.d.ts","sourceRoot":"","sources":["../../../../src/api/operations/apiEventLog.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAErD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAYhD,eAAO,MAAM,oBAAoB,GAC/B,KAAK,mBAAmB,GAAG,SAAS,EACpC,MAAM,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,SAGxC,CAAA;AAED,eAAO,MAAM,sBAAsB,GACjC,KAAK,mBAAmB,EACxB,MAAM,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,SAGxC,CAAA;AAgCD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAA;IACtD,GAAG,CAAC,EAAE,mBAAmB,CAAA;IACzB,KAAK,EAAE,OAAO,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,cAAc,GAAU,wDAOlC,gBAAgB,KAAG,OAAO,CAAC,IAAI,CAqDjC,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAA;IACrD,GAAG,EAAE,mBAAmB,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAU,2BAI7C,2BAA2B,KAAG,OAAO,CAAC,IAAI,CA0C5C,CAAA"}
@@ -0,0 +1,121 @@
1
+ import { getEventLogService, hasEventLogService } from '../../eventLog/index.js';
2
+ import { getAppErrorShape, getAppErrorStatusCode } from '../../lib/errors/index.js';
3
+ import { Logger } from '../../lib/Logger.js';
4
+ const loggedApiErrors = new WeakSet();
5
+ const apiErrorEventData = new WeakMap();
6
+ const apiSuccessEventData = new WeakMap();
7
+ export const setApiErrorEventData = (ctx, data) => {
8
+ if (ctx)
9
+ apiErrorEventData.set(ctx, data);
10
+ };
11
+ export const setApiSuccessEventData = (ctx, data) => {
12
+ apiSuccessEventData.set(ctx, data);
13
+ };
14
+ const getHeaderValue = (headers, name) => {
15
+ const value = headers?.[name];
16
+ return Array.isArray(value) ? value[0] : value;
17
+ };
18
+ const getCorrelationId = (ctx) => {
19
+ const headers = ctx?.req?.headers;
20
+ return getHeaderValue(headers, 'x-correlation-id') ?? getHeaderValue(headers, 'x-request-id');
21
+ };
22
+ const getErrorName = (error) => {
23
+ if (error instanceof Error && error.name.trim()) {
24
+ return error.name;
25
+ }
26
+ return undefined;
27
+ };
28
+ const isObjectError = (error) => (typeof error === 'object' && error !== null) || typeof error === 'function';
29
+ const getActor = (ctx) => ctx?.user?._id
30
+ ? { type: 'manager-user', id: String(ctx.user._id) }
31
+ : { type: 'anonymous' };
32
+ export const recordApiError = async ({ name, operation, ctx, error, statusCode, boundary = false, }) => {
33
+ if (isObjectError(error) && loggedApiErrors.has(error)) {
34
+ if (boundary) {
35
+ loggedApiErrors.delete(error);
36
+ }
37
+ return;
38
+ }
39
+ const appError = getAppErrorShape(error);
40
+ const resolvedStatusCode = statusCode ?? getAppErrorStatusCode(error) ?? 500;
41
+ const errorName = appError ? undefined : getErrorName(error);
42
+ const contextualData = ctx ? apiErrorEventData.get(ctx) : undefined;
43
+ if (ctx)
44
+ apiErrorEventData.delete(ctx);
45
+ if (!hasEventLogService()) {
46
+ Logger?.error?.('API error could not be persisted because the event log is not initialized', {
47
+ operation: name,
48
+ statusCode: resolvedStatusCode,
49
+ });
50
+ return;
51
+ }
52
+ try {
53
+ await getEventLogService().record({
54
+ type: 'api.operation.failed',
55
+ category: 'api',
56
+ severity: resolvedStatusCode >= 500 ? 'error' : 'warning',
57
+ outcome: 'failure',
58
+ source: '@rakun-kit/core/api',
59
+ correlationId: getCorrelationId(ctx),
60
+ actor: getActor(ctx),
61
+ resource: { type: 'api-operation', id: name },
62
+ tags: ['api', 'error', ...(operation ? [operation.kind] : [])],
63
+ data: {
64
+ operation: name,
65
+ statusCode: resolvedStatusCode,
66
+ ...(operation ? { kind: operation.kind, method: operation.method } : {}),
67
+ ...(appError ? { errorKey: appError.key } : {}),
68
+ ...(errorName ? { errorName } : {}),
69
+ ...(contextualData ? { context: contextualData } : {}),
70
+ },
71
+ });
72
+ if (isObjectError(error) && !boundary) {
73
+ loggedApiErrors.add(error);
74
+ }
75
+ }
76
+ catch (logError) {
77
+ Logger?.error?.('API error event could not be persisted', {
78
+ operation: name,
79
+ statusCode: resolvedStatusCode,
80
+ error: logError,
81
+ });
82
+ }
83
+ };
84
+ export const recordApiOperationSuccess = async ({ name, operation, ctx, }) => {
85
+ if (operation.kind !== 'mutation') {
86
+ return;
87
+ }
88
+ const contextualData = apiSuccessEventData.get(ctx);
89
+ apiSuccessEventData.delete(ctx);
90
+ if (!hasEventLogService()) {
91
+ Logger?.error?.('API mutation success could not be persisted because the event log is not initialized', { operation: name });
92
+ return;
93
+ }
94
+ try {
95
+ const namespace = name.split('.')[0] || 'api';
96
+ await getEventLogService().record({
97
+ type: `${name}.succeeded`,
98
+ category: 'api',
99
+ severity: 'info',
100
+ outcome: 'success',
101
+ source: '@rakun-kit/core/api',
102
+ correlationId: getCorrelationId(ctx),
103
+ actor: getActor(ctx),
104
+ resource: { type: 'api-operation', id: name },
105
+ tags: ['api', 'mutation', 'success', namespace],
106
+ data: {
107
+ operation: name,
108
+ kind: operation.kind,
109
+ method: operation.method,
110
+ ...(contextualData ? { context: contextualData } : {}),
111
+ },
112
+ });
113
+ }
114
+ catch (error) {
115
+ Logger?.error?.('API mutation success event could not be persisted', {
116
+ operation: name,
117
+ error,
118
+ });
119
+ }
120
+ };
121
+ //# sourceMappingURL=apiEventLog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiEventLog.js","sourceRoot":"","sources":["../../../../src/api/operations/apiEventLog.ts"],"names":[],"mappings":"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"}