@hed-hog/core 0.0.386 → 0.0.390

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 (556) hide show
  1. package/README.md +12 -11
  2. package/dist/access-log/access-log.interceptor.d.ts.map +1 -1
  3. package/dist/access-log/access-log.interceptor.js +4 -2
  4. package/dist/access-log/access-log.interceptor.js.map +1 -1
  5. package/dist/ai/ai-attachment.fragments.d.ts +23 -0
  6. package/dist/ai/ai-attachment.fragments.d.ts.map +1 -0
  7. package/dist/ai/ai-attachment.fragments.js +34 -0
  8. package/dist/ai/ai-attachment.fragments.js.map +1 -0
  9. package/dist/ai/ai.controller.d.ts +7 -16
  10. package/dist/ai/ai.controller.d.ts.map +1 -1
  11. package/dist/ai/ai.prompts.d.ts +16 -0
  12. package/dist/ai/ai.prompts.d.ts.map +1 -0
  13. package/dist/ai/ai.prompts.js +37 -0
  14. package/dist/ai/ai.prompts.js.map +1 -0
  15. package/dist/ai/ai.service.d.ts +63 -12
  16. package/dist/ai/ai.service.d.ts.map +1 -1
  17. package/dist/ai/ai.service.js +215 -88
  18. package/dist/ai/ai.service.js.map +1 -1
  19. package/dist/ai/dto/chat.dto.d.ts +4 -1
  20. package/dist/ai/dto/chat.dto.d.ts.map +1 -1
  21. package/dist/ai/dto/chat.dto.js +23 -1
  22. package/dist/ai/dto/chat.dto.js.map +1 -1
  23. package/dist/ai/dto/create-agent.dto.d.ts +1 -1
  24. package/dist/ai/dto/create-agent.dto.d.ts.map +1 -1
  25. package/dist/ai/dto/create-agent.dto.js +1 -1
  26. package/dist/ai/dto/create-agent.dto.js.map +1 -1
  27. package/dist/ai/dto/update-agent.dto.d.ts +1 -1
  28. package/dist/ai/dto/update-agent.dto.d.ts.map +1 -1
  29. package/dist/ai/dto/update-agent.dto.js +1 -1
  30. package/dist/ai/dto/update-agent.dto.js.map +1 -1
  31. package/dist/ai-instruction/ai-instruction.controller.d.ts +61 -7
  32. package/dist/ai-instruction/ai-instruction.controller.d.ts.map +1 -1
  33. package/dist/ai-instruction/ai-instruction.controller.js +63 -20
  34. package/dist/ai-instruction/ai-instruction.controller.js.map +1 -1
  35. package/dist/ai-instruction/ai-instruction.module.d.ts.map +1 -1
  36. package/dist/ai-instruction/ai-instruction.module.js +13 -2
  37. package/dist/ai-instruction/ai-instruction.module.js.map +1 -1
  38. package/dist/ai-instruction/ai-instruction.service.d.ts +131 -6
  39. package/dist/ai-instruction/ai-instruction.service.d.ts.map +1 -1
  40. package/dist/ai-instruction/ai-instruction.service.js +533 -60
  41. package/dist/ai-instruction/ai-instruction.service.js.map +1 -1
  42. package/dist/ai-instruction/ai-prompt-builder.service.d.ts +8 -0
  43. package/dist/ai-instruction/ai-prompt-builder.service.d.ts.map +1 -1
  44. package/dist/ai-instruction/ai-prompt-builder.service.js +10 -1
  45. package/dist/ai-instruction/ai-prompt-builder.service.js.map +1 -1
  46. package/dist/ai-instruction/ai-prompt-registry.d.ts +45 -0
  47. package/dist/ai-instruction/ai-prompt-registry.d.ts.map +1 -0
  48. package/dist/ai-instruction/ai-prompt-registry.js +49 -0
  49. package/dist/ai-instruction/ai-prompt-registry.js.map +1 -0
  50. package/dist/ai-instruction/ai-prompt-resolver.service.d.ts +89 -0
  51. package/dist/ai-instruction/ai-prompt-resolver.service.d.ts.map +1 -0
  52. package/dist/ai-instruction/ai-prompt-resolver.service.js +222 -0
  53. package/dist/ai-instruction/ai-prompt-resolver.service.js.map +1 -0
  54. package/dist/ai-instruction/ai-prompt-template.util.d.ts +70 -0
  55. package/dist/ai-instruction/ai-prompt-template.util.d.ts.map +1 -0
  56. package/dist/ai-instruction/ai-prompt-template.util.js +154 -0
  57. package/dist/ai-instruction/ai-prompt-template.util.js.map +1 -0
  58. package/dist/ai-instruction/dto/create-ai-instruction.dto.d.ts +5 -0
  59. package/dist/ai-instruction/dto/create-ai-instruction.dto.d.ts.map +1 -1
  60. package/dist/ai-instruction/dto/create-ai-instruction.dto.js +27 -1
  61. package/dist/ai-instruction/dto/create-ai-instruction.dto.js.map +1 -1
  62. package/dist/ai-instruction/dto/preview-ai-instruction.dto.d.ts +14 -0
  63. package/dist/ai-instruction/dto/preview-ai-instruction.dto.d.ts.map +1 -0
  64. package/dist/ai-instruction/dto/preview-ai-instruction.dto.js +42 -0
  65. package/dist/ai-instruction/dto/preview-ai-instruction.dto.js.map +1 -0
  66. package/dist/ai-instruction/dto/update-ai-instruction.dto.d.ts +11 -0
  67. package/dist/ai-instruction/dto/update-ai-instruction.dto.d.ts.map +1 -1
  68. package/dist/ai-instruction/dto/update-ai-instruction.dto.js +34 -0
  69. package/dist/ai-instruction/dto/update-ai-instruction.dto.js.map +1 -1
  70. package/dist/ai-instruction/types/ai-instruction.types.d.ts +13 -1
  71. package/dist/ai-instruction/types/ai-instruction.types.d.ts.map +1 -1
  72. package/dist/ai-instruction/types/ai-instruction.types.js +10 -0
  73. package/dist/ai-instruction/types/ai-instruction.types.js.map +1 -1
  74. package/dist/auth/auth.controller.d.ts +26 -10
  75. package/dist/auth/auth.controller.d.ts.map +1 -1
  76. package/dist/auth/auth.controller.js +49 -21
  77. package/dist/auth/auth.controller.js.map +1 -1
  78. package/dist/auth/auth.service.d.ts +35 -9
  79. package/dist/auth/auth.service.d.ts.map +1 -1
  80. package/dist/auth/auth.service.js +78 -29
  81. package/dist/auth/auth.service.js.map +1 -1
  82. package/dist/captcha/captcha.module.d.ts +3 -0
  83. package/dist/captcha/captcha.module.d.ts.map +1 -0
  84. package/dist/captcha/captcha.module.js +23 -0
  85. package/dist/captcha/captcha.module.js.map +1 -0
  86. package/dist/captcha/captcha.service.d.ts +38 -0
  87. package/dist/captcha/captcha.service.d.ts.map +1 -0
  88. package/dist/captcha/captcha.service.js +144 -0
  89. package/dist/captcha/captcha.service.js.map +1 -0
  90. package/dist/challenge/challenge.service.d.ts +16 -7
  91. package/dist/challenge/challenge.service.d.ts.map +1 -1
  92. package/dist/challenge/challenge.service.js +64 -16
  93. package/dist/challenge/challenge.service.js.map +1 -1
  94. package/dist/core.module.d.ts +3 -1
  95. package/dist/core.module.d.ts.map +1 -1
  96. package/dist/core.module.js +29 -2
  97. package/dist/core.module.js.map +1 -1
  98. package/dist/dashboard/dashboard/dashboard.controller.d.ts +15 -15
  99. package/dist/dashboard/dashboard/dashboard.service.d.ts +15 -15
  100. package/dist/dashboard/dashboard-component/dashboard-component.controller.d.ts +6 -6
  101. package/dist/dashboard/dashboard-component/dashboard-component.service.d.ts +6 -6
  102. package/dist/dashboard/dashboard-component-role/dashboard-component-role.controller.d.ts +20 -20
  103. package/dist/dashboard/dashboard-component-role/dashboard-component-role.service.d.ts +20 -20
  104. package/dist/dashboard/dashboard-core/dashboard-core.controller.d.ts +1 -1
  105. package/dist/dashboard/dashboard-core/dashboard-core.service.d.ts +1 -1
  106. package/dist/dashboard/dashboard-role/dashboard-role.controller.d.ts +13 -13
  107. package/dist/dashboard/dashboard-role/dashboard-role.service.d.ts +13 -13
  108. package/dist/file/file.service.d.ts +6 -0
  109. package/dist/file/file.service.d.ts.map +1 -1
  110. package/dist/file/file.service.js +44 -4
  111. package/dist/file/file.service.js.map +1 -1
  112. package/dist/incident/incident-notifier.service.d.ts +36 -0
  113. package/dist/incident/incident-notifier.service.d.ts.map +1 -0
  114. package/dist/incident/incident-notifier.service.js +208 -0
  115. package/dist/incident/incident-notifier.service.js.map +1 -0
  116. package/dist/incident/incident.controller.d.ts +23 -0
  117. package/dist/incident/incident.controller.d.ts.map +1 -0
  118. package/dist/incident/incident.controller.js +75 -0
  119. package/dist/incident/incident.controller.js.map +1 -0
  120. package/dist/incident/incident.module.d.ts +7 -0
  121. package/dist/incident/incident.module.d.ts.map +1 -0
  122. package/dist/incident/incident.module.js +32 -0
  123. package/dist/incident/incident.module.js.map +1 -0
  124. package/dist/incident/incident.service.d.ts +72 -0
  125. package/dist/incident/incident.service.d.ts.map +1 -0
  126. package/dist/incident/incident.service.js +184 -0
  127. package/dist/incident/incident.service.js.map +1 -0
  128. package/dist/index.d.ts +27 -0
  129. package/dist/index.d.ts.map +1 -1
  130. package/dist/index.js +31 -0
  131. package/dist/index.js.map +1 -1
  132. package/dist/integration-profile/dto/test.dto.d.ts +13 -0
  133. package/dist/integration-profile/dto/test.dto.d.ts.map +1 -0
  134. package/dist/integration-profile/dto/test.dto.js +26 -0
  135. package/dist/integration-profile/dto/test.dto.js.map +1 -0
  136. package/dist/integration-profile/integration-profile.controller.d.ts +12 -1
  137. package/dist/integration-profile/integration-profile.controller.d.ts.map +1 -1
  138. package/dist/integration-profile/integration-profile.controller.js +9 -1
  139. package/dist/integration-profile/integration-profile.controller.js.map +1 -1
  140. package/dist/integration-profile/integration-profile.module.d.ts +6 -1
  141. package/dist/integration-profile/integration-profile.module.d.ts.map +1 -1
  142. package/dist/integration-profile/integration-profile.module.js +26 -3
  143. package/dist/integration-profile/integration-profile.module.js.map +1 -1
  144. package/dist/integration-profile/integration-profile.secrets.d.ts.map +1 -1
  145. package/dist/integration-profile/integration-profile.secrets.js +12 -2
  146. package/dist/integration-profile/integration-profile.secrets.js.map +1 -1
  147. package/dist/integration-profile/integration-profile.service.d.ts +28 -2
  148. package/dist/integration-profile/integration-profile.service.d.ts.map +1 -1
  149. package/dist/integration-profile/integration-profile.service.js +105 -31
  150. package/dist/integration-profile/integration-profile.service.js.map +1 -1
  151. package/dist/integration-profile/integration-profile.utils.d.ts +31 -1
  152. package/dist/integration-profile/integration-profile.utils.d.ts.map +1 -1
  153. package/dist/integration-profile/integration-profile.utils.js +35 -4
  154. package/dist/integration-profile/integration-profile.utils.js.map +1 -1
  155. package/dist/integration-profile/testers/ai.testers.d.ts +3 -0
  156. package/dist/integration-profile/testers/ai.testers.d.ts.map +1 -0
  157. package/dist/integration-profile/testers/ai.testers.js +125 -0
  158. package/dist/integration-profile/testers/ai.testers.js.map +1 -0
  159. package/dist/integration-profile/testers/captcha.testers.d.ts +3 -0
  160. package/dist/integration-profile/testers/captcha.testers.d.ts.map +1 -0
  161. package/dist/integration-profile/testers/captcha.testers.js +121 -0
  162. package/dist/integration-profile/testers/captcha.testers.js.map +1 -0
  163. package/dist/integration-profile/testers/email.testers.d.ts +3 -0
  164. package/dist/integration-profile/testers/email.testers.d.ts.map +1 -0
  165. package/dist/integration-profile/testers/email.testers.js +128 -0
  166. package/dist/integration-profile/testers/email.testers.js.map +1 -0
  167. package/dist/integration-profile/testers/http-probe.d.ts +57 -0
  168. package/dist/integration-profile/testers/http-probe.d.ts.map +1 -0
  169. package/dist/integration-profile/testers/http-probe.js +140 -0
  170. package/dist/integration-profile/testers/http-probe.js.map +1 -0
  171. package/dist/integration-profile/testers/index.d.ts +12 -0
  172. package/dist/integration-profile/testers/index.d.ts.map +1 -0
  173. package/dist/integration-profile/testers/index.js +45 -0
  174. package/dist/integration-profile/testers/index.js.map +1 -0
  175. package/dist/integration-profile/testers/infrastructure.testers.d.ts +3 -0
  176. package/dist/integration-profile/testers/infrastructure.testers.d.ts.map +1 -0
  177. package/dist/integration-profile/testers/infrastructure.testers.js +105 -0
  178. package/dist/integration-profile/testers/infrastructure.testers.js.map +1 -0
  179. package/dist/integration-profile/testers/integration-tester.registry.d.ts +17 -0
  180. package/dist/integration-profile/testers/integration-tester.registry.d.ts.map +1 -0
  181. package/dist/integration-profile/testers/integration-tester.registry.js +52 -0
  182. package/dist/integration-profile/testers/integration-tester.registry.js.map +1 -0
  183. package/dist/integration-profile/testers/integration-tester.types.d.ts +55 -0
  184. package/dist/integration-profile/testers/integration-tester.types.d.ts.map +1 -0
  185. package/dist/integration-profile/testers/integration-tester.types.js +16 -0
  186. package/dist/integration-profile/testers/integration-tester.types.js.map +1 -0
  187. package/dist/integration-profile/testers/messaging.testers.d.ts +3 -0
  188. package/dist/integration-profile/testers/messaging.testers.d.ts.map +1 -0
  189. package/dist/integration-profile/testers/messaging.testers.js +70 -0
  190. package/dist/integration-profile/testers/messaging.testers.js.map +1 -0
  191. package/dist/integration-profile/testers/oauth.testers.d.ts +3 -0
  192. package/dist/integration-profile/testers/oauth.testers.d.ts.map +1 -0
  193. package/dist/integration-profile/testers/oauth.testers.js +285 -0
  194. package/dist/integration-profile/testers/oauth.testers.js.map +1 -0
  195. package/dist/integration-profile/testers/payment.testers.d.ts +3 -0
  196. package/dist/integration-profile/testers/payment.testers.d.ts.map +1 -0
  197. package/dist/integration-profile/testers/payment.testers.js +169 -0
  198. package/dist/integration-profile/testers/payment.testers.js.map +1 -0
  199. package/dist/integration-profile/testers/storage.testers.d.ts +3 -0
  200. package/dist/integration-profile/testers/storage.testers.d.ts.map +1 -0
  201. package/dist/integration-profile/testers/storage.testers.js +208 -0
  202. package/dist/integration-profile/testers/storage.testers.js.map +1 -0
  203. package/dist/language/en.json +4 -2
  204. package/dist/language/pt.json +4 -2
  205. package/dist/leaked-password/leaked-password.controller.d.ts +24 -0
  206. package/dist/leaked-password/leaked-password.controller.d.ts.map +1 -0
  207. package/dist/leaked-password/leaked-password.controller.js +78 -0
  208. package/dist/leaked-password/leaked-password.controller.js.map +1 -0
  209. package/dist/leaked-password/leaked-password.module.d.ts +8 -0
  210. package/dist/leaked-password/leaked-password.module.d.ts.map +1 -0
  211. package/dist/leaked-password/leaked-password.module.js +31 -0
  212. package/dist/leaked-password/leaked-password.module.js.map +1 -0
  213. package/dist/leaked-password/leaked-password.service.d.ts +64 -0
  214. package/dist/leaked-password/leaked-password.service.d.ts.map +1 -0
  215. package/dist/leaked-password/leaked-password.service.js +218 -0
  216. package/dist/leaked-password/leaked-password.service.js.map +1 -0
  217. package/dist/locale/locale.controller.d.ts +1 -1
  218. package/dist/locale/locale.service.d.ts +1 -1
  219. package/dist/mail/dto/preview.dto.d.ts +18 -0
  220. package/dist/mail/dto/preview.dto.d.ts.map +1 -0
  221. package/dist/mail/dto/preview.dto.js +66 -0
  222. package/dist/mail/dto/preview.dto.js.map +1 -0
  223. package/dist/mail/dto/send.dto.d.ts +7 -0
  224. package/dist/mail/dto/send.dto.d.ts.map +1 -1
  225. package/dist/mail/dto/send.dto.js +10 -0
  226. package/dist/mail/dto/send.dto.js.map +1 -1
  227. package/dist/mail/mail.controller.d.ts +4 -0
  228. package/dist/mail/mail.controller.d.ts.map +1 -1
  229. package/dist/mail/mail.controller.js +16 -2
  230. package/dist/mail/mail.controller.js.map +1 -1
  231. package/dist/mail/mail.service.d.ts +23 -2
  232. package/dist/mail/mail.service.d.ts.map +1 -1
  233. package/dist/mail/mail.service.js +102 -13
  234. package/dist/mail/mail.service.js.map +1 -1
  235. package/dist/mail-layout/dto/update.dto.d.ts +17 -0
  236. package/dist/mail-layout/dto/update.dto.d.ts.map +1 -0
  237. package/dist/mail-layout/dto/update.dto.js +27 -0
  238. package/dist/mail-layout/dto/update.dto.js.map +1 -0
  239. package/dist/mail-layout/mail-layout.controller.d.ts +15 -0
  240. package/dist/mail-layout/mail-layout.controller.d.ts.map +1 -0
  241. package/dist/mail-layout/mail-layout.controller.js +71 -0
  242. package/dist/mail-layout/mail-layout.controller.js.map +1 -0
  243. package/dist/mail-layout/mail-layout.module.d.ts +3 -0
  244. package/dist/mail-layout/mail-layout.module.d.ts.map +1 -0
  245. package/dist/mail-layout/mail-layout.module.js +35 -0
  246. package/dist/mail-layout/mail-layout.module.js.map +1 -0
  247. package/dist/mail-layout/mail-layout.service.d.ts +27 -0
  248. package/dist/mail-layout/mail-layout.service.d.ts.map +1 -0
  249. package/dist/mail-layout/mail-layout.service.js +80 -0
  250. package/dist/mail-layout/mail-layout.service.js.map +1 -0
  251. package/dist/mcp-chat/mcp-chat.controller.d.ts +2 -2
  252. package/dist/mcp-chat/mcp-chat.service.d.ts +24 -2
  253. package/dist/mcp-chat/mcp-chat.service.d.ts.map +1 -1
  254. package/dist/mcp-chat/mcp-chat.service.js +80 -24
  255. package/dist/mcp-chat/mcp-chat.service.js.map +1 -1
  256. package/dist/menu/menu.controller.d.ts +3 -3
  257. package/dist/menu/menu.service.d.ts +3 -3
  258. package/dist/notification/notification.controller.d.ts +12 -12
  259. package/dist/notification/notification.service.d.ts +12 -12
  260. package/dist/oauth/oauth-token-broker.service.d.ts +72 -0
  261. package/dist/oauth/oauth-token-broker.service.d.ts.map +1 -0
  262. package/dist/oauth/oauth-token-broker.service.js +258 -0
  263. package/dist/oauth/oauth-token-broker.service.js.map +1 -0
  264. package/dist/oauth/oauth.module.d.ts.map +1 -1
  265. package/dist/oauth/oauth.module.js +3 -1
  266. package/dist/oauth/oauth.module.js.map +1 -1
  267. package/dist/oauth/oauth.service.d.ts +2 -0
  268. package/dist/oauth/oauth.service.d.ts.map +1 -1
  269. package/dist/oauth/oauth.service.js +6 -3
  270. package/dist/oauth/oauth.service.js.map +1 -1
  271. package/dist/pdf/pdf.service.d.ts +8 -0
  272. package/dist/pdf/pdf.service.d.ts.map +1 -1
  273. package/dist/pdf/pdf.service.js +52 -0
  274. package/dist/pdf/pdf.service.js.map +1 -1
  275. package/dist/presence/presence.controller.d.ts +16 -0
  276. package/dist/presence/presence.controller.d.ts.map +1 -0
  277. package/dist/presence/presence.controller.js +60 -0
  278. package/dist/presence/presence.controller.js.map +1 -0
  279. package/dist/presence/presence.listener.d.ts +29 -0
  280. package/dist/presence/presence.listener.d.ts.map +1 -0
  281. package/dist/presence/presence.listener.js +82 -0
  282. package/dist/presence/presence.listener.js.map +1 -0
  283. package/dist/presence/presence.module.d.ts +3 -0
  284. package/dist/presence/presence.module.d.ts.map +1 -0
  285. package/dist/presence/presence.module.js +32 -0
  286. package/dist/presence/presence.module.js.map +1 -0
  287. package/dist/presence/presence.service.d.ts +42 -0
  288. package/dist/presence/presence.service.d.ts.map +1 -0
  289. package/dist/presence/presence.service.js +147 -0
  290. package/dist/presence/presence.service.js.map +1 -0
  291. package/dist/profile/dto/delete-account.dto.d.ts +8 -0
  292. package/dist/profile/dto/delete-account.dto.d.ts.map +1 -0
  293. package/dist/profile/dto/delete-account.dto.js +22 -0
  294. package/dist/profile/dto/delete-account.dto.js.map +1 -0
  295. package/dist/profile/events/profile-account-deleted.event.d.ts +12 -0
  296. package/dist/profile/events/profile-account-deleted.event.d.ts.map +1 -0
  297. package/dist/profile/events/profile-account-deleted.event.js +17 -0
  298. package/dist/profile/events/profile-account-deleted.event.js.map +1 -0
  299. package/dist/profile/profile.controller.d.ts +24 -17
  300. package/dist/profile/profile.controller.d.ts.map +1 -1
  301. package/dist/profile/profile.controller.js +75 -46
  302. package/dist/profile/profile.controller.js.map +1 -1
  303. package/dist/profile/profile.service.d.ts +34 -21
  304. package/dist/profile/profile.service.d.ts.map +1 -1
  305. package/dist/profile/profile.service.js +113 -37
  306. package/dist/profile/profile.service.js.map +1 -1
  307. package/dist/realtime/realtime.gateway.d.ts +48 -0
  308. package/dist/realtime/realtime.gateway.d.ts.map +1 -0
  309. package/dist/realtime/realtime.gateway.js +156 -0
  310. package/dist/realtime/realtime.gateway.js.map +1 -0
  311. package/dist/realtime/realtime.module.d.ts +8 -0
  312. package/dist/realtime/realtime.module.d.ts.map +1 -0
  313. package/dist/realtime/realtime.module.js +29 -0
  314. package/dist/realtime/realtime.module.js.map +1 -0
  315. package/dist/realtime/realtime.service.d.ts +51 -0
  316. package/dist/realtime/realtime.service.d.ts.map +1 -0
  317. package/dist/realtime/realtime.service.js +177 -0
  318. package/dist/realtime/realtime.service.js.map +1 -0
  319. package/dist/redis/redis-pubsub.d.ts +27 -0
  320. package/dist/redis/redis-pubsub.d.ts.map +1 -0
  321. package/dist/redis/redis-pubsub.js +140 -0
  322. package/dist/redis/redis-pubsub.js.map +1 -0
  323. package/dist/role/role.controller.d.ts +3 -3
  324. package/dist/role/role.service.d.ts +3 -3
  325. package/dist/setting/dto/create.dto.d.ts.map +1 -1
  326. package/dist/setting/dto/create.dto.js +9 -2
  327. package/dist/setting/dto/create.dto.js.map +1 -1
  328. package/dist/setting/setting.controller.d.ts +5 -5
  329. package/dist/setting/setting.service.d.ts +8 -5
  330. package/dist/setting/setting.service.d.ts.map +1 -1
  331. package/dist/setting/setting.service.js +25 -1
  332. package/dist/setting/setting.service.js.map +1 -1
  333. package/dist/user/dto/create-with-email-and-password.dto.d.ts +2 -0
  334. package/dist/user/dto/create-with-email-and-password.dto.d.ts.map +1 -1
  335. package/dist/user/dto/create-with-email-and-password.dto.js +5 -0
  336. package/dist/user/dto/create-with-email-and-password.dto.js.map +1 -1
  337. package/dist/user/dto/query-user-mail-list.dto.d.ts +5 -0
  338. package/dist/user/dto/query-user-mail-list.dto.d.ts.map +1 -0
  339. package/dist/user/dto/query-user-mail-list.dto.js +25 -0
  340. package/dist/user/dto/query-user-mail-list.dto.js.map +1 -0
  341. package/dist/user/user-credential.util.d.ts +19 -0
  342. package/dist/user/user-credential.util.d.ts.map +1 -0
  343. package/dist/user/user-credential.util.js +32 -0
  344. package/dist/user/user-credential.util.js.map +1 -0
  345. package/dist/user/user.controller.d.ts +17 -5
  346. package/dist/user/user.controller.d.ts.map +1 -1
  347. package/dist/user/user.controller.js +18 -3
  348. package/dist/user/user.controller.js.map +1 -1
  349. package/dist/user/user.service.d.ts +28 -6
  350. package/dist/user/user.service.d.ts.map +1 -1
  351. package/dist/user/user.service.js +204 -13
  352. package/dist/user/user.service.js.map +1 -1
  353. package/dist/validators/is-strong-password-with-settings.validator.d.ts.map +1 -1
  354. package/dist/validators/is-strong-password-with-settings.validator.js +11 -0
  355. package/dist/validators/is-strong-password-with-settings.validator.js.map +1 -1
  356. package/dist/validators/service-locator.d.ts +9 -0
  357. package/dist/validators/service-locator.d.ts.map +1 -1
  358. package/dist/validators/service-locator.js +12 -0
  359. package/dist/validators/service-locator.js.map +1 -1
  360. package/dist/webhook-integration/webhook-integration.controller.d.ts +5 -8
  361. package/dist/webhook-integration/webhook-integration.controller.d.ts.map +1 -1
  362. package/dist/webhook-integration/webhook-integration.controller.js +31 -8
  363. package/dist/webhook-integration/webhook-integration.controller.js.map +1 -1
  364. package/dist/webhook-integration/webhook-integration.module.d.ts.map +1 -1
  365. package/dist/webhook-integration/webhook-integration.module.js +5 -0
  366. package/dist/webhook-integration/webhook-integration.module.js.map +1 -1
  367. package/dist/webhook-integration/webhook-integration.service.d.ts +33 -1
  368. package/dist/webhook-integration/webhook-integration.service.d.ts.map +1 -1
  369. package/dist/webhook-integration/webhook-integration.service.js +109 -4
  370. package/dist/webhook-integration/webhook-integration.service.js.map +1 -1
  371. package/dist/webhook-integration/webhook-protocol.registry.d.ts +63 -0
  372. package/dist/webhook-integration/webhook-protocol.registry.d.ts.map +1 -0
  373. package/dist/webhook-integration/webhook-protocol.registry.js +51 -0
  374. package/dist/webhook-integration/webhook-protocol.registry.js.map +1 -0
  375. package/dist/whatsapp-sender/whatsapp-sender.module.d.ts +3 -0
  376. package/dist/whatsapp-sender/whatsapp-sender.module.d.ts.map +1 -0
  377. package/dist/whatsapp-sender/whatsapp-sender.module.js +23 -0
  378. package/dist/whatsapp-sender/whatsapp-sender.module.js.map +1 -0
  379. package/dist/whatsapp-sender/whatsapp-sender.service.d.ts +50 -0
  380. package/dist/whatsapp-sender/whatsapp-sender.service.d.ts.map +1 -0
  381. package/dist/whatsapp-sender/whatsapp-sender.service.js +224 -0
  382. package/dist/whatsapp-sender/whatsapp-sender.service.js.map +1 -0
  383. package/hedhog/data/integration_provider.yaml +16 -0
  384. package/hedhog/data/mail.yaml +88 -61
  385. package/hedhog/data/mail_layout.yaml +188 -0
  386. package/hedhog/data/menu.yaml +67 -3
  387. package/hedhog/data/route.yaml +135 -0
  388. package/hedhog/data/setting_group.yaml +139 -1
  389. package/hedhog/frontend/app/account/components/mfa-setup-dialog.tsx.ejs +36 -0
  390. package/hedhog/frontend/app/account/components/two-factor-auth.tsx.ejs +2 -0
  391. package/hedhog/frontend/app/account/hooks/use-mfa-setup.ts.ejs +10 -7
  392. package/hedhog/frontend/app/ai_agent/page.tsx.ejs +7 -4
  393. package/hedhog/frontend/app/ai_instruction/_components/ai-instruction-form.tsx.ejs +580 -0
  394. package/hedhog/frontend/app/ai_instruction/_components/ai-instruction-preview.tsx.ejs +150 -0
  395. package/hedhog/frontend/app/ai_instruction/_components/ai-instruction-versions.tsx.ejs +199 -0
  396. package/hedhog/frontend/app/ai_instruction/_components/prompt-diff.tsx.ejs +63 -0
  397. package/hedhog/frontend/app/ai_instruction/_lib/line-diff.spec.ts.ejs +59 -0
  398. package/hedhog/frontend/app/ai_instruction/_lib/line-diff.ts.ejs +72 -0
  399. package/hedhog/frontend/app/ai_instruction/_lib/prompt-template.spec.ts.ejs +170 -0
  400. package/hedhog/frontend/app/ai_instruction/_lib/prompt-template.ts.ejs +167 -0
  401. package/hedhog/frontend/app/ai_instruction/_lib/types.ts.ejs +99 -0
  402. package/hedhog/frontend/app/ai_instruction/page.tsx.ejs +422 -0
  403. package/hedhog/frontend/app/configurations/[slug]/components/setting-field.tsx.ejs +51 -4
  404. package/hedhog/frontend/app/incidents/page.tsx.ejs +400 -0
  405. package/hedhog/frontend/app/integration/profiles/page.tsx.ejs +169 -92
  406. package/hedhog/frontend/app/mail/layout/page.tsx.ejs +344 -0
  407. package/hedhog/frontend/app/mail/template/page.tsx.ejs +155 -121
  408. package/hedhog/frontend/app/mcp_chat/page.tsx.ejs +129 -17
  409. package/hedhog/frontend/app/pages/_components/page-delete-dialog.tsx.ejs +343 -0
  410. package/hedhog/frontend/app/pages/_components/page-detail-sheet.tsx.ejs +438 -0
  411. package/hedhog/frontend/app/pages/_components/page-wizard-sheet.tsx.ejs +1009 -0
  412. package/hedhog/frontend/app/pages/_components/system-page-types.ts.ejs +56 -0
  413. package/hedhog/frontend/app/pages/_components/use-system-pages.ts.ejs +171 -0
  414. package/hedhog/frontend/app/pages/page.tsx.ejs +514 -0
  415. package/hedhog/frontend/app/users/page.tsx.ejs +119 -13
  416. package/hedhog/frontend/app/users/user-activity-timeline.tsx.ejs +231 -0
  417. package/hedhog/frontend/app/users/user-mails.tsx.ejs +399 -0
  418. package/hedhog/frontend/app/users/user-sheet.tsx.ejs +60 -75
  419. package/hedhog/frontend/messages/en.json +521 -3
  420. package/hedhog/frontend/messages/pt.json +521 -3
  421. package/hedhog/table/ai_agent.yaml +1 -0
  422. package/hedhog/table/ai_instruction.yaml +15 -0
  423. package/hedhog/table/leaked_password.yaml +18 -0
  424. package/hedhog/table/mail_layout.yaml +35 -0
  425. package/hedhog/table/mail_var.yaml +4 -0
  426. package/hedhog/table/setting.yaml +1 -0
  427. package/hedhog/table/system_incident.yaml +59 -0
  428. package/hedhog/table/user_presence.yaml +36 -0
  429. package/hedhog/table/webhook_integration.yaml +64 -43
  430. package/package.json +8 -4
  431. package/src/access-log/access-log.interceptor.ts +4 -2
  432. package/src/ai/ai-attachment.fragments.spec.ts +319 -0
  433. package/src/ai/ai-attachment.fragments.ts +35 -0
  434. package/src/ai/ai.prompts.ts +38 -0
  435. package/src/ai/ai.service.spec.ts +280 -0
  436. package/src/ai/ai.service.ts +338 -82
  437. package/src/ai/dto/chat.dto.ts +33 -3
  438. package/src/ai/dto/create-agent.dto.ts +2 -2
  439. package/src/ai/dto/update-agent.dto.ts +2 -2
  440. package/src/ai-instruction/ai-instruction.controller.ts +40 -9
  441. package/src/ai-instruction/ai-instruction.module.ts +13 -2
  442. package/src/ai-instruction/ai-instruction.service.spec.ts +658 -0
  443. package/src/ai-instruction/ai-instruction.service.ts +661 -62
  444. package/src/ai-instruction/ai-prompt-builder.service.ts +10 -1
  445. package/src/ai-instruction/ai-prompt-registry.ts +87 -0
  446. package/src/ai-instruction/ai-prompt-resolver.service.spec.ts +375 -0
  447. package/src/ai-instruction/ai-prompt-resolver.service.ts +295 -0
  448. package/src/ai-instruction/ai-prompt-template.util.spec.ts +162 -0
  449. package/src/ai-instruction/ai-prompt-template.util.ts +199 -0
  450. package/src/ai-instruction/dto/create-ai-instruction.dto.ts +39 -3
  451. package/src/ai-instruction/dto/preview-ai-instruction.dto.ts +26 -0
  452. package/src/ai-instruction/dto/update-ai-instruction.dto.ts +42 -1
  453. package/src/ai-instruction/types/ai-instruction.types.ts +24 -1
  454. package/src/auth/auth.controller.ts +33 -6
  455. package/src/auth/auth.service.spec.ts +3 -1
  456. package/src/auth/auth.service.ts +103 -37
  457. package/src/captcha/captcha.module.ts +10 -0
  458. package/src/captcha/captcha.service.spec.ts +210 -0
  459. package/src/captcha/captcha.service.ts +191 -0
  460. package/src/challenge/challenge.service.spec.ts +39 -4
  461. package/src/challenge/challenge.service.ts +72 -17
  462. package/src/core.module.ts +27 -1
  463. package/src/file/file.service.spec.ts +105 -0
  464. package/src/file/file.service.ts +60 -3
  465. package/src/incident/incident-notifier.service.spec.ts +205 -0
  466. package/src/incident/incident-notifier.service.ts +241 -0
  467. package/src/incident/incident.controller.ts +38 -0
  468. package/src/incident/incident.module.ts +19 -0
  469. package/src/incident/incident.service.spec.ts +150 -0
  470. package/src/incident/incident.service.ts +209 -0
  471. package/src/index.ts +38 -0
  472. package/src/integration-profile/dto/test.dto.ts +19 -0
  473. package/src/integration-profile/integration-profile.controller.ts +10 -1
  474. package/src/integration-profile/integration-profile.module.spec.ts +51 -0
  475. package/src/integration-profile/integration-profile.module.ts +23 -4
  476. package/src/integration-profile/integration-profile.secrets.ts +12 -2
  477. package/src/integration-profile/integration-profile.service.spec.ts +279 -0
  478. package/src/integration-profile/integration-profile.service.ts +132 -29
  479. package/src/integration-profile/integration-profile.utils.spec.ts +97 -0
  480. package/src/integration-profile/integration-profile.utils.ts +79 -3
  481. package/src/integration-profile/testers/ai.testers.ts +165 -0
  482. package/src/integration-profile/testers/captcha.testers.spec.ts +92 -0
  483. package/src/integration-profile/testers/captcha.testers.ts +139 -0
  484. package/src/integration-profile/testers/email.testers.ts +161 -0
  485. package/src/integration-profile/testers/http-probe.spec.ts +153 -0
  486. package/src/integration-profile/testers/http-probe.ts +171 -0
  487. package/src/integration-profile/testers/index.ts +30 -0
  488. package/src/integration-profile/testers/infrastructure.testers.ts +122 -0
  489. package/src/integration-profile/testers/integration-tester.registry.spec.ts +75 -0
  490. package/src/integration-profile/testers/integration-tester.registry.ts +43 -0
  491. package/src/integration-profile/testers/integration-tester.types.ts +61 -0
  492. package/src/integration-profile/testers/messaging.testers.ts +102 -0
  493. package/src/integration-profile/testers/oauth.testers.spec.ts +220 -0
  494. package/src/integration-profile/testers/oauth.testers.ts +305 -0
  495. package/src/integration-profile/testers/payment.testers.ts +185 -0
  496. package/src/integration-profile/testers/remaining.testers.spec.ts +401 -0
  497. package/src/integration-profile/testers/storage.testers.spec.ts +185 -0
  498. package/src/integration-profile/testers/storage.testers.ts +226 -0
  499. package/src/integration-profile/testers/tester-coverage.spec.ts +58 -0
  500. package/src/language/en.json +4 -2
  501. package/src/language/pt.json +4 -2
  502. package/src/leaked-password/README.md +83 -0
  503. package/src/leaked-password/leaked-password.controller.ts +52 -0
  504. package/src/leaked-password/leaked-password.module.ts +18 -0
  505. package/src/leaked-password/leaked-password.service.ts +242 -0
  506. package/src/leaked-password/seed/build-seed-sql.mjs +180 -0
  507. package/src/leaked-password/seed/common-passwords.txt +335 -0
  508. package/src/mail/dto/preview.dto.ts +50 -0
  509. package/src/mail/dto/send.dto.ts +14 -1
  510. package/src/mail/mail-template.spec.ts +197 -0
  511. package/src/mail/mail.controller.ts +9 -2
  512. package/src/mail/mail.service.spec.ts +116 -1
  513. package/src/mail/mail.service.ts +118 -12
  514. package/src/mail-layout/dto/update.dto.ts +19 -0
  515. package/src/mail-layout/mail-layout.controller.ts +47 -0
  516. package/src/mail-layout/mail-layout.module.ts +22 -0
  517. package/src/mail-layout/mail-layout.service.ts +94 -0
  518. package/src/mcp-chat/mcp-chat.service.spec.ts +236 -0
  519. package/src/mcp-chat/mcp-chat.service.ts +122 -26
  520. package/src/oauth/oauth-token-broker.service.spec.ts +172 -0
  521. package/src/oauth/oauth-token-broker.service.ts +363 -0
  522. package/src/oauth/oauth.module.ts +3 -1
  523. package/src/oauth/oauth.service.ts +8 -2
  524. package/src/pdf/pdf.service.ts +75 -0
  525. package/src/presence/presence.controller.ts +29 -0
  526. package/src/presence/presence.listener.ts +53 -0
  527. package/src/presence/presence.module.ts +19 -0
  528. package/src/presence/presence.service.spec.ts +97 -0
  529. package/src/presence/presence.service.ts +160 -0
  530. package/src/profile/dto/delete-account.dto.ts +11 -0
  531. package/src/profile/events/profile-account-deleted.event.ts +13 -0
  532. package/src/profile/profile.controller.ts +52 -36
  533. package/src/profile/profile.service.ts +143 -41
  534. package/src/realtime/realtime.gateway.ts +138 -0
  535. package/src/realtime/realtime.module.ts +16 -0
  536. package/src/realtime/realtime.service.spec.ts +50 -0
  537. package/src/realtime/realtime.service.ts +187 -0
  538. package/src/redis/redis-pubsub.ts +179 -0
  539. package/src/setting/dto/create.dto.ts +13 -2
  540. package/src/setting/setting.service.spec.ts +56 -0
  541. package/src/setting/setting.service.ts +29 -1
  542. package/src/user/dto/create-with-email-and-password.dto.ts +6 -1
  543. package/src/user/dto/query-user-mail-list.dto.ts +10 -0
  544. package/src/user/user-credential.util.ts +35 -0
  545. package/src/user/user.controller.ts +17 -2
  546. package/src/user/user.service.spec.ts +153 -0
  547. package/src/user/user.service.ts +255 -12
  548. package/src/validators/is-strong-password-with-settings.validator.ts +12 -0
  549. package/src/validators/service-locator.ts +15 -0
  550. package/src/webhook-integration/webhook-integration.controller.ts +40 -2
  551. package/src/webhook-integration/webhook-integration.module.ts +5 -0
  552. package/src/webhook-integration/webhook-integration.service.ts +133 -0
  553. package/src/webhook-integration/webhook-protocol.registry.spec.ts +70 -0
  554. package/src/webhook-integration/webhook-protocol.registry.ts +93 -0
  555. package/src/whatsapp-sender/whatsapp-sender.module.ts +10 -0
  556. package/src/whatsapp-sender/whatsapp-sender.service.ts +313 -0
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEEPSEEK_DEFAULT_MODEL = exports.DEEPSEEK_API_BASE_URL = exports.DEFAULT_GRAPH_API_VERSION = void 0;
3
4
  exports.buildMailConfigFromIntegration = buildMailConfigFromIntegration;
4
5
  exports.buildResendConfigFromIntegration = buildResendConfigFromIntegration;
5
6
  exports.getFromAddress = getFromAddress;
6
7
  exports.getReplyToAddress = getReplyToAddress;
8
+ exports.buildWhatsappOfficialConfigFromIntegration = buildWhatsappOfficialConfigFromIntegration;
7
9
  exports.buildStorageConfigFromIntegration = buildStorageConfigFromIntegration;
8
10
  exports.resolveStorageEnumProvider = resolveStorageEnumProvider;
9
11
  exports.resolveFileProviderSlug = resolveFileProviderSlug;
@@ -87,6 +89,20 @@ function getReplyToAddress(config) {
87
89
  const replyToName = String((_c = cfg.reply_to_name) !== null && _c !== void 0 ? _c : '').trim();
88
90
  return replyToName ? `${replyToName} <${replyToEmail}>` : replyToEmail;
89
91
  }
92
+ // ─── Messaging utilities ──────────────────────────────────────────────────────
93
+ exports.DEFAULT_GRAPH_API_VERSION = 'v21.0';
94
+ /**
95
+ * Maps an integration_profile config JSON to the Meta WhatsApp Cloud API credentials.
96
+ *
97
+ * Os números não vêm daqui: um WABA pode ter vários e cada um tem estado próprio,
98
+ * então eles vivem na tabela whatsapp_phone_number (library whatsapp).
99
+ */
100
+ function buildWhatsappOfficialConfigFromIntegration(config) {
101
+ var _a, _b, _c, _d, _e, _f, _g, _h;
102
+ const cfg = (_a = config) !== null && _a !== void 0 ? _a : {};
103
+ const environment = String((_b = cfg.environment) !== null && _b !== void 0 ? _b : 'production').trim();
104
+ return Object.assign(Object.assign({ appId: String((_c = cfg.app_id) !== null && _c !== void 0 ? _c : '').trim(), appSecret: String((_d = cfg.app_secret) !== null && _d !== void 0 ? _d : '').trim() }, (cfg.business_id ? { businessId: String(cfg.business_id).trim() } : {})), { wabaId: String((_e = cfg.waba_id) !== null && _e !== void 0 ? _e : '').trim(), accessToken: String((_f = cfg.access_token) !== null && _f !== void 0 ? _f : '').trim(), graphApiVersion: String((_g = cfg.graph_api_version) !== null && _g !== void 0 ? _g : '').trim() || exports.DEFAULT_GRAPH_API_VERSION, verifyToken: String((_h = cfg.verify_token) !== null && _h !== void 0 ? _h : '').trim(), environment: environment === 'test' ? 'test' : 'production' });
105
+ }
90
106
  // ─── Storage utilities ────────────────────────────────────────────────────────
91
107
  /**
92
108
  * Maps an integration_profile config JSON to the flat settings dict that the
@@ -193,16 +209,31 @@ function buildKubernetesConfigFromIntegration(providerSlug, config) {
193
209
  };
194
210
  }
195
211
  // ─── AI utilities ─────────────────────────────────────────────────────────────
196
- /** Maps an integration_profile config JSON to the API key and optional org needed by AI providers. */
212
+ /**
213
+ * Base URL da API do DeepSeek. A API é compatível com o formato OpenAI
214
+ * (`POST {base}/chat/completions`), então os consumidores reaproveitam o mesmo
215
+ * corpo de requisição trocando apenas a URL e a chave.
216
+ */
217
+ exports.DEEPSEEK_API_BASE_URL = 'https://api.deepseek.com';
218
+ /** Modelo usado quando o perfil DeepSeek não define um (`deepseek-reasoner` é o de raciocínio). */
219
+ exports.DEEPSEEK_DEFAULT_MODEL = 'deepseek-chat';
220
+ /** Maps an integration_profile config JSON to the API key and optional org/model/timeout needed by AI providers. */
197
221
  function buildAiConfigFromIntegration(providerSlug, config) {
198
- var _a, _b, _c;
222
+ var _a, _b, _c, _d, _e, _f;
199
223
  const cfg = (_a = config) !== null && _a !== void 0 ? _a : {};
224
+ const model = String((_b = cfg.model) !== null && _b !== void 0 ? _b : '').trim() || undefined;
225
+ const parsedTimeout = Number(cfg.timeout_ms);
226
+ const timeoutMs = Number.isFinite(parsedTimeout) && parsedTimeout > 0 ? parsedTimeout : undefined;
200
227
  switch (providerSlug.toLowerCase()) {
201
228
  case 'openai':
202
- return Object.assign({ apiKey: String((_b = cfg.api_key) !== null && _b !== void 0 ? _b : '') }, (cfg.organization ? { organization: String(cfg.organization) } : {}));
229
+ return Object.assign(Object.assign(Object.assign({ apiKey: String((_c = cfg.api_key) !== null && _c !== void 0 ? _c : '') }, (cfg.organization ? { organization: String(cfg.organization) } : {})), (model ? { model } : {})), (timeoutMs ? { timeoutMs } : {}));
230
+ case 'deepseek':
231
+ return Object.assign(Object.assign(Object.assign({ apiKey: String((_d = cfg.api_key) !== null && _d !== void 0 ? _d : '') }, (model ? { model } : {})), (timeoutMs ? { timeoutMs } : {})), { baseUrl: String((_e = cfg.base_url) !== null && _e !== void 0 ? _e : '')
232
+ .trim()
233
+ .replace(/\/+$/, '') || exports.DEEPSEEK_API_BASE_URL });
203
234
  case 'gemini':
204
235
  case 'claude':
205
- return { apiKey: String((_c = cfg.api_key) !== null && _c !== void 0 ? _c : '') };
236
+ return Object.assign(Object.assign({ apiKey: String((_f = cfg.api_key) !== null && _f !== void 0 ? _f : '') }, (model ? { model } : {})), (timeoutMs ? { timeoutMs } : {}));
206
237
  default:
207
238
  throw new common_1.BadRequestException(`Unsupported AI provider: ${providerSlug}`);
208
239
  }
@@ -1 +1 @@
1
- {"version":3,"file":"integration-profile.utils.js","sourceRoot":"","sources":["../../src/integration-profile/integration-profile.utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integration-profile.utils.js","sourceRoot":"","sources":["../../src/integration-profile/integration-profile.utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { IntegrationTester } from './integration-tester.types';
2
+ export declare const AI_TESTERS: IntegrationTester[];
3
+ //# sourceMappingURL=ai.testers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.testers.d.ts","sourceRoot":"","sources":["../../../src/integration-profile/testers/ai.testers.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAsJ/D,eAAO,MAAM,UAAU,EAAE,iBAAiB,EAMzC,CAAC"}
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AI_TESTERS = void 0;
4
+ const http_probe_1 = require("./http-probe");
5
+ /**
6
+ * Testadores dos providers de IA e geração de vídeo.
7
+ *
8
+ * Todos listam modelos: é a chamada autenticada mais barata de cada API (não consome
9
+ * token nem gera cobrança) e prova que a chave está ativa.
10
+ */
11
+ const openAiTester = {
12
+ providerSlug: 'openai',
13
+ test: async (config, ctx) => {
14
+ var _a, _b;
15
+ const missing = (0, http_probe_1.requireFields)(config, [['api_key', 'API key']]);
16
+ if (missing)
17
+ return missing;
18
+ const organization = (0, http_probe_1.str)(config, 'organization');
19
+ const headers = Object.assign({ Authorization: `Bearer ${String((_a = config.api_key) !== null && _a !== void 0 ? _a : '')}` }, (organization ? { 'OpenAI-Organization': organization } : {}));
20
+ const result = await (0, http_probe_1.probeJson)('https://api.openai.com/v1/models', { headers }, ctx.signal);
21
+ if (result.status === 401)
22
+ return (0, http_probe_1.fail)('Invalid OpenAI API key.');
23
+ if (result.status === 403) {
24
+ return (0, http_probe_1.fail)('This API key has no permission to list models.');
25
+ }
26
+ if (!result.ok) {
27
+ return (0, http_probe_1.fail)((0, http_probe_1.describeHttpError)(result, 'OpenAI rejected the credentials.'));
28
+ }
29
+ const models = Array.isArray((_b = result.body) === null || _b === void 0 ? void 0 : _b.data)
30
+ ? result.body.data
31
+ : [];
32
+ const wanted = (0, http_probe_1.str)(config, 'model');
33
+ // Modelo indisponível para a conta não invalida a chave — o operador só precisa
34
+ // saber antes de descobrir na primeira chamada real.
35
+ if (wanted && !models.some((model) => model.id === wanted)) {
36
+ return (0, http_probe_1.pass)(`OpenAI — ${models.length} model(s) available`, `The model "${wanted}" is not available for this account.`);
37
+ }
38
+ return (0, http_probe_1.pass)(`OpenAI — ${models.length} model(s) available${wanted ? ` (${wanted} ok)` : ''}`);
39
+ },
40
+ };
41
+ const geminiTester = {
42
+ providerSlug: 'gemini',
43
+ test: async (config, ctx) => {
44
+ var _a, _b;
45
+ const missing = (0, http_probe_1.requireFields)(config, [['api_key', 'API key']]);
46
+ if (missing)
47
+ return missing;
48
+ const url = `https://generativelanguage.googleapis.com/v1beta/models?key=${encodeURIComponent(String((_a = config.api_key) !== null && _a !== void 0 ? _a : ''))}`;
49
+ const result = await (0, http_probe_1.probeJson)(url, {}, ctx.signal);
50
+ if (result.status === 400 || result.status === 401 || result.status === 403) {
51
+ return (0, http_probe_1.fail)('Invalid Gemini API key.');
52
+ }
53
+ if (!result.ok) {
54
+ return (0, http_probe_1.fail)((0, http_probe_1.describeHttpError)(result, 'Google rejected the credentials.'));
55
+ }
56
+ const models = Array.isArray((_b = result.body) === null || _b === void 0 ? void 0 : _b.models)
57
+ ? result.body.models
58
+ : [];
59
+ return (0, http_probe_1.pass)(`Gemini — ${models.length} model(s) available`);
60
+ },
61
+ };
62
+ const claudeTester = {
63
+ providerSlug: 'claude',
64
+ test: async (config, ctx) => {
65
+ var _a, _b;
66
+ const missing = (0, http_probe_1.requireFields)(config, [['api_key', 'API key']]);
67
+ if (missing)
68
+ return missing;
69
+ const result = await (0, http_probe_1.probeJson)('https://api.anthropic.com/v1/models', {
70
+ headers: {
71
+ 'x-api-key': String((_a = config.api_key) !== null && _a !== void 0 ? _a : ''),
72
+ 'anthropic-version': '2023-06-01',
73
+ },
74
+ }, ctx.signal);
75
+ if (result.status === 401)
76
+ return (0, http_probe_1.fail)('Invalid Anthropic API key.');
77
+ if (!result.ok) {
78
+ return (0, http_probe_1.fail)((0, http_probe_1.describeHttpError)(result, 'Anthropic rejected the credentials.'));
79
+ }
80
+ const models = Array.isArray((_b = result.body) === null || _b === void 0 ? void 0 : _b.data) ? result.body.data : [];
81
+ return (0, http_probe_1.pass)(`Claude — ${models.length} model(s) available`);
82
+ },
83
+ };
84
+ const deepseekTester = {
85
+ providerSlug: 'deepseek',
86
+ test: async (config, ctx) => {
87
+ var _a, _b;
88
+ const missing = (0, http_probe_1.requireFields)(config, [['api_key', 'API key']]);
89
+ if (missing)
90
+ return missing;
91
+ const result = await (0, http_probe_1.probeJson)('https://api.deepseek.com/models', { headers: { Authorization: `Bearer ${String((_a = config.api_key) !== null && _a !== void 0 ? _a : '')}` } }, ctx.signal);
92
+ if (result.status === 401)
93
+ return (0, http_probe_1.fail)('Invalid DeepSeek API key.');
94
+ if (!result.ok) {
95
+ return (0, http_probe_1.fail)((0, http_probe_1.describeHttpError)(result, 'DeepSeek rejected the credentials.'));
96
+ }
97
+ const models = Array.isArray((_b = result.body) === null || _b === void 0 ? void 0 : _b.data) ? result.body.data : [];
98
+ return (0, http_probe_1.pass)(`DeepSeek — ${models.length} model(s) available`);
99
+ },
100
+ };
101
+ const lumaTester = {
102
+ providerSlug: 'luma',
103
+ test: async (config, ctx) => {
104
+ var _a;
105
+ const missing = (0, http_probe_1.requireFields)(config, [['api_key', 'API key']]);
106
+ if (missing)
107
+ return missing;
108
+ const result = await (0, http_probe_1.probeJson)('https://api.lumalabs.ai/dream-machine/v1/generations?limit=1', { headers: { Authorization: `Bearer ${String((_a = config.api_key) !== null && _a !== void 0 ? _a : '')}` } }, ctx.signal);
109
+ if (result.status === 401 || result.status === 403) {
110
+ return (0, http_probe_1.fail)('Invalid Luma API key.');
111
+ }
112
+ if (!result.ok) {
113
+ return (0, http_probe_1.fail)((0, http_probe_1.describeHttpError)(result, 'Luma rejected the credentials.'));
114
+ }
115
+ return (0, http_probe_1.pass)('Luma Dream Machine');
116
+ },
117
+ };
118
+ exports.AI_TESTERS = [
119
+ openAiTester,
120
+ geminiTester,
121
+ claudeTester,
122
+ deepseekTester,
123
+ lumaTester,
124
+ ];
125
+ //# sourceMappingURL=ai.testers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.testers.js","sourceRoot":"","sources":["../../../src/integration-profile/testers/ai.testers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { IntegrationTester } from './integration-tester.types';
2
+ export declare const CAPTCHA_TESTERS: IntegrationTester[];
3
+ //# sourceMappingURL=captcha.testers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"captcha.testers.d.ts","sourceRoot":"","sources":["../../../src/integration-profile/testers/captcha.testers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAoI/D,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAI9C,CAAC"}
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CAPTCHA_TESTERS = void 0;
4
+ const node_crypto_1 = require("node:crypto");
5
+ const http_probe_1 = require("./http-probe");
6
+ /**
7
+ * Testadores dos providers de captcha.
8
+ *
9
+ * Um captcha só é resolvido por um humano no navegador, então não há token válido para
10
+ * enviar aqui. O truque é que ambos os endpoints de `siteverify` validam o SEGREDO antes
11
+ * do token: mandamos um token vazio e lemos qual das duas reclamações voltou.
12
+ *
13
+ * invalid-input-secret → segredo errado → REPROVA
14
+ * invalid-input-response → segredo aceito, faltou só o token (era o esperado) → APROVA
15
+ */
16
+ const recaptchaTester = {
17
+ providerSlug: 'recaptcha',
18
+ test: async (config, ctx) => {
19
+ var _a, _b;
20
+ const missing = (0, http_probe_1.requireFields)(config, [
21
+ ['site_key', 'Site key'],
22
+ ['secret_key', 'Secret key'],
23
+ ]);
24
+ if (missing)
25
+ return missing;
26
+ const result = await (0, http_probe_1.probeJson)('https://www.google.com/recaptcha/api/siteverify', {
27
+ method: 'POST',
28
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
29
+ body: new URLSearchParams({
30
+ secret: String((_a = config.secret_key) !== null && _a !== void 0 ? _a : ''),
31
+ response: '',
32
+ }).toString(),
33
+ }, ctx.signal);
34
+ const codes = Array.isArray((_b = result.body) === null || _b === void 0 ? void 0 : _b['error-codes'])
35
+ ? result.body['error-codes']
36
+ : [];
37
+ if (codes.includes('invalid-input-secret')) {
38
+ return (0, http_probe_1.fail)('Invalid reCAPTCHA secret key.');
39
+ }
40
+ if (codes.includes('missing-input-secret')) {
41
+ return (0, http_probe_1.fail)('reCAPTCHA secret key is required.');
42
+ }
43
+ if (codes.includes('missing-input-response') ||
44
+ codes.includes('invalid-input-response')) {
45
+ return (0, http_probe_1.pass)('Google accepted the reCAPTCHA secret key');
46
+ }
47
+ if (!result.ok) {
48
+ return (0, http_probe_1.fail)(`Google returned HTTP ${result.status}.`);
49
+ }
50
+ return (0, http_probe_1.pass)('Google accepted the reCAPTCHA secret key');
51
+ },
52
+ };
53
+ const turnstileTester = {
54
+ providerSlug: 'cloudflare-turnstile',
55
+ test: async (config, ctx) => {
56
+ var _a, _b;
57
+ const missing = (0, http_probe_1.requireFields)(config, [
58
+ ['site_key', 'Site key'],
59
+ ['secret_key', 'Secret key'],
60
+ ]);
61
+ if (missing)
62
+ return missing;
63
+ const result = await (0, http_probe_1.probeJson)('https://challenges.cloudflare.com/turnstile/v0/siteverify', {
64
+ method: 'POST',
65
+ headers: { 'Content-Type': 'application/json' },
66
+ body: JSON.stringify({
67
+ secret: String((_a = config.secret_key) !== null && _a !== void 0 ? _a : ''),
68
+ response: 'hedhog-connection-test',
69
+ }),
70
+ }, ctx.signal);
71
+ const codes = Array.isArray((_b = result.body) === null || _b === void 0 ? void 0 : _b['error-codes'])
72
+ ? result.body['error-codes']
73
+ : [];
74
+ if (codes.includes('invalid-input-secret')) {
75
+ return (0, http_probe_1.fail)('Invalid Turnstile secret key.');
76
+ }
77
+ if (codes.includes('missing-input-secret')) {
78
+ return (0, http_probe_1.fail)('Turnstile secret key is required.');
79
+ }
80
+ if (codes.includes('invalid-input-response') ||
81
+ codes.includes('missing-input-response')) {
82
+ return (0, http_probe_1.pass)('Cloudflare accepted the Turnstile secret key');
83
+ }
84
+ if (!result.ok) {
85
+ return (0, http_probe_1.fail)(`Cloudflare returned HTTP ${result.status}.`);
86
+ }
87
+ return (0, http_probe_1.pass)('Cloudflare accepted the Turnstile secret key');
88
+ },
89
+ };
90
+ const altchaTester = {
91
+ providerSlug: 'altcha',
92
+ test: async (config) => {
93
+ var _a;
94
+ const missing = (0, http_probe_1.requireFields)(config, [['hmac_key', 'HMAC key']]);
95
+ if (missing)
96
+ return missing;
97
+ const hmacKey = String((_a = config.hmac_key) !== null && _a !== void 0 ? _a : '');
98
+ if (hmacKey.length < 16) {
99
+ return (0, http_probe_1.fail)('The HMAC key is too short — use at least 16 characters.');
100
+ }
101
+ // Altcha é self-hosted: não existe endpoint remoto para validar a chave. O que dá
102
+ // para provar é que ela gera um desafio assinado, que é o uso dela em produção.
103
+ try {
104
+ const challenge = (0, node_crypto_1.createHmac)('sha256', hmacKey)
105
+ .update('hedhog-connection-test')
106
+ .digest('hex');
107
+ if (!challenge)
108
+ throw new Error('empty digest');
109
+ }
110
+ catch (_b) {
111
+ return (0, http_probe_1.fail)('Could not sign a challenge with this HMAC key.');
112
+ }
113
+ return (0, http_probe_1.pass)('HMAC key is usable', 'Altcha is self-hosted: the key was validated locally, with no remote check.');
114
+ },
115
+ };
116
+ exports.CAPTCHA_TESTERS = [
117
+ recaptchaTester,
118
+ turnstileTester,
119
+ altchaTester,
120
+ ];
121
+ //# sourceMappingURL=captcha.testers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"captcha.testers.js","sourceRoot":"","sources":["../../../src/integration-profile/testers/captcha.testers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { IntegrationTester } from './integration-tester.types';
2
+ export declare const EMAIL_TESTERS: IntegrationTester[];
3
+ //# sourceMappingURL=email.testers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email.testers.d.ts","sourceRoot":"","sources":["../../../src/integration-profile/testers/email.testers.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAkJ/D,eAAO,MAAM,aAAa,EAAE,iBAAiB,EAK5C,CAAC"}
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EMAIL_TESTERS = void 0;
4
+ const api_mail_1 = require("@hed-hog/api-mail");
5
+ const http_probe_1 = require("./http-probe");
6
+ /**
7
+ * Testadores dos providers de e-mail.
8
+ *
9
+ * Todos exigem `from_email`: sem remetente o perfil não envia nada, e essa validação
10
+ * já era o contrato do teste antes de existirem chamadas de rede.
11
+ */
12
+ const smtpTester = {
13
+ providerSlug: 'smtp',
14
+ test: async (config) => {
15
+ var _a, _b;
16
+ const missing = (0, http_probe_1.requireFields)(config, [
17
+ ['host', 'SMTP host'],
18
+ ['from_email', 'Sender email'],
19
+ ]);
20
+ if (missing)
21
+ return missing;
22
+ const result = await (0, api_mail_1.verifySmtpConnection)({
23
+ host: (0, http_probe_1.str)(config, 'host'),
24
+ port: Number((_a = config.port) !== null && _a !== void 0 ? _a : 587),
25
+ secure: Boolean(config.secure),
26
+ username: (0, http_probe_1.str)(config, 'username'),
27
+ password: String((_b = config.password) !== null && _b !== void 0 ? _b : ''),
28
+ timeoutMs: 8000,
29
+ });
30
+ return result.ok ? (0, http_probe_1.pass)(result.info) : (0, http_probe_1.fail)(result.error);
31
+ },
32
+ };
33
+ const sesTester = {
34
+ providerSlug: 'ses',
35
+ test: async (config, ctx) => {
36
+ var _a;
37
+ const missing = (0, http_probe_1.requireFields)(config, [
38
+ ['region', 'AWS region'],
39
+ ['access_key_id', 'Access key ID'],
40
+ ['secret_access_key', 'Secret access key'],
41
+ ['from_email', 'Sender email'],
42
+ ]);
43
+ if (missing)
44
+ return missing;
45
+ const result = await (0, api_mail_1.verifySesCredentials)({
46
+ region: (0, http_probe_1.str)(config, 'region'),
47
+ accessKeyId: (0, http_probe_1.str)(config, 'access_key_id'),
48
+ secretAccessKey: String((_a = config.secret_access_key) !== null && _a !== void 0 ? _a : ''),
49
+ signal: ctx.signal,
50
+ });
51
+ return result.ok ? (0, http_probe_1.pass)(result.info) : (0, http_probe_1.fail)(result.error);
52
+ },
53
+ };
54
+ const gmailTester = {
55
+ providerSlug: 'gmail',
56
+ test: async (config, ctx) => {
57
+ var _a, _b, _c, _d;
58
+ const missing = (0, http_probe_1.requireFields)(config, [
59
+ ['client_id', 'Client ID'],
60
+ ['client_secret', 'Client secret'],
61
+ ['refresh_token', 'Refresh token'],
62
+ ['from_email', 'Sender email'],
63
+ ]);
64
+ if (missing)
65
+ return missing;
66
+ // Troca real do refresh token: separa credencial de app errada (invalid_client)
67
+ // de autorização revogada pelo usuário (invalid_grant).
68
+ const result = await (0, http_probe_1.probeJson)('https://oauth2.googleapis.com/token', {
69
+ method: 'POST',
70
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
71
+ body: new URLSearchParams({
72
+ client_id: (0, http_probe_1.str)(config, 'client_id'),
73
+ client_secret: String((_a = config.client_secret) !== null && _a !== void 0 ? _a : ''),
74
+ refresh_token: String((_b = config.refresh_token) !== null && _b !== void 0 ? _b : ''),
75
+ grant_type: 'refresh_token',
76
+ }).toString(),
77
+ }, ctx.signal);
78
+ if (result.ok) {
79
+ return (0, http_probe_1.pass)(`Gmail authorized for ${(0, http_probe_1.str)(config, 'from_email')}`);
80
+ }
81
+ const code = String((_d = (_c = result.body) === null || _c === void 0 ? void 0 : _c.error) !== null && _d !== void 0 ? _d : '');
82
+ if (code === 'invalid_client') {
83
+ return (0, http_probe_1.fail)('Invalid Client ID or Client secret.');
84
+ }
85
+ if (code === 'invalid_grant') {
86
+ return (0, http_probe_1.fail)('The refresh token is invalid or was revoked. Authorize the account again.');
87
+ }
88
+ return (0, http_probe_1.fail)((0, http_probe_1.describeHttpError)(result, 'Google rejected the credentials.'));
89
+ },
90
+ };
91
+ const resendTester = {
92
+ providerSlug: 'resend',
93
+ test: async (config, ctx) => {
94
+ var _a, _b, _c;
95
+ const missing = (0, http_probe_1.requireFields)(config, [
96
+ ['api_token', 'Resend API token'],
97
+ ['domain', 'Resend sending domain'],
98
+ ]);
99
+ if (missing)
100
+ return missing;
101
+ const domain = (0, http_probe_1.str)(config, 'domain').toLowerCase();
102
+ const result = await (0, http_probe_1.probeJson)('https://api.resend.com/domains', { headers: { Authorization: `Bearer ${String((_a = config.api_token) !== null && _a !== void 0 ? _a : '')}` } }, ctx.signal);
103
+ if (result.status === 401 || result.status === 403) {
104
+ return (0, http_probe_1.fail)('Invalid Resend API token.');
105
+ }
106
+ if (!result.ok) {
107
+ return (0, http_probe_1.fail)((0, http_probe_1.describeHttpError)(result, 'Resend rejected the credentials.'));
108
+ }
109
+ const domains = Array.isArray((_b = result.body) === null || _b === void 0 ? void 0 : _b.data)
110
+ ? result.body.data
111
+ : [];
112
+ const match = domains.find((item) => { var _a; return String((_a = item === null || item === void 0 ? void 0 : item.name) !== null && _a !== void 0 ? _a : '').toLowerCase() === domain; });
113
+ if (!match) {
114
+ return (0, http_probe_1.pass)(`Resend token is valid (${domains.length} domain(s))`, `The domain "${domain}" is not registered in this Resend account.`);
115
+ }
116
+ if (String((_c = match.status) !== null && _c !== void 0 ? _c : '').toLowerCase() !== 'verified') {
117
+ return (0, http_probe_1.pass)(`Resend token is valid — ${domain}`, `The domain "${domain}" is not verified yet (status: ${match.status}).`);
118
+ }
119
+ return (0, http_probe_1.pass)(`Resend — ${domain} (verified)`);
120
+ },
121
+ };
122
+ exports.EMAIL_TESTERS = [
123
+ smtpTester,
124
+ sesTester,
125
+ gmailTester,
126
+ resendTester,
127
+ ];
128
+ //# sourceMappingURL=email.testers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email.testers.js","sourceRoot":"","sources":["../../../src/integration-profile/testers/email.testers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Utilidades compartilhadas pelos testadores de conexão.
3
+ *
4
+ * Concentra as três coisas que todo tester precisa acertar e que são fáceis de errar
5
+ * caso a caso: respeitar o timeout, não vazar segredo na mensagem de erro e traduzir
6
+ * falha de rede em texto que o operador entenda.
7
+ */
8
+ import { IntegrationTestOutcome } from './integration-tester.types';
9
+ /** Atalho para um veredito de sucesso. */
10
+ export declare function pass(info?: string, warning?: string): IntegrationTestOutcome;
11
+ /** Atalho para um veredito de falha. */
12
+ export declare function fail(error: string): IntegrationTestOutcome;
13
+ /**
14
+ * Exige que um campo esteja preenchido. Devolve `null` quando está tudo certo, ou o
15
+ * veredito de falha pronto — evita repetir o mesmo `if` em 31 testers.
16
+ */
17
+ export declare function requireFields(config: Record<string, unknown>, fields: Array<[key: string, label: string]>): IntegrationTestOutcome | null;
18
+ /** Lê uma chave do config como string já trimada. */
19
+ export declare function str(config: Record<string, unknown>, key: string): string;
20
+ /**
21
+ * Valida uma URL fornecida pelo usuário (host do Evolution, api_server do k8s,
22
+ * endpoint S3-compatible, base da ADN).
23
+ *
24
+ * Ranges privados são PERMITIDOS de propósito: k8s e Evolution self-hosted vivem em
25
+ * rede interna, e bloqueá-los quebraria o caso de uso principal. O que barramos são
26
+ * esquemas fora de http/https (file:, gopher:, etc.).
27
+ */
28
+ export declare function assertHttpUrl(raw: string, field: string): URL;
29
+ export type ProbeResult = {
30
+ ok: boolean;
31
+ status: number;
32
+ /** Corpo parseado como JSON, ou `{}` quando a resposta não é JSON. */
33
+ body: any;
34
+ /** Corpo cru (truncado), útil quando a API responde texto puro. */
35
+ text: string;
36
+ };
37
+ /**
38
+ * `fetch` que não lança em status != 2xx — o status faz parte do veredito na maioria
39
+ * dos testers (401 vs 404 vs 403 dizem coisas diferentes).
40
+ */
41
+ export declare function probeJson(url: string, init: RequestInit, signal: AbortSignal): Promise<ProbeResult>;
42
+ /** Remove qualquer ocorrência dos segredos do texto. */
43
+ export declare function redactSecrets(text: string, secretValues: string[]): string;
44
+ /**
45
+ * Converte qualquer erro em mensagem segura para a UI e para o config do perfil.
46
+ *
47
+ * Ordem importa: timeout e falha de DNS/conexão precisam de texto PRÓPRIO, senão o
48
+ * operador de um cluster sem saída para a internet lê "não foi possível validar" e
49
+ * conclui que a credencial está errada.
50
+ */
51
+ export declare function sanitizeTesterError(error: unknown, secretValues: string[], host?: string): string;
52
+ /**
53
+ * Mensagem curta a partir de uma resposta HTTP de erro, procurando o campo de mensagem
54
+ * nos formatos mais comuns (`error.message`, `error_description`, `message`, `error`).
55
+ */
56
+ export declare function describeHttpError(result: ProbeResult, fallback: string): string;
57
+ //# sourceMappingURL=http-probe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-probe.d.ts","sourceRoot":"","sources":["../../../src/integration-profile/testers/http-probe.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAKpE,0CAA0C;AAC1C,wBAAgB,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAE5E;AAED,wCAAwC;AACxC,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,sBAAsB,CAE1D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,GAC1C,sBAAsB,GAAG,IAAI,CAO/B;AAED,qDAAqD;AACrD,wBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAExE;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAW7D;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,IAAI,EAAE,GAAG,CAAC;IACV,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,WAAW,CAAC,CAYtB;AAED,wDAAwD;AACxD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,CAU1E;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,YAAY,EAAE,MAAM,EAAE,EACtB,IAAI,CAAC,EAAE,MAAM,GACZ,MAAM,CAgCR;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAa/E"}