@hed-hog/core 0.0.399 → 0.0.400

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 (668) hide show
  1. package/dist/ai/ai-agent.sort.d.ts +6 -0
  2. package/dist/ai/ai-agent.sort.d.ts.map +1 -0
  3. package/dist/ai/ai-agent.sort.js +21 -0
  4. package/dist/ai/ai-agent.sort.js.map +1 -0
  5. package/dist/ai/ai.controller.d.ts +4 -4
  6. package/dist/ai/ai.service.d.ts +35 -4
  7. package/dist/ai/ai.service.d.ts.map +1 -1
  8. package/dist/ai/ai.service.js +51 -137
  9. package/dist/ai/ai.service.js.map +1 -1
  10. package/dist/ai-instruction/ai-instruction.service.d.ts.map +1 -1
  11. package/dist/ai-instruction/ai-instruction.service.js +26 -23
  12. package/dist/ai-instruction/ai-instruction.service.js.map +1 -1
  13. package/dist/ai-instruction/ai-instruction.sort.d.ts +16 -0
  14. package/dist/ai-instruction/ai-instruction.sort.d.ts.map +1 -0
  15. package/dist/ai-instruction/ai-instruction.sort.js +32 -0
  16. package/dist/ai-instruction/ai-instruction.sort.js.map +1 -0
  17. package/dist/auth/auth.controller.d.ts +24 -8
  18. package/dist/auth/auth.controller.d.ts.map +1 -1
  19. package/dist/auth/auth.module.d.ts.map +1 -1
  20. package/dist/auth/auth.module.js +8 -1
  21. package/dist/auth/auth.module.js.map +1 -1
  22. package/dist/auth/auth.service.d.ts +72 -25
  23. package/dist/auth/auth.service.d.ts.map +1 -1
  24. package/dist/auth/auth.service.js +41 -4
  25. package/dist/auth/auth.service.js.map +1 -1
  26. package/dist/auth/guards/auth.guard.d.ts +3 -1
  27. package/dist/auth/guards/auth.guard.d.ts.map +1 -1
  28. package/dist/auth/guards/auth.guard.js +12 -3
  29. package/dist/auth/guards/auth.guard.js.map +1 -1
  30. package/dist/authorize/authorize.controller.d.ts +29 -5
  31. package/dist/authorize/authorize.controller.d.ts.map +1 -1
  32. package/dist/authorize/authorize.controller.js +120 -13
  33. package/dist/authorize/authorize.controller.js.map +1 -1
  34. package/dist/authorize/authorize.errors.d.ts +34 -0
  35. package/dist/authorize/authorize.errors.d.ts.map +1 -0
  36. package/dist/authorize/authorize.errors.js +37 -0
  37. package/dist/authorize/authorize.errors.js.map +1 -0
  38. package/dist/authorize/authorize.module.d.ts.map +1 -1
  39. package/dist/authorize/authorize.module.js +6 -1
  40. package/dist/authorize/authorize.module.js.map +1 -1
  41. package/dist/authorize/authorize.service.d.ts +77 -3
  42. package/dist/authorize/authorize.service.d.ts.map +1 -1
  43. package/dist/authorize/authorize.service.js +212 -21
  44. package/dist/authorize/authorize.service.js.map +1 -1
  45. package/dist/authorize/dto/authorize-info.dto.d.ts +10 -1
  46. package/dist/authorize/dto/authorize-info.dto.d.ts.map +1 -1
  47. package/dist/authorize/dto/authorize-info.dto.js +16 -1
  48. package/dist/authorize/dto/authorize-info.dto.js.map +1 -1
  49. package/dist/authorize/dto/consent.dto.d.ts +10 -1
  50. package/dist/authorize/dto/consent.dto.d.ts.map +1 -1
  51. package/dist/authorize/dto/consent.dto.js +16 -1
  52. package/dist/authorize/dto/consent.dto.js.map +1 -1
  53. package/dist/authorize/dto/token.dto.d.ts +12 -0
  54. package/dist/authorize/dto/token.dto.d.ts.map +1 -1
  55. package/dist/authorize/dto/token.dto.js +21 -1
  56. package/dist/authorize/dto/token.dto.js.map +1 -1
  57. package/dist/authorize/oauth-exception.filter.d.ts +17 -0
  58. package/dist/authorize/oauth-exception.filter.d.ts.map +1 -0
  59. package/dist/authorize/oauth-exception.filter.js +54 -0
  60. package/dist/authorize/oauth-exception.filter.js.map +1 -0
  61. package/dist/authorize/oauth-metadata.service.d.ts +39 -0
  62. package/dist/authorize/oauth-metadata.service.d.ts.map +1 -0
  63. package/dist/authorize/oauth-metadata.service.js +81 -0
  64. package/dist/authorize/oauth-metadata.service.js.map +1 -0
  65. package/dist/authorize/well-known.controller.d.ts +67 -0
  66. package/dist/authorize/well-known.controller.d.ts.map +1 -0
  67. package/dist/authorize/well-known.controller.js +126 -0
  68. package/dist/authorize/well-known.controller.js.map +1 -0
  69. package/dist/captcha/captcha.service.d.ts +32 -2
  70. package/dist/captcha/captcha.service.d.ts.map +1 -1
  71. package/dist/captcha/captcha.service.js +85 -12
  72. package/dist/captcha/captcha.service.js.map +1 -1
  73. package/dist/challenge/challenge.service.d.ts +2 -2
  74. package/dist/core.module.d.ts.map +1 -1
  75. package/dist/core.module.js +6 -0
  76. package/dist/core.module.js.map +1 -1
  77. package/dist/dashboard/dashboard/dashboard.controller.d.ts +9 -9
  78. package/dist/dashboard/dashboard/dashboard.service.d.ts +9 -9
  79. package/dist/dashboard/dashboard-component/dashboard-component.controller.d.ts +3 -3
  80. package/dist/dashboard/dashboard-component/dashboard-component.service.d.ts +3 -3
  81. package/dist/dashboard/dashboard-component-role/dashboard-component-role.controller.d.ts +3 -3
  82. package/dist/dashboard/dashboard-component-role/dashboard-component-role.service.d.ts +3 -3
  83. package/dist/dashboard/dashboard-component-role/dashboard-component-role.service.d.ts.map +1 -1
  84. package/dist/dashboard/dashboard-component-role/dashboard-component-role.service.js +2 -4
  85. package/dist/dashboard/dashboard-component-role/dashboard-component-role.service.js.map +1 -1
  86. package/dist/dashboard/dashboard-component-role/dashboard-component-role.sort.d.ts +8 -0
  87. package/dist/dashboard/dashboard-component-role/dashboard-component-role.sort.d.ts.map +1 -0
  88. package/dist/dashboard/dashboard-component-role/dashboard-component-role.sort.js +18 -0
  89. package/dist/dashboard/dashboard-component-role/dashboard-component-role.sort.js.map +1 -0
  90. package/dist/dashboard/dashboard-item/dashboard-item.service.d.ts.map +1 -1
  91. package/dist/dashboard/dashboard-item/dashboard-item.service.js +2 -4
  92. package/dist/dashboard/dashboard-item/dashboard-item.service.js.map +1 -1
  93. package/dist/dashboard/dashboard-item/dashboard-item.sort.d.ts +9 -0
  94. package/dist/dashboard/dashboard-item/dashboard-item.sort.d.ts.map +1 -0
  95. package/dist/dashboard/dashboard-item/dashboard-item.sort.js +19 -0
  96. package/dist/dashboard/dashboard-item/dashboard-item.sort.js.map +1 -0
  97. package/dist/dashboard/dashboard-role/dashboard-role.controller.d.ts +3 -3
  98. package/dist/dashboard/dashboard-role/dashboard-role.service.d.ts +3 -3
  99. package/dist/dashboard/dashboard-role/dashboard-role.service.d.ts.map +1 -1
  100. package/dist/dashboard/dashboard-role/dashboard-role.service.js +2 -4
  101. package/dist/dashboard/dashboard-role/dashboard-role.service.js.map +1 -1
  102. package/dist/dashboard/dashboard-role/dashboard-role.sort.d.ts +8 -0
  103. package/dist/dashboard/dashboard-role/dashboard-role.sort.d.ts.map +1 -0
  104. package/dist/dashboard/dashboard-role/dashboard-role.sort.js +16 -0
  105. package/dist/dashboard/dashboard-role/dashboard-role.sort.js.map +1 -0
  106. package/dist/file/file-upload-ticket.service.d.ts +160 -0
  107. package/dist/file/file-upload-ticket.service.d.ts.map +1 -0
  108. package/dist/file/file-upload-ticket.service.js +382 -0
  109. package/dist/file/file-upload-ticket.service.js.map +1 -0
  110. package/dist/file/file.controller.d.ts +24 -1
  111. package/dist/file/file.controller.d.ts.map +1 -1
  112. package/dist/file/file.controller.js +63 -2
  113. package/dist/file/file.controller.js.map +1 -1
  114. package/dist/file/file.module.d.ts.map +1 -1
  115. package/dist/file/file.module.js +14 -2
  116. package/dist/file/file.module.js.map +1 -1
  117. package/dist/file/file.service.d.ts +182 -6
  118. package/dist/file/file.service.d.ts.map +1 -1
  119. package/dist/file/file.service.js +386 -54
  120. package/dist/file/file.service.js.map +1 -1
  121. package/dist/file/filename-encoding.util.d.ts +24 -0
  122. package/dist/file/filename-encoding.util.d.ts.map +1 -0
  123. package/dist/file/filename-encoding.util.js +63 -0
  124. package/dist/file/filename-encoding.util.js.map +1 -0
  125. package/dist/file/image-optimization.service.d.ts +27 -0
  126. package/dist/file/image-optimization.service.d.ts.map +1 -1
  127. package/dist/file/image-optimization.service.js +63 -14
  128. package/dist/file/image-optimization.service.js.map +1 -1
  129. package/dist/file/mcp-file-source.schema.d.ts +33 -0
  130. package/dist/file/mcp-file-source.schema.d.ts.map +1 -0
  131. package/dist/file/mcp-file-source.schema.js +75 -0
  132. package/dist/file/mcp-file-source.schema.js.map +1 -0
  133. package/dist/file/mcp-file-source.service.d.ts +124 -0
  134. package/dist/file/mcp-file-source.service.d.ts.map +1 -0
  135. package/dist/file/mcp-file-source.service.js +262 -0
  136. package/dist/file/mcp-file-source.service.js.map +1 -0
  137. package/dist/file/mimetype-sniff.util.d.ts +62 -0
  138. package/dist/file/mimetype-sniff.util.d.ts.map +1 -0
  139. package/dist/file/mimetype-sniff.util.js +226 -0
  140. package/dist/file/mimetype-sniff.util.js.map +1 -0
  141. package/dist/file/remote-fetch.util.d.ts +35 -0
  142. package/dist/file/remote-fetch.util.d.ts.map +1 -0
  143. package/dist/file/remote-fetch.util.js +236 -0
  144. package/dist/file/remote-fetch.util.js.map +1 -0
  145. package/dist/impersonation/dto/start-impersonation.dto.d.ts +4 -1
  146. package/dist/impersonation/dto/start-impersonation.dto.d.ts.map +1 -1
  147. package/dist/impersonation/dto/start-impersonation.dto.js +1 -1
  148. package/dist/impersonation/dto/start-impersonation.dto.js.map +1 -1
  149. package/dist/impersonation/impersonation.service.d.ts +8 -3
  150. package/dist/impersonation/impersonation.service.d.ts.map +1 -1
  151. package/dist/impersonation/impersonation.service.js +14 -4
  152. package/dist/impersonation/impersonation.service.js.map +1 -1
  153. package/dist/incident/incident.controller.d.ts +2 -1
  154. package/dist/incident/incident.controller.d.ts.map +1 -1
  155. package/dist/incident/incident.controller.js +10 -6
  156. package/dist/incident/incident.controller.js.map +1 -1
  157. package/dist/incident/incident.service.d.ts +2 -0
  158. package/dist/incident/incident.service.d.ts.map +1 -1
  159. package/dist/incident/incident.service.js +4 -0
  160. package/dist/incident/incident.service.js.map +1 -1
  161. package/dist/index.d.ts +17 -0
  162. package/dist/index.d.ts.map +1 -1
  163. package/dist/index.js +17 -0
  164. package/dist/index.js.map +1 -1
  165. package/dist/integration-profile/integration-profile.secrets.d.ts.map +1 -1
  166. package/dist/integration-profile/integration-profile.secrets.js +7 -0
  167. package/dist/integration-profile/integration-profile.secrets.js.map +1 -1
  168. package/dist/integration-profile/integration-profile.service.d.ts +0 -13
  169. package/dist/integration-profile/integration-profile.service.d.ts.map +1 -1
  170. package/dist/integration-profile/integration-profile.service.js +5 -40
  171. package/dist/integration-profile/integration-profile.service.js.map +1 -1
  172. package/dist/integration-profile/integration-profile.utils.js +5 -5
  173. package/dist/integration-profile/integration-profile.utils.js.map +1 -1
  174. package/dist/integration-profile/testers/index.d.ts.map +1 -1
  175. package/dist/integration-profile/testers/index.js +2 -0
  176. package/dist/integration-profile/testers/index.js.map +1 -1
  177. package/dist/integration-profile/testers/shipping.testers.d.ts +3 -0
  178. package/dist/integration-profile/testers/shipping.testers.d.ts.map +1 -0
  179. package/dist/integration-profile/testers/shipping.testers.js +71 -0
  180. package/dist/integration-profile/testers/shipping.testers.js.map +1 -0
  181. package/dist/locale/locale.controller.d.ts +1 -1
  182. package/dist/locale/locale.service.d.ts +1 -1
  183. package/dist/mail/dto/send.dto.d.ts +6 -1
  184. package/dist/mail/dto/send.dto.d.ts.map +1 -1
  185. package/dist/mail/dto/send.dto.js.map +1 -1
  186. package/dist/mail/mail.service.d.ts +9 -0
  187. package/dist/mail/mail.service.d.ts.map +1 -1
  188. package/dist/mail/mail.service.js +34 -14
  189. package/dist/mail/mail.service.js.map +1 -1
  190. package/dist/mail-sent/mail-sent.controller.d.ts +1 -1
  191. package/dist/mail-sent/mail-sent.service.d.ts +1 -1
  192. package/dist/mail-sent/mail-sent.service.d.ts.map +1 -1
  193. package/dist/mail-sent/mail-sent.service.js +2 -1
  194. package/dist/mail-sent/mail-sent.service.js.map +1 -1
  195. package/dist/mail-sent/mail-sent.sort.d.ts +9 -0
  196. package/dist/mail-sent/mail-sent.sort.d.ts.map +1 -0
  197. package/dist/mail-sent/mail-sent.sort.js +19 -0
  198. package/dist/mail-sent/mail-sent.sort.js.map +1 -0
  199. package/dist/mcp/filters/mcp-challenge.filter.d.ts +20 -0
  200. package/dist/mcp/filters/mcp-challenge.filter.d.ts.map +1 -0
  201. package/dist/mcp/filters/mcp-challenge.filter.js +69 -0
  202. package/dist/mcp/filters/mcp-challenge.filter.js.map +1 -0
  203. package/dist/mcp/guards/mcp-auth.guard.d.ts +4 -1
  204. package/dist/mcp/guards/mcp-auth.guard.d.ts.map +1 -1
  205. package/dist/mcp/guards/mcp-auth.guard.js +19 -5
  206. package/dist/mcp/guards/mcp-auth.guard.js.map +1 -1
  207. package/dist/mcp/guards/mcp-permission.guard.d.ts +25 -3
  208. package/dist/mcp/guards/mcp-permission.guard.d.ts.map +1 -1
  209. package/dist/mcp/guards/mcp-permission.guard.js +46 -26
  210. package/dist/mcp/guards/mcp-permission.guard.js.map +1 -1
  211. package/dist/mcp/mcp-audit.service.d.ts +17 -0
  212. package/dist/mcp/mcp-audit.service.d.ts.map +1 -1
  213. package/dist/mcp/mcp-audit.service.js +32 -3
  214. package/dist/mcp/mcp-audit.service.js.map +1 -1
  215. package/dist/mcp/mcp-permission.service.d.ts +64 -0
  216. package/dist/mcp/mcp-permission.service.d.ts.map +1 -0
  217. package/dist/mcp/mcp-permission.service.js +178 -0
  218. package/dist/mcp/mcp-permission.service.js.map +1 -0
  219. package/dist/mcp/mcp-server.service.d.ts +3 -1
  220. package/dist/mcp/mcp-server.service.d.ts.map +1 -1
  221. package/dist/mcp/mcp-server.service.js +36 -15
  222. package/dist/mcp/mcp-server.service.js.map +1 -1
  223. package/dist/mcp/mcp.controller.d.ts.map +1 -1
  224. package/dist/mcp/mcp.controller.js +10 -2
  225. package/dist/mcp/mcp.controller.js.map +1 -1
  226. package/dist/mcp/mcp.module.d.ts.map +1 -1
  227. package/dist/mcp/mcp.module.js +5 -1
  228. package/dist/mcp/mcp.module.js.map +1 -1
  229. package/dist/mcp/tools/core-ai.mcp-tools.js +2 -9
  230. package/dist/mcp/tools/core-ai.mcp-tools.js.map +1 -1
  231. package/dist/mcp/tools/core-dashboard-items.mcp-tools.js +1 -1
  232. package/dist/mcp/tools/core-dashboard-items.mcp-tools.js.map +1 -1
  233. package/dist/mcp/tools/core-dashboard.mcp-tools.js +2 -9
  234. package/dist/mcp/tools/core-dashboard.mcp-tools.js.map +1 -1
  235. package/dist/mcp/tools/core-event-webhooks.mcp-tools.d.ts.map +1 -1
  236. package/dist/mcp/tools/core-event-webhooks.mcp-tools.js +2 -10
  237. package/dist/mcp/tools/core-event-webhooks.mcp-tools.js.map +1 -1
  238. package/dist/mcp/tools/core-files.mcp-tools.d.ts +17 -5
  239. package/dist/mcp/tools/core-files.mcp-tools.d.ts.map +1 -1
  240. package/dist/mcp/tools/core-files.mcp-tools.js +186 -24
  241. package/dist/mcp/tools/core-files.mcp-tools.js.map +1 -1
  242. package/dist/mcp/tools/core-integration-events.mcp-tools.js +2 -9
  243. package/dist/mcp/tools/core-integration-events.mcp-tools.js.map +1 -1
  244. package/dist/mcp/tools/core-mail-sent.mcp-tools.js +2 -14
  245. package/dist/mcp/tools/core-mail-sent.mcp-tools.js.map +1 -1
  246. package/dist/mcp/tools/core-mail.mcp-tools.js +2 -9
  247. package/dist/mcp/tools/core-mail.mcp-tools.js.map +1 -1
  248. package/dist/mcp/tools/core-menus.mcp-tools.d.ts.map +1 -1
  249. package/dist/mcp/tools/core-menus.mcp-tools.js +2 -10
  250. package/dist/mcp/tools/core-menus.mcp-tools.js.map +1 -1
  251. package/dist/mcp/tools/core-notifications.mcp-tools.d.ts.map +1 -1
  252. package/dist/mcp/tools/core-notifications.mcp-tools.js +0 -1
  253. package/dist/mcp/tools/core-notifications.mcp-tools.js.map +1 -1
  254. package/dist/mcp/tools/core-roles.mcp-tools.d.ts.map +1 -1
  255. package/dist/mcp/tools/core-roles.mcp-tools.js +2 -13
  256. package/dist/mcp/tools/core-roles.mcp-tools.js.map +1 -1
  257. package/dist/mcp/tools/core-routes.mcp-tools.d.ts.map +1 -1
  258. package/dist/mcp/tools/core-routes.mcp-tools.js +2 -11
  259. package/dist/mcp/tools/core-routes.mcp-tools.js.map +1 -1
  260. package/dist/mcp/tools/core-screens.mcp-tools.d.ts.map +1 -1
  261. package/dist/mcp/tools/core-screens.mcp-tools.js +2 -11
  262. package/dist/mcp/tools/core-screens.mcp-tools.js.map +1 -1
  263. package/dist/mcp/tools/core-sessions.mcp-tools.d.ts.map +1 -1
  264. package/dist/mcp/tools/core-sessions.mcp-tools.js +0 -2
  265. package/dist/mcp/tools/core-sessions.mcp-tools.js.map +1 -1
  266. package/dist/mcp/tools/core-settings.mcp-tools.d.ts.map +1 -1
  267. package/dist/mcp/tools/core-settings.mcp-tools.js +2 -10
  268. package/dist/mcp/tools/core-settings.mcp-tools.js.map +1 -1
  269. package/dist/mcp/tools/core-users.mcp-tools.js +2 -9
  270. package/dist/mcp/tools/core-users.mcp-tools.js.map +1 -1
  271. package/dist/mcp/tools/core-webhooks.mcp-tools.d.ts.map +1 -1
  272. package/dist/mcp/tools/core-webhooks.mcp-tools.js +2 -10
  273. package/dist/mcp/tools/core-webhooks.mcp-tools.js.map +1 -1
  274. package/dist/mcp/types/mcp-context.type.d.ts +9 -0
  275. package/dist/mcp/types/mcp-context.type.d.ts.map +1 -1
  276. package/dist/mcp-chat/mcp-chat.service.d.ts.map +1 -1
  277. package/dist/mcp-chat/mcp-chat.service.js +8 -0
  278. package/dist/mcp-chat/mcp-chat.service.js.map +1 -1
  279. package/dist/meeting/meeting-provider.registry.d.ts +115 -0
  280. package/dist/meeting/meeting-provider.registry.d.ts.map +1 -1
  281. package/dist/meeting/meeting-provider.registry.js.map +1 -1
  282. package/dist/meeting/meeting.constants.d.ts +70 -0
  283. package/dist/meeting/meeting.constants.d.ts.map +1 -1
  284. package/dist/meeting/meeting.constants.js +9 -1
  285. package/dist/meeting/meeting.constants.js.map +1 -1
  286. package/dist/menu/menu.service.d.ts.map +1 -1
  287. package/dist/menu/menu.service.js +29 -9
  288. package/dist/menu/menu.service.js.map +1 -1
  289. package/dist/message-template/dto/update-message-template.dto.d.ts +18 -0
  290. package/dist/message-template/dto/update-message-template.dto.d.ts.map +1 -0
  291. package/dist/message-template/dto/update-message-template.dto.js +38 -0
  292. package/dist/message-template/dto/update-message-template.dto.js.map +1 -0
  293. package/dist/message-template/message-template-admin.service.d.ts +70 -0
  294. package/dist/message-template/message-template-admin.service.d.ts.map +1 -0
  295. package/dist/message-template/message-template-admin.service.js +226 -0
  296. package/dist/message-template/message-template-admin.service.js.map +1 -0
  297. package/dist/message-template/message-template.controller.d.ts +29 -0
  298. package/dist/message-template/message-template.controller.d.ts.map +1 -0
  299. package/dist/message-template/message-template.controller.js +101 -0
  300. package/dist/message-template/message-template.controller.js.map +1 -0
  301. package/dist/message-template/message-template.module.d.ts +10 -0
  302. package/dist/message-template/message-template.module.d.ts.map +1 -0
  303. package/dist/message-template/message-template.module.js +33 -0
  304. package/dist/message-template/message-template.module.js.map +1 -0
  305. package/dist/message-template/message-template.registry.d.ts +55 -0
  306. package/dist/message-template/message-template.registry.d.ts.map +1 -0
  307. package/dist/message-template/message-template.registry.js +64 -0
  308. package/dist/message-template/message-template.registry.js.map +1 -0
  309. package/dist/message-template/message-template.service.d.ts +59 -0
  310. package/dist/message-template/message-template.service.d.ts.map +1 -0
  311. package/dist/message-template/message-template.service.js +166 -0
  312. package/dist/message-template/message-template.service.js.map +1 -0
  313. package/dist/notification/notification.constants.d.ts +11 -0
  314. package/dist/notification/notification.constants.d.ts.map +1 -0
  315. package/dist/notification/notification.constants.js +14 -0
  316. package/dist/notification/notification.constants.js.map +1 -0
  317. package/dist/notification/notification.controller.d.ts +20 -20
  318. package/dist/notification/notification.module.d.ts.map +1 -1
  319. package/dist/notification/notification.module.js +3 -0
  320. package/dist/notification/notification.module.js.map +1 -1
  321. package/dist/notification/notification.service.d.ts +33 -21
  322. package/dist/notification/notification.service.d.ts.map +1 -1
  323. package/dist/notification/notification.service.js +36 -2
  324. package/dist/notification/notification.service.js.map +1 -1
  325. package/dist/oauth/oauth.controller.d.ts +4 -6
  326. package/dist/oauth/oauth.controller.d.ts.map +1 -1
  327. package/dist/oauth/oauth.controller.js +0 -1
  328. package/dist/oauth/oauth.controller.js.map +1 -1
  329. package/dist/oauth/oauth.errors.d.ts +15 -1
  330. package/dist/oauth/oauth.errors.d.ts.map +1 -1
  331. package/dist/oauth/oauth.errors.js +9 -1
  332. package/dist/oauth/oauth.errors.js.map +1 -1
  333. package/dist/oauth/oauth.module.d.ts.map +1 -1
  334. package/dist/oauth/oauth.module.js +6 -1
  335. package/dist/oauth/oauth.module.js.map +1 -1
  336. package/dist/oauth/oauth.service.d.ts +25 -5
  337. package/dist/oauth/oauth.service.d.ts.map +1 -1
  338. package/dist/oauth/oauth.service.js +63 -27
  339. package/dist/oauth/oauth.service.js.map +1 -1
  340. package/dist/oauth/providers/abstract.provider.d.ts +10 -0
  341. package/dist/oauth/providers/abstract.provider.d.ts.map +1 -1
  342. package/dist/oauth/providers/abstract.provider.js +39 -12
  343. package/dist/oauth/providers/abstract.provider.js.map +1 -1
  344. package/dist/oauth/providers/github.provider.d.ts +1 -1
  345. package/dist/oauth/providers/github.provider.d.ts.map +1 -1
  346. package/dist/oauth/providers/github.provider.js +48 -22
  347. package/dist/oauth/providers/github.provider.js.map +1 -1
  348. package/dist/oauth/providers/microsoft-entra-id.provider.d.ts.map +1 -1
  349. package/dist/oauth/providers/microsoft-entra-id.provider.js +6 -0
  350. package/dist/oauth/providers/microsoft-entra-id.provider.js.map +1 -1
  351. package/dist/observability/monitored-cron.d.ts +29 -12
  352. package/dist/observability/monitored-cron.d.ts.map +1 -1
  353. package/dist/observability/monitored-cron.js +131 -46
  354. package/dist/observability/monitored-cron.js.map +1 -1
  355. package/dist/pairing/pairing.service.d.ts +6 -2
  356. package/dist/pairing/pairing.service.d.ts.map +1 -1
  357. package/dist/profile/dto/change-password.dto.d.ts.map +1 -1
  358. package/dist/profile/dto/change-password.dto.js +4 -6
  359. package/dist/profile/dto/change-password.dto.js.map +1 -1
  360. package/dist/profile/profile.controller.d.ts +1 -1
  361. package/dist/profile/profile.service.d.ts +1 -1
  362. package/dist/profile/profile.service.d.ts.map +1 -1
  363. package/dist/profile/profile.service.js +9 -3
  364. package/dist/profile/profile.service.js.map +1 -1
  365. package/dist/realtime/realtime-tick.coalescer.d.ts +34 -0
  366. package/dist/realtime/realtime-tick.coalescer.d.ts.map +1 -0
  367. package/dist/realtime/realtime-tick.coalescer.js +60 -0
  368. package/dist/realtime/realtime-tick.coalescer.js.map +1 -0
  369. package/dist/realtime/realtime.service.d.ts +2 -0
  370. package/dist/realtime/realtime.service.d.ts.map +1 -1
  371. package/dist/realtime/realtime.service.js +22 -2
  372. package/dist/realtime/realtime.service.js.map +1 -1
  373. package/dist/redis/redis-kv.service.d.ts +90 -0
  374. package/dist/redis/redis-kv.service.d.ts.map +1 -0
  375. package/dist/redis/redis-kv.service.js +247 -0
  376. package/dist/redis/redis-kv.service.js.map +1 -0
  377. package/dist/redis/redis-master.d.ts +29 -0
  378. package/dist/redis/redis-master.d.ts.map +1 -0
  379. package/dist/redis/redis-master.js +81 -0
  380. package/dist/redis/redis-master.js.map +1 -0
  381. package/dist/redis/redis-pubsub.d.ts +12 -0
  382. package/dist/redis/redis-pubsub.d.ts.map +1 -1
  383. package/dist/redis/redis-pubsub.js +25 -2
  384. package/dist/redis/redis-pubsub.js.map +1 -1
  385. package/dist/redis/redis.module.d.ts +11 -0
  386. package/dist/redis/redis.module.d.ts.map +1 -0
  387. package/dist/redis/redis.module.js +30 -0
  388. package/dist/redis/redis.module.js.map +1 -0
  389. package/dist/session/session.controller.d.ts +6 -2
  390. package/dist/session/session.controller.d.ts.map +1 -1
  391. package/dist/session/session.service.d.ts +118 -15
  392. package/dist/session/session.service.d.ts.map +1 -1
  393. package/dist/session/session.service.js +251 -77
  394. package/dist/session/session.service.js.map +1 -1
  395. package/dist/setting/setting.controller.d.ts +5 -0
  396. package/dist/setting/setting.controller.d.ts.map +1 -1
  397. package/dist/setting/setting.service.d.ts +7 -0
  398. package/dist/setting/setting.service.d.ts.map +1 -1
  399. package/dist/setting/setting.service.js +38 -3
  400. package/dist/setting/setting.service.js.map +1 -1
  401. package/dist/task/task.service.d.ts +17 -0
  402. package/dist/task/task.service.d.ts.map +1 -1
  403. package/dist/task/task.service.js +48 -13
  404. package/dist/task/task.service.js.map +1 -1
  405. package/dist/token/token.service.d.ts +19 -1
  406. package/dist/token/token.service.d.ts.map +1 -1
  407. package/dist/token/token.service.js +39 -2
  408. package/dist/token/token.service.js.map +1 -1
  409. package/dist/user/user-credential.util.d.ts +10 -0
  410. package/dist/user/user-credential.util.d.ts.map +1 -1
  411. package/dist/user/user-credential.util.js +14 -1
  412. package/dist/user/user-credential.util.js.map +1 -1
  413. package/dist/user/user.service.d.ts +12 -4
  414. package/dist/user/user.service.d.ts.map +1 -1
  415. package/dist/user/user.service.js +2 -11
  416. package/dist/user/user.service.js.map +1 -1
  417. package/dist/user/user.sort.d.ts +16 -0
  418. package/dist/user/user.sort.d.ts.map +1 -0
  419. package/dist/user/user.sort.js +25 -0
  420. package/dist/user/user.sort.js.map +1 -0
  421. package/dist/utils/abbreviate-name.d.ts +13 -0
  422. package/dist/utils/abbreviate-name.d.ts.map +1 -0
  423. package/dist/utils/abbreviate-name.js +42 -0
  424. package/dist/utils/abbreviate-name.js.map +1 -0
  425. package/dist/utils/date-range-query.dto.d.ts +11 -0
  426. package/dist/utils/date-range-query.dto.d.ts.map +1 -0
  427. package/dist/utils/date-range-query.dto.js +63 -0
  428. package/dist/utils/date-range-query.dto.js.map +1 -0
  429. package/dist/utils/date-range.d.ts +96 -0
  430. package/dist/utils/date-range.d.ts.map +1 -0
  431. package/dist/utils/date-range.js +172 -0
  432. package/dist/utils/date-range.js.map +1 -0
  433. package/dist/webhook-integration/webhook-utils.d.ts.map +1 -1
  434. package/dist/webhook-integration/webhook-utils.js +24 -0
  435. package/dist/webhook-integration/webhook-utils.js.map +1 -1
  436. package/dist/whatsapp-sender/whatsapp-recipients.d.ts +49 -0
  437. package/dist/whatsapp-sender/whatsapp-recipients.d.ts.map +1 -0
  438. package/dist/whatsapp-sender/whatsapp-recipients.js +66 -0
  439. package/dist/whatsapp-sender/whatsapp-recipients.js.map +1 -0
  440. package/dist/whatsapp-sender/whatsapp-sender.service.d.ts +25 -0
  441. package/dist/whatsapp-sender/whatsapp-sender.service.d.ts.map +1 -1
  442. package/dist/whatsapp-sender/whatsapp-sender.service.js +46 -5
  443. package/dist/whatsapp-sender/whatsapp-sender.service.js.map +1 -1
  444. package/hedhog/data/integration_provider.yaml +9 -0
  445. package/hedhog/data/integration_type.yaml +6 -0
  446. package/hedhog/data/locale.yaml +0 -1
  447. package/hedhog/data/mail.yaml +2 -2
  448. package/hedhog/data/mail_layout.yaml +6 -3
  449. package/hedhog/data/menu.yaml +25 -5
  450. package/hedhog/data/route.yaml +140 -0
  451. package/hedhog/data/setting_group.yaml +137 -3
  452. package/hedhog/frontend/app/access-log/page.tsx.ejs +47 -53
  453. package/hedhog/frontend/app/account/components/active-sessions.tsx.ejs +33 -8
  454. package/hedhog/frontend/app/account/components/mcp-tokens.tsx.ejs +54 -13
  455. package/hedhog/frontend/app/account/components/mfa-method-card.tsx.ejs +7 -1
  456. package/hedhog/frontend/app/account/components/recovery-codes-dialog.tsx.ejs +1 -0
  457. package/hedhog/frontend/app/account/components/tokens.tsx.ejs +47 -17
  458. package/hedhog/frontend/app/ai_agent/page.tsx.ejs +46 -5
  459. package/hedhog/frontend/app/ai_instruction/_components/ai-instruction-form.tsx.ejs +101 -30
  460. package/hedhog/frontend/app/ai_instruction/_components/ai-instruction-versions.tsx.ejs +24 -8
  461. package/hedhog/frontend/app/ai_instruction/page.tsx.ejs +80 -15
  462. package/hedhog/frontend/app/configurations/[slug]/components/image-optimization-action.tsx.ejs +166 -0
  463. package/hedhog/frontend/app/configurations/[slug]/components/setting-field.test.tsx.ejs +145 -45
  464. package/hedhog/frontend/app/configurations/[slug]/components/setting-field.tsx.ejs +99 -219
  465. package/hedhog/frontend/app/configurations/[slug]/page.tsx.ejs +19 -1
  466. package/hedhog/frontend/app/configurations/layout.tsx.ejs +19 -5
  467. package/hedhog/frontend/app/dashboard/[slug]/widget-renderer.tsx.ejs +2 -8
  468. package/hedhog/frontend/app/dashboard/components/dynamic-widget.tsx.ejs +3 -0
  469. package/hedhog/frontend/app/dashboard/components/widget-wrapper.tsx.ejs +4 -0
  470. package/hedhog/frontend/app/dashboard/dashboard-home-tabs.tsx.ejs +43 -44
  471. package/hedhog/frontend/app/dashboard/management/tabs/component-roles-tab.tsx.ejs +41 -3
  472. package/hedhog/frontend/app/dashboard/management/tabs/components-tab.tsx.ejs +42 -2
  473. package/hedhog/frontend/app/dashboard/management/tabs/dashboard-roles-tab.tsx.ejs +41 -3
  474. package/hedhog/frontend/app/dashboard/management/tabs/dashboards-tab.tsx.ejs +39 -4
  475. package/hedhog/frontend/app/dashboard/management/tabs/items-tab.tsx.ejs +42 -3
  476. package/hedhog/frontend/app/incidents/page.tsx.ejs +60 -31
  477. package/hedhog/frontend/app/integration/profiles/page.tsx.ejs +45 -5
  478. package/hedhog/frontend/app/integrations-webhooks/page.tsx.ejs +92 -15
  479. package/hedhog/frontend/app/mail/log/page.tsx.ejs +109 -61
  480. package/hedhog/frontend/app/mail/template/page.tsx.ejs +125 -23
  481. package/hedhog/frontend/app/mcp_chat/chat-components.tsx.ejs +13 -15
  482. package/hedhog/frontend/app/mcp_chat/page.tsx.ejs +116 -110
  483. package/hedhog/frontend/app/message-templates/_components/message-template-sheet.tsx.ejs +245 -0
  484. package/hedhog/frontend/app/message-templates/_lib/types.ts.ejs +24 -0
  485. package/hedhog/frontend/app/message-templates/page.tsx.ejs +182 -0
  486. package/hedhog/frontend/app/pages/_components/page-wizard-sheet.tsx.ejs +1 -0
  487. package/hedhog/frontend/app/pages/page.tsx.ejs +94 -9
  488. package/hedhog/frontend/app/roles/menus.tsx.ejs +4 -4
  489. package/hedhog/frontend/app/roles/routes.tsx.ejs +4 -4
  490. package/hedhog/frontend/app/roles/users.tsx.ejs +4 -4
  491. package/hedhog/frontend/app/setting-list/page.tsx.ejs +71 -9
  492. package/hedhog/frontend/app/users/page.tsx.ejs +77 -67
  493. package/hedhog/frontend/messages/en.json +183 -36
  494. package/hedhog/frontend/messages/pt.json +183 -36
  495. package/hedhog/table/cron_lock.yaml +17 -0
  496. package/hedhog/table/file.yaml +13 -1
  497. package/hedhog/table/file_upload_chunk.yaml +23 -0
  498. package/hedhog/table/file_upload_ticket.yaml +67 -0
  499. package/hedhog/table/mcp_tool_call_log.yaml +30 -22
  500. package/hedhog/table/message_template.yaml +33 -0
  501. package/hedhog/table/setting.yaml +8 -0
  502. package/hedhog/table/user_session.yaml +36 -1
  503. package/package.json +7 -5
  504. package/src/ai/ai-agent.sort.ts +21 -0
  505. package/src/ai/ai.service.spec.ts +173 -1
  506. package/src/ai/ai.service.ts +64 -193
  507. package/src/ai-instruction/ai-instruction.service.ts +32 -28
  508. package/src/ai-instruction/ai-instruction.sort.ts +32 -0
  509. package/src/auth/auth.module.ts +8 -1
  510. package/src/auth/auth.service.spec.ts +108 -1
  511. package/src/auth/auth.service.ts +59 -5
  512. package/src/auth/guards/auth.guard.ts +9 -1
  513. package/src/authorize/authorize.controller.ts +126 -11
  514. package/src/authorize/authorize.errors.ts +55 -0
  515. package/src/authorize/authorize.module.ts +6 -1
  516. package/src/authorize/authorize.service.spec.ts +379 -7
  517. package/src/authorize/authorize.service.ts +309 -23
  518. package/src/authorize/dto/authorize-info.dto.ts +21 -3
  519. package/src/authorize/dto/consent.dto.ts +21 -3
  520. package/src/authorize/dto/token.dto.ts +24 -2
  521. package/src/authorize/oauth-exception.filter.ts +58 -0
  522. package/src/authorize/oauth-metadata.service.ts +67 -0
  523. package/src/authorize/well-known.controller.spec.ts +84 -0
  524. package/src/authorize/well-known.controller.ts +96 -0
  525. package/src/captcha/captcha.service.spec.ts +211 -4
  526. package/src/captcha/captcha.service.ts +127 -10
  527. package/src/core.module.ts +6 -0
  528. package/src/dashboard/dashboard-component-role/dashboard-component-role.service.ts +2 -3
  529. package/src/dashboard/dashboard-component-role/dashboard-component-role.sort.ts +18 -0
  530. package/src/dashboard/dashboard-item/dashboard-item.service.ts +2 -3
  531. package/src/dashboard/dashboard-item/dashboard-item.sort.ts +19 -0
  532. package/src/dashboard/dashboard-role/dashboard-role.service.ts +2 -3
  533. package/src/dashboard/dashboard-role/dashboard-role.sort.ts +16 -0
  534. package/src/file/file-upload-ticket.service.spec.ts +422 -0
  535. package/src/file/file-upload-ticket.service.ts +513 -0
  536. package/src/file/file.controller.ts +65 -0
  537. package/src/file/file.module.ts +14 -2
  538. package/src/file/file.service.spec.ts +94 -0
  539. package/src/file/file.service.ts +433 -53
  540. package/src/file/filename-encoding.util.spec.ts +54 -0
  541. package/src/file/filename-encoding.util.ts +67 -0
  542. package/src/file/image-optimization.service.spec.ts +156 -19
  543. package/src/file/image-optimization.service.ts +106 -21
  544. package/src/file/mcp-file-source.schema.ts +83 -0
  545. package/src/file/mcp-file-source.service.spec.ts +473 -0
  546. package/src/file/mcp-file-source.service.ts +445 -0
  547. package/src/file/mimetype-sniff.util.spec.ts +126 -0
  548. package/src/file/mimetype-sniff.util.ts +265 -0
  549. package/src/file/remote-fetch.util.spec.ts +117 -0
  550. package/src/file/remote-fetch.util.ts +330 -0
  551. package/src/impersonation/dto/start-impersonation.dto.ts +5 -2
  552. package/src/impersonation/impersonation.service.spec.ts +24 -1
  553. package/src/impersonation/impersonation.service.ts +14 -4
  554. package/src/incident/incident.controller.ts +9 -1
  555. package/src/incident/incident.service.ts +7 -0
  556. package/src/index.ts +17 -0
  557. package/src/integration-profile/integration-profile.secrets.ts +7 -0
  558. package/src/integration-profile/integration-profile.service.ts +7 -64
  559. package/src/integration-profile/integration-profile.utils.spec.ts +9 -0
  560. package/src/integration-profile/integration-profile.utils.ts +5 -5
  561. package/src/integration-profile/testers/index.ts +2 -0
  562. package/src/integration-profile/testers/remaining.testers.spec.ts +79 -0
  563. package/src/integration-profile/testers/shipping.testers.ts +94 -0
  564. package/src/mail/dto/send.dto.ts +6 -1
  565. package/src/mail/mail-template.spec.ts +58 -1
  566. package/src/mail/mail.service.spec.ts +112 -0
  567. package/src/mail/mail.service.ts +42 -4
  568. package/src/mail-sent/mail-sent.service.ts +3 -0
  569. package/src/mail-sent/mail-sent.sort.ts +19 -0
  570. package/src/mcp/filters/mcp-challenge.filter.spec.ts +76 -0
  571. package/src/mcp/filters/mcp-challenge.filter.ts +70 -0
  572. package/src/mcp/guards/mcp-auth.guard.spec.ts +51 -2
  573. package/src/mcp/guards/mcp-auth.guard.ts +24 -1
  574. package/src/mcp/guards/mcp-permission.guard.spec.ts +109 -15
  575. package/src/mcp/guards/mcp-permission.guard.ts +76 -51
  576. package/src/mcp/mcp-audit.service.spec.ts +107 -0
  577. package/src/mcp/mcp-audit.service.ts +37 -1
  578. package/src/mcp/mcp-permission.service.spec.ts +197 -0
  579. package/src/mcp/mcp-permission.service.ts +184 -0
  580. package/src/mcp/mcp-server.service.spec.ts +84 -2
  581. package/src/mcp/mcp-server.service.ts +111 -87
  582. package/src/mcp/mcp.controller.ts +8 -1
  583. package/src/mcp/mcp.module.ts +5 -1
  584. package/src/mcp/tools/core-ai.mcp-tools.ts +1 -1
  585. package/src/mcp/tools/core-dashboard-items.mcp-tools.ts +1 -1
  586. package/src/mcp/tools/core-dashboard.mcp-tools.ts +1 -1
  587. package/src/mcp/tools/core-event-webhooks.mcp-tools.ts +1 -2
  588. package/src/mcp/tools/core-files.mcp-tools.ts +202 -22
  589. package/src/mcp/tools/core-integration-events.mcp-tools.ts +1 -1
  590. package/src/mcp/tools/core-mail-sent.mcp-tools.ts +1 -1
  591. package/src/mcp/tools/core-mail.mcp-tools.ts +1 -1
  592. package/src/mcp/tools/core-menus.mcp-tools.ts +1 -2
  593. package/src/mcp/tools/core-notifications.mcp-tools.ts +0 -1
  594. package/src/mcp/tools/core-roles.mcp-tools.ts +1 -5
  595. package/src/mcp/tools/core-routes.mcp-tools.ts +1 -3
  596. package/src/mcp/tools/core-screens.mcp-tools.ts +1 -3
  597. package/src/mcp/tools/core-sessions.mcp-tools.ts +0 -2
  598. package/src/mcp/tools/core-settings.mcp-tools.ts +1 -2
  599. package/src/mcp/tools/core-users.mcp-tools.ts +1 -1
  600. package/src/mcp/tools/core-webhooks.mcp-tools.ts +1 -2
  601. package/src/mcp/types/mcp-context.type.ts +15 -6
  602. package/src/mcp-chat/mcp-chat.service.ts +8 -0
  603. package/src/meeting/meeting-provider.registry.ts +121 -0
  604. package/src/meeting/meeting.constants.ts +74 -0
  605. package/src/menu/menu.service.spec.ts +89 -0
  606. package/src/menu/menu.service.ts +29 -11
  607. package/src/message-template/dto/update-message-template.dto.ts +22 -0
  608. package/src/message-template/message-template-admin.service.spec.ts +163 -0
  609. package/src/message-template/message-template-admin.service.ts +239 -0
  610. package/src/message-template/message-template.controller.ts +52 -0
  611. package/src/message-template/message-template.module.ts +21 -0
  612. package/src/message-template/message-template.registry.spec.ts +62 -0
  613. package/src/message-template/message-template.registry.ts +125 -0
  614. package/src/message-template/message-template.service.spec.ts +149 -0
  615. package/src/message-template/message-template.service.ts +149 -0
  616. package/src/notification/notification.constants.ts +10 -0
  617. package/src/notification/notification.module.ts +3 -0
  618. package/src/notification/notification.service.spec.ts +75 -1
  619. package/src/notification/notification.service.ts +39 -1
  620. package/src/oauth/oauth.controller.ts +0 -1
  621. package/src/oauth/oauth.errors.ts +7 -0
  622. package/src/oauth/oauth.module.ts +6 -1
  623. package/src/oauth/oauth.service.spec.ts +58 -7
  624. package/src/oauth/oauth.service.ts +71 -32
  625. package/src/oauth/providers/abstract.provider.spec.ts +192 -0
  626. package/src/oauth/providers/abstract.provider.ts +46 -14
  627. package/src/oauth/providers/github.provider.ts +57 -34
  628. package/src/oauth/providers/microsoft-entra-id.provider.ts +8 -1
  629. package/src/observability/monitored-cron.spec.ts +164 -31
  630. package/src/observability/monitored-cron.ts +154 -62
  631. package/src/profile/dto/change-password.dto.ts +25 -7
  632. package/src/profile/profile.service.spec.ts +97 -0
  633. package/src/profile/profile.service.ts +9 -3
  634. package/src/realtime/realtime-tick.coalescer.spec.ts +92 -0
  635. package/src/realtime/realtime-tick.coalescer.ts +60 -0
  636. package/src/realtime/realtime.service.spec.ts +33 -0
  637. package/src/realtime/realtime.service.ts +28 -2
  638. package/src/redis/redis-kv.service.ts +261 -0
  639. package/src/redis/redis-master.spec.ts +111 -0
  640. package/src/redis/redis-master.ts +86 -0
  641. package/src/redis/redis-pubsub.ts +27 -3
  642. package/src/redis/redis.module.ts +17 -0
  643. package/src/session/session.service.spec.ts +121 -42
  644. package/src/session/session.service.ts +279 -82
  645. package/src/setting/setting.service.ts +44 -3
  646. package/src/task/task.service.spec.ts +41 -0
  647. package/src/task/task.service.ts +53 -13
  648. package/src/token/token.service.spec.ts +90 -0
  649. package/src/token/token.service.ts +48 -2
  650. package/src/user/user-credential.util.ts +14 -5
  651. package/src/user/user.service.ts +2 -12
  652. package/src/user/user.sort.ts +25 -0
  653. package/src/utils/abbreviate-name.spec.ts +50 -0
  654. package/src/utils/abbreviate-name.ts +44 -0
  655. package/src/utils/date-range-query.dto.ts +56 -0
  656. package/src/utils/date-range.spec.ts +175 -0
  657. package/src/utils/date-range.ts +246 -0
  658. package/src/webhook-integration/webhook-utils.spec.ts +67 -0
  659. package/src/webhook-integration/webhook-utils.ts +26 -0
  660. package/src/whatsapp-sender/whatsapp-recipients.spec.ts +89 -0
  661. package/src/whatsapp-sender/whatsapp-recipients.ts +83 -0
  662. package/src/whatsapp-sender/whatsapp-sender.service.spec.ts +112 -0
  663. package/src/whatsapp-sender/whatsapp-sender.service.ts +58 -5
  664. package/hedhog/query/device_pairing_request.sql +0 -46
  665. package/hedhog/query/impersonation_grant.sql +0 -71
  666. package/hedhog/query/oauth_authorize_pkce.sql +0 -58
  667. package/hedhog/query/oauth_mobile_state_token.sql +0 -30
  668. package/hedhog/query/oauth_web_ref_token.sql +0 -25
@@ -2,10 +2,12 @@ import { Request, Response } from 'express';
2
2
  import { DeleteDTO } from './dto/delete.dto';
3
3
  import { UploadFileDTO } from './dto/upload.dto';
4
4
  import { FileService } from './file.service';
5
+ import { FileUploadTicketService } from './file-upload-ticket.service';
5
6
  export declare class FileController {
6
7
  private readonly fileService;
8
+ private readonly uploadTickets;
7
9
  private readonly logger;
8
- constructor(fileService: FileService);
10
+ constructor(fileService: FileService, uploadTickets: FileUploadTicketService);
9
11
  private renderDownloadErrorHtml;
10
12
  list(paginationParams: any): Promise<{
11
13
  total: any;
@@ -27,6 +29,7 @@ export declare class FileController {
27
29
  mimetype_id: number;
28
30
  size: number;
29
31
  is_private: boolean;
32
+ created_by_user_id: number | null;
30
33
  }>;
31
34
  getTempOpenURL(id: number, req: Request): Promise<{
32
35
  url: string;
@@ -34,6 +37,25 @@ export declare class FileController {
34
37
  getTempURL(id: number, req: Request): Promise<{
35
38
  url: string;
36
39
  }>;
40
+ /**
41
+ * Recebe o binário de um upload aberto por `core.files.create-upload-url`.
42
+ *
43
+ * É `@Public()` porque a autorização é o próprio token: ele é assinado, vale por
44
+ * minutos, aponta para um único ticket e só serve uma vez. Existe para tirar o arquivo
45
+ * do corpo da chamada MCP — base64 de um PDF de 131 KB já passa de 175 mil caracteres,
46
+ * acima do que o modelo consegue emitir.
47
+ *
48
+ * O corpo é o binário cru, sem multipart: `express.json` não o toca porque o
49
+ * content-type não é JSON, e o stream vai direto para um arquivo temporário com
50
+ * contador de bytes, que é o que impede um corpo sem `Content-Length` de encher a
51
+ * memória do pod.
52
+ */
53
+ uploadSigned(token: string, req: Request): Promise<{
54
+ uploadId: number;
55
+ fileId: number;
56
+ filename: string;
57
+ size: number;
58
+ }>;
37
59
  download(token: string, res: Response, locale: string): Promise<void>;
38
60
  /**
39
61
  * `w`/`f`/`q` request a resized variant. Widths outside the configured
@@ -53,6 +75,7 @@ export declare class FileController {
53
75
  mimetype_id: number;
54
76
  size: number;
55
77
  is_private: boolean;
78
+ created_by_user_id: number | null;
56
79
  }>;
57
80
  delete(data: DeleteDTO, locale: string): Promise<number[]>;
58
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"file.controller.d.ts","sourceRoot":"","sources":["../../src/file/file.controller.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAO5C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAQ7C,qBAEa,cAAc;IAKvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAJ9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;gBAIvC,WAAW,EAAE,WAAW;IAG3C,OAAO,CAAC,uBAAuB;IAsCzB,IAAI,CAAe,gBAAgB,KAAA;;;;;;;;;IAKnC,IAAI,CAA4B,EAAE,KAAA;;;;;;;;;;;;IAKlC,cAAc,CACS,EAAE,EAAE,MAAM,EAC9B,GAAG,EAAE,OAAO;;;IAYb,UAAU,CACa,EAAE,EAAE,MAAM,EAC9B,GAAG,EAAE,OAAO;;;IAajB,QAAQ,CACI,KAAK,EAAE,MAAM,EACtB,GAAG,EAAE,QAAQ,EACV,MAAM,EAAE,MAAM;IA8B1B;;;;OAIG;IAGG,SAAS,CACc,EAAE,EAAE,MAAM,EAC9B,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACV,MAAM,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM;IAkBxB,IAAI,CACQ,KAAK,EAAE,MAAM,EACtB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACV,MAAM,EAAE,MAAM;IAyDpB,MAAM,CACM,IAAI,EAAE,UAAU,EACxB,IAAI,EAAE,aAAa;;;;;;;;;;;;IA6BvB,MAAM,CAAS,IAAI,EAAE,SAAS,EAAY,MAAM,EAAE,MAAM;CAG/D"}
1
+ {"version":3,"file":"file.controller.d.ts","sourceRoot":"","sources":["../../src/file/file.controller.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAO5C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAQvE,qBAEa,cAAc;IAKvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,aAAa;IANhC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;gBAIvC,WAAW,EAAE,WAAW,EAExB,aAAa,EAAE,uBAAuB;IAGzD,OAAO,CAAC,uBAAuB;IAsCzB,IAAI,CAAe,gBAAgB,KAAA;;;;;;;;;IAKnC,IAAI,CAA4B,EAAE,KAAA;;;;;;;;;;;;;IAKlC,cAAc,CACS,EAAE,EAAE,MAAM,EAC9B,GAAG,EAAE,OAAO;;;IAYb,UAAU,CACa,EAAE,EAAE,MAAM,EAC9B,GAAG,EAAE,OAAO;;;IAWvB;;;;;;;;;;;;OAYG;IAGG,YAAY,CAAiB,KAAK,EAAE,MAAM,EAAS,GAAG,EAAE,OAAO;;;;;;IAiD/D,QAAQ,CACI,KAAK,EAAE,MAAM,EACtB,GAAG,EAAE,QAAQ,EACV,MAAM,EAAE,MAAM;IA8B1B;;;;OAIG;IAGG,SAAS,CACc,EAAE,EAAE,MAAM,EAC9B,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACV,MAAM,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM;IAkBxB,IAAI,CACQ,KAAK,EAAE,MAAM,EACtB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACV,MAAM,EAAE,MAAM;IAyDpB,MAAM,CACM,IAAI,EAAE,UAAU,EACxB,IAAI,EAAE,aAAa;;;;;;;;;;;;;IA6BvB,MAAM,CAAS,IAAI,EAAE,SAAS,EAAY,MAAM,EAAE,MAAM;CAG/D"}
@@ -31,13 +31,15 @@ const path_1 = require("path");
31
31
  const delete_dto_1 = require("./dto/delete.dto");
32
32
  const upload_dto_1 = require("./dto/upload.dto");
33
33
  const file_service_1 = require("./file.service");
34
+ const file_upload_ticket_service_1 = require("./file-upload-ticket.service");
34
35
  // Teto duro do multipart, avaliado enquanto o corpo ainda está chegando. É
35
36
  // diferente do setting `storage-max-size`, que só roda depois do arquivo inteiro
36
37
  // já estar recebido e por isso nunca serviu de proteção de recurso.
37
38
  const MAX_UPLOAD_BYTES = Number(process.env.STORAGE_MAX_UPLOAD_BYTES) || 2 * 1024 * 1024 * 1024;
38
39
  let FileController = FileController_1 = class FileController {
39
- constructor(fileService) {
40
+ constructor(fileService, uploadTickets) {
40
41
  this.fileService = fileService;
42
+ this.uploadTickets = uploadTickets;
41
43
  this.logger = new common_1.Logger(FileController_1.name);
42
44
  }
43
45
  renderDownloadErrorHtml(locale, error) {
@@ -93,6 +95,54 @@ let FileController = FileController_1 = class FileController {
93
95
  url: `${origin}/file/download/${encodeURIComponent(token)}`,
94
96
  };
95
97
  }
98
+ /**
99
+ * Recebe o binário de um upload aberto por `core.files.create-upload-url`.
100
+ *
101
+ * É `@Public()` porque a autorização é o próprio token: ele é assinado, vale por
102
+ * minutos, aponta para um único ticket e só serve uma vez. Existe para tirar o arquivo
103
+ * do corpo da chamada MCP — base64 de um PDF de 131 KB já passa de 175 mil caracteres,
104
+ * acima do que o modelo consegue emitir.
105
+ *
106
+ * O corpo é o binário cru, sem multipart: `express.json` não o toca porque o
107
+ * content-type não é JSON, e o stream vai direto para um arquivo temporário com
108
+ * contador de bytes, que é o que impede um corpo sem `Content-Length` de encher a
109
+ * memória do pod.
110
+ */
111
+ async uploadSigned(token, req) {
112
+ const ticket = await this.uploadTickets.resolveTicketFromToken(token);
113
+ // Reivindica ANTES de gravar: dois PUTs simultâneos com o mesmo token subiriam os
114
+ // dois e deixariam um blob órfão no storage, além de dois registros para um ticket.
115
+ if (!(await this.uploadTickets.claim(ticket.id))) {
116
+ throw new common_1.BadRequestException(`Upload token already used or expired for ticket ${ticket.id}`);
117
+ }
118
+ const tempPath = (0, path_1.join)((0, os_1.tmpdir)(), `hedhog-upload-${ticket.id}-${Date.now()}`);
119
+ try {
120
+ // Uma passada só: grava, conta, hasheia e guarda o cabeçalho para o sniff.
121
+ const digest = await this.fileService.writeStreamToPath(req, tempPath, ticket.size_bytes);
122
+ await this.uploadTickets.assertContentMatchesTicket(ticket, digest);
123
+ const file = await this.fileService.uploadFromPath(ticket.destination, tempPath, {
124
+ originalname: ticket.filename,
125
+ mimetype: ticket.mimetype,
126
+ size: digest.bytes,
127
+ isPrivate: ticket.is_private,
128
+ createdByUserId: ticket.user_id,
129
+ });
130
+ await this.uploadTickets.attachFile(ticket.id, file.id);
131
+ return {
132
+ uploadId: ticket.id,
133
+ fileId: file.id,
134
+ filename: file.filename,
135
+ size: file.size,
136
+ };
137
+ }
138
+ catch (error) {
139
+ await this.uploadTickets.markFailed(ticket.id);
140
+ throw error;
141
+ }
142
+ finally {
143
+ await (0, promises_1.rm)(tempPath, { force: true }).catch(() => undefined);
144
+ }
145
+ }
96
146
  async download(token, res, locale) {
97
147
  try {
98
148
  const { stream, filename, mimetype, size } = await this.fileService.download(locale, token);
@@ -216,6 +266,15 @@ __decorate([
216
266
  __metadata("design:paramtypes", [Number, Object]),
217
267
  __metadata("design:returntype", Promise)
218
268
  ], FileController.prototype, "getTempURL", null);
269
+ __decorate([
270
+ (0, api_1.Public)(),
271
+ (0, common_1.Put)('upload/:token'),
272
+ __param(0, (0, common_1.Param)('token')),
273
+ __param(1, (0, common_1.Req)()),
274
+ __metadata("design:type", Function),
275
+ __metadata("design:paramtypes", [String, Object]),
276
+ __metadata("design:returntype", Promise)
277
+ ], FileController.prototype, "uploadSigned", null);
219
278
  __decorate([
220
279
  (0, api_1.Public)(),
221
280
  (0, common_1.Get)('download/:token'),
@@ -275,6 +334,8 @@ exports.FileController = FileController = FileController_1 = __decorate([
275
334
  (0, api_1.Role)(),
276
335
  (0, common_1.Controller)('file'),
277
336
  __param(0, (0, common_1.Inject)((0, common_1.forwardRef)(() => file_service_1.FileService))),
278
- __metadata("design:paramtypes", [file_service_1.FileService])
337
+ __param(1, (0, common_1.Inject)((0, common_1.forwardRef)(() => file_upload_ticket_service_1.FileUploadTicketService))),
338
+ __metadata("design:paramtypes", [file_service_1.FileService,
339
+ file_upload_ticket_service_1.FileUploadTicketService])
279
340
  ], FileController);
280
341
  //# sourceMappingURL=file.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file.controller.js","sourceRoot":"","sources":["../../src/file/file.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file.controller.js","sourceRoot":"","sources":["../../src/file/file.controller.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"file.module.d.ts","sourceRoot":"","sources":["../../src/file/file.module.ts"],"names":[],"mappings":"AASA,qBAaa,UAAU;CAAI"}
1
+ {"version":3,"file":"file.module.d.ts","sourceRoot":"","sources":["../../src/file/file.module.ts"],"names":[],"mappings":"AAWA,qBAuBa,UAAU;CAAI"}
@@ -14,7 +14,9 @@ const jwt_1 = require("@nestjs/jwt");
14
14
  const setting_module_1 = require("../setting/setting.module");
15
15
  const file_controller_1 = require("./file.controller");
16
16
  const file_service_1 = require("./file.service");
17
+ const file_upload_ticket_service_1 = require("./file-upload-ticket.service");
17
18
  const image_optimization_service_1 = require("./image-optimization.service");
19
+ const mcp_file_source_service_1 = require("./mcp-file-source.service");
18
20
  let FileModule = class FileModule {
19
21
  };
20
22
  exports.FileModule = FileModule;
@@ -26,8 +28,18 @@ exports.FileModule = FileModule = __decorate([
26
28
  (0, common_1.forwardRef)(() => setting_module_1.SettingModule),
27
29
  (0, common_1.forwardRef)(() => jwt_1.JwtModule),
28
30
  ],
29
- providers: [file_service_1.FileService, image_optimization_service_1.ImageOptimizationService],
30
- exports: [file_service_1.FileService, image_optimization_service_1.ImageOptimizationService],
31
+ providers: [
32
+ file_service_1.FileService,
33
+ image_optimization_service_1.ImageOptimizationService,
34
+ file_upload_ticket_service_1.FileUploadTicketService,
35
+ mcp_file_source_service_1.McpFileSourceService,
36
+ ],
37
+ exports: [
38
+ file_service_1.FileService,
39
+ image_optimization_service_1.ImageOptimizationService,
40
+ file_upload_ticket_service_1.FileUploadTicketService,
41
+ mcp_file_source_service_1.McpFileSourceService,
42
+ ],
31
43
  controllers: [file_controller_1.FileController],
32
44
  })
33
45
  ], FileModule);
@@ -1 +1 @@
1
- {"version":3,"file":"file.module.js","sourceRoot":"","sources":["../../src/file/file.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,4DAA2D;AAC3D,oDAAmD;AACnD,2CAAoD;AACpD,qCAAwC;AACxC,8DAA0D;AAC1D,uDAAmD;AACnD,iDAA6C;AAC7C,6EAAwE;AAejE,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAI,CAAA;AAAd,gCAAU;qBAAV,UAAU;IAbtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,yBAAY,CAAC;YAC9B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,iCAAgB,CAAC;YAClC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,8BAAa,CAAC;YAC/B,IAAA,mBAAU,EAAC,GAAG,EAAE,CACd,eAAS,CACV;SACF;QACD,SAAS,EAAE,CAAC,0BAAW,EAAE,qDAAwB,CAAC;QAClD,OAAO,EAAE,CAAC,0BAAW,EAAE,qDAAwB,CAAC;QAChD,WAAW,EAAE,CAAC,gCAAc,CAAC;KAC9B,CAAC;GACW,UAAU,CAAI"}
1
+ {"version":3,"file":"file.module.js","sourceRoot":"","sources":["../../src/file/file.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,4DAA2D;AAC3D,oDAAmD;AACnD,2CAAoD;AACpD,qCAAwC;AACxC,8DAA0D;AAC1D,uDAAmD;AACnD,iDAA6C;AAC7C,6EAAuE;AACvE,6EAAwE;AACxE,uEAAiE;AAyB1D,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAI,CAAA;AAAd,gCAAU;qBAAV,UAAU;IAvBtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,yBAAY,CAAC;YAC9B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,iCAAgB,CAAC;YAClC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,8BAAa,CAAC;YAC/B,IAAA,mBAAU,EAAC,GAAG,EAAE,CACd,eAAS,CACV;SACF;QACD,SAAS,EAAE;YACT,0BAAW;YACX,qDAAwB;YACxB,oDAAuB;YACvB,8CAAoB;SACrB;QACD,OAAO,EAAE;YACP,0BAAW;YACX,qDAAwB;YACxB,oDAAuB;YACvB,8CAAoB;SACrB;QACD,WAAW,EAAE,CAAC,gCAAc,CAAC;KAC9B,CAAC;GACW,UAAU,CAAI"}
@@ -25,7 +25,11 @@ export declare class FileService implements OnModuleInit {
25
25
  private cachedProvider;
26
26
  private providerResolution;
27
27
  private resolveProviderPath;
28
- private hasMojibake;
28
+ /**
29
+ * Nome que chegou com o encoding trocado (busboy entrega `originalname` em
30
+ * latin1, e a base ainda recebe nome importado com o mesmo defeito). A lógica
31
+ * mora no util porque a migration de backfill a reproduz em plpgsql.
32
+ */
29
33
  private normalizeUploadedFilename;
30
34
  constructor(prismaService: PrismaService, paginationService: PaginationService, settingService: SettingService, jwtService: JwtService, imageOptimizationService: ImageOptimizationService);
31
35
  onModuleInit(): Promise<void>;
@@ -45,6 +49,7 @@ export declare class FileService implements OnModuleInit {
45
49
  mimetype_id: number;
46
50
  size: number;
47
51
  is_private: boolean;
52
+ created_by_user_id: number | null;
48
53
  }>;
49
54
  private mapStorageNotFoundError;
50
55
  openReadStreamById(fileId: number): Promise<{
@@ -66,6 +71,7 @@ export declare class FileService implements OnModuleInit {
66
71
  mimetype_id: number;
67
72
  size: number;
68
73
  is_private: boolean;
74
+ created_by_user_id: number | null;
69
75
  };
70
76
  stream: any;
71
77
  size: number;
@@ -89,6 +95,7 @@ export declare class FileService implements OnModuleInit {
89
95
  mimetype_id: number;
90
96
  size: number;
91
97
  is_private: boolean;
98
+ created_by_user_id: number | null;
92
99
  };
93
100
  stream: any;
94
101
  totalSize: number;
@@ -118,6 +125,7 @@ export declare class FileService implements OnModuleInit {
118
125
  mimetype_id: number;
119
126
  size: number;
120
127
  is_private: boolean;
128
+ created_by_user_id: number | null;
121
129
  };
122
130
  path: string;
123
131
  size: number;
@@ -141,6 +149,7 @@ export declare class FileService implements OnModuleInit {
141
149
  mimetype_id: number;
142
150
  size: number;
143
151
  is_private: boolean;
152
+ created_by_user_id: number | null;
144
153
  };
145
154
  buffer: Buffer<ArrayBuffer>;
146
155
  }>;
@@ -167,6 +176,7 @@ export declare class FileService implements OnModuleInit {
167
176
  skipMimeValidation?: boolean;
168
177
  skipSizeValidation?: boolean;
169
178
  isPrivate?: boolean;
179
+ createdByUserId?: number | null;
170
180
  }): Promise<{
171
181
  id: number;
172
182
  path: string;
@@ -178,6 +188,7 @@ export declare class FileService implements OnModuleInit {
178
188
  mimetype_id: number;
179
189
  size: number;
180
190
  is_private: boolean;
191
+ created_by_user_id: number | null;
181
192
  }>;
182
193
  uploadFromPath(destination: string, filePath: string, metadata?: {
183
194
  originalname?: string;
@@ -188,6 +199,7 @@ export declare class FileService implements OnModuleInit {
188
199
  skipMimeValidation?: boolean;
189
200
  skipSizeValidation?: boolean;
190
201
  isPrivate?: boolean;
202
+ createdByUserId?: number | null;
191
203
  resize?: {
192
204
  maxWidth?: number;
193
205
  maxHeight?: number;
@@ -203,15 +215,54 @@ export declare class FileService implements OnModuleInit {
203
215
  mimetype_id: number;
204
216
  size: number;
205
217
  is_private: boolean;
218
+ created_by_user_id: number | null;
206
219
  }>;
220
+ /**
221
+ * Mimetypes de imagem que `optimizeBuffer` devolve intactos por decisão de projeto
222
+ * (vetor não vira bitmap, GIF animado não vira quadro único). Enfileirá-los para
223
+ * reotimização seria custo de download e reprocessamento com resultado garantidamente
224
+ * nulo, então ficam fora da varredura.
225
+ */
226
+ private static readonly NON_OPTIMIZABLE_IMAGE_MIMETYPES;
227
+ /**
228
+ * Lista as imagens armazenadas que valem uma passada por `reoptimizeFile`, para a
229
+ * operação em massa de reprocessamento do acervo.
230
+ *
231
+ * Devolve junto o total e a soma de bytes do filtro inteiro (não só da página), que é
232
+ * o que permite mostrar uma prévia antes de enfileirar dezenas de milhares de jobs.
233
+ * O core não conhece a fila — quem enfileira é a library `queue`, que depende deste
234
+ * pacote e não o contrário.
235
+ */
236
+ findOptimizableImages(params?: {
237
+ /** Piso de tamanho em bytes; abaixo disso o ganho não paga o reprocessamento. */
238
+ minSize?: number;
239
+ /** Restringe a `location` exatas (ex.: `lms/xp/skills`), para rollout em ondas. */
240
+ locations?: string[];
241
+ offset?: number;
242
+ limit?: number;
243
+ }): Promise<{
244
+ ids: number[];
245
+ total: number;
246
+ totalBytes: number;
247
+ }>;
248
+ /**
249
+ * Ganho mínimo para valer a regravação de um arquivo que já está no formato final.
250
+ *
251
+ * Recomprimir WebP sobre WebP sempre devolve alguns bytes a menos, então um limiar de
252
+ * "estritamente menor" nunca converge: cada passada da varredura trocaria o arquivo
253
+ * por um ganho irrisório e mais uma geração de perda de qualidade. Medido aqui, três
254
+ * passadas seguidas rendiam 10926 → 10664 → 10662 bytes — a última custou uma
255
+ * recompressão inteira para economizar 2 bytes.
256
+ */
257
+ private static readonly REOPTIMIZE_MIN_GAIN_RATIO;
207
258
  /**
208
259
  * Re-applies the current image-optimization settings to an already-stored file,
209
260
  * rewriting it in place: the `file` record keeps the same id, so every row that
210
261
  * references it (course_image, course_lesson_video_frame, ...) stays valid without
211
- * any FK juggling. Only replaces the stored object when the optimized result is
212
- * strictly smaller or the mimetype changed (e.g. PNG → WebP) — this keeps the
213
- * operation idempotent and avoids repeated lossy recompression. Non-image files are
214
- * left untouched.
262
+ * any FK juggling. Only replaces the stored object when the mimetype changed
263
+ * (e.g. PNG → WebP) or the result is smaller by a margin that justifies the rewrite —
264
+ * that margin is what actually makes the operation idempotent and avoids repeated
265
+ * lossy recompression. Non-image files are left untouched.
215
266
  */
216
267
  reoptimizeFile(fileId: number): Promise<{
217
268
  changed: boolean;
@@ -220,7 +271,48 @@ export declare class FileService implements OnModuleInit {
220
271
  mimetypeChanged: boolean;
221
272
  }>;
222
273
  delete(locale: string, { ids }: DeleteDTO): Promise<number[]>;
223
- getFiles(paginationParams: PaginationDTO): Promise<{
274
+ /**
275
+ * `ownerUserId` restringe a listagem aos arquivos enviados por aquele usuário.
276
+ *
277
+ * Existe para as tools MCP: sem ele, `core.files.list` é um índice de tudo o que
278
+ * qualquer empresa já subiu, incluindo o que está gravado como `is_private`. O
279
+ * controller REST continua chamando sem o parâmetro, porque ali a rota já é `admin`
280
+ * e a tela de arquivos é justamente a visão global.
281
+ */
282
+ /**
283
+ * Grava um stream em disco medindo, hasheando e guardando o cabeçalho de uma vez só.
284
+ *
285
+ * O upload assinado recebe o binário cru no corpo do PUT, e nada garante que venha com
286
+ * `Content-Length` — sem o contador abaixo, um corpo aberto encheria o disco do pod. O
287
+ * corte é feito em pleno voo, antes de o excedente chegar ao arquivo.
288
+ *
289
+ * Passa o cabeçalho adiante porque conferir o tipo real é obrigatório nesse caminho, e
290
+ * reler o arquivo depois seria uma segunda passada por nada.
291
+ */
292
+ writeStreamToPath(source: NodeJS.ReadableStream, targetPath: string, maxBytes: number): Promise<{
293
+ bytes: number;
294
+ sha256: string;
295
+ header: Buffer;
296
+ }>;
297
+ /**
298
+ * Conteúdo de um arquivo já armazenado, em memória.
299
+ *
300
+ * Existe para as tools que consomem os bytes sem persistir nada (importar extrato,
301
+ * extrair dados de uma nota com IA): elas recebem um `fileId` e precisam do arquivo,
302
+ * não de um stream. O teto evita que um `fileId` apontando para um SCORM de vários GB
303
+ * derrube o pod — quem serve arquivo grande usa `openReadStream` e não passa por aqui.
304
+ */
305
+ bufferById(fileId: number, maxBytes: number): Promise<Buffer>;
306
+ /**
307
+ * Nome do mimetype de um arquivo.
308
+ *
309
+ * `get()` e `upload()` devolvem a linha crua, sem a relação, e cada chamador que
310
+ * precisava do tipo vinha refazendo o `include` por conta. Como o cache de
311
+ * `getMimeType` é id-por-nome, este é o inverso dele e sai do mesmo mapa quando já
312
+ * tiver sido consultado.
313
+ */
314
+ mimetypeNameById(mimetypeId: number): Promise<string>;
315
+ getFiles(paginationParams: PaginationDTO, ownerUserId?: number): Promise<{
224
316
  total: any;
225
317
  lastPage: number;
226
318
  page: number;
@@ -229,6 +321,45 @@ export declare class FileService implements OnModuleInit {
229
321
  next: number;
230
322
  data: any[];
231
323
  }>;
324
+ /**
325
+ * Papéis que enxergam qualquer arquivo. Os mesmos que já governam as rotas de arquivo
326
+ * em `route.yaml` — quem administra o acervo pela tela também o administra pelo MCP.
327
+ */
328
+ private static readonly FILE_ADMIN_ROLES;
329
+ /** Cache curto de papéis, no mesmo espírito do McpPermissionService. */
330
+ private readonly fileAdminCache;
331
+ private static readonly FILE_ADMIN_CACHE_TTL_MS;
332
+ isFileAdmin(userId: number): Promise<boolean>;
333
+ /**
334
+ * Porteiro do `fileId` vindo de fora: só o dono usa um arquivo, e quem administra o
335
+ * acervo usa qualquer um.
336
+ *
337
+ * Sem isto, apontar um `fileId` numa tool seria enumerar — id de arquivo é sequencial,
338
+ * exatamente o motivo pelo qual `is_private` existe. Arquivo anterior a esta coluna
339
+ * (ou gravado por cron/seed/webhook) fica com dono nulo e só o admin alcança: não dá
340
+ * para provar de quem ele é, e adivinhar a favor do chamador seria abrir a porta que
341
+ * este método fecha.
342
+ */
343
+ assertFileUsable(fileId: number, userId: number): Promise<{
344
+ file_mimetype: {
345
+ id: number;
346
+ created_at: Date;
347
+ name: string;
348
+ updated_at: Date;
349
+ };
350
+ } & {
351
+ id: number;
352
+ path: string;
353
+ created_at: Date;
354
+ updated_at: Date;
355
+ filename: string;
356
+ provider_id: number;
357
+ location: string;
358
+ mimetype_id: number;
359
+ size: number;
360
+ is_private: boolean;
361
+ created_by_user_id: number | null;
362
+ }>;
232
363
  get(fileId: number): Promise<{
233
364
  id: number;
234
365
  path: string;
@@ -240,6 +371,7 @@ export declare class FileService implements OnModuleInit {
240
371
  mimetype_id: number;
241
372
  size: number;
242
373
  is_private: boolean;
374
+ created_by_user_id: number | null;
243
375
  }>;
244
376
  /**
245
377
  * Creates an independent copy of a stored file: new bytes in storage + a new `file` row.
@@ -270,6 +402,7 @@ export declare class FileService implements OnModuleInit {
270
402
  mimetype_id: number;
271
403
  size: number;
272
404
  is_private: boolean;
405
+ created_by_user_id: number | null;
273
406
  }>;
274
407
  readStream(filepath: string): Promise<any>;
275
408
  /**
@@ -290,6 +423,20 @@ export declare class FileService implements OnModuleInit {
290
423
  declaredSize: number;
291
424
  }>;
292
425
  private getFileSizeFromMetadata;
426
+ /**
427
+ * Resolve o `file` cujo `resolveProviderPath` (location + path, ou path já combinado) bate com
428
+ * o `filepath` embutido no token de download — é o inverso de `resolveProviderPath`.
429
+ *
430
+ * Bug corrigido (relatado como "Token de download inválido ou expirado" no storage local):
431
+ * `tempURLById` assina o token com `resolveProviderPath(file)` (ex.:
432
+ * "class-assignment-tasks/abc123.pdf", já com o prefixo de `location`), mas o upload local/S3
433
+ * grava só o basename em `file.path` ("abc123.pdf") e o `location` separado em outra coluna.
434
+ * Um `findFirst({ where: { path: filepath } })` direto nunca batia para esses arquivos — sempre
435
+ * caía no `catch` abaixo e mostrava a mensagem genérica de token inválido, mesmo com o token
436
+ * (e o arquivo) perfeitamente válidos. S3 mascarava isso porque `S3Provider.tempURL` devolve uma
437
+ * URL assinada direto do bucket, sem passar por este método.
438
+ */
439
+ private findFileByResolvedPath;
293
440
  download(locale: string, token: string): Promise<{
294
441
  stream: any;
295
442
  filename: string;
@@ -325,6 +472,14 @@ export declare class FileService implements OnModuleInit {
325
472
  * extractions) with a correct Content-Type instead of rejecting them.
326
473
  */
327
474
  private inferImageContentType;
475
+ /**
476
+ * Lê só o começo do arquivo, o bastante para o sharp reconhecer o formato pelo
477
+ * cabeçalho. Existe para o sniffing de `uploadFromPath`, que não pode chamar
478
+ * `fs.readFile`: o mesmo caminho recebe pacotes SCORM e vídeos de vários GB, e
479
+ * carregá-los inteiros estoura o limite de Buffer. Devolve `undefined` em qualquer
480
+ * falha de leitura — quem chama já trata a ausência do buffer.
481
+ */
482
+ private readFileHeader;
328
483
  /**
329
484
  * Resolves the MIME type to persist for an upload. When the incoming mimetype is
330
485
  * generic (application/octet-stream or empty), recovers the real image type from
@@ -376,6 +531,8 @@ export declare class FileService implements OnModuleInit {
376
531
  */
377
532
  tempURLById(fileId: number, expires?: number): Promise<any>;
378
533
  tempOpenURL(filepath: string, expires?: number): Promise<any>;
534
+ /** Par de `tempURLById`, pela mesma razão: `path` cru resolve para NoSuchKey no S3. */
535
+ tempOpenURLById(fileId: number, expires?: number): Promise<any>;
379
536
  getTemporaryCredentials(params: {
380
537
  accessKeyId: string;
381
538
  secretAccessKey: string;
@@ -402,6 +559,25 @@ export declare class FileService implements OnModuleInit {
402
559
  ContentLength?: number;
403
560
  ETag?: string;
404
561
  }>;
562
+ /**
563
+ * URL assinada de um objeto em bucket avulso.
564
+ *
565
+ * O `getFileUrl` do provider resolve arquivos do acervo, que vivem no destino
566
+ * ativo do core. Este metodo serve para os buckets que outras libraries
567
+ * configuram por conta propria — o Studio grava no perfil de armazenamento
568
+ * dele, que pode nao ser o mesmo — e por isso recebe as credenciais e o bucket
569
+ * de fora, como o `headS3Object` ao lado.
570
+ */
571
+ signS3Object(params: {
572
+ accessKeyId: string;
573
+ secretAccessKey: string;
574
+ sessionToken?: string;
575
+ region: string;
576
+ bucket: string;
577
+ key: string;
578
+ expiresInSeconds?: number;
579
+ downloadFileName?: string;
580
+ }): Promise<string>;
405
581
  headS3Bucket(params: {
406
582
  accessKeyId: string;
407
583
  secretAccessKey: string;
@@ -1 +1 @@
1
- {"version":3,"file":"file.service.d.ts","sourceRoot":"","sources":["../../src/file/file.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file.service.d.ts","sourceRoot":"","sources":["../../src/file/file.service.ts"],"names":[],"mappings":"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"}