@rubytech/create-maxy-code 0.1.280 → 0.1.281

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 (201) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/lib/mcp-spawn-tee/dist/index.d.ts +31 -43
  3. package/payload/platform/lib/mcp-spawn-tee/dist/index.d.ts.map +1 -1
  4. package/payload/platform/lib/mcp-spawn-tee/dist/index.js +112 -85
  5. package/payload/platform/lib/mcp-spawn-tee/dist/index.js.map +1 -1
  6. package/payload/platform/lib/mcp-spawn-tee/src/__tests__/spawn-tee.test.ts +111 -0
  7. package/payload/platform/lib/mcp-spawn-tee/src/index.ts +113 -84
  8. package/payload/platform/lib/mcp-spawn-tee/tsconfig.json +2 -1
  9. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +3 -1
  10. package/payload/platform/plugins/docs/references/platform.md +2 -0
  11. package/payload/platform/plugins/email/PLUGIN.md +1 -1
  12. package/payload/platform/plugins/email/mcp/dist/__tests__/attachment-resolve.test.d.ts +2 -0
  13. package/payload/platform/plugins/email/mcp/dist/__tests__/attachment-resolve.test.d.ts.map +1 -0
  14. package/payload/platform/plugins/email/mcp/dist/__tests__/attachment-resolve.test.js +68 -0
  15. package/payload/platform/plugins/email/mcp/dist/__tests__/attachment-resolve.test.js.map +1 -0
  16. package/payload/platform/plugins/email/mcp/dist/__tests__/email-setup.test.d.ts +2 -0
  17. package/payload/platform/plugins/email/mcp/dist/__tests__/email-setup.test.d.ts.map +1 -0
  18. package/payload/platform/plugins/email/mcp/dist/__tests__/email-setup.test.js +55 -0
  19. package/payload/platform/plugins/email/mcp/dist/__tests__/email-setup.test.js.map +1 -0
  20. package/payload/platform/plugins/email/mcp/dist/__tests__/providers.test.d.ts +2 -0
  21. package/payload/platform/plugins/email/mcp/dist/__tests__/providers.test.d.ts.map +1 -0
  22. package/payload/platform/plugins/email/mcp/dist/__tests__/providers.test.js +110 -0
  23. package/payload/platform/plugins/email/mcp/dist/__tests__/providers.test.js.map +1 -0
  24. package/payload/platform/plugins/email/mcp/dist/__tests__/recipient-filter.test.d.ts +2 -0
  25. package/payload/platform/plugins/email/mcp/dist/__tests__/recipient-filter.test.d.ts.map +1 -0
  26. package/payload/platform/plugins/email/mcp/dist/__tests__/recipient-filter.test.js +57 -0
  27. package/payload/platform/plugins/email/mcp/dist/__tests__/recipient-filter.test.js.map +1 -0
  28. package/payload/platform/plugins/email/mcp/dist/index.js +8 -1
  29. package/payload/platform/plugins/email/mcp/dist/index.js.map +1 -1
  30. package/payload/platform/plugins/email/mcp/dist/lib/attachment-resolve.d.ts +5 -0
  31. package/payload/platform/plugins/email/mcp/dist/lib/attachment-resolve.d.ts.map +1 -1
  32. package/payload/platform/plugins/email/mcp/dist/lib/attachment-resolve.js +35 -5
  33. package/payload/platform/plugins/email/mcp/dist/lib/attachment-resolve.js.map +1 -1
  34. package/payload/platform/plugins/email/mcp/dist/lib/imap.d.ts +13 -8
  35. package/payload/platform/plugins/email/mcp/dist/lib/imap.d.ts.map +1 -1
  36. package/payload/platform/plugins/email/mcp/dist/lib/imap.js +26 -15
  37. package/payload/platform/plugins/email/mcp/dist/lib/imap.js.map +1 -1
  38. package/payload/platform/plugins/email/mcp/dist/lib/ingest-batch.d.ts +8 -0
  39. package/payload/platform/plugins/email/mcp/dist/lib/ingest-batch.d.ts.map +1 -1
  40. package/payload/platform/plugins/email/mcp/dist/lib/ingest-batch.js.map +1 -1
  41. package/payload/platform/plugins/email/mcp/dist/lib/providers.d.ts +16 -5
  42. package/payload/platform/plugins/email/mcp/dist/lib/providers.d.ts.map +1 -1
  43. package/payload/platform/plugins/email/mcp/dist/lib/providers.js +120 -13
  44. package/payload/platform/plugins/email/mcp/dist/lib/providers.js.map +1 -1
  45. package/payload/platform/plugins/email/mcp/dist/tools/email-fetch.js +3 -3
  46. package/payload/platform/plugins/email/mcp/dist/tools/email-fetch.js.map +1 -1
  47. package/payload/platform/plugins/email/mcp/dist/tools/email-reply.d.ts.map +1 -1
  48. package/payload/platform/plugins/email/mcp/dist/tools/email-reply.js +5 -3
  49. package/payload/platform/plugins/email/mcp/dist/tools/email-reply.js.map +1 -1
  50. package/payload/platform/plugins/email/mcp/dist/tools/email-send.d.ts.map +1 -1
  51. package/payload/platform/plugins/email/mcp/dist/tools/email-send.js +6 -3
  52. package/payload/platform/plugins/email/mcp/dist/tools/email-send.js.map +1 -1
  53. package/payload/platform/plugins/email/mcp/dist/tools/email-setup.d.ts.map +1 -1
  54. package/payload/platform/plugins/email/mcp/dist/tools/email-setup.js +22 -4
  55. package/payload/platform/plugins/email/mcp/dist/tools/email-setup.js.map +1 -1
  56. package/payload/platform/plugins/email/mcp/package.json +4 -2
  57. package/payload/platform/plugins/email/mcp/vitest.config.ts +9 -0
  58. package/payload/platform/plugins/email/references/email-reference.md +22 -5
  59. package/payload/platform/plugins/email/skills/email-composition/SKILL.md +1 -1
  60. package/payload/platform/plugins/graph/PLUGIN.md +2 -0
  61. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/kd-classify-account-dir.test.d.ts +2 -0
  62. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/kd-classify-account-dir.test.d.ts.map +1 -0
  63. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/kd-classify-account-dir.test.js +31 -0
  64. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/kd-classify-account-dir.test.js.map +1 -0
  65. package/payload/platform/plugins/memory/mcp/dist/tools/kd-classify.d.ts +5 -0
  66. package/payload/platform/plugins/memory/mcp/dist/tools/kd-classify.d.ts.map +1 -1
  67. package/payload/platform/plugins/memory/mcp/dist/tools/kd-classify.js +21 -2
  68. package/payload/platform/plugins/memory/mcp/dist/tools/kd-classify.js.map +1 -1
  69. package/payload/platform/plugins/url-get/mcp/dist/tools/url-get.js +5 -5
  70. package/payload/platform/plugins/url-get/mcp/dist/tools/url-get.js.map +1 -1
  71. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
  72. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +7 -1
  73. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
  74. package/payload/server/public/assets/AdminShell-FO766lOW.js +1 -0
  75. package/payload/server/public/assets/{Checkbox-2reCESkb.js → Checkbox-syHoU9nY.js} +1 -1
  76. package/payload/server/public/assets/{admin-BpnsTEa3.js → admin-0_VxffD5.js} +1 -1
  77. package/payload/server/public/assets/{arc-BgelqC_3.js → arc-BW1WhwmV.js} +1 -1
  78. package/payload/server/public/assets/architecture-YZFGNWBL-xHbVjatf.js +1 -0
  79. package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-BabnAZJm.js → architectureDiagram-Q4EWVU46-DsionCio.js} +1 -1
  80. package/payload/server/public/assets/{blockDiagram-DXYQGD6D-BJzZqNsy.js → blockDiagram-DXYQGD6D-NOG5yVZk.js} +1 -1
  81. package/payload/server/public/assets/{browser-fgBRZ5gK.js → browser-Cxjkhtsk.js} +1 -1
  82. package/payload/server/public/assets/{c4Diagram-AHTNJAMY-By-xuh9F.js → c4Diagram-AHTNJAMY-DwFV1k9I.js} +1 -1
  83. package/payload/server/public/assets/channel-D8Go_zJk.js +1 -0
  84. package/payload/server/public/assets/{chunk-2KRD3SAO-Gj2dSpBl.js → chunk-2KRD3SAO-CKn-bEkI.js} +1 -1
  85. package/payload/server/public/assets/{chunk-336JU56O-2PXVPCUA.js → chunk-336JU56O-iJ4ISPCi.js} +2 -2
  86. package/payload/server/public/assets/chunk-426QAEUC-sWe0Iexz.js +1 -0
  87. package/payload/server/public/assets/{chunk-4BX2VUAB-9XIBlnC2.js → chunk-4BX2VUAB-B2mSmC97.js} +1 -1
  88. package/payload/server/public/assets/{chunk-4TB4RGXK-Cr3mXPnI.js → chunk-4TB4RGXK-kKNYi2_i.js} +1 -1
  89. package/payload/server/public/assets/{chunk-55IACEB6-Ccg46J3A.js → chunk-55IACEB6-JLT9m7Hd.js} +1 -1
  90. package/payload/server/public/assets/{chunk-5FUZZQ4R-Cz9MvPKc.js → chunk-5FUZZQ4R-Car3r0he.js} +1 -1
  91. package/payload/server/public/assets/{chunk-5PVQY5BW-BleOdlgO.js → chunk-5PVQY5BW-DR9EfLvj.js} +1 -1
  92. package/payload/server/public/assets/{chunk-67CJDMHE-CyCYCQWy.js → chunk-67CJDMHE-CCdP3Pdx.js} +1 -1
  93. package/payload/server/public/assets/{chunk-7N4EOEYR-KpT3uHzH.js → chunk-7N4EOEYR-bXgVzdM9.js} +1 -1
  94. package/payload/server/public/assets/{chunk-AA7GKIK3-BfOzbuxq.js → chunk-AA7GKIK3-CYeDvY8B.js} +1 -1
  95. package/payload/server/public/assets/{chunk-BSJP7CBP-Bq0M3wlv.js → chunk-BSJP7CBP-U0Fi-Ers.js} +1 -1
  96. package/payload/server/public/assets/{chunk-CIAEETIT-CR-2dNaL.js → chunk-CIAEETIT-C8QrV6Gg.js} +1 -1
  97. package/payload/server/public/assets/{chunk-EDXVE4YY-egUGMTOS.js → chunk-EDXVE4YY-DLUWVRZV.js} +1 -1
  98. package/payload/server/public/assets/{chunk-ENJZ2VHE-CQohBEFw.js → chunk-ENJZ2VHE-B4bNJo6C.js} +1 -1
  99. package/payload/server/public/assets/{chunk-FMBD7UC4-DIxBUbLP.js → chunk-FMBD7UC4-DxAQS3UB.js} +1 -1
  100. package/payload/server/public/assets/{chunk-FOC6F5B3-C2694Zoq.js → chunk-FOC6F5B3-CyIK3zeY.js} +1 -1
  101. package/payload/server/public/assets/{chunk-ICPOFSXX-DpXZKHyn.js → chunk-ICPOFSXX-Qzl8Ki0l.js} +2 -2
  102. package/payload/server/public/assets/{chunk-K5T4RW27-CUicG0Rp.js → chunk-K5T4RW27-7GcDzjyJ.js} +1 -1
  103. package/payload/server/public/assets/{chunk-KGLVRYIC-B5mPJhOr.js → chunk-KGLVRYIC-B7pAr9hf.js} +1 -1
  104. package/payload/server/public/assets/{chunk-LIHQZDEY-q81QhuMs.js → chunk-LIHQZDEY-DEoU2jrz.js} +1 -1
  105. package/payload/server/public/assets/{chunk-ORNJ4GCN-DgurdFZs.js → chunk-ORNJ4GCN-BwMFuN24.js} +1 -1
  106. package/payload/server/public/assets/{chunk-OYMX7WX6-CxqMRu2d.js → chunk-OYMX7WX6-BenBO6O_.js} +1 -1
  107. package/payload/server/public/assets/chunk-QZHKN3VN-CHE_iZO7.js +1 -0
  108. package/payload/server/public/assets/{chunk-U2HBQHQK-BSLctJC9.js → chunk-U2HBQHQK-DewM8R0D.js} +1 -1
  109. package/payload/server/public/assets/{chunk-X2U36JSP--0AUeeFl.js → chunk-X2U36JSP-C22Q6Ea4.js} +1 -1
  110. package/payload/server/public/assets/{chunk-XPW4576I-D-hf9Bcn.js → chunk-XPW4576I-BA0a8Ygs.js} +1 -1
  111. package/payload/server/public/assets/{chunk-YZCP3GAM-PvOhSwI9.js → chunk-YZCP3GAM-DfUUNTnA.js} +1 -1
  112. package/payload/server/public/assets/{chunk-ZZ45TVLE-1zPUlNWz.js → chunk-ZZ45TVLE-CUT6zma2.js} +1 -1
  113. package/payload/server/public/assets/classDiagram-6PBFFD2Q-BLb1mzrT.js +1 -0
  114. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-Ctj5qYTS.js +1 -0
  115. package/payload/server/public/assets/clone-DGZ2vydA.js +1 -0
  116. package/payload/server/public/assets/{cose-bilkent-S5V4N54A-Cvo-gkBd.js → cose-bilkent-S5V4N54A-Df_JmB8E.js} +1 -1
  117. package/payload/server/public/assets/{dagre-CMHsNfjP.js → dagre-CYXRIdv0.js} +1 -1
  118. package/payload/server/public/assets/{dagre-KV5264BT-CM1DSx4E.js → dagre-KV5264BT-D4EGb60h.js} +1 -1
  119. package/payload/server/public/assets/{data-Cuynp6Y6.js → data-BOgwOWnw.js} +1 -1
  120. package/payload/server/public/assets/{diagram-5BDNPKRD-VDHiHwEI.js → diagram-5BDNPKRD-BzieCEfT.js} +1 -1
  121. package/payload/server/public/assets/{diagram-G4DWMVQ6-OKdufoeW.js → diagram-G4DWMVQ6-DDbO71XD.js} +1 -1
  122. package/payload/server/public/assets/{diagram-MMDJMWI5-Yg6QdCA1.js → diagram-MMDJMWI5-DqQ_UXDA.js} +1 -1
  123. package/payload/server/public/assets/{diagram-TYMM5635-CpEMZQDu.js → diagram-TYMM5635-CFyxA1aZ.js} +1 -1
  124. package/payload/server/public/assets/{dist-811BIK0R.js → dist-BmvZ8OaX.js} +1 -1
  125. package/payload/server/public/assets/{erDiagram-SMLLAGMA-Dw5gAkFM.js → erDiagram-SMLLAGMA-BMaEBbOK.js} +1 -1
  126. package/payload/server/public/assets/{flatten-BsWEYbBB.js → flatten-Bo6YRmWl.js} +1 -1
  127. package/payload/server/public/assets/{flowDiagram-DWJPFMVM-Cy_R1XHz.js → flowDiagram-DWJPFMVM-De5ChZQP.js} +1 -1
  128. package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-BYARP_eH.js → ganttDiagram-T4ZO3ILL-CXEMPVaK.js} +1 -1
  129. package/payload/server/public/assets/gitGraph-7Q5UKJZL-CmHdoS27.js +1 -0
  130. package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-BGOe0unY.js → gitGraphDiagram-UUTBAWPF-OZedr_6y.js} +1 -1
  131. package/payload/server/public/assets/{graph-Ddg24bjy.js → graph-BqD2GjQd.js} +2 -2
  132. package/payload/server/public/assets/{graph-labels-eOrWYy0R.js → graph-labels-DSDTSBfM.js} +1 -1
  133. package/payload/server/public/assets/{graphlib-DaefxCga.js → graphlib-CN4nhD2U.js} +1 -1
  134. package/payload/server/public/assets/info-OMHHGYJF-DTA9msO-.js +1 -0
  135. package/payload/server/public/assets/infoDiagram-42DDH7IO-CSqg4nRL.js +2 -0
  136. package/payload/server/public/assets/{isEmpty-BWl67LAZ.js → isEmpty-D6Kr-M1M.js} +1 -1
  137. package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-YrGuzpiI.js → ishikawaDiagram-UXIWVN3A-ChlzrZyx.js} +1 -1
  138. package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-EIykOcqg.js → journeyDiagram-VCZTEJTY-DsrK55ZO.js} +1 -1
  139. package/payload/server/public/assets/{kanban-definition-6JOO6SKY-BR0TC6Je.js → kanban-definition-6JOO6SKY-DYF-_Rym.js} +1 -1
  140. package/payload/server/public/assets/{line-DPGcT5IM.js → line-3zmwI8XK.js} +1 -1
  141. package/payload/server/public/assets/{linear-CPN03uSh.js → linear-COm19-p7.js} +1 -1
  142. package/payload/server/public/assets/{mermaid-parser.core-D7Iu4c9M.js → mermaid-parser.core-BrcX8-cl.js} +2 -2
  143. package/payload/server/public/assets/{mermaid.core-krXRpXn9.js → mermaid.core-CBdz3b1N.js} +3 -3
  144. package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-HwiCtPzN.js → mindmap-definition-QFDTVHPH-BqCqlYZb.js} +1 -1
  145. package/payload/server/public/assets/{ordinal-krseTxxN.js → ordinal-BDi6f4xk.js} +1 -1
  146. package/payload/server/public/assets/packet-4T2RLAQJ-6GjqIKgu.js +1 -0
  147. package/payload/server/public/assets/pie-ZZUOXDRM-T72DJ5JR.js +1 -0
  148. package/payload/server/public/assets/{pieDiagram-DEJITSTG-xodxyWLe.js → pieDiagram-DEJITSTG-D5LiILuM.js} +1 -1
  149. package/payload/server/public/assets/{public-xVaPcg6i.js → public-udi_Z7la.js} +3 -3
  150. package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-DuYYY4ZZ.js → quadrantDiagram-34T5L4WZ-C3iuI5l_.js} +1 -1
  151. package/payload/server/public/assets/radar-PYXPWWZC-x-6xW1dE.js +1 -0
  152. package/payload/server/public/assets/{reduce-tk-xY6Fv.js → reduce-CGi9ik8i.js} +1 -1
  153. package/payload/server/public/assets/{requirementDiagram-MS252O5E-D0ta3kru.js → requirementDiagram-MS252O5E-CTPOw5qQ.js} +1 -1
  154. package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-KdHdlzvT.js → sankeyDiagram-XADWPNL6-D_5aVlYp.js} +1 -1
  155. package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-DoSFUTQZ.js → sequenceDiagram-FGHM5R23-D7h5vocM.js} +1 -1
  156. package/payload/server/public/assets/{src-Cpl1JzME.js → src-DLEIsjER.js} +1 -1
  157. package/payload/server/public/assets/{stateDiagram-FHFEXIEX-BLW0KiSA.js → stateDiagram-FHFEXIEX-DyZjuwPj.js} +1 -1
  158. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-BiW9pGXy.js +1 -0
  159. package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-8QAzhYz1.js → timeline-definition-GMOUNBTQ-BqpVYJz_.js} +1 -1
  160. package/payload/server/public/assets/treeView-SZITEDCU-5-6wEryJ.js +1 -0
  161. package/payload/server/public/assets/treemap-W4RFUUIX-DF48Cc86.js +1 -0
  162. package/payload/server/public/assets/{useSelectionMode-DlJsX-_X.js → useSelectionMode-BPzPjKP_.js} +1 -1
  163. package/payload/server/public/assets/{vennDiagram-DHZGUBPP-BKvfScOi.js → vennDiagram-DHZGUBPP-Czflml0e.js} +1 -1
  164. package/payload/server/public/assets/wardley-RL74JXVD-duKIa6Hq.js +1 -0
  165. package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-DaMfDpJ3.js → wardleyDiagram-NUSXRM2D-Cqz3pSTK.js} +1 -1
  166. package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-BIkNQlLa.js → xychartDiagram-5P7HB3ND-CS5dEuUO.js} +1 -1
  167. package/payload/server/public/browser.html +4 -4
  168. package/payload/server/public/data.html +5 -5
  169. package/payload/server/public/graph.html +6 -6
  170. package/payload/server/public/index.html +5 -5
  171. package/payload/server/public/public.html +4 -4
  172. package/payload/server/server.js +19 -39
  173. package/payload/server/public/assets/AdminShell-C6_5h1cC.js +0 -1
  174. package/payload/server/public/assets/architecture-YZFGNWBL-YM-TtgPY.js +0 -1
  175. package/payload/server/public/assets/channel-BRPH0atd.js +0 -1
  176. package/payload/server/public/assets/chunk-426QAEUC-QhauxjvK.js +0 -1
  177. package/payload/server/public/assets/chunk-QZHKN3VN-BDAQvtxz.js +0 -1
  178. package/payload/server/public/assets/classDiagram-6PBFFD2Q-BJv89PB6.js +0 -1
  179. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-DNUszH5M.js +0 -1
  180. package/payload/server/public/assets/clone-CREg9jLM.js +0 -1
  181. package/payload/server/public/assets/gitGraph-7Q5UKJZL-CtOPqykB.js +0 -1
  182. package/payload/server/public/assets/info-OMHHGYJF-Jba5enA8.js +0 -1
  183. package/payload/server/public/assets/infoDiagram-42DDH7IO-Df9BlkPA.js +0 -2
  184. package/payload/server/public/assets/packet-4T2RLAQJ-D_eWzeAP.js +0 -1
  185. package/payload/server/public/assets/pie-ZZUOXDRM-BDiy1Ob2.js +0 -1
  186. package/payload/server/public/assets/radar-PYXPWWZC-C5mlfmtg.js +0 -1
  187. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-C5zlCV4X.js +0 -1
  188. package/payload/server/public/assets/treeView-SZITEDCU-CM-9m-cS.js +0 -1
  189. package/payload/server/public/assets/treemap-W4RFUUIX-DDHPB-Xh.js +0 -1
  190. package/payload/server/public/assets/wardley-RL74JXVD-CUb3Br4q.js +0 -1
  191. package/payload/server/public/assets/whatsapp-BE79pNh8.js +0 -1
  192. package/payload/server/public/whatsapp.html +0 -18
  193. /package/payload/server/public/assets/{_baseFor-BHtDrjIo.js → _baseFor-Cam2PbSt.js} +0 -0
  194. /package/payload/server/public/assets/{array-DetWRiSa.js → array-DYRGGQae.js} +0 -0
  195. /package/payload/server/public/assets/{chunk-CWOGyPgy.js → chunk-CnGqDkHZ.js} +0 -0
  196. /package/payload/server/public/assets/{cytoscape.esm-C9yNhe1u.js → cytoscape.esm-nWsJMTNI.js} +0 -0
  197. /package/payload/server/public/assets/{defaultLocale-_WRwicXn.js → defaultLocale-Du1XY3Dp.js} +0 -0
  198. /package/payload/server/public/assets/{init-sTEcj9YX.js → init-B5BXBRcm.js} +0 -0
  199. /package/payload/server/public/assets/{katex-s61Rgv6l.js → katex-HOUACuRw.js} +0 -0
  200. /package/payload/server/public/assets/{path-B0Ik7Tu9.js → path-CNO468J-.js} +0 -0
  201. /package/payload/server/public/assets/{rough.esm-DKRO8IF-.js → rough.esm-DRO6hWPh.js} +0 -0
@@ -20,20 +20,25 @@ export interface ProviderDefaults {
20
20
  notes?: string;
21
21
  }
22
22
  /**
23
- * Look up provider defaults from an email address domain.
24
- * Returns null for unknown domains the agent must ask the user for hosts.
23
+ * Look up provider defaults from an email address domain. Static map first,
24
+ * then a Google-MX fallback for custom domains. Returns null for unknown
25
+ * domains and for Microsoft addresses (no usable IMAP defaults — they route to
26
+ * the outlook Graph plugin); the agent must ask the user for hosts only in the
27
+ * genuinely-unknown case.
25
28
  */
26
- export declare function inferProvider(email: string): ProviderDefaults | null;
29
+ export declare function inferProvider(email: string): Promise<ProviderDefaults | null>;
27
30
  /**
28
31
  * Get provider-specific setup notes for an email domain.
29
32
  * Returns null for unknown domains or providers without notes.
30
33
  */
31
- export declare function getProviderNotes(email: string): string | null;
34
+ export declare function getProviderNotes(email: string): Promise<string | null>;
32
35
  /**
33
36
  * Result of classifying an email address before any password is requested.
34
37
  *
35
38
  * known → hosts inferred; `notes` carries the app-password / IMAP-enable
36
39
  * requirement to relay first (may be undefined for hosts with no gotcha).
40
+ * redirect → a Microsoft address; the email-plugin IMAP path is dead, so
41
+ * connect via the `outlook` Graph plugin's `registerTool`.
37
42
  * unsupported → the provider blocks IMAP/SMTP entirely; `reason` explains why.
38
43
  * unknown → no host mapping; the operator must supply hosts explicitly.
39
44
  */
@@ -42,6 +47,12 @@ export type ProviderInfo = {
42
47
  domain: string;
43
48
  defaults: ProviderDefaults;
44
49
  notes?: string;
50
+ } | {
51
+ status: "redirect";
52
+ domain: string;
53
+ plugin: string;
54
+ registerTool: string;
55
+ reason: string;
45
56
  } | {
46
57
  status: "unsupported";
47
58
  domain: string;
@@ -56,5 +67,5 @@ export type ProviderInfo = {
56
67
  * app-password / trusted-application requirement from the provider map, never
57
68
  * from the model's training memory of each provider.
58
69
  */
59
- export declare function describeProvider(email: string): ProviderInfo;
70
+ export declare function describeProvider(email: string): Promise<ProviderInfo>;
60
71
  //# sourceMappingURL=providers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/lib/providers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,KAAK,GAAG,UAAU,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,KAAK,GAAG,UAAU,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA+rBD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAIpE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG7D;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GACpB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,gBAAgB,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/E;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAEjD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAW5D"}
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/lib/providers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,KAAK,GAAG,UAAU,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,KAAK,GAAG,UAAU,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA4zBD;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAKnF;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAG5E;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,GACpB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,gBAAgB,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/E;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC5F;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAEjD;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAoB3E"}
@@ -10,6 +10,7 @@
10
10
  * 465 → "tls" (SMTP implicit TLS / legacy SSL)
11
11
  * 587 → "starttls" (SMTP submission with STARTTLS)
12
12
  */
13
+ import { resolveMx } from "node:dns/promises";
13
14
  // ---------- Shared provider definitions ----------
14
15
  // Alias domains reference the same object so updates stay in sync.
15
16
  const gmail = {
@@ -19,8 +20,19 @@ const gmail = {
19
20
  smtpHost: "smtp.gmail.com",
20
21
  smtpPort: 587,
21
22
  smtpSecurity: "starttls",
22
- notes: "Requires an app-specific password (Google Account → Security → 2-Step Verification → App passwords). IMAP must be enabled in Gmail settings. Google Workspace custom domains use the same hosts.",
23
- };
23
+ notes: "Requires an app-specific password — Google retired regular-password (basic auth) sign-in in May 2025, so the normal account password will not work. Turn on 2-Step Verification, then create the password at Google Account → Security → 2-Step Verification → App passwords → Mail. For a Google Workspace custom domain the Workspace admin must also allow app passwords (Admin console → Security → Less secure apps / app passwords); if it is disabled the account needs OAuth instead. Google Workspace custom domains use the same imap.gmail.com / smtp.gmail.com hosts.",
24
+ };
25
+ // Microsoft (consumer Outlook.com + Microsoft 365) no longer has a usable
26
+ // email-plugin IMAP path: Basic auth for Exchange Online is retired and M365
27
+ // app passwords stopped working on 1 March 2026. describeProvider and
28
+ // email-setup redirect Microsoft addresses to the outlook Graph plugin. This
29
+ // one constant is both the in-source note on the (now-intercepted) outlook
30
+ // entry and the redirect reason surfaced to the operator.
31
+ const MS_REDIRECT_REASON = "Microsoft retired Basic authentication for Exchange Online IMAP/POP, and Microsoft 365 app passwords stopped working on 1 March 2026. This is not a supported email-plugin IMAP path — connect Microsoft mail through the outlook Graph plugin (run outlook-account-register) instead.";
32
+ // Retained so its domains form the Microsoft static-redirect set (detected by
33
+ // `=== outlook` reference equality in resolveProvider) and to document, in
34
+ // source, why the IMAP path is dead. The IMAP/SMTP hosts are never surfaced —
35
+ // every Microsoft address redirects before reaching them.
24
36
  const outlook = {
25
37
  imapHost: "outlook.office365.com",
26
38
  imapPort: 993,
@@ -28,7 +40,7 @@ const outlook = {
28
40
  smtpHost: "smtp.office365.com",
29
41
  smtpPort: 587,
30
42
  smtpSecurity: "starttls",
31
- notes: "Requires an app password if 2FA is enabled (Microsoft Account → Security → App passwords). Microsoft 365 custom domains use the same hosts.",
43
+ notes: MS_REDIRECT_REASON,
32
44
  };
33
45
  const icloud = {
34
46
  imapHost: "imap.mail.me.com",
@@ -636,22 +648,108 @@ const unsupportedProviders = {
636
648
  "tutamail.com": "Tuta (formerly Tutanota) encrypts mailboxes end-to-end and offers no IMAP or SMTP access — it can only be used through Tuta's own apps or desktop client. This email account cannot be connected here.",
637
649
  "keemail.me": "Tuta (formerly Tutanota) encrypts mailboxes end-to-end and offers no IMAP or SMTP access — it can only be used through Tuta's own apps or desktop client. This email account cannot be connected here.",
638
650
  };
651
+ // ---------- MX-lookup fallback (shared resolution core) ----------
652
+ // Custom domains absent from the static map may still be Google-hosted
653
+ // (Google Workspace) or Microsoft 365. One MX lookup classifies both: Google
654
+ // MX → the gmail entry; Microsoft 365 MX → a redirect to the outlook Graph
655
+ // plugin (the email-plugin IMAP path for Microsoft is dead). Any other MX and
656
+ // resolution failure → unknown (unchanged behaviour).
657
+ /** Short, stable provider label for the observability line. */
658
+ function providerLabel(defaults) {
659
+ return defaults === gmail ? "gmail" : defaults.imapHost;
660
+ }
661
+ /** True when any MX exchange is a Google mail host. */
662
+ function isGoogleMx(exchanges) {
663
+ return exchanges.some((raw) => {
664
+ const ex = raw.toLowerCase().replace(/\.$/, "");
665
+ return (ex === "google.com" ||
666
+ ex === "googlemail.com" ||
667
+ ex.endsWith(".google.com") ||
668
+ ex.endsWith(".googlemail.com"));
669
+ });
670
+ }
671
+ /** True when any MX exchange is a Microsoft 365 mail host. */
672
+ function isMicrosoftMx(exchanges) {
673
+ return exchanges.some((raw) => {
674
+ const ex = raw.toLowerCase().replace(/\.$/, "");
675
+ return ex === "outlook.com" || ex.endsWith(".mail.protection.outlook.com");
676
+ });
677
+ }
678
+ /**
679
+ * Resolve a domain's MX records and classify them once. Emits one
680
+ * `[email] mx-lookup` line on every call (match, no-match, or error) so a
681
+ * detection miss is never silent. Returns "none" on an unrecognised MX set
682
+ * and on any resolution error.
683
+ */
684
+ async function resolveByMx(domain) {
685
+ const start = Date.now();
686
+ try {
687
+ const records = await resolveMx(domain);
688
+ const exchanges = records.map((r) => r.exchange);
689
+ const matched = isGoogleMx(exchanges)
690
+ ? "gmail"
691
+ : isMicrosoftMx(exchanges)
692
+ ? "microsoft"
693
+ : "none";
694
+ const ms = Date.now() - start;
695
+ process.stderr.write(`[email] mx-lookup domain=${domain} records=${records.length} matched=${matched} ms=${ms}\n`);
696
+ return matched;
697
+ }
698
+ catch (err) {
699
+ const msg = err instanceof Error ? err.message : String(err);
700
+ process.stderr.write(`[email] mx-lookup domain=${domain} outcome=error err=${msg}\n`);
701
+ return "none";
702
+ }
703
+ }
704
+ /**
705
+ * Shared provider resolution: static map first, then the MX fallback. Emits
706
+ * `[email] provider-resolve` so the source (static|mx|unknown) and outcome of
707
+ * every lookup is greppable; Microsoft is logged as `status=redirect
708
+ * plugin=outlook`. Does NOT consult unsupportedProviders; callers that
709
+ * distinguish unsupported (describeProvider) check it first.
710
+ */
711
+ async function resolveProvider(domain) {
712
+ const staticHit = providers[domain];
713
+ if (staticHit) {
714
+ if (staticHit === outlook) {
715
+ process.stderr.write(`[email] provider-resolve domain=${domain} source=static status=redirect plugin=outlook\n`);
716
+ return { kind: "microsoft" };
717
+ }
718
+ process.stderr.write(`[email] provider-resolve domain=${domain} source=static provider=${providerLabel(staticHit)}\n`);
719
+ return { kind: "known", defaults: staticHit };
720
+ }
721
+ const mx = await resolveByMx(domain);
722
+ if (mx === "gmail") {
723
+ process.stderr.write(`[email] provider-resolve domain=${domain} source=mx provider=${providerLabel(gmail)}\n`);
724
+ return { kind: "known", defaults: gmail };
725
+ }
726
+ if (mx === "microsoft") {
727
+ process.stderr.write(`[email] provider-resolve domain=${domain} source=mx status=redirect plugin=outlook\n`);
728
+ return { kind: "microsoft" };
729
+ }
730
+ process.stderr.write(`[email] provider-resolve domain=${domain} source=unknown provider=none\n`);
731
+ return { kind: "unknown" };
732
+ }
639
733
  /**
640
- * Look up provider defaults from an email address domain.
641
- * Returns null for unknown domains the agent must ask the user for hosts.
734
+ * Look up provider defaults from an email address domain. Static map first,
735
+ * then a Google-MX fallback for custom domains. Returns null for unknown
736
+ * domains and for Microsoft addresses (no usable IMAP defaults — they route to
737
+ * the outlook Graph plugin); the agent must ask the user for hosts only in the
738
+ * genuinely-unknown case.
642
739
  */
643
- export function inferProvider(email) {
740
+ export async function inferProvider(email) {
644
741
  const domain = email.split("@")[1]?.toLowerCase();
645
742
  if (!domain)
646
743
  return null;
647
- return providers[domain] ?? null;
744
+ const r = await resolveProvider(domain);
745
+ return r.kind === "known" ? r.defaults : null;
648
746
  }
649
747
  /**
650
748
  * Get provider-specific setup notes for an email domain.
651
749
  * Returns null for unknown domains or providers without notes.
652
750
  */
653
- export function getProviderNotes(email) {
654
- const defaults = inferProvider(email);
751
+ export async function getProviderNotes(email) {
752
+ const defaults = await inferProvider(email);
655
753
  return defaults?.notes ?? null;
656
754
  }
657
755
  /**
@@ -660,16 +758,25 @@ export function getProviderNotes(email) {
660
758
  * app-password / trusted-application requirement from the provider map, never
661
759
  * from the model's training memory of each provider.
662
760
  */
663
- export function describeProvider(email) {
761
+ export async function describeProvider(email) {
664
762
  const domain = email.split("@")[1]?.toLowerCase() ?? null;
665
763
  if (!domain)
666
764
  return { status: "unknown", domain: null };
667
765
  const unsupported = unsupportedProviders[domain];
668
766
  if (unsupported)
669
767
  return { status: "unsupported", domain, reason: unsupported };
670
- const defaults = providers[domain];
671
- if (defaults)
672
- return { status: "known", domain, defaults, notes: defaults.notes };
768
+ const r = await resolveProvider(domain);
769
+ if (r.kind === "microsoft") {
770
+ return {
771
+ status: "redirect",
772
+ domain,
773
+ plugin: "outlook",
774
+ registerTool: "outlook-account-register",
775
+ reason: MS_REDIRECT_REASON,
776
+ };
777
+ }
778
+ if (r.kind === "known")
779
+ return { status: "known", domain, defaults: r.defaults, notes: r.defaults.notes };
673
780
  return { status: "unknown", domain };
674
781
  }
675
782
  //# sourceMappingURL=providers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/lib/providers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/lib/providers.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { loadCredentials, readPollState } from "../lib/credentials.js";
2
- import { fetchSinceUid } from "../lib/imap.js";
2
+ import { fetchSinceUid, resolveDefaultRecipients } from "../lib/imap.js";
3
3
  import { putBatch } from "../lib/ingest-batch.js";
4
4
  /**
5
5
  * List new inbox messages since a UID high-water mark, without writing to
@@ -16,7 +16,7 @@ export async function emailFetch(params) {
16
16
  const { config, password } = credResult.credentials;
17
17
  const pollState = await readPollState(params.accountId);
18
18
  const sinceUid = params.since_uid ?? pollState?.lastFetchedUid ?? 0;
19
- const { uidValidity, emails, maxUid } = await fetchSinceUid(config, password, sinceUid, config.agentAddress);
19
+ const { uidValidity, emails, maxUid } = await fetchSinceUid(config, password, sinceUid, resolveDefaultRecipients(config));
20
20
  console.error(`[email-fetch] tag=email-fetch listed=${emails.length} sinceUid=${sinceUid}`);
21
21
  if (emails.length === 0) {
22
22
  return `No new messages since UID ${sinceUid}.`;
@@ -25,7 +25,7 @@ export async function emailFetch(params) {
25
25
  putBatch(params.accountId, {
26
26
  uidValidity,
27
27
  maxUid,
28
- recipientAddress: config.agentAddress,
28
+ recipientAddress: config.email,
29
29
  messages: emails,
30
30
  });
31
31
  const lines = emails.map((m) => {
@@ -1 +1 @@
1
- {"version":3,"file":"email-fetch.js","sourceRoot":"","sources":["../../src/tools/email-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAOlD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAmB;IAClD,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC3D,IAAI,OAAO,IAAI,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7D,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC;IAEpD,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,IAAI,SAAS,EAAE,cAAc,IAAI,CAAC,CAAC;IAEpE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CACzD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,YAAY,CAChD,CAAC;IAEF,OAAO,CAAC,KAAK,CACX,wCAAwC,MAAM,CAAC,MAAM,aAAa,QAAQ,EAAE,CAC7E,CAAC;IAEF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,6BAA6B,QAAQ,GAAG,CAAC;IAClD,CAAC;IAED,6CAA6C;IAC7C,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE;QACzB,WAAW;QACX,MAAM;QACN,gBAAgB,EAAE,MAAM,CAAC,YAAY;QACrC,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG;YACb,QAAQ,CAAC,CAAC,GAAG,EAAE;YACf,eAAe,CAAC,CAAC,SAAS,IAAI,WAAW,EAAE;YAC3C,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;YAC1E,YAAY,CAAC,CAAC,OAAO,EAAE;YACvB,SAAS,CAAC,CAAC,IAAI,EAAE;SAClB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YACzC,CAAC,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC,MAAM,MAAM,CAAC,CAAC,WAAW;iBACxD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,SAAS,CAAC;iBACjE,IAAI,CAAC,IAAI,CAAC,EAAE;YACjB,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,UAAU,OAAO,CAAC;IAC9C,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,MAAM,MAAM,GAAG;QACb,EAAE;QACF,UAAU,MAAM,CAAC,MAAM,6BAA6B,QAAQ,0CAA0C;QACtG,4HAA4H;KAC7H,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO,GAAG,KAAK,KAAK,MAAM,EAAE,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"email-fetch.js","sourceRoot":"","sources":["../../src/tools/email-fetch.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"email-reply.d.ts","sourceRoot":"","sources":["../../src/tools/email-reply.ts"],"names":[],"mappings":"AAKA,UAAU,WAAW;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAUD,wBAAsB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAyErE"}
1
+ {"version":3,"file":"email-reply.d.ts","sourceRoot":"","sources":["../../src/tools/email-reply.ts"],"names":[],"mappings":"AAKA,UAAU,WAAW;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAUD,wBAAsB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CA2ErE"}
@@ -1,7 +1,7 @@
1
1
  import { loadCredentials } from "../lib/credentials.js";
2
2
  import { sendEmail, formatCopyNote } from "../lib/smtp.js";
3
3
  import { fetchEnvelopeByMessageId } from "../lib/imap.js";
4
- import { resolveOutboundAttachments, formatAttachNote } from "../lib/attachment-resolve.js";
4
+ import { resolveOutboundAttachments, formatAttachNote, accountDirFor } from "../lib/attachment-resolve.js";
5
5
  /**
6
6
  * Strip duplicate Re:/RE:/re: prefixes and prepend a single Re:.
7
7
  */
@@ -15,8 +15,10 @@ export async function emailReply(params) {
15
15
  throw new Error(result.error);
16
16
  const { config, password } = result.credentials;
17
17
  // Validate attachment paths before any IMAP work so a bad path fails fast
18
- // with a clean error and no envelope lookup or send is attempted.
19
- const attachments = resolveOutboundAttachments(process.env.ACCOUNT_DIR, params.attachments);
18
+ // with a clean error and no envelope lookup or send is attempted. Task 714 —
19
+ // validate against the sending account's dir (params.accountId is
20
+ // authoritative), not an ambient ACCOUNT_DIR.
21
+ const attachments = resolveOutboundAttachments(accountDirFor(params.accountId), params.attachments);
20
22
  // Resolve the original message via IMAP (the graph no longer stores
21
23
  // per-message envelopes — see Task 445).
22
24
  const envelope = await fetchEnvelopeByMessageId(config, password, params.messageId);
@@ -1 +1 @@
1
- {"version":3,"file":"email-reply.js","sourceRoot":"","sources":["../../src/tools/email-reply.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"email-reply.js","sourceRoot":"","sources":["../../src/tools/email-reply.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"email-send.d.ts","sourceRoot":"","sources":["../../src/tools/email-send.ts"],"names":[],"mappings":"AAIA,UAAU,UAAU;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAsCnE"}
1
+ {"version":3,"file":"email-send.d.ts","sourceRoot":"","sources":["../../src/tools/email-send.ts"],"names":[],"mappings":"AAIA,UAAU,UAAU;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAyCnE"}
@@ -1,6 +1,6 @@
1
1
  import { loadCredentials } from "../lib/credentials.js";
2
2
  import { sendEmail, formatCopyNote } from "../lib/smtp.js";
3
- import { resolveOutboundAttachments, formatAttachNote } from "../lib/attachment-resolve.js";
3
+ import { resolveOutboundAttachments, formatAttachNote, accountDirFor } from "../lib/attachment-resolve.js";
4
4
  export async function emailSend(params) {
5
5
  const result = await loadCredentials(params.accountId);
6
6
  if ("error" in result)
@@ -8,8 +8,11 @@ export async function emailSend(params) {
8
8
  const { config, password } = result.credentials;
9
9
  // Validate attachment paths before the SMTP try so a bad path surfaces as a
10
10
  // clean validation error (no email sent) rather than picking up the alias
11
- // diagnostic below.
12
- const attachments = resolveOutboundAttachments(process.env.ACCOUNT_DIR, params.attachments);
11
+ // diagnostic below. Task 714 — validate against the sending account's dir
12
+ // (params.accountId is authoritative — it is the account whose credentials
13
+ // just loaded), not an ambient ACCOUNT_DIR. Falls back to the resolver's env
14
+ // path when undefined.
15
+ const attachments = resolveOutboundAttachments(accountDirFor(params.accountId), params.attachments);
13
16
  try {
14
17
  // Append AI provenance disclosure (EU AI Act Code of Practice)
15
18
  const bodyWithDisclosure = params.body + "\n\n---\nThis message was generated by AI.";
@@ -1 +1 @@
1
- {"version":3,"file":"email-send.js","sourceRoot":"","sources":["../../src/tools/email-send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAa5F,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAkB;IAChD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACvD,IAAI,OAAO,IAAI,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAErD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC;IAEhD,4EAA4E;IAC5E,0EAA0E;IAC1E,oBAAoB;IACpB,MAAM,WAAW,GAAG,0BAA0B,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAE5F,IAAI,CAAC;QACH,+DAA+D;QAC/D,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,GAAG,4CAA4C,CAAC;QACtF,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI;YACpC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,sJAAsJ;YACtK,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE;YACtD,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,kBAAkB;YACxB,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,OAAO,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE;YACrC,WAAW;SACZ,CAAC,CAAC;QACH,OAAO,iBAAiB,MAAM,CAAC,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC,iBAAiB,SAAS,GAAG,CAAC;IACzI,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAI,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,uBAAuB,MAAM,CAAC,YAAY,sBAAsB,MAAM,CAAC,KAAK,iGAAiG,CACpL,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"email-send.js","sourceRoot":"","sources":["../../src/tools/email-send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAa3G,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAkB;IAChD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACvD,IAAI,OAAO,IAAI,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAErD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC;IAEhD,4EAA4E;IAC5E,0EAA0E;IAC1E,0EAA0E;IAC1E,2EAA2E;IAC3E,6EAA6E;IAC7E,uBAAuB;IACvB,MAAM,WAAW,GAAG,0BAA0B,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAEpG,IAAI,CAAC;QACH,+DAA+D;QAC/D,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,GAAG,4CAA4C,CAAC;QACtF,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI;YACpC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,sJAAsJ;YACtK,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE;YACtD,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,kBAAkB;YACxB,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,OAAO,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE;YACrC,WAAW;SACZ,CAAC,CAAC;QACH,OAAO,iBAAiB,MAAM,CAAC,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC,iBAAiB,SAAS,GAAG,CAAC;IACzI,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAI,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,uBAAuB,MAAM,CAAC,YAAY,sBAAsB,MAAM,CAAC,KAAK,iGAAiG,CACpL,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"email-setup.d.ts","sourceRoot":"","sources":["../../src/tools/email-setup.ts"],"names":[],"mappings":"AA0CA,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;IAC7D,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC,CAkID"}
1
+ {"version":3,"file":"email-setup.d.ts","sourceRoot":"","sources":["../../src/tools/email-setup.ts"],"names":[],"mappings":"AA0CA,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;IAC7D,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC,CAuJD"}
@@ -1,6 +1,6 @@
1
1
  import { spawnSync } from "node:child_process";
2
2
  import { writeConfig, writePassword, removeConfig, checkAddressBinding, writeBindingConfig, } from "../lib/credentials.js";
3
- import { inferProvider, getProviderNotes } from "../lib/providers.js";
3
+ import { describeProvider } from "../lib/providers.js";
4
4
  import * as imap from "../lib/imap.js";
5
5
  import * as smtp from "../lib/smtp.js";
6
6
  /**
@@ -37,9 +37,27 @@ function stripStaleEmailFetchCron() {
37
37
  }
38
38
  export async function emailSetup(params) {
39
39
  const { email, password, accountId } = params;
40
- // Infer provider defaults if hosts not explicitly provided
41
- const provider = inferProvider(email);
42
- const providerNotes = getProviderNotes(email) ?? undefined;
40
+ // Resolve the provider once (static map MX fallback). This runs regardless
41
+ // of supplied hosts, because a Microsoft address must be refused even when the
42
+ // operator hand-enters office365 hosts: the email-plugin IMAP path is dead
43
+ // (Basic auth retired; M365 app passwords ended 1 March 2026). Microsoft mail
44
+ // connects through the outlook Graph plugin, not email-setup.
45
+ const info = await describeProvider(email);
46
+ if (info.status === "redirect") {
47
+ process.stderr.write(`[email] setup-redirect domain=${info.domain} target=${info.plugin} reason=ms-basic-auth-retired\n`);
48
+ return {
49
+ success: false,
50
+ message: `${email} is a Microsoft (Outlook.com / Microsoft 365) address. ${info.reason} Do not retry email-setup for this address — run ${info.registerTool} on the ${info.plugin} plugin to connect it.`,
51
+ };
52
+ }
53
+ // Use inferred host defaults only when a host is actually missing. When the
54
+ // operator supplies both hosts, the inferred fields are discarded below by the
55
+ // `??` chain and the domain-derived note could describe a different provider
56
+ // than the hosts in use, so both are skipped. The describeProvider call above
57
+ // is the single resolution; notes come from the same result.
58
+ const needsInference = !params.imapHost || !params.smtpHost;
59
+ const provider = needsInference && info.status === "known" ? info.defaults : null;
60
+ const providerNotes = needsInference && info.status === "known" ? info.notes : undefined;
43
61
  const agentAddress = params.agentAddress?.trim() || email;
44
62
  const config = {
45
63
  email,
@@ -1 +1 @@
1
- {"version":3,"file":"email-setup.js","sourceRoot":"","sources":["../../src/tools/email-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"email-setup.js","sourceRoot":"","sources":["../../src/tools/email-setup.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,8 @@
6
6
  "main": "dist/index.js",
7
7
  "scripts": {
8
8
  "build": "tsc",
9
- "start": "node dist/index.js"
9
+ "start": "node dist/index.js",
10
+ "test": "vitest run"
10
11
  },
11
12
  "dependencies": {
12
13
  "@modelcontextprotocol/sdk": "^1.12.1",
@@ -17,6 +18,7 @@
17
18
  "devDependencies": {
18
19
  "@types/node": "^22.0.0",
19
20
  "@types/nodemailer": "^6.4.17",
20
- "typescript": "^5.7.0"
21
+ "typescript": "^5.7.0",
22
+ "vitest": "^4.1.7"
21
23
  }
22
24
  }
@@ -0,0 +1,9 @@
1
+ import { defineConfig } from "vitest/config";
2
+
3
+ export default defineConfig({
4
+ test: {
5
+ environment: "node",
6
+ include: ["src/**/__tests__/**/*.test.ts"],
7
+ testTimeout: 10_000,
8
+ },
9
+ });
@@ -6,9 +6,10 @@ Full reference for the email plugin. Load with `plugin-read` when detailed confi
6
6
 
7
7
  Setup is two steps in plain chat, in this order. **Do the provider lookup before asking for any password** — most providers reject the normal login password and require a credential the operator has to mint in the provider's own settings, so asking for "the password" first sends them down a path that cannot work.
8
8
 
9
- **Step 1 — look up the provider.** As soon as you have the email address, call `email-provider-info` with it. The tool returns one of three outcomes:
9
+ **Step 1 — look up the provider.** As soon as you have the email address, call `email-provider-info` with it. The tool returns one of four outcomes:
10
10
 
11
11
  - **Known provider** — it gives the IMAP/SMTP hosts (already inferred, no need to ask) and the provider's specific requirement: an app-specific password, a trusted-device/IMAP toggle, enabling IMAP on a paid plan, etc. Relay that requirement to the operator and wait for them to create the credential in their provider's settings. Name the provider and the step it needs — that is the whole point of this tool.
12
+ - **Microsoft (redirect)** — an Outlook.com / Hotmail / Live / Microsoft 365 address (consumer domains, or a custom domain whose MX is Microsoft). The email plugin's IMAP path for Microsoft is dead — Microsoft retired Basic auth for Exchange Online and M365 app passwords stopped working on 1 March 2026 — so the tool does **not** return hosts. Do not call `email-setup`. Connect the account through the `outlook` Graph plugin instead: run `outlook-account-register`. See § Microsoft / Microsoft 365 below.
12
13
  - **Unsupported provider** — some providers (e.g. Tuta/Tutanota) deliberately offer no IMAP/SMTP at all. The tool says so; tell the operator this account cannot be connected here, and stop.
13
14
  - **Unknown provider** — no host mapping. Ask the operator for the IMAP host/port and SMTP host/port (their provider's "mail client" / "IMAP/SMTP" help page lists these) along with the password.
14
15
 
@@ -28,6 +29,22 @@ On success, confirm "credentials stored" and the inbox count. On failure, relay
28
29
 
29
30
  The agent never displays stored passwords.
30
31
 
32
+ ### Google / Google Workspace
33
+
34
+ `email-provider-info` returns the gmail hosts for a Google address by either path: the `gmail.com` / `googlemail.com` static entry, or — for a Google Workspace custom domain (e.g. `name@company.co.uk` whose mail is hosted by Google) — MX detection. A Workspace custom domain is no longer `unknown`: the tool resolves its MX records, sees Google as the mail host, and returns `imap.gmail.com` / `smtp.gmail.com`. There is no host guessing.
35
+
36
+ For any Google address, **require an app password — never the regular account password.** Google retired regular-password (basic auth) sign-in in May 2025, so the login password cannot work for IMAP/SMTP. Walk the operator through generating one: Google Account → Security → turn on 2-Step Verification (required first) → App passwords → Mail → generate. Paste that 16-character value as `password` to `email-setup`. Do not ask for the normal password at any point.
37
+
38
+ For a Workspace custom domain there is one extra dependency: the Workspace admin must allow app passwords (Admin console → Security). If the app password is rejected at `email-setup` — an authentication failure with an app password supplied — the tenant has app passwords disabled, and the account needs OAuth instead (Task 708, not yet shipped). Relay that to the operator rather than retrying the password.
39
+
40
+ ### Microsoft / Microsoft 365
41
+
42
+ Microsoft mail does not go through the email plugin. Microsoft retired Basic authentication for Exchange Online IMAP/POP, and Microsoft 365 app passwords stopped working on 1 March 2026, so there is no IMAP path left — for consumer Outlook.com / Hotmail / Live / MSN addresses or for a custom domain whose mail is hosted by Microsoft 365 (MX records ending in `mail.protection.outlook.com`).
43
+
44
+ `email-provider-info` recognises both — the static consumer domains, and a custom M365 domain via MX detection — and returns the **redirect** outcome rather than IMAP hosts. `email-setup` likewise refuses a Microsoft address (even if you hand it `outlook.office365.com` hosts) and points back here; it never attempts a connection.
45
+
46
+ Connect the account through the **`outlook` Graph plugin** instead: run `outlook-account-register`. That plugin authorises over OAuth — it opens a Microsoft sign-in for the operator (in the headless browser) and stores the token; there is no password or app password to ask for. After registration, Microsoft mail is read with the `outlook-mail-list` / `outlook-mail-search` tools, not `email-read` / `email-search`.
47
+
31
48
  ## Reading and Searching
32
49
 
33
50
  `email-read` and `email-search` return message metadata only: UID, sender, subject, and date. Body content is not included — present results as a message list without commenting on missing bodies.
@@ -76,11 +93,11 @@ Both `email-send` and `email-reply` accept an optional `attachments` array of ab
76
93
  When `agentAddress` is set and differs from the auth email:
77
94
 
78
95
  - **Sending:** emails are sent with the agent address as the From header. SMTP authentication still uses the auth email.
79
- - **Reading/searching:** only emails whose TO header contains the agent address are returned. The agent ignores emails to other addresses on the same mailbox.
80
- - **OTP extraction:** only OTPs addressed to the agent address are found.
96
+ - **Reading/searching/fetching:** emails whose **To or Cc** header contains **either the login (auth email) or the agent address** are returned. `email-read`, `email-search`, and `email-fetch` apply the same `{login, alias}` recipient set, inspecting both To and Cc, so a reply that arrives at the login or Cc's the alias is not hidden. Pass an explicit `to=` (read/search) to narrow to one address.
97
+ - **OTP extraction:** OTPs addressed (To or Cc) to the login or the agent address are found.
81
98
  - **Status:** reports both the agent address and the auth email.
82
99
 
83
- When `agentAddress` is not set or matches the auth email, all tools behave as before — no filtering, From header uses the auth email.
100
+ When `agentAddress` is not set or matches the auth email, all tools behave as before — no recipient filter, From header uses the auth email.
84
101
 
85
102
  ## Email Persistence
86
103
 
@@ -95,7 +112,7 @@ Properties of the persistence layer:
95
112
 
96
113
  - **Operator-initiated only.** No `setInterval`, cron, or systemd timer ever invokes `email-fetch`. The operator drives every cycle.
97
114
  - **Deduplication:** Each archive is keyed by `conversationIdentity` (sha256 over `accountId + sortedParticipantElementIds`). Re-ingesting the same thread delta-appends new sections rather than duplicating.
98
- - **Alias filtering:** Only emails addressed TO the agent's `agentAddress` are listed and ingested.
115
+ - **Alias filtering:** Emails whose To or Cc carries the agent's `agentAddress` **or** the login (auth email) are listed by `email-fetch` and ingested. The fetch path uses the same `{login, alias}` recipient set, inspecting To and Cc, as `email-read`/`email-search`; when no distinct alias is configured no recipient filter is applied and every message in the UID window is listed.
99
116
  - **Semantic search:** Sections are vector-indexed via `section_embedding`, enabling natural-language search via `email-graph-query` that ranks parent archives by their best-matching section.
100
117
  - **Isolation:** Each agent sees only archives whose participants resolve to its own account scope, even when sharing a catchall mailbox.
101
118