@agenticmail/enterprise 0.5.325 → 0.5.327
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/dist/{agent-heartbeat-77N4OOQL.js → agent-heartbeat-ZFKA6GMI.js} +2 -2
- package/dist/{agent-tools-BNSTIK4P.js → agent-tools-R6RSBDJQ.js} +25 -25
- package/dist/{agenticmail-EDO5XOTP.js → agenticmail-QMWQNUY2.js} +1 -1
- package/dist/{browser-tool-JF3LNRGX.js → browser-tool-4KWE37RL.js} +4 -4
- package/dist/{chunk-JEGYVXYC.js → chunk-CQV7GGHT.js} +1 -1
- package/dist/{chunk-VBTHTPZ6.js → chunk-DWHJYAV6.js} +27 -27
- package/dist/{chunk-HKCKMCPY.js → chunk-G4YSECQ4.js} +2 -2
- package/dist/{chunk-7HBGXW7Z.js → chunk-GNABVGDZ.js} +31 -32
- package/dist/{chunk-DMD24UFZ.js → chunk-HTT6LUPP.js} +19 -19
- package/dist/{chunk-3FMK32KQ.js → chunk-LHQP7QRX.js} +9 -9
- package/dist/{chunk-6C5PKREN.js → chunk-NOAQG5CY.js} +1 -1
- package/dist/{chunk-4EKXYIJF.js → chunk-PAHT4ABL.js} +4 -4
- package/dist/{chunk-JNMDD7JY.js → chunk-RHO7WRVJ.js} +5 -5
- package/dist/{chunk-BQM7MBPS.js → chunk-WYDVMFGJ.js} +5 -5
- package/dist/{chunk-TPLVQFXM.js → chunk-X2YL6KSY.js} +13 -13
- package/dist/{cli-agent-ZIIFI77N.js → cli-agent-2NBPF3GN.js} +11 -11
- package/dist/{cli-recover-XEZ2SKPU.js → cli-recover-TTOR7CJR.js} +2 -2
- package/dist/{cli-serve-BDGOOOKQ.js → cli-serve-5VFU4GR4.js} +3 -3
- package/dist/{cli-verify-CZIITRED.js → cli-verify-WICBVLAM.js} +2 -2
- package/dist/cli.js +5 -5
- package/dist/{connection-manager-KAWEUWUR.js → connection-manager-Y7CCQK4X.js} +1 -1
- package/dist/dashboard/pages/cluster.js +1 -1
- package/dist/{deployer-3YK4RPUL.js → deployer-7NG7LCJW.js} +1 -1
- package/dist/{factory-JFWXTAWK.js → factory-4V2W4BSV.js} +1 -1
- package/dist/index.js +9 -9
- package/dist/{integrations-TF4EBCJ7.js → integrations-V2WXFDIV.js} +13 -13
- package/dist/{local-6MLIZDKO.js → local-OXFH4V7E.js} +2 -2
- package/dist/{meeting-voice-intelligence-CJLR52YV.js → meeting-voice-intelligence-RZZCAD6G.js} +2 -2
- package/dist/{meetings-FJ453ENF.js → meetings-SQNTB6GD.js} +1 -1
- package/dist/{microsoft-2IIHDLJB.js → microsoft-2PDVV6HX.js} +3 -3
- package/dist/{postgres-WGUVC2S7.js → postgres-USXBPTHX.js} +2 -2
- package/dist/{pw-ai-IBEF6HBF.js → pw-ai-NK5GKBDG.js} +1 -1
- package/dist/{routes-XYR2RNEC.js → routes-T3CDAQTD.js} +4 -4
- package/dist/{runtime-6BULDBR3.js → runtime-X4BTVICL.js} +1 -1
- package/dist/{server-7NT4LMSQ.js → server-WQ6LLYGB.js} +5 -5
- package/dist/{setup-2JBXMUDS.js → setup-6DRKSOMH.js} +2 -2
- package/dist/{skills-FR7I5V7H.js → skills-EL4RTJKK.js} +1 -1
- package/logs/cloudflared-error.log +12 -0
- package/logs/enterprise-out.log +2 -0
- package/package.json +1 -1
- package/src/admin/routes.ts +1 -1
- package/src/agent-tools/tool-resolver.ts +1 -1
- package/src/agent-tools/tools/agenticmail.ts +2 -2
- package/src/agent-tools/tools/browser.ts +1 -1
- package/src/agent-tools/tools/enterprise-code-sandbox.ts +1 -1
- package/src/agent-tools/tools/enterprise-diff.ts +1 -1
- package/src/agent-tools/tools/enterprise-http.ts +1 -3
- package/src/agent-tools/tools/enterprise-security-scan.ts +1 -1
- package/src/agent-tools/tools/google/forms.ts +2 -2
- package/src/agent-tools/tools/google/gmail.ts +1 -1
- package/src/agent-tools/tools/google/maps.ts +2 -2
- package/src/agent-tools/tools/google/meeting-voice.ts +1 -1
- package/src/agent-tools/tools/google/meetings.ts +1 -1
- package/src/agent-tools/tools/google/slides.ts +2 -2
- package/src/agent-tools/tools/grep.ts +1 -1
- package/src/agent-tools/tools/knowledge-search.ts +1 -1
- package/src/agent-tools/tools/local/coding.ts +5 -5
- package/src/agent-tools/tools/microsoft/excel-vba.ts +1 -1
- package/src/agent-tools/tools/microsoft/excel.ts +1 -1
- package/src/agent-tools/tools/microsoft/powerpoint.ts +1 -1
- package/src/agent-tools/tools/visual-memory/index.ts +11 -11
- package/src/agent-tools/tools/visual-memory/similarity.ts +2 -2
- package/src/agent-tools/tools/visual-memory/storage.ts +1 -1
- package/src/agenticmail/providers/imap.ts +2 -2
- package/src/browser/enterprise-compat.ts +1 -1
- package/src/cli-agent.ts +3 -3
- package/src/cli-serve.ts +1 -1
- package/src/dashboard/pages/cluster.js +1 -1
- package/src/database-access/connection-manager.ts +6 -6
- package/src/database-access/routes.ts +0 -1
- package/src/db/dynamodb.ts +1 -1
- package/src/db/postgres.ts +2 -2
- package/src/deploy/fly.ts +4 -4
- package/src/deploy/managed.ts +0 -1
- package/src/engine/agent-config.ts +1 -1
- package/src/engine/agent-heartbeat.ts +1 -1
- package/src/engine/agent-hierarchy.ts +1 -1
- package/src/engine/agent-memory.ts +1 -1
- package/src/engine/agent-routes.ts +2 -2
- package/src/engine/chat-poller.ts +1 -1
- package/src/engine/community-registry.ts +2 -2
- package/src/engine/db-adapter.ts +0 -1
- package/src/engine/deployer.ts +8 -8
- package/src/engine/email-poller.ts +1 -1
- package/src/engine/knowledge-contribution.ts +1 -1
- package/src/engine/knowledge-import/import-manager.ts +2 -3
- package/src/engine/knowledge-import/processors/extract-github.ts +1 -1
- package/src/engine/knowledge-import/processors/extract-sharepoint.ts +1 -1
- package/src/engine/knowledge-import/processors/validate.ts +1 -1
- package/src/engine/lifecycle.ts +1 -1
- package/src/engine/meeting-monitor.ts +2 -2
- package/src/engine/meeting-voice-intelligence.ts +3 -3
- package/src/engine/messaging-poller.ts +2 -2
- package/src/engine/org-integration-routes.ts +2 -2
- package/src/engine/org-integrations.ts +1 -1
- package/src/engine/routes.ts +2 -2
- package/src/engine/skills.ts +1 -1
- package/src/engine/tool-catalog.ts +1 -1
- package/src/engine/vault-routes.ts +1 -1
- package/src/engine/vault.ts +1 -1
- package/src/mcp/adapters/adp.adapter.ts +1 -1
- package/src/mcp/adapters/auth0.adapter.ts +1 -1
- package/src/mcp/adapters/clickup.adapter.ts +1 -1
- package/src/mcp/adapters/close.adapter.ts +1 -1
- package/src/mcp/adapters/firebase.adapter.ts +1 -1
- package/src/mcp/adapters/google-ads.adapter.ts +1 -1
- package/src/mcp/adapters/kubernetes.adapter.ts +1 -1
- package/src/mcp/adapters/mixpanel.adapter.ts +1 -1
- package/src/mcp/adapters/recurly.adapter.ts +1 -1
- package/src/mcp/adapters/sap.adapter.ts +2 -2
- package/src/mcp/adapters/shortcut.adapter.ts +1 -1
- package/src/mcp/adapters/snowflake.adapter.ts +1 -1
- package/src/mcp/adapters/stripe.adapter.ts +1 -1
- package/src/mcp/adapters/supabase.adapter.ts +1 -1
- package/src/mcp/adapters/zuora.adapter.ts +1 -1
- package/src/middleware/request-limits.ts +1 -1
- package/src/runtime/agent-loop.ts +3 -3
- package/src/runtime/compaction.ts +2 -2
- package/src/runtime/followup.ts +1 -1
- package/src/runtime/hooks.ts +3 -3
- package/src/runtime/index.ts +5 -6
- package/src/runtime/llm-client.ts +1 -1
- package/src/runtime/subagent.ts +0 -1
- package/src/runtime/types.ts +2 -0
- package/src/security/brute-force.ts +1 -1
- package/src/security/csp.ts +1 -1
- package/src/security/index.ts +3 -3
- package/src/security/input-sanitizer.ts +1 -1
- package/src/security/threat-logger.ts +2 -2
- package/src/server.ts +2 -2
- package/src/setup/database.ts +1 -1
- package/src/setup/index.ts +1 -2
- package/src/setup/provision.ts +1 -1
- package/dist/_seed-data-FQR5PY2W.js +0 -4554
- package/dist/agent-heartbeat-3FWNHZFX.js +0 -510
- package/dist/agent-heartbeat-4RWHZR7H.js +0 -510
- package/dist/agent-heartbeat-6ZGB5ILY.js +0 -510
- package/dist/agent-heartbeat-BBINFNL4.js +0 -510
- package/dist/agent-heartbeat-BIVHLKFM.js +0 -510
- package/dist/agent-heartbeat-HGVIAHS5.js +0 -510
- package/dist/agent-heartbeat-HRKVFK2T.js +0 -510
- package/dist/agent-heartbeat-JC5GWVXD.js +0 -510
- package/dist/agent-heartbeat-K6A4HMHB.js +0 -510
- package/dist/agent-heartbeat-LCDXWFVB.js +0 -510
- package/dist/agent-heartbeat-P7HZCZAQ.js +0 -510
- package/dist/agent-heartbeat-PUIRSNIO.js +0 -510
- package/dist/agent-heartbeat-SN5ILQ6Y.js +0 -510
- package/dist/agent-heartbeat-TW5YTDYC.js +0 -510
- package/dist/agent-heartbeat-UF2RKKS2.js +0 -510
- package/dist/agent-heartbeat-YCSWP54H.js +0 -510
- package/dist/agent-heartbeat-Z2QQXROL.js +0 -510
- package/dist/agent-tools-3W7XLUYA.js +0 -13949
- package/dist/agent-tools-54VZGT6L.js +0 -9
- package/dist/agent-tools-AYYDPO27.js +0 -13949
- package/dist/agent-tools-F2X47FKF.js +0 -13949
- package/dist/agent-tools-O6W3QAZL.js +0 -13949
- package/dist/agent-tools-OAWVZBMW.js +0 -9
- package/dist/agent-tools-QCCU74PN.js +0 -13949
- package/dist/agent-tools-QGE26U6R.js +0 -9
- package/dist/chunk-2LHUARN6.js +0 -4929
- package/dist/chunk-2WVCNCYC.js +0 -5087
- package/dist/chunk-3FM6YQUK.js +0 -5087
- package/dist/chunk-46GOWZT4.js +0 -5087
- package/dist/chunk-4DBWU3P5.js +0 -4929
- package/dist/chunk-5KYJAUZV.js +0 -1519
- package/dist/chunk-6ZMLNEHB.js +0 -1519
- package/dist/chunk-7UCKD25B.js +0 -551
- package/dist/chunk-BDCFOP7O.js +0 -537
- package/dist/chunk-BPZQT5N5.js +0 -25652
- package/dist/chunk-C52OQNNY.js +0 -5087
- package/dist/chunk-C7HGQF4Y.js +0 -25652
- package/dist/chunk-CAHNZGGK.js +0 -25656
- package/dist/chunk-CK7R6UHE.js +0 -4945
- package/dist/chunk-CQYLRIQ3.js +0 -25938
- package/dist/chunk-D36RPWB7.js +0 -25652
- package/dist/chunk-DJK2UPFH.js +0 -4891
- package/dist/chunk-DM7FTF7W.js +0 -4929
- package/dist/chunk-DXZGPUAF.js +0 -5087
- package/dist/chunk-F46WB5IL.js +0 -5087
- package/dist/chunk-F5QG5SQH.js +0 -5087
- package/dist/chunk-GYB2WHMN.js +0 -5101
- package/dist/chunk-H7GP733U.js +0 -5087
- package/dist/chunk-HHBXWB5U.js +0 -25640
- package/dist/chunk-HS5YWSGM.js +0 -3206
- package/dist/chunk-IMXS4N6W.js +0 -1519
- package/dist/chunk-JTV5LA47.js +0 -1519
- package/dist/chunk-KN3T3CTD.js +0 -4929
- package/dist/chunk-KV6G7NZX.js +0 -1519
- package/dist/chunk-M6ZIC5H3.js +0 -1370
- package/dist/chunk-MU5MEBIK.js +0 -1519
- package/dist/chunk-NLT5MC7X.js +0 -465
- package/dist/chunk-NVLYIM4J.js +0 -4945
- package/dist/chunk-NZY2BIZH.js +0 -4891
- package/dist/chunk-O42L6G67.js +0 -1519
- package/dist/chunk-OCNERGGM.js +0 -4891
- package/dist/chunk-OJSNHONE.js +0 -1519
- package/dist/chunk-OWTLNV4Q.js +0 -25623
- package/dist/chunk-PCNYEP6T.js +0 -4891
- package/dist/chunk-PI4AQ4Z6.js +0 -25652
- package/dist/chunk-PN3EGTCA.js +0 -194
- package/dist/chunk-PWWV2U5P.js +0 -195
- package/dist/chunk-Q37UKNRC.js +0 -1519
- package/dist/chunk-QXTC6J7H.js +0 -5087
- package/dist/chunk-RF2LGX3E.js +0 -1519
- package/dist/chunk-RH7KPWRQ.js +0 -465
- package/dist/chunk-RKERL5LZ.js +0 -4925
- package/dist/chunk-RVBK2IOX.js +0 -25652
- package/dist/chunk-SAKODCZ5.js +0 -4891
- package/dist/chunk-SALGFC5L.js +0 -4945
- package/dist/chunk-STGWZ2MS.js +0 -1519
- package/dist/chunk-SVSLIQYN.js +0 -1519
- package/dist/chunk-UY3ZVQDP.js +0 -25652
- package/dist/chunk-V6OSD62M.js +0 -5087
- package/dist/chunk-VP6YAHX4.js +0 -1519
- package/dist/chunk-WD72IOF2.js +0 -5101
- package/dist/chunk-WDYJOEAI.js +0 -5087
- package/dist/chunk-WEAFQNOS.js +0 -195
- package/dist/chunk-XKUSAZGP.js +0 -5087
- package/dist/chunk-YCWOCIPH.js +0 -5101
- package/dist/chunk-ZGE3XAXY.js +0 -1519
- package/dist/chunk-ZGFDTW4H.js +0 -1519
- package/dist/cli-agent-33GWIF2D.js +0 -2300
- package/dist/cli-agent-4XK6LVQQ.js +0 -2357
- package/dist/cli-agent-64EOV3ST.js +0 -2300
- package/dist/cli-agent-67WP6KKO.js +0 -2300
- package/dist/cli-agent-7RW5Y7C4.js +0 -2294
- package/dist/cli-agent-7TB2BWS6.js +0 -2370
- package/dist/cli-agent-AKXFFST2.js +0 -2370
- package/dist/cli-agent-C3YSECO4.js +0 -2344
- package/dist/cli-agent-DZTKLITB.js +0 -2357
- package/dist/cli-agent-FNMDJN7T.js +0 -2357
- package/dist/cli-agent-FOF7PFEP.js +0 -2357
- package/dist/cli-agent-FXZ6DJKP.js +0 -2357
- package/dist/cli-agent-H74M2ZYN.js +0 -2357
- package/dist/cli-agent-HG4Y657I.js +0 -2300
- package/dist/cli-agent-HORWVPHB.js +0 -2370
- package/dist/cli-agent-HSZT6SKF.js +0 -2423
- package/dist/cli-agent-ION2W5JF.js +0 -2441
- package/dist/cli-agent-JLUQ4ZU6.js +0 -2424
- package/dist/cli-agent-KBPWY3CB.js +0 -2302
- package/dist/cli-agent-MVCDH4HV.js +0 -2370
- package/dist/cli-agent-NZXOEPJ2.js +0 -2357
- package/dist/cli-agent-OO6H57UQ.js +0 -2300
- package/dist/cli-agent-PADN3QRC.js +0 -2357
- package/dist/cli-agent-QAYEX3BE.js +0 -2441
- package/dist/cli-agent-QT64DT5J.js +0 -2370
- package/dist/cli-agent-TCTRKCHN.js +0 -2300
- package/dist/cli-agent-TFL2M6UK.js +0 -2424
- package/dist/cli-agent-TSOJG7EX.js +0 -2357
- package/dist/cli-agent-UIKXATTD.js +0 -2357
- package/dist/cli-agent-UJN6FYTO.js +0 -2370
- package/dist/cli-agent-USMKX7WN.js +0 -2473
- package/dist/cli-agent-VIQAYVY4.js +0 -2357
- package/dist/cli-agent-WNWFVOFM.js +0 -2370
- package/dist/cli-agent-XBQX67VJ.js +0 -2423
- package/dist/cli-agent-ZLSC6FF4.js +0 -2357
- package/dist/cli-agent-ZSHUPBBN.js +0 -2357
- package/dist/cli-recover-T32NABFA.js +0 -487
- package/dist/cli-serve-2IL5DTEY.js +0 -153
- package/dist/cli-serve-3NGBX5ER.js +0 -140
- package/dist/cli-serve-47N5UKKW.js +0 -153
- package/dist/cli-serve-4RS4UDHC.js +0 -140
- package/dist/cli-serve-4XGZFUV2.js +0 -140
- package/dist/cli-serve-53FVANQK.js +0 -260
- package/dist/cli-serve-57225XWV.js +0 -140
- package/dist/cli-serve-63BDPSOP.js +0 -140
- package/dist/cli-serve-657NRUOX.js +0 -140
- package/dist/cli-serve-6ER7QMLR.js +0 -140
- package/dist/cli-serve-6OT3UEAN.js +0 -140
- package/dist/cli-serve-7JQ4FVUQ.js +0 -260
- package/dist/cli-serve-7L6EY5UH.js +0 -153
- package/dist/cli-serve-BFNIW2LF.js +0 -153
- package/dist/cli-serve-C7MN6U5Q.js +0 -153
- package/dist/cli-serve-CQFI3LMK.js +0 -140
- package/dist/cli-serve-CR3OY3IM.js +0 -153
- package/dist/cli-serve-DAJFRWQ7.js +0 -153
- package/dist/cli-serve-DTQLN5UI.js +0 -140
- package/dist/cli-serve-EQS2SGT3.js +0 -140
- package/dist/cli-serve-FW6FHFW4.js +0 -153
- package/dist/cli-serve-GEEOQS77.js +0 -153
- package/dist/cli-serve-H562I3ZK.js +0 -153
- package/dist/cli-serve-HDQZF4C4.js +0 -153
- package/dist/cli-serve-KBJNXWYJ.js +0 -140
- package/dist/cli-serve-LICAOMEB.js +0 -140
- package/dist/cli-serve-LLGYLWFS.js +0 -153
- package/dist/cli-serve-LMZKQ5GX.js +0 -140
- package/dist/cli-serve-LNTT73P2.js +0 -140
- package/dist/cli-serve-MLR4KAE2.js +0 -260
- package/dist/cli-serve-MQKBUZ7X.js +0 -140
- package/dist/cli-serve-N3OISDNB.js +0 -153
- package/dist/cli-serve-NBFT7B42.js +0 -140
- package/dist/cli-serve-RTWO3AWY.js +0 -140
- package/dist/cli-serve-SIHTSW5P.js +0 -140
- package/dist/cli-serve-SP6TEURE.js +0 -140
- package/dist/cli-serve-TDKZA6I5.js +0 -140
- package/dist/cli-serve-TF5ZVVXF.js +0 -140
- package/dist/cli-serve-TIZ27EVR.js +0 -153
- package/dist/cli-serve-TUNI2RCN.js +0 -153
- package/dist/cli-serve-WCU66CHX.js +0 -140
- package/dist/cli-serve-WNOZMAWD.js +0 -153
- package/dist/cli-serve-YCCKRRUY.js +0 -140
- package/dist/cli-serve-ZD5V7I6G.js +0 -140
- package/dist/cli-validate-6XDDLVVQ.js +0 -150
- package/dist/cli-verify-I4WGRQNT.js +0 -149
- package/dist/connection-manager-4ZA4XAFA.js +0 -9
- package/dist/db-adapter-IK2EDK2N.js +0 -7
- package/dist/db-adapter-IRHOUMVC.js +0 -7
- package/dist/dependency-manager-G6D2XXNY.js +0 -11
- package/dist/dependency-manager-OCUKF72T.js +0 -543
- package/dist/dependency-manager-YULUXN34.js +0 -511
- package/dist/factory-MQASIPEB.js +0 -11
- package/dist/google-W5AYGNUJ.js +0 -33
- package/dist/integrations-VWANOHQ4.js +0 -43830
- package/dist/local-O2FN57UN.js +0 -1128
- package/dist/local-S7SDOQHN.js +0 -1128
- package/dist/microsoft-HPLA5ZL5.js +0 -2414
- package/dist/microsoft-UFLZBEAC.js +0 -1619
- package/dist/microsoft-VREAZ7M2.js +0 -3955
- package/dist/microsoft-YUT6EIGP.js +0 -3400
- package/dist/postgres-BOTHOPDW.js +0 -875
- package/dist/routes-3MMLQTB6.js +0 -90
- package/dist/routes-4ZUIJ4HE.js +0 -90
- package/dist/routes-5MXHKKH4.js +0 -90
- package/dist/routes-64NJFK3B.js +0 -90
- package/dist/routes-6AKQ2LBV.js +0 -90
- package/dist/routes-CRRBUDO4.js +0 -90
- package/dist/routes-D7SMYOLT.js +0 -90
- package/dist/routes-DIAF3MC3.js +0 -90
- package/dist/routes-IGR6PZCA.js +0 -92
- package/dist/routes-KMUNU6CY.js +0 -90
- package/dist/routes-LRRLXIZR.js +0 -90
- package/dist/routes-N647AJYG.js +0 -90
- package/dist/routes-SSSELAAR.js +0 -90
- package/dist/routes-STERVGKJ.js +0 -90
- package/dist/routes-TZMPYLHJ.js +0 -90
- package/dist/routes-XNK2MAVO.js +0 -90
- package/dist/routes-ZEZZACZP.js +0 -90
- package/dist/runtime-4UVCTFNQ.js +0 -45
- package/dist/runtime-5EQN4GFM.js +0 -45
- package/dist/runtime-5LP7PUD4.js +0 -45
- package/dist/runtime-6YEENDN3.js +0 -45
- package/dist/runtime-7LQFRG3B.js +0 -45
- package/dist/runtime-AMXJU2MB.js +0 -45
- package/dist/runtime-D6WSE7FG.js +0 -45
- package/dist/runtime-EAWOE6JZ.js +0 -45
- package/dist/runtime-EYVN7NFJ.js +0 -45
- package/dist/runtime-F6RPWQVW.js +0 -45
- package/dist/runtime-FYMJURFC.js +0 -45
- package/dist/runtime-GGF4P55M.js +0 -45
- package/dist/runtime-H3SAMWWF.js +0 -45
- package/dist/runtime-H7T4I7I7.js +0 -45
- package/dist/runtime-HTIM7GZR.js +0 -45
- package/dist/runtime-JRNBL4O4.js +0 -45
- package/dist/runtime-K4C7NQLW.js +0 -45
- package/dist/runtime-MWWZCPC2.js +0 -45
- package/dist/runtime-N7CM2DYA.js +0 -45
- package/dist/runtime-OM2NIBMI.js +0 -45
- package/dist/runtime-OVGSOTAH.js +0 -45
- package/dist/runtime-QQ6LAY4U.js +0 -45
- package/dist/runtime-QWPVD7CY.js +0 -45
- package/dist/runtime-SX3B5MG3.js +0 -45
- package/dist/runtime-YLIIPTE4.js +0 -45
- package/dist/runtime-YU6P22CG.js +0 -45
- package/dist/runtime-ZOC337DD.js +0 -45
- package/dist/server-3AVWBRIF.js +0 -28
- package/dist/server-5BKJI5OW.js +0 -28
- package/dist/server-6NDO2S52.js +0 -28
- package/dist/server-7TD3M2BW.js +0 -28
- package/dist/server-AMCSXINC.js +0 -28
- package/dist/server-B3VJ6MSA.js +0 -28
- package/dist/server-BEJ6RAGL.js +0 -28
- package/dist/server-BFPYDHBG.js +0 -28
- package/dist/server-BKEWXGVX.js +0 -28
- package/dist/server-BMEJZGFG.js +0 -28
- package/dist/server-CU6LVQS4.js +0 -28
- package/dist/server-DFR7FI3Q.js +0 -28
- package/dist/server-DFYGH2CV.js +0 -28
- package/dist/server-DURRN3GJ.js +0 -28
- package/dist/server-EELWOC3X.js +0 -28
- package/dist/server-EN5E2OWQ.js +0 -28
- package/dist/server-EXZC3OJO.js +0 -28
- package/dist/server-GW2HYJYI.js +0 -28
- package/dist/server-J25NCRWJ.js +0 -28
- package/dist/server-JDGNOTFV.js +0 -28
- package/dist/server-KA6U3YNP.js +0 -28
- package/dist/server-L52A2ME4.js +0 -28
- package/dist/server-NE5HD5DJ.js +0 -28
- package/dist/server-NLQAXPOG.js +0 -28
- package/dist/server-NQOT7W77.js +0 -28
- package/dist/server-OHHAA34U.js +0 -28
- package/dist/server-PWE5PQTR.js +0 -28
- package/dist/server-Q2Q32H2B.js +0 -28
- package/dist/server-Q77ME7TL.js +0 -28
- package/dist/server-QDKO6OVO.js +0 -28
- package/dist/server-RR6QJIXM.js +0 -28
- package/dist/server-T3R6BO6A.js +0 -28
- package/dist/server-TRIBAHDV.js +0 -28
- package/dist/server-TXV3ZVVR.js +0 -28
- package/dist/server-VHSFJP3I.js +0 -28
- package/dist/server-VOJF2XGU.js +0 -28
- package/dist/server-W76YHPEC.js +0 -28
- package/dist/server-WLLH4WST.js +0 -28
- package/dist/server-WTUJ2O3F.js +0 -28
- package/dist/server-X4CJTHHF.js +0 -28
- package/dist/server-XK3ILCJC.js +0 -28
- package/dist/server-ZRD3NDJE.js +0 -28
- package/dist/setup-2JYXGTW6.js +0 -20
- package/dist/setup-3XOSZEW5.js +0 -20
- package/dist/setup-44VBAO4J.js +0 -20
- package/dist/setup-4OA7QNJW.js +0 -20
- package/dist/setup-4ONNQBWB.js +0 -20
- package/dist/setup-4OSBXSCL.js +0 -20
- package/dist/setup-4QFGRBLZ.js +0 -20
- package/dist/setup-52US54Z4.js +0 -20
- package/dist/setup-5CY3CKKT.js +0 -20
- package/dist/setup-5YRQUOW2.js +0 -20
- package/dist/setup-6766SGAR.js +0 -20
- package/dist/setup-6NUSB4XO.js +0 -20
- package/dist/setup-7FZJEOD4.js +0 -20
- package/dist/setup-7LYYXBUL.js +0 -20
- package/dist/setup-ADSKKBGV.js +0 -20
- package/dist/setup-AMV2WKVH.js +0 -20
- package/dist/setup-AYY24DKM.js +0 -20
- package/dist/setup-B34N4HPU.js +0 -20
- package/dist/setup-CEF4QY4L.js +0 -20
- package/dist/setup-E2YLC2EY.js +0 -20
- package/dist/setup-ER6NXTY5.js +0 -20
- package/dist/setup-FIOAQJ6C.js +0 -20
- package/dist/setup-G76S7X44.js +0 -20
- package/dist/setup-H2AGCBW5.js +0 -20
- package/dist/setup-H4JZUHH5.js +0 -20
- package/dist/setup-ICOZRKCX.js +0 -20
- package/dist/setup-JFTJH7UF.js +0 -20
- package/dist/setup-JJHOT2ZU.js +0 -20
- package/dist/setup-KEAM2BCL.js +0 -20
- package/dist/setup-LW4MLU2N.js +0 -20
- package/dist/setup-NHAZABW4.js +0 -20
- package/dist/setup-PRFNI6YW.js +0 -20
- package/dist/setup-RAHBMYHE.js +0 -20
- package/dist/setup-T6KYFR7O.js +0 -20
- package/dist/setup-TGM6L362.js +0 -20
- package/dist/setup-TNANAH7C.js +0 -20
- package/dist/setup-TXPR5UQX.js +0 -20
- package/dist/setup-UJSNSCLM.js +0 -20
- package/dist/setup-XCJMELVU.js +0 -20
- package/dist/setup-XIYEIFVK.js +0 -20
- package/dist/setup-XP2VGBEU.js +0 -20
- package/dist/setup-Z4PZSHBI.js +0 -20
- package/dist/skills-HCVBA6PK.js +0 -16
- package/dist/skills-HFSW74KZ.js +0 -16
- package/dist/system-prompts-6OUTAMH6.js +0 -41
- package/dist/task-queue-YP2I54IA.js +0 -9
- package/dist/transport-encryption-F2NQYACT.js +0 -25
- package/god_is_great.html +0 -35
- package/seed-data.mjs +0 -455
- package/src/agent-tools/tools/integrations/_seed-data.json +0 -4548
- package/src/agent-tools/tools/integrations/_seed-data.ts +0 -4563
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createServer
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-HTT6LUPP.js";
|
|
4
4
|
import "./chunk-DJBCRQTD.js";
|
|
5
5
|
import "./chunk-UF3ZJMJO.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-DWHJYAV6.js";
|
|
7
7
|
import "./chunk-Z7NVD3OQ.js";
|
|
8
8
|
import "./chunk-VSBC4SWO.js";
|
|
9
9
|
import "./chunk-AF3WSNVX.js";
|
|
10
10
|
import "./chunk-74ZCQKYU.js";
|
|
11
11
|
import "./chunk-Z6K5FKAB.js";
|
|
12
12
|
import "./chunk-C6JP5NR6.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-WYDVMFGJ.js";
|
|
14
14
|
import "./chunk-3UAFHUEC.js";
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-NOAQG5CY.js";
|
|
16
|
+
import "./chunk-LHQP7QRX.js";
|
|
17
17
|
import "./chunk-YDD5TC5Q.js";
|
|
18
18
|
import "./chunk-37ABTUFU.js";
|
|
19
19
|
import "./chunk-NU657BBQ.js";
|
|
@@ -71,3 +71,15 @@
|
|
|
71
71
|
2026-03-05 07:06:07: 2026-03-05T06:06:07Z ERR Request failed error="unexpected EOF" connIndex=3 dest=https://enterprise.agenticmail.io/api/engine/agent-status-stream?agentId=3eecd57d-03ae-440d-8945-5b35f43a8d90 event=0 ip=198.41.200.53 type=http
|
|
72
72
|
2026-03-05 07:11:44: 2026-03-05T06:11:44Z ERR error="unexpected EOF" connIndex=3 event=1 ingressRule=0 originService=http://localhost:3100
|
|
73
73
|
2026-03-05 07:11:44: 2026-03-05T06:11:44Z ERR Request failed error="unexpected EOF" connIndex=3 dest=https://enterprise.agenticmail.io/api/engine/agent-status-stream?agentId=3eecd57d-03ae-440d-8945-5b35f43a8d90 event=0 ip=198.41.200.53 type=http
|
|
74
|
+
2026-03-05 07:21:11: 2026-03-05T06:21:11Z ERR error="Unable to reach the origin service. The service may be down or it may not be responding to traffic from cloudflared: dial tcp [::1]:3100: connect: connection refused" connIndex=3 event=1 ingressRule=0 originService=http://localhost:3100
|
|
75
|
+
2026-03-05 07:21:11: 2026-03-05T06:21:11Z ERR Request failed error="Unable to reach the origin service. The service may be down or it may not be responding to traffic from cloudflared: dial tcp [::1]:3100: connect: connection refused" connIndex=3 dest=https://enterprise.agenticmail.io/dashboard/agents/3eecd57d-03ae-440d-8945-5b35f43a8d90 event=0 ip=198.41.200.53 type=http
|
|
76
|
+
2026-03-05 07:21:11: 2026-03-05T06:21:11Z ERR error="unexpected EOF" connIndex=3 event=1 ingressRule=0 originService=http://localhost:3100
|
|
77
|
+
2026-03-05 07:21:11: 2026-03-05T06:21:11Z ERR Request failed error="unexpected EOF" connIndex=3 dest=https://enterprise.agenticmail.io/api/engine/agent-status-stream?agentId=3eecd57d-03ae-440d-8945-5b35f43a8d90 event=0 ip=198.41.200.53 type=http
|
|
78
|
+
2026-03-05 07:28:48: 2026-03-05T06:28:48Z ERR failed to run the datagram handler error="timeout: no recent network activity" connIndex=2 event=0 ip=198.41.192.57
|
|
79
|
+
2026-03-05 07:28:48: 2026-03-05T06:28:48Z ERR failed to accept incoming stream requests error="failed to accept QUIC stream: timeout: no recent network activity" connIndex=2 event=0 ip=198.41.192.57
|
|
80
|
+
2026-03-05 07:28:48: 2026-03-05T06:28:48Z WRN failed to serve tunnel connection error="datagram manager encountered a failure while serving" connIndex=2 event=0 ip=198.41.192.57
|
|
81
|
+
2026-03-05 07:28:48: 2026-03-05T06:28:48Z WRN Serve tunnel error error="datagram manager encountered a failure while serving" connIndex=2 event=0 ip=198.41.192.57
|
|
82
|
+
2026-03-05 07:28:48: 2026-03-05T06:28:48Z INF Retrying connection in up to 1s connIndex=2 event=0 ip=198.41.192.57
|
|
83
|
+
2026-03-05 07:28:49: 2026-03-05T06:28:49Z WRN Connection terminated error="datagram manager encountered a failure while serving" connIndex=2
|
|
84
|
+
2026-03-05 07:28:59: 2026-03-05T06:28:59Z INF Tunnel connection curve preferences: [X25519MLKEM768 CurveP256] connIndex=2 event=0 ip=198.41.192.57
|
|
85
|
+
2026-03-05 07:28:59: 2026-03-05T06:28:59Z INF Registered tunnel connection connIndex=2 connection=d69b6230-41a7-45fb-b4c2-b7df2504f7b4 event=0 ip=198.41.192.57 location=atl12 protocol=quic
|
package/logs/enterprise-out.log
CHANGED
|
@@ -6,3 +6,5 @@
|
|
|
6
6
|
2026-03-05 07:01:07: Loaded config from /Users/ope/Desktop/projects/agenticmail/enterprise/.env
|
|
7
7
|
2026-03-05 07:06:08: Loaded config from /Users/ope/Desktop/projects/agenticmail/enterprise/.env
|
|
8
8
|
2026-03-05 07:11:44: Loaded config from /Users/ope/Desktop/projects/agenticmail/enterprise/.env
|
|
9
|
+
2026-03-05 07:21:11: Loaded config from /Users/ope/Desktop/projects/agenticmail/enterprise/.env
|
|
10
|
+
2026-03-05 07:29:58: Loaded config from /Users/ope/Desktop/projects/agenticmail/enterprise/.env
|
package/package.json
CHANGED
package/src/admin/routes.ts
CHANGED
|
@@ -365,7 +365,7 @@ export function createAdminRoutes(db: DatabaseAdapter) {
|
|
|
365
365
|
// Get deployment credentials
|
|
366
366
|
const settings = await db.getSettings();
|
|
367
367
|
const pricingConfig = (settings as any)?.modelPricingConfig || {};
|
|
368
|
-
const
|
|
368
|
+
const _providerApiKeys = pricingConfig.providerApiKeys || {};
|
|
369
369
|
|
|
370
370
|
if (targetType === 'fly') {
|
|
371
371
|
// Get Fly.io API token from deploy credentials or config
|
|
@@ -817,7 +817,7 @@ const SET_DESCRIPTIONS: Record<ToolSet, string> = {
|
|
|
817
817
|
function createRequestToolsTool(
|
|
818
818
|
allTools: AnyAgentTool[],
|
|
819
819
|
activeSets: Set<ToolSet>,
|
|
820
|
-
|
|
820
|
+
_context: SessionContext,
|
|
821
821
|
): AnyAgentTool {
|
|
822
822
|
const loadedSets = new Set<ToolSet>(activeSets);
|
|
823
823
|
const allSets = Object.keys(SET_DESCRIPTIONS) as ToolSet[];
|
|
@@ -50,7 +50,7 @@ export interface AgenticMailToolsConfig {
|
|
|
50
50
|
*/
|
|
51
51
|
export function createAgenticMailTools(
|
|
52
52
|
config: AgenticMailToolsConfig,
|
|
53
|
-
|
|
53
|
+
_options?: ToolCreationOptions,
|
|
54
54
|
): AnyAgentTool[] {
|
|
55
55
|
const { manager, agentId } = config;
|
|
56
56
|
const tools: AnyAgentTool[] = [];
|
|
@@ -732,7 +732,7 @@ export function createAgenticMailTools(
|
|
|
732
732
|
bcc: { type: 'string', description: 'BCC recipients' },
|
|
733
733
|
}, ['id', 'to']),
|
|
734
734
|
'high',
|
|
735
|
-
async (
|
|
735
|
+
async (_args) => {
|
|
736
736
|
// Enterprise version: would load template and perform substitution, then send
|
|
737
737
|
return { success: false, error: 'Template send not implemented in this enterprise deployment - use agenticmail_send instead' };
|
|
738
738
|
},
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import type { AnyAgentTool, ToolCreationOptions } from '../types.js';
|
|
9
|
-
import { readStringParam, readNumberParam,
|
|
9
|
+
import { readStringParam, readNumberParam, jsonResult, textResult, errorResult } from '../common.js';
|
|
10
10
|
import type { SsrfGuard } from '../security.js';
|
|
11
11
|
import * as path from 'node:path';
|
|
12
12
|
import * as os from 'node:os';
|
|
@@ -12,7 +12,7 @@ import { execFile, exec } from 'node:child_process';
|
|
|
12
12
|
import os from 'node:os';
|
|
13
13
|
import crypto from 'node:crypto';
|
|
14
14
|
import type { AnyAgentTool, ToolCreationOptions } from '../types.js';
|
|
15
|
-
import { readStringParam, readNumberParam, jsonResult,
|
|
15
|
+
import { readStringParam, readNumberParam, jsonResult, errorResult } from '../common.js';
|
|
16
16
|
|
|
17
17
|
function promiseExecFile(cmd: string, args: string[], opts: Record<string, unknown>): Promise<{ stdout: string; stderr: string }> {
|
|
18
18
|
return new Promise(function(resolve, reject) {
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import fs from 'node:fs/promises';
|
|
10
10
|
import path from 'node:path';
|
|
11
11
|
import type { AnyAgentTool, ToolCreationOptions } from '../types.js';
|
|
12
|
-
import { readStringParam, readNumberParam,
|
|
12
|
+
import { readStringParam, readNumberParam, jsonResult, textResult, errorResult } from '../common.js';
|
|
13
13
|
|
|
14
14
|
type DiffHunk = { oldStart: number; oldCount: number; newStart: number; newCount: number; lines: string[] };
|
|
15
15
|
type JsonDiffEntry = { path: string; type: 'added' | 'removed' | 'changed'; oldValue?: unknown; newValue?: unknown };
|
|
@@ -9,10 +9,8 @@
|
|
|
9
9
|
import fs from 'node:fs/promises';
|
|
10
10
|
import { createWriteStream } from 'node:fs';
|
|
11
11
|
import path from 'node:path';
|
|
12
|
-
import { pipeline } from 'node:stream/promises';
|
|
13
|
-
import { Readable } from 'node:stream';
|
|
14
12
|
import type { AnyAgentTool, ToolCreationOptions } from '../types.js';
|
|
15
|
-
import { readStringParam, readNumberParam,
|
|
13
|
+
import { readStringParam, readNumberParam, jsonResult, errorResult } from '../common.js';
|
|
16
14
|
import { validateEgress } from '../../middleware/egress-filter.js';
|
|
17
15
|
|
|
18
16
|
var MAX_RESPONSE_SIZE = 50 * 1024; // 50KB response body cap
|
|
@@ -12,7 +12,7 @@ import path from 'node:path';
|
|
|
12
12
|
import crypto from 'node:crypto';
|
|
13
13
|
import readline from 'node:readline';
|
|
14
14
|
import type { AnyAgentTool, ToolCreationOptions } from '../types.js';
|
|
15
|
-
import { readStringParam, readBooleanParam,
|
|
15
|
+
import { readStringParam, readBooleanParam, jsonResult, textResult, errorResult } from '../common.js';
|
|
16
16
|
|
|
17
17
|
type SecretPattern = { name: string; regex: RegExp };
|
|
18
18
|
type PiiPattern = { name: string; regex: RegExp; validate?: (m: string) => boolean };
|
|
@@ -212,7 +212,7 @@ export function createGoogleFormsTools(config: GoogleToolsConfig, _options?: Too
|
|
|
212
212
|
if (input.title) { info.title = input.title; updateMasks.push('info.title'); }
|
|
213
213
|
if (input.description !== undefined) { info.description = input.description; updateMasks.push('info.description'); }
|
|
214
214
|
if (updateMasks.length === 0) return errorResult('Provide title or description to update');
|
|
215
|
-
const
|
|
215
|
+
const _result = await formsApi(token, `/forms/${input.formId}:batchUpdate`, {
|
|
216
216
|
method: 'POST',
|
|
217
217
|
body: {
|
|
218
218
|
requests: [{
|
|
@@ -355,7 +355,7 @@ export function createGoogleFormsTools(config: GoogleToolsConfig, _options?: Too
|
|
|
355
355
|
const publishSettings: any = {};
|
|
356
356
|
if (input.isPublished !== undefined) publishSettings.isPublished = input.isPublished === 'true';
|
|
357
357
|
if (input.isAcceptingResponses !== undefined) publishSettings.isAcceptingResponses = input.isAcceptingResponses === 'true';
|
|
358
|
-
const
|
|
358
|
+
const _result = await formsApi(token, `/forms/${input.formId}:setPublishSettings`, {
|
|
359
359
|
method: 'POST',
|
|
360
360
|
body: { publishSettings },
|
|
361
361
|
});
|
|
@@ -885,7 +885,7 @@ export function createGmailTools(config: GoogleToolsConfig, _options?: ToolCreat
|
|
|
885
885
|
const update: any = { signature: params.signature };
|
|
886
886
|
if (params.displayName) update.displayName = params.displayName;
|
|
887
887
|
|
|
888
|
-
const
|
|
888
|
+
const _result = await gmail(token, `/settings/sendAs/${encodeURIComponent(primary.sendAsEmail)}`, {
|
|
889
889
|
method: 'PATCH',
|
|
890
890
|
body: update,
|
|
891
891
|
});
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
14
|
import type { AnyAgentTool } from '../../types.js';
|
|
15
|
-
import { jsonResult, errorResult
|
|
15
|
+
import { jsonResult, errorResult } from '../../common.js';
|
|
16
16
|
|
|
17
17
|
export interface GoogleMapsConfig {
|
|
18
18
|
/** Resolve the Google Maps API key. Called on each request (supports vault decryption). */
|
|
@@ -46,7 +46,7 @@ async function mapsApi(endpoint: string, params: Record<string, string>): Promis
|
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
// Places API (New) uses different base URL
|
|
49
|
-
async function
|
|
49
|
+
async function _placesApiNew(path: string, body: any): Promise<any> {
|
|
50
50
|
const key = await getApiKey();
|
|
51
51
|
const res = await fetch(`https://places.googleapis.com/v1${path}`, {
|
|
52
52
|
method: 'POST',
|
|
@@ -237,7 +237,7 @@ const DEFAULT_VOICES: Record<string, string> = {
|
|
|
237
237
|
'sam': 'yoZ06aMxZJJ28mfd3POQ', // Male, raspy
|
|
238
238
|
};
|
|
239
239
|
|
|
240
|
-
function
|
|
240
|
+
function _delay(ms: number) { return new Promise(r => setTimeout(r, ms)); }
|
|
241
241
|
|
|
242
242
|
/**
|
|
243
243
|
* Generate speech audio from text using ElevenLabs
|
|
@@ -622,7 +622,7 @@ export function createMeetingTools(config: GoogleToolsConfig, _options?: ToolCre
|
|
|
622
622
|
console.warn(`[meeting-join:${agentId}] Voice preflight failed: ${e.message}`);
|
|
623
623
|
}
|
|
624
624
|
|
|
625
|
-
const
|
|
625
|
+
const _voiceBlock = voiceStatus
|
|
626
626
|
? voiceCapability.buildPromptBlock(agentId)
|
|
627
627
|
: '\n## Voice: NOT CHECKED\nUse meeting_speak to talk — it auto-falls back to chat if voice fails.\n';
|
|
628
628
|
|
|
@@ -132,7 +132,7 @@ export function createGoogleSlidesTools(config: GoogleToolsConfig, _options?: To
|
|
|
132
132
|
}
|
|
133
133
|
|
|
134
134
|
for (const slide of contentSlides) {
|
|
135
|
-
const
|
|
135
|
+
const _PT = 12700;
|
|
136
136
|
// Create slide with TITLE_AND_BODY layout
|
|
137
137
|
const addReq: any = { createSlide: { slideLayoutReference: { predefinedLayout: 'TITLE_AND_BODY' } } };
|
|
138
138
|
const addResult = await slidesApi(token, `/presentations/${presentationId}:batchUpdate`, {
|
|
@@ -321,7 +321,7 @@ export function createGoogleSlidesTools(config: GoogleToolsConfig, _options?: To
|
|
|
321
321
|
async execute(_id: string, input: any) {
|
|
322
322
|
try {
|
|
323
323
|
const token = await tp.getAccessToken();
|
|
324
|
-
const
|
|
324
|
+
const _result = await slidesApi(token, `/presentations/${input.presentationId}:batchUpdate`, {
|
|
325
325
|
method: 'POST',
|
|
326
326
|
body: {
|
|
327
327
|
requests: [{
|
|
@@ -48,7 +48,7 @@ async function ripgrepSearch(params: {
|
|
|
48
48
|
args.push('--', shellEscape(params.pattern), shellEscape(params.searchPath));
|
|
49
49
|
|
|
50
50
|
return new Promise(function(resolve) {
|
|
51
|
-
exec(args.join(' '), { maxBuffer: 1_000_000, timeout: DEFAULT_TIMEOUT_MS }, function(
|
|
51
|
+
exec(args.join(' '), { maxBuffer: 1_000_000, timeout: DEFAULT_TIMEOUT_MS }, function(_error, stdout) {
|
|
52
52
|
resolve(stdout || '');
|
|
53
53
|
});
|
|
54
54
|
});
|
|
@@ -36,7 +36,7 @@ export function createKnowledgeSearchTools(opts: ToolCreationOptions): AnyAgentT
|
|
|
36
36
|
const knowledgeEngine: KnowledgeBaseEngine | undefined = (opts as any).knowledgeEngine;
|
|
37
37
|
const engineDb = opts.engineDb;
|
|
38
38
|
const agentId = opts.agentId || 'unknown';
|
|
39
|
-
const
|
|
39
|
+
const _orgId = (opts as any).orgId || '';
|
|
40
40
|
|
|
41
41
|
const tools: AnyAgentTool[] = [];
|
|
42
42
|
|
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
* Designed to make agents BETTER at coding than raw shell + file tools alone.
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import { readFile, writeFile, readdir,
|
|
12
|
-
import { exec as cpExec
|
|
11
|
+
import { readFile, writeFile, readdir, access } from 'node:fs/promises';
|
|
12
|
+
import { exec as cpExec } from 'node:child_process';
|
|
13
13
|
import { promisify } from 'node:util';
|
|
14
|
-
import { join, relative, extname,
|
|
14
|
+
import { join, relative, extname, dirname } from 'node:path';
|
|
15
15
|
import { resolvePath } from './resolve-path.js';
|
|
16
16
|
import type { ToolDefinition } from '../../types.js';
|
|
17
17
|
|
|
@@ -220,8 +220,8 @@ export function createCodingTools(opts?: { cwd?: string; sandbox?: string }): To
|
|
|
220
220
|
if (useRg && stdout) {
|
|
221
221
|
// Parse ripgrep JSON output
|
|
222
222
|
var matches: { file: string; line: number; text: string; context?: string[] }[] = [];
|
|
223
|
-
var
|
|
224
|
-
var
|
|
223
|
+
var _currentFile = '';
|
|
224
|
+
var _contextBuf: string[] = [];
|
|
225
225
|
for (var line of stdout.split('\n').filter(Boolean)) {
|
|
226
226
|
try {
|
|
227
227
|
var j = JSON.parse(line);
|
|
@@ -299,7 +299,7 @@ export function createExcelAdvancedTools(config: MicrosoftToolsConfig, _options?
|
|
|
299
299
|
const rangePath = `${base}/workbook/worksheets/${encodeURIComponent(ws)}/range(address='${params.range}')`;
|
|
300
300
|
|
|
301
301
|
// Build format object
|
|
302
|
-
const
|
|
302
|
+
const _format: any = {};
|
|
303
303
|
if (params.numberFormat) {
|
|
304
304
|
// numberFormat needs to be an array matching the range dimensions
|
|
305
305
|
await graph(token, `${rangePath}/format`, { method: 'PATCH', body: { columnWidth: null } }); // ensure format exists
|
|
@@ -68,7 +68,7 @@ export function createExcelTools(config: MicrosoftToolsConfig, _options?: ToolCr
|
|
|
68
68
|
const base = itemPath(params);
|
|
69
69
|
let rangePath: string;
|
|
70
70
|
if (params.range) {
|
|
71
|
-
const
|
|
71
|
+
const _ws = params.worksheet ? `/worksheets/${encodeURIComponent(params.worksheet)}` : '/worksheets';
|
|
72
72
|
// If range contains !, it has sheet name embedded
|
|
73
73
|
if (params.range.includes('!')) {
|
|
74
74
|
rangePath = `${base}/workbook/worksheets/${encodeURIComponent(params.range.split('!')[0])}/range(address='${params.range.split('!')[1]}')`;
|
|
@@ -44,7 +44,7 @@ export function createPowerPointTools(config: MicrosoftToolsConfig, _options?: T
|
|
|
44
44
|
// Get slide count via preview
|
|
45
45
|
let slideCount: number | null = null;
|
|
46
46
|
try {
|
|
47
|
-
const
|
|
47
|
+
const _preview = await graph(token, `${base}/preview`, { method: 'POST', body: {} });
|
|
48
48
|
// Preview doesn't directly give count, but we can try thumbnails
|
|
49
49
|
const thumbs = await graph(token, `${base}/thumbnails`);
|
|
50
50
|
if (thumbs.value?.[0]) slideCount = Object.keys(thumbs.value[0]).filter((k: string) => k !== 'id').length;
|
|
@@ -14,7 +14,7 @@ import { calculateSimilarity as _calcSim } from './phash.js';
|
|
|
14
14
|
import * as diff from './diff.js';
|
|
15
15
|
|
|
16
16
|
// Session management
|
|
17
|
-
let
|
|
17
|
+
let _currentSessionId: number = 0;
|
|
18
18
|
const activeSessions = new Map<string, number>();
|
|
19
19
|
|
|
20
20
|
/**
|
|
@@ -53,7 +53,7 @@ export function createVisualMemoryTools(options: ToolCreationOptions): AnyAgentT
|
|
|
53
53
|
},
|
|
54
54
|
required: ['source'],
|
|
55
55
|
},
|
|
56
|
-
async execute(
|
|
56
|
+
async execute(_toolCallId: string, params: any) {
|
|
57
57
|
try {
|
|
58
58
|
let result: Awaited<ReturnType<typeof capture.captureFromScreenshot>>;
|
|
59
59
|
|
|
@@ -150,7 +150,7 @@ export function createVisualMemoryTools(options: ToolCreationOptions): AnyAgentT
|
|
|
150
150
|
},
|
|
151
151
|
required: [],
|
|
152
152
|
},
|
|
153
|
-
async execute(
|
|
153
|
+
async execute(_toolCallId: string, params: any) {
|
|
154
154
|
try {
|
|
155
155
|
const observations = await storage.queryObservations(agentId, {
|
|
156
156
|
sessionId: params.sessionId,
|
|
@@ -197,7 +197,7 @@ export function createVisualMemoryTools(options: ToolCreationOptions): AnyAgentT
|
|
|
197
197
|
},
|
|
198
198
|
required: ['id1', 'id2'],
|
|
199
199
|
},
|
|
200
|
-
async execute(
|
|
200
|
+
async execute(_toolCallId: string, params: any) {
|
|
201
201
|
try {
|
|
202
202
|
const obs1 = await storage.getObservation(agentId, params.id1);
|
|
203
203
|
const obs2 = await storage.getObservation(agentId, params.id2);
|
|
@@ -256,7 +256,7 @@ export function createVisualMemoryTools(options: ToolCreationOptions): AnyAgentT
|
|
|
256
256
|
},
|
|
257
257
|
required: ['beforeId', 'afterId'],
|
|
258
258
|
},
|
|
259
|
-
async execute(
|
|
259
|
+
async execute(_toolCallId: string, params: any) {
|
|
260
260
|
try {
|
|
261
261
|
const beforeObs = await storage.getObservation(agentId, params.beforeId);
|
|
262
262
|
const afterObs = await storage.getObservation(agentId, params.afterId);
|
|
@@ -320,7 +320,7 @@ export function createVisualMemoryTools(options: ToolCreationOptions): AnyAgentT
|
|
|
320
320
|
},
|
|
321
321
|
required: ['targetId'],
|
|
322
322
|
},
|
|
323
|
-
async execute(
|
|
323
|
+
async execute(_toolCallId: string, params: any) {
|
|
324
324
|
try {
|
|
325
325
|
const targetObs = await storage.getObservation(agentId, params.targetId);
|
|
326
326
|
if (!targetObs) {
|
|
@@ -384,7 +384,7 @@ export function createVisualMemoryTools(options: ToolCreationOptions): AnyAgentT
|
|
|
384
384
|
},
|
|
385
385
|
required: ['baselineId'],
|
|
386
386
|
},
|
|
387
|
-
async execute(
|
|
387
|
+
async execute(_toolCallId: string, params: any) {
|
|
388
388
|
try {
|
|
389
389
|
const baseline = await storage.getObservation(agentId, params.baselineId);
|
|
390
390
|
if (!baseline) {
|
|
@@ -495,7 +495,7 @@ export function createVisualMemoryTools(options: ToolCreationOptions): AnyAgentT
|
|
|
495
495
|
},
|
|
496
496
|
required: ['observationId'],
|
|
497
497
|
},
|
|
498
|
-
async execute(
|
|
498
|
+
async execute(_toolCallId: string, params: any) {
|
|
499
499
|
try {
|
|
500
500
|
const observation = await storage.getObservation(agentId, params.observationId);
|
|
501
501
|
if (!observation) {
|
|
@@ -550,7 +550,7 @@ export function createVisualMemoryTools(options: ToolCreationOptions): AnyAgentT
|
|
|
550
550
|
properties: {},
|
|
551
551
|
required: [],
|
|
552
552
|
},
|
|
553
|
-
async execute(
|
|
553
|
+
async execute(_toolCallId: string, _params: any) {
|
|
554
554
|
try {
|
|
555
555
|
const stats = await storage.getStoreStats(agentId);
|
|
556
556
|
|
|
@@ -608,7 +608,7 @@ export function createVisualMemoryTools(options: ToolCreationOptions): AnyAgentT
|
|
|
608
608
|
},
|
|
609
609
|
required: [],
|
|
610
610
|
},
|
|
611
|
-
async execute(
|
|
611
|
+
async execute(_toolCallId: string, params: any) {
|
|
612
612
|
try {
|
|
613
613
|
const store = await storage.loadStore(agentId);
|
|
614
614
|
const sessionId = ++store.sessionCount;
|
|
@@ -647,7 +647,7 @@ export function createVisualMemoryTools(options: ToolCreationOptions): AnyAgentT
|
|
|
647
647
|
},
|
|
648
648
|
required: [],
|
|
649
649
|
},
|
|
650
|
-
async execute(
|
|
650
|
+
async execute(_toolCallId: string, params: any) {
|
|
651
651
|
try {
|
|
652
652
|
const sessionKey = `${agentId}-session`;
|
|
653
653
|
const sessionId = params.sessionId || activeSessions.get(sessionKey) || 0;
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* Implements fast similarity search using perceptual hashes and filtering.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { VisualObservation, SimilarityMatch
|
|
8
|
-
import { calculateSimilarity
|
|
7
|
+
import { VisualObservation, SimilarityMatch } from './types.js';
|
|
8
|
+
import { calculateSimilarity } from './phash.js';
|
|
9
9
|
import { queryObservations } from './storage.js';
|
|
10
10
|
|
|
11
11
|
/**
|
|
@@ -486,7 +486,7 @@ export async function loadStore(agentId: string): Promise<VisualMemoryStore> {
|
|
|
486
486
|
/**
|
|
487
487
|
* Save store — no-op in enterprise (DB handles persistence).
|
|
488
488
|
*/
|
|
489
|
-
export async function saveStore(_agentId: string,
|
|
489
|
+
export async function saveStore(_agentId: string, _store: VisualMemoryStore): Promise<void> {
|
|
490
490
|
// DB-backed: no-op
|
|
491
491
|
}
|
|
492
492
|
|
|
@@ -62,7 +62,7 @@ export function detectImapSettings(email: string): { imapHost: string; imapPort:
|
|
|
62
62
|
if (!domain) return null;
|
|
63
63
|
|
|
64
64
|
// Check presets
|
|
65
|
-
for (const [key,
|
|
65
|
+
for (const [key, _preset] of Object.entries(IMAP_PRESETS)) {
|
|
66
66
|
if (domain.includes(key) || domain === 'gmail.com' || domain === 'outlook.com' || domain === 'hotmail.com') {
|
|
67
67
|
if (domain === 'gmail.com' || domain.endsWith('.google.com')) return IMAP_PRESETS.gmail;
|
|
68
68
|
if (domain === 'outlook.com' || domain === 'hotmail.com' || domain.endsWith('.onmicrosoft.com')) return IMAP_PRESETS.microsoft365;
|
|
@@ -83,7 +83,7 @@ export class ImapEmailProvider implements IEmailProvider {
|
|
|
83
83
|
|
|
84
84
|
// IMAP connection (lazy-loaded to avoid bundling the dep if not used)
|
|
85
85
|
private imapClient: any = null;
|
|
86
|
-
private
|
|
86
|
+
private _smtpClient: any = null;
|
|
87
87
|
|
|
88
88
|
private getIdentity(): ImapEmailIdentity {
|
|
89
89
|
if (!this.identity) throw new Error('Not connected — call connect() first');
|
|
@@ -267,7 +267,7 @@ export function createSubsystemLogger(name: string): SubsystemLogger {
|
|
|
267
267
|
info: (...args: any[]) => console.log(prefix, ...args),
|
|
268
268
|
warn: (...args: any[]) => console.warn(prefix, ...args),
|
|
269
269
|
error: (...args: any[]) => console.error(prefix, ...args),
|
|
270
|
-
debug: (...
|
|
270
|
+
debug: (..._args: any[]) => { /* silent in production */ },
|
|
271
271
|
child: (sub: string) => createSubsystemLogger(`${name}:${sub}`),
|
|
272
272
|
};
|
|
273
273
|
return logger;
|
package/src/cli-agent.ts
CHANGED
|
@@ -2081,7 +2081,7 @@ Available tools: gmail_send (to, subject, body) or agenticmail_send (to, subject
|
|
|
2081
2081
|
(global as any).__autonomyManager = autonomy;
|
|
2082
2082
|
|
|
2083
2083
|
// Store autonomy ref for shutdown
|
|
2084
|
-
const
|
|
2084
|
+
const _origShutdown = process.listeners('SIGTERM');
|
|
2085
2085
|
process.on('SIGTERM', () => autonomy.stop());
|
|
2086
2086
|
process.on('SIGINT', () => autonomy.stop());
|
|
2087
2087
|
} catch (autoErr: any) {
|
|
@@ -2166,7 +2166,7 @@ Available tools: gmail_send (to, subject, body) or agenticmail_send (to, subject
|
|
|
2166
2166
|
|
|
2167
2167
|
async function startCalendarPolling(
|
|
2168
2168
|
agentId: string, config: any, runtime: any,
|
|
2169
|
-
|
|
2169
|
+
_engineDb: any, _memoryManager: any,
|
|
2170
2170
|
sessionRouter?: any,
|
|
2171
2171
|
) {
|
|
2172
2172
|
const emailConfig = config.emailConfig;
|
|
@@ -2341,7 +2341,7 @@ async function startCalendarPolling(
|
|
|
2341
2341
|
// ─── Email System Prompt Builder ──────────────────────
|
|
2342
2342
|
|
|
2343
2343
|
/** Build a schedule awareness block for system prompts */
|
|
2344
|
-
function
|
|
2344
|
+
function _buildScheduleContext(schedule?: { start: string; end: string; days: number[] }, timezone?: string): string {
|
|
2345
2345
|
if (!schedule) return '';
|
|
2346
2346
|
const dayNames = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
|
|
2347
2347
|
const workDays = schedule.days.map(d => dayNames[d]).join(', ');
|
package/src/cli-serve.ts
CHANGED
|
@@ -106,7 +106,7 @@ export async function runServe(_args: string[]) {
|
|
|
106
106
|
await ensureSecrets();
|
|
107
107
|
|
|
108
108
|
const JWT_SECRET = process.env.JWT_SECRET!;
|
|
109
|
-
const
|
|
109
|
+
const _VAULT_KEY = process.env.AGENTICMAIL_VAULT_KEY!;
|
|
110
110
|
|
|
111
111
|
if (!DATABASE_URL) {
|
|
112
112
|
console.error('ERROR: DATABASE_URL is required.');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { h, useState, useEffect, useRef, Fragment, useApp, engineCall, apiCall } from '../components/utils.js';
|
|
2
2
|
import { I } from '../components/icons.js';
|
|
3
|
-
import { HelpButton } from '../components/
|
|
3
|
+
import { HelpButton } from '../components/help-button.js';
|
|
4
4
|
import { KnowledgeLink } from '../components/knowledge-link.js';
|
|
5
5
|
|
|
6
6
|
function AddNodeModal({ onClose, onAdded, toast }) {
|
|
@@ -17,7 +17,7 @@ import type {
|
|
|
17
17
|
ConnectionPoolStats,
|
|
18
18
|
DatabasePermission,
|
|
19
19
|
} from './types.js';
|
|
20
|
-
import { sanitizeQuery,
|
|
20
|
+
import { sanitizeQuery, sanitizeForLogging, type SanitizeResult } from './query-sanitizer.js';
|
|
21
21
|
import crypto from 'crypto';
|
|
22
22
|
|
|
23
23
|
// ─── Driver Interfaces ───────────────────────────────────────────────────────
|
|
@@ -124,7 +124,7 @@ export class DatabaseConnectionManager {
|
|
|
124
124
|
return Array.isArray(result) ? result : (result?.rows || []);
|
|
125
125
|
}
|
|
126
126
|
|
|
127
|
-
private async
|
|
127
|
+
private async _dbGet(sql: string, params?: any[]): Promise<any> {
|
|
128
128
|
if (!this.engineDb) return null;
|
|
129
129
|
if (this.engineDb.get) return this.engineDb.get(sql, params);
|
|
130
130
|
const rows = await this.dbAll(sql, params);
|
|
@@ -477,7 +477,7 @@ export class DatabaseConnectionManager {
|
|
|
477
477
|
const finalSql = sanitizeResult.sanitizedQuery || query.sql;
|
|
478
478
|
|
|
479
479
|
// 4. Check concurrent query limit
|
|
480
|
-
const
|
|
480
|
+
const _maxConcurrent = access.queryLimits?.maxConcurrentQueries ?? config.queryLimits?.maxConcurrentQueries ?? 5;
|
|
481
481
|
// (In production, track active queries per connection — simplified here)
|
|
482
482
|
|
|
483
483
|
// 5. Execute with timeout
|
|
@@ -717,7 +717,7 @@ export class DatabaseConnectionManager {
|
|
|
717
717
|
private async logAudit(
|
|
718
718
|
query: DatabaseQuery,
|
|
719
719
|
config: DatabaseConnectionConfig,
|
|
720
|
-
|
|
720
|
+
_access: AgentDatabaseAccess,
|
|
721
721
|
operation: string,
|
|
722
722
|
rowsAffected: number,
|
|
723
723
|
success: boolean,
|
|
@@ -875,7 +875,7 @@ export class DatabaseConnectionManager {
|
|
|
875
875
|
/**
|
|
876
876
|
* Parse a connection string to extract host/port/database/username when fields are missing.
|
|
877
877
|
*/
|
|
878
|
-
private parseConnectionString(connStr: string,
|
|
878
|
+
private parseConnectionString(connStr: string, _type: string): { host?: string; port?: number; database?: string; username?: string } {
|
|
879
879
|
try {
|
|
880
880
|
// Handle postgres://, mysql://, mongodb://, redis://, libsql:// etc
|
|
881
881
|
const cleaned = connStr.replace(/^(postgres|postgresql|mysql|mongodb\+srv|mongodb|redis|rediss|libsql)/, 'http');
|
|
@@ -1149,7 +1149,7 @@ export class DatabaseConnectionManager {
|
|
|
1149
1149
|
let username = config.username;
|
|
1150
1150
|
if (connStr) {
|
|
1151
1151
|
try {
|
|
1152
|
-
const
|
|
1152
|
+
const _parsed = self.parseConnectionString(connStr, 'redis');
|
|
1153
1153
|
if (!password) {
|
|
1154
1154
|
// redis://user:pass@host:port or redis://:pass@host:port
|
|
1155
1155
|
const url = new URL(connStr.replace(/^redis(s?)/, 'http'));
|
package/src/db/dynamodb.ts
CHANGED
|
@@ -33,7 +33,7 @@ const TABLE = 'agenticmail_enterprise';
|
|
|
33
33
|
// GSI1: GSI1PK/GSI1SK for secondary lookups (email, name, etc.)
|
|
34
34
|
|
|
35
35
|
function pk(type: string) { return `${type}`; }
|
|
36
|
-
function
|
|
36
|
+
function _sk(id: string) { return id; }
|
|
37
37
|
|
|
38
38
|
export class DynamoAdapter extends DatabaseAdapter {
|
|
39
39
|
readonly type = 'dynamodb' as const;
|
package/src/db/postgres.ts
CHANGED
|
@@ -142,7 +142,7 @@ export class PostgresAdapter extends DatabaseAdapter {
|
|
|
142
142
|
|
|
143
143
|
getEngineDB() {
|
|
144
144
|
if (!this.pool || this.ended) return null;
|
|
145
|
-
const
|
|
145
|
+
const _pool = this.pool;
|
|
146
146
|
const self = this;
|
|
147
147
|
// Convert ? placeholders to $1, $2, ... for pg driver
|
|
148
148
|
const pgSql = (sql: string) => {
|
|
@@ -699,7 +699,7 @@ export class PostgresAdapter extends DatabaseAdapter {
|
|
|
699
699
|
totalAgents: parseInt(agents.rows[0].count, 10),
|
|
700
700
|
activeAgents: parseInt(active.rows[0].count, 10),
|
|
701
701
|
totalUsers: parseInt(users.rows[0].count, 10),
|
|
702
|
-
totalEmails: 0, //
|
|
702
|
+
totalEmails: 0, // Email count tracked externally via AgenticMail
|
|
703
703
|
totalAuditEvents: parseInt(audit.rows[0].count, 10),
|
|
704
704
|
};
|
|
705
705
|
}
|