opensentinel 3.1.1 → 3.7.0

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 (361) hide show
  1. package/README.md +138 -83
  2. package/dist/agent-manager-JZ4IM7XI.js +39 -0
  3. package/dist/agent-processor-DDDHC2SO.js +281 -0
  4. package/dist/agent-processor-DDDHC2SO.js.map +1 -0
  5. package/dist/agent-types-2T4PXLFQ.js +12 -0
  6. package/dist/alerting-LK7VVYTX.js +699 -0
  7. package/dist/alerting-LK7VVYTX.js.map +1 -0
  8. package/dist/analysis-agent-JWN2GXYE.js +288 -0
  9. package/dist/analysis-agent-JWN2GXYE.js.map +1 -0
  10. package/dist/analyzer-OTWE3ARE.js +22 -0
  11. package/dist/{archiver-AVNBYCKQ.js → archiver-FPGKRP6P.js} +2 -2
  12. package/dist/{audit-logger-OBPR7CRO.js → audit-logger-CI4WZQPD.js} +6 -5
  13. package/dist/{auth-UOX5K2BE.js → auth-PH5IHISW.js} +2 -2
  14. package/dist/{autonomy-ZXDBDQUJ.js → autonomy-N7W5XPLX.js} +4 -3
  15. package/dist/autonomy-N7W5XPLX.js.map +1 -0
  16. package/dist/{aws-s3-Q4LLZZPD.js → aws-s3-QZMURYXB.js} +2 -2
  17. package/dist/{backup-restore-PZ7CYYB7.js → backup-restore-72OQTZO3.js} +2 -2
  18. package/dist/{blocks-R3PODY47.js → blocks-YOWOESDD.js} +4 -4
  19. package/dist/bot-VDHBGUVI.js +47 -0
  20. package/dist/brain-6QTXN4QP.js +66 -0
  21. package/dist/{camera-monitor-M5CYKUU4.js → camera-monitor-LHTUWHEL.js} +2 -2
  22. package/dist/{charts-V7ARZNKF.js → charts-FJ32GQK7.js} +2 -2
  23. package/dist/{chunk-WRAKK6K6.js → chunk-2I5QHYG6.js} +5 -3
  24. package/dist/chunk-2I5QHYG6.js.map +1 -0
  25. package/dist/{chunk-TVEWKIK3.js → chunk-2WTKTG2C.js} +2 -2
  26. package/dist/chunk-3AWAWRWB.js +143 -0
  27. package/dist/chunk-3AWAWRWB.js.map +1 -0
  28. package/dist/{chunk-ZLZKF2PM.js → chunk-4KIHDIXZ.js} +43 -2
  29. package/dist/chunk-4KIHDIXZ.js.map +1 -0
  30. package/dist/{chunk-EVE7MIIY.js → chunk-4WH6MFEW.js} +15 -16
  31. package/dist/chunk-4WH6MFEW.js.map +1 -0
  32. package/dist/{chunk-I6BDYQIG.js → chunk-56UJS2LA.js} +6 -6
  33. package/dist/chunk-56UJS2LA.js.map +1 -0
  34. package/dist/chunk-5BTVJR7R.js +37 -0
  35. package/dist/chunk-5BTVJR7R.js.map +1 -0
  36. package/dist/chunk-5JJTLWOR.js +1021 -0
  37. package/dist/chunk-5JJTLWOR.js.map +1 -0
  38. package/dist/chunk-66SAOZPU.js +236 -0
  39. package/dist/chunk-66SAOZPU.js.map +1 -0
  40. package/dist/chunk-6HGMRR4J.js +113 -0
  41. package/dist/chunk-6HGMRR4J.js.map +1 -0
  42. package/dist/chunk-6W6PTJFT.js +181 -0
  43. package/dist/chunk-6W6PTJFT.js.map +1 -0
  44. package/dist/chunk-6ZNCY2GI.js +418 -0
  45. package/dist/chunk-6ZNCY2GI.js.map +1 -0
  46. package/dist/chunk-7BNFELEK.js +31 -0
  47. package/dist/chunk-7BNFELEK.js.map +1 -0
  48. package/dist/chunk-ADTDYJO7.js +265 -0
  49. package/dist/chunk-ADTDYJO7.js.map +1 -0
  50. package/dist/{chunk-OCVQGBJK.js → chunk-BBN4VCNK.js} +6 -4
  51. package/dist/chunk-BBN4VCNK.js.map +1 -0
  52. package/dist/{chunk-SJSUSJ47.js → chunk-BNZHWAZC.js} +2 -2
  53. package/dist/chunk-C6PELIHS.js +60 -0
  54. package/dist/chunk-C6PELIHS.js.map +1 -0
  55. package/dist/{chunk-MQJ2ECQT.js → chunk-CUPEENUY.js} +3 -3
  56. package/dist/{chunk-NHMBTUMW.js → chunk-CWT6CAE5.js} +2 -2
  57. package/dist/{chunk-4GLYY4NN.js → chunk-CZTMGHUC.js} +8 -2
  58. package/dist/chunk-CZTMGHUC.js.map +1 -0
  59. package/dist/{chunk-RZ4YESBG.js → chunk-DOYGMNMK.js} +1 -1
  60. package/dist/chunk-DOYGMNMK.js.map +1 -0
  61. package/dist/chunk-DTISLIMB.js +89 -0
  62. package/dist/chunk-DTISLIMB.js.map +1 -0
  63. package/dist/{chunk-SPPMCAKG.js → chunk-GBVJTRXS.js} +2 -2
  64. package/dist/chunk-GBVJTRXS.js.map +1 -0
  65. package/dist/{chunk-AYUKPTSM.js → chunk-GJETKBOY.js} +96 -218
  66. package/dist/chunk-GJETKBOY.js.map +1 -0
  67. package/dist/{chunk-BXZ6EA52.js → chunk-GW6V4D43.js} +57 -3
  68. package/dist/chunk-GW6V4D43.js.map +1 -0
  69. package/dist/{chunk-6PMVAAA7.js → chunk-HJSEEFO3.js} +3 -3
  70. package/dist/{chunk-TYAGMJNV.js → chunk-HQZQFEAX.js} +5 -5
  71. package/dist/{chunk-MXAPLSJ5.js → chunk-J4JW73TT.js} +2 -2
  72. package/dist/{chunk-VEHFVBLI.js → chunk-JHYYFPKX.js} +2 -2
  73. package/dist/chunk-LFDXEYYB.js +150 -0
  74. package/dist/chunk-LFDXEYYB.js.map +1 -0
  75. package/dist/chunk-MIC5IBQF.js +386 -0
  76. package/dist/chunk-MIC5IBQF.js.map +1 -0
  77. package/dist/chunk-ODCFS5WD.js +463 -0
  78. package/dist/chunk-ODCFS5WD.js.map +1 -0
  79. package/dist/{chunk-XMCVRVTF.js → chunk-P64EV4YY.js} +1 -1
  80. package/dist/chunk-P64EV4YY.js.map +1 -0
  81. package/dist/chunk-PBOCSGNL.js +84 -0
  82. package/dist/chunk-PBOCSGNL.js.map +1 -0
  83. package/dist/{chunk-66OJ3WB4.js → chunk-PD3CTDO6.js} +2 -2
  84. package/dist/chunk-QPY3WRVM.js +647 -0
  85. package/dist/chunk-QPY3WRVM.js.map +1 -0
  86. package/dist/chunk-S2EOIVF4.js +3907 -0
  87. package/dist/chunk-S2EOIVF4.js.map +1 -0
  88. package/dist/chunk-SDLOMKCW.js +213 -0
  89. package/dist/chunk-SDLOMKCW.js.map +1 -0
  90. package/dist/chunk-TKBVW7ZJ.js +162 -0
  91. package/dist/chunk-TKBVW7ZJ.js.map +1 -0
  92. package/dist/{chunk-BRBWNV65.js → chunk-U2X2J3FI.js} +3 -3
  93. package/dist/chunk-U2X2J3FI.js.map +1 -0
  94. package/dist/{chunk-PLDDJCW6.js → chunk-UP2VWCW5.js} +1 -12
  95. package/dist/{chunk-SVAPX2XN.js → chunk-V3OKHQUX.js} +9 -7
  96. package/dist/{chunk-SVAPX2XN.js.map → chunk-V3OKHQUX.js.map} +1 -1
  97. package/dist/{chunk-4UOE5TUZ.js → chunk-WMDVOWN6.js} +4 -4
  98. package/dist/chunk-WMFYI7XC.js +564 -0
  99. package/dist/chunk-WMFYI7XC.js.map +1 -0
  100. package/dist/chunk-WZAH34TG.js +129 -0
  101. package/dist/chunk-WZAH34TG.js.map +1 -0
  102. package/dist/{chunk-H5RQOFO2.js → chunk-X6Q3K3L2.js} +6 -6
  103. package/dist/chunk-X6Q3K3L2.js.map +1 -0
  104. package/dist/chunk-XTX7EK43.js +134 -0
  105. package/dist/chunk-XTX7EK43.js.map +1 -0
  106. package/dist/chunk-YEDEAX6Y.js +194 -0
  107. package/dist/chunk-YEDEAX6Y.js.map +1 -0
  108. package/dist/{chunk-XKYRH4FM.js → chunk-ZIBRVA3Y.js} +70 -30
  109. package/dist/chunk-ZIBRVA3Y.js.map +1 -0
  110. package/dist/chunk-ZIYTHUM5.js +457 -0
  111. package/dist/chunk-ZIYTHUM5.js.map +1 -0
  112. package/dist/{chunk-766ASQWE.js → chunk-ZMML6T63.js} +2711 -2329
  113. package/dist/chunk-ZMML6T63.js.map +1 -0
  114. package/dist/chunk-ZVHG4KF2.js +380 -0
  115. package/dist/chunk-ZVHG4KF2.js.map +1 -0
  116. package/dist/chunker-K6WTR62A.js +12 -0
  117. package/dist/cli.js +1 -1
  118. package/dist/cli.js.map +1 -1
  119. package/dist/{client-ZQSFPMOB.js → client-FOIYPOZQ.js} +5 -6
  120. package/dist/{clipboard-manager-TEO2GEDN.js → clipboard-manager-4SBNESGZ.js} +2 -2
  121. package/dist/coding-agent-DESSU3AC.js +233 -0
  122. package/dist/coding-agent-DESSU3AC.js.map +1 -0
  123. package/dist/commands/setup.js +2 -2
  124. package/dist/commands/start.js +3 -3
  125. package/dist/commands/status.js +2 -2
  126. package/dist/commands/stop.js +2 -2
  127. package/dist/commands/utils.js +2 -2
  128. package/dist/cost-tracker-KZQSTSE2.js +11 -0
  129. package/dist/{cron-explain-HHQKPD3M.js → cron-explain-UOOOYWZZ.js} +2 -2
  130. package/dist/{crypto-4AP47IKC.js → crypto-2VG3RJR2.js} +2 -2
  131. package/dist/{databases-37X4CI2Y.js → databases-XDPMG5AV.js} +4 -4
  132. package/dist/db-I7MNG6CL.js +83 -0
  133. package/dist/discord-6UQHCN27.js +81 -0
  134. package/dist/documents-PFHSK7SZ.js +184 -0
  135. package/dist/documents-PFHSK7SZ.js.map +1 -0
  136. package/dist/docx-parser-EXL4TN5E.js +16 -0
  137. package/dist/{email-K7LO2IPB.js → email-6OIN4SYL.js} +34 -25
  138. package/dist/email-6OIN4SYL.js.map +1 -0
  139. package/dist/{enhanced-retrieval-DNLLEM4Z.js → enhanced-retrieval-JWX2HWU4.js} +12 -8
  140. package/dist/{enhanced-retrieval-DNLLEM4Z.js.map → enhanced-retrieval-JWX2HWU4.js.map} +1 -1
  141. package/dist/enrichment-pipeline-7FE5R5ZI.js +14 -0
  142. package/dist/{entity-resolution-Y3IUWEAT.js → entity-resolution-7Z6STVXX.js} +6 -5
  143. package/dist/env-GN5VHI43.js +12 -0
  144. package/dist/error-tracker-64DEH3D7.js +32 -0
  145. package/dist/finnhub-X7ZMQSXF.js +178 -0
  146. package/dist/finnhub-X7ZMQSXF.js.map +1 -0
  147. package/dist/fred-TMUF3J2V.js +203 -0
  148. package/dist/fred-TMUF3J2V.js.map +1 -0
  149. package/dist/github-DUWSXCNP.js +833 -0
  150. package/dist/github-DUWSXCNP.js.map +1 -0
  151. package/dist/{google-workspace-DKWUVNGC.js → google-workspace-TSZPZK5G.js} +2 -2
  152. package/dist/graph-client-NB475AK5.js +17 -0
  153. package/dist/{hash-tool-ULQYD7B5.js → hash-tool-ENAB5LWH.js} +2 -2
  154. package/dist/{heartbeat-monitor-GCISLXI3.js → heartbeat-monitor-KRDYTDBF.js} +2 -2
  155. package/dist/hooks-N4MIFBVM.js +14 -0
  156. package/dist/{image-generation-OSU7FP6F.js → image-generation-MDE6AVQO.js} +2 -2
  157. package/dist/imessage-DSGSGUZS.js +44 -0
  158. package/dist/inbox-summarizer-F2KAU72V.js +56 -0
  159. package/dist/{incident-response-C5J7Q6DT.js → incident-response-E3UGMX5G.js} +8 -6
  160. package/dist/incident-response-E3UGMX5G.js.map +1 -0
  161. package/dist/{inventory-manager-352OHXWD.js → inventory-manager-C67BSZM6.js} +2 -2
  162. package/dist/{jira-GSGDBMIG.js → jira-PAGZWUBJ.js} +2 -2
  163. package/dist/{json-tool-QE2SYHEG.js → json-tool-4FK5RNER.js} +2 -2
  164. package/dist/{key-rotation-DPHU4ZTB.js → key-rotation-WCC5FOYS.js} +2 -2
  165. package/dist/knowledge-base-5SMMOGQJ.js +46 -0
  166. package/dist/lib.d.ts +94 -1
  167. package/dist/lib.js +83 -66
  168. package/dist/lib.js.map +1 -1
  169. package/dist/{mailchimp-KKNF6QJ7.js → mailchimp-ZFYDC44J.js} +2 -2
  170. package/dist/{matrix-QVHG76I7.js → matrix-WYGEOZL5.js} +30 -21
  171. package/dist/{matrix-QVHG76I7.js.map → matrix-WYGEOZL5.js.map} +1 -1
  172. package/dist/{mcp-3JI6W7ZE.js → mcp-DJ2QDA6A.js} +3 -3
  173. package/dist/metrics-BH3ZLGEV.js +25 -0
  174. package/dist/{microsoft365-UCBKJHNX.js → microsoft365-6G2IJMWC.js} +2 -2
  175. package/dist/multi-user-XAEMB244.js +411 -0
  176. package/dist/multi-user-XAEMB244.js.map +1 -0
  177. package/dist/oauth-UPJYFOVU.js +34 -0
  178. package/dist/{ocr-AC7NPX33.js → ocr-UONKTQU7.js} +6 -4
  179. package/dist/{ollama-BOAMSPLJ.js → ollama-J7CU45WT.js} +2 -2
  180. package/dist/osint-agent-RL5XPBRQ.js +189 -0
  181. package/dist/osint-agent-RL5XPBRQ.js.map +1 -0
  182. package/dist/{pages-MI523RB7.js → pages-XDE7JRCA.js} +5 -5
  183. package/dist/{pair-JDFTERIK.js → pair-YZJFQUU5.js} +2 -2
  184. package/dist/{pairing-IFQYCPNS.js → pairing-77N47RAT.js} +2 -2
  185. package/dist/{pdf-ALQVOEJR.js → pdf-67HGXCFJ.js} +3 -3
  186. package/dist/pdf-parser-YLMTTYHL.js +14 -0
  187. package/dist/{presentations-DSV5IHG5.js → presentations-UOET2FVZ.js} +3 -3
  188. package/dist/presentations-UOET2FVZ.js.map +1 -0
  189. package/dist/{prometheus-JNT2BD4L.js → prometheus-YETCZO4I.js} +2 -2
  190. package/dist/prometheus-YETCZO4I.js.map +1 -0
  191. package/dist/{providers-J4LYPHDR.js → providers-2YQ6E3IF.js} +6 -4
  192. package/dist/providers-2YQ6E3IF.js.map +1 -0
  193. package/dist/{qr-code-WIX4PB4U.js → qr-code-6WZJHRKL.js} +2 -2
  194. package/dist/qr-code-6WZJHRKL.js.map +1 -0
  195. package/dist/{quickbooks-XB4NII2S.js → quickbooks-N675W7IK.js} +2 -2
  196. package/dist/{regex-tool-W4ABRKGK.js → regex-tool-6Q63LQ7B.js} +2 -2
  197. package/dist/regex-tool-6Q63LQ7B.js.map +1 -0
  198. package/dist/research-agent-WCRSY3UZ.js +168 -0
  199. package/dist/research-agent-WCRSY3UZ.js.map +1 -0
  200. package/dist/risk-engine-YKCPT5D5.js +10 -0
  201. package/dist/risk-engine-YKCPT5D5.js.map +1 -0
  202. package/dist/scheduler-6PLLAQI7.js +74 -0
  203. package/dist/scheduler-6PLLAQI7.js.map +1 -0
  204. package/dist/schema-ETY7L2VA.js +78 -0
  205. package/dist/schema-ETY7L2VA.js.map +1 -0
  206. package/dist/{search-BCLBO5E3.js → search-GMLKBHSW.js} +4 -4
  207. package/dist/search-GMLKBHSW.js.map +1 -0
  208. package/dist/{sendgrid-RNXCAFKM.js → sendgrid-QGJIVPWV.js} +2 -2
  209. package/dist/sharepoint-V5P4Q62L.js +30 -0
  210. package/dist/sharepoint-V5P4Q62L.js.map +1 -0
  211. package/dist/{shopify-NCXYJB4R.js → shopify-ON2PAU27.js} +2 -2
  212. package/dist/signal-7D5EPGVL.js +44 -0
  213. package/dist/signal-7D5EPGVL.js.map +1 -0
  214. package/dist/slack-KSS6YK5Z.js +86 -0
  215. package/dist/slack-KSS6YK5Z.js.map +1 -0
  216. package/dist/{sms-M3JIOTCW.js → sms-CSUCC7HL.js} +4 -4
  217. package/dist/sms-CSUCC7HL.js.map +1 -0
  218. package/dist/{src-VYUE6LRA.js → src-GO7GGW7O.js} +190 -52
  219. package/dist/src-GO7GGW7O.js.map +1 -0
  220. package/dist/{stocks-XXWBPOCU.js → stocks-4M4HZWZS.js} +2 -2
  221. package/dist/stocks-4M4HZWZS.js.map +1 -0
  222. package/dist/text-extractor-OAUBAW5P.js +12 -0
  223. package/dist/text-extractor-OAUBAW5P.js.map +1 -0
  224. package/dist/{text-transform-6SGUA5Z4.js → text-transform-HCLCUDFZ.js} +2 -2
  225. package/dist/text-transform-HCLCUDFZ.js.map +1 -0
  226. package/dist/token-store-SEWRX6RE.js +20 -0
  227. package/dist/token-store-SEWRX6RE.js.map +1 -0
  228. package/dist/tools-PJZ6RI4P.js +47 -0
  229. package/dist/tools-PJZ6RI4P.js.map +1 -0
  230. package/dist/{tunnel-IWMXUML4.js → tunnel-XOUVVRAK.js} +4 -2
  231. package/dist/tunnel-XOUVVRAK.js.map +1 -0
  232. package/dist/{twilio-53GEW5JT.js → twilio-3L7DUNYQ.js} +2 -2
  233. package/dist/{unit-converter-ZYXMEZOE.js → unit-converter-LYPAHU64.js} +2 -2
  234. package/dist/unit-converter-LYPAHU64.js.map +1 -0
  235. package/dist/whatsapp-DWXK25V2.js +44 -0
  236. package/dist/whatsapp-DWXK25V2.js.map +1 -0
  237. package/dist/{word-document-7B6SJMAY.js → word-document-AV3YB4L2.js} +4 -4
  238. package/dist/word-document-AV3YB4L2.js.map +1 -0
  239. package/dist/workflow-store-5Y56GUP7.js +373 -0
  240. package/dist/workflow-store-5Y56GUP7.js.map +1 -0
  241. package/dist/writing-agent-VDGLNOGO.js +243 -0
  242. package/dist/writing-agent-VDGLNOGO.js.map +1 -0
  243. package/dist/{xero-QYO66D45.js → xero-UHAHVYSD.js} +2 -2
  244. package/dist/{zapier-webhook-TBZ5YF2A.js → zapier-webhook-NIELLTXR.js} +2 -2
  245. package/drizzle/0002_mushy_master_mold.sql +139 -139
  246. package/drizzle/0003_overjoyed_rhodey.sql +46 -0
  247. package/drizzle/meta/0002_snapshot.json +3636 -3636
  248. package/drizzle/meta/0003_snapshot.json +3946 -0
  249. package/drizzle/meta/_journal.json +7 -0
  250. package/package.json +110 -100
  251. package/dist/autonomy-ZXDBDQUJ.js.map +0 -1
  252. package/dist/bot-QRARP4UN.js +0 -36
  253. package/dist/brain-7XLLM3KC.js +0 -56
  254. package/dist/chunk-4GLYY4NN.js.map +0 -1
  255. package/dist/chunk-766ASQWE.js.map +0 -1
  256. package/dist/chunk-AYUKPTSM.js.map +0 -1
  257. package/dist/chunk-BRBWNV65.js.map +0 -1
  258. package/dist/chunk-BXZ6EA52.js.map +0 -1
  259. package/dist/chunk-EVE7MIIY.js.map +0 -1
  260. package/dist/chunk-H5RQOFO2.js.map +0 -1
  261. package/dist/chunk-I6BDYQIG.js.map +0 -1
  262. package/dist/chunk-IZJMVV7O.js +0 -347
  263. package/dist/chunk-IZJMVV7O.js.map +0 -1
  264. package/dist/chunk-O7IH7JTI.js +0 -1898
  265. package/dist/chunk-O7IH7JTI.js.map +0 -1
  266. package/dist/chunk-OCVQGBJK.js.map +0 -1
  267. package/dist/chunk-RZ4YESBG.js.map +0 -1
  268. package/dist/chunk-SPPMCAKG.js.map +0 -1
  269. package/dist/chunk-VRD5CYRL.js +0 -1568
  270. package/dist/chunk-VRD5CYRL.js.map +0 -1
  271. package/dist/chunk-WRAKK6K6.js.map +0 -1
  272. package/dist/chunk-XKYRH4FM.js.map +0 -1
  273. package/dist/chunk-XMCVRVTF.js.map +0 -1
  274. package/dist/chunk-ZLZKF2PM.js.map +0 -1
  275. package/dist/discord-B3HUPGQ6.js +0 -70
  276. package/dist/dist-UISMLMFN.js +0 -21847
  277. package/dist/dist-UISMLMFN.js.map +0 -1
  278. package/dist/email-K7LO2IPB.js.map +0 -1
  279. package/dist/enrichment-pipeline-MNHNW65K.js +0 -13
  280. package/dist/env-IWXUVTCB.js +0 -12
  281. package/dist/imessage-NGA2XF2V.js +0 -35
  282. package/dist/inbox-summarizer-NRI4S7IF.js +0 -47
  283. package/dist/incident-response-C5J7Q6DT.js.map +0 -1
  284. package/dist/presentations-DSV5IHG5.js.map +0 -1
  285. package/dist/scheduler-VK4WFERV.js +0 -63
  286. package/dist/signal-6CGDFYL2.js +0 -35
  287. package/dist/slack-IZQWIKOH.js +0 -75
  288. package/dist/src-VYUE6LRA.js.map +0 -1
  289. package/dist/tools-2RLEI2N6.js +0 -38
  290. package/dist/tunnel-IWMXUML4.js.map +0 -1
  291. package/dist/whatsapp-LFX6YKCM.js +0 -35
  292. package/dist/word-document-7B6SJMAY.js.map +0 -1
  293. /package/dist/{audit-logger-OBPR7CRO.js.map → agent-manager-JZ4IM7XI.js.map} +0 -0
  294. /package/dist/{auth-UOX5K2BE.js.map → agent-types-2T4PXLFQ.js.map} +0 -0
  295. /package/dist/{backup-restore-PZ7CYYB7.js.map → analyzer-OTWE3ARE.js.map} +0 -0
  296. /package/dist/{archiver-AVNBYCKQ.js.map → archiver-FPGKRP6P.js.map} +0 -0
  297. /package/dist/{blocks-R3PODY47.js.map → audit-logger-CI4WZQPD.js.map} +0 -0
  298. /package/dist/{bot-QRARP4UN.js.map → auth-PH5IHISW.js.map} +0 -0
  299. /package/dist/{aws-s3-Q4LLZZPD.js.map → aws-s3-QZMURYXB.js.map} +0 -0
  300. /package/dist/{brain-7XLLM3KC.js.map → backup-restore-72OQTZO3.js.map} +0 -0
  301. /package/dist/{chunk-PLDDJCW6.js.map → blocks-YOWOESDD.js.map} +0 -0
  302. /package/dist/{client-ZQSFPMOB.js.map → bot-VDHBGUVI.js.map} +0 -0
  303. /package/dist/{clipboard-manager-TEO2GEDN.js.map → brain-6QTXN4QP.js.map} +0 -0
  304. /package/dist/{camera-monitor-M5CYKUU4.js.map → camera-monitor-LHTUWHEL.js.map} +0 -0
  305. /package/dist/{charts-V7ARZNKF.js.map → charts-FJ32GQK7.js.map} +0 -0
  306. /package/dist/{chunk-TVEWKIK3.js.map → chunk-2WTKTG2C.js.map} +0 -0
  307. /package/dist/{chunk-SJSUSJ47.js.map → chunk-BNZHWAZC.js.map} +0 -0
  308. /package/dist/{chunk-MQJ2ECQT.js.map → chunk-CUPEENUY.js.map} +0 -0
  309. /package/dist/{chunk-NHMBTUMW.js.map → chunk-CWT6CAE5.js.map} +0 -0
  310. /package/dist/{chunk-6PMVAAA7.js.map → chunk-HJSEEFO3.js.map} +0 -0
  311. /package/dist/{chunk-TYAGMJNV.js.map → chunk-HQZQFEAX.js.map} +0 -0
  312. /package/dist/{chunk-MXAPLSJ5.js.map → chunk-J4JW73TT.js.map} +0 -0
  313. /package/dist/{chunk-VEHFVBLI.js.map → chunk-JHYYFPKX.js.map} +0 -0
  314. /package/dist/{chunk-66OJ3WB4.js.map → chunk-PD3CTDO6.js.map} +0 -0
  315. /package/dist/{cron-explain-HHQKPD3M.js.map → chunk-UP2VWCW5.js.map} +0 -0
  316. /package/dist/{chunk-4UOE5TUZ.js.map → chunk-WMDVOWN6.js.map} +0 -0
  317. /package/dist/{crypto-4AP47IKC.js.map → chunker-K6WTR62A.js.map} +0 -0
  318. /package/dist/{databases-37X4CI2Y.js.map → client-FOIYPOZQ.js.map} +0 -0
  319. /package/dist/{discord-B3HUPGQ6.js.map → clipboard-manager-4SBNESGZ.js.map} +0 -0
  320. /package/dist/{enrichment-pipeline-MNHNW65K.js.map → cost-tracker-KZQSTSE2.js.map} +0 -0
  321. /package/dist/{entity-resolution-Y3IUWEAT.js.map → cron-explain-UOOOYWZZ.js.map} +0 -0
  322. /package/dist/{env-IWXUVTCB.js.map → crypto-2VG3RJR2.js.map} +0 -0
  323. /package/dist/{hash-tool-ULQYD7B5.js.map → databases-XDPMG5AV.js.map} +0 -0
  324. /package/dist/{heartbeat-monitor-GCISLXI3.js.map → db-I7MNG6CL.js.map} +0 -0
  325. /package/dist/{imessage-NGA2XF2V.js.map → discord-6UQHCN27.js.map} +0 -0
  326. /package/dist/{inbox-summarizer-NRI4S7IF.js.map → docx-parser-EXL4TN5E.js.map} +0 -0
  327. /package/dist/{inventory-manager-352OHXWD.js.map → enrichment-pipeline-7FE5R5ZI.js.map} +0 -0
  328. /package/dist/{json-tool-QE2SYHEG.js.map → entity-resolution-7Z6STVXX.js.map} +0 -0
  329. /package/dist/{key-rotation-DPHU4ZTB.js.map → env-GN5VHI43.js.map} +0 -0
  330. /package/dist/{mcp-3JI6W7ZE.js.map → error-tracker-64DEH3D7.js.map} +0 -0
  331. /package/dist/{google-workspace-DKWUVNGC.js.map → google-workspace-TSZPZK5G.js.map} +0 -0
  332. /package/dist/{ocr-AC7NPX33.js.map → graph-client-NB475AK5.js.map} +0 -0
  333. /package/dist/{ollama-BOAMSPLJ.js.map → hash-tool-ENAB5LWH.js.map} +0 -0
  334. /package/dist/{pages-MI523RB7.js.map → heartbeat-monitor-KRDYTDBF.js.map} +0 -0
  335. /package/dist/{pairing-IFQYCPNS.js.map → hooks-N4MIFBVM.js.map} +0 -0
  336. /package/dist/{image-generation-OSU7FP6F.js.map → image-generation-MDE6AVQO.js.map} +0 -0
  337. /package/dist/{pdf-ALQVOEJR.js.map → imessage-DSGSGUZS.js.map} +0 -0
  338. /package/dist/{prometheus-JNT2BD4L.js.map → inbox-summarizer-F2KAU72V.js.map} +0 -0
  339. /package/dist/{providers-J4LYPHDR.js.map → inventory-manager-C67BSZM6.js.map} +0 -0
  340. /package/dist/{jira-GSGDBMIG.js.map → jira-PAGZWUBJ.js.map} +0 -0
  341. /package/dist/{qr-code-WIX4PB4U.js.map → json-tool-4FK5RNER.js.map} +0 -0
  342. /package/dist/{regex-tool-W4ABRKGK.js.map → key-rotation-WCC5FOYS.js.map} +0 -0
  343. /package/dist/{scheduler-VK4WFERV.js.map → knowledge-base-5SMMOGQJ.js.map} +0 -0
  344. /package/dist/{mailchimp-KKNF6QJ7.js.map → mailchimp-ZFYDC44J.js.map} +0 -0
  345. /package/dist/{search-BCLBO5E3.js.map → mcp-DJ2QDA6A.js.map} +0 -0
  346. /package/dist/{signal-6CGDFYL2.js.map → metrics-BH3ZLGEV.js.map} +0 -0
  347. /package/dist/{microsoft365-UCBKJHNX.js.map → microsoft365-6G2IJMWC.js.map} +0 -0
  348. /package/dist/{slack-IZQWIKOH.js.map → oauth-UPJYFOVU.js.map} +0 -0
  349. /package/dist/{sms-M3JIOTCW.js.map → ocr-UONKTQU7.js.map} +0 -0
  350. /package/dist/{stocks-XXWBPOCU.js.map → ollama-J7CU45WT.js.map} +0 -0
  351. /package/dist/{text-transform-6SGUA5Z4.js.map → pages-XDE7JRCA.js.map} +0 -0
  352. /package/dist/{pair-JDFTERIK.js.map → pair-YZJFQUU5.js.map} +0 -0
  353. /package/dist/{tools-2RLEI2N6.js.map → pairing-77N47RAT.js.map} +0 -0
  354. /package/dist/{unit-converter-ZYXMEZOE.js.map → pdf-67HGXCFJ.js.map} +0 -0
  355. /package/dist/{whatsapp-LFX6YKCM.js.map → pdf-parser-YLMTTYHL.js.map} +0 -0
  356. /package/dist/{quickbooks-XB4NII2S.js.map → quickbooks-N675W7IK.js.map} +0 -0
  357. /package/dist/{sendgrid-RNXCAFKM.js.map → sendgrid-QGJIVPWV.js.map} +0 -0
  358. /package/dist/{shopify-NCXYJB4R.js.map → shopify-ON2PAU27.js.map} +0 -0
  359. /package/dist/{twilio-53GEW5JT.js.map → twilio-3L7DUNYQ.js.map} +0 -0
  360. /package/dist/{xero-QYO66D45.js.map → xero-UHAHVYSD.js.map} +0 -0
  361. /package/dist/{zapier-webhook-TBZ5YF2A.js.map → zapier-webhook-NIELLTXR.js.map} +0 -0
package/README.md CHANGED
@@ -1,20 +1,69 @@
1
1
  # OpenSentinel
2
2
 
3
3
  [![CI](https://github.com/dsiemon2/OpenSentinel/actions/workflows/ci.yml/badge.svg)](https://github.com/dsiemon2/OpenSentinel/actions/workflows/ci.yml)
4
+ [![Version](https://img.shields.io/badge/version-3.6.1-blue)](https://github.com/dsiemon2/OpenSentinel/releases)
4
5
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.7-blue?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
5
6
  [![Bun](https://img.shields.io/badge/Bun-runtime-f9f1e1?logo=bun&logoColor=black)](https://bun.sh/)
6
7
  [![Docker](https://img.shields.io/badge/Docker-compose-2496ED?logo=docker&logoColor=white)](https://www.docker.com/)
8
+ [![Tests](https://img.shields.io/badge/tests-6%2C400%2B-brightgreen)](https://github.com/dsiemon2/OpenSentinel/actions)
7
9
  [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)
10
+ [![GitHub Stars](https://img.shields.io/github/stars/dsiemon2/OpenSentinel?style=social)](https://github.com/dsiemon2/OpenSentinel/stargazers)
8
11
 
9
- A self-hosted personal AI assistant powered by Claude, with JARVIS-like capabilities.
12
+ **Your self-hosted AI assistant: 9 LLM providers, 300+ features, 124 tools, 10+ channels, smart home, OSINT, finance, and more.**
10
13
 
11
- **Website**: [opensentinel.ai](https://opensentinel.ai) | **Dashboard**: [app.opensentinel.ai](https://app.opensentinel.ai)
14
+ **Website**: [opensentinel.ai](https://opensentinel.ai) | **Docs**: [docs.opensentinel.ai](https://docs.opensentinel.ai) | **Dashboard**: [app.opensentinel.ai](https://app.opensentinel.ai)
12
15
 
13
- ## What is OpenSentinel?
14
16
 
15
- OpenSentinel is your own personal AI assistant that runs on your infrastructure. Think of it like having Jarvis from Iron Man -- you can talk to it, ask questions, and it can take actions on your behalf. It connects to Telegram, Discord, Slack, a web dashboard, and a REST API, all backed by Claude as the reasoning engine.
17
+ ---
16
18
 
17
- ## Features
19
+ ## Recent Updates (2026-04-10)
20
+
21
+ - All HTTP endpoints returning 200 OK
22
+ - SSL certificates renewed (~90 day validity)
23
+ - Login screens locked down (social buttons hidden, password eye toggle present)
24
+ - CI/CD pipeline verified working with GitHub Secrets
25
+ - No exposed API keys found in code
26
+ - Removed stray `${SNIPPET}` template variable from the landing page (was rendering literally in production)
27
+
28
+ ---
29
+
30
+ ## Table of Contents
31
+
32
+ - [Why OpenSentinel?](#why-opensentinel)
33
+ - [Key Features](#key-features)
34
+ - [Quick Start](#quick-start)
35
+ - [How to Use](#how-to-use)
36
+ - [Architecture](#architecture)
37
+ - [Comparison](#comparison)
38
+ - [Contributing](#contributing)
39
+ - [Community](#community)
40
+
41
+ ---
42
+
43
+ ## Why OpenSentinel?
44
+
45
+ OpenSentinel is a self-hosted personal AI assistant that runs on your infrastructure. Think JARVIS from Iron Man — talk to it via Telegram, Discord, Slack, or a web dashboard, and it takes action: controls your smart home, monitors your finances, searches public records, generates documents, and more.
46
+
47
+ Unlike chat-only interfaces, OpenSentinel is a **full-stack AI platform** with 124 tools, sub-agents, workflow automation, RAG memory, and enterprise security — all self-hosted.
48
+
49
+ **How it works**: You send a message (text, voice, or API call) → the Brain routes it to the right LLM provider → tools execute actions → you get a response with results.
50
+
51
+ ## Key Features
52
+
53
+ | Category | Highlights |
54
+ |----------|-----------|
55
+ | **LLM Providers** | Anthropic Claude, OpenAI, xAI Grok, Google Gemini, Groq, Mistral, OpenRouter, Ollama, custom endpoints |
56
+ | **Channels** | Telegram, Discord, Slack, Matrix, WhatsApp, Signal, iMessage, Zalo, Web Dashboard, Desktop App (Electron), Browser Extension |
57
+ | **Smart Home** | Home Assistant device control, automation triggers |
58
+ | **Finance** | Crypto trading (Coinbase/Binance), stocks, DeFi, Finnhub, FRED macroeconomic data |
59
+ | **OSINT** | FEC, SEC EDGAR, IRS 990, USASpending, OpenCorporates, entity resolution, graph explorer |
60
+ | **Productivity** | GitHub, Notion, Email (IMAP/SMTP), Google Drive, Dropbox, Spotify |
61
+ | **Voice** | Wake word detection, VAD, speaker diarization, ElevenLabs TTS |
62
+ | **Security** | AES-256-GCM encryption, 2FA, RBAC, SSO (SAML/OAuth/OIDC), audit logging, GDPR tools |
63
+ | **AI** | Sub-agents, RAG memory (HyDE, re-ranking, graph RAG), ML pipeline, workflow automation |
64
+
65
+ <details>
66
+ <summary><strong>Full Feature List (300+ features)</strong></summary>
18
67
 
19
68
  ### Core Capabilities
20
69
  - Answer questions and have conversations
@@ -24,6 +73,8 @@ OpenSentinel is your own personal AI assistant that runs on your infrastructure.
24
73
  - Search the internet
25
74
  - Set reminders and scheduled tasks
26
75
  - Remember things about you (advanced RAG: HyDE, re-ranking, multi-step, graph RAG, caching)
76
+ - Agentic RAG pipeline: tool pre-classification, memory middleware, pipeline orchestrator, Brain telemetry
77
+ - ML algorithms (Naive Bayes, Isolation Forest, K-Means, Markov Chain, Linear Regression) for intent parsing, anomaly detection, and forecasting
27
78
  - Respond with voice (JARVIS voice via ElevenLabs)
28
79
 
29
80
  ### Advanced Voice
@@ -34,17 +85,12 @@ OpenSentinel is your own personal AI assistant that runs on your infrastructure.
34
85
  - Noise cancellation
35
86
  - Voice note summarization
36
87
 
37
- ### Communication Platforms
38
- - Telegram bot with voice support
39
- - Discord bot with slash commands and voice channels
40
- - Slack bot with app mentions and threads
41
- - Matrix bot with mentions and DMs
42
- - Web dashboard
43
- - REST API
44
-
45
88
  ### Multi-Provider LLM
46
89
  - Anthropic Claude (default)
90
+ - Google Gemini (1M context, vision, tool use)
47
91
  - OpenRouter, Groq, Mistral, OpenAI
92
+ - xAI Grok
93
+ - HuggingFace Inference API (text embeddings)
48
94
  - Ollama (local/offline models)
49
95
  - Any OpenAI-compatible endpoint
50
96
  - Automatic provider registration from env vars
@@ -58,6 +104,7 @@ OpenSentinel is your own personal AI assistant that runs on your infrastructure.
58
104
 
59
105
  ### Multi-Modal Input
60
106
  - Image understanding and analysis
107
+ - Image/vision analysis from Web Chat uploads (base64 to Claude vision)
61
108
  - Document OCR
62
109
  - Screenshot interpretation
63
110
  - Video summarization
@@ -77,6 +124,8 @@ OpenSentinel is your own personal AI assistant that runs on your infrastructure.
77
124
  - Excel spreadsheets
78
125
  - Charts and diagrams
79
126
  - AI image generation (DALL-E)
127
+ - Secure file download UI with token-based access (1-hour expiry)
128
+ - Document parsing from uploads (PDF, DOCX, TXT, MD, HTML, CSV, JSON, XML, YAML)
80
129
 
81
130
  ### Personality System
82
131
  - 15 domain expert modes (coding, legal, medical, finance, etc.)
@@ -85,14 +134,13 @@ OpenSentinel is your own personal AI assistant that runs on your infrastructure.
85
134
  - Verbosity and humor controls
86
135
 
87
136
  ### Security
88
- - **Gateway token auth** (optional, disabled by default for self-hosted)
89
- - **AES-256-GCM field encryption** for data at rest
90
- - **Tamper-proof audit logs** with HMAC-SHA256 chain integrity
91
- - **Incident response system** with automated detection and escalation
137
+ - Gateway token auth (optional, disabled by default for self-hosted)
138
+ - AES-256-GCM field encryption for data at rest
139
+ - Tamper-proof audit logs with HMAC-SHA256 chain integrity
140
+ - Incident response system with automated detection and escalation
92
141
  - 2FA for sensitive operations (DB-persisted, encrypted secrets)
93
142
  - Biometric verification
94
143
  - Memory vault (encrypted storage)
95
- - Audit logging
96
144
  - GDPR compliance tools
97
145
  - Rate limiting
98
146
  - Autonomy levels (readonly/supervised/autonomous)
@@ -106,6 +154,8 @@ OpenSentinel is your own personal AI assistant that runs on your infrastructure.
106
154
  - Kubernetes deployment
107
155
 
108
156
  ### Observability
157
+ - Brain Dashboard with real-time pipeline visualization, activity feed, and score gauges
158
+ - Brain Telemetry event emitter with status state machine and metric accumulators
109
159
  - Metrics dashboard
110
160
  - Replay mode (re-run conversations)
111
161
  - Tool dry-run (preview without executing)
@@ -115,23 +165,21 @@ OpenSentinel is your own personal AI assistant that runs on your infrastructure.
115
165
 
116
166
  ### Integrations
117
167
  - **Email**: IMAP/SMTP with AI inbox summarization + web email client (read, compose, attachments)
168
+ - **Microsoft 365 / Entra ID**: Graph-backed mail + SharePoint read/analysis + Claude-powered phishing/BEC + PII / policy analysis, OAuth with PKCE, encrypted token storage, chat-callable tools — see [`docs/M365_FEATURES.md`](docs/M365_FEATURES.md), [`docs/M365_INTEGRATION.md`](docs/M365_INTEGRATION.md), [`docs/M365_SHAREPOINT.md`](docs/M365_SHAREPOINT.md)
118
169
  - **SMS/Phone**: Twilio for calls and texts
119
170
  - **GitHub**: Repos, issues, PRs, AI code review
120
171
  - **Notion**: Pages, databases, search, sync
121
172
  - **Home Assistant**: Smart home device control
122
173
  - **Spotify**: Playback, playlists, search
123
174
  - **Cloud Storage**: Google Drive, Dropbox
124
- - **Finance**: Crypto, stocks, currency, portfolio tracking, exchange trading (Coinbase/Binance), DeFi data, on-chain analytics, order books, backtesting
175
+ - **Finance**: Crypto, stocks, currency, portfolio tracking, exchange trading, DeFi, Finnhub, FRED
125
176
 
126
177
  ### OSINT & Public Records
127
- - **Graph Explorer**: D3.js force-directed knowledge graph visualization
128
- - **External API Search**: Auto-queries FEC, OpenCorporates when entities aren't in local DB
129
- - **Entity Resolution**: Jaro-Winkler fuzzy matching, exact/identifier/fuzzy/new resolution pipeline
130
- - **Public Records Clients**: FEC, SEC EDGAR, IRS 990, USASpending, OpenCorporates
131
- - **Rate Limiting**: Per-service sliding-window rate limiter for API compliance
132
-
133
- ### Infrastructure
134
- - Built-in tunnels (Cloudflare, ngrok, localtunnel)
178
+ - Graph Explorer: D3.js force-directed knowledge graph visualization
179
+ - External API Search: Auto-queries FEC, OpenCorporates when entities aren't in local DB
180
+ - Entity Resolution: Jaro-Winkler fuzzy matching pipeline
181
+ - Public Records Clients: FEC, SEC EDGAR, IRS 990, USASpending, OpenCorporates
182
+ - Rate Limiting: Per-service sliding-window rate limiter for API compliance
135
183
 
136
184
  ### Vision & Documents
137
185
  - Screen capture and webcam analysis
@@ -148,47 +196,42 @@ OpenSentinel is your own personal AI assistant that runs on your infrastructure.
148
196
  - **Electron Desktop App**: System tray, global hotkeys (Ctrl+Shift+M chat, Ctrl+Shift+O OpenSentinel)
149
197
  - **Browser Extension**: Chrome/Firefox popup chat, context menu
150
198
 
199
+ ### Infrastructure
200
+ - Built-in tunnels (Cloudflare, ngrok, localtunnel)
201
+ - Docker Compose (dev + hardened production config)
202
+
203
+ </details>
204
+
151
205
  ## Quick Start
152
206
 
207
+ ### Docker (Fastest)
208
+
209
+ ```bash
210
+ git clone https://github.com/dsiemon2/OpenSentinel.git
211
+ cd OpenSentinel
212
+ cp .env.example .env # Add your API keys (at minimum ANTHROPIC_API_KEY)
213
+ docker compose up -d # Starts PostgreSQL + Redis
214
+ bun install
215
+ bun run db:migrate
216
+ cd src/web && bun install && bun run build && cd ../..
217
+ bun run start
218
+ ```
219
+
220
+ Open [http://localhost:8030](http://localhost:8030) — no auth required by default (self-hosted).
221
+
222
+ ### Supported Platforms
223
+
224
+ | Platform | Status |
225
+ |----------|--------|
226
+ | Linux (Ubuntu/Debian) | Recommended |
227
+ | macOS | Supported |
228
+ | Windows (WSL2) | Supported |
229
+ | Docker | Supported |
230
+
153
231
  ### Prerequisites
154
232
  - [Bun](https://bun.sh) runtime
155
233
  - [Docker](https://docker.com) for PostgreSQL and Redis
156
- - API keys (Claude at minimum; see `.env.example` for all options)
157
-
158
- ### Installation
159
-
160
- 1. **Clone and install dependencies**
161
- ```bash
162
- git clone https://github.com/dsiemon2/OpenSentinel.git
163
- cd OpenSentinel
164
- bun install
165
- ```
166
-
167
- 2. **Set up environment variables**
168
- ```bash
169
- cp .env.example .env
170
- # Edit .env with your API keys
171
- ```
172
-
173
- 3. **Start database services**
174
- ```bash
175
- docker compose up -d
176
- ```
177
-
178
- 4. **Run database migrations**
179
- ```bash
180
- bun run db:migrate
181
- ```
182
-
183
- 5. **Build the web dashboard**
184
- ```bash
185
- cd src/web && bun install && bun run build && cd ../..
186
- ```
187
-
188
- 6. **Start OpenSentinel**
189
- ```bash
190
- bun run start
191
- ```
234
+ - API keys (Claude at minimum; see `.env.example` for all providers)
192
235
 
193
236
  ## How to Use
194
237
 
@@ -210,7 +253,7 @@ curl -X POST http://localhost:8030/api/ask \
210
253
  -d '{"message": "Hello, what can you do?"}'
211
254
  ```
212
255
 
213
- ## Commands (Telegram)
256
+ ### Telegram Commands
214
257
 
215
258
  | Command | Description |
216
259
  |---------|-------------|
@@ -239,13 +282,14 @@ curl -X POST http://localhost:8030/api/ask \
239
282
  │ Device Triggers │ │ │
240
283
  │ Calendar │ │ │
241
284
  ├─────────────────────────────────────────────────────────────────┤
242
- │ Providers: Anthropic, OpenRouter, Groq, Mistral, Ollama
285
+ │ Providers: Anthropic, OpenAI, xAI, Gemini, Groq, Mistral,
286
+ │ OpenRouter, Ollama, Custom │
243
287
  ├─────────────────────────────────────────────────────────────────┤
244
288
  │ Tools: Shell, Files, Browser, Search, OCR, Screenshots, │
245
- │ Video, Image Analysis, File Generation
289
+ │ Video, Image Analysis, File Generation (124 tools)
246
290
  ├─────────────────────────────────────────────────────────────────┤
247
291
  │ Intelligence: Predictive, Relationship Graph, Temporal, │
248
- │ Multi-lingual, Domain Experts
292
+ │ Multi-lingual, Domain Experts, ML Pipeline
249
293
  ├─────────────────────────────────────────────────────────────────┤
250
294
  │ Security: 2FA, Biometric, Vault, Audit, GDPR, Rate Limiting │
251
295
  ├─────────────────────────────────────────────────────────────────┤
@@ -255,6 +299,25 @@ curl -X POST http://localhost:8030/api/ask \
255
299
  └─────────────────────────────────────────────────────────────────┘
256
300
  ```
257
301
 
302
+ ## Comparison
303
+
304
+ | Feature | OpenSentinel | Open WebUI | Khoj | Leon AI |
305
+ |---------|:---:|:---:|:---:|:---:|
306
+ | LLM Providers | 9 | 3 | 3 | 1 |
307
+ | Chat Channels | 11 | 1 | 2 | 1 |
308
+ | Built-in Tools | 124 | ~20 | ~10 | ~30 |
309
+ | Smart Home | Home Assistant | - | - | - |
310
+ | Finance/Trading | Coinbase, Binance, Finnhub, FRED | - | - | - |
311
+ | OSINT/Public Records | FEC, SEC, IRS, OpenCorporates | - | - | - |
312
+ | Voice (Wake Word) | Yes | - | - | Yes |
313
+ | RAG Memory | HyDE, Graph RAG, Re-ranking | Basic | Yes | - |
314
+ | Sub-Agents | Yes | - | Yes | - |
315
+ | Workflow Automation | IFTTT-like | - | - | - |
316
+ | Enterprise SSO | SAML, OAuth, OIDC | LDAP | - | - |
317
+ | Desktop App | Electron | - | - | - |
318
+ | Browser Extension | Chrome/Firefox | - | Chrome | - |
319
+ | Test Coverage | 6,400+ tests | Unknown | Unknown | Unknown |
320
+
258
321
  ## Project Structure
259
322
 
260
323
  ```
@@ -269,13 +332,12 @@ src/
269
332
  │ ├── agents/ # Sub-agent system
270
333
  │ ├── enterprise/ # Multi-user, SSO, quotas
271
334
  │ ├── intelligence/ # Predictive, relationship, temporal
272
- │ ├── evolution/ # Evolution, achievements, modes
335
+ │ ├── ml/ # ML algorithms (Naive Bayes, Isolation Forest, K-Means)
273
336
  │ ├── observability/ # Metrics, replay, alerting
274
337
  │ ├── personality/ # Personas, mood, domain experts
275
338
  │ ├── plugins/ # Plugin system
276
339
  │ ├── providers/ # Multi-LLM provider abstraction
277
340
  │ ├── security/ # 2FA, vault, GDPR, audit
278
- │ ├── tunnel/ # Built-in tunnel support
279
341
  │ └── workflows/ # Automation engine
280
342
  ├── inputs/
281
343
  │ ├── telegram/ # Telegram bot
@@ -288,29 +350,21 @@ src/
288
350
  │ └── voice/ # Wake word, VAD, diarization
289
351
  ├── integrations/
290
352
  │ ├── email/ # IMAP/SMTP email
291
- │ ├── twilio/ # SMS/Phone calls
292
353
  │ ├── github/ # GitHub API
293
354
  │ ├── notion/ # Notion API
294
355
  │ ├── homeassistant/ # Home Assistant
295
356
  │ ├── spotify/ # Spotify API
296
- │ ├── cloud-storage/ # Google Drive, Dropbox
297
357
  │ ├── finance/ # Crypto, stocks, currency
298
- │ ├── public-records/ # FEC, SEC, IRS 990, USASpending, OpenCorporates
299
- │ ├── documents/ # Document ingestion
358
+ │ ├── public-records/ # FEC, SEC, IRS 990, OpenCorporates
300
359
  │ └── vision/ # Screen/webcam capture
301
- ├── tools/
302
- ├── file-generation/ # PDF, Word, Excel, PPT, images
303
- │ └── rendering/ # Math, code, markdown
304
- ├── outputs/
305
- │ ├── stt.ts # Speech-to-text
306
- │ └── tts.ts # Text-to-speech
307
- ├── db/
308
- │ └── schema.ts # Drizzle ORM schema
360
+ ├── tools/ # 124 tool implementations
361
+ ├── outputs/ # STT, TTS
362
+ ├── db/ # Database schema
309
363
  └── web/ # React dashboard
310
364
 
311
365
  desktop/ # Electron desktop app
312
366
  extension/ # Browser extension
313
- tests/ # 155+ test files, 5,000+ tests
367
+ tests/ # 187 test files, 6,400+ tests
314
368
  ```
315
369
 
316
370
  ## Ports
@@ -319,7 +373,7 @@ tests/ # 155+ test files, 5,000+ tests
319
373
  |---------|------|
320
374
  | OpenSentinel API + Dashboard | 8030 |
321
375
  | PostgreSQL | 5445 |
322
- | Redis | 6379 |
376
+ | Redis | 6385 |
323
377
 
324
378
  ## Contributing
325
379
 
@@ -348,6 +402,7 @@ Found a bug or have a feature request? [Open an issue](https://github.com/dsiemo
348
402
  - **GitHub Issues**: [Report bugs and request features](https://github.com/dsiemon2/OpenSentinel/issues)
349
403
  - **GitHub Discussions**: [Ask questions and share ideas](https://github.com/dsiemon2/OpenSentinel/discussions)
350
404
  - **Website**: [opensentinel.ai](https://opensentinel.ai)
405
+ - **Docs**: [docs.opensentinel.ai](https://docs.opensentinel.ai)
351
406
 
352
407
  ## License
353
408
 
@@ -0,0 +1,39 @@
1
+ import {
2
+ addAgentMessage,
3
+ addAgentProgress,
4
+ agentQueue,
5
+ agent_manager_default,
6
+ cancelAgent,
7
+ getAgent,
8
+ getAllAgents,
9
+ getRunningAgentCount,
10
+ getUserAgents,
11
+ shouldAgentStop,
12
+ spawnAgent,
13
+ updateAgentStatus,
14
+ updateAgentTokens
15
+ } from "./chunk-WMFYI7XC.js";
16
+ import "./chunk-YEDEAX6Y.js";
17
+ import "./chunk-6ZNCY2GI.js";
18
+ import "./chunk-WZAH34TG.js";
19
+ import "./chunk-BBN4VCNK.js";
20
+ import "./chunk-5BTVJR7R.js";
21
+ import "./chunk-4KIHDIXZ.js";
22
+ import "./chunk-ZIBRVA3Y.js";
23
+ import "./chunk-UP2VWCW5.js";
24
+ export {
25
+ addAgentMessage,
26
+ addAgentProgress,
27
+ agentQueue,
28
+ cancelAgent,
29
+ agent_manager_default as default,
30
+ getAgent,
31
+ getAllAgents,
32
+ getRunningAgentCount,
33
+ getUserAgents,
34
+ shouldAgentStop,
35
+ spawnAgent,
36
+ updateAgentStatus,
37
+ updateAgentTokens
38
+ };
39
+ //# sourceMappingURL=agent-manager-JZ4IM7XI.js.map