@trokky/trokky 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (639) hide show
  1. package/dist/adapters/filesystem/filesystem-adapter.d.ts +80 -0
  2. package/dist/adapters/filesystem/filesystem-adapter.d.ts.map +1 -0
  3. package/dist/adapters/filesystem/filesystem-adapter.js +1370 -0
  4. package/dist/adapters/filesystem/filesystem-adapter.js.map +1 -0
  5. package/dist/adapters/filesystem/index.d.ts +29 -0
  6. package/dist/adapters/filesystem/index.d.ts.map +1 -0
  7. package/dist/adapters/filesystem/index.js +31 -0
  8. package/dist/adapters/filesystem/index.js.map +1 -0
  9. package/dist/adapters/filesystem/types.d.ts +111 -0
  10. package/dist/adapters/filesystem/types.d.ts.map +1 -0
  11. package/dist/adapters/filesystem/types.js +2 -0
  12. package/dist/adapters/filesystem/types.js.map +1 -0
  13. package/dist/adapters/filesystem-data/filesystem-data-adapter.d.ts +111 -0
  14. package/dist/adapters/filesystem-data/filesystem-data-adapter.d.ts.map +1 -0
  15. package/dist/adapters/filesystem-data/filesystem-data-adapter.js +1363 -0
  16. package/dist/adapters/filesystem-data/filesystem-data-adapter.js.map +1 -0
  17. package/dist/adapters/filesystem-data/index.d.ts +3 -0
  18. package/dist/adapters/filesystem-data/index.d.ts.map +1 -0
  19. package/dist/adapters/filesystem-data/index.js +13 -0
  20. package/dist/adapters/filesystem-data/index.js.map +1 -0
  21. package/dist/adapters/filesystem-data/types.d.ts +147 -0
  22. package/dist/adapters/filesystem-data/types.d.ts.map +1 -0
  23. package/dist/adapters/filesystem-data/types.js +2 -0
  24. package/dist/adapters/filesystem-data/types.js.map +1 -0
  25. package/dist/adapters/filesystem-media/filesystem-media-adapter.d.ts +32 -0
  26. package/dist/adapters/filesystem-media/filesystem-media-adapter.d.ts.map +1 -0
  27. package/dist/adapters/filesystem-media/filesystem-media-adapter.js +639 -0
  28. package/dist/adapters/filesystem-media/filesystem-media-adapter.js.map +1 -0
  29. package/dist/adapters/filesystem-media/index.d.ts +3 -0
  30. package/dist/adapters/filesystem-media/index.d.ts.map +1 -0
  31. package/dist/adapters/filesystem-media/index.js +13 -0
  32. package/dist/adapters/filesystem-media/index.js.map +1 -0
  33. package/dist/adapters/filesystem-media/types.d.ts +76 -0
  34. package/dist/adapters/filesystem-media/types.d.ts.map +1 -0
  35. package/dist/adapters/filesystem-media/types.js +2 -0
  36. package/dist/adapters/filesystem-media/types.js.map +1 -0
  37. package/dist/adapters/postgres-data/index.d.ts +3 -0
  38. package/dist/adapters/postgres-data/index.d.ts.map +1 -0
  39. package/dist/adapters/postgres-data/index.js +13 -0
  40. package/dist/adapters/postgres-data/index.js.map +1 -0
  41. package/dist/adapters/postgres-data/postgres-data-adapter.d.ts +154 -0
  42. package/dist/adapters/postgres-data/postgres-data-adapter.d.ts.map +1 -0
  43. package/dist/adapters/postgres-data/postgres-data-adapter.js +1432 -0
  44. package/dist/adapters/postgres-data/postgres-data-adapter.js.map +1 -0
  45. package/dist/adapters/postgres-data/types.d.ts +139 -0
  46. package/dist/adapters/postgres-data/types.d.ts.map +1 -0
  47. package/dist/adapters/postgres-data/types.js +2 -0
  48. package/dist/adapters/postgres-data/types.js.map +1 -0
  49. package/dist/core/adapters/registry.d.ts +79 -0
  50. package/dist/core/adapters/registry.d.ts.map +1 -0
  51. package/dist/core/adapters/registry.js +149 -0
  52. package/dist/core/adapters/registry.js.map +1 -0
  53. package/dist/core/core/engine.d.ts +551 -0
  54. package/dist/core/core/engine.d.ts.map +1 -0
  55. package/dist/core/core/engine.js +1074 -0
  56. package/dist/core/core/engine.js.map +1 -0
  57. package/dist/core/crypto/adapter.d.ts +63 -0
  58. package/dist/core/crypto/adapter.d.ts.map +1 -0
  59. package/dist/core/crypto/adapter.js +63 -0
  60. package/dist/core/crypto/adapter.js.map +1 -0
  61. package/dist/core/crypto/fallback-adapter.d.ts +23 -0
  62. package/dist/core/crypto/fallback-adapter.d.ts.map +1 -0
  63. package/dist/core/crypto/fallback-adapter.js +195 -0
  64. package/dist/core/crypto/fallback-adapter.js.map +1 -0
  65. package/dist/core/crypto/node-adapter.d.ts +20 -0
  66. package/dist/core/crypto/node-adapter.d.ts.map +1 -0
  67. package/dist/core/crypto/node-adapter.js +85 -0
  68. package/dist/core/crypto/node-adapter.js.map +1 -0
  69. package/dist/core/crypto/password-hash.d.ts +73 -0
  70. package/dist/core/crypto/password-hash.d.ts.map +1 -0
  71. package/dist/core/crypto/password-hash.js +244 -0
  72. package/dist/core/crypto/password-hash.js.map +1 -0
  73. package/dist/core/crypto/webcrypto-adapter.d.ts +24 -0
  74. package/dist/core/crypto/webcrypto-adapter.d.ts.map +1 -0
  75. package/dist/core/crypto/webcrypto-adapter.js +158 -0
  76. package/dist/core/crypto/webcrypto-adapter.js.map +1 -0
  77. package/dist/core/errors/index.d.ts +30 -0
  78. package/dist/core/errors/index.d.ts.map +1 -0
  79. package/dist/core/errors/index.js +61 -0
  80. package/dist/core/errors/index.js.map +1 -0
  81. package/dist/core/events/event-bus.d.ts +121 -0
  82. package/dist/core/events/event-bus.d.ts.map +1 -0
  83. package/dist/core/events/event-bus.js +631 -0
  84. package/dist/core/events/event-bus.js.map +1 -0
  85. package/dist/core/events/index.d.ts +17 -0
  86. package/dist/core/events/index.d.ts.map +1 -0
  87. package/dist/core/events/index.js +22 -0
  88. package/dist/core/events/index.js.map +1 -0
  89. package/dist/core/events/memory-storage.d.ts +57 -0
  90. package/dist/core/events/memory-storage.d.ts.map +1 -0
  91. package/dist/core/events/memory-storage.js +175 -0
  92. package/dist/core/events/memory-storage.js.map +1 -0
  93. package/dist/core/events/types.d.ts +434 -0
  94. package/dist/core/events/types.d.ts.map +1 -0
  95. package/dist/core/events/types.js +9 -0
  96. package/dist/core/events/types.js.map +1 -0
  97. package/dist/core/events/utils.d.ts +134 -0
  98. package/dist/core/events/utils.d.ts.map +1 -0
  99. package/dist/core/events/utils.js +333 -0
  100. package/dist/core/events/utils.js.map +1 -0
  101. package/dist/core/fields/conditional.d.ts +115 -0
  102. package/dist/core/fields/conditional.d.ts.map +1 -0
  103. package/dist/core/fields/conditional.js +296 -0
  104. package/dist/core/fields/conditional.js.map +1 -0
  105. package/dist/core/fields/field-type.d.ts +218 -0
  106. package/dist/core/fields/field-type.d.ts.map +1 -0
  107. package/dist/core/fields/field-type.js +17 -0
  108. package/dist/core/fields/field-type.js.map +1 -0
  109. package/dist/core/fields/helpers.d.ts +86 -0
  110. package/dist/core/fields/helpers.d.ts.map +1 -0
  111. package/dist/core/fields/helpers.js +260 -0
  112. package/dist/core/fields/helpers.js.map +1 -0
  113. package/dist/core/fields/index.d.ts +5 -0
  114. package/dist/core/fields/index.d.ts.map +1 -0
  115. package/dist/core/fields/index.js +6 -0
  116. package/dist/core/fields/index.js.map +1 -0
  117. package/dist/core/fields/registry.d.ts +78 -0
  118. package/dist/core/fields/registry.d.ts.map +1 -0
  119. package/dist/core/fields/registry.js +185 -0
  120. package/dist/core/fields/registry.js.map +1 -0
  121. package/dist/core/index.d.ts +39 -0
  122. package/dist/core/index.d.ts.map +1 -0
  123. package/dist/core/index.js +57 -0
  124. package/dist/core/index.js.map +1 -0
  125. package/dist/core/media/image-processor.d.ts +24 -0
  126. package/dist/core/media/image-processor.d.ts.map +1 -0
  127. package/dist/core/media/image-processor.js +69 -0
  128. package/dist/core/media/image-processor.js.map +1 -0
  129. package/dist/core/media/processors/cloudflare-images.d.ts +83 -0
  130. package/dist/core/media/processors/cloudflare-images.d.ts.map +1 -0
  131. package/dist/core/media/processors/cloudflare-images.js +241 -0
  132. package/dist/core/media/processors/cloudflare-images.js.map +1 -0
  133. package/dist/core/media/processors/cloudflare-transform-store.d.ts +127 -0
  134. package/dist/core/media/processors/cloudflare-transform-store.d.ts.map +1 -0
  135. package/dist/core/media/processors/cloudflare-transform-store.js +237 -0
  136. package/dist/core/media/processors/cloudflare-transform-store.js.map +1 -0
  137. package/dist/core/media/processors/cloudflare-transformations.d.ts +81 -0
  138. package/dist/core/media/processors/cloudflare-transformations.d.ts.map +1 -0
  139. package/dist/core/media/processors/cloudflare-transformations.js +144 -0
  140. package/dist/core/media/processors/cloudflare-transformations.js.map +1 -0
  141. package/dist/core/media/processors/index.d.ts +9 -0
  142. package/dist/core/media/processors/index.d.ts.map +1 -0
  143. package/dist/core/media/processors/index.js +13 -0
  144. package/dist/core/media/processors/index.js.map +1 -0
  145. package/dist/core/media/processors/noop.d.ts +22 -0
  146. package/dist/core/media/processors/noop.d.ts.map +1 -0
  147. package/dist/core/media/processors/noop.js +38 -0
  148. package/dist/core/media/processors/noop.js.map +1 -0
  149. package/dist/core/media/processors/sharp.d.ts +30 -0
  150. package/dist/core/media/processors/sharp.d.ts.map +1 -0
  151. package/dist/core/media/processors/sharp.js +126 -0
  152. package/dist/core/media/processors/sharp.js.map +1 -0
  153. package/dist/core/media/processors/types.d.ts +67 -0
  154. package/dist/core/media/processors/types.d.ts.map +1 -0
  155. package/dist/core/media/processors/types.js +42 -0
  156. package/dist/core/media/processors/types.js.map +1 -0
  157. package/dist/core/media/processors/workers-images.d.ts +112 -0
  158. package/dist/core/media/processors/workers-images.d.ts.map +1 -0
  159. package/dist/core/media/processors/workers-images.js +257 -0
  160. package/dist/core/media/processors/workers-images.js.map +1 -0
  161. package/dist/core/schema/registry.d.ts +41 -0
  162. package/dist/core/schema/registry.d.ts.map +1 -0
  163. package/dist/core/schema/registry.js +248 -0
  164. package/dist/core/schema/registry.js.map +1 -0
  165. package/dist/core/schema/singleton.d.ts +107 -0
  166. package/dist/core/schema/singleton.d.ts.map +1 -0
  167. package/dist/core/schema/singleton.js +180 -0
  168. package/dist/core/schema/singleton.js.map +1 -0
  169. package/dist/core/security/auth.d.ts +120 -0
  170. package/dist/core/security/auth.d.ts.map +1 -0
  171. package/dist/core/security/auth.js +274 -0
  172. package/dist/core/security/auth.js.map +1 -0
  173. package/dist/core/security/captcha/index.d.ts +21 -0
  174. package/dist/core/security/captcha/index.d.ts.map +1 -0
  175. package/dist/core/security/captcha/index.js +34 -0
  176. package/dist/core/security/captcha/index.js.map +1 -0
  177. package/dist/core/security/captcha/recaptcha.d.ts +41 -0
  178. package/dist/core/security/captcha/recaptcha.d.ts.map +1 -0
  179. package/dist/core/security/captcha/recaptcha.js +89 -0
  180. package/dist/core/security/captcha/recaptcha.js.map +1 -0
  181. package/dist/core/security/captcha/turnstile.d.ts +41 -0
  182. package/dist/core/security/captcha/turnstile.d.ts.map +1 -0
  183. package/dist/core/security/captcha/turnstile.js +90 -0
  184. package/dist/core/security/captcha/turnstile.js.map +1 -0
  185. package/dist/core/security/captcha/types.d.ts +66 -0
  186. package/dist/core/security/captcha/types.d.ts.map +1 -0
  187. package/dist/core/security/captcha/types.js +7 -0
  188. package/dist/core/security/captcha/types.js.map +1 -0
  189. package/dist/core/security/mfa/email-otp.d.ts +91 -0
  190. package/dist/core/security/mfa/email-otp.d.ts.map +1 -0
  191. package/dist/core/security/mfa/email-otp.js +264 -0
  192. package/dist/core/security/mfa/email-otp.js.map +1 -0
  193. package/dist/core/security/mfa/index.d.ts +8 -0
  194. package/dist/core/security/mfa/index.d.ts.map +1 -0
  195. package/dist/core/security/mfa/index.js +8 -0
  196. package/dist/core/security/mfa/index.js.map +1 -0
  197. package/dist/core/security/mfa/totp.d.ts +87 -0
  198. package/dist/core/security/mfa/totp.d.ts.map +1 -0
  199. package/dist/core/security/mfa/totp.js +293 -0
  200. package/dist/core/security/mfa/totp.js.map +1 -0
  201. package/dist/core/security/middleware.d.ts +102 -0
  202. package/dist/core/security/middleware.d.ts.map +1 -0
  203. package/dist/core/security/middleware.js +261 -0
  204. package/dist/core/security/middleware.js.map +1 -0
  205. package/dist/core/security/oauth/google.d.ts +76 -0
  206. package/dist/core/security/oauth/google.d.ts.map +1 -0
  207. package/dist/core/security/oauth/google.js +154 -0
  208. package/dist/core/security/oauth/google.js.map +1 -0
  209. package/dist/core/security/oauth/index.d.ts +8 -0
  210. package/dist/core/security/oauth/index.d.ts.map +1 -0
  211. package/dist/core/security/oauth/index.js +7 -0
  212. package/dist/core/security/oauth/index.js.map +1 -0
  213. package/dist/core/security/oauth2/authorization-server.d.ts +195 -0
  214. package/dist/core/security/oauth2/authorization-server.d.ts.map +1 -0
  215. package/dist/core/security/oauth2/authorization-server.js +569 -0
  216. package/dist/core/security/oauth2/authorization-server.js.map +1 -0
  217. package/dist/core/security/oauth2/index.d.ts +9 -0
  218. package/dist/core/security/oauth2/index.d.ts.map +1 -0
  219. package/dist/core/security/oauth2/index.js +9 -0
  220. package/dist/core/security/oauth2/index.js.map +1 -0
  221. package/dist/core/security/rate-limiter.d.ts +15 -0
  222. package/dist/core/security/rate-limiter.d.ts.map +1 -0
  223. package/dist/core/security/rate-limiter.js +48 -0
  224. package/dist/core/security/rate-limiter.js.map +1 -0
  225. package/dist/core/security/validation.d.ts +20 -0
  226. package/dist/core/security/validation.d.ts.map +1 -0
  227. package/dist/core/security/validation.js +273 -0
  228. package/dist/core/security/validation.js.map +1 -0
  229. package/dist/core/services/auth-service.d.ts +128 -0
  230. package/dist/core/services/auth-service.d.ts.map +1 -0
  231. package/dist/core/services/auth-service.js +530 -0
  232. package/dist/core/services/auth-service.js.map +1 -0
  233. package/dist/core/services/captcha-service.d.ts +44 -0
  234. package/dist/core/services/captcha-service.d.ts.map +1 -0
  235. package/dist/core/services/captcha-service.js +82 -0
  236. package/dist/core/services/captcha-service.js.map +1 -0
  237. package/dist/core/services/document-service.d.ts +59 -0
  238. package/dist/core/services/document-service.d.ts.map +1 -0
  239. package/dist/core/services/document-service.js +269 -0
  240. package/dist/core/services/document-service.js.map +1 -0
  241. package/dist/core/services/media-service.d.ts +40 -0
  242. package/dist/core/services/media-service.d.ts.map +1 -0
  243. package/dist/core/services/media-service.js +396 -0
  244. package/dist/core/services/media-service.js.map +1 -0
  245. package/dist/core/services/mfa-service.d.ts +123 -0
  246. package/dist/core/services/mfa-service.d.ts.map +1 -0
  247. package/dist/core/services/mfa-service.js +606 -0
  248. package/dist/core/services/mfa-service.js.map +1 -0
  249. package/dist/core/services/oauth-service.d.ts +58 -0
  250. package/dist/core/services/oauth-service.d.ts.map +1 -0
  251. package/dist/core/services/oauth-service.js +253 -0
  252. package/dist/core/services/oauth-service.js.map +1 -0
  253. package/dist/core/services/oauth2-server-service.d.ts +61 -0
  254. package/dist/core/services/oauth2-server-service.d.ts.map +1 -0
  255. package/dist/core/services/oauth2-server-service.js +259 -0
  256. package/dist/core/services/oauth2-server-service.js.map +1 -0
  257. package/dist/core/services/passkey-service.d.ts +59 -0
  258. package/dist/core/services/passkey-service.d.ts.map +1 -0
  259. package/dist/core/services/passkey-service.js +238 -0
  260. package/dist/core/services/passkey-service.js.map +1 -0
  261. package/dist/core/services/token-service.d.ts +31 -0
  262. package/dist/core/services/token-service.d.ts.map +1 -0
  263. package/dist/core/services/token-service.js +132 -0
  264. package/dist/core/services/token-service.js.map +1 -0
  265. package/dist/core/services/trusted-device-service.d.ts +39 -0
  266. package/dist/core/services/trusted-device-service.d.ts.map +1 -0
  267. package/dist/core/services/trusted-device-service.js +123 -0
  268. package/dist/core/services/trusted-device-service.js.map +1 -0
  269. package/dist/core/services/user-service.d.ts +38 -0
  270. package/dist/core/services/user-service.d.ts.map +1 -0
  271. package/dist/core/services/user-service.js +265 -0
  272. package/dist/core/services/user-service.js.map +1 -0
  273. package/dist/core/studio/integration.d.ts +54 -0
  274. package/dist/core/studio/integration.d.ts.map +1 -0
  275. package/dist/core/studio/integration.js +326 -0
  276. package/dist/core/studio/integration.js.map +1 -0
  277. package/dist/core/types/index.d.ts +282 -0
  278. package/dist/core/types/index.d.ts.map +1 -0
  279. package/dist/core/types/index.js +83 -0
  280. package/dist/core/types/index.js.map +1 -0
  281. package/dist/core/types/mail.d.ts +90 -0
  282. package/dist/core/types/mail.d.ts.map +1 -0
  283. package/dist/core/types/mail.js +7 -0
  284. package/dist/core/types/mail.js.map +1 -0
  285. package/dist/core/types/oauth2.d.ts +9 -0
  286. package/dist/core/types/oauth2.d.ts.map +1 -0
  287. package/dist/core/types/oauth2.js +7 -0
  288. package/dist/core/types/oauth2.js.map +1 -0
  289. package/dist/core/types/storage-adapters.d.ts +611 -0
  290. package/dist/core/types/storage-adapters.d.ts.map +1 -0
  291. package/dist/core/types/storage-adapters.js +14 -0
  292. package/dist/core/types/storage-adapters.js.map +1 -0
  293. package/dist/core/types/user.d.ts +10 -0
  294. package/dist/core/types/user.d.ts.map +1 -0
  295. package/dist/core/types/user.js +45 -0
  296. package/dist/core/types/user.js.map +1 -0
  297. package/dist/core/utils/id-generator.d.ts +16 -0
  298. package/dist/core/utils/id-generator.d.ts.map +1 -0
  299. package/dist/core/utils/id-generator.js +61 -0
  300. package/dist/core/utils/id-generator.js.map +1 -0
  301. package/dist/core/utils/logger.d.ts +100 -0
  302. package/dist/core/utils/logger.d.ts.map +1 -0
  303. package/dist/core/utils/logger.js +212 -0
  304. package/dist/core/utils/logger.js.map +1 -0
  305. package/dist/core/utils/reference-expander.d.ts +57 -0
  306. package/dist/core/utils/reference-expander.d.ts.map +1 -0
  307. package/dist/core/utils/reference-expander.js +192 -0
  308. package/dist/core/utils/reference-expander.js.map +1 -0
  309. package/dist/core/utils/universal-crypto.d.ts +46 -0
  310. package/dist/core/utils/universal-crypto.d.ts.map +1 -0
  311. package/dist/core/utils/universal-crypto.js +171 -0
  312. package/dist/core/utils/universal-crypto.js.map +1 -0
  313. package/dist/core/validation/validator.d.ts +11 -0
  314. package/dist/core/validation/validator.d.ts.map +1 -0
  315. package/dist/core/validation/validator.js +164 -0
  316. package/dist/core/validation/validator.js.map +1 -0
  317. package/dist/i18n/config.d.ts +4077 -0
  318. package/dist/i18n/config.d.ts.map +1 -0
  319. package/dist/i18n/config.js +116 -0
  320. package/dist/i18n/config.js.map +1 -0
  321. package/dist/i18n/hooks.d.ts +86 -0
  322. package/dist/i18n/hooks.d.ts.map +1 -0
  323. package/dist/i18n/hooks.js +122 -0
  324. package/dist/i18n/hooks.js.map +1 -0
  325. package/dist/i18n/index.d.ts +39 -0
  326. package/dist/i18n/index.d.ts.map +1 -0
  327. package/dist/i18n/index.js +40 -0
  328. package/dist/i18n/index.js.map +1 -0
  329. package/dist/i18n/locales/en/auth.json +108 -0
  330. package/dist/i18n/locales/en/common.json +100 -0
  331. package/dist/i18n/locales/en/errors.json +55 -0
  332. package/dist/i18n/locales/en/fields.json +456 -0
  333. package/dist/i18n/locales/en/studio.json +1329 -0
  334. package/dist/i18n/locales/fr/auth.json +108 -0
  335. package/dist/i18n/locales/fr/common.json +100 -0
  336. package/dist/i18n/locales/fr/errors.json +55 -0
  337. package/dist/i18n/locales/fr/fields.json +456 -0
  338. package/dist/i18n/locales/fr/studio.json +1274 -0
  339. package/dist/i18n/provider.d.ts +45 -0
  340. package/dist/i18n/provider.d.ts.map +1 -0
  341. package/dist/i18n/provider.js +49 -0
  342. package/dist/i18n/provider.js.map +1 -0
  343. package/dist/i18n/types.d.ts +8 -0
  344. package/dist/i18n/types.d.ts.map +1 -0
  345. package/dist/i18n/types.js +7 -0
  346. package/dist/i18n/types.js.map +1 -0
  347. package/dist/index.d.ts +15 -0
  348. package/dist/index.d.ts.map +1 -0
  349. package/dist/index.js +16 -0
  350. package/dist/index.js.map +1 -0
  351. package/dist/integrations/express/adapter.d.ts +33 -0
  352. package/dist/integrations/express/adapter.d.ts.map +1 -0
  353. package/dist/integrations/express/adapter.js +203 -0
  354. package/dist/integrations/express/adapter.js.map +1 -0
  355. package/dist/integrations/express/config.d.ts +599 -0
  356. package/dist/integrations/express/config.d.ts.map +1 -0
  357. package/dist/integrations/express/config.js +166 -0
  358. package/dist/integrations/express/config.js.map +1 -0
  359. package/dist/integrations/express/index.d.ts +10 -0
  360. package/dist/integrations/express/index.d.ts.map +1 -0
  361. package/dist/integrations/express/index.js +9 -0
  362. package/dist/integrations/express/index.js.map +1 -0
  363. package/dist/integrations/express/integration.d.ts +111 -0
  364. package/dist/integrations/express/integration.d.ts.map +1 -0
  365. package/dist/integrations/express/integration.js +730 -0
  366. package/dist/integrations/express/integration.js.map +1 -0
  367. package/dist/integrations/express/media-rewrite-middleware.d.ts +78 -0
  368. package/dist/integrations/express/media-rewrite-middleware.d.ts.map +1 -0
  369. package/dist/integrations/express/media-rewrite-middleware.js +211 -0
  370. package/dist/integrations/express/media-rewrite-middleware.js.map +1 -0
  371. package/dist/integrations/express/media-url-generator.d.ts +52 -0
  372. package/dist/integrations/express/media-url-generator.d.ts.map +1 -0
  373. package/dist/integrations/express/media-url-generator.js +107 -0
  374. package/dist/integrations/express/media-url-generator.js.map +1 -0
  375. package/dist/integrations/express/middleware.d.ts +25 -0
  376. package/dist/integrations/express/middleware.d.ts.map +1 -0
  377. package/dist/integrations/express/middleware.js +130 -0
  378. package/dist/integrations/express/middleware.js.map +1 -0
  379. package/dist/integrations/express/server.d.ts +99 -0
  380. package/dist/integrations/express/server.d.ts.map +1 -0
  381. package/dist/integrations/express/server.js +597 -0
  382. package/dist/integrations/express/server.js.map +1 -0
  383. package/dist/integrations/express/types.d.ts +106 -0
  384. package/dist/integrations/express/types.d.ts.map +1 -0
  385. package/dist/integrations/express/types.js +2 -0
  386. package/dist/integrations/express/types.js.map +1 -0
  387. package/dist/mail/adapters/console.d.ts +30 -0
  388. package/dist/mail/adapters/console.d.ts.map +1 -0
  389. package/dist/mail/adapters/console.js +169 -0
  390. package/dist/mail/adapters/console.js.map +1 -0
  391. package/dist/mail/adapters/resend.d.ts +18 -0
  392. package/dist/mail/adapters/resend.d.ts.map +1 -0
  393. package/dist/mail/adapters/resend.js +148 -0
  394. package/dist/mail/adapters/resend.js.map +1 -0
  395. package/dist/mail/adapters/smtp.d.ts +22 -0
  396. package/dist/mail/adapters/smtp.d.ts.map +1 -0
  397. package/dist/mail/adapters/smtp.js +180 -0
  398. package/dist/mail/adapters/smtp.js.map +1 -0
  399. package/dist/mail/index.d.ts +15 -0
  400. package/dist/mail/index.d.ts.map +1 -0
  401. package/dist/mail/index.js +13 -0
  402. package/dist/mail/index.js.map +1 -0
  403. package/dist/mail/mail-service.d.ts +180 -0
  404. package/dist/mail/mail-service.d.ts.map +1 -0
  405. package/dist/mail/mail-service.js +370 -0
  406. package/dist/mail/mail-service.js.map +1 -0
  407. package/dist/mail/notification-service.d.ts +82 -0
  408. package/dist/mail/notification-service.d.ts.map +1 -0
  409. package/dist/mail/notification-service.js +262 -0
  410. package/dist/mail/notification-service.js.map +1 -0
  411. package/dist/mail/templates/built-in-templates.d.ts +47 -0
  412. package/dist/mail/templates/built-in-templates.d.ts.map +1 -0
  413. package/dist/mail/templates/built-in-templates.js +416 -0
  414. package/dist/mail/templates/built-in-templates.js.map +1 -0
  415. package/dist/mail/templates/custom-template-renderer.d.ts +115 -0
  416. package/dist/mail/templates/custom-template-renderer.d.ts.map +1 -0
  417. package/dist/mail/templates/custom-template-renderer.js +225 -0
  418. package/dist/mail/templates/custom-template-renderer.js.map +1 -0
  419. package/dist/mail/types.d.ts +7 -0
  420. package/dist/mail/types.d.ts.map +1 -0
  421. package/dist/mail/types.js +7 -0
  422. package/dist/mail/types.js.map +1 -0
  423. package/dist/routes/auth/captcha.d.ts +33 -0
  424. package/dist/routes/auth/captcha.d.ts.map +1 -0
  425. package/dist/routes/auth/captcha.js +102 -0
  426. package/dist/routes/auth/captcha.js.map +1 -0
  427. package/dist/routes/auth/change-password.d.ts +17 -0
  428. package/dist/routes/auth/change-password.d.ts.map +1 -0
  429. package/dist/routes/auth/change-password.js +121 -0
  430. package/dist/routes/auth/change-password.js.map +1 -0
  431. package/dist/routes/auth/index.d.ts +13 -0
  432. package/dist/routes/auth/index.d.ts.map +1 -0
  433. package/dist/routes/auth/index.js +35 -0
  434. package/dist/routes/auth/index.js.map +1 -0
  435. package/dist/routes/auth/mfa.d.ts +121 -0
  436. package/dist/routes/auth/mfa.d.ts.map +1 -0
  437. package/dist/routes/auth/mfa.js +1143 -0
  438. package/dist/routes/auth/mfa.js.map +1 -0
  439. package/dist/routes/auth/oauth.d.ts +37 -0
  440. package/dist/routes/auth/oauth.d.ts.map +1 -0
  441. package/dist/routes/auth/oauth.js +420 -0
  442. package/dist/routes/auth/oauth.js.map +1 -0
  443. package/dist/routes/auth/oauth2-server.d.ts +70 -0
  444. package/dist/routes/auth/oauth2-server.d.ts.map +1 -0
  445. package/dist/routes/auth/oauth2-server.js +775 -0
  446. package/dist/routes/auth/oauth2-server.js.map +1 -0
  447. package/dist/routes/auth/passkey.d.ts +65 -0
  448. package/dist/routes/auth/passkey.d.ts.map +1 -0
  449. package/dist/routes/auth/passkey.js +910 -0
  450. package/dist/routes/auth/passkey.js.map +1 -0
  451. package/dist/routes/auth/password-reset.d.ts +23 -0
  452. package/dist/routes/auth/password-reset.d.ts.map +1 -0
  453. package/dist/routes/auth/password-reset.js +336 -0
  454. package/dist/routes/auth/password-reset.js.map +1 -0
  455. package/dist/routes/handlers/audit.d.ts +21 -0
  456. package/dist/routes/handlers/audit.d.ts.map +1 -0
  457. package/dist/routes/handlers/audit.js +124 -0
  458. package/dist/routes/handlers/audit.js.map +1 -0
  459. package/dist/routes/handlers/auth.d.ts +150 -0
  460. package/dist/routes/handlers/auth.d.ts.map +1 -0
  461. package/dist/routes/handlers/auth.js +512 -0
  462. package/dist/routes/handlers/auth.js.map +1 -0
  463. package/dist/routes/handlers/base.d.ts +34 -0
  464. package/dist/routes/handlers/base.d.ts.map +1 -0
  465. package/dist/routes/handlers/base.js +366 -0
  466. package/dist/routes/handlers/base.js.map +1 -0
  467. package/dist/routes/handlers/config.d.ts +31 -0
  468. package/dist/routes/handlers/config.d.ts.map +1 -0
  469. package/dist/routes/handlers/config.js +483 -0
  470. package/dist/routes/handlers/config.js.map +1 -0
  471. package/dist/routes/handlers/documents.d.ts +50 -0
  472. package/dist/routes/handlers/documents.d.ts.map +1 -0
  473. package/dist/routes/handlers/documents.js +708 -0
  474. package/dist/routes/handlers/documents.js.map +1 -0
  475. package/dist/routes/handlers/index.d.ts +12 -0
  476. package/dist/routes/handlers/index.d.ts.map +1 -0
  477. package/dist/routes/handlers/index.js +11 -0
  478. package/dist/routes/handlers/index.js.map +1 -0
  479. package/dist/routes/handlers/media.d.ts +24 -0
  480. package/dist/routes/handlers/media.d.ts.map +1 -0
  481. package/dist/routes/handlers/media.js +432 -0
  482. package/dist/routes/handlers/media.js.map +1 -0
  483. package/dist/routes/handlers/search.d.ts +10 -0
  484. package/dist/routes/handlers/search.d.ts.map +1 -0
  485. package/dist/routes/handlers/search.js +153 -0
  486. package/dist/routes/handlers/search.js.map +1 -0
  487. package/dist/routes/handlers/tokens.d.ts +14 -0
  488. package/dist/routes/handlers/tokens.d.ts.map +1 -0
  489. package/dist/routes/handlers/tokens.js +109 -0
  490. package/dist/routes/handlers/tokens.js.map +1 -0
  491. package/dist/routes/handlers/types.d.ts +13 -0
  492. package/dist/routes/handlers/types.d.ts.map +1 -0
  493. package/dist/routes/handlers/types.js +5 -0
  494. package/dist/routes/handlers/types.js.map +1 -0
  495. package/dist/routes/handlers/users.d.ts +16 -0
  496. package/dist/routes/handlers/users.d.ts.map +1 -0
  497. package/dist/routes/handlers/users.js +198 -0
  498. package/dist/routes/handlers/users.js.map +1 -0
  499. package/dist/routes/handlers/webhooks.d.ts +37 -0
  500. package/dist/routes/handlers/webhooks.d.ts.map +1 -0
  501. package/dist/routes/handlers/webhooks.js +343 -0
  502. package/dist/routes/handlers/webhooks.js.map +1 -0
  503. package/dist/routes/index.d.ts +5 -0
  504. package/dist/routes/index.d.ts.map +1 -0
  505. package/dist/routes/index.js +5 -0
  506. package/dist/routes/index.js.map +1 -0
  507. package/dist/routes/routes.d.ts +29 -0
  508. package/dist/routes/routes.d.ts.map +1 -0
  509. package/dist/routes/routes.js +531 -0
  510. package/dist/routes/routes.js.map +1 -0
  511. package/dist/routes/slug-processor.d.ts +32 -0
  512. package/dist/routes/slug-processor.d.ts.map +1 -0
  513. package/dist/routes/slug-processor.js +328 -0
  514. package/dist/routes/slug-processor.js.map +1 -0
  515. package/dist/routes/types.d.ts +31 -0
  516. package/dist/routes/types.d.ts.map +1 -0
  517. package/dist/routes/types.js +7 -0
  518. package/dist/routes/types.js.map +1 -0
  519. package/dist/routes/users/index.d.ts +7 -0
  520. package/dist/routes/users/index.d.ts.map +1 -0
  521. package/dist/routes/users/index.js +7 -0
  522. package/dist/routes/users/index.js.map +1 -0
  523. package/dist/structure/builder/StructureBuilder.d.ts +209 -0
  524. package/dist/structure/builder/StructureBuilder.d.ts.map +1 -0
  525. package/dist/structure/builder/StructureBuilder.js +425 -0
  526. package/dist/structure/builder/StructureBuilder.js.map +1 -0
  527. package/dist/structure/builder/index.d.ts +8 -0
  528. package/dist/structure/builder/index.d.ts.map +1 -0
  529. package/dist/structure/builder/index.js +6 -0
  530. package/dist/structure/builder/index.js.map +1 -0
  531. package/dist/structure/builder/navigation-tree-builder.d.ts +33 -0
  532. package/dist/structure/builder/navigation-tree-builder.d.ts.map +1 -0
  533. package/dist/structure/builder/navigation-tree-builder.js +284 -0
  534. package/dist/structure/builder/navigation-tree-builder.js.map +1 -0
  535. package/dist/structure/errors/index.d.ts +72 -0
  536. package/dist/structure/errors/index.d.ts.map +1 -0
  537. package/dist/structure/errors/index.js +136 -0
  538. package/dist/structure/errors/index.js.map +1 -0
  539. package/dist/structure/index.d.ts +14 -0
  540. package/dist/structure/index.d.ts.map +1 -0
  541. package/dist/structure/index.js +16 -0
  542. package/dist/structure/index.js.map +1 -0
  543. package/dist/structure/types/filters.d.ts +167 -0
  544. package/dist/structure/types/filters.d.ts.map +1 -0
  545. package/dist/structure/types/filters.js +38 -0
  546. package/dist/structure/types/filters.js.map +1 -0
  547. package/dist/structure/types/index.d.ts +11 -0
  548. package/dist/structure/types/index.d.ts.map +1 -0
  549. package/dist/structure/types/index.js +7 -0
  550. package/dist/structure/types/index.js.map +1 -0
  551. package/dist/structure/types/permissions.d.ts +159 -0
  552. package/dist/structure/types/permissions.d.ts.map +1 -0
  553. package/dist/structure/types/permissions.js +49 -0
  554. package/dist/structure/types/permissions.js.map +1 -0
  555. package/dist/structure/types/structure.d.ts +342 -0
  556. package/dist/structure/types/structure.d.ts.map +1 -0
  557. package/dist/structure/types/structure.js +6 -0
  558. package/dist/structure/types/structure.js.map +1 -0
  559. package/dist/structure/types/views.d.ts +278 -0
  560. package/dist/structure/types/views.d.ts.map +1 -0
  561. package/dist/structure/types/views.js +6 -0
  562. package/dist/structure/types/views.js.map +1 -0
  563. package/dist/structure/utils/hash.d.ts +61 -0
  564. package/dist/structure/utils/hash.d.ts.map +1 -0
  565. package/dist/structure/utils/hash.js +118 -0
  566. package/dist/structure/utils/hash.js.map +1 -0
  567. package/dist/structure/utils/index.d.ts +10 -0
  568. package/dist/structure/utils/index.d.ts.map +1 -0
  569. package/dist/structure/utils/index.js +7 -0
  570. package/dist/structure/utils/index.js.map +1 -0
  571. package/dist/structure/utils/permission-checker.d.ts +57 -0
  572. package/dist/structure/utils/permission-checker.d.ts.map +1 -0
  573. package/dist/structure/utils/permission-checker.js +286 -0
  574. package/dist/structure/utils/permission-checker.js.map +1 -0
  575. package/dist/structure/utils/query-builder.d.ts +82 -0
  576. package/dist/structure/utils/query-builder.d.ts.map +1 -0
  577. package/dist/structure/utils/query-builder.js +489 -0
  578. package/dist/structure/utils/query-builder.js.map +1 -0
  579. package/dist/structure/utils/structure-merger.d.ts +91 -0
  580. package/dist/structure/utils/structure-merger.d.ts.map +1 -0
  581. package/dist/structure/utils/structure-merger.js +445 -0
  582. package/dist/structure/utils/structure-merger.js.map +1 -0
  583. package/dist/structure/validation/schemas.d.ts +3107 -0
  584. package/dist/structure/validation/schemas.d.ts.map +1 -0
  585. package/dist/structure/validation/schemas.js +436 -0
  586. package/dist/structure/validation/schemas.js.map +1 -0
  587. package/dist/types/api-requests.d.ts +334 -0
  588. package/dist/types/api-requests.d.ts.map +1 -0
  589. package/dist/types/api-requests.js +8 -0
  590. package/dist/types/api-requests.js.map +1 -0
  591. package/dist/types/auth.d.ts +394 -0
  592. package/dist/types/auth.d.ts.map +1 -0
  593. package/dist/types/auth.js +8 -0
  594. package/dist/types/auth.js.map +1 -0
  595. package/dist/types/document.d.ts +49 -0
  596. package/dist/types/document.d.ts.map +1 -0
  597. package/dist/types/document.js +6 -0
  598. package/dist/types/document.js.map +1 -0
  599. package/dist/types/field-system.d.ts +197 -0
  600. package/dist/types/field-system.d.ts.map +1 -0
  601. package/dist/types/field-system.js +8 -0
  602. package/dist/types/field-system.js.map +1 -0
  603. package/dist/types/fields.d.ts +17 -0
  604. package/dist/types/fields.d.ts.map +1 -0
  605. package/dist/types/fields.js +21 -0
  606. package/dist/types/fields.js.map +1 -0
  607. package/dist/types/http.d.ts +162 -0
  608. package/dist/types/http.d.ts.map +1 -0
  609. package/dist/types/http.js +8 -0
  610. package/dist/types/http.js.map +1 -0
  611. package/dist/types/i18n.d.ts +56 -0
  612. package/dist/types/i18n.d.ts.map +1 -0
  613. package/dist/types/i18n.js +25 -0
  614. package/dist/types/i18n.js.map +1 -0
  615. package/dist/types/index.d.ts +22 -0
  616. package/dist/types/index.d.ts.map +1 -0
  617. package/dist/types/index.js +10 -0
  618. package/dist/types/index.js.map +1 -0
  619. package/dist/types/mail.d.ts +224 -0
  620. package/dist/types/mail.d.ts.map +1 -0
  621. package/dist/types/mail.js +8 -0
  622. package/dist/types/mail.js.map +1 -0
  623. package/dist/types/media.d.ts +56 -0
  624. package/dist/types/media.d.ts.map +1 -0
  625. package/dist/types/media.js +6 -0
  626. package/dist/types/media.js.map +1 -0
  627. package/dist/types/oauth2.d.ts +287 -0
  628. package/dist/types/oauth2.d.ts.map +1 -0
  629. package/dist/types/oauth2.js +43 -0
  630. package/dist/types/oauth2.js.map +1 -0
  631. package/dist/types/passkey.d.ts +217 -0
  632. package/dist/types/passkey.d.ts.map +1 -0
  633. package/dist/types/passkey.js +8 -0
  634. package/dist/types/passkey.js.map +1 -0
  635. package/dist/types/slug.d.ts +99 -0
  636. package/dist/types/slug.d.ts.map +1 -0
  637. package/dist/types/slug.js +8 -0
  638. package/dist/types/slug.js.map +1 -0
  639. package/package.json +183 -0
@@ -0,0 +1,434 @@
1
+ /**
2
+ * Trokky Event System Types
3
+ *
4
+ * Defines the core event types, interfaces, and structures for the Trokky CMS
5
+ * event system. This enables webhooks, caching invalidation, audit logs, and
6
+ * real-time updates.
7
+ */
8
+ import type { Document, MediaFile, User, AppToken } from '../types/index.js';
9
+ /**
10
+ * Base interface for all Trokky events
11
+ */
12
+ export interface TrokkyEvent {
13
+ /** Unique event identifier */
14
+ id: string;
15
+ /** Event type (e.g., 'document.created', 'user.login') */
16
+ type: string;
17
+ /** Event timestamp */
18
+ timestamp: Date;
19
+ /** Source system that generated the event */
20
+ source: 'trokky-core' | 'api' | 'studio' | 'migration' | 'webhook' | 'system';
21
+ /** Actor who triggered the event (if applicable) */
22
+ actor?: EventActor;
23
+ /** Event-specific data payload */
24
+ data: Record<string, unknown>;
25
+ /** Additional metadata */
26
+ metadata?: EventMetadata;
27
+ }
28
+ /**
29
+ * Actor who triggered an event
30
+ */
31
+ export interface EventActor {
32
+ /** Actor type */
33
+ type: 'user' | 'system' | 'app-token' | 'anonymous';
34
+ /** Actor ID */
35
+ id: string;
36
+ /** Actor display name */
37
+ name?: string;
38
+ /** Actor email (for users) */
39
+ email?: string;
40
+ }
41
+ /**
42
+ * Event metadata for additional context
43
+ */
44
+ export interface EventMetadata {
45
+ /** User agent string */
46
+ userAgent?: string;
47
+ /** IP address */
48
+ ipAddress?: string;
49
+ /** Request trace ID for debugging */
50
+ traceId?: string;
51
+ /** Session ID */
52
+ sessionId?: string;
53
+ /** Additional custom metadata */
54
+ [key: string]: unknown;
55
+ }
56
+ /**
57
+ * Document-related events
58
+ */
59
+ export interface DocumentEvent extends TrokkyEvent {
60
+ type: 'document.created' | 'document.updated' | 'document.deleted' | 'document.published' | 'document.unpublished';
61
+ data: {
62
+ /** Collection name */
63
+ collection: string;
64
+ /** Document ID */
65
+ id: string;
66
+ /** Current document state */
67
+ document?: Document;
68
+ /** Previous document state (for updates) */
69
+ previousDocument?: Document;
70
+ /** List of changed field names (for updates) */
71
+ changes?: string[];
72
+ /** Publication status change (for publish/unpublish events) */
73
+ publishedState?: {
74
+ from: boolean;
75
+ to: boolean;
76
+ };
77
+ };
78
+ }
79
+ /**
80
+ * Media-related events
81
+ */
82
+ export interface MediaEvent extends TrokkyEvent {
83
+ type: 'media.uploaded' | 'media.updated' | 'media.deleted' | 'media.variant.generated' | 'media.variant.deleted';
84
+ data: {
85
+ /** Media file ID */
86
+ fileId: string;
87
+ /** Media file record */
88
+ file?: MediaFile;
89
+ /** Variant name (for variant events) */
90
+ variantName?: string;
91
+ /** Processing time for variant generation */
92
+ processingTime?: number;
93
+ /** Variant details */
94
+ variant?: {
95
+ name: string;
96
+ format: string;
97
+ size: number;
98
+ width?: number;
99
+ height?: number;
100
+ };
101
+ };
102
+ }
103
+ /**
104
+ * User-related events
105
+ */
106
+ export interface UserEvent extends TrokkyEvent {
107
+ type: 'user.created' | 'user.updated' | 'user.deleted' | 'user.login' | 'user.logout' | 'user.password_changed' | 'user.password_reset_requested' | 'user.role_changed' | 'user.invited';
108
+ data: {
109
+ /** User ID */
110
+ userId: string;
111
+ /** User record */
112
+ user?: User;
113
+ /** Session ID (for login/logout) */
114
+ sessionId?: string;
115
+ /** Login method */
116
+ loginMethod?: 'password' | 'token' | 'oauth';
117
+ /** Role change details */
118
+ roleChange?: {
119
+ from: string;
120
+ to: string;
121
+ };
122
+ /** Login attempt details */
123
+ loginAttempt?: {
124
+ success: boolean;
125
+ reason?: string;
126
+ ipAddress?: string;
127
+ };
128
+ /** Password reset token (for password_reset_requested) */
129
+ resetToken?: string;
130
+ /** Invite token (for user.invited) */
131
+ inviteToken?: string;
132
+ /** Inviter name (for user.invited) */
133
+ inviterName?: string;
134
+ /** Email (for user.invited) */
135
+ email?: string;
136
+ };
137
+ }
138
+ /**
139
+ * App token related events
140
+ */
141
+ export interface AppTokenEvent extends TrokkyEvent {
142
+ type: 'app_token.created' | 'app_token.updated' | 'app_token.deleted' | 'app_token.used';
143
+ data: {
144
+ /** Token ID */
145
+ tokenId: string;
146
+ /** App token record */
147
+ token?: AppToken;
148
+ /** Usage details (for token.used events) */
149
+ usage?: {
150
+ endpoint: string;
151
+ method: string;
152
+ ipAddress?: string;
153
+ userAgent?: string;
154
+ };
155
+ };
156
+ }
157
+ /**
158
+ * System-related events
159
+ */
160
+ export interface SystemEvent extends TrokkyEvent {
161
+ type: 'system.startup' | 'system.shutdown' | 'system.error' | 'system.migration' | 'system.backup' | 'system.health_check';
162
+ data: {
163
+ /** System component */
164
+ component?: string;
165
+ /** Error details (for error events) */
166
+ error?: {
167
+ message: string;
168
+ stack?: string;
169
+ code?: string;
170
+ };
171
+ /** Migration details */
172
+ migration?: {
173
+ version: string;
174
+ direction: 'up' | 'down';
175
+ duration?: number;
176
+ };
177
+ /** Health check results */
178
+ healthCheck?: {
179
+ status: 'healthy' | 'degraded' | 'unhealthy';
180
+ checks: Record<string, boolean>;
181
+ };
182
+ /** Backup details */
183
+ backup?: {
184
+ type: 'full' | 'incremental';
185
+ destination: string;
186
+ size?: number;
187
+ };
188
+ };
189
+ }
190
+ /**
191
+ * Cache-related events
192
+ */
193
+ export interface CacheEvent extends TrokkyEvent {
194
+ type: 'cache.hit' | 'cache.miss' | 'cache.invalidated' | 'cache.cleared';
195
+ data: {
196
+ /** Cache key */
197
+ key: string;
198
+ /** Cache keys (for bulk operations) */
199
+ keys?: string[];
200
+ /** Cache statistics */
201
+ stats?: {
202
+ hitRate: number;
203
+ missRate: number;
204
+ size: number;
205
+ };
206
+ };
207
+ }
208
+ /**
209
+ * Webhook-related events
210
+ */
211
+ export interface WebhookEvent extends TrokkyEvent {
212
+ type: 'webhook.delivered' | 'webhook.failed' | 'webhook.retry';
213
+ data: {
214
+ /** Webhook ID */
215
+ webhookId: string;
216
+ /** Webhook URL */
217
+ url: string;
218
+ /** Original event that triggered the webhook */
219
+ originalEvent: TrokkyEvent;
220
+ /** Delivery attempt number */
221
+ attempt: number;
222
+ /** HTTP response status */
223
+ statusCode?: number;
224
+ /** Response time in milliseconds */
225
+ responseTime?: number;
226
+ /** Error message (for failures) */
227
+ error?: string;
228
+ };
229
+ }
230
+ /**
231
+ * Union of all specific event types
232
+ */
233
+ export type AnyTrokkyEvent = DocumentEvent | MediaEvent | UserEvent | AppTokenEvent | SystemEvent | CacheEvent | WebhookEvent;
234
+ /**
235
+ * Filter options for querying events
236
+ */
237
+ export interface EventFilter {
238
+ /** Filter by event type (supports wildcards) */
239
+ type?: string | string[];
240
+ /** Filter by actor ID */
241
+ actor?: string;
242
+ /** Filter by source system */
243
+ source?: string | string[];
244
+ /** Filter by date range */
245
+ since?: Date;
246
+ /** Filter by date range */
247
+ until?: Date;
248
+ /** Filter by event data (simple key-value matching) */
249
+ data?: Record<string, unknown>;
250
+ /** Maximum number of events to return */
251
+ limit?: number;
252
+ /** Number of events to skip */
253
+ offset?: number;
254
+ /** Sort order */
255
+ sortOrder?: 'asc' | 'desc';
256
+ }
257
+ /**
258
+ * Event query result
259
+ */
260
+ export interface EventQueryResult {
261
+ /** Matching events */
262
+ events: TrokkyEvent[];
263
+ /** Total count (before pagination) */
264
+ totalCount: number;
265
+ /** Whether there are more events available */
266
+ hasMore: boolean;
267
+ /** Pagination cursor for next page */
268
+ nextCursor?: string;
269
+ }
270
+ /**
271
+ * Event listener function type
272
+ */
273
+ export type EventListener<T extends TrokkyEvent = TrokkyEvent> = (event: T) => void | Promise<void>;
274
+ /**
275
+ * Event listener configuration
276
+ */
277
+ export interface EventListenerConfig {
278
+ /** Unique listener ID */
279
+ id: string;
280
+ /** Event pattern to listen for (supports wildcards) */
281
+ pattern: string | string[];
282
+ /** Listener function */
283
+ handler: EventListener;
284
+ /** Whether the listener should be called asynchronously */
285
+ async?: boolean;
286
+ /** Maximum number of times this listener should fire */
287
+ maxInvocations?: number;
288
+ /** Current invocation count */
289
+ invocations?: number;
290
+ }
291
+ /**
292
+ * Webhook configuration
293
+ */
294
+ export interface WebhookConfig {
295
+ /** Unique webhook ID */
296
+ id: string;
297
+ /** Webhook name/description */
298
+ name: string;
299
+ /** Target URL */
300
+ url: string;
301
+ /** Event patterns to listen for */
302
+ events: string[];
303
+ /** Secret for signature verification */
304
+ secret: string;
305
+ /** Whether webhook is active */
306
+ active: boolean;
307
+ /** Additional HTTP headers */
308
+ headers?: Record<string, string>;
309
+ /** Retry policy */
310
+ retryPolicy?: WebhookRetryPolicy;
311
+ /** Created timestamp */
312
+ createdAt: Date;
313
+ /** Last updated timestamp */
314
+ updatedAt: Date;
315
+ /** Created by user ID */
316
+ createdBy: string;
317
+ }
318
+ /**
319
+ * Webhook retry policy
320
+ */
321
+ export interface WebhookRetryPolicy {
322
+ /** Maximum number of retry attempts */
323
+ maxRetries: number;
324
+ /** Backoff strategy */
325
+ backoffType: 'linear' | 'exponential';
326
+ /** Base delay between retries (in milliseconds) */
327
+ baseDelay: number;
328
+ /** Maximum delay between retries (in milliseconds) */
329
+ maxDelay?: number;
330
+ /** HTTP status codes that should trigger retries */
331
+ retryOnStatus?: number[];
332
+ }
333
+ /**
334
+ * Webhook delivery payload
335
+ */
336
+ export interface WebhookPayload {
337
+ /** Webhook metadata */
338
+ webhook: {
339
+ id: string;
340
+ name: string;
341
+ };
342
+ /** The event that triggered this webhook */
343
+ event: TrokkyEvent;
344
+ /** Delivery metadata */
345
+ delivery: {
346
+ id: string;
347
+ timestamp: Date;
348
+ attempt: number;
349
+ };
350
+ }
351
+ /**
352
+ * Webhook delivery result
353
+ */
354
+ export interface WebhookDeliveryResult {
355
+ /** Delivery ID */
356
+ deliveryId: string;
357
+ /** Whether delivery was successful */
358
+ success: boolean;
359
+ /** HTTP status code */
360
+ statusCode?: number;
361
+ /** Response time in milliseconds */
362
+ responseTime: number;
363
+ /** Error message (if failed) */
364
+ error?: string;
365
+ /** Timestamp of delivery attempt */
366
+ timestamp: Date;
367
+ /** Attempt number */
368
+ attempt: number;
369
+ }
370
+ /**
371
+ * Minimal interface for webhook persistence.
372
+ * EventBus depends on this instead of DataStorageAdapter, breaking the
373
+ * circular dependency between core/events and core/types/storage-adapters.
374
+ */
375
+ export interface WebhookStorage {
376
+ saveWebhook(id: string, webhookData: Partial<WebhookConfig>): Promise<WebhookConfig>;
377
+ listWebhooks(options?: {
378
+ active?: boolean;
379
+ limit?: number;
380
+ offset?: number;
381
+ }): Promise<WebhookConfig[]>;
382
+ deleteWebhook(id: string): Promise<void>;
383
+ }
384
+ /**
385
+ * Interface for storing and retrieving events
386
+ */
387
+ export interface EventStorage {
388
+ /**
389
+ * Store an event
390
+ */
391
+ store(event: TrokkyEvent): Promise<void>;
392
+ /**
393
+ * Query events with filtering
394
+ */
395
+ query(filter?: EventFilter): Promise<EventQueryResult>;
396
+ /**
397
+ * Get a specific event by ID
398
+ */
399
+ getEvent(id: string): Promise<TrokkyEvent | null>;
400
+ /**
401
+ * Delete events older than the specified date
402
+ */
403
+ cleanup(olderThan: Date): Promise<number>;
404
+ /**
405
+ * Get event statistics
406
+ */
407
+ getStats(): Promise<EventStats>;
408
+ /**
409
+ * Release whatever the storage is holding open — connections, and above all timers.
410
+ *
411
+ * Optional because a storage that only appends to an array has nothing to release, and
412
+ * third-party implementations written against this interface before the method existed
413
+ * must keep compiling. Note this is not `cleanup()` above — that one deletes old events
414
+ * and the process stays alive afterwards; this one is what lets it exit. Make it safe to
415
+ * call twice.
416
+ */
417
+ close?(): Promise<void>;
418
+ }
419
+ /**
420
+ * Event system statistics
421
+ */
422
+ export interface EventStats {
423
+ /** Total number of events */
424
+ totalEvents: number;
425
+ /** Events by type */
426
+ eventsByType: Record<string, number>;
427
+ /** Events by source */
428
+ eventsBySource: Record<string, number>;
429
+ /** Events in the last 24 hours */
430
+ recentEvents: number;
431
+ /** Average events per day */
432
+ avgEventsPerDay: number;
433
+ }
434
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/events/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Trokky Event System Types
3
+ *
4
+ * Defines the core event types, interfaces, and structures for the Trokky CMS
5
+ * event system. This enables webhooks, caching invalidation, audit logs, and
6
+ * real-time updates.
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/events/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -0,0 +1,134 @@
1
+ /**
2
+ * Event System Utilities
3
+ *
4
+ * Helper functions for creating and working with events in the Trokky CMS.
5
+ */
6
+ import type { TrokkyEvent, DocumentEvent, MediaEvent, UserEvent, AppTokenEvent, SystemEvent, EventActor, EventMetadata } from './types.js';
7
+ import type { Document, MediaFile, User, AppToken } from '../types/index.js';
8
+ /**
9
+ * Create a document-related event
10
+ */
11
+ export declare function createDocumentEvent(type: DocumentEvent['type'], data: DocumentEvent['data'], actor?: EventActor, metadata?: EventMetadata): Omit<DocumentEvent, 'id' | 'timestamp'>;
12
+ /**
13
+ * Create a media-related event
14
+ */
15
+ export declare function createMediaEvent(type: MediaEvent['type'], data: MediaEvent['data'], actor?: EventActor, metadata?: EventMetadata): Omit<MediaEvent, 'id' | 'timestamp'>;
16
+ /**
17
+ * Create a user-related event
18
+ */
19
+ export declare function createUserEvent(type: UserEvent['type'], data: UserEvent['data'], actor?: EventActor, metadata?: EventMetadata): Omit<UserEvent, 'id' | 'timestamp'>;
20
+ /**
21
+ * Create an app token related event
22
+ */
23
+ export declare function createAppTokenEvent(type: AppTokenEvent['type'], data: AppTokenEvent['data'], actor?: EventActor, metadata?: EventMetadata): Omit<AppTokenEvent, 'id' | 'timestamp'>;
24
+ /**
25
+ * Create a system event
26
+ */
27
+ export declare function createSystemEvent(type: SystemEvent['type'], data: SystemEvent['data'], metadata?: EventMetadata): Omit<SystemEvent, 'id' | 'timestamp'>;
28
+ /**
29
+ * Create document created event
30
+ */
31
+ export declare function documentCreated(collection: string, document: Document, actor?: EventActor, metadata?: EventMetadata): Omit<DocumentEvent, 'id' | 'timestamp'>;
32
+ /**
33
+ * Create document updated event
34
+ */
35
+ export declare function documentUpdated(collection: string, document: Document, previousDocument?: Document, changes?: string[], actor?: EventActor, metadata?: EventMetadata): Omit<DocumentEvent, 'id' | 'timestamp'>;
36
+ /**
37
+ * Create document deleted event
38
+ */
39
+ export declare function documentDeleted(collection: string, id: string, previousDocument?: Document, actor?: EventActor, metadata?: EventMetadata): Omit<DocumentEvent, 'id' | 'timestamp'>;
40
+ /**
41
+ * Create document published event
42
+ */
43
+ export declare function documentPublished(collection: string, document: Document, wasPublished: boolean, actor?: EventActor, metadata?: EventMetadata): Omit<DocumentEvent, 'id' | 'timestamp'>;
44
+ /**
45
+ * Create document unpublished event
46
+ */
47
+ export declare function documentUnpublished(collection: string, document: Document, wasPublished: boolean, actor?: EventActor, metadata?: EventMetadata): Omit<DocumentEvent, 'id' | 'timestamp'>;
48
+ /**
49
+ * Create media uploaded event
50
+ */
51
+ export declare function mediaUploaded(file: MediaFile, actor?: EventActor, metadata?: EventMetadata): Omit<MediaEvent, 'id' | 'timestamp'>;
52
+ /**
53
+ * Create media updated event
54
+ */
55
+ export declare function mediaUpdated(file: MediaFile, actor?: EventActor, metadata?: EventMetadata): Omit<MediaEvent, 'id' | 'timestamp'>;
56
+ /**
57
+ * Create media deleted event
58
+ */
59
+ export declare function mediaDeleted(fileId: string, file?: MediaFile, actor?: EventActor, metadata?: EventMetadata): Omit<MediaEvent, 'id' | 'timestamp'>;
60
+ /**
61
+ * Create media variant generated event
62
+ */
63
+ export declare function mediaVariantGenerated(fileId: string, variantName: string, variant: {
64
+ name: string;
65
+ format: string;
66
+ size: number;
67
+ width?: number;
68
+ height?: number;
69
+ }, processingTime?: number, actor?: EventActor, metadata?: EventMetadata): Omit<MediaEvent, 'id' | 'timestamp'>;
70
+ /**
71
+ * Create user created event
72
+ */
73
+ export declare function userCreated(user: User, actor?: EventActor, metadata?: EventMetadata): Omit<UserEvent, 'id' | 'timestamp'>;
74
+ /**
75
+ * Create user updated event
76
+ */
77
+ export declare function userUpdated(user: User, actor?: EventActor, metadata?: EventMetadata): Omit<UserEvent, 'id' | 'timestamp'>;
78
+ /**
79
+ * Create user deleted event
80
+ */
81
+ export declare function userDeleted(userId: string, user?: User, actor?: EventActor, metadata?: EventMetadata): Omit<UserEvent, 'id' | 'timestamp'>;
82
+ /**
83
+ * Create user login event
84
+ */
85
+ export declare function userLogin(user: User, sessionId: string, loginMethod: 'password' | 'token' | 'oauth', success: boolean, ipAddress?: string, metadata?: EventMetadata): Omit<UserEvent, 'id' | 'timestamp'>;
86
+ /**
87
+ * Create user logout event
88
+ */
89
+ export declare function userLogout(user: User, sessionId: string, metadata?: EventMetadata): Omit<UserEvent, 'id' | 'timestamp'>;
90
+ /**
91
+ * Create user role changed event
92
+ */
93
+ export declare function userRoleChanged(user: User, fromRole: string, toRole: string, actor?: EventActor, metadata?: EventMetadata): Omit<UserEvent, 'id' | 'timestamp'>;
94
+ /**
95
+ * Create app token created event
96
+ */
97
+ export declare function appTokenCreated(token: AppToken, actor?: EventActor, metadata?: EventMetadata): Omit<AppTokenEvent, 'id' | 'timestamp'>;
98
+ /**
99
+ * Create app token used event
100
+ */
101
+ export declare function appTokenUsed(token: AppToken, endpoint: string, method: string, ipAddress?: string, userAgent?: string, metadata?: EventMetadata): Omit<AppTokenEvent, 'id' | 'timestamp'>;
102
+ /**
103
+ * Create system startup event
104
+ */
105
+ export declare function systemStartup(component?: string, metadata?: EventMetadata): Omit<SystemEvent, 'id' | 'timestamp'>;
106
+ /**
107
+ * Create system shutdown event
108
+ */
109
+ export declare function systemShutdown(component?: string, metadata?: EventMetadata): Omit<SystemEvent, 'id' | 'timestamp'>;
110
+ /**
111
+ * Create system error event
112
+ */
113
+ export declare function systemError(error: Error, component?: string, metadata?: EventMetadata): Omit<SystemEvent, 'id' | 'timestamp'>;
114
+ /**
115
+ * Check if an event matches a pattern
116
+ */
117
+ export declare function eventMatches(event: TrokkyEvent, pattern: string): boolean;
118
+ /**
119
+ * Extract field changes from document update
120
+ */
121
+ export declare function extractDocumentChanges(current: Document, previous?: Document): string[];
122
+ /**
123
+ * Create EventActor from User
124
+ */
125
+ export declare function actorFromUser(user: User): EventActor;
126
+ /**
127
+ * Create EventActor from AppToken
128
+ */
129
+ export declare function actorFromAppToken(token: AppToken): EventActor;
130
+ /**
131
+ * Create system actor
132
+ */
133
+ export declare function systemActor(): EventActor;
134
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/core/events/utils.ts"],"names":[],"mappings":"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"}