@hexabot-ai/api 3.1.3-alpha.0 → 3.2.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (957) hide show
  1. package/README.md +1 -0
  2. package/dist/analytics/controllers/stats.controller.d.ts +3 -1
  3. package/dist/analytics/controllers/stats.controller.js +21 -0
  4. package/dist/analytics/controllers/stats.controller.js.map +1 -1
  5. package/dist/analytics/dto/stats.dto.d.ts +16 -11
  6. package/dist/analytics/dto/stats.dto.js +1 -31
  7. package/dist/analytics/dto/stats.dto.js.map +1 -1
  8. package/dist/analytics/entities/stats.entity.d.ts +20 -3
  9. package/dist/analytics/entities/stats.entity.js +3 -3
  10. package/dist/analytics/entities/stats.entity.js.map +1 -1
  11. package/dist/analytics/enums/stats-type.enum.d.ts +1 -9
  12. package/dist/analytics/enums/stats-type.enum.js +2 -10
  13. package/dist/analytics/enums/stats-type.enum.js.map +1 -1
  14. package/dist/analytics/repositories/stats.repository.d.ts +1 -1
  15. package/dist/analytics/repositories/stats.repository.js.map +1 -1
  16. package/dist/analytics/services/stats.service.d.ts +7 -2
  17. package/dist/analytics/services/stats.service.js +95 -8
  18. package/dist/analytics/services/stats.service.js.map +1 -1
  19. package/dist/app.controller.d.ts +13 -0
  20. package/dist/app.controller.js +9 -0
  21. package/dist/app.controller.js.map +1 -1
  22. package/dist/app.module.js +4 -0
  23. package/dist/app.module.js.map +1 -1
  24. package/dist/app.service.d.ts +5 -1
  25. package/dist/app.service.js +8 -2
  26. package/dist/app.service.js.map +1 -1
  27. package/dist/attachment/attachment.module.js +4 -1
  28. package/dist/attachment/attachment.module.js.map +1 -1
  29. package/dist/attachment/controllers/attachment.controller.d.ts +65 -2
  30. package/dist/attachment/controllers/attachment.controller.js.map +1 -1
  31. package/dist/attachment/dto/attachment.dto.d.ts +4 -23
  32. package/dist/attachment/dto/attachment.dto.js +1 -72
  33. package/dist/attachment/dto/attachment.dto.js.map +1 -1
  34. package/dist/attachment/entities/attachment.entity.d.ts +113 -6
  35. package/dist/attachment/entities/attachment.entity.js +16 -21
  36. package/dist/attachment/entities/attachment.entity.js.map +1 -1
  37. package/dist/attachment/guards/attachment-ability.guard.js.map +1 -1
  38. package/dist/attachment/mocks/attachment.mock.d.ts +1 -1
  39. package/dist/attachment/mocks/attachment.mock.js +7 -2
  40. package/dist/attachment/mocks/attachment.mock.js.map +1 -1
  41. package/dist/attachment/services/attachment.service.d.ts +2 -1
  42. package/dist/attachment/services/attachment.service.js.map +1 -1
  43. package/dist/attachment/types/index.d.ts +1 -15
  44. package/dist/attachment/types/index.js +5 -19
  45. package/dist/attachment/types/index.js.map +1 -1
  46. package/dist/audit/audit-core.module.d.ts +2 -0
  47. package/dist/audit/audit-core.module.js +39 -0
  48. package/dist/audit/audit-core.module.js.map +1 -0
  49. package/dist/audit/audit.module.d.ts +2 -0
  50. package/dist/audit/audit.module.js +62 -0
  51. package/dist/audit/audit.module.js.map +1 -0
  52. package/dist/audit/controllers/audit-log.controller.d.ts +16 -0
  53. package/dist/audit/controllers/audit-log.controller.js +85 -0
  54. package/dist/audit/controllers/audit-log.controller.js.map +1 -0
  55. package/dist/audit/decorators/audit-label.decorator.d.ts +4 -0
  56. package/dist/audit/decorators/audit-label.decorator.js +23 -0
  57. package/dist/audit/decorators/audit-label.decorator.js.map +1 -0
  58. package/dist/audit/decorators/audit-log.decorators.d.ts +2 -0
  59. package/dist/audit/decorators/audit-log.decorators.js +31 -0
  60. package/dist/audit/decorators/audit-log.decorators.js.map +1 -0
  61. package/dist/audit/dto/audit-log.dto.d.ts +33 -0
  62. package/dist/audit/dto/audit-log.dto.js +132 -0
  63. package/dist/audit/dto/audit-log.dto.js.map +1 -0
  64. package/dist/audit/entities/audit-log.entity.d.ts +76 -0
  65. package/dist/audit/entities/audit-log.entity.js +104 -0
  66. package/dist/audit/entities/audit-log.entity.js.map +1 -0
  67. package/dist/audit/exporters/audit-backend.factory.d.ts +10 -0
  68. package/dist/audit/exporters/audit-backend.factory.js +60 -0
  69. package/dist/audit/exporters/audit-backend.factory.js.map +1 -0
  70. package/dist/audit/exporters/audit-database.exporter.d.ts +13 -0
  71. package/dist/audit/exporters/audit-database.exporter.js +89 -0
  72. package/dist/audit/exporters/audit-database.exporter.js.map +1 -0
  73. package/dist/audit/exporters/audit-noop.exporter.d.ts +8 -0
  74. package/dist/audit/exporters/audit-noop.exporter.js +22 -0
  75. package/dist/audit/exporters/audit-noop.exporter.js.map +1 -0
  76. package/dist/audit/exporters/audit-safe.exporter.d.ts +14 -0
  77. package/dist/audit/exporters/audit-safe.exporter.js +38 -0
  78. package/dist/audit/exporters/audit-safe.exporter.js.map +1 -0
  79. package/dist/audit/index.d.ts +9 -0
  80. package/dist/audit/index.js +26 -0
  81. package/dist/audit/index.js.map +1 -0
  82. package/dist/audit/interceptors/audit-context.interceptor.d.ts +8 -0
  83. package/dist/audit/interceptors/audit-context.interceptor.js +32 -0
  84. package/dist/audit/interceptors/audit-context.interceptor.js.map +1 -0
  85. package/dist/audit/repositories/audit-log.repository.d.ts +6 -0
  86. package/dist/audit/repositories/audit-log.repository.js +32 -0
  87. package/dist/audit/repositories/audit-log.repository.js.map +1 -0
  88. package/dist/audit/services/audit-context.service.d.ts +13 -0
  89. package/dist/audit/services/audit-context.service.js +84 -0
  90. package/dist/audit/services/audit-context.service.js.map +1 -0
  91. package/dist/audit/services/audit-log-record.service.d.ts +16 -0
  92. package/dist/audit/services/audit-log-record.service.js +69 -0
  93. package/dist/audit/services/audit-log-record.service.js.map +1 -0
  94. package/dist/audit/subscribers/audit-log.subscriber.d.ts +25 -0
  95. package/dist/audit/subscribers/audit-log.subscriber.js +209 -0
  96. package/dist/audit/subscribers/audit-log.subscriber.js.map +1 -0
  97. package/dist/audit/types/audit-context.type.d.ts +13 -0
  98. package/dist/audit/types/audit-context.type.js +3 -0
  99. package/dist/audit/types/audit-context.type.js.map +1 -0
  100. package/dist/audit/utils/request-context.d.ts +5 -0
  101. package/dist/audit/utils/request-context.js +33 -0
  102. package/dist/audit/utils/request-context.js.map +1 -0
  103. package/dist/channel/channel.controller.d.ts +5 -4
  104. package/dist/channel/channel.controller.js +11 -3
  105. package/dist/channel/channel.controller.js.map +1 -1
  106. package/dist/channel/channel.module.js +22 -3
  107. package/dist/channel/channel.module.js.map +1 -1
  108. package/dist/channel/channel.service.d.ts +15 -8
  109. package/dist/channel/channel.service.js +74 -59
  110. package/dist/channel/channel.service.js.map +1 -1
  111. package/dist/channel/dto/source.dto.d.ts +20 -0
  112. package/dist/channel/dto/source.dto.js +66 -0
  113. package/dist/channel/dto/source.dto.js.map +1 -0
  114. package/dist/channel/entities/source.entity.d.ts +85 -0
  115. package/dist/channel/entities/source.entity.js +63 -0
  116. package/dist/channel/entities/source.entity.js.map +1 -0
  117. package/dist/channel/index.d.ts +12 -0
  118. package/dist/channel/index.js +12 -0
  119. package/dist/channel/index.js.map +1 -1
  120. package/dist/channel/lib/Handler.d.ts +21 -15
  121. package/dist/channel/lib/Handler.js +43 -24
  122. package/dist/channel/lib/Handler.js.map +1 -1
  123. package/dist/channel/lib/__test__/common.mock.d.ts +7 -7
  124. package/dist/channel/lib/__test__/common.mock.js +12 -14
  125. package/dist/channel/lib/__test__/common.mock.js.map +1 -1
  126. package/dist/channel/lib/__test__/label.mock.d.ts +1 -1
  127. package/dist/channel/lib/__test__/subscriber.mock.d.ts +1 -1
  128. package/dist/channel/lib/__test__/subscriber.mock.js +1 -0
  129. package/dist/channel/lib/__test__/subscriber.mock.js.map +1 -1
  130. package/dist/channel/lib/channel-capabilities.d.ts +12 -0
  131. package/dist/channel/lib/channel-capabilities.js +15 -0
  132. package/dist/channel/lib/channel-capabilities.js.map +1 -0
  133. package/dist/channel/lib/channel-codec.d.ts +7 -0
  134. package/dist/channel/lib/channel-codec.js +3 -0
  135. package/dist/channel/lib/channel-codec.js.map +1 -0
  136. package/dist/channel/lib/channel-event-bus.d.ts +22 -0
  137. package/dist/channel/lib/channel-event-bus.js +47 -0
  138. package/dist/channel/lib/channel-event-bus.js.map +1 -0
  139. package/dist/channel/lib/extension-inject.decorator.d.ts +9 -0
  140. package/dist/channel/lib/extension-inject.decorator.js +25 -0
  141. package/dist/channel/lib/extension-inject.decorator.js.map +1 -0
  142. package/dist/channel/lib/inbound-events/channel-inbound-event-context.d.ts +7 -1
  143. package/dist/channel/lib/inbound-events/channel-inbound-event-context.js +15 -1
  144. package/dist/channel/lib/inbound-events/channel-inbound-event-context.js.map +1 -1
  145. package/dist/channel/lib/inbound-events/channel-inbound-event.d.ts +6 -2
  146. package/dist/channel/lib/inbound-events/channel-inbound-event.js +19 -0
  147. package/dist/channel/lib/inbound-events/channel-inbound-event.js.map +1 -1
  148. package/dist/channel/lib/inbound-events/message-inbound-event.d.ts +1 -2
  149. package/dist/channel/lib/inbound-events/message-inbound-event.js +8 -6
  150. package/dist/channel/lib/inbound-events/message-inbound-event.js.map +1 -1
  151. package/dist/channel/lib/inbound-events/synthetic-message-inbound-event.d.ts +1 -2
  152. package/dist/channel/lib/inbound-events/synthetic-message-inbound-event.js +23 -24
  153. package/dist/channel/lib/inbound-events/synthetic-message-inbound-event.js.map +1 -1
  154. package/dist/channel/lib/outbound/channel-outbound-encoder.d.ts +21 -10
  155. package/dist/channel/lib/outbound/channel-outbound-encoder.js +19 -55
  156. package/dist/channel/lib/outbound/channel-outbound-encoder.js.map +1 -1
  157. package/dist/channel/lib/transports/http-channel-handler.d.ts +17 -0
  158. package/dist/channel/lib/transports/http-channel-handler.js +85 -0
  159. package/dist/channel/lib/transports/http-channel-handler.js.map +1 -0
  160. package/dist/channel/lib/transports/index.d.ts +2 -0
  161. package/dist/channel/lib/transports/index.js +19 -0
  162. package/dist/channel/lib/transports/index.js.map +1 -0
  163. package/dist/channel/lib/transports/websocket-channel-handler.d.ts +17 -0
  164. package/dist/channel/lib/transports/websocket-channel-handler.js +65 -0
  165. package/dist/channel/lib/transports/websocket-channel-handler.js.map +1 -0
  166. package/dist/channel/repositories/source.repository.d.ts +6 -0
  167. package/dist/channel/repositories/source.repository.js +32 -0
  168. package/dist/channel/repositories/source.repository.js.map +1 -0
  169. package/dist/channel/services/channel-attachment.service.d.ts +3 -3
  170. package/dist/channel/services/channel-attachment.service.js +19 -13
  171. package/dist/channel/services/channel-attachment.service.js.map +1 -1
  172. package/dist/channel/services/channel-download.service.d.ts +4 -2
  173. package/dist/channel/services/channel-download.service.js +7 -3
  174. package/dist/channel/services/channel-download.service.js.map +1 -1
  175. package/dist/channel/services/channel-registry.service.d.ts +9 -0
  176. package/dist/channel/services/channel-registry.service.js +36 -0
  177. package/dist/channel/services/channel-registry.service.js.map +1 -0
  178. package/dist/channel/services/source.service.d.ts +28 -0
  179. package/dist/channel/services/source.service.js +145 -0
  180. package/dist/channel/services/source.service.js.map +1 -0
  181. package/dist/channel/services/subscriber-resolver.service.d.ts +15 -0
  182. package/dist/channel/services/subscriber-resolver.service.js +48 -0
  183. package/dist/channel/services/subscriber-resolver.service.js.map +1 -0
  184. package/dist/channel/source.controller.d.ts +27 -0
  185. package/dist/channel/source.controller.js +102 -0
  186. package/dist/channel/source.controller.js.map +1 -0
  187. package/dist/channel/types.d.ts +10 -4
  188. package/dist/channel/webhook.controller.d.ts +8 -10
  189. package/dist/channel/webhook.controller.js +30 -38
  190. package/dist/channel/webhook.controller.js.map +1 -1
  191. package/dist/chat/controllers/label-group.controller.d.ts +2 -1
  192. package/dist/chat/controllers/label-group.controller.js.map +1 -1
  193. package/dist/chat/controllers/label.controller.d.ts +2 -1
  194. package/dist/chat/controllers/label.controller.js.map +1 -1
  195. package/dist/chat/controllers/message.controller.d.ts +3 -2
  196. package/dist/chat/controllers/message.controller.js +13 -11
  197. package/dist/chat/controllers/message.controller.js.map +1 -1
  198. package/dist/chat/controllers/subscriber.controller.d.ts +26 -2
  199. package/dist/chat/controllers/subscriber.controller.js +1 -0
  200. package/dist/chat/controllers/subscriber.controller.js.map +1 -1
  201. package/dist/chat/controllers/thread.controller.d.ts +14 -2
  202. package/dist/chat/controllers/thread.controller.js +4 -0
  203. package/dist/chat/controllers/thread.controller.js.map +1 -1
  204. package/dist/chat/dto/label-group.dto.d.ts +4 -13
  205. package/dist/chat/dto/label-group.dto.js +1 -35
  206. package/dist/chat/dto/label-group.dto.js.map +1 -1
  207. package/dist/chat/dto/label.dto.d.ts +4 -20
  208. package/dist/chat/dto/label.dto.js +1 -63
  209. package/dist/chat/dto/label.dto.js.map +1 -1
  210. package/dist/chat/dto/message.dto.d.ts +7 -26
  211. package/dist/chat/dto/message.dto.js +13 -83
  212. package/dist/chat/dto/message.dto.js.map +1 -1
  213. package/dist/chat/dto/subscriber.dto.d.ts +6 -27
  214. package/dist/chat/dto/subscriber.dto.js +11 -83
  215. package/dist/chat/dto/subscriber.dto.js.map +1 -1
  216. package/dist/chat/dto/thread.dto.d.ts +5 -17
  217. package/dist/chat/dto/thread.dto.js +11 -54
  218. package/dist/chat/dto/thread.dto.js.map +1 -1
  219. package/dist/chat/entities/label-group.entity.d.ts +37 -3
  220. package/dist/chat/entities/label-group.entity.js +5 -3
  221. package/dist/chat/entities/label-group.entity.js.map +1 -1
  222. package/dist/chat/entities/label.entity.d.ts +88 -3
  223. package/dist/chat/entities/label.entity.js +5 -3
  224. package/dist/chat/entities/label.entity.js.map +1 -1
  225. package/dist/chat/entities/message.entity.d.ts +824 -4
  226. package/dist/chat/entities/message.entity.js +3 -3
  227. package/dist/chat/entities/message.entity.js.map +1 -1
  228. package/dist/chat/entities/subscriber.entity.d.ts +9 -7
  229. package/dist/chat/entities/subscriber.entity.js +19 -4
  230. package/dist/chat/entities/subscriber.entity.js.map +1 -1
  231. package/dist/chat/entities/thread.entity.d.ts +109 -3
  232. package/dist/chat/entities/thread.entity.js +19 -3
  233. package/dist/chat/entities/thread.entity.js.map +1 -1
  234. package/dist/chat/helpers/envelope-builder.d.ts +7 -7
  235. package/dist/chat/helpers/envelope-builder.js +26 -26
  236. package/dist/chat/helpers/envelope-builder.js.map +1 -1
  237. package/dist/chat/helpers/envelope-factory.d.ts +132 -42
  238. package/dist/chat/helpers/envelope-factory.js +11 -12
  239. package/dist/chat/helpers/envelope-factory.js.map +1 -1
  240. package/dist/chat/index.d.ts +0 -5
  241. package/dist/chat/index.js +0 -5
  242. package/dist/chat/index.js.map +1 -1
  243. package/dist/chat/repositories/message.repository.d.ts +1 -2
  244. package/dist/chat/repositories/message.repository.js.map +1 -1
  245. package/dist/chat/repositories/subscriber.repository.d.ts +8 -6
  246. package/dist/chat/repositories/subscriber.repository.js +18 -16
  247. package/dist/chat/repositories/subscriber.repository.js.map +1 -1
  248. package/dist/chat/repositories/thread.repository.d.ts +1 -1
  249. package/dist/chat/repositories/thread.repository.js +1 -1
  250. package/dist/chat/repositories/thread.repository.js.map +1 -1
  251. package/dist/chat/services/chat.service.js +17 -7
  252. package/dist/chat/services/chat.service.js.map +1 -1
  253. package/dist/chat/services/message.service.d.ts +1 -2
  254. package/dist/chat/services/message.service.js.map +1 -1
  255. package/dist/chat/services/subscriber.service.d.ts +214 -8
  256. package/dist/chat/services/subscriber.service.js +11 -12
  257. package/dist/chat/services/subscriber.service.js.map +1 -1
  258. package/dist/chat/services/thread.service.d.ts +77 -9
  259. package/dist/chat/services/thread.service.js +54 -8
  260. package/dist/chat/services/thread.service.js.map +1 -1
  261. package/dist/cms/controllers/content-type.controller.d.ts +15 -2
  262. package/dist/cms/controllers/content-type.controller.js.map +1 -1
  263. package/dist/cms/controllers/content.controller.d.ts +62 -4
  264. package/dist/cms/controllers/content.controller.js.map +1 -1
  265. package/dist/cms/controllers/menu.controller.d.ts +22 -3
  266. package/dist/cms/controllers/menu.controller.js.map +1 -1
  267. package/dist/cms/dto/content.dto.d.ts +4 -16
  268. package/dist/cms/dto/content.dto.js +1 -47
  269. package/dist/cms/dto/content.dto.js.map +1 -1
  270. package/dist/cms/dto/contentType.dto.d.ts +4 -11
  271. package/dist/cms/dto/contentType.dto.js +1 -29
  272. package/dist/cms/dto/contentType.dto.js.map +1 -1
  273. package/dist/cms/dto/menu.dto.d.ts +4 -16
  274. package/dist/cms/dto/menu.dto.js +1 -51
  275. package/dist/cms/dto/menu.dto.js.map +1 -1
  276. package/dist/cms/entities/content-type.entity.d.ts +15 -3
  277. package/dist/cms/entities/content-type.entity.js +5 -3
  278. package/dist/cms/entities/content-type.entity.js.map +1 -1
  279. package/dist/cms/entities/content.entity.d.ts +37 -4
  280. package/dist/cms/entities/content.entity.js +5 -3
  281. package/dist/cms/entities/content.entity.js.map +1 -1
  282. package/dist/cms/entities/menu.entity.d.ts +67 -3
  283. package/dist/cms/entities/menu.entity.js +5 -3
  284. package/dist/cms/entities/menu.entity.js.map +1 -1
  285. package/dist/cms/enums/menu-type.enum.d.ts +1 -5
  286. package/dist/cms/enums/menu-type.enum.js +2 -6
  287. package/dist/cms/enums/menu-type.enum.js.map +1 -1
  288. package/dist/cms/repositories/content.repository.d.ts +1 -1
  289. package/dist/cms/repositories/content.repository.js.map +1 -1
  290. package/dist/cms/services/content-type.service.d.ts +1 -1
  291. package/dist/cms/services/content-type.service.js.map +1 -1
  292. package/dist/cms/services/content.service.d.ts +12 -6
  293. package/dist/cms/services/content.service.js.map +1 -1
  294. package/dist/cms/services/rag-indexer.service.js.map +1 -1
  295. package/dist/cms/types/menu-types.d.ts +1 -1
  296. package/dist/cms/utilities/verifyTree.js.map +1 -1
  297. package/dist/config/i18n/en/chatbot_settings.json +15 -15
  298. package/dist/config/i18n/en/contact.json +21 -21
  299. package/dist/config/i18n/en/messages.json +11 -11
  300. package/dist/config/i18n/en/rag_settings.json +19 -19
  301. package/dist/config/i18n/fr/chatbot_settings.json +15 -15
  302. package/dist/config/i18n/fr/contact.json +21 -21
  303. package/dist/config/i18n/fr/messages.json +11 -11
  304. package/dist/config/i18n/fr/rag_settings.json +19 -19
  305. package/dist/config/index.js +63 -0
  306. package/dist/config/index.js.map +1 -1
  307. package/dist/config/types.d.ts +22 -0
  308. package/dist/database/entities/base.entity.d.ts +3 -0
  309. package/dist/database/entities/base.entity.js +33 -7
  310. package/dist/database/entities/base.entity.js.map +1 -1
  311. package/dist/extension/cleanup.service.d.ts +2 -5
  312. package/dist/extension/cleanup.service.js +2 -12
  313. package/dist/extension/cleanup.service.js.map +1 -1
  314. package/dist/extension/types.d.ts +5 -6
  315. package/dist/extensions/actions/ai/ai-base.action.d.ts +1 -2
  316. package/dist/extensions/actions/ai/ai-base.action.js +15 -6
  317. package/dist/extensions/actions/ai/ai-base.action.js.map +1 -1
  318. package/dist/extensions/actions/ai/i18n/en.translations.json +164 -164
  319. package/dist/extensions/actions/ai/i18n/fr.translations.json +164 -164
  320. package/dist/extensions/actions/ai/model.binding.d.ts +2 -2
  321. package/dist/extensions/actions/ai/retrieve-content-rag.action.d.ts +9 -1
  322. package/dist/extensions/actions/memory/i18n/en.translations.json +3 -3
  323. package/dist/extensions/actions/memory/i18n/fr.translations.json +3 -3
  324. package/dist/extensions/actions/messaging/attachment.action.d.ts +3 -1
  325. package/dist/extensions/actions/messaging/attachment.action.js +4 -5
  326. package/dist/extensions/actions/messaging/attachment.action.js.map +1 -1
  327. package/dist/extensions/actions/messaging/await-reply.action.d.ts +100 -56
  328. package/dist/extensions/actions/messaging/buttons.action.d.ts +1 -1
  329. package/dist/extensions/actions/messaging/buttons.action.js +4 -4
  330. package/dist/extensions/actions/messaging/buttons.action.js.map +1 -1
  331. package/dist/extensions/actions/messaging/i18n/en.translations.json +174 -174
  332. package/dist/extensions/actions/messaging/i18n/fr.translations.json +174 -174
  333. package/dist/extensions/actions/messaging/list.action.d.ts +4 -4
  334. package/dist/extensions/actions/messaging/list.action.js +6 -8
  335. package/dist/extensions/actions/messaging/list.action.js.map +1 -1
  336. package/dist/extensions/actions/messaging/message-action.base.d.ts +243 -120
  337. package/dist/extensions/actions/messaging/message-action.base.js +10 -10
  338. package/dist/extensions/actions/messaging/message-action.base.js.map +1 -1
  339. package/dist/extensions/actions/messaging/quick-replies.action.js +2 -2
  340. package/dist/extensions/actions/messaging/quick-replies.action.js.map +1 -1
  341. package/dist/extensions/actions/subscriber/i18n/en.translations.json +14 -14
  342. package/dist/extensions/actions/subscriber/i18n/fr.translations.json +14 -14
  343. package/dist/extensions/actions/web/http-request.action.d.ts +9 -1
  344. package/dist/extensions/actions/web/i18n/en.translations.json +27 -27
  345. package/dist/extensions/actions/web/i18n/fr.translations.json +27 -27
  346. package/dist/extensions/channels/console/i18n/en.translations.json +22 -22
  347. package/dist/extensions/channels/console/i18n/fr.translations.json +22 -22
  348. package/dist/extensions/channels/console/index.channel.d.ts +1 -1
  349. package/dist/extensions/channels/console/index.channel.js +2 -2
  350. package/dist/extensions/channels/console/index.channel.js.map +1 -1
  351. package/dist/extensions/channels/console/settings.schema.d.ts +14 -0
  352. package/dist/extensions/channels/console/{console-channel.settings.js → settings.schema.js} +3 -16
  353. package/dist/extensions/channels/console/settings.schema.js.map +1 -0
  354. package/dist/extensions/channels/web/__test__/data.mock.js +16 -17
  355. package/dist/extensions/channels/web/__test__/data.mock.js.map +1 -1
  356. package/dist/extensions/channels/web/__test__/events.mock.js +21 -22
  357. package/dist/extensions/channels/web/__test__/events.mock.js.map +1 -1
  358. package/dist/extensions/channels/web/base-web-channel.d.ts +25 -42
  359. package/dist/extensions/channels/web/base-web-channel.js +204 -398
  360. package/dist/extensions/channels/web/base-web-channel.js.map +1 -1
  361. package/dist/extensions/channels/web/i18n/en.translations.json +26 -26
  362. package/dist/extensions/channels/web/i18n/fr.translations.json +26 -26
  363. package/dist/extensions/channels/web/inbound/events/delivery.event.d.ts +1 -1
  364. package/dist/extensions/channels/web/inbound/events/delivery.event.js +2 -2
  365. package/dist/extensions/channels/web/inbound/events/delivery.event.js.map +1 -1
  366. package/dist/extensions/channels/web/inbound/events/messages/attachment.event.d.ts +2 -4
  367. package/dist/extensions/channels/web/inbound/events/messages/attachment.event.js +11 -10
  368. package/dist/extensions/channels/web/inbound/events/messages/attachment.event.js.map +1 -1
  369. package/dist/extensions/channels/web/inbound/events/messages/location.event.d.ts +1 -2
  370. package/dist/extensions/channels/web/inbound/events/messages/location.event.js +9 -8
  371. package/dist/extensions/channels/web/inbound/events/messages/location.event.js.map +1 -1
  372. package/dist/extensions/channels/web/inbound/events/messages/payload.event.d.ts +2 -3
  373. package/dist/extensions/channels/web/inbound/events/messages/payload.event.js +5 -2
  374. package/dist/extensions/channels/web/inbound/events/messages/payload.event.js.map +1 -1
  375. package/dist/extensions/channels/web/inbound/events/messages/postback.event.js +2 -2
  376. package/dist/extensions/channels/web/inbound/events/messages/postback.event.js.map +1 -1
  377. package/dist/extensions/channels/web/inbound/events/messages/quick-reply.event.js +2 -2
  378. package/dist/extensions/channels/web/inbound/events/messages/quick-reply.event.js.map +1 -1
  379. package/dist/extensions/channels/web/inbound/events/messages/text.event.d.ts +1 -1
  380. package/dist/extensions/channels/web/inbound/events/messages/text.event.js +6 -3
  381. package/dist/extensions/channels/web/inbound/events/messages/text.event.js.map +1 -1
  382. package/dist/extensions/channels/web/inbound/events/read.event.d.ts +1 -1
  383. package/dist/extensions/channels/web/inbound/events/read.event.js +2 -2
  384. package/dist/extensions/channels/web/inbound/events/read.event.js.map +1 -1
  385. package/dist/extensions/channels/web/inbound/events/typing.event.d.ts +1 -1
  386. package/dist/extensions/channels/web/inbound/events/typing.event.js +2 -2
  387. package/dist/extensions/channels/web/inbound/events/typing.event.js.map +1 -1
  388. package/dist/extensions/channels/web/inbound/events/unsupported.event.d.ts +1 -1
  389. package/dist/extensions/channels/web/inbound/events/unsupported.event.js +2 -2
  390. package/dist/extensions/channels/web/inbound/events/unsupported.event.js.map +1 -1
  391. package/dist/extensions/channels/web/inbound/index.d.ts +1 -0
  392. package/dist/extensions/channels/web/inbound/index.js +1 -0
  393. package/dist/extensions/channels/web/inbound/index.js.map +1 -1
  394. package/dist/extensions/channels/web/inbound/web-inbound-message-encoder.d.ts +11 -0
  395. package/dist/extensions/channels/web/inbound/web-inbound-message-encoder.js +80 -0
  396. package/dist/extensions/channels/web/inbound/web-inbound-message-encoder.js.map +1 -0
  397. package/dist/extensions/channels/web/index.channel.d.ts +1 -1
  398. package/dist/extensions/channels/web/index.channel.js +2 -2
  399. package/dist/extensions/channels/web/index.channel.js.map +1 -1
  400. package/dist/extensions/channels/web/outbound/web-outbound-message-encoder.d.ts +15 -16
  401. package/dist/extensions/channels/web/outbound/web-outbound-message-encoder.js +26 -25
  402. package/dist/extensions/channels/web/outbound/web-outbound-message-encoder.js.map +1 -1
  403. package/dist/extensions/channels/web/services/web-history.service.d.ts +22 -0
  404. package/dist/extensions/channels/web/services/web-history.service.js +81 -0
  405. package/dist/extensions/channels/web/services/web-history.service.js.map +1 -0
  406. package/dist/extensions/channels/web/services/web-session.service.d.ts +22 -0
  407. package/dist/extensions/channels/web/services/web-session.service.js +146 -0
  408. package/dist/extensions/channels/web/services/web-session.service.js.map +1 -0
  409. package/dist/extensions/channels/web/settings.schema.d.ts +16 -0
  410. package/dist/extensions/channels/web/{web-channel.settings.js → settings.schema.js} +3 -16
  411. package/dist/extensions/channels/web/settings.schema.js.map +1 -0
  412. package/dist/extensions/channels/web/types.d.ts +2 -4
  413. package/dist/extensions/channels/web/types.js +2 -2
  414. package/dist/extensions/channels/web/types.js.map +1 -1
  415. package/dist/extensions/helpers/local-storage/i18n/en.translations.json +4 -4
  416. package/dist/extensions/helpers/local-storage/i18n/fr.translations.json +4 -4
  417. package/dist/extensions/helpers/local-storage/index.helper.d.ts +2 -1
  418. package/dist/extensions/helpers/local-storage/index.helper.js.map +1 -1
  419. package/dist/extensions/index.d.ts +2 -2
  420. package/dist/extensions/index.js +2 -2
  421. package/dist/extensions/index.js.map +1 -1
  422. package/dist/health/health.service.d.ts +18 -0
  423. package/dist/health/health.service.js +190 -0
  424. package/dist/health/health.service.js.map +1 -0
  425. package/dist/helper/lib/base-llm-helper.d.ts +1 -1
  426. package/dist/helper/lib/base-storage-helper.d.ts +2 -1
  427. package/dist/i18n/controllers/language.controller.d.ts +11 -2
  428. package/dist/i18n/controllers/language.controller.js.map +1 -1
  429. package/dist/i18n/controllers/translation.controller.d.ts +21 -3
  430. package/dist/i18n/dto/language.dto.d.ts +4 -11
  431. package/dist/i18n/dto/language.dto.js +1 -31
  432. package/dist/i18n/dto/language.dto.js.map +1 -1
  433. package/dist/i18n/dto/translation.dto.d.ts +4 -9
  434. package/dist/i18n/dto/translation.dto.js +1 -23
  435. package/dist/i18n/dto/translation.dto.js.map +1 -1
  436. package/dist/i18n/entities/language.entity.d.ts +19 -3
  437. package/dist/i18n/entities/language.entity.js +5 -3
  438. package/dist/i18n/entities/language.entity.js.map +1 -1
  439. package/dist/i18n/entities/translation.entity.d.ts +15 -3
  440. package/dist/i18n/entities/translation.entity.js +5 -3
  441. package/dist/i18n/entities/translation.entity.js.map +1 -1
  442. package/dist/i18n/services/language.service.d.ts +18 -2
  443. package/dist/index.d.ts +1 -0
  444. package/dist/index.js +1 -0
  445. package/dist/index.js.map +1 -1
  446. package/dist/seeder.js +1 -1
  447. package/dist/seeder.js.map +1 -1
  448. package/dist/setting/controllers/setting.controller.d.ts +11 -2
  449. package/dist/setting/controllers/setting.controller.js.map +1 -1
  450. package/dist/setting/dto/metadata.dto.d.ts +4 -9
  451. package/dist/setting/dto/metadata.dto.js +1 -23
  452. package/dist/setting/dto/metadata.dto.js.map +1 -1
  453. package/dist/setting/dto/setting.dto.d.ts +4 -11
  454. package/dist/setting/dto/setting.dto.js +1 -31
  455. package/dist/setting/dto/setting.dto.js.map +1 -1
  456. package/dist/setting/entities/metadata.entity.d.ts +15 -3
  457. package/dist/setting/entities/metadata.entity.js +5 -3
  458. package/dist/setting/entities/metadata.entity.js.map +1 -1
  459. package/dist/setting/entities/setting.entity.d.ts +19 -3
  460. package/dist/setting/entities/setting.entity.js +5 -3
  461. package/dist/setting/entities/setting.entity.js.map +1 -1
  462. package/dist/setting/runtime-settings.d.ts +1 -1
  463. package/dist/setting/runtime-settings.js.map +1 -1
  464. package/dist/setting/runtime-settings.seed.d.ts +1 -1
  465. package/dist/setting/runtime-settings.seed.js +1 -3
  466. package/dist/setting/runtime-settings.seed.js.map +1 -1
  467. package/dist/setting/services/metadata.service.d.ts +2 -1
  468. package/dist/setting/services/metadata.service.js.map +1 -1
  469. package/dist/setting/services/setting.service.d.ts +2 -1
  470. package/dist/setting/services/setting.service.js.map +1 -1
  471. package/dist/setting/setting.module.js.map +1 -1
  472. package/dist/setting/types/index.d.ts +2 -9
  473. package/dist/setting/types/index.js +2 -9
  474. package/dist/setting/types/index.js.map +1 -1
  475. package/dist/static/assets/{cssMode-EfTI32jH.js → cssMode-B4TecieE.js} +1 -1
  476. package/dist/static/assets/{freemarker2-Bp36bqQu.js → freemarker2-BVMU7I_j.js} +1 -1
  477. package/dist/static/assets/{handlebars-DFcsacT2.js → handlebars-BHhJ0REg.js} +1 -1
  478. package/dist/static/assets/{html-DoteNmPg.js → html-C0xYW7UH.js} +1 -1
  479. package/dist/static/assets/{htmlMode-D4qDYA_c.js → htmlMode-DKBoSSUf.js} +1 -1
  480. package/dist/static/assets/{index-B0zbJ-Gv.css → index-3E05C6mQ.css} +1 -1
  481. package/dist/static/assets/{index-Da34FzWk.js → index-Q16skETC.js} +2165 -2165
  482. package/dist/static/assets/{javascript-hq-XZ18j.js → javascript-BmG42Qtz.js} +1 -1
  483. package/dist/static/assets/{jsonMode-gxldbTjQ.js → jsonMode-COpdryGy.js} +1 -1
  484. package/dist/static/assets/{liquid-VombxSUL.js → liquid-t7wU_We6.js} +1 -1
  485. package/dist/static/assets/{lspLanguageFeatures-DjxTnuCT.js → lspLanguageFeatures-nYoOHLBU.js} +1 -1
  486. package/dist/static/assets/{mdx-Bv744ltm.js → mdx-CXAOQEUW.js} +1 -1
  487. package/dist/static/assets/{python-BB7rtHwG.js → python-CnD9oLZg.js} +1 -1
  488. package/dist/static/assets/{razor-BoLELWC9.js → razor-D1-qfmFa.js} +1 -1
  489. package/dist/static/assets/{tsMode-DLSApW05.js → tsMode-Dm0heYbf.js} +1 -1
  490. package/dist/static/assets/{typescript-qlBdudA6.js → typescript-DSKhH6ZE.js} +1 -1
  491. package/dist/static/assets/{xml-DMdTu6Mm.js → xml-CzpJrCkR.js} +1 -1
  492. package/dist/static/assets/{yaml-C9JqXvOt.js → yaml-Bby4uDCt.js} +1 -1
  493. package/dist/static/index.html +2 -2
  494. package/dist/static/locales/en/translation.json +141 -2
  495. package/dist/static/locales/fr/translation.json +141 -2
  496. package/dist/tsconfig.build.tsbuildinfo +1 -1
  497. package/dist/types/express-session.d.ts +1 -0
  498. package/dist/user/controllers/auth.controller.js +3 -0
  499. package/dist/user/controllers/auth.controller.js.map +1 -1
  500. package/dist/user/controllers/credential.controller.d.ts +2 -1
  501. package/dist/user/controllers/credential.controller.js.map +1 -1
  502. package/dist/user/controllers/model.controller.d.ts +26 -1
  503. package/dist/user/controllers/permission.controller.d.ts +40 -2
  504. package/dist/user/controllers/role.controller.d.ts +128 -4
  505. package/dist/user/controllers/role.controller.js.map +1 -1
  506. package/dist/user/controllers/user.controller.d.ts +374 -8
  507. package/dist/user/dto/credential.dto.d.ts +4 -13
  508. package/dist/user/dto/credential.dto.js +1 -35
  509. package/dist/user/dto/credential.dto.js.map +1 -1
  510. package/dist/user/dto/model.dto.d.ts +4 -15
  511. package/dist/user/dto/model.dto.js +1 -43
  512. package/dist/user/dto/model.dto.js.map +1 -1
  513. package/dist/user/dto/permission.dto.d.ts +4 -17
  514. package/dist/user/dto/permission.dto.js +1 -49
  515. package/dist/user/dto/permission.dto.js.map +1 -1
  516. package/dist/user/dto/role.dto.d.ts +4 -18
  517. package/dist/user/dto/role.dto.js +1 -53
  518. package/dist/user/dto/role.dto.js.map +1 -1
  519. package/dist/user/dto/user-profile.dto.d.ts +4 -9
  520. package/dist/user/dto/user-profile.dto.js +1 -29
  521. package/dist/user/dto/user-profile.dto.js.map +1 -1
  522. package/dist/user/dto/user.dto.d.ts +5 -38
  523. package/dist/user/dto/user.dto.js +1 -125
  524. package/dist/user/dto/user.dto.js.map +1 -1
  525. package/dist/user/entities/credential.entity.d.ts +87 -3
  526. package/dist/user/entities/credential.entity.js +5 -3
  527. package/dist/user/entities/credential.entity.js.map +1 -1
  528. package/dist/user/entities/model.entity.d.ts +98 -3
  529. package/dist/user/entities/model.entity.js +5 -3
  530. package/dist/user/entities/model.entity.js.map +1 -1
  531. package/dist/user/entities/permission.entity.d.ts +75 -3
  532. package/dist/user/entities/permission.entity.js +3 -3
  533. package/dist/user/entities/permission.entity.js.map +1 -1
  534. package/dist/user/entities/role.entity.d.ts +100 -3
  535. package/dist/user/entities/role.entity.js +5 -3
  536. package/dist/user/entities/role.entity.js.map +1 -1
  537. package/dist/user/entities/user-profile.entity.d.ts +5 -5
  538. package/dist/user/entities/user-profile.entity.js +3 -3
  539. package/dist/user/entities/user-profile.entity.js.map +1 -1
  540. package/dist/user/entities/user.entity.d.ts +234 -4
  541. package/dist/user/entities/user.entity.js +5 -3
  542. package/dist/user/entities/user.entity.js.map +1 -1
  543. package/dist/user/guards/ability.guard.js.map +1 -1
  544. package/dist/user/guards/local-auth.guard.d.ts +9 -0
  545. package/dist/user/guards/local-auth.guard.js +84 -4
  546. package/dist/user/guards/local-auth.guard.js.map +1 -1
  547. package/dist/user/passport/session.serializer.d.ts +1 -1
  548. package/dist/user/passport/session.serializer.js.map +1 -1
  549. package/dist/user/repositories/credential.repository.js.map +1 -1
  550. package/dist/user/seeds/model.seed-model.js +10 -0
  551. package/dist/user/seeds/model.seed-model.js.map +1 -1
  552. package/dist/user/services/auth.service.d.ts +34 -2
  553. package/dist/user/services/auth.service.js.map +1 -1
  554. package/dist/user/services/permission.service.d.ts +1 -1
  555. package/dist/user/services/permission.service.js.map +1 -1
  556. package/dist/user/types/action.type.d.ts +1 -12
  557. package/dist/user/types/action.type.js +3 -14
  558. package/dist/user/types/action.type.js.map +1 -1
  559. package/dist/user/types/index.type.d.ts +1 -1
  560. package/dist/user/types/model.type.d.ts +1 -1
  561. package/dist/user/types/permission.type.d.ts +1 -5
  562. package/dist/user/types/user-provider.type.d.ts +1 -4
  563. package/dist/utils/test/dummy/dto/dummy.dto.d.ts +4 -9
  564. package/dist/utils/test/dummy/dto/dummy.dto.js +1 -22
  565. package/dist/utils/test/dummy/dto/dummy.dto.js.map +1 -1
  566. package/dist/utils/test/dummy/dummy.action.d.ts +9 -1
  567. package/dist/utils/test/dummy/entities/dummy.entity.d.ts +15 -3
  568. package/dist/utils/test/dummy/entities/dummy.entity.js +3 -3
  569. package/dist/utils/test/dummy/entities/dummy.entity.js.map +1 -1
  570. package/dist/utils/test/fixtures/content.d.ts +12 -2
  571. package/dist/utils/test/fixtures/content.js.map +1 -1
  572. package/dist/utils/test/fixtures/contenttype.d.ts +9 -2
  573. package/dist/utils/test/fixtures/contenttype.js.map +1 -1
  574. package/dist/utils/test/fixtures/label-group.d.ts +14 -2
  575. package/dist/utils/test/fixtures/label-group.js.map +1 -1
  576. package/dist/utils/test/fixtures/label.d.ts +14 -2
  577. package/dist/utils/test/fixtures/label.js.map +1 -1
  578. package/dist/utils/test/fixtures/message.d.ts +162 -2
  579. package/dist/utils/test/fixtures/message.js +61 -3
  580. package/dist/utils/test/fixtures/message.js.map +1 -1
  581. package/dist/utils/test/fixtures/setting.js +0 -7
  582. package/dist/utils/test/fixtures/setting.js.map +1 -1
  583. package/dist/utils/test/fixtures/subscriber.d.ts +27 -3
  584. package/dist/utils/test/fixtures/subscriber.js +37 -2
  585. package/dist/utils/test/fixtures/subscriber.js.map +1 -1
  586. package/dist/utils/test/fixtures/user.d.ts +2 -1
  587. package/dist/utils/test/fixtures/user.js.map +1 -1
  588. package/dist/utils/test/mocks/subscriber.d.ts +1 -1
  589. package/dist/utils/test/mocks/subscriber.js +11 -0
  590. package/dist/utils/test/mocks/subscriber.js.map +1 -1
  591. package/dist/utils/types/dto.types.d.ts +8 -12
  592. package/dist/utils/types/dto.types.js +1 -39
  593. package/dist/utils/types/dto.types.js.map +1 -1
  594. package/dist/websocket/services/socket-event-dispatcher.service.d.ts +4 -1
  595. package/dist/websocket/services/socket-event-dispatcher.service.js +62 -5
  596. package/dist/websocket/services/socket-event-dispatcher.service.js.map +1 -1
  597. package/dist/websocket/utils/socket-request.d.ts +2 -1
  598. package/dist/websocket/utils/socket-request.js +1 -0
  599. package/dist/websocket/utils/socket-request.js.map +1 -1
  600. package/dist/websocket/websocket.gateway.d.ts +6 -3
  601. package/dist/websocket/websocket.gateway.js +63 -4
  602. package/dist/websocket/websocket.gateway.js.map +1 -1
  603. package/dist/workflow/contexts/workflow-context-factory.d.ts +1 -1
  604. package/dist/workflow/contexts/workflow-context-factory.js +5 -1
  605. package/dist/workflow/contexts/workflow-context-factory.js.map +1 -1
  606. package/dist/workflow/contexts/workflow-runtime.context.d.ts +1 -1
  607. package/dist/workflow/contexts/workflow-runtime.context.js +5 -1
  608. package/dist/workflow/contexts/workflow-runtime.context.js.map +1 -1
  609. package/dist/workflow/controllers/mcp-server.controller.d.ts +2 -1
  610. package/dist/workflow/controllers/mcp-server.controller.js.map +1 -1
  611. package/dist/workflow/controllers/memory-definition.controller.d.ts +12 -2
  612. package/dist/workflow/controllers/memory-definition.controller.js.map +1 -1
  613. package/dist/workflow/controllers/workflow-run.controller.d.ts +1 -1
  614. package/dist/workflow/controllers/workflow-run.controller.js.map +1 -1
  615. package/dist/workflow/controllers/workflow-version.controller.d.ts +179 -3
  616. package/dist/workflow/controllers/workflow-version.controller.js.map +1 -1
  617. package/dist/workflow/controllers/workflow.controller.d.ts +97 -2
  618. package/dist/workflow/controllers/workflow.controller.js +6 -1
  619. package/dist/workflow/controllers/workflow.controller.js.map +1 -1
  620. package/dist/workflow/dto/mcp-server.dto.d.ts +4 -19
  621. package/dist/workflow/dto/mcp-server.dto.js +1 -60
  622. package/dist/workflow/dto/mcp-server.dto.js.map +1 -1
  623. package/dist/workflow/dto/memory-definition.dto.d.ts +4 -14
  624. package/dist/workflow/dto/memory-definition.dto.js +1 -41
  625. package/dist/workflow/dto/memory-definition.dto.js.map +1 -1
  626. package/dist/workflow/dto/memory-record.dto.d.ts +4 -28
  627. package/dist/workflow/dto/memory-record.dto.js +1 -86
  628. package/dist/workflow/dto/memory-record.dto.js.map +1 -1
  629. package/dist/workflow/dto/workflow-run.dto.d.ts +5 -44
  630. package/dist/workflow/dto/workflow-run.dto.js +4 -149
  631. package/dist/workflow/dto/workflow-run.dto.js.map +1 -1
  632. package/dist/workflow/dto/workflow-version.dto.d.ts +4 -22
  633. package/dist/workflow/dto/workflow-version.dto.js +1 -70
  634. package/dist/workflow/dto/workflow-version.dto.js.map +1 -1
  635. package/dist/workflow/dto/workflow.dto.d.ts +153 -26
  636. package/dist/workflow/dto/workflow.dto.js +10 -121
  637. package/dist/workflow/dto/workflow.dto.js.map +1 -1
  638. package/dist/workflow/entities/mcp-server.entity.d.ts +51 -3
  639. package/dist/workflow/entities/mcp-server.entity.js +10 -8
  640. package/dist/workflow/entities/mcp-server.entity.js.map +1 -1
  641. package/dist/workflow/entities/memory-definition.entity.d.ts +21 -3
  642. package/dist/workflow/entities/memory-definition.entity.js +7 -5
  643. package/dist/workflow/entities/memory-definition.entity.js.map +1 -1
  644. package/dist/workflow/entities/memory-record.entity.d.ts +272 -3
  645. package/dist/workflow/entities/memory-record.entity.js +3 -3
  646. package/dist/workflow/entities/memory-record.entity.js.map +1 -1
  647. package/dist/workflow/entities/workflow-run.entity.d.ts +308 -5
  648. package/dist/workflow/entities/workflow-run.entity.js +9 -12
  649. package/dist/workflow/entities/workflow-run.entity.js.map +1 -1
  650. package/dist/workflow/entities/workflow-version.entity.d.ts +165 -3
  651. package/dist/workflow/entities/workflow-version.entity.js +5 -5
  652. package/dist/workflow/entities/workflow-version.entity.js.map +1 -1
  653. package/dist/workflow/entities/workflow.entity.d.ts +192 -4
  654. package/dist/workflow/entities/workflow.entity.js +12 -9
  655. package/dist/workflow/entities/workflow.entity.js.map +1 -1
  656. package/dist/workflow/lib/trigger-event-wrapper.d.ts +1 -2
  657. package/dist/workflow/schemas/workflow-input-schemas.d.ts +52 -30
  658. package/dist/workflow/schemas/workflow-input-schemas.js +4 -5
  659. package/dist/workflow/schemas/workflow-input-schemas.js.map +1 -1
  660. package/dist/workflow/services/agentic.service.js.map +1 -1
  661. package/dist/workflow/services/mcp-client-pool.service.js.map +1 -1
  662. package/dist/workflow/services/memory-definition.service.d.ts +1 -1
  663. package/dist/workflow/services/memory-definition.service.js.map +1 -1
  664. package/dist/workflow/services/memory-record.service.d.ts +1 -2
  665. package/dist/workflow/services/memory-record.service.js.map +1 -1
  666. package/dist/workflow/services/workflow-run.service.d.ts +1 -1
  667. package/dist/workflow/services/workflow-run.service.js.map +1 -1
  668. package/dist/workflow/services/workflow-version.service.d.ts +16 -2
  669. package/dist/workflow/services/workflow-version.service.js.map +1 -1
  670. package/dist/workflow/services/workflow.service.d.ts +2 -1
  671. package/dist/workflow/services/workflow.service.js.map +1 -1
  672. package/dist/workflow/types.d.ts +2 -28
  673. package/dist/workflow/types.js +7 -31
  674. package/dist/workflow/types.js.map +1 -1
  675. package/dist/workflow/utils/memory-store.d.ts +1 -2
  676. package/dist/workflow/utils/memory-store.js.map +1 -1
  677. package/package.json +8 -5
  678. package/src/analytics/controllers/stats.controller.ts +38 -1
  679. package/src/analytics/dto/stats.dto.ts +27 -26
  680. package/src/analytics/entities/stats.entity.ts +4 -3
  681. package/src/analytics/enums/stats-type.enum.ts +1 -9
  682. package/src/analytics/repositories/stats.repository.ts +1 -1
  683. package/src/analytics/services/stats.service.ts +125 -9
  684. package/src/app.controller.ts +5 -0
  685. package/src/app.module.ts +4 -0
  686. package/src/app.service.ts +7 -0
  687. package/src/attachment/attachment.module.ts +5 -2
  688. package/src/attachment/controllers/attachment.controller.ts +1 -2
  689. package/src/attachment/dto/attachment.dto.ts +5 -51
  690. package/src/attachment/entities/attachment.entity.ts +12 -13
  691. package/src/attachment/guards/attachment-ability.guard.ts +1 -1
  692. package/src/attachment/mocks/attachment.mock.ts +10 -5
  693. package/src/attachment/services/attachment.service.ts +2 -5
  694. package/src/attachment/types/index.ts +5 -25
  695. package/src/audit/README.md +559 -0
  696. package/src/audit/audit-core.module.ts +33 -0
  697. package/src/audit/audit.module.ts +63 -0
  698. package/src/audit/controllers/audit-log.controller.ts +77 -0
  699. package/src/audit/decorators/audit-label.decorator.ts +37 -0
  700. package/src/audit/decorators/audit-log.decorators.ts +35 -0
  701. package/src/audit/dto/audit-log.dto.ts +125 -0
  702. package/src/audit/entities/audit-log.entity.ts +78 -0
  703. package/src/audit/exporters/audit-backend.factory.ts +74 -0
  704. package/src/audit/exporters/audit-database.exporter.ts +93 -0
  705. package/src/audit/exporters/audit-noop.exporter.ts +29 -0
  706. package/src/audit/exporters/audit-safe.exporter.ts +53 -0
  707. package/src/audit/index.ts +23 -0
  708. package/src/audit/interceptors/audit-context.interceptor.ts +30 -0
  709. package/src/audit/repositories/audit-log.repository.ts +23 -0
  710. package/src/audit/services/audit-context.service.ts +123 -0
  711. package/src/audit/services/audit-log-record.service.ts +97 -0
  712. package/src/audit/subscribers/audit-log.subscriber.ts +322 -0
  713. package/src/audit/types/audit-context.type.ts +20 -0
  714. package/src/audit/utils/request-context.ts +44 -0
  715. package/src/channel/README.md +313 -0
  716. package/src/channel/channel.controller.ts +19 -3
  717. package/src/channel/channel.module.ts +22 -3
  718. package/src/channel/channel.service.ts +108 -119
  719. package/src/channel/dto/source.dto.ts +72 -0
  720. package/src/channel/entities/source.entity.ts +56 -0
  721. package/src/channel/index.ts +24 -0
  722. package/src/channel/lib/Handler.ts +102 -27
  723. package/src/channel/lib/__test__/common.mock.ts +18 -17
  724. package/src/channel/lib/__test__/label.mock.ts +1 -1
  725. package/src/channel/lib/__test__/subscriber.mock.ts +2 -1
  726. package/src/channel/lib/channel-capabilities.ts +37 -0
  727. package/src/channel/lib/channel-codec.ts +48 -0
  728. package/src/channel/lib/channel-event-bus.ts +70 -0
  729. package/src/channel/lib/extension-inject.decorator.ts +67 -0
  730. package/src/channel/lib/inbound-events/channel-inbound-event-context.ts +18 -0
  731. package/src/channel/lib/inbound-events/channel-inbound-event.ts +39 -2
  732. package/src/channel/lib/inbound-events/message-inbound-event.ts +11 -6
  733. package/src/channel/lib/inbound-events/synthetic-message-inbound-event.ts +31 -27
  734. package/src/channel/lib/outbound/channel-outbound-encoder.ts +51 -86
  735. package/src/channel/lib/transports/http-channel-handler.ts +187 -0
  736. package/src/channel/lib/transports/index.ts +9 -0
  737. package/src/channel/lib/transports/websocket-channel-handler.ts +142 -0
  738. package/src/channel/repositories/source.repository.ts +23 -0
  739. package/src/channel/services/channel-attachment.service.ts +29 -19
  740. package/src/channel/services/channel-download.service.ts +5 -2
  741. package/src/channel/services/channel-registry.service.ts +41 -0
  742. package/src/channel/services/source.service.ts +224 -0
  743. package/src/channel/services/subscriber-resolver.service.ts +85 -0
  744. package/src/channel/source.controller.ts +87 -0
  745. package/src/channel/types.ts +14 -8
  746. package/src/channel/webhook.controller.ts +34 -77
  747. package/src/chat/controllers/label-group.controller.ts +1 -2
  748. package/src/chat/controllers/label.controller.ts +2 -6
  749. package/src/chat/controllers/message.controller.ts +27 -22
  750. package/src/chat/controllers/subscriber.controller.ts +3 -5
  751. package/src/chat/controllers/thread.controller.ts +18 -7
  752. package/src/chat/dto/label-group.dto.ts +4 -25
  753. package/src/chat/dto/label.dto.ts +4 -47
  754. package/src/chat/dto/message.dto.ts +19 -68
  755. package/src/chat/dto/subscriber.dto.ts +13 -66
  756. package/src/chat/dto/thread.dto.ts +15 -42
  757. package/src/chat/entities/label-group.entity.ts +6 -7
  758. package/src/chat/entities/label.entity.ts +6 -3
  759. package/src/chat/entities/message.entity.ts +9 -4
  760. package/src/chat/entities/subscriber.entity.ts +31 -11
  761. package/src/chat/entities/thread.entity.ts +18 -3
  762. package/src/chat/helpers/README.md +7 -7
  763. package/src/chat/helpers/envelope-builder.ts +52 -58
  764. package/src/chat/helpers/envelope-factory.ts +23 -22
  765. package/src/chat/index.ts +0 -10
  766. package/src/chat/repositories/message.repository.ts +1 -2
  767. package/src/chat/repositories/subscriber.repository.ts +27 -18
  768. package/src/chat/repositories/thread.repository.ts +2 -2
  769. package/src/chat/services/chat.service.ts +26 -7
  770. package/src/chat/services/message.service.ts +1 -2
  771. package/src/chat/services/subscriber.service.ts +30 -11
  772. package/src/chat/services/thread.service.ts +95 -7
  773. package/src/cms/controllers/content-type.controller.ts +1 -1
  774. package/src/cms/controllers/content.controller.ts +2 -5
  775. package/src/cms/controllers/menu.controller.ts +2 -1
  776. package/src/cms/dto/content.dto.ts +4 -34
  777. package/src/cms/dto/contentType.dto.ts +4 -19
  778. package/src/cms/dto/menu.dto.ts +4 -36
  779. package/src/cms/entities/content-type.entity.ts +6 -7
  780. package/src/cms/entities/content.entity.ts +11 -4
  781. package/src/cms/entities/menu.entity.ts +6 -3
  782. package/src/cms/enums/menu-type.enum.ts +1 -5
  783. package/src/cms/repositories/content.repository.ts +1 -1
  784. package/src/cms/services/content-type.service.ts +1 -1
  785. package/src/cms/services/content.service.ts +8 -5
  786. package/src/cms/services/rag-indexer.service.ts +1 -2
  787. package/src/cms/types/menu-types.ts +2 -1
  788. package/src/cms/utilities/verifyTree.ts +2 -1
  789. package/src/config/index.ts +81 -0
  790. package/src/config/types.ts +26 -0
  791. package/src/database/entities/base.entity.ts +54 -7
  792. package/src/extension/cleanup.service.ts +2 -17
  793. package/src/extension/types.ts +5 -8
  794. package/src/extensions/actions/ai/ai-base.action.ts +25 -10
  795. package/src/extensions/actions/messaging/attachment.action.ts +5 -2
  796. package/src/extensions/actions/messaging/buttons.action.ts +1 -1
  797. package/src/extensions/actions/messaging/list.action.ts +9 -6
  798. package/src/extensions/actions/messaging/message-action.base.ts +15 -15
  799. package/src/extensions/actions/messaging/quick-replies.action.ts +1 -1
  800. package/src/extensions/channels/console/globals.d.ts +5 -3
  801. package/src/extensions/channels/console/index.channel.ts +5 -2
  802. package/src/extensions/channels/console/{console-channel.settings.ts → settings.schema.ts} +1 -28
  803. package/src/extensions/channels/web/__test__/data.mock.ts +2 -2
  804. package/src/extensions/channels/web/__test__/events.mock.ts +6 -7
  805. package/src/extensions/channels/web/base-web-channel.ts +294 -655
  806. package/src/extensions/channels/web/globals.d.ts +5 -3
  807. package/src/extensions/channels/web/inbound/events/delivery.event.ts +2 -1
  808. package/src/extensions/channels/web/inbound/events/messages/attachment.event.ts +19 -13
  809. package/src/extensions/channels/web/inbound/events/messages/location.event.ts +13 -7
  810. package/src/extensions/channels/web/inbound/events/messages/payload.event.ts +12 -5
  811. package/src/extensions/channels/web/inbound/events/messages/postback.event.ts +2 -1
  812. package/src/extensions/channels/web/inbound/events/messages/quick-reply.event.ts +3 -2
  813. package/src/extensions/channels/web/inbound/events/messages/text.event.ts +7 -3
  814. package/src/extensions/channels/web/inbound/events/read.event.ts +2 -1
  815. package/src/extensions/channels/web/inbound/events/typing.event.ts +2 -1
  816. package/src/extensions/channels/web/inbound/events/unsupported.event.ts +2 -1
  817. package/src/extensions/channels/web/inbound/index.ts +2 -0
  818. package/src/extensions/channels/web/inbound/web-inbound-message-encoder.ts +92 -0
  819. package/src/extensions/channels/web/index.channel.ts +5 -2
  820. package/src/extensions/channels/web/outbound/web-outbound-message-encoder.ts +48 -43
  821. package/src/extensions/channels/web/services/web-history.service.ts +158 -0
  822. package/src/extensions/channels/web/services/web-session.service.ts +235 -0
  823. package/src/extensions/channels/web/{web-channel.settings.ts → settings.schema.ts} +1 -28
  824. package/src/extensions/channels/web/types.ts +8 -5
  825. package/src/extensions/helpers/local-storage/index.helper.ts +1 -1
  826. package/src/extensions/index.ts +2 -2
  827. package/src/health/health.service.ts +237 -0
  828. package/src/helper/lib/base-llm-helper.ts +1 -1
  829. package/src/helper/lib/base-storage-helper.ts +1 -1
  830. package/src/i18n/controllers/language.controller.ts +2 -5
  831. package/src/i18n/dto/language.dto.ts +4 -22
  832. package/src/i18n/dto/translation.dto.ts +4 -16
  833. package/src/i18n/entities/language.entity.ts +6 -3
  834. package/src/i18n/entities/translation.entity.ts +6 -3
  835. package/src/index.ts +2 -0
  836. package/src/seeder.ts +2 -2
  837. package/src/setting/controllers/setting.controller.ts +2 -1
  838. package/src/setting/dto/metadata.dto.ts +4 -16
  839. package/src/setting/dto/setting.dto.ts +4 -22
  840. package/src/setting/entities/metadata.entity.ts +6 -3
  841. package/src/setting/entities/setting.entity.ts +6 -3
  842. package/src/setting/globals.d.ts +0 -1
  843. package/src/setting/runtime-settings.seed.ts +2 -4
  844. package/src/setting/runtime-settings.ts +1 -5
  845. package/src/setting/services/metadata.service.ts +2 -1
  846. package/src/setting/services/setting.service.ts +2 -5
  847. package/src/setting/setting.module.ts +2 -1
  848. package/src/setting/types/index.ts +2 -9
  849. package/src/user/controllers/auth.controller.ts +3 -0
  850. package/src/user/controllers/credential.controller.ts +1 -2
  851. package/src/user/controllers/role.controller.ts +1 -1
  852. package/src/user/dto/credential.dto.ts +4 -25
  853. package/src/user/dto/model.dto.ts +4 -31
  854. package/src/user/dto/permission.dto.ts +4 -36
  855. package/src/user/dto/role.dto.ts +4 -39
  856. package/src/user/dto/user-profile.dto.ts +4 -19
  857. package/src/user/dto/user.dto.ts +8 -99
  858. package/src/user/entities/credential.entity.ts +6 -7
  859. package/src/user/entities/model.entity.ts +6 -3
  860. package/src/user/entities/permission.entity.ts +4 -7
  861. package/src/user/entities/role.entity.ts +6 -3
  862. package/src/user/entities/user-profile.entity.ts +8 -5
  863. package/src/user/entities/user.entity.ts +7 -4
  864. package/src/user/guards/ability.guard.ts +1 -1
  865. package/src/user/guards/local-auth.guard.ts +100 -5
  866. package/src/user/passport/session.serializer.ts +1 -1
  867. package/src/user/repositories/credential.repository.ts +0 -6
  868. package/src/user/seeds/model.seed-model.ts +10 -0
  869. package/src/user/services/auth.service.ts +1 -1
  870. package/src/user/services/permission.service.ts +1 -1
  871. package/src/user/types/action.type.ts +1 -13
  872. package/src/user/types/index.type.ts +1 -1
  873. package/src/user/types/model.type.ts +1 -29
  874. package/src/user/types/permission.type.ts +4 -6
  875. package/src/user/types/user-provider.type.ts +1 -4
  876. package/src/utils/test/dummy/dto/dummy.dto.ts +4 -16
  877. package/src/utils/test/dummy/entities/dummy.entity.ts +4 -3
  878. package/src/utils/test/fixtures/content.ts +2 -1
  879. package/src/utils/test/fixtures/contenttype.ts +2 -1
  880. package/src/utils/test/fixtures/label-group.ts +2 -1
  881. package/src/utils/test/fixtures/label.ts +2 -1
  882. package/src/utils/test/fixtures/message.ts +78 -4
  883. package/src/utils/test/fixtures/setting.ts +0 -7
  884. package/src/utils/test/fixtures/subscriber.ts +51 -2
  885. package/src/utils/test/fixtures/user.ts +2 -1
  886. package/src/utils/test/mocks/subscriber.ts +13 -1
  887. package/src/utils/types/dto.types.ts +12 -26
  888. package/src/websocket/services/socket-event-dispatcher.service.ts +90 -6
  889. package/src/websocket/utils/socket-request.ts +4 -1
  890. package/src/websocket/websocket.gateway.ts +84 -5
  891. package/src/workflow/contexts/workflow-context-factory.ts +6 -2
  892. package/src/workflow/contexts/workflow-runtime.context.ts +6 -2
  893. package/src/workflow/controllers/mcp-server.controller.ts +2 -6
  894. package/src/workflow/controllers/memory-definition.controller.ts +1 -1
  895. package/src/workflow/controllers/workflow-run.controller.ts +1 -1
  896. package/src/workflow/controllers/workflow-version.controller.ts +1 -1
  897. package/src/workflow/controllers/workflow.controller.ts +9 -7
  898. package/src/workflow/dto/mcp-server.dto.ts +4 -43
  899. package/src/workflow/dto/memory-definition.dto.ts +7 -28
  900. package/src/workflow/dto/memory-record.dto.ts +5 -69
  901. package/src/workflow/dto/workflow-run.dto.ts +9 -120
  902. package/src/workflow/dto/workflow-version.dto.ts +7 -52
  903. package/src/workflow/dto/workflow.dto.ts +10 -92
  904. package/src/workflow/entities/mcp-server.entity.ts +6 -3
  905. package/src/workflow/entities/memory-definition.entity.ts +9 -7
  906. package/src/workflow/entities/memory-record.entity.ts +4 -7
  907. package/src/workflow/entities/workflow-run.entity.ts +13 -19
  908. package/src/workflow/entities/workflow-version.entity.ts +7 -7
  909. package/src/workflow/entities/workflow.entity.ts +6 -3
  910. package/src/workflow/lib/trigger-event-wrapper.ts +2 -2
  911. package/src/workflow/schemas/workflow-input-schemas.ts +4 -4
  912. package/src/workflow/services/agentic.service.ts +1 -2
  913. package/src/workflow/services/mcp-client-pool.service.ts +1 -1
  914. package/src/workflow/services/memory-definition.service.ts +1 -1
  915. package/src/workflow/services/memory-record.service.ts +1 -2
  916. package/src/workflow/services/workflow-run.service.ts +1 -1
  917. package/src/workflow/services/workflow-version.service.ts +2 -4
  918. package/src/workflow/services/workflow.service.ts +2 -1
  919. package/src/workflow/types.ts +17 -32
  920. package/src/workflow/utils/memory-store.ts +1 -2
  921. package/types/express-session.d.ts +1 -0
  922. package/dist/chat/types/attachment.d.ts +0 -27
  923. package/dist/chat/types/attachment.js +0 -26
  924. package/dist/chat/types/attachment.js.map +0 -1
  925. package/dist/chat/types/button.d.ts +0 -28
  926. package/dist/chat/types/button.js +0 -66
  927. package/dist/chat/types/button.js.map +0 -1
  928. package/dist/chat/types/message.d.ts +0 -508
  929. package/dist/chat/types/message.js +0 -149
  930. package/dist/chat/types/message.js.map +0 -1
  931. package/dist/chat/types/options.d.ts +0 -63
  932. package/dist/chat/types/options.js +0 -118
  933. package/dist/chat/types/options.js.map +0 -1
  934. package/dist/chat/types/quick-reply.d.ts +0 -29
  935. package/dist/chat/types/quick-reply.js +0 -31
  936. package/dist/chat/types/quick-reply.js.map +0 -1
  937. package/dist/extensions/channels/console/console-channel.settings.d.ts +0 -34
  938. package/dist/extensions/channels/console/console-channel.settings.js.map +0 -1
  939. package/dist/extensions/channels/web/web-channel.settings.d.ts +0 -38
  940. package/dist/extensions/channels/web/web-channel.settings.js.map +0 -1
  941. package/dist/i18n/localize-schema-metadata.d.ts +0 -8
  942. package/dist/i18n/localize-schema-metadata.js +0 -34
  943. package/dist/i18n/localize-schema-metadata.js.map +0 -1
  944. package/dist/user/dto/assigned-profile.dto.d.ts +0 -25
  945. package/dist/user/dto/assigned-profile.dto.js +0 -97
  946. package/dist/user/dto/assigned-profile.dto.js.map +0 -1
  947. package/dist/workflow/utils/workflow-run-duration.d.ts +0 -9
  948. package/dist/workflow/utils/workflow-run-duration.js +0 -28
  949. package/dist/workflow/utils/workflow-run-duration.js.map +0 -1
  950. package/src/chat/types/attachment.ts +0 -47
  951. package/src/chat/types/button.ts +0 -86
  952. package/src/chat/types/message.ts +0 -282
  953. package/src/chat/types/options.ts +0 -130
  954. package/src/chat/types/quick-reply.ts +0 -41
  955. package/src/i18n/localize-schema-metadata.ts +0 -63
  956. package/src/user/dto/assigned-profile.dto.ts +0 -76
  957. package/src/workflow/utils/workflow-run-duration.ts +0 -45
@@ -6,6 +6,7 @@
6
6
 
7
7
  import { Url } from 'url';
8
8
 
9
+ import type { User } from '@hexabot-ai/types';
9
10
  import {
10
11
  BadRequestException,
11
12
  CanActivate,
@@ -18,7 +19,6 @@ import { Request } from 'express';
18
19
  import qs from 'qs';
19
20
  import { FindOneOptions, In } from 'typeorm';
20
21
 
21
- import { User } from '@/user/dto/user.dto';
22
22
  import { PermissionOrmEntity } from '@/user/entities/permission.entity';
23
23
  import { ModelService } from '@/user/services/model.service';
24
24
  import { PermissionService } from '@/user/services/permission.service';
@@ -6,7 +6,9 @@
6
6
 
7
7
  import { Stream } from 'node:stream';
8
8
 
9
- import { Attachment, AttachmentCreateDto } from '../dto/attachment.dto';
9
+ import type { Attachment } from '@hexabot-ai/types';
10
+
11
+ import { AttachmentCreateDto } from '../dto/attachment.dto';
10
12
  import {
11
13
  AttachmentAccess,
12
14
  AttachmentCreatedByRef,
@@ -25,10 +27,13 @@ const baseAttachment = {
25
27
  createdByRef: AttachmentCreatedByRef.User,
26
28
  } satisfies Partial<AttachmentCreateDto>;
27
29
 
28
- export const attachment: Attachment = Object.assign(
29
- new Attachment(),
30
- baseAttachment,
31
- );
30
+ export const attachment: Attachment = {
31
+ id: '99999999-9999-4999-9999-999999999999',
32
+ createdAt: new Date(),
33
+ updatedAt: new Date(),
34
+ url: '',
35
+ ...baseAttachment,
36
+ };
32
37
 
33
38
  export const attachmentFile: Express.Multer.File = {
34
39
  filename: attachment.name,
@@ -6,6 +6,7 @@
6
6
 
7
7
  import { Readable, Stream } from 'stream';
8
8
 
9
+ import type { Attachment, AttachmentStub } from '@hexabot-ai/types';
9
10
  import { Injectable, StreamableFile } from '@nestjs/common';
10
11
 
11
12
  import { AttachmentOrmEntity } from '@/attachment/entities/attachment.entity';
@@ -13,11 +14,7 @@ import { HelperService } from '@/helper/helper.service';
13
14
  import { HelperType } from '@/helper/types';
14
15
  import { BaseOrmService } from '@/utils/generics/base-orm.service';
15
16
 
16
- import {
17
- Attachment,
18
- AttachmentMetadataDto,
19
- AttachmentStub,
20
- } from '../dto/attachment.dto';
17
+ import { AttachmentMetadataDto } from '../dto/attachment.dto';
21
18
  import { AttachmentRepository } from '../repositories/attachment.repository';
22
19
 
23
20
  @Injectable()
@@ -6,31 +6,11 @@
6
6
 
7
7
  import { Readable, Stream } from 'stream';
8
8
 
9
- /**
10
- * Defines the types of createdBys for an attachment,
11
- * indicating whether the file belongs to a User or a Subscriber.
12
- */
13
- export enum AttachmentCreatedByRef {
14
- User = 'User',
15
- Subscriber = 'Subscriber',
16
- }
17
-
18
- /**
19
- * Defines the various resource references in which an attachment can exist.
20
- * These resource references influence how the attachment is uploaded, stored, and accessed:
21
- */
22
- export enum AttachmentResourceRef {
23
- SettingAttachment = 'Setting', // Attachments related to app settings, restricted to users with specific permissions.
24
- UserAvatar = 'User', // Avatar files for users, only the current user can upload, accessible to those with appropriate permissions.
25
- SubscriberAvatar = 'Subscriber', // Avatar files for subscribers, uploaded programmatically, accessible to authorized users.
26
- ContentAttachment = 'Content', // Files in the knowledge base, usually public but could vary based on specific needs.
27
- MessageAttachment = 'Message', // Files sent or received via messages, uploaded programmatically, accessible to users with inbox permissions.;
28
- }
29
-
30
- export enum AttachmentAccess {
31
- Public = 'public',
32
- Private = 'private',
33
- }
9
+ export {
10
+ AttachmentAccess,
11
+ AttachmentCreatedByRef,
12
+ AttachmentResourceRef,
13
+ } from '@hexabot-ai/types';
34
14
 
35
15
  export class AttachmentFile {
36
16
  /**
@@ -0,0 +1,559 @@
1
+ # Audit Module
2
+
3
+ The audit module records security-relevant and data-changing activity in the
4
+ Hexabot API.
5
+
6
+ It combines:
7
+
8
+ - Controller-level audit events through `nestjs-auditlog` decorators.
9
+ - TypeORM write auditing for entity creates, updates, and deletes.
10
+ - Per-request actor and correlation metadata through `nestjs-cls`.
11
+ - A pluggable export backend for local database storage, OpenTelemetry, or
12
+ ClickHouse.
13
+ - A read-only REST API for locally stored audit records.
14
+
15
+ The module is registered from `AppModule` through `AuditModule`.
16
+
17
+ ## Responsibilities
18
+
19
+ The module is responsible for:
20
+
21
+ - Capturing write operations on TypeORM entities.
22
+ - Capturing explicit controller actions such as login, logout, and audit log
23
+ reads.
24
+ - Recording request metadata: request ID, actor, IP address, user agent, method,
25
+ and path.
26
+ - Masking configured sensitive fields in persisted before/after/diff payloads.
27
+ - Preventing audit export failures from breaking business operations unless
28
+ `AUDIT_LOG_FAIL_CLOSED=true`.
29
+ - Exposing audit records when the configured backend is `database`.
30
+
31
+ The module is not responsible for:
32
+
33
+ - Replacing application logs.
34
+ - Reconstructing historical state from audit records.
35
+ - Enforcing permissions by itself. Access still goes through the API role and
36
+ permission guard.
37
+ - Storing local records when the backend is OpenTelemetry or ClickHouse.
38
+
39
+ ## Module Layout
40
+
41
+ ```text
42
+ packages/api/src/audit
43
+ |-- audit.module.ts # public Nest module
44
+ |-- audit-core.module.ts # shared providers and local entity setup
45
+ |-- controllers/
46
+ | `-- audit-log.controller.ts # read API for local database backend
47
+ |-- decorators/
48
+ | `-- audit-log.decorators.ts # controller audit decorators
49
+ |-- dto/
50
+ | `-- audit-log.dto.ts # DTO contract for local records
51
+ |-- entities/
52
+ | `-- audit-log.entity.ts # TypeORM entity for local records
53
+ |-- exporters/
54
+ | |-- audit-backend.factory.ts # backend selection
55
+ | |-- audit-database.exporter.ts # local database exporter
56
+ | |-- audit-noop.exporter.ts # disabled audit exporter
57
+ | `-- audit-safe.exporter.ts # fail-open/fail-closed wrapper
58
+ |-- interceptors/
59
+ | `-- audit-context.interceptor.ts # request context enrichment
60
+ |-- repositories/
61
+ | `-- audit-log.repository.ts # local audit record repository
62
+ |-- services/
63
+ | |-- audit-context.service.ts # CLS-backed request context service
64
+ | `-- audit-log-record.service.ts # local audit record service
65
+ |-- subscribers/
66
+ | `-- audit-log.subscriber.ts # TypeORM write subscriber
67
+ |-- types/
68
+ | `-- audit-context.type.ts
69
+ `-- utils/
70
+ `-- request-context.ts # request ID/IP/user-agent helpers
71
+ ```
72
+
73
+ ## Runtime Architecture
74
+
75
+ `AuditModule` wires three concerns:
76
+
77
+ 1. `ClsModule.forRoot()`
78
+ - Creates an async-local request store.
79
+ - Generates or propagates a request ID from `x-request-id` or
80
+ `x-correlation-id`.
81
+ - Stores initial request metadata before route handling.
82
+
83
+ 2. `AuditCoreModule`
84
+ - Registers `AuditLogOrmEntity` with TypeORM.
85
+ - Provides the local database exporter, repository, record service, backend
86
+ factory, and context service.
87
+
88
+ 3. `SdkAuditLogModule.forRootAsync()`
89
+ - Registers `nestjs-auditlog`.
90
+ - Uses `AuditBackendFactory` to select the configured exporter.
91
+ - Installs the SDK global interceptor used by controller decorators.
92
+
93
+ `AuditModule` also registers:
94
+
95
+ - `AuditContextInterceptor` as a global interceptor.
96
+ - `AuditLogSubscriber` as a TypeORM subscriber.
97
+ - `AuditLogController` for local record reads.
98
+
99
+ ## Audit Event Sources
100
+
101
+ ### TypeORM Entity Writes
102
+
103
+ `AuditLogSubscriber` listens to TypeORM lifecycle events:
104
+
105
+ - `afterInsert` -> `Create`
106
+ - `afterUpdate` -> `Update`
107
+ - `afterRemove` -> `Remove`
108
+
109
+ For each write event, it builds an audit payload:
110
+
111
+ ```ts
112
+ {
113
+ resource: {
114
+ id: "<entity primary key>",
115
+ type: "<entity name without OrmEntity suffix>",
116
+ label: "<@AuditLabel field value, when configured>",
117
+ },
118
+ operation: {
119
+ id: "typeorm.<Entity>.<create|update|remove>",
120
+ type: "Create" | "Update" | "Remove",
121
+ status: "SUCCEEDED",
122
+ },
123
+ actor: {
124
+ id: "<request user id or system>",
125
+ type: "<request user roles or system>",
126
+ label: "<request username/name, when available>",
127
+ ip: "<client ip>",
128
+ agent: "<user agent>",
129
+ },
130
+ data_diff: {
131
+ before: { ... } | null,
132
+ after: { ... } | null,
133
+ diff: { ... } | null,
134
+ },
135
+ }
136
+ ```
137
+
138
+ The subscriber skips internal infrastructure tables:
139
+
140
+ - `audit_logs`
141
+ - `migrations`
142
+ - `sessions`
143
+ - `stats`
144
+
145
+ Audit is also skipped globally when `AUDIT_LOG_ENABLED=false`.
146
+
147
+ Use `@AuditLabel()` on one entity property to capture a stable display label
148
+ inside future audit records. Labels are copied from the event payload only; audit
149
+ reads do not resolve labels from live entities.
150
+
151
+ ### Controller Decorators
152
+
153
+ Controller decorators in `decorators/audit-log.decorators.ts` use
154
+ `nestjs-auditlog` to record explicit route operations.
155
+
156
+ Currently provided decorators:
157
+
158
+ - `AuditAuthLogin()`
159
+ - `AuditAuthLogout()`
160
+
161
+ Example:
162
+
163
+ ```ts
164
+ @UseGuards(LocalAuthGuard)
165
+ @Roles('public')
166
+ @Post('local')
167
+ @AuditAuthLogin()
168
+ async login(@Req() req: Request) {
169
+ return req.user;
170
+ }
171
+ ```
172
+
173
+ Decorated controller audit events are emitted by the SDK interceptor after the
174
+ handler result or error is available.
175
+
176
+ ### Failed Local Login Attempts
177
+
178
+ Failed local login attempts do not reach the `AuthController` handler because
179
+ Passport guards run before controller interceptors. `LocalAuthGuard` therefore
180
+ records failed login attempts directly when `super.canActivate()` throws.
181
+
182
+ The failed login event:
183
+
184
+ - Uses operation ID `auth.login`.
185
+ - Uses operation type `Login`.
186
+ - Uses operation status `FAILED`.
187
+ - Uses the attempted `identifier` as resource ID and actor ID when present.
188
+ - Includes request IP and user-agent.
189
+ - Does not include the password.
190
+
191
+ ## Request Context
192
+
193
+ `AuditContextService` stores and reads request metadata from `nestjs-cls`.
194
+
195
+ The context can contain:
196
+
197
+ ```ts
198
+ type AuditRequestContext = {
199
+ requestId?: string;
200
+ actorId?: string;
201
+ actorType?: string;
202
+ actorLabel?: string;
203
+ ip?: string;
204
+ userAgent?: string;
205
+ method?: string;
206
+ path?: string;
207
+ };
208
+ ```
209
+
210
+ Context is populated in two stages:
211
+
212
+ 1. CLS middleware stores request ID, IP, user-agent, method, and path at the
213
+ beginning of the request.
214
+ 2. `AuditContextInterceptor` calls `setFromRequest()` after authentication
215
+ middleware has populated `req.user` or `req.session`.
216
+
217
+ When no request context exists, entity write audit events fall back to:
218
+
219
+ - actor ID: `system`
220
+ - actor type: `system`
221
+
222
+ This is expected for background jobs, seeders, and startup tasks.
223
+
224
+ ## Backends
225
+
226
+ The backend is selected by `AUDIT_LOG_BACKEND`.
227
+
228
+ | Backend | Value | Local read API | Notes |
229
+ | --- | --- | --- | --- |
230
+ | Database | `database` | Yes | Persists audit records to `audit_logs`. |
231
+ | OpenTelemetry HTTP | `opentelemetry-http` | No | Sends logs to an OTLP HTTP endpoint. |
232
+ | OpenTelemetry gRPC | `opentelemetry-grpc` | No | Sends logs to an OTLP gRPC endpoint. |
233
+ | ClickHouse | `clickhouse` | No | Uses the SDK ClickHouse exporter. |
234
+ | Disabled | `AUDIT_LOG_ENABLED=false` | No | Uses the no-op exporter and skips TypeORM write auditing. |
235
+
236
+ When the backend is not `database`, the `/auditlog` endpoints return
237
+ `503 Service Unavailable` because records are not stored locally.
238
+
239
+ ## Configuration
240
+
241
+ Environment variables are defined in `packages/api/.env.example`.
242
+
243
+ | Variable | Default | Description |
244
+ | --- | --- | --- |
245
+ | `AUDIT_LOG_ENABLED` | `true` | Enables controller and TypeORM audit logging. |
246
+ | `AUDIT_LOG_BACKEND` | `database` | Export backend: `database`, `opentelemetry-http`, `opentelemetry-grpc`, or `clickhouse`. |
247
+ | `AUDIT_LOG_FAIL_CLOSED` | `false` | When true, awaited audit exporter failures are rethrown. |
248
+ | `AUDIT_LOG_SERVICE_NAME` | `hexabot-api` | Service name attached to external audit records. |
249
+ | `AUDIT_LOG_SERVICE_NAMESPACE` | `@hexabot-ai/api` | Service namespace attached to external audit records. |
250
+ | `AUDIT_LOG_SERVICE_ENVIRONMENT` | `NODE_ENV` or `development` | Deployment environment attached to external audit records. |
251
+ | `AUDIT_LOG_MASK_FIELDS` | sensitive defaults | Comma-separated field names masked in entity before/after/diff payloads. |
252
+ | `AUDIT_LOG_OTEL_URL` | unset | OTLP exporter URL. |
253
+ | `AUDIT_LOG_OTEL_HOSTNAME` | unset | OTLP hostname. |
254
+ | `AUDIT_LOG_OTEL_HEADERS` | `{}` | JSON object of OTLP headers. |
255
+ | `AUDIT_LOG_OTEL_TIMEOUT_MILLIS` | unset | OTLP timeout. |
256
+ | `AUDIT_LOG_OTEL_CONCURRENCY_LIMIT` | unset | OTLP concurrency limit. |
257
+ | `AUDIT_LOG_CLICKHOUSE_URL` | unset | ClickHouse URL. |
258
+ | `AUDIT_LOG_CLICKHOUSE_DATABASE` | `hexabot_auditlog` | ClickHouse database name. |
259
+ | `AUDIT_LOG_CLICKHOUSE_LOG_EXPIRED_DAYS` | unset | ClickHouse TTL in days. |
260
+
261
+ Example local database configuration:
262
+
263
+ ```env
264
+ AUDIT_LOG_ENABLED=true
265
+ AUDIT_LOG_BACKEND=database
266
+ AUDIT_LOG_FAIL_CLOSED=false
267
+ AUDIT_LOG_MASK_FIELDS=password,resetToken,reset_token,token,secret,authorization,apiKey,privateKey,value
268
+ ```
269
+
270
+ Example OpenTelemetry HTTP configuration:
271
+
272
+ ```env
273
+ AUDIT_LOG_ENABLED=true
274
+ AUDIT_LOG_BACKEND=opentelemetry-http
275
+ AUDIT_LOG_SERVICE_NAME=hexabot-api
276
+ AUDIT_LOG_SERVICE_NAMESPACE=@hexabot-ai/api
277
+ AUDIT_LOG_SERVICE_ENVIRONMENT=production
278
+ AUDIT_LOG_OTEL_URL=http://otel-collector:4318/v1/logs
279
+ AUDIT_LOG_OTEL_HEADERS={"authorization":"Bearer <token>"}
280
+ AUDIT_LOG_FAIL_CLOSED=false
281
+ ```
282
+
283
+ Example ClickHouse configuration:
284
+
285
+ ```env
286
+ AUDIT_LOG_ENABLED=true
287
+ AUDIT_LOG_BACKEND=clickhouse
288
+ AUDIT_LOG_SERVICE_NAME=hexabot-api
289
+ AUDIT_LOG_CLICKHOUSE_URL=http://clickhouse:8123
290
+ AUDIT_LOG_CLICKHOUSE_DATABASE=hexabot_auditlog
291
+ AUDIT_LOG_CLICKHOUSE_LOG_EXPIRED_DAYS=180
292
+ ```
293
+
294
+ ## Fail-Open and Fail-Closed Behavior
295
+
296
+ All configured backends are wrapped in `AuditSafeExporter`.
297
+
298
+ When `AUDIT_LOG_FAIL_CLOSED=false`:
299
+
300
+ - Exporter errors are logged.
301
+ - The business operation continues.
302
+
303
+ When `AUDIT_LOG_FAIL_CLOSED=true`:
304
+
305
+ - Exporter errors are rethrown.
306
+ - Awaited audit paths can fail the business operation.
307
+
308
+ TypeORM subscriber audit writes are awaited by TypeORM lifecycle hooks, so
309
+ fail-closed behavior applies directly there.
310
+
311
+ Controller decorator audit events are emitted by the third-party SDK interceptor
312
+ after handler execution. Treat fail-closed behavior on that path as best effort
313
+ and verify carefully before relying on it for compliance-sensitive flows.
314
+
315
+ ## Data Redaction
316
+
317
+ `AuditLogSubscriber` masks configured field names before records are exported.
318
+
319
+ Masking is:
320
+
321
+ - Case-insensitive.
322
+ - Based on exact field name match.
323
+ - Applied recursively to object entries.
324
+ - Applied to array entries.
325
+
326
+ Default masked fields:
327
+
328
+ ```text
329
+ password,resetToken,reset_token,token,secret,authorization,apiKey,privateKey,value
330
+ ```
331
+
332
+ Example:
333
+
334
+ ```json
335
+ {
336
+ "password": "[REDACTED]",
337
+ "profile": {
338
+ "apiKey": "[REDACTED]"
339
+ }
340
+ }
341
+ ```
342
+
343
+ Only the TypeORM subscriber path normalizes and masks entity payloads. Explicit
344
+ controller audit decorators should avoid adding sensitive data to audit payloads
345
+ in the first place.
346
+
347
+ ## Local Storage
348
+
349
+ When `AUDIT_LOG_BACKEND=database`, audit records are stored in the `audit_logs`
350
+ table through `AuditLogOrmEntity`.
351
+
352
+ Stored fields:
353
+
354
+ | Field | Description |
355
+ | --- | --- |
356
+ | `id` | Audit record UUID. |
357
+ | `createdAt` | Record creation timestamp. |
358
+ | `updatedAt` | Record update timestamp. |
359
+ | `resourceId` | Audited resource identifier. |
360
+ | `resourceType` | Audited resource type. |
361
+ | `resourceLabel` | Audited resource display label, when available. |
362
+ | `operationId` | Specific operation identifier. |
363
+ | `operationType` | High-level operation type. |
364
+ | `operationStatus` | `UNSPECIFIED`, `SUCCEEDED`, or `FAILED`. |
365
+ | `actorId` | Actor identifier. |
366
+ | `actorType` | Actor type or comma-separated role IDs. |
367
+ | `actorLabel` | Actor display label, when available. |
368
+ | `actorIp` | Client IP, when available. |
369
+ | `actorAgent` | User-agent, when available. |
370
+ | `requestId` | Correlation/request ID, when available. |
371
+ | `requestMethod` | HTTP method, when available. |
372
+ | `requestPath` | Original request path, when available. |
373
+ | `dataBefore` | Entity snapshot before the operation. |
374
+ | `dataAfter` | Entity snapshot after the operation. |
375
+ | `dataDiff` | Computed field-level diff. |
376
+ | `raw` | Original SDK audit payload. |
377
+
378
+ Indexes are defined for:
379
+
380
+ - `resourceType`, `resourceId`
381
+ - `actorId`
382
+ - `operationType`
383
+ - `requestId`
384
+
385
+ ## REST API
386
+
387
+ `AuditLogController` is mounted at `/auditlog`. With the global API prefix, the
388
+ effective paths are:
389
+
390
+ - `GET /api/auditlog`
391
+ - `GET /api/auditlog/count`
392
+ - `GET /api/auditlog/:id`
393
+
394
+ Supported filter fields:
395
+
396
+ - `resourceId`
397
+ - `resourceType`
398
+ - `resourceLabel`
399
+ - `operationId`
400
+ - `operationType`
401
+ - `operationStatus`
402
+ - `actorId`
403
+ - `actorType`
404
+ - `actorLabel`
405
+ - `actorIp`
406
+ - `requestId`
407
+ - `requestMethod`
408
+ - `requestPath`
409
+
410
+ The list endpoint defaults to sorting by `createdAt desc`.
411
+ List and count responses hide `AuditLog` and `Stats` resource records by
412
+ default so audit reads and statistics writes do not pollute the user-facing
413
+ trail.
414
+
415
+ Example:
416
+
417
+ ```http
418
+ GET /api/auditlog?where[resourceType]=User&where[operationType]=Update&limit=25
419
+ ```
420
+
421
+ Example count query:
422
+
423
+ ```http
424
+ GET /api/auditlog/count?where[actorId]=admin-user-id
425
+ ```
426
+
427
+ The standard role and permission guard protects these endpoints. Access requires
428
+ permissions for the `auditlog` model identity.
429
+
430
+ ## Shared Types
431
+
432
+ The local audit record output contract is exported from `@hexabot-ai/types`:
433
+
434
+ - `auditLogSchema`
435
+ - `auditLogFullSchema`
436
+ - `AuditLog`
437
+ - `AuditLogFull`
438
+
439
+ The API entity uses these schemas through `BaseOrmEntity.toPlainCls()` and
440
+ `BaseOrmEntity.toFullCls()`.
441
+
442
+ ## Adding a New Controller Audit Event
443
+
444
+ Prefer a small named decorator in `decorators/audit-log.decorators.ts` instead
445
+ of inlining SDK options in controllers.
446
+
447
+ Example:
448
+
449
+ ```ts
450
+ export const AuditExampleAction = () =>
451
+ AuditLog({
452
+ resource: {
453
+ type: 'Example',
454
+ },
455
+ operation: {
456
+ id: 'example.action',
457
+ type: 'Action',
458
+ },
459
+ resource_id_field_map: 'params.id',
460
+ actor_id_field_map: 'user.id',
461
+ actor_type_field_map: 'user.roles',
462
+ });
463
+ ```
464
+
465
+ Use `$response.` mappings when the audited identifier only exists in the handler
466
+ response:
467
+
468
+ ```ts
469
+ resource_id_field_map: '$response.id'
470
+ ```
471
+
472
+ Do not map passwords, tokens, or secrets into controller audit payloads.
473
+
474
+ ## Adding a New Backend
475
+
476
+ To add another backend:
477
+
478
+ 1. Implement `IAuditLogExporter` from `nestjs-auditlog`.
479
+ 2. Add any configuration fields to `Config['audit']`.
480
+ 3. Parse environment variables in `config/index.ts`.
481
+ 4. Extend `TAuditBackend` in `config/types.ts`.
482
+ 5. Add a case to `AuditBackendFactory.createConfiguredExporter()`.
483
+ 6. Add unit coverage for backend selection and safe-export behavior.
484
+
485
+ Backends should be wrapped by `AuditSafeExporter`; do not bypass the factory.
486
+
487
+ ## Production Deployment Notes
488
+
489
+ For production deployments using the database backend:
490
+
491
+ - Ensure the relational schema contains the `audit_logs` table before enabling
492
+ audit writes.
493
+ - Ensure the `models` table contains the `auditlog` identity.
494
+ - Ensure the relevant roles have permissions for the `auditlog` model.
495
+ - Keep `AUDIT_LOG_FAIL_CLOSED=false` unless the deployment is ready for audit
496
+ storage/export failures to reject business operations.
497
+
498
+ For external backends:
499
+
500
+ - Validate exporter connectivity in staging before enabling fail-closed mode.
501
+ - Confirm retention, access control, and encryption policies in the external
502
+ system.
503
+ - Keep local `/api/auditlog` consumers aware that local records are only
504
+ available for the database backend.
505
+
506
+ ## Testing
507
+
508
+ Focused tests:
509
+
510
+ ```bash
511
+ pnpm --filter @hexabot-ai/api run test -- audit
512
+ pnpm --filter @hexabot-ai/api run test -- local-auth.guard
513
+ ```
514
+
515
+ Package checks:
516
+
517
+ ```bash
518
+ pnpm --filter @hexabot-ai/api run typecheck
519
+ pnpm --filter @hexabot-ai/api run lint
520
+ pnpm --filter @hexabot-ai/api run test
521
+ ```
522
+
523
+ Shared contract checks:
524
+
525
+ ```bash
526
+ pnpm --filter @hexabot-ai/types run typecheck
527
+ pnpm --filter @hexabot-ai/types run lint
528
+ pnpm --filter @hexabot-ai/types run test
529
+ ```
530
+
531
+ ## Troubleshooting
532
+
533
+ ### `/api/auditlog` returns 503
534
+
535
+ The configured backend is not `database`. Local reads are only supported when
536
+ records are stored in `audit_logs`.
537
+
538
+ ### No actor ID is recorded
539
+
540
+ The operation may be running outside an HTTP request, or before Passport session
541
+ data is available. Background operations fall back to `system`.
542
+
543
+ ### Audit records are missing for failed login attempts
544
+
545
+ Failed local logins are recorded by `LocalAuthGuard`, not by the
546
+ `AuditAuthLogin()` controller decorator. Verify `LocalAuthGuard` is still used
547
+ on `POST /auth/local` and that `AUDIT_LOG_ENABLED=true`.
548
+
549
+ ### Sensitive data appears in audit records
550
+
551
+ For entity write audit logs, add the field name to `AUDIT_LOG_MASK_FIELDS`.
552
+ For controller decorator logs, remove the sensitive field mapping from the
553
+ decorator or avoid adding sensitive data to the request/response payload being
554
+ mapped.
555
+
556
+ ### Writes fail when audit export fails
557
+
558
+ Check `AUDIT_LOG_FAIL_CLOSED`. When true, awaited audit exporter failures are
559
+ rethrown.
@@ -0,0 +1,33 @@
1
+ /*
2
+ * Hexabot — Fair Core License (FCL-1.0-ALv2)
3
+ * Copyright (c) 2026 Hexastack.
4
+ * Full terms: see LICENSE.md.
5
+ */
6
+
7
+ import { Module } from '@nestjs/common';
8
+ import { TypeOrmModule } from '@nestjs/typeorm';
9
+
10
+ import { AuditLogOrmEntity } from './entities/audit-log.entity';
11
+ import { AuditBackendFactory } from './exporters/audit-backend.factory';
12
+ import { AuditDatabaseExporter } from './exporters/audit-database.exporter';
13
+ import { AuditLogRepository } from './repositories/audit-log.repository';
14
+ import { AuditContextService } from './services/audit-context.service';
15
+ import { AuditLogRecordService } from './services/audit-log-record.service';
16
+
17
+ @Module({
18
+ imports: [TypeOrmModule.forFeature([AuditLogOrmEntity])],
19
+ providers: [
20
+ AuditBackendFactory,
21
+ AuditContextService,
22
+ AuditDatabaseExporter,
23
+ AuditLogRecordService,
24
+ AuditLogRepository,
25
+ ],
26
+ exports: [
27
+ AuditBackendFactory,
28
+ AuditContextService,
29
+ AuditLogRecordService,
30
+ AuditLogRepository,
31
+ ],
32
+ })
33
+ export class AuditCoreModule {}