opensentinel 2.1.1 → 3.1.1

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 (268) hide show
  1. package/README.md +354 -283
  2. package/dist/archiver-AVNBYCKQ.js +15340 -0
  3. package/dist/archiver-AVNBYCKQ.js.map +1 -0
  4. package/dist/audit-logger-OBPR7CRO.js +22 -0
  5. package/dist/auth-UOX5K2BE.js +18 -0
  6. package/dist/autonomy-ZXDBDQUJ.js +86 -0
  7. package/dist/autonomy-ZXDBDQUJ.js.map +1 -0
  8. package/dist/aws-s3-Q4LLZZPD.js +146 -0
  9. package/dist/aws-s3-Q4LLZZPD.js.map +1 -0
  10. package/dist/backup-restore-PZ7CYYB7.js +16 -0
  11. package/dist/blocks-R3PODY47.js +23 -0
  12. package/dist/bot-QRARP4UN.js +36 -0
  13. package/dist/brain-7XLLM3KC.js +56 -0
  14. package/dist/camera-monitor-M5CYKUU4.js +335 -0
  15. package/dist/camera-monitor-M5CYKUU4.js.map +1 -0
  16. package/dist/{charts-MMXM6BWW.js → charts-V7ARZNKF.js} +2 -2
  17. package/dist/chunk-22VGGA7S.js +330 -0
  18. package/dist/chunk-22VGGA7S.js.map +1 -0
  19. package/dist/chunk-35WYTA3C.js +382 -0
  20. package/dist/chunk-35WYTA3C.js.map +1 -0
  21. package/dist/chunk-3E2PSU2C.js +146 -0
  22. package/dist/chunk-3E2PSU2C.js.map +1 -0
  23. package/dist/{chunk-L3F43VPB.js → chunk-4GLYY4NN.js} +2 -2
  24. package/dist/{chunk-L3F43VPB.js.map → chunk-4GLYY4NN.js.map} +1 -1
  25. package/dist/{chunk-L3PDU3XN.js → chunk-4UOE5TUZ.js} +4 -4
  26. package/dist/{chunk-6SNHU3CY.js → chunk-66OJ3WB4.js} +2 -2
  27. package/dist/chunk-6KONMXQ6.js +297 -0
  28. package/dist/chunk-6KONMXQ6.js.map +1 -0
  29. package/dist/chunk-6PMVAAA7.js +196 -0
  30. package/dist/chunk-6PMVAAA7.js.map +1 -0
  31. package/dist/chunk-766ASQWE.js +32620 -0
  32. package/dist/chunk-766ASQWE.js.map +1 -0
  33. package/dist/chunk-7WQO5J2M.js +29 -0
  34. package/dist/chunk-7WQO5J2M.js.map +1 -0
  35. package/dist/chunk-APHSRMBS.js +148 -0
  36. package/dist/chunk-APHSRMBS.js.map +1 -0
  37. package/dist/{chunk-4LVWXUNC.js → chunk-AYUKPTSM.js} +57 -39
  38. package/dist/chunk-AYUKPTSM.js.map +1 -0
  39. package/dist/chunk-BIPYADGB.js +84 -0
  40. package/dist/chunk-BIPYADGB.js.map +1 -0
  41. package/dist/chunk-BRBWNV65.js +457 -0
  42. package/dist/chunk-BRBWNV65.js.map +1 -0
  43. package/dist/chunk-BXZ6EA52.js +382 -0
  44. package/dist/chunk-BXZ6EA52.js.map +1 -0
  45. package/dist/chunk-EVE7MIIY.js +290 -0
  46. package/dist/chunk-EVE7MIIY.js.map +1 -0
  47. package/dist/chunk-F3TTNID2.js +138 -0
  48. package/dist/chunk-F3TTNID2.js.map +1 -0
  49. package/dist/chunk-H5RQOFO2.js +190 -0
  50. package/dist/chunk-H5RQOFO2.js.map +1 -0
  51. package/dist/chunk-HN3F4WSW.js +145 -0
  52. package/dist/chunk-HN3F4WSW.js.map +1 -0
  53. package/dist/{chunk-6DRDKB45.js → chunk-I6BDYQIG.js} +20 -9
  54. package/dist/chunk-I6BDYQIG.js.map +1 -0
  55. package/dist/chunk-IZJMVV7O.js +347 -0
  56. package/dist/chunk-IZJMVV7O.js.map +1 -0
  57. package/dist/chunk-KM22GV7G.js +211 -0
  58. package/dist/chunk-KM22GV7G.js.map +1 -0
  59. package/dist/chunk-MGFBLVR7.js +103 -0
  60. package/dist/chunk-MGFBLVR7.js.map +1 -0
  61. package/dist/chunk-MQJ2ECQT.js +228 -0
  62. package/dist/chunk-MQJ2ECQT.js.map +1 -0
  63. package/dist/{chunk-F6QUZQGI.js → chunk-MXAPLSJ5.js} +2 -2
  64. package/dist/{chunk-GK3E2I7A.js → chunk-NHMBTUMW.js} +2 -2
  65. package/dist/chunk-NPRTSZIF.js +131 -0
  66. package/dist/chunk-NPRTSZIF.js.map +1 -0
  67. package/dist/chunk-O7IH7JTI.js +1898 -0
  68. package/dist/chunk-O7IH7JTI.js.map +1 -0
  69. package/dist/chunk-OCVQGBJK.js +293 -0
  70. package/dist/chunk-OCVQGBJK.js.map +1 -0
  71. package/dist/chunk-P6QINGFL.js +332 -0
  72. package/dist/chunk-P6QINGFL.js.map +1 -0
  73. package/dist/chunk-PHDZKPNE.js +91 -0
  74. package/dist/chunk-PHDZKPNE.js.map +1 -0
  75. package/dist/chunk-PLDDJCW6.js +49 -0
  76. package/dist/chunk-PTGTGXV2.js +164 -0
  77. package/dist/chunk-PTGTGXV2.js.map +1 -0
  78. package/dist/chunk-REMIY4U2.js +171 -0
  79. package/dist/chunk-REMIY4U2.js.map +1 -0
  80. package/dist/chunk-RZ4YESBG.js +141 -0
  81. package/dist/chunk-RZ4YESBG.js.map +1 -0
  82. package/dist/chunk-SAX5MHK4.js +111 -0
  83. package/dist/chunk-SAX5MHK4.js.map +1 -0
  84. package/dist/{chunk-GVJVEWHI.js → chunk-SJSUSJ47.js} +2 -2
  85. package/dist/chunk-SPPMCAKG.js +777 -0
  86. package/dist/chunk-SPPMCAKG.js.map +1 -0
  87. package/dist/chunk-SVAPX2XN.js +2441 -0
  88. package/dist/chunk-SVAPX2XN.js.map +1 -0
  89. package/dist/chunk-TVEWKIK3.js +452 -0
  90. package/dist/chunk-TVEWKIK3.js.map +1 -0
  91. package/dist/{chunk-HH2HBTQM.js → chunk-TYAGMJNV.js} +5 -5
  92. package/dist/{chunk-JXUP2X7V.js → chunk-VEHFVBLI.js} +2 -2
  93. package/dist/chunk-VNX5GMTN.js +128 -0
  94. package/dist/chunk-VNX5GMTN.js.map +1 -0
  95. package/dist/chunk-VRD5CYRL.js +1568 -0
  96. package/dist/chunk-VRD5CYRL.js.map +1 -0
  97. package/dist/chunk-WLUHNG6X.js +122 -0
  98. package/dist/chunk-WLUHNG6X.js.map +1 -0
  99. package/dist/chunk-WRAKK6K6.js +265 -0
  100. package/dist/chunk-WRAKK6K6.js.map +1 -0
  101. package/dist/chunk-XKYRH4FM.js +681 -0
  102. package/dist/chunk-XKYRH4FM.js.map +1 -0
  103. package/dist/{chunk-GUBEEYDW.js → chunk-XMCVRVTF.js} +2 -2
  104. package/dist/{chunk-GUBEEYDW.js.map → chunk-XMCVRVTF.js.map} +1 -1
  105. package/dist/chunk-ZLZKF2PM.js +310 -0
  106. package/dist/chunk-ZLZKF2PM.js.map +1 -0
  107. package/dist/cli.js +5 -1
  108. package/dist/cli.js.map +1 -1
  109. package/dist/client-ZQSFPMOB.js +21 -0
  110. package/dist/clipboard-manager-TEO2GEDN.js +24 -0
  111. package/dist/commands/setup.js +3 -3
  112. package/dist/commands/setup.js.map +1 -1
  113. package/dist/commands/start.js +3 -3
  114. package/dist/commands/status.js +2 -2
  115. package/dist/commands/stop.js +2 -2
  116. package/dist/commands/utils.js +2 -2
  117. package/dist/cron-explain-HHQKPD3M.js +16 -0
  118. package/dist/crypto-4AP47IKC.js +14 -0
  119. package/dist/crypto-4AP47IKC.js.map +1 -0
  120. package/dist/databases-37X4CI2Y.js +21 -0
  121. package/dist/databases-37X4CI2Y.js.map +1 -0
  122. package/dist/discord-B3HUPGQ6.js +70 -0
  123. package/dist/discord-B3HUPGQ6.js.map +1 -0
  124. package/dist/dist-UISMLMFN.js +21847 -0
  125. package/dist/dist-UISMLMFN.js.map +1 -0
  126. package/dist/email-K7LO2IPB.js +268 -0
  127. package/dist/email-K7LO2IPB.js.map +1 -0
  128. package/dist/enhanced-retrieval-DNLLEM4Z.js +753 -0
  129. package/dist/enhanced-retrieval-DNLLEM4Z.js.map +1 -0
  130. package/dist/enrichment-pipeline-MNHNW65K.js +13 -0
  131. package/dist/enrichment-pipeline-MNHNW65K.js.map +1 -0
  132. package/dist/entity-resolution-Y3IUWEAT.js +24 -0
  133. package/dist/entity-resolution-Y3IUWEAT.js.map +1 -0
  134. package/dist/env-IWXUVTCB.js +12 -0
  135. package/dist/env-IWXUVTCB.js.map +1 -0
  136. package/dist/google-workspace-DKWUVNGC.js +169 -0
  137. package/dist/google-workspace-DKWUVNGC.js.map +1 -0
  138. package/dist/hash-tool-ULQYD7B5.js +22 -0
  139. package/dist/hash-tool-ULQYD7B5.js.map +1 -0
  140. package/dist/heartbeat-monitor-GCISLXI3.js +22 -0
  141. package/dist/heartbeat-monitor-GCISLXI3.js.map +1 -0
  142. package/dist/image-generation-OSU7FP6F.js +486 -0
  143. package/dist/image-generation-OSU7FP6F.js.map +1 -0
  144. package/dist/imessage-NGA2XF2V.js +35 -0
  145. package/dist/imessage-NGA2XF2V.js.map +1 -0
  146. package/dist/inbox-summarizer-NRI4S7IF.js +47 -0
  147. package/dist/inbox-summarizer-NRI4S7IF.js.map +1 -0
  148. package/dist/incident-response-C5J7Q6DT.js +244 -0
  149. package/dist/incident-response-C5J7Q6DT.js.map +1 -0
  150. package/dist/inventory-manager-352OHXWD.js +24 -0
  151. package/dist/inventory-manager-352OHXWD.js.map +1 -0
  152. package/dist/jira-GSGDBMIG.js +199 -0
  153. package/dist/jira-GSGDBMIG.js.map +1 -0
  154. package/dist/json-tool-QE2SYHEG.js +26 -0
  155. package/dist/json-tool-QE2SYHEG.js.map +1 -0
  156. package/dist/key-rotation-DPHU4ZTB.js +18 -0
  157. package/dist/key-rotation-DPHU4ZTB.js.map +1 -0
  158. package/dist/lib.d.ts +603 -11
  159. package/dist/lib.js +161 -35
  160. package/dist/lib.js.map +1 -1
  161. package/dist/mailchimp-KKNF6QJ7.js +152 -0
  162. package/dist/mailchimp-KKNF6QJ7.js.map +1 -0
  163. package/dist/matrix-QVHG76I7.js +279 -0
  164. package/dist/matrix-QVHG76I7.js.map +1 -0
  165. package/dist/{mcp-LS7Q3Z5W.js → mcp-3JI6W7ZE.js} +3 -3
  166. package/dist/mcp-3JI6W7ZE.js.map +1 -0
  167. package/dist/microsoft365-UCBKJHNX.js +164 -0
  168. package/dist/microsoft365-UCBKJHNX.js.map +1 -0
  169. package/dist/ocr-AC7NPX33.js +22 -0
  170. package/dist/ocr-AC7NPX33.js.map +1 -0
  171. package/dist/ollama-BOAMSPLJ.js +8 -0
  172. package/dist/ollama-BOAMSPLJ.js.map +1 -0
  173. package/dist/pages-MI523RB7.js +26 -0
  174. package/dist/pages-MI523RB7.js.map +1 -0
  175. package/dist/pair-JDFTERIK.js +24 -0
  176. package/dist/pair-JDFTERIK.js.map +1 -0
  177. package/dist/pairing-IFQYCPNS.js +10 -0
  178. package/dist/pairing-IFQYCPNS.js.map +1 -0
  179. package/dist/pdf-ALQVOEJR.js +17 -0
  180. package/dist/pdf-ALQVOEJR.js.map +1 -0
  181. package/dist/presentations-DSV5IHG5.js +1002 -0
  182. package/dist/presentations-DSV5IHG5.js.map +1 -0
  183. package/dist/prometheus-JNT2BD4L.js +10 -0
  184. package/dist/prometheus-JNT2BD4L.js.map +1 -0
  185. package/dist/providers-J4LYPHDR.js +19 -0
  186. package/dist/providers-J4LYPHDR.js.map +1 -0
  187. package/dist/qr-code-WIX4PB4U.js +16 -0
  188. package/dist/qr-code-WIX4PB4U.js.map +1 -0
  189. package/dist/quickbooks-XB4NII2S.js +190 -0
  190. package/dist/quickbooks-XB4NII2S.js.map +1 -0
  191. package/dist/regex-tool-W4ABRKGK.js +24 -0
  192. package/dist/regex-tool-W4ABRKGK.js.map +1 -0
  193. package/dist/scheduler-VK4WFERV.js +63 -0
  194. package/dist/scheduler-VK4WFERV.js.map +1 -0
  195. package/dist/search-BCLBO5E3.js +25 -0
  196. package/dist/search-BCLBO5E3.js.map +1 -0
  197. package/dist/sendgrid-RNXCAFKM.js +152 -0
  198. package/dist/sendgrid-RNXCAFKM.js.map +1 -0
  199. package/dist/shopify-NCXYJB4R.js +171 -0
  200. package/dist/shopify-NCXYJB4R.js.map +1 -0
  201. package/dist/signal-6CGDFYL2.js +35 -0
  202. package/dist/signal-6CGDFYL2.js.map +1 -0
  203. package/dist/slack-IZQWIKOH.js +75 -0
  204. package/dist/slack-IZQWIKOH.js.map +1 -0
  205. package/dist/sms-M3JIOTCW.js +23 -0
  206. package/dist/sms-M3JIOTCW.js.map +1 -0
  207. package/dist/{src-K7GASHRH.js → src-VYUE6LRA.js} +138 -32
  208. package/dist/src-VYUE6LRA.js.map +1 -0
  209. package/dist/stocks-XXWBPOCU.js +14 -0
  210. package/dist/stocks-XXWBPOCU.js.map +1 -0
  211. package/dist/text-transform-6SGUA5Z4.js +22 -0
  212. package/dist/text-transform-6SGUA5Z4.js.map +1 -0
  213. package/dist/tools-2RLEI2N6.js +38 -0
  214. package/dist/tools-2RLEI2N6.js.map +1 -0
  215. package/dist/tunnel-IWMXUML4.js +301 -0
  216. package/dist/tunnel-IWMXUML4.js.map +1 -0
  217. package/dist/twilio-53GEW5JT.js +139 -0
  218. package/dist/twilio-53GEW5JT.js.map +1 -0
  219. package/dist/unit-converter-ZYXMEZOE.js +14 -0
  220. package/dist/unit-converter-ZYXMEZOE.js.map +1 -0
  221. package/dist/whatsapp-LFX6YKCM.js +35 -0
  222. package/dist/whatsapp-LFX6YKCM.js.map +1 -0
  223. package/dist/word-document-7B6SJMAY.js +902 -0
  224. package/dist/word-document-7B6SJMAY.js.map +1 -0
  225. package/dist/xero-QYO66D45.js +162 -0
  226. package/dist/xero-QYO66D45.js.map +1 -0
  227. package/dist/zapier-webhook-TBZ5YF2A.js +106 -0
  228. package/dist/zapier-webhook-TBZ5YF2A.js.map +1 -0
  229. package/drizzle/0002_mushy_master_mold.sql +140 -0
  230. package/drizzle/meta/0002_snapshot.json +3637 -0
  231. package/drizzle/meta/_journal.json +7 -0
  232. package/package.json +100 -98
  233. package/dist/bot-KJ26BG56.js +0 -15
  234. package/dist/chunk-4LVWXUNC.js.map +0 -1
  235. package/dist/chunk-4TG2IG5K.js +0 -5249
  236. package/dist/chunk-4TG2IG5K.js.map +0 -1
  237. package/dist/chunk-6DRDKB45.js.map +0 -1
  238. package/dist/chunk-CI6Q63MM.js +0 -1613
  239. package/dist/chunk-CI6Q63MM.js.map +0 -1
  240. package/dist/chunk-KHNYJY2Z.js +0 -178
  241. package/dist/chunk-KHNYJY2Z.js.map +0 -1
  242. package/dist/chunk-NSBPE2FW.js +0 -17
  243. package/dist/discord-ZOJFTVTB.js +0 -49
  244. package/dist/imessage-JFRB6EJ7.js +0 -14
  245. package/dist/scheduler-EZ7CZMCS.js +0 -42
  246. package/dist/signal-T3MCSULM.js +0 -14
  247. package/dist/slack-N2M4FHAJ.js +0 -54
  248. package/dist/src-K7GASHRH.js.map +0 -1
  249. package/dist/tools-24GZHYRF.js +0 -16
  250. package/dist/whatsapp-VCRUPAO5.js +0 -14
  251. /package/dist/{bot-KJ26BG56.js.map → audit-logger-OBPR7CRO.js.map} +0 -0
  252. /package/dist/{chunk-NSBPE2FW.js.map → auth-UOX5K2BE.js.map} +0 -0
  253. /package/dist/{discord-ZOJFTVTB.js.map → backup-restore-PZ7CYYB7.js.map} +0 -0
  254. /package/dist/{imessage-JFRB6EJ7.js.map → blocks-R3PODY47.js.map} +0 -0
  255. /package/dist/{mcp-LS7Q3Z5W.js.map → bot-QRARP4UN.js.map} +0 -0
  256. /package/dist/{scheduler-EZ7CZMCS.js.map → brain-7XLLM3KC.js.map} +0 -0
  257. /package/dist/{charts-MMXM6BWW.js.map → charts-V7ARZNKF.js.map} +0 -0
  258. /package/dist/{chunk-L3PDU3XN.js.map → chunk-4UOE5TUZ.js.map} +0 -0
  259. /package/dist/{chunk-6SNHU3CY.js.map → chunk-66OJ3WB4.js.map} +0 -0
  260. /package/dist/{chunk-F6QUZQGI.js.map → chunk-MXAPLSJ5.js.map} +0 -0
  261. /package/dist/{chunk-GK3E2I7A.js.map → chunk-NHMBTUMW.js.map} +0 -0
  262. /package/dist/{signal-T3MCSULM.js.map → chunk-PLDDJCW6.js.map} +0 -0
  263. /package/dist/{chunk-GVJVEWHI.js.map → chunk-SJSUSJ47.js.map} +0 -0
  264. /package/dist/{chunk-HH2HBTQM.js.map → chunk-TYAGMJNV.js.map} +0 -0
  265. /package/dist/{chunk-JXUP2X7V.js.map → chunk-VEHFVBLI.js.map} +0 -0
  266. /package/dist/{slack-N2M4FHAJ.js.map → client-ZQSFPMOB.js.map} +0 -0
  267. /package/dist/{tools-24GZHYRF.js.map → clipboard-manager-TEO2GEDN.js.map} +0 -0
  268. /package/dist/{whatsapp-VCRUPAO5.js.map → cron-explain-HHQKPD3M.js.map} +0 -0
@@ -0,0 +1,268 @@
1
+ import {
2
+ analyzeSentiment,
3
+ calculateEmailSize,
4
+ categorizeEmail,
5
+ cleanSubject,
6
+ extractActionItems,
7
+ extractEmailAddresses,
8
+ extractPhoneNumbers,
9
+ extractUrls,
10
+ generateDailyDigest,
11
+ getEmailSummary,
12
+ groupIntoThreads,
13
+ matchesFilter,
14
+ parseAttachment,
15
+ parseEmail,
16
+ parseEmailBody,
17
+ suggestReplies,
18
+ summarizeInbox,
19
+ summarizeThread
20
+ } from "./chunk-SPPMCAKG.js";
21
+ import {
22
+ ImapClient,
23
+ SmtpClient,
24
+ createImapClient,
25
+ createSmtpClient,
26
+ imap_client_exports,
27
+ init_imap_client,
28
+ init_smtp_client,
29
+ smtp_client_exports
30
+ } from "./chunk-766ASQWE.js";
31
+ import "./chunk-IZJMVV7O.js";
32
+ import "./chunk-6PMVAAA7.js";
33
+ import "./chunk-MQJ2ECQT.js";
34
+ import "./chunk-TVEWKIK3.js";
35
+ import "./chunk-BRBWNV65.js";
36
+ import "./chunk-H5RQOFO2.js";
37
+ import "./chunk-VRD5CYRL.js";
38
+ import "./chunk-KM22GV7G.js";
39
+ import "./chunk-P6QINGFL.js";
40
+ import "./chunk-HN3F4WSW.js";
41
+ import "./chunk-SVAPX2XN.js";
42
+ import "./chunk-WRAKK6K6.js";
43
+ import "./chunk-7WQO5J2M.js";
44
+ import "./chunk-BXZ6EA52.js";
45
+ import "./chunk-4GLYY4NN.js";
46
+ import "./chunk-EVE7MIIY.js";
47
+ import "./chunk-RZ4YESBG.js";
48
+ import "./chunk-CQ4JURG7.js";
49
+ import "./chunk-OCVQGBJK.js";
50
+ import "./chunk-XKYRH4FM.js";
51
+ import "./chunk-ZLZKF2PM.js";
52
+ import "./chunk-6KONMXQ6.js";
53
+ import "./chunk-22VGGA7S.js";
54
+ import "./chunk-35WYTA3C.js";
55
+ import {
56
+ __toCommonJS
57
+ } from "./chunk-PLDDJCW6.js";
58
+
59
+ // src/integrations/email/index.ts
60
+ init_imap_client();
61
+ init_smtp_client();
62
+ init_imap_client();
63
+ init_smtp_client();
64
+ var EmailClient = class {
65
+ imapClient;
66
+ smtpClient;
67
+ constructor(config) {
68
+ const { ImapClient: ImapClient2 } = (init_imap_client(), __toCommonJS(imap_client_exports));
69
+ const { SmtpClient: SmtpClient2 } = (init_smtp_client(), __toCommonJS(smtp_client_exports));
70
+ this.imapClient = new ImapClient2(config.imap);
71
+ this.smtpClient = new SmtpClient2(config.smtp);
72
+ }
73
+ /**
74
+ * Connect to the email server
75
+ */
76
+ async connect() {
77
+ await this.imapClient.connect();
78
+ await this.smtpClient.verify();
79
+ }
80
+ /**
81
+ * Disconnect from the email server
82
+ */
83
+ async disconnect() {
84
+ await this.imapClient.disconnect();
85
+ await this.smtpClient.close();
86
+ }
87
+ /**
88
+ * Get the IMAP client for reading emails
89
+ */
90
+ get imap() {
91
+ return this.imapClient;
92
+ }
93
+ /**
94
+ * Get the SMTP client for sending emails
95
+ */
96
+ get smtp() {
97
+ return this.smtpClient;
98
+ }
99
+ /**
100
+ * Fetch recent emails
101
+ */
102
+ async fetchRecent(limit = 20) {
103
+ return this.imapClient.fetchEmails("INBOX", { limit });
104
+ }
105
+ /**
106
+ * Get unread count
107
+ */
108
+ async getUnreadCount() {
109
+ return this.imapClient.getUnreadCount();
110
+ }
111
+ /**
112
+ * Send a simple text email
113
+ */
114
+ async sendText(to, subject, text) {
115
+ return this.smtpClient.sendText(to, subject, text);
116
+ }
117
+ /**
118
+ * Send an HTML email
119
+ */
120
+ async sendHtml(to, subject, html, text) {
121
+ return this.smtpClient.sendHtml(to, subject, html, text);
122
+ }
123
+ /**
124
+ * Reply to an email
125
+ */
126
+ async reply(originalEmail, options) {
127
+ return this.smtpClient.reply(originalEmail, options);
128
+ }
129
+ /**
130
+ * Search for emails
131
+ */
132
+ async search(options) {
133
+ return this.imapClient.searchEmails(options);
134
+ }
135
+ /**
136
+ * Get inbox summary using AI
137
+ */
138
+ async getInboxSummary() {
139
+ const { summarizeInbox: summarizeInbox2 } = await import("./inbox-summarizer-NRI4S7IF.js");
140
+ const emails = await this.fetchRecent(100);
141
+ return summarizeInbox2(emails);
142
+ }
143
+ /**
144
+ * Get action items from recent emails
145
+ */
146
+ async getActionItems() {
147
+ const { extractActionItems: extractActionItems2, categorizeEmail: categorizeEmail2 } = await import("./inbox-summarizer-NRI4S7IF.js");
148
+ const emails = await this.fetchRecent(50);
149
+ const allActions = [];
150
+ for (const email of emails) {
151
+ const category = await categorizeEmail2(email);
152
+ if (category.category === "action_required" || category.category === "urgent") {
153
+ const actions = await extractActionItems2(email);
154
+ allActions.push(...actions);
155
+ }
156
+ }
157
+ return allActions;
158
+ }
159
+ /**
160
+ * Generate daily digest
161
+ */
162
+ async generateDigest() {
163
+ const { generateDailyDigest: generateDailyDigest2 } = await import("./inbox-summarizer-NRI4S7IF.js");
164
+ const emails = await this.fetchRecent(100);
165
+ return generateDailyDigest2(emails);
166
+ }
167
+ };
168
+ function createEmailClient(provider, credentials, customConfig) {
169
+ const configs = {
170
+ gmail: {
171
+ imap: {
172
+ host: "imap.gmail.com",
173
+ port: 993,
174
+ secure: true,
175
+ user: credentials.user,
176
+ password: credentials.password
177
+ },
178
+ smtp: {
179
+ host: "smtp.gmail.com",
180
+ port: 465,
181
+ secure: true,
182
+ auth: { user: credentials.user, pass: credentials.password }
183
+ }
184
+ },
185
+ outlook: {
186
+ imap: {
187
+ host: "outlook.office365.com",
188
+ port: 993,
189
+ secure: true,
190
+ user: credentials.user,
191
+ password: credentials.password
192
+ },
193
+ smtp: {
194
+ host: "smtp-mail.outlook.com",
195
+ port: 587,
196
+ secure: false,
197
+ auth: { user: credentials.user, pass: credentials.password }
198
+ }
199
+ },
200
+ yahoo: {
201
+ imap: {
202
+ host: "imap.mail.yahoo.com",
203
+ port: 993,
204
+ secure: true,
205
+ user: credentials.user,
206
+ password: credentials.password
207
+ },
208
+ smtp: {
209
+ host: "smtp.mail.yahoo.com",
210
+ port: 465,
211
+ secure: true,
212
+ auth: { user: credentials.user, pass: credentials.password }
213
+ }
214
+ },
215
+ custom: {
216
+ imap: {
217
+ host: customConfig?.imap?.host || "localhost",
218
+ port: customConfig?.imap?.port || 993,
219
+ secure: customConfig?.imap?.secure ?? true,
220
+ user: credentials.user,
221
+ password: credentials.password,
222
+ ...customConfig?.imap
223
+ },
224
+ smtp: {
225
+ host: customConfig?.smtp?.host || "localhost",
226
+ port: customConfig?.smtp?.port || 587,
227
+ secure: customConfig?.smtp?.secure ?? false,
228
+ auth: { user: credentials.user, pass: credentials.password },
229
+ ...customConfig?.smtp
230
+ }
231
+ }
232
+ };
233
+ return new EmailClient(configs[provider]);
234
+ }
235
+ var email_default = {
236
+ EmailClient,
237
+ createEmailClient,
238
+ createImapClient,
239
+ createSmtpClient
240
+ };
241
+ export {
242
+ EmailClient,
243
+ ImapClient,
244
+ SmtpClient,
245
+ analyzeSentiment,
246
+ calculateEmailSize,
247
+ categorizeEmail,
248
+ cleanSubject,
249
+ createEmailClient,
250
+ createImapClient,
251
+ createSmtpClient,
252
+ email_default as default,
253
+ extractActionItems,
254
+ extractEmailAddresses,
255
+ extractPhoneNumbers,
256
+ extractUrls,
257
+ generateDailyDigest,
258
+ getEmailSummary,
259
+ groupIntoThreads,
260
+ matchesFilter,
261
+ parseAttachment,
262
+ parseEmail,
263
+ parseEmailBody,
264
+ suggestReplies,
265
+ summarizeInbox,
266
+ summarizeThread
267
+ };
268
+ //# sourceMappingURL=email-K7LO2IPB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/integrations/email/index.ts"],"sourcesContent":["// IMAP Client - Reading emails\nexport {\n ImapClient,\n createImapClient,\n type EmailConfig,\n type EmailMessage,\n type EmailAddress,\n type EmailAttachment,\n type SearchOptions,\n type FolderInfo,\n} from \"./imap-client\";\n\n// SMTP Client - Sending emails\nexport {\n SmtpClient,\n createSmtpClient,\n type SmtpConfig,\n type EmailRecipient,\n type EmailAttachment as SmtpEmailAttachment,\n type SendEmailOptions,\n type ReplyOptions,\n type SendResult,\n} from \"./smtp-client\";\n\n// Email Parser - Content parsing and threading\nexport {\n parseEmail,\n parseAttachment,\n groupIntoThreads,\n cleanSubject,\n parseEmailBody,\n extractEmailAddresses,\n extractUrls,\n extractPhoneNumbers,\n getEmailSummary,\n calculateEmailSize,\n matchesFilter,\n type ParsedEmail,\n type ThreadInfo,\n type ParsedAttachment,\n type EmailMetadata,\n type EmailThread,\n type QuotedSection,\n type EmailBodyParts,\n} from \"./email-parser\";\n\n// Inbox Summarizer - AI-powered analysis\nexport {\n categorizeEmail,\n extractActionItems,\n summarizeThread,\n summarizeInbox,\n generateDailyDigest,\n suggestReplies,\n analyzeSentiment,\n type InboxSummary,\n type CategorySummary,\n type UrgentItem,\n type ActionItem,\n type EmailCategorization,\n type ThreadSummary,\n} from \"./inbox-summarizer\";\n\n/**\n * Email Integration for OpenSentinel\n *\n * This module provides comprehensive email functionality:\n *\n * ## Reading Emails (IMAP)\n * ```typescript\n * import { createImapClient } from './integrations/email';\n *\n * const imap = createImapClient('gmail', {\n * user: 'your@gmail.com',\n * password: 'your-app-password'\n * });\n *\n * await imap.connect();\n * const emails = await imap.fetchEmails('INBOX', { limit: 20 });\n * const unread = await imap.getUnreadCount();\n * await imap.disconnect();\n * ```\n *\n * ## Sending Emails (SMTP)\n * ```typescript\n * import { createSmtpClient } from './integrations/email';\n *\n * const smtp = createSmtpClient('gmail', {\n * user: 'your@gmail.com',\n * password: 'your-app-password'\n * });\n *\n * await smtp.send({\n * to: 'recipient@example.com',\n * subject: 'Hello',\n * text: 'This is a test email'\n * });\n * ```\n *\n * ## Parsing Emails\n * ```typescript\n * import { parseEmail, groupIntoThreads } from './integrations/email';\n *\n * const parsed = parseEmail(rawEmail);\n * const threads = groupIntoThreads(emails);\n * ```\n *\n * ## AI-Powered Features\n * ```typescript\n * import { summarizeInbox, extractActionItems } from './integrations/email';\n *\n * const summary = await summarizeInbox(emails);\n * const actions = await extractActionItems(email);\n * ```\n */\n\n// Convenience class that combines IMAP and SMTP\nexport class EmailClient {\n private imapClient: InstanceType<typeof import(\"./imap-client\").ImapClient>;\n private smtpClient: InstanceType<typeof import(\"./smtp-client\").SmtpClient>;\n\n constructor(config: {\n imap: import(\"./imap-client\").EmailConfig;\n smtp: import(\"./smtp-client\").SmtpConfig;\n }) {\n const { ImapClient } = require(\"./imap-client\");\n const { SmtpClient } = require(\"./smtp-client\");\n\n this.imapClient = new ImapClient(config.imap);\n this.smtpClient = new SmtpClient(config.smtp);\n }\n\n /**\n * Connect to the email server\n */\n async connect(): Promise<void> {\n await this.imapClient.connect();\n await this.smtpClient.verify();\n }\n\n /**\n * Disconnect from the email server\n */\n async disconnect(): Promise<void> {\n await this.imapClient.disconnect();\n await this.smtpClient.close();\n }\n\n /**\n * Get the IMAP client for reading emails\n */\n get imap() {\n return this.imapClient;\n }\n\n /**\n * Get the SMTP client for sending emails\n */\n get smtp() {\n return this.smtpClient;\n }\n\n /**\n * Fetch recent emails\n */\n async fetchRecent(limit: number = 20): Promise<import(\"./imap-client\").EmailMessage[]> {\n return this.imapClient.fetchEmails(\"INBOX\", { limit });\n }\n\n /**\n * Get unread count\n */\n async getUnreadCount(): Promise<number> {\n return this.imapClient.getUnreadCount();\n }\n\n /**\n * Send a simple text email\n */\n async sendText(\n to: string | string[],\n subject: string,\n text: string\n ): Promise<import(\"./smtp-client\").SendResult> {\n return this.smtpClient.sendText(to, subject, text);\n }\n\n /**\n * Send an HTML email\n */\n async sendHtml(\n to: string | string[],\n subject: string,\n html: string,\n text?: string\n ): Promise<import(\"./smtp-client\").SendResult> {\n return this.smtpClient.sendHtml(to, subject, html, text);\n }\n\n /**\n * Reply to an email\n */\n async reply(\n originalEmail: import(\"./imap-client\").EmailMessage,\n options: import(\"./smtp-client\").ReplyOptions\n ): Promise<import(\"./smtp-client\").SendResult> {\n return this.smtpClient.reply(originalEmail, options);\n }\n\n /**\n * Search for emails\n */\n async search(\n options: import(\"./imap-client\").SearchOptions\n ): Promise<import(\"./imap-client\").EmailMessage[]> {\n return this.imapClient.searchEmails(options);\n }\n\n /**\n * Get inbox summary using AI\n */\n async getInboxSummary(): Promise<import(\"./inbox-summarizer\").InboxSummary> {\n const { summarizeInbox } = await import(\"./inbox-summarizer\");\n const emails = await this.fetchRecent(100);\n return summarizeInbox(emails);\n }\n\n /**\n * Get action items from recent emails\n */\n async getActionItems(): Promise<import(\"./inbox-summarizer\").ActionItem[]> {\n const { extractActionItems, categorizeEmail } = await import(\"./inbox-summarizer\");\n const emails = await this.fetchRecent(50);\n\n const allActions: import(\"./inbox-summarizer\").ActionItem[] = [];\n\n for (const email of emails) {\n const category = await categorizeEmail(email);\n if (category.category === \"action_required\" || category.category === \"urgent\") {\n const actions = await extractActionItems(email);\n allActions.push(...actions);\n }\n }\n\n return allActions;\n }\n\n /**\n * Generate daily digest\n */\n async generateDigest(): Promise<string> {\n const { generateDailyDigest } = await import(\"./inbox-summarizer\");\n const emails = await this.fetchRecent(100);\n return generateDailyDigest(emails);\n }\n}\n\n/**\n * Create an email client with common provider presets\n */\nexport function createEmailClient(\n provider: \"gmail\" | \"outlook\" | \"yahoo\" | \"custom\",\n credentials: { user: string; password: string },\n customConfig?: {\n imap?: Partial<import(\"./imap-client\").EmailConfig>;\n smtp?: Partial<import(\"./smtp-client\").SmtpConfig>;\n }\n): EmailClient {\n const configs: Record<string, { imap: import(\"./imap-client\").EmailConfig; smtp: import(\"./smtp-client\").SmtpConfig }> = {\n gmail: {\n imap: {\n host: \"imap.gmail.com\",\n port: 993,\n secure: true,\n user: credentials.user,\n password: credentials.password,\n },\n smtp: {\n host: \"smtp.gmail.com\",\n port: 465,\n secure: true,\n auth: { user: credentials.user, pass: credentials.password },\n },\n },\n outlook: {\n imap: {\n host: \"outlook.office365.com\",\n port: 993,\n secure: true,\n user: credentials.user,\n password: credentials.password,\n },\n smtp: {\n host: \"smtp-mail.outlook.com\",\n port: 587,\n secure: false,\n auth: { user: credentials.user, pass: credentials.password },\n },\n },\n yahoo: {\n imap: {\n host: \"imap.mail.yahoo.com\",\n port: 993,\n secure: true,\n user: credentials.user,\n password: credentials.password,\n },\n smtp: {\n host: \"smtp.mail.yahoo.com\",\n port: 465,\n secure: true,\n auth: { user: credentials.user, pass: credentials.password },\n },\n },\n custom: {\n imap: {\n host: customConfig?.imap?.host || \"localhost\",\n port: customConfig?.imap?.port || 993,\n secure: customConfig?.imap?.secure ?? true,\n user: credentials.user,\n password: credentials.password,\n ...customConfig?.imap,\n },\n smtp: {\n host: customConfig?.smtp?.host || \"localhost\",\n port: customConfig?.smtp?.port || 587,\n secure: customConfig?.smtp?.secure ?? false,\n auth: { user: credentials.user, pass: credentials.password },\n ...customConfig?.smtp,\n },\n },\n };\n\n return new EmailClient(configs[provider]);\n}\n\n// Import factory functions for default export\nimport { createImapClient as _createImapClient } from \"./imap-client\";\nimport { createSmtpClient as _createSmtpClient } from \"./smtp-client\";\n\nexport default {\n EmailClient,\n createEmailClient,\n createImapClient: _createImapClient,\n createSmtpClient: _createSmtpClient,\n};\n"],"mappings":"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","names":["ImapClient","SmtpClient","summarizeInbox","extractActionItems","categorizeEmail","generateDailyDigest"]}