@hed-hog/core 0.0.387 → 0.0.393

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 (935) hide show
  1. package/README.md +51 -11
  2. package/dist/access-log/access-log.controller.d.ts.map +1 -1
  3. package/dist/access-log/access-log.controller.js +1 -1
  4. package/dist/access-log/access-log.controller.js.map +1 -1
  5. package/dist/access-log/access-log.interceptor.d.ts.map +1 -1
  6. package/dist/access-log/access-log.interceptor.js +11 -6
  7. package/dist/access-log/access-log.interceptor.js.map +1 -1
  8. package/dist/access-log/access-log.service.d.ts +4 -0
  9. package/dist/access-log/access-log.service.d.ts.map +1 -1
  10. package/dist/access-log/access-log.service.js +31 -4
  11. package/dist/access-log/access-log.service.js.map +1 -1
  12. package/dist/access-log/dto/query-access-log.dto.d.ts +2 -0
  13. package/dist/access-log/dto/query-access-log.dto.d.ts.map +1 -1
  14. package/dist/access-log/dto/query-access-log.dto.js +5 -0
  15. package/dist/access-log/dto/query-access-log.dto.js.map +1 -1
  16. package/dist/ai/ai-attachment.fragments.d.ts +23 -0
  17. package/dist/ai/ai-attachment.fragments.d.ts.map +1 -0
  18. package/dist/ai/ai-attachment.fragments.js +34 -0
  19. package/dist/ai/ai-attachment.fragments.js.map +1 -0
  20. package/dist/ai/ai.controller.d.ts +12 -17
  21. package/dist/ai/ai.controller.d.ts.map +1 -1
  22. package/dist/ai/ai.controller.js +17 -2
  23. package/dist/ai/ai.controller.js.map +1 -1
  24. package/dist/ai/ai.module.d.ts.map +1 -1
  25. package/dist/ai/ai.module.js +3 -2
  26. package/dist/ai/ai.module.js.map +1 -1
  27. package/dist/ai/ai.prompts.d.ts +16 -0
  28. package/dist/ai/ai.prompts.d.ts.map +1 -0
  29. package/dist/ai/ai.prompts.js +37 -0
  30. package/dist/ai/ai.prompts.js.map +1 -0
  31. package/dist/ai/ai.service.d.ts +92 -12
  32. package/dist/ai/ai.service.d.ts.map +1 -1
  33. package/dist/ai/ai.service.js +309 -88
  34. package/dist/ai/ai.service.js.map +1 -1
  35. package/dist/ai/dto/chat.dto.d.ts +4 -1
  36. package/dist/ai/dto/chat.dto.d.ts.map +1 -1
  37. package/dist/ai/dto/chat.dto.js +23 -1
  38. package/dist/ai/dto/chat.dto.js.map +1 -1
  39. package/dist/ai/dto/create-agent.dto.d.ts +1 -1
  40. package/dist/ai/dto/create-agent.dto.d.ts.map +1 -1
  41. package/dist/ai/dto/create-agent.dto.js +1 -1
  42. package/dist/ai/dto/create-agent.dto.js.map +1 -1
  43. package/dist/ai/dto/richtext-edit-html.dto.d.ts +5 -0
  44. package/dist/ai/dto/richtext-edit-html.dto.d.ts.map +1 -0
  45. package/dist/ai/dto/richtext-edit-html.dto.js +27 -0
  46. package/dist/ai/dto/richtext-edit-html.dto.js.map +1 -0
  47. package/dist/ai/dto/update-agent.dto.d.ts +1 -1
  48. package/dist/ai/dto/update-agent.dto.d.ts.map +1 -1
  49. package/dist/ai/dto/update-agent.dto.js +1 -1
  50. package/dist/ai/dto/update-agent.dto.js.map +1 -1
  51. package/dist/ai/richtext-ai.prompts.d.ts +5 -0
  52. package/dist/ai/richtext-ai.prompts.d.ts.map +1 -0
  53. package/dist/ai/richtext-ai.prompts.js +57 -0
  54. package/dist/ai/richtext-ai.prompts.js.map +1 -0
  55. package/dist/ai/richtext-ai.service.d.ts +34 -0
  56. package/dist/ai/richtext-ai.service.d.ts.map +1 -0
  57. package/dist/ai/richtext-ai.service.js +95 -0
  58. package/dist/ai/richtext-ai.service.js.map +1 -0
  59. package/dist/ai-instruction/ai-instruction.controller.d.ts +59 -5
  60. package/dist/ai-instruction/ai-instruction.controller.d.ts.map +1 -1
  61. package/dist/ai-instruction/ai-instruction.controller.js +63 -20
  62. package/dist/ai-instruction/ai-instruction.controller.js.map +1 -1
  63. package/dist/ai-instruction/ai-instruction.module.d.ts.map +1 -1
  64. package/dist/ai-instruction/ai-instruction.module.js +13 -2
  65. package/dist/ai-instruction/ai-instruction.module.js.map +1 -1
  66. package/dist/ai-instruction/ai-instruction.service.d.ts +131 -6
  67. package/dist/ai-instruction/ai-instruction.service.d.ts.map +1 -1
  68. package/dist/ai-instruction/ai-instruction.service.js +533 -60
  69. package/dist/ai-instruction/ai-instruction.service.js.map +1 -1
  70. package/dist/ai-instruction/ai-prompt-builder.service.d.ts +8 -0
  71. package/dist/ai-instruction/ai-prompt-builder.service.d.ts.map +1 -1
  72. package/dist/ai-instruction/ai-prompt-builder.service.js +10 -1
  73. package/dist/ai-instruction/ai-prompt-builder.service.js.map +1 -1
  74. package/dist/ai-instruction/ai-prompt-registry.d.ts +45 -0
  75. package/dist/ai-instruction/ai-prompt-registry.d.ts.map +1 -0
  76. package/dist/ai-instruction/ai-prompt-registry.js +49 -0
  77. package/dist/ai-instruction/ai-prompt-registry.js.map +1 -0
  78. package/dist/ai-instruction/ai-prompt-resolver.service.d.ts +89 -0
  79. package/dist/ai-instruction/ai-prompt-resolver.service.d.ts.map +1 -0
  80. package/dist/ai-instruction/ai-prompt-resolver.service.js +222 -0
  81. package/dist/ai-instruction/ai-prompt-resolver.service.js.map +1 -0
  82. package/dist/ai-instruction/ai-prompt-template.util.d.ts +70 -0
  83. package/dist/ai-instruction/ai-prompt-template.util.d.ts.map +1 -0
  84. package/dist/ai-instruction/ai-prompt-template.util.js +154 -0
  85. package/dist/ai-instruction/ai-prompt-template.util.js.map +1 -0
  86. package/dist/ai-instruction/dto/create-ai-instruction.dto.d.ts +5 -0
  87. package/dist/ai-instruction/dto/create-ai-instruction.dto.d.ts.map +1 -1
  88. package/dist/ai-instruction/dto/create-ai-instruction.dto.js +27 -1
  89. package/dist/ai-instruction/dto/create-ai-instruction.dto.js.map +1 -1
  90. package/dist/ai-instruction/dto/preview-ai-instruction.dto.d.ts +14 -0
  91. package/dist/ai-instruction/dto/preview-ai-instruction.dto.d.ts.map +1 -0
  92. package/dist/ai-instruction/dto/preview-ai-instruction.dto.js +42 -0
  93. package/dist/ai-instruction/dto/preview-ai-instruction.dto.js.map +1 -0
  94. package/dist/ai-instruction/dto/update-ai-instruction.dto.d.ts +11 -0
  95. package/dist/ai-instruction/dto/update-ai-instruction.dto.d.ts.map +1 -1
  96. package/dist/ai-instruction/dto/update-ai-instruction.dto.js +34 -0
  97. package/dist/ai-instruction/dto/update-ai-instruction.dto.js.map +1 -1
  98. package/dist/ai-instruction/types/ai-instruction.types.d.ts +13 -1
  99. package/dist/ai-instruction/types/ai-instruction.types.d.ts.map +1 -1
  100. package/dist/ai-instruction/types/ai-instruction.types.js +10 -0
  101. package/dist/ai-instruction/types/ai-instruction.types.js.map +1 -1
  102. package/dist/auth/auth.controller.d.ts +89 -15
  103. package/dist/auth/auth.controller.d.ts.map +1 -1
  104. package/dist/auth/auth.controller.js +116 -44
  105. package/dist/auth/auth.controller.js.map +1 -1
  106. package/dist/auth/auth.module.d.ts.map +1 -1
  107. package/dist/auth/auth.module.js +2 -0
  108. package/dist/auth/auth.module.js.map +1 -1
  109. package/dist/auth/auth.service.d.ts +169 -12
  110. package/dist/auth/auth.service.d.ts.map +1 -1
  111. package/dist/auth/auth.service.js +314 -67
  112. package/dist/auth/auth.service.js.map +1 -1
  113. package/dist/auth/dto/confirm-email.dto.d.ts +4 -0
  114. package/dist/auth/dto/confirm-email.dto.d.ts.map +1 -0
  115. package/dist/auth/dto/confirm-email.dto.js +22 -0
  116. package/dist/auth/dto/confirm-email.dto.js.map +1 -0
  117. package/dist/auth/dto/resend-confirmation.dto.d.ts +8 -0
  118. package/dist/auth/dto/resend-confirmation.dto.d.ts.map +1 -0
  119. package/dist/auth/dto/resend-confirmation.dto.js +36 -0
  120. package/dist/auth/dto/resend-confirmation.dto.js.map +1 -0
  121. package/dist/authorize/authorize.controller.d.ts +1 -1
  122. package/dist/authorize/authorize.controller.d.ts.map +1 -1
  123. package/dist/authorize/authorize.controller.js +4 -2
  124. package/dist/authorize/authorize.controller.js.map +1 -1
  125. package/dist/authorize/authorize.service.d.ts +7 -0
  126. package/dist/authorize/authorize.service.d.ts.map +1 -1
  127. package/dist/authorize/authorize.service.js +1 -1
  128. package/dist/authorize/authorize.service.js.map +1 -1
  129. package/dist/captcha/captcha.module.d.ts +3 -0
  130. package/dist/captcha/captcha.module.d.ts.map +1 -0
  131. package/dist/captcha/captcha.module.js +23 -0
  132. package/dist/captcha/captcha.module.js.map +1 -0
  133. package/dist/captcha/captcha.service.d.ts +38 -0
  134. package/dist/captcha/captcha.service.d.ts.map +1 -0
  135. package/dist/captcha/captcha.service.js +144 -0
  136. package/dist/captcha/captcha.service.js.map +1 -0
  137. package/dist/challenge/challenge.service.d.ts +31 -9
  138. package/dist/challenge/challenge.service.d.ts.map +1 -1
  139. package/dist/challenge/challenge.service.js +111 -16
  140. package/dist/challenge/challenge.service.js.map +1 -1
  141. package/dist/core.module.d.ts +3 -1
  142. package/dist/core.module.d.ts.map +1 -1
  143. package/dist/core.module.js +46 -2
  144. package/dist/core.module.js.map +1 -1
  145. package/dist/dashboard/dashboard/dashboard.controller.d.ts +21 -21
  146. package/dist/dashboard/dashboard/dashboard.service.d.ts +21 -21
  147. package/dist/dashboard/dashboard-component/dashboard-component.controller.d.ts +10 -10
  148. package/dist/dashboard/dashboard-component/dashboard-component.service.d.ts +10 -10
  149. package/dist/dashboard/dashboard-component-role/dashboard-component-role.controller.d.ts +20 -20
  150. package/dist/dashboard/dashboard-component-role/dashboard-component-role.service.d.ts +20 -20
  151. package/dist/dashboard/dashboard-core/dashboard-core.controller.d.ts +3 -3
  152. package/dist/dashboard/dashboard-core/dashboard-core.service.d.ts +3 -3
  153. package/dist/dashboard/dashboard-item/dashboard-item.controller.d.ts +2 -2
  154. package/dist/dashboard/dashboard-item/dashboard-item.service.d.ts +2 -2
  155. package/dist/dashboard/dashboard-role/dashboard-role.controller.d.ts +13 -13
  156. package/dist/dashboard/dashboard-role/dashboard-role.service.d.ts +13 -13
  157. package/dist/file/file.controller.d.ts +8 -1
  158. package/dist/file/file.controller.d.ts.map +1 -1
  159. package/dist/file/file.controller.js +45 -7
  160. package/dist/file/file.controller.js.map +1 -1
  161. package/dist/file/file.service.d.ts +134 -1
  162. package/dist/file/file.service.d.ts.map +1 -1
  163. package/dist/file/file.service.js +363 -12
  164. package/dist/file/file.service.js.map +1 -1
  165. package/dist/file/image-optimization.service.d.ts +43 -0
  166. package/dist/file/image-optimization.service.d.ts.map +1 -1
  167. package/dist/file/image-optimization.service.js +154 -0
  168. package/dist/file/image-optimization.service.js.map +1 -1
  169. package/dist/file/provider/abstract.provider.d.ts +16 -0
  170. package/dist/file/provider/abstract.provider.d.ts.map +1 -1
  171. package/dist/file/provider/abstract.provider.js +4 -0
  172. package/dist/file/provider/abstract.provider.js.map +1 -1
  173. package/dist/file/provider/gcs.provider.d.ts +2 -0
  174. package/dist/file/provider/gcs.provider.d.ts.map +1 -1
  175. package/dist/file/provider/gcs.provider.js +10 -0
  176. package/dist/file/provider/gcs.provider.js.map +1 -1
  177. package/dist/file/provider/local.provider.d.ts +1 -0
  178. package/dist/file/provider/local.provider.d.ts.map +1 -1
  179. package/dist/file/provider/local.provider.js +13 -0
  180. package/dist/file/provider/local.provider.js.map +1 -1
  181. package/dist/file/provider/s3.provider.d.ts +5 -0
  182. package/dist/file/provider/s3.provider.d.ts.map +1 -1
  183. package/dist/file/provider/s3.provider.js +15 -0
  184. package/dist/file/provider/s3.provider.js.map +1 -1
  185. package/dist/file/provider/spaces.provider.d.ts +5 -0
  186. package/dist/file/provider/spaces.provider.d.ts.map +1 -1
  187. package/dist/file/provider/spaces.provider.js +16 -0
  188. package/dist/file/provider/spaces.provider.js.map +1 -1
  189. package/dist/impersonation/dto/redeem-impersonation.dto.d.ts +4 -0
  190. package/dist/impersonation/dto/redeem-impersonation.dto.d.ts.map +1 -0
  191. package/dist/impersonation/dto/redeem-impersonation.dto.js +23 -0
  192. package/dist/impersonation/dto/redeem-impersonation.dto.js.map +1 -0
  193. package/dist/impersonation/dto/start-impersonation.dto.d.ts +7 -0
  194. package/dist/impersonation/dto/start-impersonation.dto.d.ts.map +1 -0
  195. package/dist/impersonation/dto/start-impersonation.dto.js +27 -0
  196. package/dist/impersonation/dto/start-impersonation.dto.js.map +1 -0
  197. package/dist/impersonation/impersonation-restrictions.d.ts +26 -0
  198. package/dist/impersonation/impersonation-restrictions.d.ts.map +1 -0
  199. package/dist/impersonation/impersonation-restrictions.js +76 -0
  200. package/dist/impersonation/impersonation-restrictions.js.map +1 -0
  201. package/dist/impersonation/impersonation.controller.d.ts +90 -0
  202. package/dist/impersonation/impersonation.controller.d.ts.map +1 -0
  203. package/dist/impersonation/impersonation.controller.js +135 -0
  204. package/dist/impersonation/impersonation.controller.js.map +1 -0
  205. package/dist/impersonation/impersonation.module.d.ts +8 -0
  206. package/dist/impersonation/impersonation.module.d.ts.map +1 -0
  207. package/dist/impersonation/impersonation.module.js +44 -0
  208. package/dist/impersonation/impersonation.module.js.map +1 -0
  209. package/dist/impersonation/impersonation.service.d.ts +164 -0
  210. package/dist/impersonation/impersonation.service.d.ts.map +1 -0
  211. package/dist/impersonation/impersonation.service.js +408 -0
  212. package/dist/impersonation/impersonation.service.js.map +1 -0
  213. package/dist/incident/incident-notifier.service.d.ts +36 -0
  214. package/dist/incident/incident-notifier.service.d.ts.map +1 -0
  215. package/dist/incident/incident-notifier.service.js +208 -0
  216. package/dist/incident/incident-notifier.service.js.map +1 -0
  217. package/dist/incident/incident.controller.d.ts +23 -0
  218. package/dist/incident/incident.controller.d.ts.map +1 -0
  219. package/dist/incident/incident.controller.js +75 -0
  220. package/dist/incident/incident.controller.js.map +1 -0
  221. package/dist/incident/incident.module.d.ts +7 -0
  222. package/dist/incident/incident.module.d.ts.map +1 -0
  223. package/dist/incident/incident.module.js +32 -0
  224. package/dist/incident/incident.module.js.map +1 -0
  225. package/dist/incident/incident.service.d.ts +72 -0
  226. package/dist/incident/incident.service.d.ts.map +1 -0
  227. package/dist/incident/incident.service.js +184 -0
  228. package/dist/incident/incident.service.js.map +1 -0
  229. package/dist/index.d.ts +43 -0
  230. package/dist/index.d.ts.map +1 -1
  231. package/dist/index.js +49 -0
  232. package/dist/index.js.map +1 -1
  233. package/dist/integration/services/outbox-polling.coordinator.d.ts +2 -0
  234. package/dist/integration/services/outbox-polling.coordinator.d.ts.map +1 -1
  235. package/dist/integration/services/outbox-polling.coordinator.js +50 -30
  236. package/dist/integration/services/outbox-polling.coordinator.js.map +1 -1
  237. package/dist/integration/services/outbox.service.d.ts.map +1 -1
  238. package/dist/integration/services/outbox.service.js +5 -1
  239. package/dist/integration/services/outbox.service.js.map +1 -1
  240. package/dist/integration-profile/dto/test.dto.d.ts +13 -0
  241. package/dist/integration-profile/dto/test.dto.d.ts.map +1 -0
  242. package/dist/integration-profile/dto/test.dto.js +26 -0
  243. package/dist/integration-profile/dto/test.dto.js.map +1 -0
  244. package/dist/integration-profile/integration-profile.controller.d.ts +12 -1
  245. package/dist/integration-profile/integration-profile.controller.d.ts.map +1 -1
  246. package/dist/integration-profile/integration-profile.controller.js +9 -1
  247. package/dist/integration-profile/integration-profile.controller.js.map +1 -1
  248. package/dist/integration-profile/integration-profile.module.d.ts +6 -1
  249. package/dist/integration-profile/integration-profile.module.d.ts.map +1 -1
  250. package/dist/integration-profile/integration-profile.module.js +26 -3
  251. package/dist/integration-profile/integration-profile.module.js.map +1 -1
  252. package/dist/integration-profile/integration-profile.secrets.d.ts.map +1 -1
  253. package/dist/integration-profile/integration-profile.secrets.js +12 -1
  254. package/dist/integration-profile/integration-profile.secrets.js.map +1 -1
  255. package/dist/integration-profile/integration-profile.service.d.ts +26 -7
  256. package/dist/integration-profile/integration-profile.service.d.ts.map +1 -1
  257. package/dist/integration-profile/integration-profile.service.js +94 -91
  258. package/dist/integration-profile/integration-profile.service.js.map +1 -1
  259. package/dist/integration-profile/integration-profile.utils.d.ts +27 -1
  260. package/dist/integration-profile/integration-profile.utils.d.ts.map +1 -1
  261. package/dist/integration-profile/integration-profile.utils.js +46 -5
  262. package/dist/integration-profile/integration-profile.utils.js.map +1 -1
  263. package/dist/integration-profile/testers/ai.testers.d.ts +3 -0
  264. package/dist/integration-profile/testers/ai.testers.d.ts.map +1 -0
  265. package/dist/integration-profile/testers/ai.testers.js +125 -0
  266. package/dist/integration-profile/testers/ai.testers.js.map +1 -0
  267. package/dist/integration-profile/testers/captcha.testers.d.ts +3 -0
  268. package/dist/integration-profile/testers/captcha.testers.d.ts.map +1 -0
  269. package/dist/integration-profile/testers/captcha.testers.js +121 -0
  270. package/dist/integration-profile/testers/captcha.testers.js.map +1 -0
  271. package/dist/integration-profile/testers/email.testers.d.ts +3 -0
  272. package/dist/integration-profile/testers/email.testers.d.ts.map +1 -0
  273. package/dist/integration-profile/testers/email.testers.js +156 -0
  274. package/dist/integration-profile/testers/email.testers.js.map +1 -0
  275. package/dist/integration-profile/testers/http-probe.d.ts +57 -0
  276. package/dist/integration-profile/testers/http-probe.d.ts.map +1 -0
  277. package/dist/integration-profile/testers/http-probe.js +140 -0
  278. package/dist/integration-profile/testers/http-probe.js.map +1 -0
  279. package/dist/integration-profile/testers/index.d.ts +12 -0
  280. package/dist/integration-profile/testers/index.d.ts.map +1 -0
  281. package/dist/integration-profile/testers/index.js +45 -0
  282. package/dist/integration-profile/testers/index.js.map +1 -0
  283. package/dist/integration-profile/testers/infrastructure.testers.d.ts +3 -0
  284. package/dist/integration-profile/testers/infrastructure.testers.d.ts.map +1 -0
  285. package/dist/integration-profile/testers/infrastructure.testers.js +105 -0
  286. package/dist/integration-profile/testers/infrastructure.testers.js.map +1 -0
  287. package/dist/integration-profile/testers/integration-tester.registry.d.ts +17 -0
  288. package/dist/integration-profile/testers/integration-tester.registry.d.ts.map +1 -0
  289. package/dist/integration-profile/testers/integration-tester.registry.js +52 -0
  290. package/dist/integration-profile/testers/integration-tester.registry.js.map +1 -0
  291. package/dist/integration-profile/testers/integration-tester.types.d.ts +55 -0
  292. package/dist/integration-profile/testers/integration-tester.types.d.ts.map +1 -0
  293. package/dist/integration-profile/testers/integration-tester.types.js +16 -0
  294. package/dist/integration-profile/testers/integration-tester.types.js.map +1 -0
  295. package/dist/integration-profile/testers/messaging.testers.d.ts +3 -0
  296. package/dist/integration-profile/testers/messaging.testers.d.ts.map +1 -0
  297. package/dist/integration-profile/testers/messaging.testers.js +70 -0
  298. package/dist/integration-profile/testers/messaging.testers.js.map +1 -0
  299. package/dist/integration-profile/testers/oauth.testers.d.ts +3 -0
  300. package/dist/integration-profile/testers/oauth.testers.d.ts.map +1 -0
  301. package/dist/integration-profile/testers/oauth.testers.js +285 -0
  302. package/dist/integration-profile/testers/oauth.testers.js.map +1 -0
  303. package/dist/integration-profile/testers/payment.testers.d.ts +3 -0
  304. package/dist/integration-profile/testers/payment.testers.d.ts.map +1 -0
  305. package/dist/integration-profile/testers/payment.testers.js +169 -0
  306. package/dist/integration-profile/testers/payment.testers.js.map +1 -0
  307. package/dist/integration-profile/testers/storage.testers.d.ts +3 -0
  308. package/dist/integration-profile/testers/storage.testers.d.ts.map +1 -0
  309. package/dist/integration-profile/testers/storage.testers.js +208 -0
  310. package/dist/integration-profile/testers/storage.testers.js.map +1 -0
  311. package/dist/language/en.json +15 -2
  312. package/dist/language/pt.json +15 -2
  313. package/dist/leaked-password/leaked-password.controller.d.ts +24 -0
  314. package/dist/leaked-password/leaked-password.controller.d.ts.map +1 -0
  315. package/dist/leaked-password/leaked-password.controller.js +78 -0
  316. package/dist/leaked-password/leaked-password.controller.js.map +1 -0
  317. package/dist/leaked-password/leaked-password.module.d.ts +8 -0
  318. package/dist/leaked-password/leaked-password.module.d.ts.map +1 -0
  319. package/dist/leaked-password/leaked-password.module.js +31 -0
  320. package/dist/leaked-password/leaked-password.module.js.map +1 -0
  321. package/dist/leaked-password/leaked-password.service.d.ts +64 -0
  322. package/dist/leaked-password/leaked-password.service.d.ts.map +1 -0
  323. package/dist/leaked-password/leaked-password.service.js +218 -0
  324. package/dist/leaked-password/leaked-password.service.js.map +1 -0
  325. package/dist/locale/locale.controller.d.ts +1 -1
  326. package/dist/locale/locale.service.d.ts +1 -1
  327. package/dist/mail/dto/preview.dto.d.ts +18 -0
  328. package/dist/mail/dto/preview.dto.d.ts.map +1 -0
  329. package/dist/mail/dto/preview.dto.js +66 -0
  330. package/dist/mail/dto/preview.dto.js.map +1 -0
  331. package/dist/mail/dto/send.dto.d.ts +44 -0
  332. package/dist/mail/dto/send.dto.d.ts.map +1 -1
  333. package/dist/mail/dto/send.dto.js +20 -0
  334. package/dist/mail/dto/send.dto.js.map +1 -1
  335. package/dist/mail/mail.controller.d.ts +5 -0
  336. package/dist/mail/mail.controller.d.ts.map +1 -1
  337. package/dist/mail/mail.controller.js +16 -2
  338. package/dist/mail/mail.controller.js.map +1 -1
  339. package/dist/mail/mail.module.d.ts.map +1 -1
  340. package/dist/mail/mail.module.js +2 -0
  341. package/dist/mail/mail.module.js.map +1 -1
  342. package/dist/mail/mail.service.d.ts +69 -4
  343. package/dist/mail/mail.service.d.ts.map +1 -1
  344. package/dist/mail/mail.service.js +278 -37
  345. package/dist/mail/mail.service.js.map +1 -1
  346. package/dist/mail-delivery/mail-delivery-provision.service.d.ts +21 -0
  347. package/dist/mail-delivery/mail-delivery-provision.service.d.ts.map +1 -0
  348. package/dist/mail-delivery/mail-delivery-provision.service.js +64 -0
  349. package/dist/mail-delivery/mail-delivery-provision.service.js.map +1 -0
  350. package/dist/mail-delivery/mail-delivery.constants.d.ts +17 -0
  351. package/dist/mail-delivery/mail-delivery.constants.d.ts.map +1 -0
  352. package/dist/mail-delivery/mail-delivery.constants.js +31 -0
  353. package/dist/mail-delivery/mail-delivery.constants.js.map +1 -0
  354. package/dist/mail-delivery/mail-delivery.controller.d.ts +19 -0
  355. package/dist/mail-delivery/mail-delivery.controller.d.ts.map +1 -0
  356. package/dist/mail-delivery/mail-delivery.controller.js +53 -0
  357. package/dist/mail-delivery/mail-delivery.controller.js.map +1 -0
  358. package/dist/mail-delivery/mail-delivery.module.d.ts +7 -0
  359. package/dist/mail-delivery/mail-delivery.module.d.ts.map +1 -0
  360. package/dist/mail-delivery/mail-delivery.module.js +36 -0
  361. package/dist/mail-delivery/mail-delivery.module.js.map +1 -0
  362. package/dist/mail-delivery/mail-delivery.service.d.ts +38 -0
  363. package/dist/mail-delivery/mail-delivery.service.d.ts.map +1 -0
  364. package/dist/mail-delivery/mail-delivery.service.js +140 -0
  365. package/dist/mail-delivery/mail-delivery.service.js.map +1 -0
  366. package/dist/mail-delivery/ses-event.parser.d.ts +27 -0
  367. package/dist/mail-delivery/ses-event.parser.d.ts.map +1 -0
  368. package/dist/mail-delivery/ses-event.parser.js +131 -0
  369. package/dist/mail-delivery/ses-event.parser.js.map +1 -0
  370. package/dist/mail-delivery/ses-webhook.service.d.ts +58 -0
  371. package/dist/mail-delivery/ses-webhook.service.d.ts.map +1 -0
  372. package/dist/mail-delivery/ses-webhook.service.js +214 -0
  373. package/dist/mail-delivery/ses-webhook.service.js.map +1 -0
  374. package/dist/mail-delivery/sns-message.util.d.ts +38 -0
  375. package/dist/mail-delivery/sns-message.util.d.ts.map +1 -0
  376. package/dist/mail-delivery/sns-message.util.js +109 -0
  377. package/dist/mail-delivery/sns-message.util.js.map +1 -0
  378. package/dist/mail-layout/dto/update.dto.d.ts +17 -0
  379. package/dist/mail-layout/dto/update.dto.d.ts.map +1 -0
  380. package/dist/mail-layout/dto/update.dto.js +27 -0
  381. package/dist/mail-layout/dto/update.dto.js.map +1 -0
  382. package/dist/mail-layout/mail-layout.controller.d.ts +15 -0
  383. package/dist/mail-layout/mail-layout.controller.d.ts.map +1 -0
  384. package/dist/mail-layout/mail-layout.controller.js +71 -0
  385. package/dist/mail-layout/mail-layout.controller.js.map +1 -0
  386. package/dist/mail-layout/mail-layout.module.d.ts +3 -0
  387. package/dist/mail-layout/mail-layout.module.d.ts.map +1 -0
  388. package/dist/mail-layout/mail-layout.module.js +35 -0
  389. package/dist/mail-layout/mail-layout.module.js.map +1 -0
  390. package/dist/mail-layout/mail-layout.service.d.ts +27 -0
  391. package/dist/mail-layout/mail-layout.service.d.ts.map +1 -0
  392. package/dist/mail-layout/mail-layout.service.js +80 -0
  393. package/dist/mail-layout/mail-layout.service.js.map +1 -0
  394. package/dist/mail-sent/dto/query-mail-sent-list.dto.d.ts +5 -0
  395. package/dist/mail-sent/dto/query-mail-sent-list.dto.d.ts.map +1 -1
  396. package/dist/mail-sent/dto/query-mail-sent-list.dto.js +6 -0
  397. package/dist/mail-sent/dto/query-mail-sent-list.dto.js.map +1 -1
  398. package/dist/mail-sent/mail-sent.controller.d.ts +39 -0
  399. package/dist/mail-sent/mail-sent.controller.d.ts.map +1 -1
  400. package/dist/mail-sent/mail-sent.service.d.ts +39 -0
  401. package/dist/mail-sent/mail-sent.service.d.ts.map +1 -1
  402. package/dist/mail-sent/mail-sent.service.js +45 -4
  403. package/dist/mail-sent/mail-sent.service.js.map +1 -1
  404. package/dist/mailbox/mailbox-fetcher.registry.d.ts +100 -0
  405. package/dist/mailbox/mailbox-fetcher.registry.d.ts.map +1 -0
  406. package/dist/mailbox/mailbox-fetcher.registry.js +59 -0
  407. package/dist/mailbox/mailbox-fetcher.registry.js.map +1 -0
  408. package/dist/mailbox/mailbox.module.d.ts +8 -0
  409. package/dist/mailbox/mailbox.module.d.ts.map +1 -0
  410. package/dist/mailbox/mailbox.module.js +27 -0
  411. package/dist/mailbox/mailbox.module.js.map +1 -0
  412. package/dist/mcp-chat/mcp-chat.controller.d.ts +2 -2
  413. package/dist/mcp-chat/mcp-chat.service.d.ts +24 -2
  414. package/dist/mcp-chat/mcp-chat.service.d.ts.map +1 -1
  415. package/dist/mcp-chat/mcp-chat.service.js +80 -24
  416. package/dist/mcp-chat/mcp-chat.service.js.map +1 -1
  417. package/dist/meeting/meeting-provider.registry.d.ts +155 -0
  418. package/dist/meeting/meeting-provider.registry.d.ts.map +1 -0
  419. package/dist/meeting/meeting-provider.registry.js +53 -0
  420. package/dist/meeting/meeting-provider.registry.js.map +1 -0
  421. package/dist/meeting/meeting.constants.d.ts +47 -0
  422. package/dist/meeting/meeting.constants.d.ts.map +1 -0
  423. package/dist/meeting/meeting.constants.js +21 -0
  424. package/dist/meeting/meeting.constants.js.map +1 -0
  425. package/dist/meeting/meeting.module.d.ts +7 -0
  426. package/dist/meeting/meeting.module.d.ts.map +1 -0
  427. package/dist/meeting/meeting.module.js +26 -0
  428. package/dist/meeting/meeting.module.js.map +1 -0
  429. package/dist/menu/menu.controller.d.ts +3 -3
  430. package/dist/menu/menu.service.d.ts +3 -3
  431. package/dist/middlewares/locale-injection.middleware.d.ts +12 -0
  432. package/dist/middlewares/locale-injection.middleware.d.ts.map +1 -1
  433. package/dist/middlewares/locale-injection.middleware.js +20 -4
  434. package/dist/middlewares/locale-injection.middleware.js.map +1 -1
  435. package/dist/notification/notification.controller.d.ts +12 -12
  436. package/dist/notification/notification.service.d.ts +12 -12
  437. package/dist/oauth/oauth-token-broker.service.d.ts +72 -0
  438. package/dist/oauth/oauth-token-broker.service.d.ts.map +1 -0
  439. package/dist/oauth/oauth-token-broker.service.js +258 -0
  440. package/dist/oauth/oauth-token-broker.service.js.map +1 -0
  441. package/dist/oauth/oauth.module.d.ts.map +1 -1
  442. package/dist/oauth/oauth.module.js +3 -1
  443. package/dist/oauth/oauth.module.js.map +1 -1
  444. package/dist/oauth/oauth.service.d.ts +2 -0
  445. package/dist/oauth/oauth.service.d.ts.map +1 -1
  446. package/dist/oauth/oauth.service.js +6 -3
  447. package/dist/oauth/oauth.service.js.map +1 -1
  448. package/dist/oauth/providers/google.provider.d.ts +7 -0
  449. package/dist/oauth/providers/google.provider.d.ts.map +1 -1
  450. package/dist/oauth/providers/google.provider.js +43 -13
  451. package/dist/oauth/providers/google.provider.js.map +1 -1
  452. package/dist/observability/monitored-cron.d.ts +34 -0
  453. package/dist/observability/monitored-cron.d.ts.map +1 -0
  454. package/dist/observability/monitored-cron.js +118 -0
  455. package/dist/observability/monitored-cron.js.map +1 -0
  456. package/dist/pairing/dto/approve-reverse-pairing.dto.d.ts +12 -0
  457. package/dist/pairing/dto/approve-reverse-pairing.dto.d.ts.map +1 -0
  458. package/dist/pairing/dto/approve-reverse-pairing.dto.js +30 -0
  459. package/dist/pairing/dto/approve-reverse-pairing.dto.js.map +1 -0
  460. package/dist/pairing/dto/claim-pairing.dto.d.ts +11 -0
  461. package/dist/pairing/dto/claim-pairing.dto.d.ts.map +1 -0
  462. package/dist/pairing/dto/claim-pairing.dto.js +35 -0
  463. package/dist/pairing/dto/claim-pairing.dto.js.map +1 -0
  464. package/dist/pairing/dto/confirm-pairing.dto.d.ts +10 -0
  465. package/dist/pairing/dto/confirm-pairing.dto.d.ts.map +1 -0
  466. package/dist/pairing/dto/confirm-pairing.dto.js +24 -0
  467. package/dist/pairing/dto/confirm-pairing.dto.js.map +1 -0
  468. package/dist/pairing/dto/poll-reverse-pairing.dto.d.ts +5 -0
  469. package/dist/pairing/dto/poll-reverse-pairing.dto.d.ts.map +1 -0
  470. package/dist/pairing/dto/poll-reverse-pairing.dto.js +24 -0
  471. package/dist/pairing/dto/poll-reverse-pairing.dto.js.map +1 -0
  472. package/dist/pairing/dto/start-pairing.dto.d.ts +11 -0
  473. package/dist/pairing/dto/start-pairing.dto.d.ts.map +1 -0
  474. package/dist/pairing/dto/start-pairing.dto.js +30 -0
  475. package/dist/pairing/dto/start-pairing.dto.js.map +1 -0
  476. package/dist/pairing/dto/start-reverse-pairing.dto.d.ts +24 -0
  477. package/dist/pairing/dto/start-reverse-pairing.dto.d.ts.map +1 -0
  478. package/dist/pairing/dto/start-reverse-pairing.dto.js +47 -0
  479. package/dist/pairing/dto/start-reverse-pairing.dto.js.map +1 -0
  480. package/dist/pairing/pairing.controller.d.ts +118 -0
  481. package/dist/pairing/pairing.controller.d.ts.map +1 -0
  482. package/dist/pairing/pairing.controller.js +296 -0
  483. package/dist/pairing/pairing.controller.js.map +1 -0
  484. package/dist/pairing/pairing.module.d.ts +10 -0
  485. package/dist/pairing/pairing.module.d.ts.map +1 -0
  486. package/dist/pairing/pairing.module.js +40 -0
  487. package/dist/pairing/pairing.module.js.map +1 -0
  488. package/dist/pairing/pairing.service.d.ts +238 -0
  489. package/dist/pairing/pairing.service.d.ts.map +1 -0
  490. package/dist/pairing/pairing.service.js +495 -0
  491. package/dist/pairing/pairing.service.js.map +1 -0
  492. package/dist/pdf/pdf.service.d.ts +11 -6
  493. package/dist/pdf/pdf.service.d.ts.map +1 -1
  494. package/dist/pdf/pdf.service.js +60 -20
  495. package/dist/pdf/pdf.service.js.map +1 -1
  496. package/dist/presence/presence.controller.d.ts +16 -0
  497. package/dist/presence/presence.controller.d.ts.map +1 -0
  498. package/dist/presence/presence.controller.js +60 -0
  499. package/dist/presence/presence.controller.js.map +1 -0
  500. package/dist/presence/presence.listener.d.ts +29 -0
  501. package/dist/presence/presence.listener.d.ts.map +1 -0
  502. package/dist/presence/presence.listener.js +82 -0
  503. package/dist/presence/presence.listener.js.map +1 -0
  504. package/dist/presence/presence.module.d.ts +3 -0
  505. package/dist/presence/presence.module.d.ts.map +1 -0
  506. package/dist/presence/presence.module.js +32 -0
  507. package/dist/presence/presence.module.js.map +1 -0
  508. package/dist/presence/presence.service.d.ts +42 -0
  509. package/dist/presence/presence.service.d.ts.map +1 -0
  510. package/dist/presence/presence.service.js +147 -0
  511. package/dist/presence/presence.service.js.map +1 -0
  512. package/dist/profile/dto/delete-account.dto.d.ts +8 -0
  513. package/dist/profile/dto/delete-account.dto.d.ts.map +1 -0
  514. package/dist/profile/dto/delete-account.dto.js +22 -0
  515. package/dist/profile/dto/delete-account.dto.js.map +1 -0
  516. package/dist/profile/events/profile-account-deleted.event.d.ts +12 -0
  517. package/dist/profile/events/profile-account-deleted.event.d.ts.map +1 -0
  518. package/dist/profile/events/profile-account-deleted.event.js +17 -0
  519. package/dist/profile/events/profile-account-deleted.event.js.map +1 -0
  520. package/dist/profile/profile.controller.d.ts +32 -15
  521. package/dist/profile/profile.controller.d.ts.map +1 -1
  522. package/dist/profile/profile.controller.js +75 -46
  523. package/dist/profile/profile.controller.js.map +1 -1
  524. package/dist/profile/profile.service.d.ts +41 -18
  525. package/dist/profile/profile.service.d.ts.map +1 -1
  526. package/dist/profile/profile.service.js +133 -48
  527. package/dist/profile/profile.service.js.map +1 -1
  528. package/dist/realtime/realtime.gateway.d.ts +48 -0
  529. package/dist/realtime/realtime.gateway.d.ts.map +1 -0
  530. package/dist/realtime/realtime.gateway.js +156 -0
  531. package/dist/realtime/realtime.gateway.js.map +1 -0
  532. package/dist/realtime/realtime.module.d.ts +8 -0
  533. package/dist/realtime/realtime.module.d.ts.map +1 -0
  534. package/dist/realtime/realtime.module.js +29 -0
  535. package/dist/realtime/realtime.module.js.map +1 -0
  536. package/dist/realtime/realtime.service.d.ts +51 -0
  537. package/dist/realtime/realtime.service.d.ts.map +1 -0
  538. package/dist/realtime/realtime.service.js +177 -0
  539. package/dist/realtime/realtime.service.js.map +1 -0
  540. package/dist/redis/redis-pubsub.d.ts +27 -0
  541. package/dist/redis/redis-pubsub.d.ts.map +1 -0
  542. package/dist/redis/redis-pubsub.js +184 -0
  543. package/dist/redis/redis-pubsub.js.map +1 -0
  544. package/dist/role/guards/role.guard.d.ts +5 -0
  545. package/dist/role/guards/role.guard.d.ts.map +1 -1
  546. package/dist/role/guards/role.guard.js +41 -39
  547. package/dist/role/guards/role.guard.js.map +1 -1
  548. package/dist/role/role.controller.d.ts +3 -3
  549. package/dist/role/role.service.d.ts +3 -3
  550. package/dist/session/session.controller.d.ts +2 -0
  551. package/dist/session/session.controller.d.ts.map +1 -1
  552. package/dist/session/session.service.d.ts +39 -0
  553. package/dist/session/session.service.d.ts.map +1 -1
  554. package/dist/session/session.service.js +91 -8
  555. package/dist/session/session.service.js.map +1 -1
  556. package/dist/setting/brand-asset.service.d.ts +48 -0
  557. package/dist/setting/brand-asset.service.d.ts.map +1 -0
  558. package/dist/setting/brand-asset.service.js +130 -0
  559. package/dist/setting/brand-asset.service.js.map +1 -0
  560. package/dist/setting/dto/create.dto.d.ts.map +1 -1
  561. package/dist/setting/dto/create.dto.js +9 -2
  562. package/dist/setting/dto/create.dto.js.map +1 -1
  563. package/dist/setting/setting.controller.d.ts +5 -5
  564. package/dist/setting/setting.module.d.ts.map +1 -1
  565. package/dist/setting/setting.module.js +3 -2
  566. package/dist/setting/setting.module.js.map +1 -1
  567. package/dist/setting/setting.service.d.ts +41 -5
  568. package/dist/setting/setting.service.d.ts.map +1 -1
  569. package/dist/setting/setting.service.js +113 -1
  570. package/dist/setting/setting.service.js.map +1 -1
  571. package/dist/token/token.service.d.ts +23 -2
  572. package/dist/token/token.service.d.ts.map +1 -1
  573. package/dist/token/token.service.js +39 -4
  574. package/dist/token/token.service.js.map +1 -1
  575. package/dist/user/dto/create-with-email-and-password.dto.d.ts +2 -0
  576. package/dist/user/dto/create-with-email-and-password.dto.d.ts.map +1 -1
  577. package/dist/user/dto/create-with-email-and-password.dto.js +5 -0
  578. package/dist/user/dto/create-with-email-and-password.dto.js.map +1 -1
  579. package/dist/user/dto/query-user-mail-list.dto.d.ts +5 -0
  580. package/dist/user/dto/query-user-mail-list.dto.d.ts.map +1 -0
  581. package/dist/user/dto/query-user-mail-list.dto.js +25 -0
  582. package/dist/user/dto/query-user-mail-list.dto.js.map +1 -0
  583. package/dist/user/user-credential.util.d.ts +19 -0
  584. package/dist/user/user-credential.util.d.ts.map +1 -0
  585. package/dist/user/user-credential.util.js +32 -0
  586. package/dist/user/user-credential.util.js.map +1 -0
  587. package/dist/user/user.controller.d.ts +24 -26
  588. package/dist/user/user.controller.d.ts.map +1 -1
  589. package/dist/user/user.controller.js +18 -3
  590. package/dist/user/user.controller.js.map +1 -1
  591. package/dist/user/user.service.d.ts +71 -29
  592. package/dist/user/user.service.d.ts.map +1 -1
  593. package/dist/user/user.service.js +291 -17
  594. package/dist/user/user.service.js.map +1 -1
  595. package/dist/user-device/user-device.controller.d.ts +54 -0
  596. package/dist/user-device/user-device.controller.d.ts.map +1 -0
  597. package/dist/user-device/user-device.controller.js +103 -0
  598. package/dist/user-device/user-device.controller.js.map +1 -0
  599. package/dist/user-device/user-device.module.d.ts +3 -0
  600. package/dist/user-device/user-device.module.d.ts.map +1 -0
  601. package/dist/user-device/user-device.module.js +26 -0
  602. package/dist/user-device/user-device.module.js.map +1 -0
  603. package/dist/user-device/user-device.service.d.ts +71 -0
  604. package/dist/user-device/user-device.service.d.ts.map +1 -0
  605. package/dist/user-device/user-device.service.js +158 -0
  606. package/dist/user-device/user-device.service.js.map +1 -0
  607. package/dist/utils/device-key.d.ts +23 -0
  608. package/dist/utils/device-key.d.ts.map +1 -0
  609. package/dist/utils/device-key.js +31 -0
  610. package/dist/utils/device-key.js.map +1 -0
  611. package/dist/utils/geo-ip.d.ts +38 -0
  612. package/dist/utils/geo-ip.d.ts.map +1 -0
  613. package/dist/utils/geo-ip.js +122 -0
  614. package/dist/utils/geo-ip.js.map +1 -0
  615. package/dist/utils/locale-context.d.ts +10 -7
  616. package/dist/utils/locale-context.d.ts.map +1 -1
  617. package/dist/utils/locale-context.js +14 -8
  618. package/dist/utils/locale-context.js.map +1 -1
  619. package/dist/utils/security-event-vars.d.ts +56 -0
  620. package/dist/utils/security-event-vars.d.ts.map +1 -0
  621. package/dist/utils/security-event-vars.js +109 -0
  622. package/dist/utils/security-event-vars.js.map +1 -0
  623. package/dist/utils/user-agent.d.ts +19 -0
  624. package/dist/utils/user-agent.d.ts.map +1 -0
  625. package/dist/utils/user-agent.js +36 -0
  626. package/dist/utils/user-agent.js.map +1 -0
  627. package/dist/validators/is-strong-password-with-settings.validator.d.ts.map +1 -1
  628. package/dist/validators/is-strong-password-with-settings.validator.js +11 -0
  629. package/dist/validators/is-strong-password-with-settings.validator.js.map +1 -1
  630. package/dist/validators/service-locator.d.ts +9 -0
  631. package/dist/validators/service-locator.d.ts.map +1 -1
  632. package/dist/validators/service-locator.js +12 -0
  633. package/dist/validators/service-locator.js.map +1 -1
  634. package/dist/webhook-integration/webhook-integration.service.d.ts +5 -0
  635. package/dist/webhook-integration/webhook-integration.service.d.ts.map +1 -1
  636. package/dist/webhook-integration/webhook-integration.service.js +50 -4
  637. package/dist/webhook-integration/webhook-integration.service.js.map +1 -1
  638. package/dist/webhook-integration/webhook-protocol.registry.d.ts +6 -0
  639. package/dist/webhook-integration/webhook-protocol.registry.d.ts.map +1 -1
  640. package/dist/webhook-integration/webhook-protocol.registry.js.map +1 -1
  641. package/dist/whatsapp-sender/whatsapp-sender.module.d.ts +3 -0
  642. package/dist/whatsapp-sender/whatsapp-sender.module.d.ts.map +1 -0
  643. package/dist/whatsapp-sender/whatsapp-sender.module.js +23 -0
  644. package/dist/whatsapp-sender/whatsapp-sender.module.js.map +1 -0
  645. package/dist/whatsapp-sender/whatsapp-sender.service.d.ts +50 -0
  646. package/dist/whatsapp-sender/whatsapp-sender.service.d.ts.map +1 -0
  647. package/dist/whatsapp-sender/whatsapp-sender.service.js +224 -0
  648. package/dist/whatsapp-sender/whatsapp-sender.service.js.map +1 -0
  649. package/hedhog/data/integration_provider.yaml +25 -0
  650. package/hedhog/data/mail.yaml +275 -112
  651. package/hedhog/data/mail_layout.yaml +198 -0
  652. package/hedhog/data/menu.yaml +69 -3
  653. package/hedhog/data/role.yaml +16 -0
  654. package/hedhog/data/route.yaml +307 -3
  655. package/hedhog/data/setting_group.yaml +315 -1
  656. package/hedhog/data/setting_subgroup.yaml +8 -0
  657. package/hedhog/frontend/app/_lib/hooks/use-core-access.test.tsx.ejs +125 -0
  658. package/hedhog/frontend/app/_lib/hooks/use-core-access.ts.ejs +29 -0
  659. package/hedhog/frontend/app/_lib/hooks/use-impersonation-access.test.ts.ejs +71 -0
  660. package/hedhog/frontend/app/_lib/hooks/use-impersonation-access.ts.ejs +32 -0
  661. package/hedhog/frontend/app/access-log/page.tsx.ejs +96 -22
  662. package/hedhog/frontend/app/account/components/active-sessions.tsx.ejs +17 -1
  663. package/hedhog/frontend/app/account/components/known-devices.tsx.ejs +89 -0
  664. package/hedhog/frontend/app/account/components/mfa-setup-dialog.tsx.ejs +36 -0
  665. package/hedhog/frontend/app/account/components/profile-form.tsx.ejs +2 -1
  666. package/hedhog/frontend/app/account/components/two-factor-auth.tsx.ejs +2 -0
  667. package/hedhog/frontend/app/account/components/user-devices-list.tsx.ejs +186 -0
  668. package/hedhog/frontend/app/account/devices/page.tsx.ejs +5 -0
  669. package/hedhog/frontend/app/account/hooks/use-mfa-setup.ts.ejs +10 -7
  670. package/hedhog/frontend/app/account/layout.tsx.ejs +2 -0
  671. package/hedhog/frontend/app/ai_agent/page.tsx.ejs +7 -4
  672. package/hedhog/frontend/app/ai_instruction/_components/ai-instruction-form.tsx.ejs +580 -0
  673. package/hedhog/frontend/app/ai_instruction/_components/ai-instruction-preview.tsx.ejs +150 -0
  674. package/hedhog/frontend/app/ai_instruction/_components/ai-instruction-versions.tsx.ejs +199 -0
  675. package/hedhog/frontend/app/ai_instruction/_components/prompt-diff.tsx.ejs +63 -0
  676. package/hedhog/frontend/app/ai_instruction/_lib/line-diff.spec.ts.ejs +59 -0
  677. package/hedhog/frontend/app/ai_instruction/_lib/line-diff.ts.ejs +72 -0
  678. package/hedhog/frontend/app/ai_instruction/_lib/prompt-template.spec.ts.ejs +170 -0
  679. package/hedhog/frontend/app/ai_instruction/_lib/prompt-template.ts.ejs +167 -0
  680. package/hedhog/frontend/app/ai_instruction/_lib/types.ts.ejs +99 -0
  681. package/hedhog/frontend/app/ai_instruction/page.tsx.ejs +422 -0
  682. package/hedhog/frontend/app/configurations/[slug]/components/setting-field.test.tsx.ejs +298 -0
  683. package/hedhog/frontend/app/configurations/[slug]/components/setting-field.tsx.ejs +410 -1223
  684. package/hedhog/frontend/app/incidents/page.tsx.ejs +400 -0
  685. package/hedhog/frontend/app/integration/profiles/page.tsx.ejs +153 -84
  686. package/hedhog/frontend/app/mail/layout/page.tsx.ejs +344 -0
  687. package/hedhog/frontend/app/mail/log/page.tsx.ejs +210 -3
  688. package/hedhog/frontend/app/mail/template/page.tsx.ejs +292 -200
  689. package/hedhog/frontend/app/mcp_chat/page.tsx.ejs +129 -17
  690. package/hedhog/frontend/app/pages/_components/page-delete-dialog.tsx.ejs +343 -0
  691. package/hedhog/frontend/app/pages/_components/page-detail-sheet.tsx.ejs +438 -0
  692. package/hedhog/frontend/app/pages/_components/page-wizard-sheet.tsx.ejs +1009 -0
  693. package/hedhog/frontend/app/pages/_components/system-page-types.ts.ejs +56 -0
  694. package/hedhog/frontend/app/pages/_components/use-system-pages.ts.ejs +171 -0
  695. package/hedhog/frontend/app/pages/page.tsx.ejs +514 -0
  696. package/hedhog/frontend/app/users/active-session.tsx.ejs +58 -11
  697. package/hedhog/frontend/app/users/page.tsx.ejs +186 -21
  698. package/hedhog/frontend/app/users/simulate-access-dialog.test.tsx.ejs +202 -0
  699. package/hedhog/frontend/app/users/simulate-access-dialog.tsx.ejs +170 -0
  700. package/hedhog/frontend/app/users/user-activity-timeline.tsx.ejs +250 -0
  701. package/hedhog/frontend/app/users/user-devices.tsx.ejs +89 -0
  702. package/hedhog/frontend/app/users/user-logs.tsx.ejs +13 -1
  703. package/hedhog/frontend/app/users/user-mails.tsx.ejs +399 -0
  704. package/hedhog/frontend/app/users/user-sheet.tsx.ejs +106 -99
  705. package/hedhog/frontend/messages/en.json +643 -49
  706. package/hedhog/frontend/messages/pt.json +643 -49
  707. package/hedhog/table/access_log.yaml +7 -0
  708. package/hedhog/table/ai_agent.yaml +1 -0
  709. package/hedhog/table/ai_instruction.yaml +15 -0
  710. package/hedhog/table/file.yaml +8 -0
  711. package/hedhog/table/leaked_password.yaml +18 -0
  712. package/hedhog/table/mail_delivery_event.yaml +76 -0
  713. package/hedhog/table/mail_layout.yaml +35 -0
  714. package/hedhog/table/mail_sent.yaml +23 -0
  715. package/hedhog/table/mail_var.yaml +4 -0
  716. package/hedhog/table/setting.yaml +1 -0
  717. package/hedhog/table/system_incident.yaml +59 -0
  718. package/hedhog/table/user_activity.yaml +9 -0
  719. package/hedhog/table/user_device.yaml +52 -0
  720. package/hedhog/table/user_presence.yaml +36 -0
  721. package/hedhog/table/user_session.yaml +20 -1
  722. package/package.json +7 -2
  723. package/src/access-log/access-log.controller.ts +1 -0
  724. package/src/access-log/access-log.interceptor.ts +9 -3
  725. package/src/access-log/access-log.service.spec.ts +33 -2
  726. package/src/access-log/access-log.service.ts +38 -0
  727. package/src/access-log/dto/query-access-log.dto.ts +5 -0
  728. package/src/ai/ai-attachment.fragments.spec.ts +319 -0
  729. package/src/ai/ai-attachment.fragments.ts +35 -0
  730. package/src/ai/ai.controller.ts +9 -0
  731. package/src/ai/ai.module.ts +3 -2
  732. package/src/ai/ai.prompts.ts +38 -0
  733. package/src/ai/ai.service.spec.ts +280 -0
  734. package/src/ai/ai.service.ts +475 -82
  735. package/src/ai/dto/chat.dto.ts +33 -3
  736. package/src/ai/dto/create-agent.dto.ts +2 -2
  737. package/src/ai/dto/richtext-edit-html.dto.ts +11 -0
  738. package/src/ai/dto/update-agent.dto.ts +2 -2
  739. package/src/ai/richtext-ai.prompts.ts +57 -0
  740. package/src/ai/richtext-ai.service.ts +109 -0
  741. package/src/ai-instruction/ai-instruction.controller.ts +40 -9
  742. package/src/ai-instruction/ai-instruction.module.ts +13 -2
  743. package/src/ai-instruction/ai-instruction.service.spec.ts +658 -0
  744. package/src/ai-instruction/ai-instruction.service.ts +661 -62
  745. package/src/ai-instruction/ai-prompt-builder.service.ts +10 -1
  746. package/src/ai-instruction/ai-prompt-registry.ts +87 -0
  747. package/src/ai-instruction/ai-prompt-resolver.service.spec.ts +375 -0
  748. package/src/ai-instruction/ai-prompt-resolver.service.ts +295 -0
  749. package/src/ai-instruction/ai-prompt-template.util.spec.ts +162 -0
  750. package/src/ai-instruction/ai-prompt-template.util.ts +199 -0
  751. package/src/ai-instruction/dto/create-ai-instruction.dto.ts +39 -3
  752. package/src/ai-instruction/dto/preview-ai-instruction.dto.ts +26 -0
  753. package/src/ai-instruction/dto/update-ai-instruction.dto.ts +42 -1
  754. package/src/ai-instruction/types/ai-instruction.types.ts +24 -1
  755. package/src/auth/auth.controller.ts +78 -13
  756. package/src/auth/auth.module.ts +2 -0
  757. package/src/auth/auth.service.spec.ts +386 -7
  758. package/src/auth/auth.service.ts +435 -81
  759. package/src/auth/dto/confirm-email.dto.ts +7 -0
  760. package/src/auth/dto/resend-confirmation.dto.ts +20 -0
  761. package/src/authorize/authorize.controller.ts +2 -0
  762. package/src/authorize/authorize.service.spec.ts +23 -0
  763. package/src/authorize/authorize.service.ts +8 -0
  764. package/src/captcha/captcha.module.ts +10 -0
  765. package/src/captcha/captcha.service.spec.ts +210 -0
  766. package/src/captcha/captcha.service.ts +191 -0
  767. package/src/challenge/challenge.service.spec.ts +112 -4
  768. package/src/challenge/challenge.service.ts +131 -17
  769. package/src/core.module.ts +46 -1
  770. package/src/file/file.controller.ts +54 -4
  771. package/src/file/file.service.spec.ts +275 -0
  772. package/src/file/file.service.ts +468 -16
  773. package/src/file/image-optimization.service.spec.ts +92 -0
  774. package/src/file/image-optimization.service.ts +202 -0
  775. package/src/file/provider/abstract.provider.ts +23 -0
  776. package/src/file/provider/gcs.provider.ts +17 -0
  777. package/src/file/provider/local.provider.ts +21 -0
  778. package/src/file/provider/s3.provider.ts +25 -0
  779. package/src/file/provider/spaces.provider.ts +26 -0
  780. package/src/impersonation/dto/redeem-impersonation.dto.ts +8 -0
  781. package/src/impersonation/dto/start-impersonation.dto.ts +13 -0
  782. package/src/impersonation/impersonation-restrictions.ts +84 -0
  783. package/src/impersonation/impersonation.controller.ts +109 -0
  784. package/src/impersonation/impersonation.module.ts +31 -0
  785. package/src/impersonation/impersonation.service.spec.ts +427 -0
  786. package/src/impersonation/impersonation.service.ts +577 -0
  787. package/src/incident/incident-notifier.service.spec.ts +205 -0
  788. package/src/incident/incident-notifier.service.ts +241 -0
  789. package/src/incident/incident.controller.ts +38 -0
  790. package/src/incident/incident.module.ts +19 -0
  791. package/src/incident/incident.service.spec.ts +150 -0
  792. package/src/incident/incident.service.ts +209 -0
  793. package/src/index.ts +58 -0
  794. package/src/integration/services/outbox-polling.coordinator.spec.ts +90 -0
  795. package/src/integration/services/outbox-polling.coordinator.ts +62 -40
  796. package/src/integration/services/outbox.service.spec.ts +8 -0
  797. package/src/integration/services/outbox.service.ts +19 -13
  798. package/src/integration-profile/dto/test.dto.ts +19 -0
  799. package/src/integration-profile/integration-profile.controller.ts +10 -1
  800. package/src/integration-profile/integration-profile.module.spec.ts +51 -0
  801. package/src/integration-profile/integration-profile.module.ts +23 -4
  802. package/src/integration-profile/integration-profile.secrets.ts +12 -1
  803. package/src/integration-profile/integration-profile.service.spec.ts +279 -0
  804. package/src/integration-profile/integration-profile.service.ts +120 -124
  805. package/src/integration-profile/integration-profile.utils.spec.ts +22 -0
  806. package/src/integration-profile/integration-profile.utils.ts +78 -3
  807. package/src/integration-profile/testers/ai.testers.ts +165 -0
  808. package/src/integration-profile/testers/captcha.testers.spec.ts +92 -0
  809. package/src/integration-profile/testers/captcha.testers.ts +139 -0
  810. package/src/integration-profile/testers/email.testers.ts +194 -0
  811. package/src/integration-profile/testers/http-probe.spec.ts +153 -0
  812. package/src/integration-profile/testers/http-probe.ts +171 -0
  813. package/src/integration-profile/testers/index.ts +30 -0
  814. package/src/integration-profile/testers/infrastructure.testers.ts +122 -0
  815. package/src/integration-profile/testers/integration-tester.registry.spec.ts +75 -0
  816. package/src/integration-profile/testers/integration-tester.registry.ts +43 -0
  817. package/src/integration-profile/testers/integration-tester.types.ts +61 -0
  818. package/src/integration-profile/testers/messaging.testers.ts +102 -0
  819. package/src/integration-profile/testers/oauth.testers.spec.ts +220 -0
  820. package/src/integration-profile/testers/oauth.testers.ts +305 -0
  821. package/src/integration-profile/testers/payment.testers.ts +185 -0
  822. package/src/integration-profile/testers/remaining.testers.spec.ts +401 -0
  823. package/src/integration-profile/testers/storage.testers.spec.ts +185 -0
  824. package/src/integration-profile/testers/storage.testers.ts +226 -0
  825. package/src/integration-profile/testers/tester-coverage.spec.ts +58 -0
  826. package/src/language/en.json +15 -2
  827. package/src/language/pt.json +15 -2
  828. package/src/leaked-password/README.md +83 -0
  829. package/src/leaked-password/leaked-password.controller.ts +52 -0
  830. package/src/leaked-password/leaked-password.module.ts +18 -0
  831. package/src/leaked-password/leaked-password.service.ts +242 -0
  832. package/src/leaked-password/seed/build-seed-sql.mjs +180 -0
  833. package/src/leaked-password/seed/common-passwords.txt +335 -0
  834. package/src/mail/dto/preview.dto.ts +50 -0
  835. package/src/mail/dto/send.dto.ts +58 -1
  836. package/src/mail/mail-template.spec.ts +274 -0
  837. package/src/mail/mail.controller.ts +9 -2
  838. package/src/mail/mail.module.ts +2 -0
  839. package/src/mail/mail.service.spec.ts +422 -6
  840. package/src/mail/mail.service.ts +337 -34
  841. package/src/mail-delivery/mail-delivery-provision.service.ts +66 -0
  842. package/src/mail-delivery/mail-delivery.constants.ts +31 -0
  843. package/src/mail-delivery/mail-delivery.controller.ts +38 -0
  844. package/src/mail-delivery/mail-delivery.module.ts +23 -0
  845. package/src/mail-delivery/mail-delivery.service.spec.ts +136 -0
  846. package/src/mail-delivery/mail-delivery.service.ts +152 -0
  847. package/src/mail-delivery/ses-event.parser.spec.ts +140 -0
  848. package/src/mail-delivery/ses-event.parser.ts +191 -0
  849. package/src/mail-delivery/ses-webhook.service.spec.ts +170 -0
  850. package/src/mail-delivery/ses-webhook.service.ts +240 -0
  851. package/src/mail-delivery/sns-message.util.spec.ts +163 -0
  852. package/src/mail-delivery/sns-message.util.ts +125 -0
  853. package/src/mail-layout/dto/update.dto.ts +19 -0
  854. package/src/mail-layout/mail-layout.controller.ts +47 -0
  855. package/src/mail-layout/mail-layout.module.ts +22 -0
  856. package/src/mail-layout/mail-layout.service.ts +94 -0
  857. package/src/mail-sent/dto/query-mail-sent-list.dto.ts +15 -0
  858. package/src/mail-sent/mail-sent.service.ts +46 -2
  859. package/src/mailbox/mailbox-fetcher.registry.ts +132 -0
  860. package/src/mailbox/mailbox.module.ts +14 -0
  861. package/src/mcp-chat/mcp-chat.service.spec.ts +236 -0
  862. package/src/mcp-chat/mcp-chat.service.ts +122 -26
  863. package/src/meeting/meeting-provider.registry.ts +193 -0
  864. package/src/meeting/meeting.constants.ts +53 -0
  865. package/src/meeting/meeting.module.ts +13 -0
  866. package/src/middlewares/locale-injection.middleware.ts +25 -6
  867. package/src/oauth/oauth-token-broker.service.spec.ts +172 -0
  868. package/src/oauth/oauth-token-broker.service.ts +363 -0
  869. package/src/oauth/oauth.module.ts +3 -1
  870. package/src/oauth/oauth.service.ts +8 -2
  871. package/src/oauth/providers/google.provider.ts +49 -15
  872. package/src/observability/monitored-cron.spec.ts +102 -0
  873. package/src/observability/monitored-cron.ts +110 -0
  874. package/src/pairing/dto/approve-reverse-pairing.dto.ts +20 -0
  875. package/src/pairing/dto/claim-pairing.dto.ts +19 -0
  876. package/src/pairing/dto/confirm-pairing.dto.ts +14 -0
  877. package/src/pairing/dto/poll-reverse-pairing.dto.ts +9 -0
  878. package/src/pairing/dto/start-pairing.dto.ts +19 -0
  879. package/src/pairing/dto/start-reverse-pairing.dto.ts +45 -0
  880. package/src/pairing/pairing.controller.ts +246 -0
  881. package/src/pairing/pairing.module.ts +27 -0
  882. package/src/pairing/pairing.service.spec.ts +462 -0
  883. package/src/pairing/pairing.service.ts +614 -0
  884. package/src/pdf/pdf.service.ts +81 -24
  885. package/src/presence/presence.controller.ts +29 -0
  886. package/src/presence/presence.listener.ts +53 -0
  887. package/src/presence/presence.module.ts +19 -0
  888. package/src/presence/presence.service.spec.ts +97 -0
  889. package/src/presence/presence.service.ts +160 -0
  890. package/src/profile/dto/delete-account.dto.ts +11 -0
  891. package/src/profile/events/profile-account-deleted.event.ts +13 -0
  892. package/src/profile/profile.controller.ts +46 -34
  893. package/src/profile/profile.service.ts +164 -46
  894. package/src/realtime/realtime.gateway.ts +138 -0
  895. package/src/realtime/realtime.module.ts +16 -0
  896. package/src/realtime/realtime.service.spec.ts +50 -0
  897. package/src/realtime/realtime.service.ts +187 -0
  898. package/src/redis/redis-pubsub.ts +190 -0
  899. package/src/role/guards/role.guard.spec.ts +75 -0
  900. package/src/role/guards/role.guard.ts +64 -46
  901. package/src/session/session.service.spec.ts +81 -0
  902. package/src/session/session.service.ts +93 -6
  903. package/src/setting/brand-asset.service.ts +137 -0
  904. package/src/setting/dto/create.dto.ts +13 -2
  905. package/src/setting/setting.module.ts +3 -2
  906. package/src/setting/setting.service.spec.ts +135 -1
  907. package/src/setting/setting.service.ts +138 -2
  908. package/src/token/token.service.spec.ts +62 -0
  909. package/src/token/token.service.ts +57 -3
  910. package/src/user/dto/create-with-email-and-password.dto.ts +6 -1
  911. package/src/user/dto/query-user-mail-list.dto.ts +10 -0
  912. package/src/user/user-credential.util.ts +35 -0
  913. package/src/user/user.controller.ts +17 -2
  914. package/src/user/user.service.spec.ts +186 -2
  915. package/src/user/user.service.ts +361 -16
  916. package/src/user-device/user-device.controller.ts +77 -0
  917. package/src/user-device/user-device.module.ts +13 -0
  918. package/src/user-device/user-device.service.spec.ts +234 -0
  919. package/src/user-device/user-device.service.ts +168 -0
  920. package/src/utils/device-key.spec.ts +57 -0
  921. package/src/utils/device-key.ts +32 -0
  922. package/src/utils/geo-ip.spec.ts +134 -0
  923. package/src/utils/geo-ip.ts +93 -0
  924. package/src/utils/locale-context.spec.ts +27 -1
  925. package/src/utils/locale-context.ts +15 -12
  926. package/src/utils/security-event-vars.spec.ts +161 -0
  927. package/src/utils/security-event-vars.ts +153 -0
  928. package/src/utils/user-agent.spec.ts +37 -0
  929. package/src/utils/user-agent.ts +46 -0
  930. package/src/validators/is-strong-password-with-settings.validator.ts +12 -0
  931. package/src/validators/service-locator.ts +15 -0
  932. package/src/webhook-integration/webhook-integration.service.ts +57 -3
  933. package/src/webhook-integration/webhook-protocol.registry.ts +6 -0
  934. package/src/whatsapp-sender/whatsapp-sender.module.ts +10 -0
  935. package/src/whatsapp-sender/whatsapp-sender.service.ts +313 -0
@@ -1,31 +1,31 @@
1
1
  - slug: auth-sign-up-confirm-email
2
2
  subject:
3
- en: Welcome to HedHog! Please confirm your email
4
- pt: Bem-vindo ao HedHog! Por favor, confirme seu e-mail
3
+ en: Welcome to {{brandName}}! Please confirm your email
4
+ pt: Bem-vindo ao {{brandName}}! Por favor, confirme seu e-mail
5
5
  body:
6
6
  en: |
7
7
  Hello {{name}},<br>
8
- Thank you for signing up for a HedHog account!
9
- To complete your registration, please confirm your email address
10
- by using the code below:<br>
11
- Confirmation Code: {{code}}<br>
12
- If you did not sign up for a HedHog account, please ignore this email.<br>
8
+ Thank you for signing up for a {{brandName}} account!
9
+ Your account is ready — just confirm your email address
10
+ using the link below:<br>
11
+ Confirmation Link: <a href="{{link}}">{{link}}</a><br>
12
+ If you did not sign up for a {{brandName}} account, please ignore this email.<br>
13
13
  Best regards,<br>
14
- The HedHog Team
14
+ The {{brandName}} Team
15
15
  pt: |
16
16
  Olá {{name}},<br>
17
- Obrigado por se inscrever para uma conta HedHog!
18
- Para completar seu registro, por favor confirme seu endereço de e-mail
19
- usando o código abaixo:<br>
20
- Código de Confirmação: {{code}}<br>
21
- Se você não se inscreveu para uma conta HedHog,
17
+ Obrigado por se inscrever para uma conta {{brandName}}!
18
+ Sua conta já está pronta — só falta confirmar seu endereço de e-mail
19
+ usando o link abaixo:<br>
20
+ Link de Confirmação: <a href="{{link}}">{{link}}</a><br>
21
+ Se você não se inscreveu para uma conta {{brandName}},
22
22
  por favor ignore este e-mail.<br>
23
23
  Atenciosamente,<br>
24
- A equipe HedHog
24
+ A equipe {{brandName}}
25
25
  relations:
26
26
  mail_var:
27
27
  - name: name
28
- - name: code
28
+ - name: link
29
29
  - slug: auth-email-verification-code
30
30
  subject:
31
31
  en: Your verification code
@@ -37,174 +37,198 @@
37
37
  Verification Code: <strong>{{code}}</strong><br>
38
38
  This code will expire in a few minutes. If you did not request this code, please ignore this email.<br>
39
39
  Best regards,<br>
40
- The HedHog Team
40
+ The {{brandName}} Team
41
41
  pt: |
42
42
  Olá {{name}},<br>
43
43
  Por favor, use o seguinte código de verificação para continuar:<br>
44
44
  Código de Verificação: <strong>{{code}}</strong><br>
45
45
  Este código expirará em alguns minutos. Se você não solicitou este código, por favor ignore este e-mail.<br>
46
46
  Atenciosamente,<br>
47
- A equipe HedHog
47
+ A equipe {{brandName}}
48
48
  relations:
49
49
  mail_var:
50
50
  - name: name
51
51
  - name: code
52
+ # O corpo abaixo usa escalar dobrado (>-) de proposito: MailService.interpolateTemplate
53
+ # troca toda quebra de linha por <br/> antes de compilar o Handlebars, entao um corpo
54
+ # em bloco literal (|) espalharia <br/> soltos no meio da tabela. Sob >- o YAML dobra
55
+ # tudo numa linha so — o que exige indentacao identica em TODAS as linhas: um espaco a
56
+ # mais transforma o resto em bloco literal e as quebras voltam.
52
57
  - slug: auth-login-new-device
53
58
  subject:
54
- en: New login from a new device
55
- pt: Novo login de um novo dispositivo
59
+ en: New sign-in from an unrecognized device
60
+ pt: Novo acesso de um dispositivo desconhecido
56
61
  body:
57
- en: |
58
- Hello {{name}},<br>
59
- We noticed a login to your HedHog account from a new device.<br>
60
- Here are the details of the login:<br>
61
- • User Agent: {{userAgent}}<br>
62
- • IP Address: {{ipAddress}}<br>
63
- • Location: {{location}}<br>
64
- If this was you, no further action is needed.
65
- If you did not recognize this activity,
66
- please secure your account immediately.<br>
67
- Best regards,<br>
68
- The HedHog Team
69
- pt: |
70
- Olá {{name}},<br>
71
- Notamos um login na sua conta HedHog a partir de um novo dispositivo.<br>
72
- Aqui estão os detalhes do login:<br>
73
- • Agente do Usuário: {{userAgent}}<br>
74
- • Endereço IP: {{ipAddress}}<br>
75
- • Localização: {{location}}<br>
76
- Se foi você, nenhuma ação adicional é necessária.
77
- Se você não reconheceu esta atividade,
78
- por favor, proteja sua conta imediatamente.<br>
79
- Atenciosamente,<br>
80
- A equipe HedHog
62
+ en: >-
63
+ <p style="margin:0 0 16px;">Hello {{name}},</p>
64
+ <p style="margin:0 0 20px;">We detected a sign-in to your {{brandName}} account from a device we have not seen before.</p>
65
+ <table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%;border-collapse:collapse;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:0 0 20px;"><tr><td style="padding:12px 20px;"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%;border-collapse:collapse;">
66
+ {{#if datetime}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Date and time</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{datetime}}</td></tr>{{/if}}
67
+ {{#if browser}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Browser</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{browser}}</td></tr>{{/if}}
68
+ {{#if os}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">System</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{os}}</td></tr>{{/if}}
69
+ {{#unless browser}}{{#unless os}}{{#if userAgent}}<tr><td colspan="2" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Device<br /><span style="font-size:13px;line-height:1.5;color:#334155;word-break:break-all;">{{userAgent}}</span></td></tr>{{/if}}{{/unless}}{{/unless}}
70
+ {{#if location}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Location</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{countryFlag}} {{location}}</td></tr>{{/if}}
71
+ {{#if ipAddress}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">IP address</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{ipAddress}}</td></tr>{{/if}}
72
+ </table></td></tr></table>
73
+ <p style="margin:0 0 16px;">If this was you, there is nothing else to do.</p>
74
+ <table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%;border-collapse:collapse;margin:0 0 20px;"><tr><td style="padding:12px 16px;background:#fef2f2;border-left:4px solid #dc2626;font-size:15px;line-height:1.6;color:#7f1d1d;"><strong style="color:#7f1d1d;">If you do not recognize this sign-in</strong>, change your password right away and review the active sessions on your account.</td></tr></table>
75
+ <p style="margin:0;">Best regards,<br />The {{brandName}} Team</p>
76
+ pt: >-
77
+ <p style="margin:0 0 16px;">Olá {{name}},</p>
78
+ <p style="margin:0 0 20px;">Detectamos um acesso à sua conta {{brandName}} a partir de um dispositivo que ainda não conhecíamos.</p>
79
+ <table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%;border-collapse:collapse;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:0 0 20px;"><tr><td style="padding:12px 20px;"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%;border-collapse:collapse;">
80
+ {{#if datetime}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Data e hora</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{datetime}}</td></tr>{{/if}}
81
+ {{#if browser}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Navegador</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{browser}}</td></tr>{{/if}}
82
+ {{#if os}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Sistema</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{os}}</td></tr>{{/if}}
83
+ {{#unless browser}}{{#unless os}}{{#if userAgent}}<tr><td colspan="2" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Dispositivo<br /><span style="font-size:13px;line-height:1.5;color:#334155;word-break:break-all;">{{userAgent}}</span></td></tr>{{/if}}{{/unless}}{{/unless}}
84
+ {{#if location}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Localização</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{countryFlag}} {{location}}</td></tr>{{/if}}
85
+ {{#if ipAddress}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Endereço IP</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{ipAddress}}</td></tr>{{/if}}
86
+ </table></td></tr></table>
87
+ <p style="margin:0 0 16px;">Se foi você, não é preciso fazer nada.</p>
88
+ <table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%;border-collapse:collapse;margin:0 0 20px;"><tr><td style="padding:12px 16px;background:#fef2f2;border-left:4px solid #dc2626;font-size:15px;line-height:1.6;color:#7f1d1d;"><strong style="color:#7f1d1d;">Se você não reconhece este acesso</strong>, altere sua senha imediatamente e revise as sessões ativas da sua conta.</td></tr></table>
89
+ <p style="margin:0;">Atenciosamente,<br />A equipe {{brandName}}</p>
81
90
  relations:
82
91
  mail_var:
92
+ - name: name
93
+ - name: datetime
94
+ - name: browser
95
+ - name: os
83
96
  - name: userAgent
84
- - name: ipAddress
85
97
  - name: location
86
- - name: name
98
+ - name: countryFlag
99
+ - name: ipAddress
87
100
  - slug: auth-forget-password
88
101
  subject:
89
- en: Reset your HedHog password
90
- pt: Redefina sua senha do HedHog
102
+ en: Reset your {{brandName}} password
103
+ pt: Redefina sua senha do {{brandName}}
91
104
  body:
92
105
  en: |
93
106
  Hello {{name}},<br>
94
- We received a request to reset the password for your HedHog account.
107
+ We received a request to reset the password for your {{brandName}} account.
95
108
  To proceed with resetting your password, please use the link below:<br>
96
109
  Reset Link: <a href="{{link}}">{{link}}</a><br>
97
110
  If you did not request a password reset, please ignore this email.<br>
98
111
  Best regards,<br>
99
- The HedHog Team
112
+ The {{brandName}} Team
100
113
  pt: |
101
114
  Olá {{name}},<br>
102
- Recebemos uma solicitação para redefinir a senha da sua conta HedHog.
115
+ Recebemos uma solicitação para redefinir a senha da sua conta {{brandName}}.
103
116
  Para prosseguir com a redefinição da sua senha,
104
117
  por favor use o link abaixo:<br>
105
118
  Link de Redefinição: <a href="{{link}}">{{link}}</a><br>
106
119
  Se você não solicitou uma redefinição de senha,
107
120
  por favor ignore este e-mail.<br>
108
121
  Atenciosamente,<br>
109
- A equipe HedHog
122
+ A equipe {{brandName}}
110
123
  relations:
111
124
  mail_var:
112
125
  - name: name
113
126
  - name: code
114
127
  - slug: auth-forget-password-confirmation
115
128
  subject:
116
- en: Your HedHog password has been reset
117
- pt: Sua senha do HedHog foi redefinida
129
+ en: Your {{brandName}} password has been reset
130
+ pt: Sua senha do {{brandName}} foi redefinida
118
131
  body:
119
132
  en: |
120
133
  Hello {{name}},<br>
121
- Your HedHog password has been successfully reset.
134
+ Your {{brandName}} password has been successfully reset.
122
135
  If you did not perform this action,
123
136
  please contact our support team immediately.<br>
124
137
  Best regards,<br>
125
- The HedHog Team
138
+ The {{brandName}} Team
126
139
  pt: |
127
140
  Olá {{name}},<br>
128
- Sua senha do HedHog foi redefinida com sucesso.
141
+ Sua senha do {{brandName}} foi redefinida com sucesso.
129
142
  Se você não realizou esta ação, por favor entre em contato com nossa equipe de suporte imediatamente.<br>
130
143
  Atenciosamente,<br>
131
- A equipe HedHog
144
+ A equipe {{brandName}}
132
145
  relations:
133
146
  mail_var:
134
147
  - name: name
148
+ # Mesmo cartao de detalhes do auth-login-new-device — ver a nota sobre >- la em cima.
135
149
  - slug: auth-change-password-notification
136
150
  subject:
137
- en: Your HedHog password has been changed
138
- pt: Sua senha do HedHog foi alterada
151
+ en: Your {{brandName}} password has been changed
152
+ pt: Sua senha do {{brandName}} foi alterada
139
153
  body:
140
- en: |
141
- Hello {{name}},<br>
142
- We wanted to inform you that the password for your HedHog account
143
- has been changed. If you did not make this change,
144
- please secure your account immediately.<br>
145
- Here are the details of the login:<br>
146
- • User Agent: {{userAgent}}<br>
147
- • IP Address: {{ipAddress}}<br>
148
- • Location: {{location}}<br>
149
- Best regards,<br>
150
- The HedHog Team
151
- pt: |
152
- Olá {{name}},<br>
153
- Queríamos informar que a senha da sua conta HedHog foi alterada.
154
- Se você não fez essa alteração,
155
- por favor proteja sua conta imediatamente.<br>
156
- Aqui estão os detalhes do login:<br>
157
- • Agente do Usuário: {{userAgent}}<br>
158
- • Endereço IP: {{ipAddress}}<br>
159
- • Localização: {{location}}<br>
160
- Atenciosamente,<br>
161
- A equipe HedHog
154
+ en: >-
155
+ <p style="margin:0 0 16px;">Hello {{name}},</p>
156
+ <p style="margin:0 0 20px;">The password for your {{brandName}} account has just been changed.</p>
157
+ <table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%;border-collapse:collapse;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:0 0 20px;"><tr><td style="padding:12px 20px;"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%;border-collapse:collapse;">
158
+ {{#if datetime}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Date and time</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{datetime}}</td></tr>{{/if}}
159
+ {{#if browser}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Browser</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{browser}}</td></tr>{{/if}}
160
+ {{#if os}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">System</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{os}}</td></tr>{{/if}}
161
+ {{#unless browser}}{{#unless os}}{{#if userAgent}}<tr><td colspan="2" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Device<br /><span style="font-size:13px;line-height:1.5;color:#334155;word-break:break-all;">{{userAgent}}</span></td></tr>{{/if}}{{/unless}}{{/unless}}
162
+ {{#if location}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Location</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{countryFlag}} {{location}}</td></tr>{{/if}}
163
+ {{#if ipAddress}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">IP address</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{ipAddress}}</td></tr>{{/if}}
164
+ </table></td></tr></table>
165
+ <p style="margin:0 0 16px;">If this was you, there is nothing else to do.</p>
166
+ <table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%;border-collapse:collapse;margin:0 0 20px;"><tr><td style="padding:12px 16px;background:#fef2f2;border-left:4px solid #dc2626;font-size:15px;line-height:1.6;color:#7f1d1d;"><strong style="color:#7f1d1d;">If you did not make this change</strong>, reset your password immediately and contact support.</td></tr></table>
167
+ <p style="margin:0;">Best regards,<br />The {{brandName}} Team</p>
168
+ pt: >-
169
+ <p style="margin:0 0 16px;">Olá {{name}},</p>
170
+ <p style="margin:0 0 20px;">A senha da sua conta {{brandName}} acabou de ser alterada.</p>
171
+ <table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%;border-collapse:collapse;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:0 0 20px;"><tr><td style="padding:12px 20px;"><table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%;border-collapse:collapse;">
172
+ {{#if datetime}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Data e hora</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{datetime}}</td></tr>{{/if}}
173
+ {{#if browser}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Navegador</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{browser}}</td></tr>{{/if}}
174
+ {{#if os}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Sistema</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{os}}</td></tr>{{/if}}
175
+ {{#unless browser}}{{#unless os}}{{#if userAgent}}<tr><td colspan="2" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Dispositivo<br /><span style="font-size:13px;line-height:1.5;color:#334155;word-break:break-all;">{{userAgent}}</span></td></tr>{{/if}}{{/unless}}{{/unless}}
176
+ {{#if location}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Localização</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{countryFlag}} {{location}}</td></tr>{{/if}}
177
+ {{#if ipAddress}}<tr><td width="40%" valign="top" style="padding:7px 0;font-size:13px;line-height:1.5;color:#64748b;">Endereço IP</td><td valign="top" align="right" style="padding:7px 0 7px 16px;font-size:15px;line-height:1.5;color:#0f172a;font-weight:600;">{{ipAddress}}</td></tr>{{/if}}
178
+ </table></td></tr></table>
179
+ <p style="margin:0 0 16px;">Se foi você, não é preciso fazer nada.</p>
180
+ <table role="presentation" cellpadding="0" cellspacing="0" border="0" width="100%" style="width:100%;border-collapse:collapse;margin:0 0 20px;"><tr><td style="padding:12px 16px;background:#fef2f2;border-left:4px solid #dc2626;font-size:15px;line-height:1.6;color:#7f1d1d;"><strong style="color:#7f1d1d;">Se você não fez esta alteração</strong>, redefina sua senha imediatamente e entre em contato com o suporte.</td></tr></table>
181
+ <p style="margin:0;">Atenciosamente,<br />A equipe {{brandName}}</p>
162
182
  relations:
163
183
  mail_var:
184
+ - name: name
185
+ - name: datetime
186
+ - name: browser
187
+ - name: os
164
188
  - name: userAgent
165
- - name: ipAddress
166
189
  - name: location
167
- - name: name
190
+ - name: countryFlag
191
+ - name: ipAddress
168
192
  - slug: auth-mfa-code
169
193
  subject:
170
- en: Your HedHog MFA Code
171
- pt: Seu Código MFA do HedHog
194
+ en: Your {{brandName}} MFA Code
195
+ pt: Seu Código MFA do {{brandName}}
172
196
  body:
173
197
  en: |
174
198
  Hello {{name}},<br>
175
199
  Your MFA code is: {{code}}<br>
176
200
  Best regards,<br>
177
- The HedHog Team
201
+ The {{brandName}} Team
178
202
  pt: |
179
203
  Olá {{name}},<br>
180
204
  Seu código MFA é: {{code}}<br>
181
205
  Atenciosamente,<br>
182
- A equipe HedHog
206
+ A equipe {{brandName}}
183
207
  relations:
184
208
  mail_var:
185
209
  - name: code
186
210
  - name: name
187
211
  - slug: auth-sign-up
188
212
  subject:
189
- en: Welcome to HedHog!
190
- pt: Bem-vindo ao HedHog!
213
+ en: Welcome to {{brandName}}!
214
+ pt: Bem-vindo ao {{brandName}}!
191
215
  body:
192
216
  en: |
193
217
  Hello {{name}},<br>
194
- Thank you for registering with HedHog!
218
+ Thank you for registering with {{brandName}}!
195
219
  Your account has been successfully created.<br>
196
220
  You can now log in and start using all the features available to you.<br>
197
221
  If you have any questions or need assistance, please don't hesitate to contact us.<br>
198
222
  Best regards,<br>
199
- The HedHog Team
223
+ The {{brandName}} Team
200
224
  pt: |
201
225
  Olá {{name}},<br>
202
- Obrigado por se registrar no HedHog!
226
+ Obrigado por se registrar no {{brandName}}!
203
227
  Sua conta foi criada com sucesso.<br>
204
228
  Agora você pode fazer login e começar a usar todos os recursos disponíveis.<br>
205
229
  Se você tiver alguma dúvida ou precisar de ajuda, não hesite em nos contatar.<br>
206
230
  Atenciosamente,<br>
207
- A equipe HedHog
231
+ A equipe {{brandName}}
208
232
  relations:
209
233
  mail_var:
210
234
  - name: name
@@ -221,7 +245,7 @@
221
245
  If your matter is urgent, please let us know in your message.<br>
222
246
  We appreciate your patience and look forward to assisting you.<br>
223
247
  Best regards,<br>
224
- The HedHog Team
248
+ The {{brandName}} Team
225
249
  pt: |
226
250
  Olá {{name}},<br>
227
251
  Obrigado por entrar em contato conosco! Recebemos sua mensagem
@@ -230,7 +254,7 @@
230
254
  Se o seu assunto for urgente, por favor nos avise em sua mensagem.<br>
231
255
  Agradecemos sua paciência e esperamos poder ajudá-lo.<br>
232
256
  Atenciosamente,<br>
233
- A equipe HedHog
257
+ A equipe {{brandName}}
234
258
  relations:
235
259
  mail_var:
236
260
  - name: name
@@ -251,7 +275,7 @@
251
275
  </div>
252
276
  If you have any additional questions, please don't hesitate to reach out again.<br>
253
277
  Best regards,<br>
254
- The HedHog Team
278
+ The {{brandName}} Team
255
279
  pt: |
256
280
  Olá {{name}},<br>
257
281
  Obrigado pela sua mensagem:<br>
@@ -264,7 +288,7 @@
264
288
  </div>
265
289
  Se você tiver alguma dúvida adicional, não hesite em entrar em contato novamente.<br>
266
290
  Atenciosamente,<br>
267
- A equipe HedHog
291
+ A equipe {{brandName}}
268
292
  relations:
269
293
  mail_var:
270
294
  - name: name
@@ -338,7 +362,7 @@
338
362
  <strong>Transaction ID:</strong> {{transactionId}}<br>
339
363
  Thank you for your payment.<br>
340
364
  Best regards,<br>
341
- The HedHog Team
365
+ The {{brandName}} Team
342
366
  pt: |
343
367
  Olá {{name}},<br>
344
368
  Seu pagamento foi confirmado com sucesso.<br>
@@ -348,7 +372,7 @@
348
372
  <strong>ID da Transação:</strong> {{transactionId}}<br>
349
373
  Obrigado pelo seu pagamento.<br>
350
374
  Atenciosamente,<br>
351
- A equipe HedHog
375
+ A equipe {{brandName}}
352
376
  relations:
353
377
  mail_var:
354
378
  - name: name
@@ -369,7 +393,7 @@
369
393
  Please review your payment method and complete the payment using the link below:<br>
370
394
  <a href="{{paymentUrl}}">{{paymentUrl}}</a><br>
371
395
  Best regards,<br>
372
- The HedHog Team
396
+ The {{brandName}} Team
373
397
  pt: |
374
398
  Olá {{name}},<br>
375
399
  Não foi possível processar seu pagamento para a fatura <strong>{{invoiceNumber}}</strong>.<br>
@@ -377,7 +401,7 @@
377
401
  Revise sua forma de pagamento e conclua o pagamento usando o link abaixo:<br>
378
402
  <a href="{{paymentUrl}}">{{paymentUrl}}</a><br>
379
403
  Atenciosamente,<br>
380
- A equipe HedHog
404
+ A equipe {{brandName}}
381
405
  relations:
382
406
  mail_var:
383
407
  - name: name
@@ -399,7 +423,7 @@
399
423
  You can view the invoice here:<br>
400
424
  <a href="{{invoiceUrl}}">{{invoiceUrl}}</a><br>
401
425
  Best regards,<br>
402
- The HedHog Team
426
+ The {{brandName}} Team
403
427
  pt: |
404
428
  Olá {{name}},<br>
405
429
  Uma nova fatura foi gerada para sua conta.<br>
@@ -409,7 +433,7 @@
409
433
  Você pode visualizar a fatura aqui:<br>
410
434
  <a href="{{invoiceUrl}}">{{invoiceUrl}}</a><br>
411
435
  Atenciosamente,<br>
412
- A equipe HedHog
436
+ A equipe {{brandName}}
413
437
  relations:
414
438
  mail_var:
415
439
  - name: name
@@ -429,14 +453,14 @@
429
453
  <strong>Access until:</strong> {{endsAt}}<br>
430
454
  If this was not expected, please contact our team.<br>
431
455
  Best regards,<br>
432
- The HedHog Team
456
+ The {{brandName}} Team
433
457
  pt: |
434
458
  Olá {{name}},<br>
435
459
  Sua assinatura de <strong>{{productName}}</strong> foi cancelada.<br>
436
460
  <strong>Acesso até:</strong> {{endsAt}}<br>
437
461
  Se isso não era esperado, entre em contato com nossa equipe.<br>
438
462
  Atenciosamente,<br>
439
- A equipe HedHog
463
+ A equipe {{brandName}}
440
464
  relations:
441
465
  mail_var:
442
466
  - name: name
@@ -455,7 +479,7 @@
455
479
  <strong>Refund ID:</strong> {{refundId}}<br>
456
480
  <strong>Processed at:</strong> {{processedAt}}<br>
457
481
  Best regards,<br>
458
- The HedHog Team
482
+ The {{brandName}} Team
459
483
  pt: |
460
484
  Olá {{name}},<br>
461
485
  Seu reembolso foi confirmado com sucesso.<br>
@@ -463,7 +487,7 @@
463
487
  <strong>ID do Reembolso:</strong> {{refundId}}<br>
464
488
  <strong>Processado em:</strong> {{processedAt}}<br>
465
489
  Atenciosamente,<br>
466
- A equipe HedHog
490
+ A equipe {{brandName}}
467
491
  relations:
468
492
  mail_var:
469
493
  - name: name
@@ -479,8 +503,8 @@
479
503
  Hello {{name}},<br>
480
504
  You have been added to <strong>{{company}}</strong>'s account on the Hcode training platform (<a href="https://hcode.training">https://hcode.training</a>).<br>
481
505
  {{#if hasAccount}}
482
- You already have an account with this email, so just sign in with your usual credentials to access your courses:<br>
483
- Sign in: <a href="{{link}}">{{link}}</a><br>
506
+ You already have an account with this email. Click the secure link below to authorize this access:<br>
507
+ Authorize access: <a href="{{link}}">{{link}}</a><br>
484
508
  {{else}}
485
509
  To get started, you need to create your account. Click the secure link below to set your name and password:<br>
486
510
  Create your account: <a href="{{link}}">{{link}}</a><br>
@@ -493,8 +517,8 @@
493
517
  Olá {{name}},<br>
494
518
  Você foi adicionado à conta de <strong>{{company}}</strong> na plataforma de treinamentos da Hcode (<a href="https://hcode.training">https://hcode.training</a>).<br>
495
519
  {{#if hasAccount}}
496
- Você já possui uma conta com este e-mail, então basta acessar com suas credenciais de sempre para ver seus treinamentos:<br>
497
- Acessar: <a href="{{link}}">{{link}}</a><br>
520
+ Você já possui uma conta com este e-mail. Clique no link seguro abaixo para autorizar esse acesso:<br>
521
+ Autorizar acesso: <a href="{{link}}">{{link}}</a><br>
498
522
  {{else}}
499
523
  Para começar, você precisa criar sua conta. Clique no link seguro abaixo para definir seu nome e senha:<br>
500
524
  Criar sua conta: <a href="{{link}}">{{link}}</a><br>
@@ -509,4 +533,143 @@
509
533
  - name: company
510
534
  - name: link
511
535
  - name: hasAccount
512
-
536
+
537
+ - slug: enterprise-password-reset-notice
538
+ subject:
539
+ en: Your {{company}} training platform password was changed
540
+ pt: Sua senha da plataforma de treinamentos de {{company}} foi alterada
541
+ body:
542
+ en: |
543
+ Hello {{name}},<br>
544
+ An administrator at <strong>{{company}}</strong> has reset your password on the Hcode training platform (<a href="https://hcode.training">https://hcode.training</a>).<br>
545
+ If you don't know your new password, please contact your company's administrator.<br>
546
+ <br>
547
+ If you did not expect this change, contact your administrator as soon as possible.<br>
548
+ <br>
549
+ Best regards,<br>
550
+ The Hcode Team
551
+ pt: |
552
+ Olá {{name}},<br>
553
+ Um administrador da <strong>{{company}}</strong> redefiniu sua senha na plataforma de treinamentos da Hcode (<a href="https://hcode.training">https://hcode.training</a>).<br>
554
+ Se você não souber a nova senha, entre em contato com o administrador da sua empresa.<br>
555
+ <br>
556
+ Se você não esperava essa alteração, entre em contato com o administrador o quanto antes.<br>
557
+ <br>
558
+ Atenciosamente,<br>
559
+ A equipe Hcode
560
+ relations:
561
+ mail_var:
562
+ - name: name
563
+ - name: company
564
+
565
+ - slug: brclick-inscricao-confirmacao
566
+ subject:
567
+ en: BRClick registration confirmed — protocol {{protocolo}}
568
+ pt: Inscrição confirmada no BRClick — protocolo {{protocolo}}
569
+ body:
570
+ en: |
571
+ Hello {{name}},<br>
572
+ Your <strong>BRClick</strong> registration has been recorded.<br>
573
+ Protocol: <strong>{{protocolo}}</strong><br>
574
+ <br>
575
+ You are enrolled in:<br>
576
+ {{{turmas}}}
577
+ {{#if hasWaitlist}}
578
+ <br>
579
+ <strong style="color:#9c7a00;">Waiting list:</strong> these classes are full, so you are on the waiting list for:<br>
580
+ {{{turmasEspera}}}
581
+ If someone drops out, we will email you about the open spot.<br>
582
+ {{/if}}
583
+ {{#if hasUnavailable}}
584
+ <br>
585
+ <strong style="color:#b3261e;">Heads up:</strong> we could not confirm your spot in:<br>
586
+ {{{turmasIndisponiveis}}}
587
+ Our team will reach out to sort this out.<br>
588
+ {{/if}}
589
+ {{#if hasAccount}}
590
+ {{#if emailLinkSent}}
591
+ You already had an account on the training platform, but no password yet. We sent you a separate email with the link to set one.<br>
592
+ {{else}}
593
+ You already have an account on the training platform — sign in with your usual password to see your classes.<br>
594
+ Sign in: <a href="{{link}}">{{link}}</a><br>
595
+ {{/if}}
596
+ {{else}}
597
+ Your training platform account was created with the password you chose in the form.<br>
598
+ Sign in: <a href="{{link}}">{{link}}</a><br>
599
+ {{/if}}
600
+ <br>
601
+ <strong>Meanwhile, you can already get started:</strong><br>
602
+ 1. Sign in to Hcode Training with the email and password from the form.<br>
603
+ 2. {{#if logicCourseEnrolled}}You are already enrolled in the <strong>Programming Logic</strong> course — it's the prerequisite for the live classes, and the best place to start.{{else}}We are granting your access to the <strong>Programming Logic</strong> course, the prerequisite for the live classes; if it doesn't show up on your dashboard within a few hours, just reply to this email.{{/if}}<br>
604
+ 3. Click the button below to start right now.<br>
605
+ <br>
606
+ <table role="presentation" cellspacing="0" cellpadding="0" border="0" style="width:100%;max-width:320px;">
607
+ <tr>
608
+ <td align="center" bgcolor="#1465b8" style="border-radius:10px;">
609
+ <a href="{{logicCourseUrl}}" target="_blank" style="display:block; padding:14px 20px; font-size:16px; line-height:1.1; font-weight:700; color:#ffffff; text-decoration:none;">🎓 &nbsp; Go to the Logic course</a>
610
+ </td>
611
+ </tr>
612
+ </table>
613
+ <br>
614
+ Best regards,<br>
615
+ The Hcode Team
616
+ pt: |
617
+ Olá {{name}},<br>
618
+ Sua inscrição no <strong>BRClick</strong> foi registrada.<br>
619
+ Protocolo: <strong>{{protocolo}}</strong><br>
620
+ <br>
621
+ Você está matriculado em:<br>
622
+ {{{turmas}}}
623
+ {{#if hasWaitlist}}
624
+ <br>
625
+ <strong style="color:#9c7a00;">Lista de espera:</strong> estas turmas já estão cheias, então você entrou na lista de espera de:<br>
626
+ {{{turmasEspera}}}
627
+ Se alguém desistir, avisamos você por e-mail sobre a vaga.<br>
628
+ {{/if}}
629
+ {{#if hasUnavailable}}
630
+ <br>
631
+ <strong style="color:#b3261e;">Atenção:</strong> não conseguimos confirmar sua vaga em:<br>
632
+ {{{turmasIndisponiveis}}}
633
+ Nossa equipe vai entrar em contato para resolver isso.<br>
634
+ {{/if}}
635
+ {{#if hasAccount}}
636
+ {{#if emailLinkSent}}
637
+ Você já tinha uma conta na plataforma de treinamentos, mas ainda sem senha. Enviamos um e-mail separado com o link para você defini-la.<br>
638
+ {{else}}
639
+ Você já tem conta na plataforma de treinamentos — entre com a sua senha de sempre para ver as aulas.<br>
640
+ Acessar: <a href="{{link}}">{{link}}</a><br>
641
+ {{/if}}
642
+ {{else}}
643
+ Sua conta na plataforma de treinamentos foi criada com a senha que você definiu no formulário.<br>
644
+ Acessar: <a href="{{link}}">{{link}}</a><br>
645
+ {{/if}}
646
+ <br>
647
+ <strong>Enquanto isso, já dá pra começar:</strong><br>
648
+ 1. Entre no Hcode Training com o e-mail e a senha do cadastro.<br>
649
+ 2. {{#if logicCourseEnrolled}}Você já está matriculado no curso <strong>Lógica de Programação</strong> — é o pré-requisito das turmas, e é por aí que vale começar.{{else}}Estamos liberando seu acesso ao curso <strong>Lógica de Programação</strong>, o pré-requisito das turmas; se não aparecer no seu painel em algumas horas, responda este e-mail.{{/if}}<br>
650
+ 3. Clique no botão abaixo para começar agora mesmo.<br>
651
+ <br>
652
+ <table role="presentation" cellspacing="0" cellpadding="0" border="0" style="width:100%;max-width:320px;">
653
+ <tr>
654
+ <td align="center" bgcolor="#1465b8" style="border-radius:10px;">
655
+ <a href="{{logicCourseUrl}}" target="_blank" style="display:block; padding:14px 20px; font-size:16px; line-height:1.1; font-weight:700; color:#ffffff; text-decoration:none;">🎓 &nbsp; Acessar o curso de Lógica</a>
656
+ </td>
657
+ </tr>
658
+ </table>
659
+ <br>
660
+ Atenciosamente,<br>
661
+ A equipe Hcode
662
+ relations:
663
+ mail_var:
664
+ - name: name
665
+ - name: protocolo
666
+ - name: turmas
667
+ - name: link
668
+ - name: hasAccount
669
+ - name: emailLinkSent
670
+ - name: hasWaitlist
671
+ - name: turmasEspera
672
+ - name: hasUnavailable
673
+ - name: turmasIndisponiveis
674
+ - name: logicCourseUrl
675
+ - name: logicCourseEnrolled