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
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/agents/specialized/writing-agent.ts"],"sourcesContent":["import { AgentType, AGENT_SYSTEM_PROMPTS, AGENT_TOOL_PERMISSIONS } from \"../agent-types\";\n\nexport const WRITING_AGENT_CONFIG = {\n type: \"writing\" as AgentType,\n name: \"Writing Agent\",\n description: \"Specialized agent for content creation and writing tasks\",\n\n systemPrompt: AGENT_SYSTEM_PROMPTS.writing,\n tools: AGENT_TOOL_PERMISSIONS.writing,\n\n // Writing-specific settings\n settings: {\n maxWordCount: 5000,\n defaultTone: \"professional\",\n grammarCheck: true,\n plagiarismCheck: false,\n },\n\n // Writing styles\n styles: {\n professional: {\n tone: \"formal\",\n vocabulary: \"business\",\n structure: \"clear and organized\",\n },\n casual: {\n tone: \"conversational\",\n vocabulary: \"everyday\",\n structure: \"relaxed\",\n },\n academic: {\n tone: \"scholarly\",\n vocabulary: \"technical\",\n structure: \"rigorous\",\n },\n creative: {\n tone: \"expressive\",\n vocabulary: \"varied\",\n structure: \"flexible\",\n },\n technical: {\n tone: \"precise\",\n vocabulary: \"specialized\",\n structure: \"logical\",\n },\n },\n};\n\n// Writing task types\nexport const WRITING_TASKS = {\n article: {\n name: \"Article\",\n description: \"Write an informative article\",\n structure: [\"Headline\", \"Introduction\", \"Body Sections\", \"Conclusion\"],\n wordRange: { min: 500, max: 2000 },\n },\n blogPost: {\n name: \"Blog Post\",\n description: \"Write an engaging blog post\",\n structure: [\"Title\", \"Hook\", \"Main Content\", \"Call to Action\"],\n wordRange: { min: 300, max: 1500 },\n },\n email: {\n name: \"Email\",\n description: \"Write a professional email\",\n structure: [\"Subject Line\", \"Greeting\", \"Body\", \"Closing\", \"Signature\"],\n wordRange: { min: 50, max: 500 },\n },\n report: {\n name: \"Report\",\n description: \"Write a formal report\",\n structure: [\n \"Executive Summary\",\n \"Introduction\",\n \"Methodology\",\n \"Findings\",\n \"Analysis\",\n \"Recommendations\",\n \"Conclusion\",\n ],\n wordRange: { min: 1000, max: 5000 },\n },\n documentation: {\n name: \"Documentation\",\n description: \"Write technical documentation\",\n structure: [\"Overview\", \"Getting Started\", \"Usage\", \"API Reference\", \"Examples\", \"FAQ\"],\n wordRange: { min: 500, max: 3000 },\n },\n socialMedia: {\n name: \"Social Media\",\n description: \"Write social media content\",\n structure: [\"Hook\", \"Message\", \"Call to Action\", \"Hashtags\"],\n wordRange: { min: 10, max: 280 },\n },\n script: {\n name: \"Script\",\n description: \"Write a video or presentation script\",\n structure: [\"Opening\", \"Main Points\", \"Transitions\", \"Closing\"],\n wordRange: { min: 200, max: 2000 },\n },\n};\n\n// Content quality checkers\nexport function validateWritingOutput(\n content: string,\n taskType: keyof typeof WRITING_TASKS\n): {\n isValid: boolean;\n issues: string[];\n suggestions: string[];\n metrics: {\n wordCount: number;\n sentenceCount: number;\n avgWordsPerSentence: number;\n readabilityScore: number;\n };\n} {\n const issues: string[] = [];\n const suggestions: string[] = [];\n\n // Calculate metrics\n const words = content.split(/\\s+/).filter((w) => w.length > 0);\n const sentences = content.split(/[.!?]+/).filter((s) => s.trim().length > 0);\n const wordCount = words.length;\n const sentenceCount = sentences.length;\n const avgWordsPerSentence = sentenceCount > 0 ? wordCount / sentenceCount : 0;\n\n // Simple readability score (Flesch-like)\n const syllables = words.reduce((count, word) => {\n return count + countSyllables(word);\n }, 0);\n const readabilityScore = Math.max(\n 0,\n Math.min(100, 206.835 - 1.015 * avgWordsPerSentence - 84.6 * (syllables / wordCount))\n );\n\n const task = WRITING_TASKS[taskType];\n\n // Check word count\n if (wordCount < task.wordRange.min) {\n issues.push(`Content is too short (${wordCount} words, minimum ${task.wordRange.min})`);\n }\n if (wordCount > task.wordRange.max) {\n suggestions.push(`Content may be too long (${wordCount} words, maximum ${task.wordRange.max})`);\n }\n\n // Check sentence length\n if (avgWordsPerSentence > 25) {\n suggestions.push(\"Consider breaking up long sentences for readability\");\n }\n\n // Check for passive voice (simple heuristic)\n const passivePatterns = /\\b(was|were|been|being|is|are|am)\\s+\\w+ed\\b/gi;\n const passiveMatches = content.match(passivePatterns);\n if (passiveMatches && passiveMatches.length > 3) {\n suggestions.push(\"Consider reducing passive voice for more engaging writing\");\n }\n\n // Check for filler words\n const fillerWords = [\"very\", \"really\", \"just\", \"actually\", \"basically\", \"literally\"];\n const fillerCount = fillerWords.reduce((count, word) => {\n const regex = new RegExp(`\\\\b${word}\\\\b`, \"gi\");\n return count + (content.match(regex)?.length || 0);\n }, 0);\n if (fillerCount > 5) {\n suggestions.push(\"Consider removing filler words for stronger writing\");\n }\n\n return {\n isValid: issues.length === 0,\n issues,\n suggestions,\n metrics: {\n wordCount,\n sentenceCount,\n avgWordsPerSentence: Math.round(avgWordsPerSentence * 10) / 10,\n readabilityScore: Math.round(readabilityScore),\n },\n };\n}\n\n// Simple syllable counter\nfunction countSyllables(word: string): number {\n word = word.toLowerCase();\n if (word.length <= 3) return 1;\n word = word.replace(/(?:[^laeiouy]es|ed|[^laeiouy]e)$/, \"\");\n word = word.replace(/^y/, \"\");\n const matches = word.match(/[aeiouy]{1,2}/g);\n return matches ? matches.length : 1;\n}\n\n// Writing templates\nexport function generateOutline(\n taskType: keyof typeof WRITING_TASKS,\n topic: string\n): string {\n const task = WRITING_TASKS[taskType];\n let outline = `# ${topic}\\n\\n`;\n outline += `Type: ${task.name}\\n`;\n outline += `Target Word Count: ${task.wordRange.min}-${task.wordRange.max} words\\n\\n`;\n outline += `## Structure\\n\\n`;\n\n for (const section of task.structure) {\n outline += `### ${section}\\n`;\n outline += `[TODO: Write ${section.toLowerCase()} content]\\n\\n`;\n }\n\n return outline;\n}\n\n// Build writing prompt\nexport function buildWritingPrompt(\n taskType: keyof typeof WRITING_TASKS,\n topic: string,\n context?: {\n style?: keyof typeof WRITING_AGENT_CONFIG.styles;\n audience?: string;\n keyPoints?: string[];\n tone?: string;\n }\n): string {\n const task = WRITING_TASKS[taskType];\n let prompt = `Writing Task: ${task.name}\\n`;\n prompt += `Topic: ${topic}\\n`;\n prompt += `Description: ${task.description}\\n\\n`;\n\n if (context?.style) {\n const style = WRITING_AGENT_CONFIG.styles[context.style];\n prompt += `Style: ${context.style}\\n`;\n prompt += `- Tone: ${style.tone}\\n`;\n prompt += `- Vocabulary: ${style.vocabulary}\\n`;\n prompt += `- Structure: ${style.structure}\\n\\n`;\n }\n\n if (context?.audience) {\n prompt += `Target Audience: ${context.audience}\\n`;\n }\n\n if (context?.tone) {\n prompt += `Tone: ${context.tone}\\n`;\n }\n\n if (context?.keyPoints?.length) {\n prompt += `\\nKey Points to Cover:\\n${context.keyPoints.map((p) => `- ${p}`).join(\"\\n\")}\\n`;\n }\n\n prompt += `\\nExpected Structure:\\n${task.structure.map((s) => `- ${s}`).join(\"\\n\")}\\n`;\n prompt += `\\nWord Count Target: ${task.wordRange.min}-${task.wordRange.max} words\\n`;\n prompt += `\\nPlease write this content following your guidelines.`;\n\n return prompt;\n}\n\nexport default {\n WRITING_AGENT_CONFIG,\n WRITING_TASKS,\n validateWritingOutput,\n generateOutline,\n buildWritingPrompt,\n};\n"],"mappings":"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","names":[]}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  BaseAdapter
3
3
  } from "./chunk-7WQO5J2M.js";
4
- import "./chunk-PLDDJCW6.js";
4
+ import "./chunk-UP2VWCW5.js";
5
5
 
6
6
  // src/core/adapters/adapters/xero.ts
7
7
  import { z } from "zod";
@@ -159,4 +159,4 @@ var XeroAdapter = class extends BaseAdapter {
159
159
  export {
160
160
  XeroAdapter
161
161
  };
162
- //# sourceMappingURL=xero-QYO66D45.js.map
162
+ //# sourceMappingURL=xero-UHAHVYSD.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  BaseAdapter
3
3
  } from "./chunk-7WQO5J2M.js";
4
- import "./chunk-PLDDJCW6.js";
4
+ import "./chunk-UP2VWCW5.js";
5
5
 
6
6
  // src/core/adapters/adapters/zapier-webhook.ts
7
7
  import { z } from "zod";
@@ -103,4 +103,4 @@ var ZapierWebhookAdapter = class extends BaseAdapter {
103
103
  export {
104
104
  ZapierWebhookAdapter
105
105
  };
106
- //# sourceMappingURL=zapier-webhook-TBZ5YF2A.js.map
106
+ //# sourceMappingURL=zapier-webhook-NIELLTXR.js.map
@@ -1,140 +1,140 @@
1
- CREATE TABLE "document_chunks" (
2
- "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
3
- "document_id" uuid NOT NULL,
4
- "chunk_index" integer NOT NULL,
5
- "content" text NOT NULL,
6
- "embedding" vector(1536),
7
- "token_count" integer,
8
- "metadata" jsonb,
9
- "created_at" timestamp DEFAULT now() NOT NULL
10
- );
11
- --> statement-breakpoint
12
- CREATE TABLE "documents" (
13
- "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
14
- "name" text NOT NULL,
15
- "filename" text,
16
- "mime_type" text,
17
- "file_size" integer,
18
- "source" text,
19
- "source_url" text,
20
- "metadata" jsonb,
21
- "status" text DEFAULT 'pending' NOT NULL,
22
- "error_message" text,
23
- "chunk_count" integer DEFAULT 0,
24
- "total_tokens" integer DEFAULT 0,
25
- "user_id" uuid,
26
- "created_at" timestamp DEFAULT now() NOT NULL,
27
- "updated_at" timestamp DEFAULT now() NOT NULL,
28
- "processed_at" timestamp
29
- );
30
- --> statement-breakpoint
31
- CREATE TABLE "graph_entities" (
32
- "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
33
- "user_id" uuid,
34
- "type" text NOT NULL,
35
- "name" text NOT NULL,
36
- "aliases" jsonb DEFAULT '[]'::jsonb,
37
- "description" text,
38
- "attributes" jsonb DEFAULT '{}'::jsonb,
39
- "importance" integer DEFAULT 50,
40
- "mention_count" integer DEFAULT 1,
41
- "embedding" vector(1536),
42
- "created_at" timestamp DEFAULT now() NOT NULL,
43
- "updated_at" timestamp DEFAULT now() NOT NULL
44
- );
45
- --> statement-breakpoint
46
- CREATE TABLE "graph_relationships" (
47
- "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
48
- "source_entity_id" uuid NOT NULL,
49
- "target_entity_id" uuid NOT NULL,
50
- "type" text NOT NULL,
51
- "strength" integer DEFAULT 50,
52
- "bidirectional" boolean DEFAULT false,
53
- "context" text,
54
- "attributes" jsonb DEFAULT '{}'::jsonb,
55
- "created_at" timestamp DEFAULT now() NOT NULL,
56
- "updated_at" timestamp DEFAULT now() NOT NULL
57
- );
58
- --> statement-breakpoint
59
- CREATE TABLE "incident_timeline" (
60
- "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
61
- "incident_id" uuid NOT NULL,
62
- "event_type" text NOT NULL,
63
- "description" text NOT NULL,
64
- "performed_by" uuid,
65
- "metadata" jsonb,
66
- "created_at" timestamp DEFAULT now() NOT NULL
67
- );
68
- --> statement-breakpoint
69
- CREATE TABLE "security_incidents" (
70
- "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
71
- "incident_number" text NOT NULL,
72
- "title" text NOT NULL,
73
- "description" text NOT NULL,
74
- "type" text NOT NULL,
75
- "severity" text NOT NULL,
76
- "status" text DEFAULT 'open' NOT NULL,
77
- "user_id" uuid,
78
- "assigned_to" uuid,
79
- "source" text NOT NULL,
80
- "source_data" jsonb,
81
- "impact_assessment" text,
82
- "containment_actions" jsonb,
83
- "resolution_notes" text,
84
- "related_incidents" jsonb,
85
- "metadata" jsonb,
86
- "created_at" timestamp DEFAULT now() NOT NULL,
87
- "updated_at" timestamp DEFAULT now() NOT NULL,
88
- "investigated_at" timestamp,
89
- "contained_at" timestamp,
90
- "resolved_at" timestamp,
91
- "closed_at" timestamp,
92
- CONSTRAINT "security_incidents_incident_number_unique" UNIQUE("incident_number")
93
- );
94
- --> statement-breakpoint
95
- CREATE TABLE "two_factor_auth" (
96
- "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
97
- "user_id" uuid NOT NULL,
98
- "secret_encrypted" text NOT NULL,
99
- "recovery_codes" jsonb NOT NULL,
100
- "enabled_at" timestamp NOT NULL,
101
- "last_verified_at" timestamp,
102
- "key_version" integer DEFAULT 1 NOT NULL,
103
- "metadata" jsonb,
104
- "created_at" timestamp DEFAULT now() NOT NULL,
105
- "updated_at" timestamp DEFAULT now() NOT NULL,
106
- CONSTRAINT "two_factor_auth_user_id_unique" UNIQUE("user_id")
107
- );
108
- --> statement-breakpoint
109
- ALTER TABLE "audit_logs" ADD COLUMN "sequence_number" integer;--> statement-breakpoint
110
- ALTER TABLE "audit_logs" ADD COLUMN "entry_hash" text;--> statement-breakpoint
111
- ALTER TABLE "audit_logs" ADD COLUMN "previous_hash" text;--> statement-breakpoint
112
- ALTER TABLE "memories" ADD COLUMN "search_vector" "tsvector";--> statement-breakpoint
113
- ALTER TABLE "memories" ADD COLUMN "provenance" text;--> statement-breakpoint
114
- ALTER TABLE "memories" ADD COLUMN "encrypted" boolean DEFAULT false NOT NULL;--> statement-breakpoint
115
- ALTER TABLE "messages" ADD COLUMN "encrypted" boolean DEFAULT false NOT NULL;--> statement-breakpoint
116
- ALTER TABLE "document_chunks" ADD CONSTRAINT "document_chunks_document_id_documents_id_fk" FOREIGN KEY ("document_id") REFERENCES "public"."documents"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
117
- ALTER TABLE "documents" ADD CONSTRAINT "documents_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
118
- ALTER TABLE "graph_entities" ADD CONSTRAINT "graph_entities_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
119
- ALTER TABLE "graph_relationships" ADD CONSTRAINT "graph_relationships_source_entity_id_graph_entities_id_fk" FOREIGN KEY ("source_entity_id") REFERENCES "public"."graph_entities"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
120
- ALTER TABLE "graph_relationships" ADD CONSTRAINT "graph_relationships_target_entity_id_graph_entities_id_fk" FOREIGN KEY ("target_entity_id") REFERENCES "public"."graph_entities"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
121
- ALTER TABLE "incident_timeline" ADD CONSTRAINT "incident_timeline_incident_id_security_incidents_id_fk" FOREIGN KEY ("incident_id") REFERENCES "public"."security_incidents"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
122
- ALTER TABLE "incident_timeline" ADD CONSTRAINT "incident_timeline_performed_by_users_id_fk" FOREIGN KEY ("performed_by") REFERENCES "public"."users"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
123
- ALTER TABLE "security_incidents" ADD CONSTRAINT "security_incidents_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
124
- ALTER TABLE "security_incidents" ADD CONSTRAINT "security_incidents_assigned_to_users_id_fk" FOREIGN KEY ("assigned_to") REFERENCES "public"."users"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
125
- ALTER TABLE "two_factor_auth" ADD CONSTRAINT "two_factor_auth_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
126
- CREATE INDEX "document_chunks_document_idx" ON "document_chunks" USING btree ("document_id");--> statement-breakpoint
127
- CREATE INDEX "documents_user_idx" ON "documents" USING btree ("user_id");--> statement-breakpoint
128
- CREATE INDEX "documents_status_idx" ON "documents" USING btree ("status");--> statement-breakpoint
129
- CREATE INDEX "graph_entities_user_idx" ON "graph_entities" USING btree ("user_id");--> statement-breakpoint
130
- CREATE INDEX "graph_entities_type_idx" ON "graph_entities" USING btree ("type");--> statement-breakpoint
131
- CREATE INDEX "graph_entities_name_idx" ON "graph_entities" USING btree ("name");--> statement-breakpoint
132
- CREATE INDEX "graph_rel_source_idx" ON "graph_relationships" USING btree ("source_entity_id");--> statement-breakpoint
133
- CREATE INDEX "graph_rel_target_idx" ON "graph_relationships" USING btree ("target_entity_id");--> statement-breakpoint
134
- CREATE INDEX "graph_rel_type_idx" ON "graph_relationships" USING btree ("type");--> statement-breakpoint
135
- CREATE INDEX "incident_timeline_incident_idx" ON "incident_timeline" USING btree ("incident_id");--> statement-breakpoint
136
- CREATE INDEX "security_incidents_status_idx" ON "security_incidents" USING btree ("status");--> statement-breakpoint
137
- CREATE INDEX "security_incidents_severity_idx" ON "security_incidents" USING btree ("severity");--> statement-breakpoint
138
- CREATE INDEX "security_incidents_created_idx" ON "security_incidents" USING btree ("created_at");--> statement-breakpoint
139
- CREATE INDEX "two_factor_auth_user_idx" ON "two_factor_auth" USING btree ("user_id");--> statement-breakpoint
1
+ CREATE TABLE "document_chunks" (
2
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
3
+ "document_id" uuid NOT NULL,
4
+ "chunk_index" integer NOT NULL,
5
+ "content" text NOT NULL,
6
+ "embedding" vector(1536),
7
+ "token_count" integer,
8
+ "metadata" jsonb,
9
+ "created_at" timestamp DEFAULT now() NOT NULL
10
+ );
11
+ --> statement-breakpoint
12
+ CREATE TABLE "documents" (
13
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
14
+ "name" text NOT NULL,
15
+ "filename" text,
16
+ "mime_type" text,
17
+ "file_size" integer,
18
+ "source" text,
19
+ "source_url" text,
20
+ "metadata" jsonb,
21
+ "status" text DEFAULT 'pending' NOT NULL,
22
+ "error_message" text,
23
+ "chunk_count" integer DEFAULT 0,
24
+ "total_tokens" integer DEFAULT 0,
25
+ "user_id" uuid,
26
+ "created_at" timestamp DEFAULT now() NOT NULL,
27
+ "updated_at" timestamp DEFAULT now() NOT NULL,
28
+ "processed_at" timestamp
29
+ );
30
+ --> statement-breakpoint
31
+ CREATE TABLE "graph_entities" (
32
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
33
+ "user_id" uuid,
34
+ "type" text NOT NULL,
35
+ "name" text NOT NULL,
36
+ "aliases" jsonb DEFAULT '[]'::jsonb,
37
+ "description" text,
38
+ "attributes" jsonb DEFAULT '{}'::jsonb,
39
+ "importance" integer DEFAULT 50,
40
+ "mention_count" integer DEFAULT 1,
41
+ "embedding" vector(1536),
42
+ "created_at" timestamp DEFAULT now() NOT NULL,
43
+ "updated_at" timestamp DEFAULT now() NOT NULL
44
+ );
45
+ --> statement-breakpoint
46
+ CREATE TABLE "graph_relationships" (
47
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
48
+ "source_entity_id" uuid NOT NULL,
49
+ "target_entity_id" uuid NOT NULL,
50
+ "type" text NOT NULL,
51
+ "strength" integer DEFAULT 50,
52
+ "bidirectional" boolean DEFAULT false,
53
+ "context" text,
54
+ "attributes" jsonb DEFAULT '{}'::jsonb,
55
+ "created_at" timestamp DEFAULT now() NOT NULL,
56
+ "updated_at" timestamp DEFAULT now() NOT NULL
57
+ );
58
+ --> statement-breakpoint
59
+ CREATE TABLE "incident_timeline" (
60
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
61
+ "incident_id" uuid NOT NULL,
62
+ "event_type" text NOT NULL,
63
+ "description" text NOT NULL,
64
+ "performed_by" uuid,
65
+ "metadata" jsonb,
66
+ "created_at" timestamp DEFAULT now() NOT NULL
67
+ );
68
+ --> statement-breakpoint
69
+ CREATE TABLE "security_incidents" (
70
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
71
+ "incident_number" text NOT NULL,
72
+ "title" text NOT NULL,
73
+ "description" text NOT NULL,
74
+ "type" text NOT NULL,
75
+ "severity" text NOT NULL,
76
+ "status" text DEFAULT 'open' NOT NULL,
77
+ "user_id" uuid,
78
+ "assigned_to" uuid,
79
+ "source" text NOT NULL,
80
+ "source_data" jsonb,
81
+ "impact_assessment" text,
82
+ "containment_actions" jsonb,
83
+ "resolution_notes" text,
84
+ "related_incidents" jsonb,
85
+ "metadata" jsonb,
86
+ "created_at" timestamp DEFAULT now() NOT NULL,
87
+ "updated_at" timestamp DEFAULT now() NOT NULL,
88
+ "investigated_at" timestamp,
89
+ "contained_at" timestamp,
90
+ "resolved_at" timestamp,
91
+ "closed_at" timestamp,
92
+ CONSTRAINT "security_incidents_incident_number_unique" UNIQUE("incident_number")
93
+ );
94
+ --> statement-breakpoint
95
+ CREATE TABLE "two_factor_auth" (
96
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
97
+ "user_id" uuid NOT NULL,
98
+ "secret_encrypted" text NOT NULL,
99
+ "recovery_codes" jsonb NOT NULL,
100
+ "enabled_at" timestamp NOT NULL,
101
+ "last_verified_at" timestamp,
102
+ "key_version" integer DEFAULT 1 NOT NULL,
103
+ "metadata" jsonb,
104
+ "created_at" timestamp DEFAULT now() NOT NULL,
105
+ "updated_at" timestamp DEFAULT now() NOT NULL,
106
+ CONSTRAINT "two_factor_auth_user_id_unique" UNIQUE("user_id")
107
+ );
108
+ --> statement-breakpoint
109
+ ALTER TABLE "audit_logs" ADD COLUMN "sequence_number" integer;--> statement-breakpoint
110
+ ALTER TABLE "audit_logs" ADD COLUMN "entry_hash" text;--> statement-breakpoint
111
+ ALTER TABLE "audit_logs" ADD COLUMN "previous_hash" text;--> statement-breakpoint
112
+ ALTER TABLE "memories" ADD COLUMN "search_vector" "tsvector";--> statement-breakpoint
113
+ ALTER TABLE "memories" ADD COLUMN "provenance" text;--> statement-breakpoint
114
+ ALTER TABLE "memories" ADD COLUMN "encrypted" boolean DEFAULT false NOT NULL;--> statement-breakpoint
115
+ ALTER TABLE "messages" ADD COLUMN "encrypted" boolean DEFAULT false NOT NULL;--> statement-breakpoint
116
+ ALTER TABLE "document_chunks" ADD CONSTRAINT "document_chunks_document_id_documents_id_fk" FOREIGN KEY ("document_id") REFERENCES "public"."documents"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
117
+ ALTER TABLE "documents" ADD CONSTRAINT "documents_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
118
+ ALTER TABLE "graph_entities" ADD CONSTRAINT "graph_entities_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
119
+ ALTER TABLE "graph_relationships" ADD CONSTRAINT "graph_relationships_source_entity_id_graph_entities_id_fk" FOREIGN KEY ("source_entity_id") REFERENCES "public"."graph_entities"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
120
+ ALTER TABLE "graph_relationships" ADD CONSTRAINT "graph_relationships_target_entity_id_graph_entities_id_fk" FOREIGN KEY ("target_entity_id") REFERENCES "public"."graph_entities"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
121
+ ALTER TABLE "incident_timeline" ADD CONSTRAINT "incident_timeline_incident_id_security_incidents_id_fk" FOREIGN KEY ("incident_id") REFERENCES "public"."security_incidents"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
122
+ ALTER TABLE "incident_timeline" ADD CONSTRAINT "incident_timeline_performed_by_users_id_fk" FOREIGN KEY ("performed_by") REFERENCES "public"."users"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
123
+ ALTER TABLE "security_incidents" ADD CONSTRAINT "security_incidents_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
124
+ ALTER TABLE "security_incidents" ADD CONSTRAINT "security_incidents_assigned_to_users_id_fk" FOREIGN KEY ("assigned_to") REFERENCES "public"."users"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
125
+ ALTER TABLE "two_factor_auth" ADD CONSTRAINT "two_factor_auth_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
126
+ CREATE INDEX "document_chunks_document_idx" ON "document_chunks" USING btree ("document_id");--> statement-breakpoint
127
+ CREATE INDEX "documents_user_idx" ON "documents" USING btree ("user_id");--> statement-breakpoint
128
+ CREATE INDEX "documents_status_idx" ON "documents" USING btree ("status");--> statement-breakpoint
129
+ CREATE INDEX "graph_entities_user_idx" ON "graph_entities" USING btree ("user_id");--> statement-breakpoint
130
+ CREATE INDEX "graph_entities_type_idx" ON "graph_entities" USING btree ("type");--> statement-breakpoint
131
+ CREATE INDEX "graph_entities_name_idx" ON "graph_entities" USING btree ("name");--> statement-breakpoint
132
+ CREATE INDEX "graph_rel_source_idx" ON "graph_relationships" USING btree ("source_entity_id");--> statement-breakpoint
133
+ CREATE INDEX "graph_rel_target_idx" ON "graph_relationships" USING btree ("target_entity_id");--> statement-breakpoint
134
+ CREATE INDEX "graph_rel_type_idx" ON "graph_relationships" USING btree ("type");--> statement-breakpoint
135
+ CREATE INDEX "incident_timeline_incident_idx" ON "incident_timeline" USING btree ("incident_id");--> statement-breakpoint
136
+ CREATE INDEX "security_incidents_status_idx" ON "security_incidents" USING btree ("status");--> statement-breakpoint
137
+ CREATE INDEX "security_incidents_severity_idx" ON "security_incidents" USING btree ("severity");--> statement-breakpoint
138
+ CREATE INDEX "security_incidents_created_idx" ON "security_incidents" USING btree ("created_at");--> statement-breakpoint
139
+ CREATE INDEX "two_factor_auth_user_idx" ON "two_factor_auth" USING btree ("user_id");--> statement-breakpoint
140
140
  CREATE INDEX "audit_logs_sequence_idx" ON "audit_logs" USING btree ("sequence_number");
@@ -0,0 +1,46 @@
1
+ CREATE TABLE "m365_analysis_results" (
2
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
3
+ "user_key" text NOT NULL,
4
+ "input_type" text NOT NULL,
5
+ "input_id" text,
6
+ "subject" text,
7
+ "sender" text,
8
+ "risk_score" integer NOT NULL,
9
+ "category" text NOT NULL,
10
+ "explanation" jsonb,
11
+ "recommended_actions" jsonb,
12
+ "engine" text NOT NULL,
13
+ "model" text,
14
+ "latency_ms" integer,
15
+ "created_at" timestamp DEFAULT now() NOT NULL
16
+ );
17
+ --> statement-breakpoint
18
+ CREATE TABLE "m365_connections" (
19
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
20
+ "user_key" text NOT NULL,
21
+ "microsoft_user_id" text,
22
+ "email" text,
23
+ "display_name" text,
24
+ "access_token_encrypted" text NOT NULL,
25
+ "refresh_token_encrypted" text,
26
+ "scope" text,
27
+ "token_type" text DEFAULT 'Bearer',
28
+ "expires_at" timestamp NOT NULL,
29
+ "created_at" timestamp DEFAULT now() NOT NULL,
30
+ "updated_at" timestamp DEFAULT now() NOT NULL,
31
+ CONSTRAINT "m365_connections_user_key_unique" UNIQUE("user_key")
32
+ );
33
+ --> statement-breakpoint
34
+ CREATE TABLE "m365_oauth_states" (
35
+ "state" text PRIMARY KEY NOT NULL,
36
+ "code_verifier" text NOT NULL,
37
+ "user_key" text,
38
+ "return_to" text,
39
+ "created_at" timestamp DEFAULT now() NOT NULL,
40
+ "expires_at" timestamp NOT NULL
41
+ );
42
+ --> statement-breakpoint
43
+ CREATE INDEX "m365_analysis_user_idx" ON "m365_analysis_results" USING btree ("user_key");--> statement-breakpoint
44
+ CREATE INDEX "m365_analysis_created_idx" ON "m365_analysis_results" USING btree ("created_at");--> statement-breakpoint
45
+ CREATE INDEX "m365_connections_user_idx" ON "m365_connections" USING btree ("user_key");--> statement-breakpoint
46
+ CREATE INDEX "m365_oauth_states_expires_idx" ON "m365_oauth_states" USING btree ("expires_at");