opensentinel 3.1.1 → 3.6.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.
- package/README.md +126 -83
- package/dist/agent-manager-7N7REQZQ.js +39 -0
- package/dist/agent-processor-I23VWQY3.js +280 -0
- package/dist/agent-processor-I23VWQY3.js.map +1 -0
- package/dist/agent-types-2T4PXLFQ.js +12 -0
- package/dist/alerting-4I37GG4U.js +699 -0
- package/dist/alerting-4I37GG4U.js.map +1 -0
- package/dist/analysis-agent-JWN2GXYE.js +288 -0
- package/dist/analysis-agent-JWN2GXYE.js.map +1 -0
- package/dist/{archiver-AVNBYCKQ.js → archiver-XLRIIXPY.js} +86 -17
- package/dist/archiver-XLRIIXPY.js.map +1 -0
- package/dist/{audit-logger-OBPR7CRO.js → audit-logger-AU3TMWKI.js} +6 -5
- package/dist/{auth-UOX5K2BE.js → auth-PH5IHISW.js} +2 -2
- package/dist/{autonomy-ZXDBDQUJ.js → autonomy-N7W5XPLX.js} +4 -3
- package/dist/autonomy-N7W5XPLX.js.map +1 -0
- package/dist/{aws-s3-Q4LLZZPD.js → aws-s3-QZMURYXB.js} +2 -2
- package/dist/{backup-restore-PZ7CYYB7.js → backup-restore-72OQTZO3.js} +2 -2
- package/dist/{blocks-R3PODY47.js → blocks-YOWOESDD.js} +4 -4
- package/dist/bot-MU2TJQ3Y.js +46 -0
- package/dist/brain-SLA474EU.js +65 -0
- package/dist/{camera-monitor-M5CYKUU4.js → camera-monitor-LHTUWHEL.js} +2 -2
- package/dist/{charts-V7ARZNKF.js → charts-FJ32GQK7.js} +2 -2
- package/dist/{chunk-6PMVAAA7.js → chunk-2RGPWU77.js} +3 -3
- package/dist/{chunk-TVEWKIK3.js → chunk-2WTKTG2C.js} +2 -2
- package/dist/{chunk-MXAPLSJ5.js → chunk-45YXODSB.js} +2 -2
- package/dist/{chunk-SJSUSJ47.js → chunk-4YJRBMMA.js} +2 -2
- package/dist/chunk-643M3AP5.js +564 -0
- package/dist/chunk-643M3AP5.js.map +1 -0
- package/dist/{chunk-766ASQWE.js → chunk-6JY4HNUH.js} +2413 -2368
- package/dist/chunk-6JY4HNUH.js.map +1 -0
- package/dist/chunk-6LTLIYAQ.js +194 -0
- package/dist/chunk-6LTLIYAQ.js.map +1 -0
- package/dist/chunk-6UZPE35A.js +724 -0
- package/dist/chunk-6UZPE35A.js.map +1 -0
- package/dist/chunk-6W6PTJFT.js +181 -0
- package/dist/chunk-6W6PTJFT.js.map +1 -0
- package/dist/chunk-7MZN73J2.js +162 -0
- package/dist/chunk-7MZN73J2.js.map +1 -0
- package/dist/{chunk-SVAPX2XN.js → chunk-A24GPVLY.js} +9 -7
- package/dist/{chunk-SVAPX2XN.js.map → chunk-A24GPVLY.js.map} +1 -1
- package/dist/chunk-AD6YEH6U.js +3408 -0
- package/dist/chunk-AD6YEH6U.js.map +1 -0
- package/dist/chunk-ADTDYJO7.js +265 -0
- package/dist/chunk-ADTDYJO7.js.map +1 -0
- package/dist/{chunk-WRAKK6K6.js → chunk-AR34B6XR.js} +5 -3
- package/dist/{chunk-WRAKK6K6.js.map → chunk-AR34B6XR.js.map} +1 -1
- package/dist/chunk-BMOUYXLX.js +418 -0
- package/dist/chunk-BMOUYXLX.js.map +1 -0
- package/dist/chunk-C6PELIHS.js +60 -0
- package/dist/chunk-C6PELIHS.js.map +1 -0
- package/dist/{chunk-MQJ2ECQT.js → chunk-CUPEENUY.js} +3 -3
- package/dist/{chunk-RZ4YESBG.js → chunk-DOYGMNMK.js} +1 -1
- package/dist/chunk-DOYGMNMK.js.map +1 -0
- package/dist/chunk-FFV2SXFD.js +380 -0
- package/dist/chunk-FFV2SXFD.js.map +1 -0
- package/dist/{chunk-EVE7MIIY.js → chunk-GUKKW7JI.js} +15 -16
- package/dist/chunk-GUKKW7JI.js.map +1 -0
- package/dist/{chunk-66OJ3WB4.js → chunk-H3BOLSTS.js} +2 -2
- package/dist/chunk-HKOPRRDJ.js +1021 -0
- package/dist/chunk-HKOPRRDJ.js.map +1 -0
- package/dist/{chunk-BXZ6EA52.js → chunk-HTF2GIQC.js} +57 -3
- package/dist/chunk-HTF2GIQC.js.map +1 -0
- package/dist/{chunk-TYAGMJNV.js → chunk-JOA5A3G3.js} +5 -5
- package/dist/{chunk-OCVQGBJK.js → chunk-KABG5PG3.js} +6 -4
- package/dist/{chunk-OCVQGBJK.js.map → chunk-KABG5PG3.js.map} +1 -1
- package/dist/{chunk-VEHFVBLI.js → chunk-KT7NLIXP.js} +2 -2
- package/dist/chunk-LFDXEYYB.js +150 -0
- package/dist/chunk-LFDXEYYB.js.map +1 -0
- package/dist/{chunk-I6BDYQIG.js → chunk-M7YLQHFP.js} +6 -6
- package/dist/chunk-M7YLQHFP.js.map +1 -0
- package/dist/{chunk-AYUKPTSM.js → chunk-MFK34XSY.js} +96 -218
- package/dist/chunk-MFK34XSY.js.map +1 -0
- package/dist/chunk-MIC5IBQF.js +386 -0
- package/dist/chunk-MIC5IBQF.js.map +1 -0
- package/dist/{chunk-4UOE5TUZ.js → chunk-NMSHVO5O.js} +4 -4
- package/dist/{chunk-XKYRH4FM.js → chunk-NYVBXUGD.js} +13 -32
- package/dist/chunk-NYVBXUGD.js.map +1 -0
- package/dist/chunk-ODCFS5WD.js +463 -0
- package/dist/chunk-ODCFS5WD.js.map +1 -0
- package/dist/{chunk-ZLZKF2PM.js → chunk-PUNIMPMY.js} +32 -2
- package/dist/chunk-PUNIMPMY.js.map +1 -0
- package/dist/chunk-S4NJJS5C.js +37 -0
- package/dist/chunk-S4NJJS5C.js.map +1 -0
- package/dist/{chunk-NHMBTUMW.js → chunk-TAAZB5KN.js} +2 -2
- package/dist/{chunk-BRBWNV65.js → chunk-U2X2J3FI.js} +3 -3
- package/dist/chunk-U2X2J3FI.js.map +1 -0
- package/dist/{chunk-PLDDJCW6.js → chunk-UP2VWCW5.js} +1 -12
- package/dist/{chunk-4GLYY4NN.js → chunk-UWUIJTT4.js} +8 -2
- package/dist/chunk-UWUIJTT4.js.map +1 -0
- package/dist/{chunk-SPPMCAKG.js → chunk-VKMFUIVA.js} +2 -2
- package/dist/chunk-VKMFUIVA.js.map +1 -0
- package/dist/chunk-WZAH34TG.js +129 -0
- package/dist/chunk-WZAH34TG.js.map +1 -0
- package/dist/{chunk-H5RQOFO2.js → chunk-X6Q3K3L2.js} +6 -6
- package/dist/chunk-X6Q3K3L2.js.map +1 -0
- package/dist/chunk-XTX7EK43.js +134 -0
- package/dist/chunk-XTX7EK43.js.map +1 -0
- package/dist/chunk-ZIYTHUM5.js +457 -0
- package/dist/chunk-ZIYTHUM5.js.map +1 -0
- package/dist/chunker-K6WTR62A.js +12 -0
- package/dist/cli.js +1 -1
- package/dist/{client-ZQSFPMOB.js → client-FOIYPOZQ.js} +5 -6
- package/dist/{clipboard-manager-TEO2GEDN.js → clipboard-manager-4SBNESGZ.js} +2 -2
- package/dist/coding-agent-DESSU3AC.js +233 -0
- package/dist/coding-agent-DESSU3AC.js.map +1 -0
- package/dist/commands/setup.js +1 -1
- package/dist/commands/start.js +2 -2
- package/dist/commands/status.js +1 -1
- package/dist/commands/stop.js +1 -1
- package/dist/commands/utils.js +1 -1
- package/dist/cost-tracker-EMOIOYH7.js +11 -0
- package/dist/{cron-explain-HHQKPD3M.js → cron-explain-UOOOYWZZ.js} +2 -2
- package/dist/{crypto-4AP47IKC.js → crypto-2VG3RJR2.js} +2 -2
- package/dist/{databases-37X4CI2Y.js → databases-XDPMG5AV.js} +4 -4
- package/dist/db-LRIOKQBO.js +77 -0
- package/dist/discord-NKR3X4AV.js +80 -0
- package/dist/documents-EYIYLZK2.js +184 -0
- package/dist/documents-EYIYLZK2.js.map +1 -0
- package/dist/docx-parser-EXL4TN5E.js +16 -0
- package/dist/{email-K7LO2IPB.js → email-EAQNULVD.js} +33 -25
- package/dist/{email-K7LO2IPB.js.map → email-EAQNULVD.js.map} +1 -1
- package/dist/{enhanced-retrieval-DNLLEM4Z.js → enhanced-retrieval-OGHT6TS5.js} +11 -8
- package/dist/{enhanced-retrieval-DNLLEM4Z.js.map → enhanced-retrieval-OGHT6TS5.js.map} +1 -1
- package/dist/enrichment-pipeline-CMUVBDC7.js +14 -0
- package/dist/{entity-resolution-Y3IUWEAT.js → entity-resolution-4X4JU43O.js} +6 -5
- package/dist/env-CHOFICED.js +12 -0
- package/dist/error-tracker-SVQSDQDW.js +32 -0
- package/dist/finnhub-X7ZMQSXF.js +178 -0
- package/dist/finnhub-X7ZMQSXF.js.map +1 -0
- package/dist/fred-TMUF3J2V.js +203 -0
- package/dist/fred-TMUF3J2V.js.map +1 -0
- package/dist/github-KGNILDWJ.js +833 -0
- package/dist/github-KGNILDWJ.js.map +1 -0
- package/dist/{google-workspace-DKWUVNGC.js → google-workspace-TSZPZK5G.js} +2 -2
- package/dist/{hash-tool-ULQYD7B5.js → hash-tool-ENAB5LWH.js} +2 -2
- package/dist/{heartbeat-monitor-GCISLXI3.js → heartbeat-monitor-KRDYTDBF.js} +2 -2
- package/dist/hooks-N4MIFBVM.js +14 -0
- package/dist/{image-generation-OSU7FP6F.js → image-generation-MDE6AVQO.js} +2 -2
- package/dist/imessage-V2XNDDHT.js +43 -0
- package/dist/inbox-summarizer-DKKRYXDR.js +55 -0
- package/dist/{incident-response-C5J7Q6DT.js → incident-response-ZTIKUWEO.js} +8 -6
- package/dist/{incident-response-C5J7Q6DT.js.map → incident-response-ZTIKUWEO.js.map} +1 -1
- package/dist/{inventory-manager-352OHXWD.js → inventory-manager-C67BSZM6.js} +2 -2
- package/dist/{jira-GSGDBMIG.js → jira-PAGZWUBJ.js} +2 -2
- package/dist/{json-tool-QE2SYHEG.js → json-tool-4FK5RNER.js} +2 -2
- package/dist/{key-rotation-DPHU4ZTB.js → key-rotation-WCC5FOYS.js} +2 -2
- package/dist/knowledge-base-J7PJ7MZ3.js +46 -0
- package/dist/lib.d.ts +73 -1
- package/dist/lib.js +86 -76
- package/dist/lib.js.map +1 -1
- package/dist/{mailchimp-KKNF6QJ7.js → mailchimp-ZFYDC44J.js} +2 -2
- package/dist/{matrix-QVHG76I7.js → matrix-XHTR53VQ.js} +29 -21
- package/dist/{matrix-QVHG76I7.js.map → matrix-XHTR53VQ.js.map} +1 -1
- package/dist/{mcp-3JI6W7ZE.js → mcp-3C2TN67D.js} +3 -3
- package/dist/metrics-VJDWQWU7.js +25 -0
- package/dist/{microsoft365-UCBKJHNX.js → microsoft365-6G2IJMWC.js} +2 -2
- package/dist/multi-user-S56GUD6L.js +411 -0
- package/dist/multi-user-S56GUD6L.js.map +1 -0
- package/dist/{ocr-AC7NPX33.js → ocr-LGUIPKVZ.js} +6 -4
- package/dist/{ollama-BOAMSPLJ.js → ollama-J7CU45WT.js} +2 -2
- package/dist/osint-agent-RL5XPBRQ.js +189 -0
- package/dist/osint-agent-RL5XPBRQ.js.map +1 -0
- package/dist/{pages-MI523RB7.js → pages-XDE7JRCA.js} +5 -5
- package/dist/{pair-JDFTERIK.js → pair-YZJFQUU5.js} +2 -2
- package/dist/{pairing-IFQYCPNS.js → pairing-77N47RAT.js} +2 -2
- package/dist/{pdf-ALQVOEJR.js → pdf-67HGXCFJ.js} +3 -3
- package/dist/pdf-parser-YLMTTYHL.js +14 -0
- package/dist/{presentations-DSV5IHG5.js → presentations-HXTAMGHT.js} +3 -3
- package/dist/presentations-HXTAMGHT.js.map +1 -0
- package/dist/{prometheus-JNT2BD4L.js → prometheus-YETCZO4I.js} +2 -2
- package/dist/{providers-J4LYPHDR.js → providers-H6YIC3MG.js} +6 -4
- package/dist/{qr-code-WIX4PB4U.js → qr-code-6WZJHRKL.js} +2 -2
- package/dist/{quickbooks-XB4NII2S.js → quickbooks-N675W7IK.js} +2 -2
- package/dist/{regex-tool-W4ABRKGK.js → regex-tool-6Q63LQ7B.js} +2 -2
- package/dist/regex-tool-6Q63LQ7B.js.map +1 -0
- package/dist/research-agent-WCRSY3UZ.js +168 -0
- package/dist/research-agent-WCRSY3UZ.js.map +1 -0
- package/dist/risk-engine-YKCPT5D5.js +10 -0
- package/dist/risk-engine-YKCPT5D5.js.map +1 -0
- package/dist/scheduler-CA5UNHZV.js +73 -0
- package/dist/scheduler-CA5UNHZV.js.map +1 -0
- package/dist/schema-ALJ67YVG.js +72 -0
- package/dist/schema-ALJ67YVG.js.map +1 -0
- package/dist/{search-BCLBO5E3.js → search-GMLKBHSW.js} +4 -4
- package/dist/search-GMLKBHSW.js.map +1 -0
- package/dist/{sendgrid-RNXCAFKM.js → sendgrid-QGJIVPWV.js} +2 -2
- package/dist/{shopify-NCXYJB4R.js → shopify-ON2PAU27.js} +2 -2
- package/dist/signal-X7IQJGRQ.js +43 -0
- package/dist/signal-X7IQJGRQ.js.map +1 -0
- package/dist/slack-P2LFUJUQ.js +85 -0
- package/dist/slack-P2LFUJUQ.js.map +1 -0
- package/dist/{sms-M3JIOTCW.js → sms-4VME2HUL.js} +4 -4
- package/dist/sms-4VME2HUL.js.map +1 -0
- package/dist/{src-VYUE6LRA.js → src-S5KX4YEV.js} +179 -48
- package/dist/src-S5KX4YEV.js.map +1 -0
- package/dist/{stocks-XXWBPOCU.js → stocks-4M4HZWZS.js} +2 -2
- package/dist/stocks-4M4HZWZS.js.map +1 -0
- package/dist/text-extractor-OAUBAW5P.js +12 -0
- package/dist/text-extractor-OAUBAW5P.js.map +1 -0
- package/dist/{text-transform-6SGUA5Z4.js → text-transform-HCLCUDFZ.js} +2 -2
- package/dist/text-transform-HCLCUDFZ.js.map +1 -0
- package/dist/tools-FGPN522P.js +46 -0
- package/dist/tools-FGPN522P.js.map +1 -0
- package/dist/{tunnel-IWMXUML4.js → tunnel-XOUVVRAK.js} +4 -2
- package/dist/tunnel-XOUVVRAK.js.map +1 -0
- package/dist/{twilio-53GEW5JT.js → twilio-3L7DUNYQ.js} +2 -2
- package/dist/{unit-converter-ZYXMEZOE.js → unit-converter-LYPAHU64.js} +2 -2
- package/dist/unit-converter-LYPAHU64.js.map +1 -0
- package/dist/whatsapp-KRPQ4YUX.js +43 -0
- package/dist/whatsapp-KRPQ4YUX.js.map +1 -0
- package/dist/{word-document-7B6SJMAY.js → word-document-D6N2C47N.js} +4 -4
- package/dist/word-document-D6N2C47N.js.map +1 -0
- package/dist/workflow-store-ZYAYE5P6.js +373 -0
- package/dist/workflow-store-ZYAYE5P6.js.map +1 -0
- package/dist/writing-agent-VDGLNOGO.js +243 -0
- package/dist/writing-agent-VDGLNOGO.js.map +1 -0
- package/dist/{xero-QYO66D45.js → xero-UHAHVYSD.js} +2 -2
- package/dist/{zapier-webhook-TBZ5YF2A.js → zapier-webhook-NIELLTXR.js} +2 -2
- package/package.json +11 -1
- package/dist/archiver-AVNBYCKQ.js.map +0 -1
- package/dist/autonomy-ZXDBDQUJ.js.map +0 -1
- package/dist/bot-QRARP4UN.js +0 -36
- package/dist/brain-7XLLM3KC.js +0 -56
- package/dist/chunk-4GLYY4NN.js.map +0 -1
- package/dist/chunk-766ASQWE.js.map +0 -1
- package/dist/chunk-AYUKPTSM.js.map +0 -1
- package/dist/chunk-BRBWNV65.js.map +0 -1
- package/dist/chunk-BXZ6EA52.js.map +0 -1
- package/dist/chunk-EVE7MIIY.js.map +0 -1
- package/dist/chunk-H5RQOFO2.js.map +0 -1
- package/dist/chunk-I6BDYQIG.js.map +0 -1
- package/dist/chunk-IZJMVV7O.js +0 -347
- package/dist/chunk-IZJMVV7O.js.map +0 -1
- package/dist/chunk-O7IH7JTI.js +0 -1898
- package/dist/chunk-O7IH7JTI.js.map +0 -1
- package/dist/chunk-RZ4YESBG.js.map +0 -1
- package/dist/chunk-SPPMCAKG.js.map +0 -1
- package/dist/chunk-VRD5CYRL.js +0 -1568
- package/dist/chunk-VRD5CYRL.js.map +0 -1
- package/dist/chunk-XKYRH4FM.js.map +0 -1
- package/dist/chunk-ZLZKF2PM.js.map +0 -1
- package/dist/discord-B3HUPGQ6.js +0 -70
- package/dist/dist-UISMLMFN.js +0 -21847
- package/dist/dist-UISMLMFN.js.map +0 -1
- package/dist/enrichment-pipeline-MNHNW65K.js +0 -13
- package/dist/env-IWXUVTCB.js +0 -12
- package/dist/imessage-NGA2XF2V.js +0 -35
- package/dist/inbox-summarizer-NRI4S7IF.js +0 -47
- package/dist/presentations-DSV5IHG5.js.map +0 -1
- package/dist/scheduler-VK4WFERV.js +0 -63
- package/dist/signal-6CGDFYL2.js +0 -35
- package/dist/slack-IZQWIKOH.js +0 -75
- package/dist/src-VYUE6LRA.js.map +0 -1
- package/dist/tools-2RLEI2N6.js +0 -38
- package/dist/tunnel-IWMXUML4.js.map +0 -1
- package/dist/whatsapp-LFX6YKCM.js +0 -35
- package/dist/word-document-7B6SJMAY.js.map +0 -1
- /package/dist/{audit-logger-OBPR7CRO.js.map → agent-manager-7N7REQZQ.js.map} +0 -0
- /package/dist/{auth-UOX5K2BE.js.map → agent-types-2T4PXLFQ.js.map} +0 -0
- /package/dist/{backup-restore-PZ7CYYB7.js.map → audit-logger-AU3TMWKI.js.map} +0 -0
- /package/dist/{blocks-R3PODY47.js.map → auth-PH5IHISW.js.map} +0 -0
- /package/dist/{aws-s3-Q4LLZZPD.js.map → aws-s3-QZMURYXB.js.map} +0 -0
- /package/dist/{bot-QRARP4UN.js.map → backup-restore-72OQTZO3.js.map} +0 -0
- /package/dist/{brain-7XLLM3KC.js.map → blocks-YOWOESDD.js.map} +0 -0
- /package/dist/{chunk-PLDDJCW6.js.map → bot-MU2TJQ3Y.js.map} +0 -0
- /package/dist/{client-ZQSFPMOB.js.map → brain-SLA474EU.js.map} +0 -0
- /package/dist/{camera-monitor-M5CYKUU4.js.map → camera-monitor-LHTUWHEL.js.map} +0 -0
- /package/dist/{charts-V7ARZNKF.js.map → charts-FJ32GQK7.js.map} +0 -0
- /package/dist/{chunk-6PMVAAA7.js.map → chunk-2RGPWU77.js.map} +0 -0
- /package/dist/{chunk-TVEWKIK3.js.map → chunk-2WTKTG2C.js.map} +0 -0
- /package/dist/{chunk-MXAPLSJ5.js.map → chunk-45YXODSB.js.map} +0 -0
- /package/dist/{chunk-SJSUSJ47.js.map → chunk-4YJRBMMA.js.map} +0 -0
- /package/dist/{chunk-MQJ2ECQT.js.map → chunk-CUPEENUY.js.map} +0 -0
- /package/dist/{chunk-66OJ3WB4.js.map → chunk-H3BOLSTS.js.map} +0 -0
- /package/dist/{chunk-TYAGMJNV.js.map → chunk-JOA5A3G3.js.map} +0 -0
- /package/dist/{chunk-VEHFVBLI.js.map → chunk-KT7NLIXP.js.map} +0 -0
- /package/dist/{chunk-4UOE5TUZ.js.map → chunk-NMSHVO5O.js.map} +0 -0
- /package/dist/{chunk-NHMBTUMW.js.map → chunk-TAAZB5KN.js.map} +0 -0
- /package/dist/{clipboard-manager-TEO2GEDN.js.map → chunk-UP2VWCW5.js.map} +0 -0
- /package/dist/{cron-explain-HHQKPD3M.js.map → chunker-K6WTR62A.js.map} +0 -0
- /package/dist/{crypto-4AP47IKC.js.map → client-FOIYPOZQ.js.map} +0 -0
- /package/dist/{databases-37X4CI2Y.js.map → clipboard-manager-4SBNESGZ.js.map} +0 -0
- /package/dist/{discord-B3HUPGQ6.js.map → cost-tracker-EMOIOYH7.js.map} +0 -0
- /package/dist/{enrichment-pipeline-MNHNW65K.js.map → cron-explain-UOOOYWZZ.js.map} +0 -0
- /package/dist/{entity-resolution-Y3IUWEAT.js.map → crypto-2VG3RJR2.js.map} +0 -0
- /package/dist/{env-IWXUVTCB.js.map → databases-XDPMG5AV.js.map} +0 -0
- /package/dist/{hash-tool-ULQYD7B5.js.map → db-LRIOKQBO.js.map} +0 -0
- /package/dist/{heartbeat-monitor-GCISLXI3.js.map → discord-NKR3X4AV.js.map} +0 -0
- /package/dist/{imessage-NGA2XF2V.js.map → docx-parser-EXL4TN5E.js.map} +0 -0
- /package/dist/{inbox-summarizer-NRI4S7IF.js.map → enrichment-pipeline-CMUVBDC7.js.map} +0 -0
- /package/dist/{inventory-manager-352OHXWD.js.map → entity-resolution-4X4JU43O.js.map} +0 -0
- /package/dist/{json-tool-QE2SYHEG.js.map → env-CHOFICED.js.map} +0 -0
- /package/dist/{key-rotation-DPHU4ZTB.js.map → error-tracker-SVQSDQDW.js.map} +0 -0
- /package/dist/{google-workspace-DKWUVNGC.js.map → google-workspace-TSZPZK5G.js.map} +0 -0
- /package/dist/{mcp-3JI6W7ZE.js.map → hash-tool-ENAB5LWH.js.map} +0 -0
- /package/dist/{ocr-AC7NPX33.js.map → heartbeat-monitor-KRDYTDBF.js.map} +0 -0
- /package/dist/{ollama-BOAMSPLJ.js.map → hooks-N4MIFBVM.js.map} +0 -0
- /package/dist/{image-generation-OSU7FP6F.js.map → image-generation-MDE6AVQO.js.map} +0 -0
- /package/dist/{pages-MI523RB7.js.map → imessage-V2XNDDHT.js.map} +0 -0
- /package/dist/{pairing-IFQYCPNS.js.map → inbox-summarizer-DKKRYXDR.js.map} +0 -0
- /package/dist/{pdf-ALQVOEJR.js.map → inventory-manager-C67BSZM6.js.map} +0 -0
- /package/dist/{jira-GSGDBMIG.js.map → jira-PAGZWUBJ.js.map} +0 -0
- /package/dist/{prometheus-JNT2BD4L.js.map → json-tool-4FK5RNER.js.map} +0 -0
- /package/dist/{providers-J4LYPHDR.js.map → key-rotation-WCC5FOYS.js.map} +0 -0
- /package/dist/{qr-code-WIX4PB4U.js.map → knowledge-base-J7PJ7MZ3.js.map} +0 -0
- /package/dist/{mailchimp-KKNF6QJ7.js.map → mailchimp-ZFYDC44J.js.map} +0 -0
- /package/dist/{regex-tool-W4ABRKGK.js.map → mcp-3C2TN67D.js.map} +0 -0
- /package/dist/{scheduler-VK4WFERV.js.map → metrics-VJDWQWU7.js.map} +0 -0
- /package/dist/{microsoft365-UCBKJHNX.js.map → microsoft365-6G2IJMWC.js.map} +0 -0
- /package/dist/{search-BCLBO5E3.js.map → ocr-LGUIPKVZ.js.map} +0 -0
- /package/dist/{signal-6CGDFYL2.js.map → ollama-J7CU45WT.js.map} +0 -0
- /package/dist/{slack-IZQWIKOH.js.map → pages-XDE7JRCA.js.map} +0 -0
- /package/dist/{pair-JDFTERIK.js.map → pair-YZJFQUU5.js.map} +0 -0
- /package/dist/{sms-M3JIOTCW.js.map → pairing-77N47RAT.js.map} +0 -0
- /package/dist/{stocks-XXWBPOCU.js.map → pdf-67HGXCFJ.js.map} +0 -0
- /package/dist/{text-transform-6SGUA5Z4.js.map → pdf-parser-YLMTTYHL.js.map} +0 -0
- /package/dist/{tools-2RLEI2N6.js.map → prometheus-YETCZO4I.js.map} +0 -0
- /package/dist/{unit-converter-ZYXMEZOE.js.map → providers-H6YIC3MG.js.map} +0 -0
- /package/dist/{whatsapp-LFX6YKCM.js.map → qr-code-6WZJHRKL.js.map} +0 -0
- /package/dist/{quickbooks-XB4NII2S.js.map → quickbooks-N675W7IK.js.map} +0 -0
- /package/dist/{sendgrid-RNXCAFKM.js.map → sendgrid-QGJIVPWV.js.map} +0 -0
- /package/dist/{shopify-NCXYJB4R.js.map → shopify-ON2PAU27.js.map} +0 -0
- /package/dist/{twilio-53GEW5JT.js.map → twilio-3L7DUNYQ.js.map} +0 -0
- /package/dist/{xero-QYO66D45.js.map → xero-UHAHVYSD.js.map} +0 -0
- /package/dist/{zapier-webhook-TBZ5YF2A.js.map → zapier-webhook-NIELLTXR.js.map} +0 -0
package/dist/lib.d.ts
CHANGED
|
@@ -65,12 +65,18 @@ declare const envSchema: z.ZodObject<{
|
|
|
65
65
|
TENOR_API_KEY: z.ZodOptional<z.ZodString>;
|
|
66
66
|
GIPHY_API_KEY: z.ZodOptional<z.ZodString>;
|
|
67
67
|
ALPHA_VANTAGE_API_KEY: z.ZodOptional<z.ZodString>;
|
|
68
|
+
FRED_API_KEY: z.ZodOptional<z.ZodString>;
|
|
69
|
+
FINNHUB_API_KEY: z.ZodOptional<z.ZodString>;
|
|
68
70
|
COINBASE_API_KEY: z.ZodOptional<z.ZodString>;
|
|
69
71
|
COINBASE_PRIVATE_KEY: z.ZodOptional<z.ZodString>;
|
|
70
72
|
BINANCE_API_KEY: z.ZodOptional<z.ZodString>;
|
|
71
73
|
BINANCE_API_SECRET: z.ZodOptional<z.ZodString>;
|
|
72
74
|
BINANCE_TESTNET: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
73
75
|
EXCHANGE_REQUIRE_CONFIRMATION: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
76
|
+
EXCHANGE_MAX_TRADE_SIZE: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
77
|
+
EXCHANGE_MAX_DAILY_SPEND: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
78
|
+
EXCHANGE_MAX_TRADES_PER_HOUR: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
79
|
+
EXCHANGE_AGENT_TRADING_ENABLED: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
74
80
|
DEFILLAMA_API_KEY: z.ZodOptional<z.ZodString>;
|
|
75
81
|
ETHERSCAN_API_KEY: z.ZodOptional<z.ZodString>;
|
|
76
82
|
ALCHEMY_API_KEY: z.ZodOptional<z.ZodString>;
|
|
@@ -107,6 +113,10 @@ declare const envSchema: z.ZodObject<{
|
|
|
107
113
|
OPENAI_COMPATIBLE_API_KEY: z.ZodOptional<z.ZodString>;
|
|
108
114
|
OPENAI_COMPATIBLE_BASE_URL: z.ZodOptional<z.ZodString>;
|
|
109
115
|
OPENAI_COMPATIBLE_MODEL: z.ZodOptional<z.ZodString>;
|
|
116
|
+
XAI_API_KEY: z.ZodOptional<z.ZodString>;
|
|
117
|
+
XAI_DEFAULT_MODEL: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
118
|
+
GEMINI_API_KEY: z.ZodOptional<z.ZodString>;
|
|
119
|
+
GEMINI_DEFAULT_MODEL: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
110
120
|
OLLAMA_ENABLED: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
111
121
|
OLLAMA_BASE_URL: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
112
122
|
OLLAMA_DEFAULT_MODEL: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
@@ -174,6 +184,18 @@ declare const envSchema: z.ZodObject<{
|
|
|
174
184
|
MULTISTEP_MAX_STEPS: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
175
185
|
RETRIEVAL_CACHE_ENABLED: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
176
186
|
CONTEXTUAL_QUERY_ENABLED: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
187
|
+
TOOL_CLASSIFIER_ENABLED: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
188
|
+
TOOL_CLASSIFIER_TIMEOUT_MS: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
189
|
+
TOOL_CLASSIFIER_MAX_CATEGORIES: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
190
|
+
AUTO_MEMORY_EXTRACT_ENABLED: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
191
|
+
AUTO_MEMORY_EXTRACT_DEDUP_THRESHOLD: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
192
|
+
AUTO_MEMORY_SEARCH_THRESHOLD: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
193
|
+
AGENTIC_PIPELINE_ENABLED: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
194
|
+
AGENTIC_PRE_EXECUTION_ENABLED: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
195
|
+
AGENTIC_PRE_EXECUTION_TIMEOUT_MS: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
196
|
+
AGENT_PROCESSOR_ENABLED: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
197
|
+
AGENT_PROCESSOR_CONCURRENCY: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
198
|
+
AGENT_MAX_TURNS: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
177
199
|
ENCRYPTION_MASTER_KEY: z.ZodOptional<z.ZodString>;
|
|
178
200
|
AUDIT_SIGNING_KEY: z.ZodOptional<z.ZodString>;
|
|
179
201
|
PORT: z.ZodDefault<z.ZodNumber>;
|
|
@@ -199,11 +221,17 @@ declare const envSchema: z.ZodObject<{
|
|
|
199
221
|
EMAIL_LOCAL_SMTP_PORT: number;
|
|
200
222
|
BINANCE_TESTNET: boolean;
|
|
201
223
|
EXCHANGE_REQUIRE_CONFIRMATION: boolean;
|
|
224
|
+
EXCHANGE_MAX_TRADE_SIZE: number;
|
|
225
|
+
EXCHANGE_MAX_DAILY_SPEND: number;
|
|
226
|
+
EXCHANGE_MAX_TRADES_PER_HOUR: number;
|
|
227
|
+
EXCHANGE_AGENT_TRADING_ENABLED: boolean;
|
|
202
228
|
ALCHEMY_NETWORK: string;
|
|
203
229
|
MCP_ENABLED: boolean;
|
|
204
230
|
MCP_CONFIG_PATH: string;
|
|
205
231
|
LLM_PROVIDER: string;
|
|
206
232
|
OPENAI_LLM_ENABLED: boolean;
|
|
233
|
+
XAI_DEFAULT_MODEL: string;
|
|
234
|
+
GEMINI_DEFAULT_MODEL: string;
|
|
207
235
|
OLLAMA_ENABLED: boolean;
|
|
208
236
|
OLLAMA_BASE_URL: string;
|
|
209
237
|
OLLAMA_DEFAULT_MODEL: string;
|
|
@@ -256,6 +284,18 @@ declare const envSchema: z.ZodObject<{
|
|
|
256
284
|
MULTISTEP_MAX_STEPS: number;
|
|
257
285
|
RETRIEVAL_CACHE_ENABLED: boolean;
|
|
258
286
|
CONTEXTUAL_QUERY_ENABLED: boolean;
|
|
287
|
+
TOOL_CLASSIFIER_ENABLED: boolean;
|
|
288
|
+
TOOL_CLASSIFIER_TIMEOUT_MS: number;
|
|
289
|
+
TOOL_CLASSIFIER_MAX_CATEGORIES: number;
|
|
290
|
+
AUTO_MEMORY_EXTRACT_ENABLED: boolean;
|
|
291
|
+
AUTO_MEMORY_EXTRACT_DEDUP_THRESHOLD: number;
|
|
292
|
+
AUTO_MEMORY_SEARCH_THRESHOLD: number;
|
|
293
|
+
AGENTIC_PIPELINE_ENABLED: boolean;
|
|
294
|
+
AGENTIC_PRE_EXECUTION_ENABLED: boolean;
|
|
295
|
+
AGENTIC_PRE_EXECUTION_TIMEOUT_MS: number;
|
|
296
|
+
AGENT_PROCESSOR_ENABLED: boolean;
|
|
297
|
+
AGENT_PROCESSOR_CONCURRENCY: number;
|
|
298
|
+
AGENT_MAX_TURNS: number;
|
|
259
299
|
PORT: number;
|
|
260
300
|
NODE_ENV: "development" | "production" | "test";
|
|
261
301
|
DISCORD_BOT_TOKEN?: string | undefined;
|
|
@@ -294,6 +334,8 @@ declare const envSchema: z.ZodObject<{
|
|
|
294
334
|
TENOR_API_KEY?: string | undefined;
|
|
295
335
|
GIPHY_API_KEY?: string | undefined;
|
|
296
336
|
ALPHA_VANTAGE_API_KEY?: string | undefined;
|
|
337
|
+
FRED_API_KEY?: string | undefined;
|
|
338
|
+
FINNHUB_API_KEY?: string | undefined;
|
|
297
339
|
COINBASE_API_KEY?: string | undefined;
|
|
298
340
|
COINBASE_PRIVATE_KEY?: string | undefined;
|
|
299
341
|
BINANCE_API_KEY?: string | undefined;
|
|
@@ -329,6 +371,8 @@ declare const envSchema: z.ZodObject<{
|
|
|
329
371
|
OPENAI_COMPATIBLE_API_KEY?: string | undefined;
|
|
330
372
|
OPENAI_COMPATIBLE_BASE_URL?: string | undefined;
|
|
331
373
|
OPENAI_COMPATIBLE_MODEL?: string | undefined;
|
|
374
|
+
XAI_API_KEY?: string | undefined;
|
|
375
|
+
GEMINI_API_KEY?: string | undefined;
|
|
332
376
|
WHATSAPP_ALLOWED_NUMBERS?: string | undefined;
|
|
333
377
|
SIGNAL_PHONE_NUMBER?: string | undefined;
|
|
334
378
|
SIGNAL_ALLOWED_NUMBERS?: string | undefined;
|
|
@@ -401,12 +445,18 @@ declare const envSchema: z.ZodObject<{
|
|
|
401
445
|
TENOR_API_KEY?: string | undefined;
|
|
402
446
|
GIPHY_API_KEY?: string | undefined;
|
|
403
447
|
ALPHA_VANTAGE_API_KEY?: string | undefined;
|
|
448
|
+
FRED_API_KEY?: string | undefined;
|
|
449
|
+
FINNHUB_API_KEY?: string | undefined;
|
|
404
450
|
COINBASE_API_KEY?: string | undefined;
|
|
405
451
|
COINBASE_PRIVATE_KEY?: string | undefined;
|
|
406
452
|
BINANCE_API_KEY?: string | undefined;
|
|
407
453
|
BINANCE_API_SECRET?: string | undefined;
|
|
408
454
|
BINANCE_TESTNET?: boolean | undefined;
|
|
409
455
|
EXCHANGE_REQUIRE_CONFIRMATION?: boolean | undefined;
|
|
456
|
+
EXCHANGE_MAX_TRADE_SIZE?: number | undefined;
|
|
457
|
+
EXCHANGE_MAX_DAILY_SPEND?: number | undefined;
|
|
458
|
+
EXCHANGE_MAX_TRADES_PER_HOUR?: number | undefined;
|
|
459
|
+
EXCHANGE_AGENT_TRADING_ENABLED?: boolean | undefined;
|
|
410
460
|
DEFILLAMA_API_KEY?: string | undefined;
|
|
411
461
|
ETHERSCAN_API_KEY?: string | undefined;
|
|
412
462
|
ALCHEMY_API_KEY?: string | undefined;
|
|
@@ -443,6 +493,10 @@ declare const envSchema: z.ZodObject<{
|
|
|
443
493
|
OPENAI_COMPATIBLE_API_KEY?: string | undefined;
|
|
444
494
|
OPENAI_COMPATIBLE_BASE_URL?: string | undefined;
|
|
445
495
|
OPENAI_COMPATIBLE_MODEL?: string | undefined;
|
|
496
|
+
XAI_API_KEY?: string | undefined;
|
|
497
|
+
XAI_DEFAULT_MODEL?: string | undefined;
|
|
498
|
+
GEMINI_API_KEY?: string | undefined;
|
|
499
|
+
GEMINI_DEFAULT_MODEL?: string | undefined;
|
|
446
500
|
OLLAMA_ENABLED?: boolean | undefined;
|
|
447
501
|
OLLAMA_BASE_URL?: string | undefined;
|
|
448
502
|
OLLAMA_DEFAULT_MODEL?: string | undefined;
|
|
@@ -510,6 +564,18 @@ declare const envSchema: z.ZodObject<{
|
|
|
510
564
|
MULTISTEP_MAX_STEPS?: number | undefined;
|
|
511
565
|
RETRIEVAL_CACHE_ENABLED?: boolean | undefined;
|
|
512
566
|
CONTEXTUAL_QUERY_ENABLED?: boolean | undefined;
|
|
567
|
+
TOOL_CLASSIFIER_ENABLED?: boolean | undefined;
|
|
568
|
+
TOOL_CLASSIFIER_TIMEOUT_MS?: number | undefined;
|
|
569
|
+
TOOL_CLASSIFIER_MAX_CATEGORIES?: number | undefined;
|
|
570
|
+
AUTO_MEMORY_EXTRACT_ENABLED?: boolean | undefined;
|
|
571
|
+
AUTO_MEMORY_EXTRACT_DEDUP_THRESHOLD?: number | undefined;
|
|
572
|
+
AUTO_MEMORY_SEARCH_THRESHOLD?: number | undefined;
|
|
573
|
+
AGENTIC_PIPELINE_ENABLED?: boolean | undefined;
|
|
574
|
+
AGENTIC_PRE_EXECUTION_ENABLED?: boolean | undefined;
|
|
575
|
+
AGENTIC_PRE_EXECUTION_TIMEOUT_MS?: number | undefined;
|
|
576
|
+
AGENT_PROCESSOR_ENABLED?: boolean | undefined;
|
|
577
|
+
AGENT_PROCESSOR_CONCURRENCY?: number | undefined;
|
|
578
|
+
AGENT_MAX_TURNS?: number | undefined;
|
|
513
579
|
ENCRYPTION_MASTER_KEY?: string | undefined;
|
|
514
580
|
AUDIT_SIGNING_KEY?: string | undefined;
|
|
515
581
|
PORT?: number | undefined;
|
|
@@ -541,10 +607,16 @@ declare const env: Env;
|
|
|
541
607
|
*/
|
|
542
608
|
declare function initializeProviders(): Promise<void>;
|
|
543
609
|
|
|
544
|
-
declare const SYSTEM_PROMPT = "You are OpenSentinel, a personal AI assistant with a JARVIS-like personality. You are helpful, efficient, and have a subtle sense of humor. You speak in a professional yet friendly manner.\n\nYou have access to 120+ tools spanning many domains. ALWAYS check your available tools before telling the user you cannot do something. Key capabilities include:\n\n**System & Productivity**\n- Execute shell commands, manage files, browse the web, search for information\n- Remember facts about the user, spawn background agents for complex tasks\n- Generate documents, spreadsheets, charts, diagrams, reports\n- Analyze images, take screenshots, OCR\n\n**Communication & Social**\n- Send/read Telegram, Discord, Slack, WhatsApp, Signal, iMessage, Matrix messages\n- Send/read emails (Gmail, IMAP/SMTP), SMS/phone calls via Twilio\n\n**Entertainment & Media**\n- Control Spotify playback (play, pause, skip, volume, queue, search, playlists, recommendations)\n- Search for GIFs (Tenor, Giphy, web fallback)\n- Generate images, text-to-speech, speech-to-text\n\n**Smart Home & Location**\n- Control Home Assistant devices (lights, switches, climate, cameras)\n- Search places, geocode addresses, find nearby POIs, get driving directions\n- Camera capture from webcams, RTSP streams, and HA cameras\n\n**Google Workspace**\n- Gmail (list, read, send, search, reply emails)\n- Google Calendar (list, create, update, delete events)\n- Google Drive (list, search, upload, download, share files)\n\n**Finance & Data**\n- Cryptocurrency prices, stock data, currency conversion\n- OSINT research, web scraping\n\n**DevOps & Code**\n- GitHub (repos, issues, PRs, code search)\n- Notion (pages, databases, search)\n- Terminal command execution (local or remote via WebSocket bridge)\n- Token usage dashboard with cost tracking\n\nIMPORTANT: When the user asks you to do something, USE YOUR TOOLS. Do not say \"I cannot do that\" if a matching tool exists. If a tool requires credentials that are not configured, tell the user what credentials are needed rather than refusing outright.\n\nAlways be concise but thorough. When executing tasks, explain what you're doing briefly. If you encounter errors, suggest solutions.\n\nThe user is your principal. Assist them with whatever they need while being mindful of security and privacy.";
|
|
610
|
+
declare const SYSTEM_PROMPT = "You are OpenSentinel, a personal AI assistant with a JARVIS-like personality. You are helpful, efficient, and have a subtle sense of humor. You speak in a professional yet friendly manner.\n\nYou have access to 120+ tools spanning many domains. ALWAYS check your available tools before telling the user you cannot do something. Key capabilities include:\n\n**System & Productivity**\n- Execute shell commands, manage files, browse the web, search for information\n- Remember facts about the user, spawn background agents for complex tasks\n- Generate documents, spreadsheets, charts, diagrams, reports\n- Analyze images, take screenshots, OCR\n\n**Communication & Social**\n- Send/read Telegram, Discord, Slack, WhatsApp, Signal, iMessage, Matrix messages\n- Send/read emails (Gmail, IMAP/SMTP), SMS/phone calls via Twilio\n\n**Entertainment & Media**\n- Control Spotify playback (play, pause, skip, volume, queue, search, playlists, recommendations)\n- Search for GIFs (Tenor, Giphy, web fallback)\n- Generate images, text-to-speech, speech-to-text\n\n**Smart Home & Location**\n- Control Home Assistant devices (lights, switches, climate, cameras)\n- Search places, geocode addresses, find nearby POIs, get driving directions\n- Camera capture from webcams, RTSP streams, and HA cameras\n\n**Google Workspace**\n- Gmail (list, read, send, search, reply emails)\n- Google Calendar (list, create, update, delete events)\n- Google Drive (list, search, upload, download, share files)\n\n**Finance & Data**\n- Cryptocurrency prices, stock data, currency conversion\n- OSINT research, web scraping\n\n**DevOps & Code**\n- GitHub (repos, issues, PRs, code search)\n- Notion (pages, databases, search)\n- Terminal command execution (local or remote via WebSocket bridge)\n- Token usage dashboard with cost tracking\n\nIMPORTANT: When the user asks you to do something, USE YOUR TOOLS. Do not say \"I cannot do that\" if a matching tool exists. If a tool requires credentials that are not configured, tell the user what credentials are needed rather than refusing outright.\n\nAlways be concise but thorough. When executing tasks, explain what you're doing briefly. If you encounter errors, suggest solutions.\n\nWhen a file-generation tool returns a `downloadUrl`, include a markdown link like `[Download filename](downloadUrl)` so the user can download the file.\n\nWhen the user uploads a document (PDF, DOCX, etc.), use the parse_document tool to extract its contents before responding.\n\nThe user is your principal. Assist them with whatever they need while being mindful of security and privacy.";
|
|
611
|
+
interface MessageAttachment {
|
|
612
|
+
name: string;
|
|
613
|
+
type: string;
|
|
614
|
+
data: string;
|
|
615
|
+
}
|
|
545
616
|
interface Message {
|
|
546
617
|
role: "user" | "assistant";
|
|
547
618
|
content: string;
|
|
619
|
+
attachments?: MessageAttachment[];
|
|
548
620
|
}
|
|
549
621
|
interface BrainResponse {
|
|
550
622
|
content: string;
|
package/dist/lib.js
CHANGED
|
@@ -1,69 +1,34 @@
|
|
|
1
1
|
import {
|
|
2
2
|
app
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-AD6YEH6U.js";
|
|
4
4
|
import {
|
|
5
5
|
SignalBot
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-KT7NLIXP.js";
|
|
7
7
|
import {
|
|
8
8
|
iMessageBot
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-TAAZB5KN.js";
|
|
10
10
|
import {
|
|
11
11
|
createBot
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-M7YLQHFP.js";
|
|
13
13
|
import {
|
|
14
14
|
DiscordBot
|
|
15
|
-
} from "./chunk-
|
|
16
|
-
import "./chunk-
|
|
15
|
+
} from "./chunk-JOA5A3G3.js";
|
|
16
|
+
import "./chunk-45YXODSB.js";
|
|
17
17
|
import {
|
|
18
18
|
SlackBot
|
|
19
|
-
} from "./chunk-
|
|
20
|
-
import "./chunk-
|
|
19
|
+
} from "./chunk-NMSHVO5O.js";
|
|
20
|
+
import "./chunk-4YJRBMMA.js";
|
|
21
21
|
import {
|
|
22
22
|
cancelTask,
|
|
23
23
|
generateBriefing,
|
|
24
24
|
scheduleReminder,
|
|
25
25
|
scheduleTask
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-MFK34XSY.js";
|
|
27
|
+
import "./chunk-LFDXEYYB.js";
|
|
28
|
+
import "./chunk-7MZN73J2.js";
|
|
27
29
|
import {
|
|
28
30
|
WhatsAppBot
|
|
29
|
-
} from "./chunk-
|
|
30
|
-
import {
|
|
31
|
-
SYSTEM_PROMPT,
|
|
32
|
-
TOOLS,
|
|
33
|
-
chat,
|
|
34
|
-
chatWithTools,
|
|
35
|
-
executeTool,
|
|
36
|
-
streamChat,
|
|
37
|
-
streamChatWithTools
|
|
38
|
-
} from "./chunk-766ASQWE.js";
|
|
39
|
-
import {
|
|
40
|
-
buildMemoryContext,
|
|
41
|
-
extractMemories,
|
|
42
|
-
generateEmbedding,
|
|
43
|
-
searchMemories,
|
|
44
|
-
storeMemory
|
|
45
|
-
} from "./chunk-IZJMVV7O.js";
|
|
46
|
-
import {
|
|
47
|
-
changeCase,
|
|
48
|
-
countText,
|
|
49
|
-
detectLanguage,
|
|
50
|
-
extractKeywords,
|
|
51
|
-
transformText
|
|
52
|
-
} from "./chunk-PTGTGXV2.js";
|
|
53
|
-
import {
|
|
54
|
-
diffJson,
|
|
55
|
-
flattenJson,
|
|
56
|
-
formatJson,
|
|
57
|
-
jsonTool,
|
|
58
|
-
queryJson,
|
|
59
|
-
validateJson
|
|
60
|
-
} from "./chunk-F3TTNID2.js";
|
|
61
|
-
import {
|
|
62
|
-
cronTool,
|
|
63
|
-
explainCron,
|
|
64
|
-
getNextRuns,
|
|
65
|
-
validateCron
|
|
66
|
-
} from "./chunk-APHSRMBS.js";
|
|
31
|
+
} from "./chunk-H3BOLSTS.js";
|
|
67
32
|
import {
|
|
68
33
|
compareHashes,
|
|
69
34
|
generateToken,
|
|
@@ -87,6 +52,24 @@ import {
|
|
|
87
52
|
import {
|
|
88
53
|
clipboardTool
|
|
89
54
|
} from "./chunk-MGFBLVR7.js";
|
|
55
|
+
import {
|
|
56
|
+
SYSTEM_PROMPT,
|
|
57
|
+
TOOLS,
|
|
58
|
+
chat,
|
|
59
|
+
chatWithTools,
|
|
60
|
+
executeTool,
|
|
61
|
+
streamChat,
|
|
62
|
+
streamChatWithTools
|
|
63
|
+
} from "./chunk-6JY4HNUH.js";
|
|
64
|
+
import "./chunk-HKOPRRDJ.js";
|
|
65
|
+
import {
|
|
66
|
+
buildMemoryContext,
|
|
67
|
+
extractMemories,
|
|
68
|
+
generateEmbedding,
|
|
69
|
+
searchMemories,
|
|
70
|
+
storeMemory
|
|
71
|
+
} from "./chunk-6UZPE35A.js";
|
|
72
|
+
import "./chunk-ADTDYJO7.js";
|
|
90
73
|
import {
|
|
91
74
|
generateEncryptionKey,
|
|
92
75
|
getRotationInfo,
|
|
@@ -103,38 +86,65 @@ import {
|
|
|
103
86
|
recordBeat,
|
|
104
87
|
registerService
|
|
105
88
|
} from "./chunk-SAX5MHK4.js";
|
|
106
|
-
import
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
89
|
+
import {
|
|
90
|
+
changeCase,
|
|
91
|
+
countText,
|
|
92
|
+
detectLanguage,
|
|
93
|
+
extractKeywords,
|
|
94
|
+
transformText
|
|
95
|
+
} from "./chunk-PTGTGXV2.js";
|
|
96
|
+
import {
|
|
97
|
+
diffJson,
|
|
98
|
+
flattenJson,
|
|
99
|
+
formatJson,
|
|
100
|
+
jsonTool,
|
|
101
|
+
queryJson,
|
|
102
|
+
validateJson
|
|
103
|
+
} from "./chunk-F3TTNID2.js";
|
|
104
|
+
import {
|
|
105
|
+
cronTool,
|
|
106
|
+
explainCron,
|
|
107
|
+
getNextRuns,
|
|
108
|
+
validateCron
|
|
109
|
+
} from "./chunk-APHSRMBS.js";
|
|
110
|
+
import "./chunk-CUPEENUY.js";
|
|
111
|
+
import "./chunk-2WTKTG2C.js";
|
|
112
|
+
import "./chunk-U2X2J3FI.js";
|
|
113
|
+
import "./chunk-X6Q3K3L2.js";
|
|
114
|
+
import "./chunk-ODCFS5WD.js";
|
|
112
115
|
import "./chunk-KM22GV7G.js";
|
|
113
116
|
import "./chunk-P6QINGFL.js";
|
|
114
|
-
import "./chunk-
|
|
115
|
-
import "./chunk-
|
|
116
|
-
import "./chunk-WRAKK6K6.js";
|
|
117
|
+
import "./chunk-2RGPWU77.js";
|
|
118
|
+
import "./chunk-C6PELIHS.js";
|
|
117
119
|
import "./chunk-7WQO5J2M.js";
|
|
120
|
+
import "./chunk-643M3AP5.js";
|
|
121
|
+
import "./chunk-6LTLIYAQ.js";
|
|
122
|
+
import "./chunk-BMOUYXLX.js";
|
|
123
|
+
import "./chunk-WZAH34TG.js";
|
|
124
|
+
import "./chunk-6KONMXQ6.js";
|
|
125
|
+
import "./chunk-22VGGA7S.js";
|
|
126
|
+
import "./chunk-HN3F4WSW.js";
|
|
127
|
+
import "./chunk-A24GPVLY.js";
|
|
128
|
+
import "./chunk-AR34B6XR.js";
|
|
129
|
+
import "./chunk-UWUIJTT4.js";
|
|
130
|
+
import "./chunk-GUKKW7JI.js";
|
|
118
131
|
import {
|
|
119
132
|
initializeProviders
|
|
120
|
-
} from "./chunk-
|
|
121
|
-
import "./chunk-
|
|
122
|
-
import "./chunk-EVE7MIIY.js";
|
|
123
|
-
import "./chunk-RZ4YESBG.js";
|
|
133
|
+
} from "./chunk-HTF2GIQC.js";
|
|
134
|
+
import "./chunk-DOYGMNMK.js";
|
|
124
135
|
import "./chunk-CQ4JURG7.js";
|
|
125
|
-
import "./chunk-
|
|
136
|
+
import "./chunk-KABG5PG3.js";
|
|
126
137
|
import {
|
|
127
138
|
db
|
|
128
|
-
} from "./chunk-
|
|
139
|
+
} from "./chunk-S4NJJS5C.js";
|
|
129
140
|
import {
|
|
130
141
|
configure,
|
|
131
142
|
env,
|
|
132
143
|
ready
|
|
133
|
-
} from "./chunk-
|
|
134
|
-
import "./chunk-
|
|
135
|
-
import "./chunk-22VGGA7S.js";
|
|
144
|
+
} from "./chunk-PUNIMPMY.js";
|
|
145
|
+
import "./chunk-NYVBXUGD.js";
|
|
136
146
|
import "./chunk-35WYTA3C.js";
|
|
137
|
-
import "./chunk-
|
|
147
|
+
import "./chunk-UP2VWCW5.js";
|
|
138
148
|
|
|
139
149
|
// src/app.ts
|
|
140
150
|
var OpenSentinel = class {
|
|
@@ -152,7 +162,7 @@ var OpenSentinel = class {
|
|
|
152
162
|
if (this._running) return;
|
|
153
163
|
const services = this.config.services || {};
|
|
154
164
|
if (services.telegram && env.TELEGRAM_BOT_TOKEN) {
|
|
155
|
-
const { createBot: createBot2 } = await import("./bot-
|
|
165
|
+
const { createBot: createBot2 } = await import("./bot-MU2TJQ3Y.js");
|
|
156
166
|
this._services.telegramBot = createBot2();
|
|
157
167
|
this._services.telegramBot.start({
|
|
158
168
|
onStart: (botInfo) => {
|
|
@@ -162,7 +172,7 @@ var OpenSentinel = class {
|
|
|
162
172
|
}
|
|
163
173
|
if (services.scheduler) {
|
|
164
174
|
try {
|
|
165
|
-
const { startWorker } = await import("./scheduler-
|
|
175
|
+
const { startWorker } = await import("./scheduler-CA5UNHZV.js");
|
|
166
176
|
startWorker(async (task) => {
|
|
167
177
|
console.log(`[Scheduler] Executing task: ${task.type}`);
|
|
168
178
|
if (task.chatId && task.message && this._services.telegramBot) {
|
|
@@ -182,8 +192,8 @@ var OpenSentinel = class {
|
|
|
182
192
|
}
|
|
183
193
|
if (services.mcp !== false && env.MCP_ENABLED) {
|
|
184
194
|
try {
|
|
185
|
-
const { initMCPRegistry, getMCPToolSummary } = await import("./mcp-
|
|
186
|
-
const { setMCPRegistry } = await import("./tools-
|
|
195
|
+
const { initMCPRegistry, getMCPToolSummary } = await import("./mcp-3C2TN67D.js");
|
|
196
|
+
const { setMCPRegistry } = await import("./tools-FGPN522P.js");
|
|
187
197
|
this._services.mcpRegistry = await initMCPRegistry(env.MCP_CONFIG_PATH);
|
|
188
198
|
setMCPRegistry(this._services.mcpRegistry);
|
|
189
199
|
if (this._services.mcpRegistry.connectedCount > 0) {
|
|
@@ -199,7 +209,7 @@ var OpenSentinel = class {
|
|
|
199
209
|
}
|
|
200
210
|
if (services.discord && env.DISCORD_BOT_TOKEN) {
|
|
201
211
|
try {
|
|
202
|
-
const { DiscordBot: DiscordBot2 } = await import("./discord-
|
|
212
|
+
const { DiscordBot: DiscordBot2 } = await import("./discord-NKR3X4AV.js");
|
|
203
213
|
this._services.discordBot = new DiscordBot2({
|
|
204
214
|
token: env.DISCORD_BOT_TOKEN,
|
|
205
215
|
clientId: env.DISCORD_CLIENT_ID || "",
|
|
@@ -216,7 +226,7 @@ var OpenSentinel = class {
|
|
|
216
226
|
}
|
|
217
227
|
if (services.slack && env.SLACK_BOT_TOKEN && env.SLACK_SIGNING_SECRET) {
|
|
218
228
|
try {
|
|
219
|
-
const { SlackBot: SlackBot2 } = await import("./slack-
|
|
229
|
+
const { SlackBot: SlackBot2 } = await import("./slack-P2LFUJUQ.js");
|
|
220
230
|
this._services.slackBot = new SlackBot2({
|
|
221
231
|
token: env.SLACK_BOT_TOKEN,
|
|
222
232
|
signingSecret: env.SLACK_SIGNING_SECRET,
|
|
@@ -235,7 +245,7 @@ var OpenSentinel = class {
|
|
|
235
245
|
}
|
|
236
246
|
if (services.whatsapp && env.WHATSAPP_ENABLED) {
|
|
237
247
|
try {
|
|
238
|
-
const { WhatsAppBot: WhatsAppBot2 } = await import("./whatsapp-
|
|
248
|
+
const { WhatsAppBot: WhatsAppBot2 } = await import("./whatsapp-KRPQ4YUX.js");
|
|
239
249
|
this._services.whatsappBot = new WhatsAppBot2({
|
|
240
250
|
authDir: env.WHATSAPP_AUTH_DIR,
|
|
241
251
|
allowedNumbers: env.WHATSAPP_ALLOWED_NUMBERS?.split(",").filter(Boolean) || [],
|
|
@@ -250,7 +260,7 @@ var OpenSentinel = class {
|
|
|
250
260
|
}
|
|
251
261
|
if (services.signal && env.SIGNAL_ENABLED && env.SIGNAL_PHONE_NUMBER) {
|
|
252
262
|
try {
|
|
253
|
-
const { SignalBot: SignalBot2 } = await import("./signal-
|
|
263
|
+
const { SignalBot: SignalBot2 } = await import("./signal-X7IQJGRQ.js");
|
|
254
264
|
this._services.signalBot = new SignalBot2({
|
|
255
265
|
phoneNumber: env.SIGNAL_PHONE_NUMBER,
|
|
256
266
|
signalCliPath: env.SIGNAL_CLI_PATH,
|
|
@@ -265,7 +275,7 @@ var OpenSentinel = class {
|
|
|
265
275
|
}
|
|
266
276
|
if (services.imessage && env.IMESSAGE_ENABLED) {
|
|
267
277
|
try {
|
|
268
|
-
const { iMessageBot: iMessageBot2 } = await import("./imessage-
|
|
278
|
+
const { iMessageBot: iMessageBot2 } = await import("./imessage-V2XNDDHT.js");
|
|
269
279
|
this._services.imessageBot = new iMessageBot2({
|
|
270
280
|
mode: env.IMESSAGE_MODE,
|
|
271
281
|
serverUrl: env.IMESSAGE_BLUEBUBBLES_URL,
|
|
@@ -284,7 +294,7 @@ var OpenSentinel = class {
|
|
|
284
294
|
async stop() {
|
|
285
295
|
if (!this._running) return;
|
|
286
296
|
console.log("Shutting down OpenSentinel...");
|
|
287
|
-
const { stopWorker } = await import("./scheduler-
|
|
297
|
+
const { stopWorker } = await import("./scheduler-CA5UNHZV.js");
|
|
288
298
|
stopWorker();
|
|
289
299
|
if (this._services.mcpRegistry) {
|
|
290
300
|
await this._services.mcpRegistry.shutdown();
|
package/dist/lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/app.ts"],"sourcesContent":["/**\n * OpenSentinel - Programmatic API\n *\n * Usage:\n * import { OpenSentinel } from 'opensentinel';\n *\n * const sentinel = new OpenSentinel({\n * claudeApiKey: 'sk-ant-...',\n * env: { DATABASE_URL: 'postgresql://...', TELEGRAM_BOT_TOKEN: '...' },\n * services: { telegram: true, api: true },\n * });\n *\n * await sentinel.start();\n */\n\nimport { configure, env, type Env } from \"./config/env\";\nimport { chat, chatWithTools, type Message, type BrainResponse } from \"./core/brain\";\n\nexport interface OpenSentinelConfig {\n /** Required: your Claude API key */\n claudeApiKey: string;\n /** All other env vars as optional overrides */\n env?: Partial<Env>;\n /** Which services to start (all default to false except api) */\n services?: {\n telegram?: boolean;\n discord?: boolean;\n slack?: boolean;\n whatsapp?: boolean;\n signal?: boolean;\n imessage?: boolean;\n api?: boolean;\n scheduler?: boolean;\n mcp?: boolean;\n websocket?: boolean;\n };\n}\n\nexport class OpenSentinel {\n private config: OpenSentinelConfig;\n private _running = false;\n private _services: {\n telegramBot?: any;\n discordBot?: any;\n slackBot?: any;\n whatsappBot?: any;\n signalBot?: any;\n imessageBot?: any;\n mcpRegistry?: any;\n server?: any;\n } = {};\n\n constructor(config: OpenSentinelConfig) {\n this.config = config;\n\n // Configure the env singleton\n configure({\n CLAUDE_API_KEY: config.claudeApiKey,\n ...(config.env || {}),\n } as Partial<Env> & { CLAUDE_API_KEY: string });\n }\n\n async start(): Promise<void> {\n if (this._running) return;\n\n const services = this.config.services || {};\n\n // Start Telegram bot\n if (services.telegram && env.TELEGRAM_BOT_TOKEN) {\n const { createBot } = await import(\"./inputs/telegram/bot\");\n this._services.telegramBot = createBot();\n this._services.telegramBot.start({\n onStart: (botInfo: any) => {\n console.log(`[Telegram] Bot started as @${botInfo.username}`);\n },\n });\n }\n\n // Start scheduler\n if (services.scheduler) {\n try {\n const { startWorker } = await import(\"./core/scheduler\");\n startWorker(async (task: any) => {\n console.log(`[Scheduler] Executing task: ${task.type}`);\n if (task.chatId && task.message && this._services.telegramBot) {\n try {\n await this._services.telegramBot.api.sendMessage(\n task.chatId,\n `Reminder: ${task.message}`\n );\n } catch (err) {\n console.error(\"[Scheduler] Failed to send reminder:\", err);\n }\n }\n });\n } catch (err) {\n console.warn(\"[Scheduler] Could not start worker:\", err);\n }\n }\n\n // Initialize MCP\n if (services.mcp !== false && env.MCP_ENABLED) {\n try {\n const { initMCPRegistry, getMCPToolSummary } = await import(\"./core/mcp\");\n const { setMCPRegistry } = await import(\"./tools\");\n this._services.mcpRegistry = await initMCPRegistry(env.MCP_CONFIG_PATH);\n setMCPRegistry(this._services.mcpRegistry);\n\n if (this._services.mcpRegistry.connectedCount > 0) {\n console.log(\n `[MCP] Connected to ${this._services.mcpRegistry.connectedCount} server(s), ${this._services.mcpRegistry.totalToolCount} tools available`\n );\n console.log(getMCPToolSummary(this._services.mcpRegistry));\n }\n } catch (err) {\n console.warn(\"[MCP] Failed to initialize:\", err);\n this._services.mcpRegistry = null;\n }\n }\n\n // Start Discord bot\n if (services.discord && env.DISCORD_BOT_TOKEN) {\n try {\n const { DiscordBot } = await import(\"./inputs/discord\");\n this._services.discordBot = new DiscordBot({\n token: env.DISCORD_BOT_TOKEN,\n clientId: env.DISCORD_CLIENT_ID || \"\",\n guildId: env.DISCORD_GUILD_ID,\n allowedUserIds: env.DISCORD_ALLOWED_USER_IDS?.split(\",\") || [],\n allowedRoleIds: env.DISCORD_ALLOWED_ROLE_IDS?.split(\",\") || [],\n });\n await this._services.discordBot.start();\n console.log(\"[Discord] Bot started\");\n } catch (err: any) {\n console.warn(\"[Discord] Failed to start bot:\", err.message);\n this._services.discordBot = null;\n }\n }\n\n // Start Slack bot\n if (services.slack && env.SLACK_BOT_TOKEN && env.SLACK_SIGNING_SECRET) {\n try {\n const { SlackBot } = await import(\"./inputs/slack\");\n this._services.slackBot = new SlackBot({\n token: env.SLACK_BOT_TOKEN,\n signingSecret: env.SLACK_SIGNING_SECRET,\n appToken: env.SLACK_APP_TOKEN,\n socketMode: env.SLACK_SOCKET_MODE,\n port: parseInt(String(env.SLACK_PORT) || \"3000\"),\n allowedUserIds: env.SLACK_ALLOWED_USER_IDS?.split(\",\") || [],\n allowedChannelIds: env.SLACK_ALLOWED_CHANNEL_IDS?.split(\",\") || [],\n });\n await this._services.slackBot.start();\n console.log(\"[Slack] Bot started\");\n } catch (err: any) {\n console.warn(\"[Slack] Failed to start bot:\", err.message);\n this._services.slackBot = null;\n }\n }\n\n // Start WhatsApp bot\n if (services.whatsapp && env.WHATSAPP_ENABLED) {\n try {\n const { WhatsAppBot } = await import(\"./inputs/whatsapp\");\n this._services.whatsappBot = new WhatsAppBot({\n authDir: env.WHATSAPP_AUTH_DIR,\n allowedNumbers:\n env.WHATSAPP_ALLOWED_NUMBERS?.split(\",\").filter(Boolean) || [],\n printQR: true,\n });\n await this._services.whatsappBot.start();\n console.log(\"[WhatsApp] Bot started\");\n } catch (err: any) {\n console.warn(\"[WhatsApp] Failed to start bot:\", err.message);\n this._services.whatsappBot = null;\n }\n }\n\n // Start Signal bot\n if (services.signal && env.SIGNAL_ENABLED && env.SIGNAL_PHONE_NUMBER) {\n try {\n const { SignalBot } = await import(\"./inputs/signal\");\n this._services.signalBot = new SignalBot({\n phoneNumber: env.SIGNAL_PHONE_NUMBER,\n signalCliPath: env.SIGNAL_CLI_PATH,\n allowedNumbers:\n env.SIGNAL_ALLOWED_NUMBERS?.split(\",\").filter(Boolean) || [],\n });\n await this._services.signalBot.start();\n console.log(\"[Signal] Bot started\");\n } catch (err: any) {\n console.warn(\"[Signal] Failed to start bot:\", err.message);\n this._services.signalBot = null;\n }\n }\n\n // Start iMessage bot\n if (services.imessage && env.IMESSAGE_ENABLED) {\n try {\n const { iMessageBot } = await import(\"./inputs/imessage\");\n this._services.imessageBot = new iMessageBot({\n mode: env.IMESSAGE_MODE as \"bluebubbles\" | \"applescript\",\n serverUrl: env.IMESSAGE_BLUEBUBBLES_URL,\n password: env.IMESSAGE_BLUEBUBBLES_PASSWORD,\n allowedNumbers:\n env.IMESSAGE_ALLOWED_NUMBERS?.split(\",\").filter(Boolean) || [],\n });\n await this._services.imessageBot.start();\n console.log(\"[iMessage] Bot started\");\n } catch (err: any) {\n console.warn(\"[iMessage] Failed to start bot:\", err.message);\n this._services.imessageBot = null;\n }\n }\n\n this._running = true;\n }\n\n async stop(): Promise<void> {\n if (!this._running) return;\n\n console.log(\"Shutting down OpenSentinel...\");\n\n const { stopWorker } = await import(\"./core/scheduler\");\n stopWorker();\n\n if (this._services.mcpRegistry) {\n await this._services.mcpRegistry.shutdown();\n }\n if (this._services.telegramBot) {\n await this._services.telegramBot.stop();\n }\n if (this._services.discordBot) {\n await this._services.discordBot.stop();\n }\n if (this._services.slackBot) {\n await this._services.slackBot.stop();\n }\n if (this._services.whatsappBot) {\n await this._services.whatsappBot.stop();\n }\n if (this._services.signalBot) {\n await this._services.signalBot.stop();\n }\n if (this._services.imessageBot) {\n await this._services.imessageBot.stop();\n }\n if (this._services.server) {\n this._services.server.stop();\n }\n\n this._running = false;\n console.log(\"OpenSentinel stopped.\");\n }\n\n /** Send a simple chat message (no tools) */\n async chat(\n messages: Message[],\n systemPrompt?: string\n ): Promise<BrainResponse> {\n return chat(messages, systemPrompt);\n }\n\n /** Send a chat message with tool execution */\n async chatWithTools(\n messages: Message[],\n userId?: string,\n onToolUse?: (toolName: string, input: unknown) => void\n ): Promise<BrainResponse> {\n return chatWithTools(messages, userId, onToolUse);\n }\n\n get running(): boolean {\n return this._running;\n }\n\n get services() {\n return { ...this._services };\n }\n}\n"],"mappings":"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","names":["createBot","DiscordBot","SlackBot","WhatsAppBot","SignalBot","iMessageBot"]}
|
|
1
|
+
{"version":3,"sources":["../src/app.ts"],"sourcesContent":["/**\n * OpenSentinel - Programmatic API\n *\n * Usage:\n * import { OpenSentinel } from 'opensentinel';\n *\n * const sentinel = new OpenSentinel({\n * claudeApiKey: 'sk-ant-...',\n * env: { DATABASE_URL: 'postgresql://...', TELEGRAM_BOT_TOKEN: '...' },\n * services: { telegram: true, api: true },\n * });\n *\n * await sentinel.start();\n */\n\nimport { configure, env, type Env } from \"./config/env\";\nimport { chat, chatWithTools, type Message, type BrainResponse } from \"./core/brain\";\n\nexport interface OpenSentinelConfig {\n /** Required: your Claude API key */\n claudeApiKey: string;\n /** All other env vars as optional overrides */\n env?: Partial<Env>;\n /** Which services to start (all default to false except api) */\n services?: {\n telegram?: boolean;\n discord?: boolean;\n slack?: boolean;\n whatsapp?: boolean;\n signal?: boolean;\n imessage?: boolean;\n api?: boolean;\n scheduler?: boolean;\n mcp?: boolean;\n websocket?: boolean;\n };\n}\n\nexport class OpenSentinel {\n private config: OpenSentinelConfig;\n private _running = false;\n private _services: {\n telegramBot?: any;\n discordBot?: any;\n slackBot?: any;\n whatsappBot?: any;\n signalBot?: any;\n imessageBot?: any;\n mcpRegistry?: any;\n server?: any;\n } = {};\n\n constructor(config: OpenSentinelConfig) {\n this.config = config;\n\n // Configure the env singleton\n configure({\n CLAUDE_API_KEY: config.claudeApiKey,\n ...(config.env || {}),\n } as Partial<Env> & { CLAUDE_API_KEY: string });\n }\n\n async start(): Promise<void> {\n if (this._running) return;\n\n const services = this.config.services || {};\n\n // Start Telegram bot\n if (services.telegram && env.TELEGRAM_BOT_TOKEN) {\n const { createBot } = await import(\"./inputs/telegram/bot\");\n this._services.telegramBot = createBot();\n this._services.telegramBot.start({\n onStart: (botInfo: any) => {\n console.log(`[Telegram] Bot started as @${botInfo.username}`);\n },\n });\n }\n\n // Start scheduler\n if (services.scheduler) {\n try {\n const { startWorker } = await import(\"./core/scheduler\");\n startWorker(async (task: any) => {\n console.log(`[Scheduler] Executing task: ${task.type}`);\n if (task.chatId && task.message && this._services.telegramBot) {\n try {\n await this._services.telegramBot.api.sendMessage(\n task.chatId,\n `Reminder: ${task.message}`\n );\n } catch (err) {\n console.error(\"[Scheduler] Failed to send reminder:\", err);\n }\n }\n });\n } catch (err) {\n console.warn(\"[Scheduler] Could not start worker:\", err);\n }\n }\n\n // Initialize MCP\n if (services.mcp !== false && env.MCP_ENABLED) {\n try {\n const { initMCPRegistry, getMCPToolSummary } = await import(\"./core/mcp\");\n const { setMCPRegistry } = await import(\"./tools\");\n this._services.mcpRegistry = await initMCPRegistry(env.MCP_CONFIG_PATH);\n setMCPRegistry(this._services.mcpRegistry);\n\n if (this._services.mcpRegistry.connectedCount > 0) {\n console.log(\n `[MCP] Connected to ${this._services.mcpRegistry.connectedCount} server(s), ${this._services.mcpRegistry.totalToolCount} tools available`\n );\n console.log(getMCPToolSummary(this._services.mcpRegistry));\n }\n } catch (err) {\n console.warn(\"[MCP] Failed to initialize:\", err);\n this._services.mcpRegistry = null;\n }\n }\n\n // Start Discord bot\n if (services.discord && env.DISCORD_BOT_TOKEN) {\n try {\n const { DiscordBot } = await import(\"./inputs/discord\");\n this._services.discordBot = new DiscordBot({\n token: env.DISCORD_BOT_TOKEN,\n clientId: env.DISCORD_CLIENT_ID || \"\",\n guildId: env.DISCORD_GUILD_ID,\n allowedUserIds: env.DISCORD_ALLOWED_USER_IDS?.split(\",\") || [],\n allowedRoleIds: env.DISCORD_ALLOWED_ROLE_IDS?.split(\",\") || [],\n });\n await this._services.discordBot.start();\n console.log(\"[Discord] Bot started\");\n } catch (err: any) {\n console.warn(\"[Discord] Failed to start bot:\", err.message);\n this._services.discordBot = null;\n }\n }\n\n // Start Slack bot\n if (services.slack && env.SLACK_BOT_TOKEN && env.SLACK_SIGNING_SECRET) {\n try {\n const { SlackBot } = await import(\"./inputs/slack\");\n this._services.slackBot = new SlackBot({\n token: env.SLACK_BOT_TOKEN,\n signingSecret: env.SLACK_SIGNING_SECRET,\n appToken: env.SLACK_APP_TOKEN,\n socketMode: env.SLACK_SOCKET_MODE,\n port: parseInt(String(env.SLACK_PORT) || \"3000\"),\n allowedUserIds: env.SLACK_ALLOWED_USER_IDS?.split(\",\") || [],\n allowedChannelIds: env.SLACK_ALLOWED_CHANNEL_IDS?.split(\",\") || [],\n });\n await this._services.slackBot.start();\n console.log(\"[Slack] Bot started\");\n } catch (err: any) {\n console.warn(\"[Slack] Failed to start bot:\", err.message);\n this._services.slackBot = null;\n }\n }\n\n // Start WhatsApp bot\n if (services.whatsapp && env.WHATSAPP_ENABLED) {\n try {\n const { WhatsAppBot } = await import(\"./inputs/whatsapp\");\n this._services.whatsappBot = new WhatsAppBot({\n authDir: env.WHATSAPP_AUTH_DIR,\n allowedNumbers:\n env.WHATSAPP_ALLOWED_NUMBERS?.split(\",\").filter(Boolean) || [],\n printQR: true,\n });\n await this._services.whatsappBot.start();\n console.log(\"[WhatsApp] Bot started\");\n } catch (err: any) {\n console.warn(\"[WhatsApp] Failed to start bot:\", err.message);\n this._services.whatsappBot = null;\n }\n }\n\n // Start Signal bot\n if (services.signal && env.SIGNAL_ENABLED && env.SIGNAL_PHONE_NUMBER) {\n try {\n const { SignalBot } = await import(\"./inputs/signal\");\n this._services.signalBot = new SignalBot({\n phoneNumber: env.SIGNAL_PHONE_NUMBER,\n signalCliPath: env.SIGNAL_CLI_PATH,\n allowedNumbers:\n env.SIGNAL_ALLOWED_NUMBERS?.split(\",\").filter(Boolean) || [],\n });\n await this._services.signalBot.start();\n console.log(\"[Signal] Bot started\");\n } catch (err: any) {\n console.warn(\"[Signal] Failed to start bot:\", err.message);\n this._services.signalBot = null;\n }\n }\n\n // Start iMessage bot\n if (services.imessage && env.IMESSAGE_ENABLED) {\n try {\n const { iMessageBot } = await import(\"./inputs/imessage\");\n this._services.imessageBot = new iMessageBot({\n mode: env.IMESSAGE_MODE as \"bluebubbles\" | \"applescript\",\n serverUrl: env.IMESSAGE_BLUEBUBBLES_URL,\n password: env.IMESSAGE_BLUEBUBBLES_PASSWORD,\n allowedNumbers:\n env.IMESSAGE_ALLOWED_NUMBERS?.split(\",\").filter(Boolean) || [],\n });\n await this._services.imessageBot.start();\n console.log(\"[iMessage] Bot started\");\n } catch (err: any) {\n console.warn(\"[iMessage] Failed to start bot:\", err.message);\n this._services.imessageBot = null;\n }\n }\n\n this._running = true;\n }\n\n async stop(): Promise<void> {\n if (!this._running) return;\n\n console.log(\"Shutting down OpenSentinel...\");\n\n const { stopWorker } = await import(\"./core/scheduler\");\n stopWorker();\n\n if (this._services.mcpRegistry) {\n await this._services.mcpRegistry.shutdown();\n }\n if (this._services.telegramBot) {\n await this._services.telegramBot.stop();\n }\n if (this._services.discordBot) {\n await this._services.discordBot.stop();\n }\n if (this._services.slackBot) {\n await this._services.slackBot.stop();\n }\n if (this._services.whatsappBot) {\n await this._services.whatsappBot.stop();\n }\n if (this._services.signalBot) {\n await this._services.signalBot.stop();\n }\n if (this._services.imessageBot) {\n await this._services.imessageBot.stop();\n }\n if (this._services.server) {\n this._services.server.stop();\n }\n\n this._running = false;\n console.log(\"OpenSentinel stopped.\");\n }\n\n /** Send a simple chat message (no tools) */\n async chat(\n messages: Message[],\n systemPrompt?: string\n ): Promise<BrainResponse> {\n return chat(messages, systemPrompt);\n }\n\n /** Send a chat message with tool execution */\n async chatWithTools(\n messages: Message[],\n userId?: string,\n onToolUse?: (toolName: string, input: unknown) => void\n ): Promise<BrainResponse> {\n return chatWithTools(messages, userId, onToolUse);\n }\n\n get running(): boolean {\n return this._running;\n }\n\n get services() {\n return { ...this._services };\n }\n}\n"],"mappings":"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","names":["createBot","DiscordBot","SlackBot","WhatsAppBot","SignalBot","iMessageBot"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BaseAdapter
|
|
3
3
|
} from "./chunk-7WQO5J2M.js";
|
|
4
|
-
import "./chunk-
|
|
4
|
+
import "./chunk-UP2VWCW5.js";
|
|
5
5
|
|
|
6
6
|
// src/core/adapters/adapters/mailchimp.ts
|
|
7
7
|
import { z } from "zod";
|
|
@@ -149,4 +149,4 @@ var MailchimpAdapter = class extends BaseAdapter {
|
|
|
149
149
|
export {
|
|
150
150
|
MailchimpAdapter
|
|
151
151
|
};
|
|
152
|
-
//# sourceMappingURL=mailchimp-
|
|
152
|
+
//# sourceMappingURL=mailchimp-ZFYDC44J.js.map
|
|
@@ -1,31 +1,39 @@
|
|
|
1
1
|
import {
|
|
2
2
|
chatWithTools
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-6JY4HNUH.js";
|
|
4
|
+
import "./chunk-HKOPRRDJ.js";
|
|
5
|
+
import "./chunk-6UZPE35A.js";
|
|
6
|
+
import "./chunk-ADTDYJO7.js";
|
|
7
|
+
import "./chunk-CUPEENUY.js";
|
|
8
|
+
import "./chunk-2WTKTG2C.js";
|
|
9
|
+
import "./chunk-U2X2J3FI.js";
|
|
10
|
+
import "./chunk-X6Q3K3L2.js";
|
|
11
|
+
import "./chunk-ODCFS5WD.js";
|
|
11
12
|
import "./chunk-KM22GV7G.js";
|
|
12
13
|
import "./chunk-P6QINGFL.js";
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-WRAKK6K6.js";
|
|
14
|
+
import "./chunk-2RGPWU77.js";
|
|
15
|
+
import "./chunk-C6PELIHS.js";
|
|
16
16
|
import "./chunk-7WQO5J2M.js";
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-CQ4JURG7.js";
|
|
22
|
-
import "./chunk-OCVQGBJK.js";
|
|
23
|
-
import "./chunk-XKYRH4FM.js";
|
|
24
|
-
import "./chunk-ZLZKF2PM.js";
|
|
17
|
+
import "./chunk-643M3AP5.js";
|
|
18
|
+
import "./chunk-6LTLIYAQ.js";
|
|
19
|
+
import "./chunk-BMOUYXLX.js";
|
|
20
|
+
import "./chunk-WZAH34TG.js";
|
|
25
21
|
import "./chunk-6KONMXQ6.js";
|
|
26
22
|
import "./chunk-22VGGA7S.js";
|
|
23
|
+
import "./chunk-HN3F4WSW.js";
|
|
24
|
+
import "./chunk-A24GPVLY.js";
|
|
25
|
+
import "./chunk-AR34B6XR.js";
|
|
26
|
+
import "./chunk-UWUIJTT4.js";
|
|
27
|
+
import "./chunk-GUKKW7JI.js";
|
|
28
|
+
import "./chunk-HTF2GIQC.js";
|
|
29
|
+
import "./chunk-DOYGMNMK.js";
|
|
30
|
+
import "./chunk-CQ4JURG7.js";
|
|
31
|
+
import "./chunk-KABG5PG3.js";
|
|
32
|
+
import "./chunk-S4NJJS5C.js";
|
|
33
|
+
import "./chunk-PUNIMPMY.js";
|
|
34
|
+
import "./chunk-NYVBXUGD.js";
|
|
27
35
|
import "./chunk-35WYTA3C.js";
|
|
28
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-UP2VWCW5.js";
|
|
29
37
|
|
|
30
38
|
// src/inputs/matrix/index.ts
|
|
31
39
|
import sdk from "matrix-js-sdk";
|
|
@@ -276,4 +284,4 @@ export {
|
|
|
276
284
|
createMatrixBot,
|
|
277
285
|
matrix_default as default
|
|
278
286
|
};
|
|
279
|
-
//# sourceMappingURL=matrix-
|
|
287
|
+
//# sourceMappingURL=matrix-XHTR53VQ.js.map
|