@hed-hog/core 0.0.400 → 0.0.402

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 (274) hide show
  1. package/dist/access-log/access-log.interceptor.d.ts +10 -0
  2. package/dist/access-log/access-log.interceptor.d.ts.map +1 -1
  3. package/dist/access-log/access-log.interceptor.js +15 -1
  4. package/dist/access-log/access-log.interceptor.js.map +1 -1
  5. package/dist/ai/ai.controller.d.ts +2 -0
  6. package/dist/ai/ai.controller.d.ts.map +1 -1
  7. package/dist/ai/ai.service.d.ts +86 -2
  8. package/dist/ai/ai.service.d.ts.map +1 -1
  9. package/dist/ai/ai.service.js +304 -23
  10. package/dist/ai/ai.service.js.map +1 -1
  11. package/dist/ai-instruction/ai-prompt-resolver.service.d.ts +12 -0
  12. package/dist/ai-instruction/ai-prompt-resolver.service.d.ts.map +1 -1
  13. package/dist/ai-instruction/ai-prompt-resolver.service.js +26 -0
  14. package/dist/ai-instruction/ai-prompt-resolver.service.js.map +1 -1
  15. package/dist/core.module.d.ts.map +1 -1
  16. package/dist/core.module.js +3 -0
  17. package/dist/core.module.js.map +1 -1
  18. package/dist/document-kit/document-kit.module.d.ts +3 -0
  19. package/dist/document-kit/document-kit.module.d.ts.map +1 -0
  20. package/dist/document-kit/document-kit.module.js +24 -0
  21. package/dist/document-kit/document-kit.module.js.map +1 -0
  22. package/dist/document-kit/document-kit.registry.d.ts +55 -0
  23. package/dist/document-kit/document-kit.registry.d.ts.map +1 -0
  24. package/dist/document-kit/document-kit.registry.js +91 -0
  25. package/dist/document-kit/document-kit.registry.js.map +1 -0
  26. package/dist/document-kit/document-kit.service.d.ts +49 -0
  27. package/dist/document-kit/document-kit.service.d.ts.map +1 -0
  28. package/dist/document-kit/document-kit.service.js +135 -0
  29. package/dist/document-kit/document-kit.service.js.map +1 -0
  30. package/dist/file/file-upload-ticket.service.d.ts +1 -1
  31. package/dist/file/file.controller.d.ts +3 -3
  32. package/dist/file/file.service.d.ts +136 -13
  33. package/dist/file/file.service.d.ts.map +1 -1
  34. package/dist/file/file.service.js +297 -27
  35. package/dist/file/file.service.js.map +1 -1
  36. package/dist/file/mcp-file-source.schema.d.ts.map +1 -1
  37. package/dist/file/mcp-file-source.schema.js +8 -5
  38. package/dist/file/mcp-file-source.schema.js.map +1 -1
  39. package/dist/file/provider/abstract.provider.d.ts +33 -0
  40. package/dist/file/provider/abstract.provider.d.ts.map +1 -1
  41. package/dist/file/provider/abstract.provider.js +9 -0
  42. package/dist/file/provider/abstract.provider.js.map +1 -1
  43. package/dist/file/provider/s3-multipart.util.d.ts +17 -0
  44. package/dist/file/provider/s3-multipart.util.d.ts.map +1 -0
  45. package/dist/file/provider/s3-multipart.util.js +88 -0
  46. package/dist/file/provider/s3-multipart.util.js.map +1 -0
  47. package/dist/file/provider/s3.provider.d.ts +9 -1
  48. package/dist/file/provider/s3.provider.d.ts.map +1 -1
  49. package/dist/file/provider/s3.provider.js +16 -0
  50. package/dist/file/provider/s3.provider.js.map +1 -1
  51. package/dist/file/provider/spaces.provider.d.ts +10 -1
  52. package/dist/file/provider/spaces.provider.d.ts.map +1 -1
  53. package/dist/file/provider/spaces.provider.js +17 -0
  54. package/dist/file/provider/spaces.provider.js.map +1 -1
  55. package/dist/index.d.ts +5 -0
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +5 -0
  58. package/dist/index.js.map +1 -1
  59. package/dist/integration-profile/integration-profile.controller.d.ts +1 -0
  60. package/dist/integration-profile/integration-profile.controller.d.ts.map +1 -1
  61. package/dist/integration-profile/integration-profile.secrets.d.ts.map +1 -1
  62. package/dist/integration-profile/integration-profile.secrets.js +26 -0
  63. package/dist/integration-profile/integration-profile.secrets.js.map +1 -1
  64. package/dist/integration-profile/integration-profile.service.d.ts +1 -0
  65. package/dist/integration-profile/integration-profile.service.d.ts.map +1 -1
  66. package/dist/integration-profile/integration-profile.service.js +3 -3
  67. package/dist/integration-profile/integration-profile.service.js.map +1 -1
  68. package/dist/integration-profile/testers/ai.testers.d.ts.map +1 -1
  69. package/dist/integration-profile/testers/ai.testers.js +46 -8
  70. package/dist/integration-profile/testers/ai.testers.js.map +1 -1
  71. package/dist/integration-profile/testers/http-probe.d.ts.map +1 -1
  72. package/dist/integration-profile/testers/http-probe.js +5 -3
  73. package/dist/integration-profile/testers/http-probe.js.map +1 -1
  74. package/dist/integration-profile/testers/integration-tester.types.d.ts +5 -0
  75. package/dist/integration-profile/testers/integration-tester.types.d.ts.map +1 -1
  76. package/dist/mail/mail.service.d.ts.map +1 -1
  77. package/dist/mail/mail.service.js +16 -1
  78. package/dist/mail/mail.service.js.map +1 -1
  79. package/dist/mcp/mcp-server.service.d.ts.map +1 -1
  80. package/dist/mcp/mcp-server.service.js +10 -1
  81. package/dist/mcp/mcp-server.service.js.map +1 -1
  82. package/dist/mcp/mcp.module.d.ts.map +1 -1
  83. package/dist/mcp/mcp.module.js +2 -0
  84. package/dist/mcp/mcp.module.js.map +1 -1
  85. package/dist/mcp/tools/core-access-log.mcp-tools.d.ts +17 -0
  86. package/dist/mcp/tools/core-access-log.mcp-tools.d.ts.map +1 -0
  87. package/dist/mcp/tools/core-access-log.mcp-tools.js +74 -0
  88. package/dist/mcp/tools/core-access-log.mcp-tools.js.map +1 -0
  89. package/dist/mcp/tools/core-files.mcp-tools.js +4 -4
  90. package/dist/mcp/tools/core-files.mcp-tools.js.map +1 -1
  91. package/dist/meeting/meeting-provider.registry.d.ts +72 -0
  92. package/dist/meeting/meeting-provider.registry.d.ts.map +1 -1
  93. package/dist/meeting/meeting-provider.registry.js.map +1 -1
  94. package/dist/oauth/oauth-token-broker.service.d.ts +50 -1
  95. package/dist/oauth/oauth-token-broker.service.d.ts.map +1 -1
  96. package/dist/oauth/oauth-token-broker.service.js +105 -3
  97. package/dist/oauth/oauth-token-broker.service.js.map +1 -1
  98. package/dist/oauth/providers/microsoft-entra-id.provider.d.ts +6 -0
  99. package/dist/oauth/providers/microsoft-entra-id.provider.d.ts.map +1 -1
  100. package/dist/oauth/providers/microsoft-entra-id.provider.js +30 -4
  101. package/dist/oauth/providers/microsoft-entra-id.provider.js.map +1 -1
  102. package/dist/pdf/document/charts/chart-bar.d.ts +24 -0
  103. package/dist/pdf/document/charts/chart-bar.d.ts.map +1 -0
  104. package/dist/pdf/document/charts/chart-bar.js +117 -0
  105. package/dist/pdf/document/charts/chart-bar.js.map +1 -0
  106. package/dist/pdf/document/charts/chart-donut.d.ts +16 -0
  107. package/dist/pdf/document/charts/chart-donut.d.ts.map +1 -0
  108. package/dist/pdf/document/charts/chart-donut.js +89 -0
  109. package/dist/pdf/document/charts/chart-donut.js.map +1 -0
  110. package/dist/pdf/document/charts/chart-gauge.d.ts +15 -0
  111. package/dist/pdf/document/charts/chart-gauge.d.ts.map +1 -0
  112. package/dist/pdf/document/charts/chart-gauge.js +60 -0
  113. package/dist/pdf/document/charts/chart-gauge.js.map +1 -0
  114. package/dist/pdf/document/charts/chart-line.d.ts +29 -0
  115. package/dist/pdf/document/charts/chart-line.d.ts.map +1 -0
  116. package/dist/pdf/document/charts/chart-line.js +89 -0
  117. package/dist/pdf/document/charts/chart-line.js.map +1 -0
  118. package/dist/pdf/document/charts/chart-primitives.d.ts +64 -0
  119. package/dist/pdf/document/charts/chart-primitives.d.ts.map +1 -0
  120. package/dist/pdf/document/charts/chart-primitives.js +110 -0
  121. package/dist/pdf/document/charts/chart-primitives.js.map +1 -0
  122. package/dist/pdf/document/charts/chart-radar.d.ts +13 -0
  123. package/dist/pdf/document/charts/chart-radar.d.ts.map +1 -0
  124. package/dist/pdf/document/charts/chart-radar.js +83 -0
  125. package/dist/pdf/document/charts/chart-radar.js.map +1 -0
  126. package/dist/pdf/document/charts/chart-scale.d.ts +39 -0
  127. package/dist/pdf/document/charts/chart-scale.d.ts.map +1 -0
  128. package/dist/pdf/document/charts/chart-scale.js +118 -0
  129. package/dist/pdf/document/charts/chart-scale.js.map +1 -0
  130. package/dist/pdf/document/charts/index.d.ts +8 -0
  131. package/dist/pdf/document/charts/index.d.ts.map +1 -0
  132. package/dist/pdf/document/charts/index.js +24 -0
  133. package/dist/pdf/document/charts/index.js.map +1 -0
  134. package/dist/pdf/document/index.d.ts +8 -0
  135. package/dist/pdf/document/index.d.ts.map +1 -0
  136. package/dist/pdf/document/index.js +24 -0
  137. package/dist/pdf/document/index.js.map +1 -0
  138. package/dist/pdf/document/pdf-document.chrome.d.ts +20 -0
  139. package/dist/pdf/document/pdf-document.chrome.d.ts.map +1 -0
  140. package/dist/pdf/document/pdf-document.chrome.js +36 -0
  141. package/dist/pdf/document/pdf-document.chrome.js.map +1 -0
  142. package/dist/pdf/document/pdf-document.css.d.ts +20 -0
  143. package/dist/pdf/document/pdf-document.css.d.ts.map +1 -0
  144. package/dist/pdf/document/pdf-document.css.js +327 -0
  145. package/dist/pdf/document/pdf-document.css.js.map +1 -0
  146. package/dist/pdf/document/pdf-document.renderer.d.ts +10 -0
  147. package/dist/pdf/document/pdf-document.renderer.d.ts.map +1 -0
  148. package/dist/pdf/document/pdf-document.renderer.js +226 -0
  149. package/dist/pdf/document/pdf-document.renderer.js.map +1 -0
  150. package/dist/pdf/document/pdf-document.service.d.ts +27 -0
  151. package/dist/pdf/document/pdf-document.service.d.ts.map +1 -0
  152. package/dist/pdf/document/pdf-document.service.js +81 -0
  153. package/dist/pdf/document/pdf-document.service.js.map +1 -0
  154. package/dist/pdf/document/pdf-document.theme.d.ts +41 -0
  155. package/dist/pdf/document/pdf-document.theme.d.ts.map +1 -0
  156. package/dist/pdf/document/pdf-document.theme.js +105 -0
  157. package/dist/pdf/document/pdf-document.theme.js.map +1 -0
  158. package/dist/pdf/document/pdf-document.types.d.ts +164 -0
  159. package/dist/pdf/document/pdf-document.types.d.ts.map +1 -0
  160. package/dist/pdf/document/pdf-document.types.js +18 -0
  161. package/dist/pdf/document/pdf-document.types.js.map +1 -0
  162. package/dist/pdf/pdf.module.d.ts.map +1 -1
  163. package/dist/pdf/pdf.module.js +3 -2
  164. package/dist/pdf/pdf.module.js.map +1 -1
  165. package/dist/pdf/pdf.service.d.ts +75 -1
  166. package/dist/pdf/pdf.service.d.ts.map +1 -1
  167. package/dist/pdf/pdf.service.js +167 -63
  168. package/dist/pdf/pdf.service.js.map +1 -1
  169. package/dist/pdf/templates/commercial-proposal.template.d.ts +96 -0
  170. package/dist/pdf/templates/commercial-proposal.template.d.ts.map +1 -0
  171. package/dist/pdf/templates/commercial-proposal.template.js +276 -0
  172. package/dist/pdf/templates/commercial-proposal.template.js.map +1 -0
  173. package/dist/setting/favicon.controller.d.ts +26 -0
  174. package/dist/setting/favicon.controller.d.ts.map +1 -0
  175. package/dist/setting/favicon.controller.js +130 -0
  176. package/dist/setting/favicon.controller.js.map +1 -0
  177. package/dist/setting/setting.module.d.ts.map +1 -1
  178. package/dist/setting/setting.module.js +2 -1
  179. package/dist/setting/setting.module.js.map +1 -1
  180. package/dist/setting/setting.service.d.ts.map +1 -1
  181. package/dist/setting/setting.service.js +3 -0
  182. package/dist/setting/setting.service.js.map +1 -1
  183. package/dist/task/task.service.d.ts +6 -0
  184. package/dist/task/task.service.d.ts.map +1 -1
  185. package/dist/task/task.service.js +44 -13
  186. package/dist/task/task.service.js.map +1 -1
  187. package/dist/whatsapp-sender/whatsapp-sender.service.d.ts +35 -2
  188. package/dist/whatsapp-sender/whatsapp-sender.service.d.ts.map +1 -1
  189. package/dist/whatsapp-sender/whatsapp-sender.service.js +107 -22
  190. package/dist/whatsapp-sender/whatsapp-sender.service.js.map +1 -1
  191. package/hedhog/data/integration_type.yaml +6 -0
  192. package/hedhog/data/route.yaml +8 -0
  193. package/hedhog/data/setting_group.yaml +52 -0
  194. package/hedhog/frontend/app/configurations/[slug]/components/setting-field.test.tsx.ejs +85 -2
  195. package/hedhog/frontend/app/configurations/[slug]/components/setting-field.tsx.ejs +576 -491
  196. package/hedhog/frontend/app/users/simulate-access-dialog.test.tsx.ejs +29 -50
  197. package/hedhog/frontend/app/users/simulate-access-dialog.tsx.ejs +146 -50
  198. package/hedhog/frontend/messages/en.json +81 -2
  199. package/hedhog/frontend/messages/pt.json +81 -2
  200. package/hedhog/table/file.yaml +3 -1
  201. package/package.json +5 -5
  202. package/src/access-log/access-log.interceptor.spec.ts +50 -0
  203. package/src/access-log/access-log.interceptor.ts +18 -0
  204. package/src/ai/ai-attachment.fragments.spec.ts +56 -3
  205. package/src/ai/ai.service.responses.spec.ts +429 -0
  206. package/src/ai/ai.service.ts +409 -27
  207. package/src/ai-instruction/ai-prompt-resolver.service.spec.ts +44 -0
  208. package/src/ai-instruction/ai-prompt-resolver.service.ts +29 -0
  209. package/src/core.module.ts +3 -0
  210. package/src/document-kit/document-kit.module.ts +12 -0
  211. package/src/document-kit/document-kit.registry.ts +125 -0
  212. package/src/document-kit/document-kit.service.spec.ts +156 -0
  213. package/src/document-kit/document-kit.service.ts +173 -0
  214. package/src/file/file-direct-upload.spec.ts +344 -0
  215. package/src/file/file.service.spec.ts +168 -1
  216. package/src/file/file.service.ts +435 -36
  217. package/src/file/mcp-file-source.schema.ts +8 -5
  218. package/src/file/provider/abstract.provider.ts +57 -0
  219. package/src/file/provider/s3-multipart.spec.ts +123 -0
  220. package/src/file/provider/s3-multipart.util.ts +126 -0
  221. package/src/file/provider/s3.provider.ts +65 -1
  222. package/src/file/provider/spaces.provider.ts +67 -1
  223. package/src/index.ts +5 -0
  224. package/src/integration-profile/integration-profile.secrets.ts +26 -0
  225. package/src/integration-profile/integration-profile.service.ts +1 -0
  226. package/src/integration-profile/testers/ai.testers.ts +70 -5
  227. package/src/integration-profile/testers/http-probe.ts +5 -3
  228. package/src/integration-profile/testers/integration-tester.types.ts +5 -0
  229. package/src/integration-profile/testers/oauth.testers.spec.ts +13 -0
  230. package/src/integration-profile/testers/remaining.testers.spec.ts +65 -1
  231. package/src/integration-profile/testers/tester-coverage.spec.ts +12 -0
  232. package/src/mail/mail.service.spec.ts +25 -0
  233. package/src/mail/mail.service.ts +18 -1
  234. package/src/mcp/mcp-server.service.spec.ts +16 -0
  235. package/src/mcp/mcp-server.service.ts +10 -1
  236. package/src/mcp/mcp.module.ts +2 -0
  237. package/src/mcp/tools/core-access-log.mcp-tools.ts +66 -0
  238. package/src/mcp/tools/core-files.mcp-tools.ts +4 -4
  239. package/src/meeting/meeting-provider.registry.ts +80 -0
  240. package/src/oauth/oauth-token-broker.service.spec.ts +108 -0
  241. package/src/oauth/oauth-token-broker.service.ts +129 -2
  242. package/src/oauth/providers/microsoft-entra-id.provider.spec.ts +133 -0
  243. package/src/oauth/providers/microsoft-entra-id.provider.ts +29 -2
  244. package/src/pdf/document/charts/chart-bar.ts +217 -0
  245. package/src/pdf/document/charts/chart-donut.ts +163 -0
  246. package/src/pdf/document/charts/chart-gauge.ts +94 -0
  247. package/src/pdf/document/charts/chart-line.ts +159 -0
  248. package/src/pdf/document/charts/chart-primitives.ts +188 -0
  249. package/src/pdf/document/charts/chart-radar.ts +136 -0
  250. package/src/pdf/document/charts/chart-scale.spec.ts +93 -0
  251. package/src/pdf/document/charts/chart-scale.ts +141 -0
  252. package/src/pdf/document/charts/charts.spec.ts +157 -0
  253. package/src/pdf/document/charts/index.ts +7 -0
  254. package/src/pdf/document/index.ts +7 -0
  255. package/src/pdf/document/pdf-document.chrome.ts +38 -0
  256. package/src/pdf/document/pdf-document.css.ts +326 -0
  257. package/src/pdf/document/pdf-document.renderer.spec.ts +172 -0
  258. package/src/pdf/document/pdf-document.renderer.ts +317 -0
  259. package/src/pdf/document/pdf-document.service.ts +77 -0
  260. package/src/pdf/document/pdf-document.theme.ts +146 -0
  261. package/src/pdf/document/pdf-document.types.ts +149 -0
  262. package/src/pdf/pdf.module.ts +3 -2
  263. package/src/pdf/pdf.service.spec.ts +131 -0
  264. package/src/pdf/pdf.service.ts +256 -82
  265. package/src/pdf/templates/commercial-proposal.template.spec.ts +177 -0
  266. package/src/pdf/templates/commercial-proposal.template.ts +400 -0
  267. package/src/setting/favicon.controller.spec.ts +92 -0
  268. package/src/setting/favicon.controller.ts +135 -0
  269. package/src/setting/setting.module.ts +2 -1
  270. package/src/setting/setting.service.ts +3 -0
  271. package/src/task/task.service.spec.ts +77 -1
  272. package/src/task/task.service.ts +58 -14
  273. package/src/whatsapp-sender/whatsapp-sender.service.spec.ts +263 -0
  274. package/src/whatsapp-sender/whatsapp-sender.service.ts +154 -16
@@ -1 +1 @@
1
- {"version":3,"file":"core-files.mcp-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/core-files.mcp-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-files.mcp-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/core-files.mcp-tools.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { MeetingChatMessage } from './meeting.constants';
1
2
  /**
2
3
  * Pedido de criação de uma reunião online para uma entidade de negócio qualquer.
3
4
  *
@@ -204,6 +205,57 @@ export interface MeetingChatAttachmentContent {
204
205
  mimetype: string;
205
206
  size: number;
206
207
  }
208
+ /**
209
+ * Pedido de publicação de uma mensagem no chat da reunião de uma origem.
210
+ *
211
+ * O corpo é HTML simples — `<p>`, `<br>`, `<strong>`, `<a href>` — e não texto
212
+ * puro porque o que motiva este contrato é mandar um link clicável para dentro
213
+ * da reunião. Provedor que não renderize HTML degrada tirando as tags; o texto
214
+ * continua legível.
215
+ */
216
+ export interface PostMeetingChatMessageInput {
217
+ sourceModule: string;
218
+ sourceEntity: string;
219
+ sourceEntityId: string;
220
+ html: string;
221
+ }
222
+ /**
223
+ * Desfecho da publicação, sem exceção.
224
+ *
225
+ * Postar no chat é conveniência, não o caminho crítico: quem chama tem sempre o
226
+ * plano B de mostrar o texto para alguém colar à mão. Transformar "o tenant
227
+ * desligou o chat da reunião" em exceção obrigaria toda tela a tratar erro para
228
+ * uma situação que é normal.
229
+ */
230
+ export type PostMeetingChatFailure =
231
+ /** Não há identidade/configuração para escrever. */
232
+ 'unavailable'
233
+ /** A reunião não tem chat (ninguém entrou, ou o tenant o desligou). */
234
+ | 'no_chat'
235
+ /** Falta consentimento do escopo de envio na conta que escreve. */
236
+ | 'missing_scope'
237
+ /** O provedor recusou por outro motivo. */
238
+ | 'failed';
239
+ /**
240
+ * Um objeto com campos opcionais, e não uma união discriminada, porque o
241
+ * monorepo compila com `strictNullChecks: false` — e sem essa flag o
242
+ * TypeScript não estreita a união pelo `ok`, obrigando todo consumidor a um
243
+ * cast. Melhor um contrato que funciona do que um mais elegante que ninguém
244
+ * consegue usar sem contorno.
245
+ *
246
+ * `ok: true` traz `providerMessageId`; `ok: false` traz `reason` e `message`.
247
+ */
248
+ export interface PostMeetingChatMessageResult {
249
+ ok: boolean;
250
+ providerMessageId?: string | null;
251
+ reason?: PostMeetingChatFailure;
252
+ message?: string;
253
+ }
254
+ export interface ListMeetingChatMessagesInput {
255
+ sourceModule: string;
256
+ sourceEntity: string;
257
+ sourceEntityId: string;
258
+ }
207
259
  /**
208
260
  * Provedor de reuniões online (Teams hoje; Meet/Zoom cabem no mesmo contrato).
209
261
  *
@@ -253,6 +305,26 @@ export interface IMeetingProvider {
253
305
  * exceção.
254
306
  */
255
307
  fetchChatAttachment?(input: FetchMeetingChatAttachmentInput): Promise<MeetingChatAttachmentContent | null>;
308
+ /**
309
+ * Publica uma mensagem no chat da reunião.
310
+ *
311
+ * Opcional pelo mesmo motivo de {@link fetchChatAttachment}, e nunca lança:
312
+ * o desfecho vem no retorno.
313
+ */
314
+ postChatMessage?(input: PostMeetingChatMessageInput): Promise<PostMeetingChatMessageResult>;
315
+ /**
316
+ * As mensagens do chat que o provedor já capturou para esta origem.
317
+ *
318
+ * Existe porque o evento `MEETING_CHAT_AVAILABLE_EVENT` tem teto de mensagens
319
+ * e, quando estoura, entrega as mais RECENTES. Isso serve para achar o
320
+ * material que o instrutor colou no fim da aula, e não serve para uma turma
321
+ * de 250 pessoas em que cada uma escreve: as primeiras somem do payload.
322
+ *
323
+ * Lê o que o provedor já guardou, sem ida nova ao serviço remoto — é a
324
+ * alternativa a fazer o módulo de origem ler a tabela do provedor, que é
325
+ * exatamente o acoplamento que este contrato existe para evitar.
326
+ */
327
+ listChatMessages?(input: ListMeetingChatMessagesInput): Promise<MeetingChatMessage[]>;
256
328
  }
257
329
  /**
258
330
  * Registro dos provedores de reunião, no mesmo padrão do WebhookProtocolRegistry:
@@ -1 +1 @@
1
- {"version":3,"file":"meeting-provider.registry.d.ts","sourceRoot":"","sources":["../../src/meeting/meeting-provider.registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"meeting-provider.registry.d.ts","sourceRoot":"","sources":["../../src/meeting/meeting-provider.registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,KAAK,EAAE,IAAI,CAAC;IACZ,8DAA8D;IAC9D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4DAA4D;IAC5D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,0CAA0C;IAC1C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,iBAAiB,EAAE,MAAM,CAAC;IAC1B,6DAA6D;IAC7D,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,MAAM,mBAAmB,GAC3B,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG,cAAc,CAAC,GAC/B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD,iEAAiE;AACjE,MAAM,WAAW,2BAA2B;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,KAAK,EAAE,IAAI,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,8BAA8B;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,mEAAmE;IACnE,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;CAC1B;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC7C,UAAU,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;;;;;;OAOG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,yEAAyE;IACzE,eAAe,EACX,eAAe,GACf,SAAS,GACT,UAAU,GACV,aAAa,GACb,QAAQ,CAAC;IACb,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;;;;;OAOG;IACH,kBAAkB,EAAE,IAAI,GAAG,IAAI,CAAC;IAChC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,IAAI,GAAG,IAAI,CAAC;IACjC;;;;;;;OAOG;IACH,uBAAuB,EAAE,IAAI,GAAG,IAAI,CAAC;IACrC,wBAAwB,EAAE,IAAI,GAAG,IAAI,CAAC;IACtC;;;;;;OAMG;IACH,eAAe,EAAE,sBAAsB,GAAG,IAAI,CAAC;CAChD;AAED;;;;;GAKG;AACH,MAAM,WAAW,+BAA+B;IAC9C,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,2BAA2B;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,sBAAsB;AAChC,oDAAoD;AAClD,aAAa;AACf,uEAAuE;GACrE,SAAS;AACX,mEAAmE;GACjE,eAAe;AACjB,2CAA2C;GACzC,QAAQ,CAAC;AAEb;;;;;;;;GAQG;AACH,MAAM,WAAW,4BAA4B;IAC3C,EAAE,EAAE,OAAO,CAAC;IACZ,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,4BAA4B;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oEAAoE;IACpE,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAClE,gEAAgE;IAChE,cAAc,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC7E,qFAAqF;IACrF,cAAc,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD;;;;;;OAMG;IACH,eAAe,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE;;;OAGG;IACH,aAAa,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D;;;OAGG;IACH,kBAAkB,CAAC,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,iFAAiF;IACjF,YAAY,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAC/D;;;;;;;;;;;;OAYG;IACH,mBAAmB,CAAC,CAClB,KAAK,EAAE,+BAA+B,GACrC,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAAC,CAAC;IAChD;;;;;OAKG;IACH,eAAe,CAAC,CACd,KAAK,EAAE,2BAA2B,GACjC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACzC;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,CACf,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;CAClC;AAED;;;GAGG;AACH,qBACa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IACnE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuC;IAEjE,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,gBAAgB,GAAG,IAAI;IAYlE,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,gBAAgB,GAAG,IAAI;IAKjE,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO;IAIjD,8DAA8D;IAC9D,IAAI,IAAI,MAAM,EAAE;CAGjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"meeting-provider.registry.js","sourceRoot":"","sources":["../../src/meeting/meeting-provider.registry.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAoD;AAiRpD;;;GAGG;AAEI,IAAM,uBAAuB,+BAA7B,MAAM,uBAAuB;IAA7B;QACY,WAAM,GAAG,IAAI,eAAM,CAAC,yBAAuB,CAAC,IAAI,CAAC,CAAC;QAClD,cAAS,GAAG,IAAI,GAAG,EAA4B,CAAC;IA2BnE,CAAC;IAzBC,QAAQ,CAAC,QAAgB,EAAE,cAAgC;QACzD,MAAM,GAAG,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAE/D,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gCAAgC,GAAG,GAAG,CAAC,CAAC;IAC1D,CAAC;IAED,GAAG,CAAC,QAAmC;;QACrC,MAAM,GAAG,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACxC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,CAAC;IAED,GAAG,CAAC,QAAmC;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;IACrC,CAAC;IAED,8DAA8D;IAC9D,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;CACF,CAAA;AA7BY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,mBAAU,GAAE;GACA,uBAAuB,CA6BnC;AAED,SAAS,iBAAiB,CAAC,QAAmC;IAC5D,OAAO,MAAM,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC;SAC1B,IAAI,EAAE;SACN,WAAW,EAAE,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"meeting-provider.registry.js","sourceRoot":"","sources":["../../src/meeting/meeting-provider.registry.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAoD;AAiWpD;;;GAGG;AAEI,IAAM,uBAAuB,+BAA7B,MAAM,uBAAuB;IAA7B;QACY,WAAM,GAAG,IAAI,eAAM,CAAC,yBAAuB,CAAC,IAAI,CAAC,CAAC;QAClD,cAAS,GAAG,IAAI,GAAG,EAA4B,CAAC;IA2BnE,CAAC;IAzBC,QAAQ,CAAC,QAAgB,EAAE,cAAgC;QACzD,MAAM,GAAG,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAE/D,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gCAAgC,GAAG,GAAG,CAAC,CAAC;IAC1D,CAAC;IAED,GAAG,CAAC,QAAmC;;QACrC,MAAM,GAAG,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACxC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,CAAC;IAED,GAAG,CAAC,QAAmC;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;IACrC,CAAC;IAED,8DAA8D;IAC9D,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;CACF,CAAA;AA7BY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,mBAAU,GAAE;GACA,uBAAuB,CA6BnC;AAED,SAAS,iBAAiB,CAAC,QAAmC;IAC5D,OAAO,MAAM,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC;SAC1B,IAAI,EAAE;SACN,WAAW,EAAE,CAAC;AACnB,CAAC"}
@@ -46,12 +46,54 @@ export declare class OAuthTokenBrokerService {
46
46
  private readonly cache;
47
47
  /** Refresh a bit early so an in-flight request never rides an about-to-expire token. */
48
48
  private static readonly EXPIRY_SKEW_MS;
49
+ /**
50
+ * Quantas vezes seguir um refresh token que outro processo rotacionou.
51
+ *
52
+ * Duas bastam na prática: a corrida acontece quando várias réplicas disparam
53
+ * o mesmo tick de cron, e a segunda tentativa já parte do token que a
54
+ * vencedora gravou. O teto existe para o caso patológico de rotações
55
+ * encadeadas não virar laço.
56
+ */
57
+ private static readonly MAX_ROTATION_RETRIES;
49
58
  constructor(http: HttpService, setting: SettingService, prisma: PrismaService, security: SecurityService);
50
59
  /** Normalizes a provider to the enum form stored in `user_account.provider`. */
51
60
  private toAccountProvider;
52
61
  /** Setting slug that points at the integration profile for this provider. */
53
62
  private profileSettingSlug;
54
63
  private resolveProviderConfig;
64
+ /**
65
+ * Lê uma coluna `Bytes` que guarda texto cifrado.
66
+ *
67
+ * O Prisma 6 passou a devolver `Bytes` como `Uint8Array`, e não mais como
68
+ * `Buffer`. Os dois têm `.toString()`, mas com significados opostos: o do
69
+ * Buffer decodifica os bytes como utf8 ("salt:iv:tag:cifra"), o do
70
+ * Uint8Array imprime os bytes em decimal separados por vírgula
71
+ * ("115,97,108,116,..."). O `SecurityService.decrypt` então não achava as 4
72
+ * partes separadas por ":" e lançava — e como toda conta caía nesse mesmo
73
+ * erro, a mensagem final era "reconecte a conta", que nenhuma reconexão
74
+ * resolvia. `Buffer.from` normaliza os dois casos.
75
+ */
76
+ private readEncryptedColumn;
77
+ /**
78
+ * Resumo do erro do provedor para o log. Usa só `error` e `error_description`
79
+ * — campos que a Microsoft e o Google preenchem com código e explicação
80
+ * (AADSTS…), nunca com credencial. O corpo inteiro não vai para o log: a
81
+ * requisição que falhou carrega o client_secret e o refresh token.
82
+ */
83
+ private describeGrantError;
84
+ /**
85
+ * Relê o refresh token do banco para ver se outro processo já o rotacionou.
86
+ *
87
+ * Devolve `true` só quando o valor guardado é DIFERENTE do que acabou de
88
+ * falhar — é isso que distingue uma corrida entre réplicas (vale tentar de
89
+ * novo, agora com o token novo) de uma revogação de verdade (não adianta
90
+ * insistir). Comparar os valores importa: sem essa checagem, uma conta
91
+ * realmente desconectada entraria em laço de tentativas.
92
+ *
93
+ * Nunca lança: qualquer problema aqui vira "não rotacionou", e quem chamou
94
+ * segue para o erro original, que é a informação correta a dar ao usuário.
95
+ */
96
+ private reloadRotatedRefreshToken;
55
97
  private loadUserAccount;
56
98
  private parseScopes;
57
99
  /** Scopes granted to the stored refresh token, from `user_account.scopes`. */
@@ -65,7 +107,14 @@ export declare class OAuthTokenBrokerService {
65
107
  *
66
108
  * @throws {OAuthTokenBrokerError} with a typed `reason` on any failure.
67
109
  */
68
- getAccessToken(userId: number, provider: string): Promise<BrokeredAccessToken>;
110
+ getAccessToken(userId: number, provider: string,
111
+ /**
112
+ * Profundidade da retentativa após uma rotação concorrente. Existe para a
113
+ * recursão ter fim: numa corrida entre muitas réplicas, cada uma pode
114
+ * rotacionar de novo entre a nossa falha e a releitura, e sem teto duas
115
+ * réplicas azaradas ficariam se revezando indefinidamente.
116
+ */
117
+ attempt?: number): Promise<BrokeredAccessToken>;
69
118
  /** Drops any cached access token for a user/provider (e.g. after disconnect). */
70
119
  invalidate(userId: number, provider: string): void;
71
120
  }
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-token-broker.service.d.ts","sourceRoot":"","sources":["../../src/oauth/oauth-token-broker.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAC9B,eAAe,GACf,iBAAiB,GACjB,eAAe,GACf,yBAAyB,GACzB,kBAAkB,CAAC;AAEvB,qBAAa,qBAAsB,SAAQ,KAAK;IAE5C,QAAQ,CAAC,MAAM,EAAE,sBAAsB;IAEvC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;gBAHf,MAAM,EAAE,sBAAsB,EACvC,OAAO,EAAE,MAAM,EACN,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,OAAO;CAK3B;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,SAAS,EAAE,IAAI,CAAC;IAChB,4FAA4F;IAC5F,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAcD;;;;;;;;;;;;;GAaG;AACH,qBACa,uBAAuB;IAUhC,OAAO,CAAC,QAAQ,CAAC,IAAI;IAErB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAb3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IAEnE,2DAA2D;IAC3D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IAEvD,wFAAwF;IACxF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAa;gBAGhC,IAAI,EAAE,WAAW,EAEjB,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,eAAe;IAG5C,gFAAgF;IAChF,OAAO,CAAC,iBAAiB;IAQzB,6EAA6E;IAC7E,OAAO,CAAC,kBAAkB;YAaZ,qBAAqB;YA4DrB,eAAe;IAyB7B,OAAO,CAAC,WAAW;IAOnB,8EAA8E;IACxE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAQ3E,gFAAgF;IAC1E,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQrE,OAAO,CAAC,QAAQ;IAIhB;;;;;OAKG;IACG,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,mBAAmB,CAAC;IA4H/B,iFAAiF;IACjF,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;CAGnD"}
1
+ {"version":3,"file":"oauth-token-broker.service.d.ts","sourceRoot":"","sources":["../../src/oauth/oauth-token-broker.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAC9B,eAAe,GACf,iBAAiB,GACjB,eAAe,GACf,yBAAyB,GACzB,kBAAkB,CAAC;AAEvB,qBAAa,qBAAsB,SAAQ,KAAK;IAE5C,QAAQ,CAAC,MAAM,EAAE,sBAAsB;IAEvC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;gBAHf,MAAM,EAAE,sBAAsB,EACvC,OAAO,EAAE,MAAM,EACN,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,OAAO;CAK3B;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,SAAS,EAAE,IAAI,CAAC;IAChB,4FAA4F;IAC5F,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAcD;;;;;;;;;;;;;GAaG;AACH,qBACa,uBAAuB;IAoBhC,OAAO,CAAC,QAAQ,CAAC,IAAI;IAErB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAvB3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IAEnE,2DAA2D;IAC3D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IAEvD,wFAAwF;IACxF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAa;IAEnD;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAK;gBAG9B,IAAI,EAAE,WAAW,EAEjB,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,eAAe;IAG5C,gFAAgF;IAChF,OAAO,CAAC,iBAAiB;IAQzB,6EAA6E;IAC7E,OAAO,CAAC,kBAAkB;YAaZ,qBAAqB;IA4DnC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;;;;;;;;;;OAWG;YACW,yBAAyB;YAqBzB,eAAe;IAyB7B,OAAO,CAAC,WAAW;IAOnB,8EAA8E;IACxE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAQ3E,gFAAgF;IAC1E,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQrE,OAAO,CAAC,QAAQ;IAIhB;;;;;OAKG;IACG,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM;IAChB;;;;;OAKG;IACH,OAAO,SAAI,GACV,OAAO,CAAC,mBAAmB,CAAC;IA0K/B,iFAAiF;IACjF,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;CAGnD"}
@@ -110,6 +110,63 @@ let OAuthTokenBrokerService = OAuthTokenBrokerService_1 = class OAuthTokenBroker
110
110
  }
111
111
  return { tokenUrl, clientId, clientSecret };
112
112
  }
113
+ /**
114
+ * Lê uma coluna `Bytes` que guarda texto cifrado.
115
+ *
116
+ * O Prisma 6 passou a devolver `Bytes` como `Uint8Array`, e não mais como
117
+ * `Buffer`. Os dois têm `.toString()`, mas com significados opostos: o do
118
+ * Buffer decodifica os bytes como utf8 ("salt:iv:tag:cifra"), o do
119
+ * Uint8Array imprime os bytes em decimal separados por vírgula
120
+ * ("115,97,108,116,..."). O `SecurityService.decrypt` então não achava as 4
121
+ * partes separadas por ":" e lançava — e como toda conta caía nesse mesmo
122
+ * erro, a mensagem final era "reconecte a conta", que nenhuma reconexão
123
+ * resolvia. `Buffer.from` normaliza os dois casos.
124
+ */
125
+ readEncryptedColumn(value) {
126
+ return Buffer.from(value).toString();
127
+ }
128
+ /**
129
+ * Resumo do erro do provedor para o log. Usa só `error` e `error_description`
130
+ * — campos que a Microsoft e o Google preenchem com código e explicação
131
+ * (AADSTS…), nunca com credencial. O corpo inteiro não vai para o log: a
132
+ * requisição que falhou carrega o client_secret e o refresh token.
133
+ */
134
+ describeGrantError(error) {
135
+ var _a, _b, _c;
136
+ const data = (_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data;
137
+ const code = (_b = data === null || data === void 0 ? void 0 : data.error) !== null && _b !== void 0 ? _b : 'unknown';
138
+ const description = String((_c = data === null || data === void 0 ? void 0 : data.error_description) !== null && _c !== void 0 ? _c : '')
139
+ .replace(/\s+/g, ' ')
140
+ .trim();
141
+ return description ? `${code}: ${description.slice(0, 300)}` : code;
142
+ }
143
+ /**
144
+ * Relê o refresh token do banco para ver se outro processo já o rotacionou.
145
+ *
146
+ * Devolve `true` só quando o valor guardado é DIFERENTE do que acabou de
147
+ * falhar — é isso que distingue uma corrida entre réplicas (vale tentar de
148
+ * novo, agora com o token novo) de uma revogação de verdade (não adianta
149
+ * insistir). Comparar os valores importa: sem essa checagem, uma conta
150
+ * realmente desconectada entraria em laço de tentativas.
151
+ *
152
+ * Nunca lança: qualquer problema aqui vira "não rotacionou", e quem chamou
153
+ * segue para o erro original, que é a informação correta a dar ao usuário.
154
+ */
155
+ async reloadRotatedRefreshToken(userId, provider, usedRefreshToken) {
156
+ try {
157
+ const account = await this.prisma.user_account.findFirst({
158
+ where: { user_id: userId, provider: this.toAccountProvider(provider) },
159
+ select: { refresh_token: true },
160
+ });
161
+ if (!(account === null || account === void 0 ? void 0 : account.refresh_token))
162
+ return false;
163
+ const stored = this.security.decrypt(this.readEncryptedColumn(account.refresh_token));
164
+ return Boolean(stored) && stored !== usedRefreshToken;
165
+ }
166
+ catch (_a) {
167
+ return false;
168
+ }
169
+ }
113
170
  async loadUserAccount(userId, provider) {
114
171
  const account = await this.prisma.user_account.findFirst({
115
172
  where: {
@@ -159,7 +216,14 @@ let OAuthTokenBrokerService = OAuthTokenBrokerService_1 = class OAuthTokenBroker
159
216
  *
160
217
  * @throws {OAuthTokenBrokerError} with a typed `reason` on any failure.
161
218
  */
162
- async getAccessToken(userId, provider) {
219
+ async getAccessToken(userId, provider,
220
+ /**
221
+ * Profundidade da retentativa após uma rotação concorrente. Existe para a
222
+ * recursão ter fim: numa corrida entre muitas réplicas, cada uma pode
223
+ * rotacionar de novo entre a nossa falha e a releitura, e sem teto duas
224
+ * réplicas azaradas ficariam se revezando indefinidamente.
225
+ */
226
+ attempt = 0) {
163
227
  var _a, _b, _c;
164
228
  const key = this.cacheKey(userId, provider);
165
229
  const cached = this.cache.get(key);
@@ -173,9 +237,18 @@ let OAuthTokenBrokerService = OAuthTokenBrokerService_1 = class OAuthTokenBroker
173
237
  ]);
174
238
  let decryptedRefreshToken;
175
239
  try {
176
- decryptedRefreshToken = this.security.decrypt(account.refresh_token.toString());
240
+ decryptedRefreshToken = this.security.decrypt(this.readEncryptedColumn(account.refresh_token));
177
241
  }
178
242
  catch (error) {
243
+ // Este caminho e o `invalid_grant` lá embaixo chegam ao usuário com a
244
+ // MESMA frase ("reconecte a conta"), e as causas não têm nada a ver uma
245
+ // com a outra: aqui o valor guardado não abre, lá é a Microsoft recusando
246
+ // o grant. Sem distinguir no log, não há como saber qual dos dois ocorreu.
247
+ // A mensagem do decrypt separa os dois motivos possíveis daqui — formato
248
+ // inválido (o valor lido não é o cifrado) e falha de autenticação (chave
249
+ // diferente da que cifrou) —, e é truncada porque ela ecoa o começo do
250
+ // valor que tentou decifrar.
251
+ this.logger.warn(`Stored refresh token could not be decrypted: provider=${provider} userId=${userId} detail=${error instanceof Error ? error.message.split('Value:')[0].trim() : 'unknown'}`);
179
252
  throw new OAuthTokenBrokerError('refresh_revoked', `Failed to decrypt stored refresh token for "${provider}".`, provider, error);
180
253
  }
181
254
  const grantedScopes = this.parseScopes(account.scopes);
@@ -201,8 +274,28 @@ let OAuthTokenBrokerService = OAuthTokenBrokerService_1 = class OAuthTokenBroker
201
274
  catch (error) {
202
275
  const providerError = (_b = (_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.error;
203
276
  if (providerError === 'invalid_grant') {
204
- // Refresh token revoked/expired — the user must reconnect.
205
277
  this.cache.delete(key);
278
+ // Antes de declarar a conta desconectada, checa se outro processo
279
+ // rotacionou o token enquanto este fazia a troca.
280
+ //
281
+ // A Microsoft emite um refresh token novo a cada troca e invalida o
282
+ // anterior, então basta duas réplicas usarem o mesmo token ao mesmo
283
+ // tempo para a segunda levar `invalid_grant` — e este serviço roda em
284
+ // seis. Sem esta releitura, uma corrida entre réplicas era reportada ao
285
+ // usuário como "reconecte a conta", e reconectar não resolvia nada,
286
+ // porque a corrida se repetia no ciclo seguinte.
287
+ const rotated = attempt < OAuthTokenBrokerService_1.MAX_ROTATION_RETRIES &&
288
+ (await this.reloadRotatedRefreshToken(userId, provider, decryptedRefreshToken));
289
+ if (rotated) {
290
+ this.logger.log(`Refresh token was rotated by another process; retrying: provider=${provider} userId=${userId} attempt=${attempt + 1}`);
291
+ return this.getAccessToken(userId, provider, attempt + 1);
292
+ }
293
+ // Nada mudou no banco: o grant foi mesmo recusado. O `error_description`
294
+ // do provedor é a única coisa que diz POR QUÊ (na Microsoft, o código
295
+ // AADSTS: token expirado, consentimento faltando, acesso condicional).
296
+ // Sem ele no log, "reconecte a conta" é tudo que sobra para diagnosticar
297
+ // — e reconectar não resolve a maioria desses casos.
298
+ this.logger.warn(`Refresh grant rejected: provider=${provider} userId=${userId} scopesSent="${scopeParam.join(' ')}" detail=${this.describeGrantError(error)}`);
206
299
  throw new OAuthTokenBrokerError('refresh_revoked', `Refresh token for "${provider}" is no longer valid. Reconnect the account.`, provider, error);
207
300
  }
208
301
  this.logger.warn(`Token refresh failed: provider=${provider} userId=${userId} error=${(_c = providerError !== null && providerError !== void 0 ? providerError : error === null || error === void 0 ? void 0 : error.message) !== null && _c !== void 0 ? _c : 'unknown'}`);
@@ -247,6 +340,15 @@ let OAuthTokenBrokerService = OAuthTokenBrokerService_1 = class OAuthTokenBroker
247
340
  exports.OAuthTokenBrokerService = OAuthTokenBrokerService;
248
341
  /** Refresh a bit early so an in-flight request never rides an about-to-expire token. */
249
342
  OAuthTokenBrokerService.EXPIRY_SKEW_MS = 60 * 1000;
343
+ /**
344
+ * Quantas vezes seguir um refresh token que outro processo rotacionou.
345
+ *
346
+ * Duas bastam na prática: a corrida acontece quando várias réplicas disparam
347
+ * o mesmo tick de cron, e a segunda tentativa já parte do token que a
348
+ * vencedora gravou. O teto existe para o caso patológico de rotações
349
+ * encadeadas não virar laço.
350
+ */
351
+ OAuthTokenBrokerService.MAX_ROTATION_RETRIES = 2;
250
352
  exports.OAuthTokenBrokerService = OAuthTokenBrokerService = OAuthTokenBrokerService_1 = __decorate([
251
353
  (0, common_1.Injectable)(),
252
354
  __param(1, (0, common_1.Inject)((0, common_1.forwardRef)(() => setting_service_1.SettingService))),
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-token-broker.service.js","sourceRoot":"","sources":["../../src/oauth/oauth-token-broker.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-token-broker.service.js","sourceRoot":"","sources":["../../src/oauth/oauth-token-broker.service.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,12 @@ export declare class MicrosoftEntraIdProvider extends BaseOAuthProvider {
13
13
  private static readonly API_CALLBACK_PATH;
14
14
  private static readonly API_BOUNCE_APPS;
15
15
  private loadConfig;
16
+ /**
17
+ * Escopos que a Microsoft devolveu no token, ou `null` quando ela não
18
+ * informou — só nesse caso vale cair de volta para os escopos pedidos.
19
+ * Uma lista vazia é resposta legítima e não pode virar "assume o pedido".
20
+ */
21
+ private parseGrantedScopes;
16
22
  /** Absolute redirect URI the web flow registers/exchanges against (the API). */
17
23
  private buildApiRedirectUri;
18
24
  getAuthUrl(callbackPath: string, flow?: 'login' | 'register' | 'connect', app?: string): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"microsoft-entra-id.provider.d.ts","sourceRoot":"","sources":["../../../src/oauth/providers/microsoft-entra-id.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,qBACa,wBAAyB,SAAQ,iBAAiB;IAM3D,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IANzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6C;gBAGlE,IAAI,EAAE,WAAW,EAEA,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,aAAa;IAKxC,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,gBAAgB;IASxB,eAAe;IAMf,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAwC;IAOjF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAsD;YAE/E,UAAU;IA+BxB,gFAAgF;IAChF,OAAO,CAAC,mBAAmB;IASrB,UAAU,CACd,YAAY,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,EACvC,GAAG,CAAC,EAAE,MAAM;IAsCR,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CA8DjF"}
1
+ {"version":3,"file":"microsoft-entra-id.provider.d.ts","sourceRoot":"","sources":["../../../src/oauth/providers/microsoft-entra-id.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,qBACa,wBAAyB,SAAQ,iBAAiB;IAM3D,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IANzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6C;gBAGlE,IAAI,EAAE,WAAW,EAEA,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,aAAa;IAKxC,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,gBAAgB;IASxB,eAAe;IAMf,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAwC;IAOjF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAsD;YAE/E,UAAU;IA+BxB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAQ1B,gFAAgF;IAChF,OAAO,CAAC,mBAAmB;IASrB,UAAU,CACd,YAAY,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,EACvC,GAAG,CAAC,EAAE,MAAM;IAsCR,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CA4EjF"}
@@ -68,6 +68,19 @@ let MicrosoftEntraIdProvider = MicrosoftEntraIdProvider_1 = class MicrosoftEntra
68
68
  apiUrl: String((_c = settings['api-url']) !== null && _c !== void 0 ? _c : ''),
69
69
  };
70
70
  }
71
+ /**
72
+ * Escopos que a Microsoft devolveu no token, ou `null` quando ela não
73
+ * informou — só nesse caso vale cair de volta para os escopos pedidos.
74
+ * Uma lista vazia é resposta legítima e não pode virar "assume o pedido".
75
+ */
76
+ parseGrantedScopes(scope) {
77
+ if (typeof scope !== 'string')
78
+ return null;
79
+ return scope
80
+ .split(/[\s,]+/)
81
+ .map((item) => item.trim())
82
+ .filter(Boolean);
83
+ }
71
84
  /** Absolute redirect URI the web flow registers/exchanges against (the API). */
72
85
  buildApiRedirectUri(apiUrl) {
73
86
  if (!String(apiUrl).trim()) {
@@ -107,7 +120,7 @@ let MicrosoftEntraIdProvider = MicrosoftEntraIdProvider_1 = class MicrosoftEntra
107
120
  return `https://login.microsoftonline.com/${tenantId}/oauth2/v2.0/authorize?${params.toString()}`;
108
121
  }
109
122
  async getProfile(code, type, redirectUri) {
110
- var _a, _b, _c, _d, _e;
123
+ var _a, _b, _c, _d, _e, _f;
111
124
  let resolvedRedirectUri = '';
112
125
  try {
113
126
  const { clientId, clientSecret, tenantId, baseUrl } = await this.loadConfig();
@@ -124,14 +137,27 @@ let MicrosoftEntraIdProvider = MicrosoftEntraIdProvider_1 = class MicrosoftEntra
124
137
  redirectUri: resolvedRedirectUri,
125
138
  });
126
139
  const profile = await this.fetchProfile(token.access_token, 'https://graph.microsoft.com/v1.0/me');
127
- this.logger.log(`OAuth profile fetched: provider=MICROSOFT-ENTRA-ID type=${type} profileIdPresent=${(profile === null || profile === void 0 ? void 0 : profile.id) ? 'yes' : 'no'} emailPresent=${(profile === null || profile === void 0 ? void 0 : profile.mail) || (profile === null || profile === void 0 ? void 0 : profile.userPrincipalName) ? 'yes' : 'no'}`);
140
+ // `token.scope` é o que a Microsoft de fato consentiu, que pode ser MENOS
141
+ // do que a setting pede — consentimento antigo do usuário, ou escopo novo
142
+ // ainda sem aprovação do admin. Gravar a setting como se fosse o concedido
143
+ // faz o refresh seguinte pedir escopo que o grant não cobre, e aí a
144
+ // resposta é `invalid_grant`: a UI diz "reconecte a conta", e reconectar
145
+ // pelo login regrava a mesma setting, então nunca sai do lugar.
146
+ const grantedScopes = (_c = this.parseGrantedScopes(token.scope)) !== null && _c !== void 0 ? _c : scopes;
147
+ // A Microsoft não repete `offline_access` em `token.scope`, mas ter
148
+ // devolvido um refresh token é prova de que foi concedido.
149
+ if (token.refresh_token && !grantedScopes.includes('offline_access')) {
150
+ grantedScopes.push('offline_access');
151
+ }
152
+ const missing = scopes.filter((scope) => !grantedScopes.includes(scope));
153
+ this.logger.log(`OAuth profile fetched: provider=MICROSOFT-ENTRA-ID type=${type} profileIdPresent=${(profile === null || profile === void 0 ? void 0 : profile.id) ? 'yes' : 'no'} emailPresent=${(profile === null || profile === void 0 ? void 0 : profile.mail) || (profile === null || profile === void 0 ? void 0 : profile.userPrincipalName) ? 'yes' : 'no'} scopesGranted=${grantedScopes.length}/${scopes.length}${missing.length ? ` missing=${missing.join(' ')}` : ''}`);
128
154
  const pictureUrl = 'https://graph.microsoft.com/v1.0/me/photo/$value';
129
155
  return {
130
156
  id: profile.id,
131
157
  email: profile.mail || profile.userPrincipalName,
132
158
  name: profile.displayName,
133
159
  picture: pictureUrl,
134
- oauth_scopes: scopes.join(','),
160
+ oauth_scopes: grantedScopes.join(','),
135
161
  oauth_tokens: {
136
162
  access_token: token.access_token,
137
163
  refresh_token: token.refresh_token,
@@ -148,7 +174,7 @@ let MicrosoftEntraIdProvider = MicrosoftEntraIdProvider_1 = class MicrosoftEntra
148
174
  throw error;
149
175
  }
150
176
  const mappedError = this.mapProviderError('Microsoft Entra ID', error);
151
- this.logger.warn(`OAuth callback failed: provider=MICROSOFT-ENTRA-ID status=${(_c = mappedError.status) !== null && _c !== void 0 ? _c : 'unknown'} error=${(_d = mappedError.providerError) !== null && _d !== void 0 ? _d : 'unknown'} providerCode=${(_e = mappedError.providerErrorCode) !== null && _e !== void 0 ? _e : 'n/a'} reason=${mappedError.reason} redirectUri=${resolvedRedirectUri || 'unresolved'}`);
177
+ this.logger.warn(`OAuth callback failed: provider=MICROSOFT-ENTRA-ID status=${(_d = mappedError.status) !== null && _d !== void 0 ? _d : 'unknown'} error=${(_e = mappedError.providerError) !== null && _e !== void 0 ? _e : 'unknown'} providerCode=${(_f = mappedError.providerErrorCode) !== null && _f !== void 0 ? _f : 'n/a'} reason=${mappedError.reason} redirectUri=${resolvedRedirectUri || 'unresolved'}`);
152
178
  throw mappedError;
153
179
  }
154
180
  }
@@ -1 +1 @@
1
- {"version":3,"file":"microsoft-entra-id.provider.js","sourceRoot":"","sources":["../../../src/oauth/providers/microsoft-entra-id.provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"microsoft-entra-id.provider.js","sourceRoot":"","sources":["../../../src/oauth/providers/microsoft-entra-id.provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { SafeSvg } from '../pdf-document.types';
2
+ import { ChartBaseOptions, ChartSeries } from './chart-primitives';
3
+ /** Barras verticais, uma faixa por categoria. */
4
+ export declare function barChartSvg(options: ChartBaseOptions & {
5
+ categories: string[];
6
+ series: ChartSeries[];
7
+ stacked?: boolean;
8
+ yMax?: number;
9
+ yTicks?: number;
10
+ showValues?: boolean;
11
+ legend?: boolean;
12
+ }): SafeSvg;
13
+ /**
14
+ * Barras horizontais — a forma certa quando o rótulo é um nome (curso, aluno),
15
+ * que deitado vira texto girado e ilegível.
16
+ */
17
+ export declare function horizontalBarChartSvg(options: ChartBaseOptions & {
18
+ categories: string[];
19
+ series: ChartSeries[];
20
+ xMax?: number;
21
+ labelWidth?: number;
22
+ showValues?: boolean;
23
+ }): SafeSvg;
24
+ //# sourceMappingURL=chart-bar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart-bar.d.ts","sourceRoot":"","sources":["../../../../src/pdf/document/charts/chart-bar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAIL,gBAAgB,EAChB,WAAW,EASZ,MAAM,oBAAoB,CAAC;AAiC5B,iDAAiD;AACjD,wBAAgB,WAAW,CACzB,OAAO,EAAE,gBAAgB,GAAG;IAC1B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GACA,OAAO,CAmFT;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,gBAAgB,GAAG;IAC1B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GACA,OAAO,CA4DT"}