@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.
Files changed (457) hide show
  1. package/dist/{agent-heartbeat-77N4OOQL.js → agent-heartbeat-ZFKA6GMI.js} +2 -2
  2. package/dist/{agent-tools-BNSTIK4P.js → agent-tools-R6RSBDJQ.js} +25 -25
  3. package/dist/{agenticmail-EDO5XOTP.js → agenticmail-QMWQNUY2.js} +1 -1
  4. package/dist/{browser-tool-JF3LNRGX.js → browser-tool-4KWE37RL.js} +4 -4
  5. package/dist/{chunk-JEGYVXYC.js → chunk-CQV7GGHT.js} +1 -1
  6. package/dist/{chunk-VBTHTPZ6.js → chunk-DWHJYAV6.js} +27 -27
  7. package/dist/{chunk-HKCKMCPY.js → chunk-G4YSECQ4.js} +2 -2
  8. package/dist/{chunk-7HBGXW7Z.js → chunk-GNABVGDZ.js} +31 -32
  9. package/dist/{chunk-DMD24UFZ.js → chunk-HTT6LUPP.js} +19 -19
  10. package/dist/{chunk-3FMK32KQ.js → chunk-LHQP7QRX.js} +9 -9
  11. package/dist/{chunk-6C5PKREN.js → chunk-NOAQG5CY.js} +1 -1
  12. package/dist/{chunk-4EKXYIJF.js → chunk-PAHT4ABL.js} +4 -4
  13. package/dist/{chunk-JNMDD7JY.js → chunk-RHO7WRVJ.js} +5 -5
  14. package/dist/{chunk-BQM7MBPS.js → chunk-WYDVMFGJ.js} +5 -5
  15. package/dist/{chunk-TPLVQFXM.js → chunk-X2YL6KSY.js} +13 -13
  16. package/dist/{cli-agent-ZIIFI77N.js → cli-agent-2NBPF3GN.js} +11 -11
  17. package/dist/{cli-recover-XEZ2SKPU.js → cli-recover-TTOR7CJR.js} +2 -2
  18. package/dist/{cli-serve-BDGOOOKQ.js → cli-serve-5VFU4GR4.js} +3 -3
  19. package/dist/{cli-verify-CZIITRED.js → cli-verify-WICBVLAM.js} +2 -2
  20. package/dist/cli.js +5 -5
  21. package/dist/{connection-manager-KAWEUWUR.js → connection-manager-Y7CCQK4X.js} +1 -1
  22. package/dist/dashboard/pages/cluster.js +1 -1
  23. package/dist/{deployer-3YK4RPUL.js → deployer-7NG7LCJW.js} +1 -1
  24. package/dist/{factory-JFWXTAWK.js → factory-4V2W4BSV.js} +1 -1
  25. package/dist/index.js +9 -9
  26. package/dist/{integrations-TF4EBCJ7.js → integrations-V2WXFDIV.js} +13 -13
  27. package/dist/{local-6MLIZDKO.js → local-OXFH4V7E.js} +2 -2
  28. package/dist/{meeting-voice-intelligence-CJLR52YV.js → meeting-voice-intelligence-RZZCAD6G.js} +2 -2
  29. package/dist/{meetings-FJ453ENF.js → meetings-SQNTB6GD.js} +1 -1
  30. package/dist/{microsoft-2IIHDLJB.js → microsoft-2PDVV6HX.js} +3 -3
  31. package/dist/{postgres-WGUVC2S7.js → postgres-USXBPTHX.js} +2 -2
  32. package/dist/{pw-ai-IBEF6HBF.js → pw-ai-NK5GKBDG.js} +1 -1
  33. package/dist/{routes-XYR2RNEC.js → routes-T3CDAQTD.js} +4 -4
  34. package/dist/{runtime-6BULDBR3.js → runtime-X4BTVICL.js} +1 -1
  35. package/dist/{server-7NT4LMSQ.js → server-WQ6LLYGB.js} +5 -5
  36. package/dist/{setup-2JBXMUDS.js → setup-6DRKSOMH.js} +2 -2
  37. package/dist/{skills-FR7I5V7H.js → skills-EL4RTJKK.js} +1 -1
  38. package/logs/cloudflared-error.log +12 -0
  39. package/logs/enterprise-out.log +2 -0
  40. package/package.json +1 -1
  41. package/src/admin/routes.ts +1 -1
  42. package/src/agent-tools/tool-resolver.ts +1 -1
  43. package/src/agent-tools/tools/agenticmail.ts +2 -2
  44. package/src/agent-tools/tools/browser.ts +1 -1
  45. package/src/agent-tools/tools/enterprise-code-sandbox.ts +1 -1
  46. package/src/agent-tools/tools/enterprise-diff.ts +1 -1
  47. package/src/agent-tools/tools/enterprise-http.ts +1 -3
  48. package/src/agent-tools/tools/enterprise-security-scan.ts +1 -1
  49. package/src/agent-tools/tools/google/forms.ts +2 -2
  50. package/src/agent-tools/tools/google/gmail.ts +1 -1
  51. package/src/agent-tools/tools/google/maps.ts +2 -2
  52. package/src/agent-tools/tools/google/meeting-voice.ts +1 -1
  53. package/src/agent-tools/tools/google/meetings.ts +1 -1
  54. package/src/agent-tools/tools/google/slides.ts +2 -2
  55. package/src/agent-tools/tools/grep.ts +1 -1
  56. package/src/agent-tools/tools/knowledge-search.ts +1 -1
  57. package/src/agent-tools/tools/local/coding.ts +5 -5
  58. package/src/agent-tools/tools/microsoft/excel-vba.ts +1 -1
  59. package/src/agent-tools/tools/microsoft/excel.ts +1 -1
  60. package/src/agent-tools/tools/microsoft/powerpoint.ts +1 -1
  61. package/src/agent-tools/tools/visual-memory/index.ts +11 -11
  62. package/src/agent-tools/tools/visual-memory/similarity.ts +2 -2
  63. package/src/agent-tools/tools/visual-memory/storage.ts +1 -1
  64. package/src/agenticmail/providers/imap.ts +2 -2
  65. package/src/browser/enterprise-compat.ts +1 -1
  66. package/src/cli-agent.ts +3 -3
  67. package/src/cli-serve.ts +1 -1
  68. package/src/dashboard/pages/cluster.js +1 -1
  69. package/src/database-access/connection-manager.ts +6 -6
  70. package/src/database-access/routes.ts +0 -1
  71. package/src/db/dynamodb.ts +1 -1
  72. package/src/db/postgres.ts +2 -2
  73. package/src/deploy/fly.ts +4 -4
  74. package/src/deploy/managed.ts +0 -1
  75. package/src/engine/agent-config.ts +1 -1
  76. package/src/engine/agent-heartbeat.ts +1 -1
  77. package/src/engine/agent-hierarchy.ts +1 -1
  78. package/src/engine/agent-memory.ts +1 -1
  79. package/src/engine/agent-routes.ts +2 -2
  80. package/src/engine/chat-poller.ts +1 -1
  81. package/src/engine/community-registry.ts +2 -2
  82. package/src/engine/db-adapter.ts +0 -1
  83. package/src/engine/deployer.ts +8 -8
  84. package/src/engine/email-poller.ts +1 -1
  85. package/src/engine/knowledge-contribution.ts +1 -1
  86. package/src/engine/knowledge-import/import-manager.ts +2 -3
  87. package/src/engine/knowledge-import/processors/extract-github.ts +1 -1
  88. package/src/engine/knowledge-import/processors/extract-sharepoint.ts +1 -1
  89. package/src/engine/knowledge-import/processors/validate.ts +1 -1
  90. package/src/engine/lifecycle.ts +1 -1
  91. package/src/engine/meeting-monitor.ts +2 -2
  92. package/src/engine/meeting-voice-intelligence.ts +3 -3
  93. package/src/engine/messaging-poller.ts +2 -2
  94. package/src/engine/org-integration-routes.ts +2 -2
  95. package/src/engine/org-integrations.ts +1 -1
  96. package/src/engine/routes.ts +2 -2
  97. package/src/engine/skills.ts +1 -1
  98. package/src/engine/tool-catalog.ts +1 -1
  99. package/src/engine/vault-routes.ts +1 -1
  100. package/src/engine/vault.ts +1 -1
  101. package/src/mcp/adapters/adp.adapter.ts +1 -1
  102. package/src/mcp/adapters/auth0.adapter.ts +1 -1
  103. package/src/mcp/adapters/clickup.adapter.ts +1 -1
  104. package/src/mcp/adapters/close.adapter.ts +1 -1
  105. package/src/mcp/adapters/firebase.adapter.ts +1 -1
  106. package/src/mcp/adapters/google-ads.adapter.ts +1 -1
  107. package/src/mcp/adapters/kubernetes.adapter.ts +1 -1
  108. package/src/mcp/adapters/mixpanel.adapter.ts +1 -1
  109. package/src/mcp/adapters/recurly.adapter.ts +1 -1
  110. package/src/mcp/adapters/sap.adapter.ts +2 -2
  111. package/src/mcp/adapters/shortcut.adapter.ts +1 -1
  112. package/src/mcp/adapters/snowflake.adapter.ts +1 -1
  113. package/src/mcp/adapters/stripe.adapter.ts +1 -1
  114. package/src/mcp/adapters/supabase.adapter.ts +1 -1
  115. package/src/mcp/adapters/zuora.adapter.ts +1 -1
  116. package/src/middleware/request-limits.ts +1 -1
  117. package/src/runtime/agent-loop.ts +3 -3
  118. package/src/runtime/compaction.ts +2 -2
  119. package/src/runtime/followup.ts +1 -1
  120. package/src/runtime/hooks.ts +3 -3
  121. package/src/runtime/index.ts +5 -6
  122. package/src/runtime/llm-client.ts +1 -1
  123. package/src/runtime/subagent.ts +0 -1
  124. package/src/runtime/types.ts +2 -0
  125. package/src/security/brute-force.ts +1 -1
  126. package/src/security/csp.ts +1 -1
  127. package/src/security/index.ts +3 -3
  128. package/src/security/input-sanitizer.ts +1 -1
  129. package/src/security/threat-logger.ts +2 -2
  130. package/src/server.ts +2 -2
  131. package/src/setup/database.ts +1 -1
  132. package/src/setup/index.ts +1 -2
  133. package/src/setup/provision.ts +1 -1
  134. package/dist/_seed-data-FQR5PY2W.js +0 -4554
  135. package/dist/agent-heartbeat-3FWNHZFX.js +0 -510
  136. package/dist/agent-heartbeat-4RWHZR7H.js +0 -510
  137. package/dist/agent-heartbeat-6ZGB5ILY.js +0 -510
  138. package/dist/agent-heartbeat-BBINFNL4.js +0 -510
  139. package/dist/agent-heartbeat-BIVHLKFM.js +0 -510
  140. package/dist/agent-heartbeat-HGVIAHS5.js +0 -510
  141. package/dist/agent-heartbeat-HRKVFK2T.js +0 -510
  142. package/dist/agent-heartbeat-JC5GWVXD.js +0 -510
  143. package/dist/agent-heartbeat-K6A4HMHB.js +0 -510
  144. package/dist/agent-heartbeat-LCDXWFVB.js +0 -510
  145. package/dist/agent-heartbeat-P7HZCZAQ.js +0 -510
  146. package/dist/agent-heartbeat-PUIRSNIO.js +0 -510
  147. package/dist/agent-heartbeat-SN5ILQ6Y.js +0 -510
  148. package/dist/agent-heartbeat-TW5YTDYC.js +0 -510
  149. package/dist/agent-heartbeat-UF2RKKS2.js +0 -510
  150. package/dist/agent-heartbeat-YCSWP54H.js +0 -510
  151. package/dist/agent-heartbeat-Z2QQXROL.js +0 -510
  152. package/dist/agent-tools-3W7XLUYA.js +0 -13949
  153. package/dist/agent-tools-54VZGT6L.js +0 -9
  154. package/dist/agent-tools-AYYDPO27.js +0 -13949
  155. package/dist/agent-tools-F2X47FKF.js +0 -13949
  156. package/dist/agent-tools-O6W3QAZL.js +0 -13949
  157. package/dist/agent-tools-OAWVZBMW.js +0 -9
  158. package/dist/agent-tools-QCCU74PN.js +0 -13949
  159. package/dist/agent-tools-QGE26U6R.js +0 -9
  160. package/dist/chunk-2LHUARN6.js +0 -4929
  161. package/dist/chunk-2WVCNCYC.js +0 -5087
  162. package/dist/chunk-3FM6YQUK.js +0 -5087
  163. package/dist/chunk-46GOWZT4.js +0 -5087
  164. package/dist/chunk-4DBWU3P5.js +0 -4929
  165. package/dist/chunk-5KYJAUZV.js +0 -1519
  166. package/dist/chunk-6ZMLNEHB.js +0 -1519
  167. package/dist/chunk-7UCKD25B.js +0 -551
  168. package/dist/chunk-BDCFOP7O.js +0 -537
  169. package/dist/chunk-BPZQT5N5.js +0 -25652
  170. package/dist/chunk-C52OQNNY.js +0 -5087
  171. package/dist/chunk-C7HGQF4Y.js +0 -25652
  172. package/dist/chunk-CAHNZGGK.js +0 -25656
  173. package/dist/chunk-CK7R6UHE.js +0 -4945
  174. package/dist/chunk-CQYLRIQ3.js +0 -25938
  175. package/dist/chunk-D36RPWB7.js +0 -25652
  176. package/dist/chunk-DJK2UPFH.js +0 -4891
  177. package/dist/chunk-DM7FTF7W.js +0 -4929
  178. package/dist/chunk-DXZGPUAF.js +0 -5087
  179. package/dist/chunk-F46WB5IL.js +0 -5087
  180. package/dist/chunk-F5QG5SQH.js +0 -5087
  181. package/dist/chunk-GYB2WHMN.js +0 -5101
  182. package/dist/chunk-H7GP733U.js +0 -5087
  183. package/dist/chunk-HHBXWB5U.js +0 -25640
  184. package/dist/chunk-HS5YWSGM.js +0 -3206
  185. package/dist/chunk-IMXS4N6W.js +0 -1519
  186. package/dist/chunk-JTV5LA47.js +0 -1519
  187. package/dist/chunk-KN3T3CTD.js +0 -4929
  188. package/dist/chunk-KV6G7NZX.js +0 -1519
  189. package/dist/chunk-M6ZIC5H3.js +0 -1370
  190. package/dist/chunk-MU5MEBIK.js +0 -1519
  191. package/dist/chunk-NLT5MC7X.js +0 -465
  192. package/dist/chunk-NVLYIM4J.js +0 -4945
  193. package/dist/chunk-NZY2BIZH.js +0 -4891
  194. package/dist/chunk-O42L6G67.js +0 -1519
  195. package/dist/chunk-OCNERGGM.js +0 -4891
  196. package/dist/chunk-OJSNHONE.js +0 -1519
  197. package/dist/chunk-OWTLNV4Q.js +0 -25623
  198. package/dist/chunk-PCNYEP6T.js +0 -4891
  199. package/dist/chunk-PI4AQ4Z6.js +0 -25652
  200. package/dist/chunk-PN3EGTCA.js +0 -194
  201. package/dist/chunk-PWWV2U5P.js +0 -195
  202. package/dist/chunk-Q37UKNRC.js +0 -1519
  203. package/dist/chunk-QXTC6J7H.js +0 -5087
  204. package/dist/chunk-RF2LGX3E.js +0 -1519
  205. package/dist/chunk-RH7KPWRQ.js +0 -465
  206. package/dist/chunk-RKERL5LZ.js +0 -4925
  207. package/dist/chunk-RVBK2IOX.js +0 -25652
  208. package/dist/chunk-SAKODCZ5.js +0 -4891
  209. package/dist/chunk-SALGFC5L.js +0 -4945
  210. package/dist/chunk-STGWZ2MS.js +0 -1519
  211. package/dist/chunk-SVSLIQYN.js +0 -1519
  212. package/dist/chunk-UY3ZVQDP.js +0 -25652
  213. package/dist/chunk-V6OSD62M.js +0 -5087
  214. package/dist/chunk-VP6YAHX4.js +0 -1519
  215. package/dist/chunk-WD72IOF2.js +0 -5101
  216. package/dist/chunk-WDYJOEAI.js +0 -5087
  217. package/dist/chunk-WEAFQNOS.js +0 -195
  218. package/dist/chunk-XKUSAZGP.js +0 -5087
  219. package/dist/chunk-YCWOCIPH.js +0 -5101
  220. package/dist/chunk-ZGE3XAXY.js +0 -1519
  221. package/dist/chunk-ZGFDTW4H.js +0 -1519
  222. package/dist/cli-agent-33GWIF2D.js +0 -2300
  223. package/dist/cli-agent-4XK6LVQQ.js +0 -2357
  224. package/dist/cli-agent-64EOV3ST.js +0 -2300
  225. package/dist/cli-agent-67WP6KKO.js +0 -2300
  226. package/dist/cli-agent-7RW5Y7C4.js +0 -2294
  227. package/dist/cli-agent-7TB2BWS6.js +0 -2370
  228. package/dist/cli-agent-AKXFFST2.js +0 -2370
  229. package/dist/cli-agent-C3YSECO4.js +0 -2344
  230. package/dist/cli-agent-DZTKLITB.js +0 -2357
  231. package/dist/cli-agent-FNMDJN7T.js +0 -2357
  232. package/dist/cli-agent-FOF7PFEP.js +0 -2357
  233. package/dist/cli-agent-FXZ6DJKP.js +0 -2357
  234. package/dist/cli-agent-H74M2ZYN.js +0 -2357
  235. package/dist/cli-agent-HG4Y657I.js +0 -2300
  236. package/dist/cli-agent-HORWVPHB.js +0 -2370
  237. package/dist/cli-agent-HSZT6SKF.js +0 -2423
  238. package/dist/cli-agent-ION2W5JF.js +0 -2441
  239. package/dist/cli-agent-JLUQ4ZU6.js +0 -2424
  240. package/dist/cli-agent-KBPWY3CB.js +0 -2302
  241. package/dist/cli-agent-MVCDH4HV.js +0 -2370
  242. package/dist/cli-agent-NZXOEPJ2.js +0 -2357
  243. package/dist/cli-agent-OO6H57UQ.js +0 -2300
  244. package/dist/cli-agent-PADN3QRC.js +0 -2357
  245. package/dist/cli-agent-QAYEX3BE.js +0 -2441
  246. package/dist/cli-agent-QT64DT5J.js +0 -2370
  247. package/dist/cli-agent-TCTRKCHN.js +0 -2300
  248. package/dist/cli-agent-TFL2M6UK.js +0 -2424
  249. package/dist/cli-agent-TSOJG7EX.js +0 -2357
  250. package/dist/cli-agent-UIKXATTD.js +0 -2357
  251. package/dist/cli-agent-UJN6FYTO.js +0 -2370
  252. package/dist/cli-agent-USMKX7WN.js +0 -2473
  253. package/dist/cli-agent-VIQAYVY4.js +0 -2357
  254. package/dist/cli-agent-WNWFVOFM.js +0 -2370
  255. package/dist/cli-agent-XBQX67VJ.js +0 -2423
  256. package/dist/cli-agent-ZLSC6FF4.js +0 -2357
  257. package/dist/cli-agent-ZSHUPBBN.js +0 -2357
  258. package/dist/cli-recover-T32NABFA.js +0 -487
  259. package/dist/cli-serve-2IL5DTEY.js +0 -153
  260. package/dist/cli-serve-3NGBX5ER.js +0 -140
  261. package/dist/cli-serve-47N5UKKW.js +0 -153
  262. package/dist/cli-serve-4RS4UDHC.js +0 -140
  263. package/dist/cli-serve-4XGZFUV2.js +0 -140
  264. package/dist/cli-serve-53FVANQK.js +0 -260
  265. package/dist/cli-serve-57225XWV.js +0 -140
  266. package/dist/cli-serve-63BDPSOP.js +0 -140
  267. package/dist/cli-serve-657NRUOX.js +0 -140
  268. package/dist/cli-serve-6ER7QMLR.js +0 -140
  269. package/dist/cli-serve-6OT3UEAN.js +0 -140
  270. package/dist/cli-serve-7JQ4FVUQ.js +0 -260
  271. package/dist/cli-serve-7L6EY5UH.js +0 -153
  272. package/dist/cli-serve-BFNIW2LF.js +0 -153
  273. package/dist/cli-serve-C7MN6U5Q.js +0 -153
  274. package/dist/cli-serve-CQFI3LMK.js +0 -140
  275. package/dist/cli-serve-CR3OY3IM.js +0 -153
  276. package/dist/cli-serve-DAJFRWQ7.js +0 -153
  277. package/dist/cli-serve-DTQLN5UI.js +0 -140
  278. package/dist/cli-serve-EQS2SGT3.js +0 -140
  279. package/dist/cli-serve-FW6FHFW4.js +0 -153
  280. package/dist/cli-serve-GEEOQS77.js +0 -153
  281. package/dist/cli-serve-H562I3ZK.js +0 -153
  282. package/dist/cli-serve-HDQZF4C4.js +0 -153
  283. package/dist/cli-serve-KBJNXWYJ.js +0 -140
  284. package/dist/cli-serve-LICAOMEB.js +0 -140
  285. package/dist/cli-serve-LLGYLWFS.js +0 -153
  286. package/dist/cli-serve-LMZKQ5GX.js +0 -140
  287. package/dist/cli-serve-LNTT73P2.js +0 -140
  288. package/dist/cli-serve-MLR4KAE2.js +0 -260
  289. package/dist/cli-serve-MQKBUZ7X.js +0 -140
  290. package/dist/cli-serve-N3OISDNB.js +0 -153
  291. package/dist/cli-serve-NBFT7B42.js +0 -140
  292. package/dist/cli-serve-RTWO3AWY.js +0 -140
  293. package/dist/cli-serve-SIHTSW5P.js +0 -140
  294. package/dist/cli-serve-SP6TEURE.js +0 -140
  295. package/dist/cli-serve-TDKZA6I5.js +0 -140
  296. package/dist/cli-serve-TF5ZVVXF.js +0 -140
  297. package/dist/cli-serve-TIZ27EVR.js +0 -153
  298. package/dist/cli-serve-TUNI2RCN.js +0 -153
  299. package/dist/cli-serve-WCU66CHX.js +0 -140
  300. package/dist/cli-serve-WNOZMAWD.js +0 -153
  301. package/dist/cli-serve-YCCKRRUY.js +0 -140
  302. package/dist/cli-serve-ZD5V7I6G.js +0 -140
  303. package/dist/cli-validate-6XDDLVVQ.js +0 -150
  304. package/dist/cli-verify-I4WGRQNT.js +0 -149
  305. package/dist/connection-manager-4ZA4XAFA.js +0 -9
  306. package/dist/db-adapter-IK2EDK2N.js +0 -7
  307. package/dist/db-adapter-IRHOUMVC.js +0 -7
  308. package/dist/dependency-manager-G6D2XXNY.js +0 -11
  309. package/dist/dependency-manager-OCUKF72T.js +0 -543
  310. package/dist/dependency-manager-YULUXN34.js +0 -511
  311. package/dist/factory-MQASIPEB.js +0 -11
  312. package/dist/google-W5AYGNUJ.js +0 -33
  313. package/dist/integrations-VWANOHQ4.js +0 -43830
  314. package/dist/local-O2FN57UN.js +0 -1128
  315. package/dist/local-S7SDOQHN.js +0 -1128
  316. package/dist/microsoft-HPLA5ZL5.js +0 -2414
  317. package/dist/microsoft-UFLZBEAC.js +0 -1619
  318. package/dist/microsoft-VREAZ7M2.js +0 -3955
  319. package/dist/microsoft-YUT6EIGP.js +0 -3400
  320. package/dist/postgres-BOTHOPDW.js +0 -875
  321. package/dist/routes-3MMLQTB6.js +0 -90
  322. package/dist/routes-4ZUIJ4HE.js +0 -90
  323. package/dist/routes-5MXHKKH4.js +0 -90
  324. package/dist/routes-64NJFK3B.js +0 -90
  325. package/dist/routes-6AKQ2LBV.js +0 -90
  326. package/dist/routes-CRRBUDO4.js +0 -90
  327. package/dist/routes-D7SMYOLT.js +0 -90
  328. package/dist/routes-DIAF3MC3.js +0 -90
  329. package/dist/routes-IGR6PZCA.js +0 -92
  330. package/dist/routes-KMUNU6CY.js +0 -90
  331. package/dist/routes-LRRLXIZR.js +0 -90
  332. package/dist/routes-N647AJYG.js +0 -90
  333. package/dist/routes-SSSELAAR.js +0 -90
  334. package/dist/routes-STERVGKJ.js +0 -90
  335. package/dist/routes-TZMPYLHJ.js +0 -90
  336. package/dist/routes-XNK2MAVO.js +0 -90
  337. package/dist/routes-ZEZZACZP.js +0 -90
  338. package/dist/runtime-4UVCTFNQ.js +0 -45
  339. package/dist/runtime-5EQN4GFM.js +0 -45
  340. package/dist/runtime-5LP7PUD4.js +0 -45
  341. package/dist/runtime-6YEENDN3.js +0 -45
  342. package/dist/runtime-7LQFRG3B.js +0 -45
  343. package/dist/runtime-AMXJU2MB.js +0 -45
  344. package/dist/runtime-D6WSE7FG.js +0 -45
  345. package/dist/runtime-EAWOE6JZ.js +0 -45
  346. package/dist/runtime-EYVN7NFJ.js +0 -45
  347. package/dist/runtime-F6RPWQVW.js +0 -45
  348. package/dist/runtime-FYMJURFC.js +0 -45
  349. package/dist/runtime-GGF4P55M.js +0 -45
  350. package/dist/runtime-H3SAMWWF.js +0 -45
  351. package/dist/runtime-H7T4I7I7.js +0 -45
  352. package/dist/runtime-HTIM7GZR.js +0 -45
  353. package/dist/runtime-JRNBL4O4.js +0 -45
  354. package/dist/runtime-K4C7NQLW.js +0 -45
  355. package/dist/runtime-MWWZCPC2.js +0 -45
  356. package/dist/runtime-N7CM2DYA.js +0 -45
  357. package/dist/runtime-OM2NIBMI.js +0 -45
  358. package/dist/runtime-OVGSOTAH.js +0 -45
  359. package/dist/runtime-QQ6LAY4U.js +0 -45
  360. package/dist/runtime-QWPVD7CY.js +0 -45
  361. package/dist/runtime-SX3B5MG3.js +0 -45
  362. package/dist/runtime-YLIIPTE4.js +0 -45
  363. package/dist/runtime-YU6P22CG.js +0 -45
  364. package/dist/runtime-ZOC337DD.js +0 -45
  365. package/dist/server-3AVWBRIF.js +0 -28
  366. package/dist/server-5BKJI5OW.js +0 -28
  367. package/dist/server-6NDO2S52.js +0 -28
  368. package/dist/server-7TD3M2BW.js +0 -28
  369. package/dist/server-AMCSXINC.js +0 -28
  370. package/dist/server-B3VJ6MSA.js +0 -28
  371. package/dist/server-BEJ6RAGL.js +0 -28
  372. package/dist/server-BFPYDHBG.js +0 -28
  373. package/dist/server-BKEWXGVX.js +0 -28
  374. package/dist/server-BMEJZGFG.js +0 -28
  375. package/dist/server-CU6LVQS4.js +0 -28
  376. package/dist/server-DFR7FI3Q.js +0 -28
  377. package/dist/server-DFYGH2CV.js +0 -28
  378. package/dist/server-DURRN3GJ.js +0 -28
  379. package/dist/server-EELWOC3X.js +0 -28
  380. package/dist/server-EN5E2OWQ.js +0 -28
  381. package/dist/server-EXZC3OJO.js +0 -28
  382. package/dist/server-GW2HYJYI.js +0 -28
  383. package/dist/server-J25NCRWJ.js +0 -28
  384. package/dist/server-JDGNOTFV.js +0 -28
  385. package/dist/server-KA6U3YNP.js +0 -28
  386. package/dist/server-L52A2ME4.js +0 -28
  387. package/dist/server-NE5HD5DJ.js +0 -28
  388. package/dist/server-NLQAXPOG.js +0 -28
  389. package/dist/server-NQOT7W77.js +0 -28
  390. package/dist/server-OHHAA34U.js +0 -28
  391. package/dist/server-PWE5PQTR.js +0 -28
  392. package/dist/server-Q2Q32H2B.js +0 -28
  393. package/dist/server-Q77ME7TL.js +0 -28
  394. package/dist/server-QDKO6OVO.js +0 -28
  395. package/dist/server-RR6QJIXM.js +0 -28
  396. package/dist/server-T3R6BO6A.js +0 -28
  397. package/dist/server-TRIBAHDV.js +0 -28
  398. package/dist/server-TXV3ZVVR.js +0 -28
  399. package/dist/server-VHSFJP3I.js +0 -28
  400. package/dist/server-VOJF2XGU.js +0 -28
  401. package/dist/server-W76YHPEC.js +0 -28
  402. package/dist/server-WLLH4WST.js +0 -28
  403. package/dist/server-WTUJ2O3F.js +0 -28
  404. package/dist/server-X4CJTHHF.js +0 -28
  405. package/dist/server-XK3ILCJC.js +0 -28
  406. package/dist/server-ZRD3NDJE.js +0 -28
  407. package/dist/setup-2JYXGTW6.js +0 -20
  408. package/dist/setup-3XOSZEW5.js +0 -20
  409. package/dist/setup-44VBAO4J.js +0 -20
  410. package/dist/setup-4OA7QNJW.js +0 -20
  411. package/dist/setup-4ONNQBWB.js +0 -20
  412. package/dist/setup-4OSBXSCL.js +0 -20
  413. package/dist/setup-4QFGRBLZ.js +0 -20
  414. package/dist/setup-52US54Z4.js +0 -20
  415. package/dist/setup-5CY3CKKT.js +0 -20
  416. package/dist/setup-5YRQUOW2.js +0 -20
  417. package/dist/setup-6766SGAR.js +0 -20
  418. package/dist/setup-6NUSB4XO.js +0 -20
  419. package/dist/setup-7FZJEOD4.js +0 -20
  420. package/dist/setup-7LYYXBUL.js +0 -20
  421. package/dist/setup-ADSKKBGV.js +0 -20
  422. package/dist/setup-AMV2WKVH.js +0 -20
  423. package/dist/setup-AYY24DKM.js +0 -20
  424. package/dist/setup-B34N4HPU.js +0 -20
  425. package/dist/setup-CEF4QY4L.js +0 -20
  426. package/dist/setup-E2YLC2EY.js +0 -20
  427. package/dist/setup-ER6NXTY5.js +0 -20
  428. package/dist/setup-FIOAQJ6C.js +0 -20
  429. package/dist/setup-G76S7X44.js +0 -20
  430. package/dist/setup-H2AGCBW5.js +0 -20
  431. package/dist/setup-H4JZUHH5.js +0 -20
  432. package/dist/setup-ICOZRKCX.js +0 -20
  433. package/dist/setup-JFTJH7UF.js +0 -20
  434. package/dist/setup-JJHOT2ZU.js +0 -20
  435. package/dist/setup-KEAM2BCL.js +0 -20
  436. package/dist/setup-LW4MLU2N.js +0 -20
  437. package/dist/setup-NHAZABW4.js +0 -20
  438. package/dist/setup-PRFNI6YW.js +0 -20
  439. package/dist/setup-RAHBMYHE.js +0 -20
  440. package/dist/setup-T6KYFR7O.js +0 -20
  441. package/dist/setup-TGM6L362.js +0 -20
  442. package/dist/setup-TNANAH7C.js +0 -20
  443. package/dist/setup-TXPR5UQX.js +0 -20
  444. package/dist/setup-UJSNSCLM.js +0 -20
  445. package/dist/setup-XCJMELVU.js +0 -20
  446. package/dist/setup-XIYEIFVK.js +0 -20
  447. package/dist/setup-XP2VGBEU.js +0 -20
  448. package/dist/setup-Z4PZSHBI.js +0 -20
  449. package/dist/skills-HCVBA6PK.js +0 -16
  450. package/dist/skills-HFSW74KZ.js +0 -16
  451. package/dist/system-prompts-6OUTAMH6.js +0 -41
  452. package/dist/task-queue-YP2I54IA.js +0 -9
  453. package/dist/transport-encryption-F2NQYACT.js +0 -25
  454. package/god_is_great.html +0 -35
  455. package/seed-data.mjs +0 -455
  456. package/src/agent-tools/tools/integrations/_seed-data.json +0 -4548
  457. package/src/agent-tools/tools/integrations/_seed-data.ts +0 -4563
package/src/deploy/fly.ts CHANGED
@@ -93,10 +93,10 @@ async function createApp(name: string, fly: FlyConfig): Promise<void> {
93
93
  /**
94
94
  * Set secrets (environment variables) on a Fly.io app.
95
95
  */
96
- async function setSecrets(
97
- appName: string,
98
- secrets: Record<string, string>,
99
- fly: FlyConfig,
96
+ async function _setSecrets(
97
+ _appName: string,
98
+ _secrets: Record<string, string>,
99
+ _fly: FlyConfig,
100
100
  ): Promise<void> {
101
101
  // Fly Machines API doesn't have a direct "set secrets" endpoint
102
102
  // like flyctl does. Secrets are passed as env vars in machine config.
@@ -6,7 +6,6 @@
6
6
  * Also generates Docker Compose and Fly.toml for self-hosted.
7
7
  */
8
8
 
9
- import { randomUUID } from 'crypto';
10
9
  import { deployToFly, type FlyConfig, type AppConfig } from './fly.js';
11
10
 
12
11
  export interface DeployConfig {
@@ -623,7 +623,7 @@ Check every ${config.heartbeat.intervalMinutes} minutes during active hours.
623
623
  `;
624
624
  }
625
625
 
626
- private generateTools(config: AgentConfig): string {
626
+ private generateTools(_config: AgentConfig): string {
627
627
  return `# TOOLS.md — Local Notes
628
628
 
629
629
  _Add environment-specific notes here (camera names, SSH hosts, etc.)_
@@ -182,7 +182,7 @@ function createUpcomingEventsCheck(): HeartbeatCheck {
182
182
  check: async (ctx: HeartbeatContext): Promise<HeartbeatCheckResult> => {
183
183
  try {
184
184
  // Check for calendar events in next 2 hours from agent_memory
185
- const twoHoursFromNow = new Date(ctx.now.getTime() + 2 * 60 * 60 * 1000).toISOString();
185
+ const _twoHoursFromNow = new Date(ctx.now.getTime() + 2 * 60 * 60 * 1000).toISOString();
186
186
  const rows = await ctx.db.query<any>(
187
187
  `SELECT content FROM agent_memory
188
188
  WHERE agent_id = $1
@@ -893,7 +893,7 @@ export class AgentHierarchyManager {
893
893
  * If 'email' or 'meeting', management context is minimal.
894
894
  * If 'task' or 'management', full context is included.
895
895
  */
896
- async buildManagerPrompt(agentId: string, sessionContext?: string): Promise<string | null> {
896
+ async buildManagerPrompt(agentId: string, _sessionContext?: string): Promise<string | null> {
897
897
  const hierarchy = await this.buildHierarchy();
898
898
  const node = hierarchy.get(agentId);
899
899
  if (!node) return null;
@@ -14,7 +14,7 @@
14
14
  */
15
15
 
16
16
  import type { EngineDatabase } from './db-adapter.js';
17
- import { MemorySearchIndex, tokenize } from '../lib/text-search.js';
17
+ import { MemorySearchIndex } from '../lib/text-search.js';
18
18
 
19
19
  function sj(v: string|null|undefined, fb: any = {}): any { if(!v) return fb; try { return JSON.parse(v); } catch { return fb; } }
20
20
  // ─── Types ──────────────────────────────────────────────
@@ -1730,7 +1730,7 @@ export function createAgentRoutes(opts: {
1730
1730
 
1731
1731
  // ── Create a realistic browser profile using agent identity ──
1732
1732
  const agentName = managed.displayName || managed.display_name || managed.name || (managed.config as any)?.displayName || (managed.config as any)?.name || 'Agent';
1733
- const agentRole = (managed.config as any)?.role || (managed.config as any)?.description || 'AI Assistant';
1733
+ const _agentRole = (managed.config as any)?.role || (managed.config as any)?.description || 'AI Assistant';
1734
1734
  const profileDir = join(homedir(), '.agenticmail', 'browser-profiles', agentId);
1735
1735
  mkdirSync(profileDir, { recursive: true });
1736
1736
 
@@ -1885,7 +1885,7 @@ export function createAgentRoutes(opts: {
1885
1885
  const data = await resp.json() as any;
1886
1886
  if (data.webSocketDebuggerUrl) {
1887
1887
  try {
1888
- const closeResp = await fetch(`http://127.0.0.1:${port}/json/close`, { method: 'PUT', signal: AbortSignal.timeout(3000) });
1888
+ const _closeResp = await fetch(`http://127.0.0.1:${port}/json/close`, { method: 'PUT', signal: AbortSignal.timeout(3000) });
1889
1889
  closed = true;
1890
1890
  } catch { /* fallback to kill */ }
1891
1891
  }
@@ -450,7 +450,7 @@ export class ChatPoller {
450
450
 
451
451
  let hadError = false;
452
452
 
453
- for (const [spaceId, space] of this.spaces) {
453
+ for (const [_spaceId, space] of this.spaces) {
454
454
  try {
455
455
  await this.pollSpace(token, space);
456
456
  } catch (err: any) {
@@ -10,7 +10,7 @@
10
10
 
11
11
  import type { EngineDatabase } from './db-adapter.js';
12
12
  import type { PermissionEngine, SkillDefinition } from './skills.js';
13
- import { validateSkillManifest, collectCommunityToolIds, VALID_CATEGORIES, type ManifestValidationResult as _MVR } from './skill-validator.js';
13
+ import { validateSkillManifest, VALID_CATEGORIES, type ManifestValidationResult as _MVR } from './skill-validator.js';
14
14
 
15
15
  // ─── Types ──────────────────────────────────────────────
16
16
 
@@ -133,7 +133,7 @@ export class CommunitySkillRegistry {
133
133
  // For simplicity, load installed for all orgs
134
134
  // (in production this would be per-org on request)
135
135
  try {
136
- const rows = await this.engineDb.getInstalledSkillsByOrg('*').catch(() => [] as any[]);
136
+ const _rows = await this.engineDb.getInstalledSkillsByOrg('*').catch(() => [] as any[]);
137
137
  // Actually load per-org when requested; for startup, just clear
138
138
  this.installed.clear();
139
139
  } catch {
@@ -21,7 +21,6 @@ import type { Organization, OrgPlan } from './tenant.js';
21
21
  import type { ApprovalRequest, ApprovalPolicy } from './approvals.js';
22
22
  import type { KnowledgeBase, KBDocument, KBChunk } from './knowledge.js';
23
23
  import type { ActivityEvent, ToolCallRecord, ConversationEntry } from './activity.js';
24
- import type { AgentConfig } from './agent-config.js';
25
24
  import {
26
25
  ENGINE_TABLES,
27
26
  MIGRATIONS,
@@ -10,8 +10,8 @@
10
10
  import type { AgentConfig, DeploymentTarget, DeploymentStatus } from './agent-config.js';
11
11
  import { AgentConfigGenerator } from './agent-config.js';
12
12
  import { execSync } from 'child_process';
13
- import { resolve, dirname } from 'path';
14
- import { existsSync, writeFileSync, readFileSync } from 'fs';
13
+ import { resolve } from 'path';
14
+ import { existsSync } from 'fs';
15
15
 
16
16
  /**
17
17
  * Derive PM2 process name from agent config.
@@ -126,7 +126,7 @@ function generateEcosystemConfig(config: AgentConfig): { script: string; args: s
126
126
  export class DeploymentEngine {
127
127
  private configGen = new AgentConfigGenerator();
128
128
  private deployments = new Map<string, DeploymentResult>();
129
- private liveStatus = new Map<string, LiveAgentStatus>();
129
+ private _liveStatus = new Map<string, LiveAgentStatus>();
130
130
 
131
131
  /**
132
132
  * Deploy an agent to its configured target
@@ -273,13 +273,13 @@ export class DeploymentEngine {
273
273
  */
274
274
  async updateConfig(config: AgentConfig): Promise<{ success: boolean; message: string }> {
275
275
  const workspace = this.configGen.generateWorkspace(config);
276
- const gatewayConfig = this.configGen.generateGatewayConfig(config);
276
+ const _gatewayConfig = this.configGen.generateGatewayConfig(config);
277
277
 
278
278
  switch (config.deployment.target) {
279
279
  case 'docker': {
280
280
  // Write config files into the container
281
281
  for (const [file, content] of Object.entries(workspace)) {
282
- const escaped = content.replace(/'/g, "'\\''");
282
+ const _escaped = content.replace(/'/g, "'\\''");
283
283
  await this.execCommand(`docker exec agenticmail-${config.name} sh -c 'echo "${Buffer.from(content).toString('base64')}" | base64 -d > /workspace/${file}'`);
284
284
  }
285
285
  // Restart gateway inside container
@@ -307,7 +307,7 @@ export class DeploymentEngine {
307
307
 
308
308
  // Generate docker-compose
309
309
  emit('provision', 'started', 'Generating Docker configuration...');
310
- const compose = this.configGen.generateDockerCompose(config);
310
+ const _compose = this.configGen.generateDockerCompose(config);
311
311
  emit('provision', 'completed', 'Docker Compose generated');
312
312
 
313
313
  // Generate workspace files
@@ -897,7 +897,7 @@ export class DeploymentEngine {
897
897
  }
898
898
  }
899
899
 
900
- private generateDockerfile(config: AgentConfig): string {
900
+ private _generateDockerfile(config: AgentConfig): string {
901
901
  return `FROM node:22-slim
902
902
 
903
903
  WORKDIR /app
@@ -947,7 +947,7 @@ CMD ["agenticmail-enterprise", "start"]
947
947
  return this.execCommand(`ssh ${sshArgs}`);
948
948
  }
949
949
 
950
- private async writeFile(path: string, content: string): Promise<void> {
950
+ private async _writeFile(path: string, content: string): Promise<void> {
951
951
  const { writeFile } = await import('fs/promises');
952
952
  const { dirname } = await import('path');
953
953
  const { mkdir } = await import('fs/promises');
@@ -258,7 +258,7 @@ export class EmailPoller {
258
258
 
259
259
  private async connectMailbox(mailbox: AgentMailbox): Promise<void> {
260
260
  // Refresh token
261
- const token = await this.refreshToken(mailbox);
261
+ const _token = await this.refreshToken(mailbox);
262
262
 
263
263
  // Get profile + historyId
264
264
  const profile = await this.gmailFetch(mailbox, '/profile');
@@ -425,7 +425,7 @@ export class KnowledgeContributionManager {
425
425
  contributors.add(entry.sourceAgentId);
426
426
  }
427
427
 
428
- private indexEntryRemove(entry: KnowledgeEntry): void {
428
+ private _indexEntryRemove(entry: KnowledgeEntry): void {
429
429
  const baseSet = this.baseEntryIndex.get(entry.baseId);
430
430
  if (baseSet) { baseSet.delete(entry.id); if (baseSet.size === 0) this.baseEntryIndex.delete(entry.baseId); }
431
431
 
@@ -16,7 +16,6 @@ import type {
16
16
  } from './types.js';
17
17
  import { chunkDocument } from './chunker.js';
18
18
  import { processDocument } from './processors/pipeline.js';
19
- import type { ProcessedDocument } from './processors/types.js';
20
19
  import { GitHubImportProvider } from './provider-github.js';
21
20
  import { SharePointImportProvider } from './provider-sharepoint.js';
22
21
  import { GoogleSitesImportProvider } from './provider-google-sites.js';
@@ -35,8 +34,8 @@ const PROVIDERS: Record<ImportSourceType, ImportProvider> = {
35
34
  'google-sites': new GoogleSitesImportProvider(),
36
35
  'url': new UrlImportProvider(),
37
36
  'file-upload': new FileUploadImportProvider(),
38
- 'confluence': new UrlImportProvider(), // TODO: dedicated Confluence provider
39
- 'notion': new UrlImportProvider(), // TODO: dedicated Notion provider
37
+ 'confluence': new UrlImportProvider(), // Uses URL-based import; add dedicated API provider when Confluence OAuth is supported
38
+ 'notion': new UrlImportProvider(), // Uses URL-based import; add dedicated API provider when Notion OAuth is supported
40
39
  };
41
40
 
42
41
  // ─── Source Catalog ──────────────────────────────────
@@ -11,7 +11,7 @@ import type { ContentExtractor, ExtractResult } from './types.js';
11
11
  export class GitHubContentExtractor implements ContentExtractor {
12
12
  extract(raw: string, sourceUrl?: string): ExtractResult {
13
13
  let content = raw;
14
- const isReadme = sourceUrl?.toLowerCase().includes('readme') || false;
14
+ const _isReadme = sourceUrl?.toLowerCase().includes('readme') || false;
15
15
 
16
16
  // Remove GitHub badge images at top of README
17
17
  content = content.replace(/^\s*(\[!\[[^\]]*\]\([^)]*\)\]\([^)]*\)\s*)+/gm, '');
@@ -9,7 +9,7 @@
9
9
  import type { ContentExtractor, ExtractResult } from './types.js';
10
10
 
11
11
  export class SharePointContentExtractor implements ContentExtractor {
12
- extract(raw: string, sourceUrl?: string): ExtractResult {
12
+ extract(raw: string, _sourceUrl?: string): ExtractResult {
13
13
  let content = raw;
14
14
 
15
15
  // If HTML (SharePoint page or Word export)
@@ -21,7 +21,7 @@ const MIN_SENTENCE_COUNT = 2;
21
21
  const MAX_DUPLICATE_RATIO = 0.4;
22
22
  const MIN_QUALITY_SCORE = 30; // out of 100
23
23
 
24
- export function validateContent(content: string, title?: string): QualityReport {
24
+ export function validateContent(content: string, _title?: string): QualityReport {
25
25
  const checks: QualityCheck[] = [];
26
26
  const warnings: string[] = [];
27
27
 
@@ -188,7 +188,7 @@ export class AgentLifecycleManager {
188
188
  /** When true, this lifecycle runs on a standalone agent machine (not the enterprise server).
189
189
  * In standalone mode, persistAgent reloads dashboard-managed fields from DB before saving. */
190
190
  public standaloneMode = false;
191
- private configGen = new AgentConfigGenerator();
191
+ private _configGen = new AgentConfigGenerator();
192
192
  private permissions: PermissionEngine;
193
193
  private engineDb?: EngineDatabase;
194
194
  private eventListeners: ((event: LifecycleEvent) => void)[] = [];
@@ -52,8 +52,8 @@ export class MeetingMonitor {
52
52
  private sendChatIndicator?: (page: Page, text: string) => Promise<void>;
53
53
  private flushTimer: ReturnType<typeof setInterval> | null = null;
54
54
  private running = false;
55
- private lastCaptionCount = 0;
56
- private lastChatCount = 0;
55
+ private _lastCaptionCount = 0;
56
+ private _lastChatCount = 0;
57
57
  private consecutiveEmpty = 0;
58
58
  private consecutiveSendFailures = 0;
59
59
  /** Pending captions accumulated across flush cycles (for debouncing) */
@@ -21,7 +21,7 @@ import { promises as fs } from 'node:fs';
21
21
  import * as path from 'node:path';
22
22
  import * as os from 'node:os';
23
23
 
24
- const ELEVENLABS_BASE = 'https://api.elevenlabs.io/v1';
24
+ const _ELEVENLABS_BASE = 'https://api.elevenlabs.io/v1';
25
25
 
26
26
  // ═══════════════════════════════════════════════════════════
27
27
  // GLOBAL RESPONSE PLAYER KILL
@@ -221,7 +221,7 @@ export class MeetingVoiceIntelligence {
221
221
  // ─── Speech State (called by meeting_speak tool) ────────
222
222
 
223
223
  /** Call BEFORE streaming TTS response audio */
224
- markSpeaking(text: string): void {
224
+ markSpeaking(_text: string): void {
225
225
  this._state = 'speaking';
226
226
  }
227
227
 
@@ -306,7 +306,7 @@ export class MeetingVoiceIntelligence {
306
306
  hasPendingResume() { return false; }
307
307
  async executeResume() { return { success: false, text: '' }; }
308
308
  cancelResume() {}
309
- markDoneSpeaking_legacy(completed: boolean) { this.markDoneSpeaking(); }
309
+ markDoneSpeaking_legacy(_completed: boolean) { this.markDoneSpeaking(); }
310
310
 
311
311
  // Legacy — decisionEngine stub
312
312
  get decisionEngine() {
@@ -408,7 +408,7 @@ export class MessagingPoller {
408
408
  }
409
409
  }
410
410
 
411
- private async downloadTelegramMedia(agent: AgentEndpoint, fileId: string, mediaType: string, fileName?: string, mimeType?: string): Promise<{ localPath: string } | null> {
411
+ private async downloadTelegramMedia(agent: AgentEndpoint, fileId: string, mediaType: string, fileName?: string, _mimeType?: string): Promise<{ localPath: string } | null> {
412
412
  try {
413
413
  var channelConfig = this.config.getAgentChannelConfig(agent.id);
414
414
  var botToken = channelConfig?.telegram?.botToken;
@@ -647,7 +647,7 @@ export class MessagingPoller {
647
647
 
648
648
  // ─── Security Wrapping ────────────────────────────
649
649
 
650
- private wrapCustomerMessage(text: string, senderName: string, config: any): string {
650
+ private wrapCustomerMessage(text: string, senderName: string, _config: any): string {
651
651
  return [
652
652
  '<<<CUSTOMER_MESSAGE>>>',
653
653
  'SECURITY NOTICE: This message is from a CUSTOMER (external, untrusted sender).',
@@ -185,7 +185,7 @@ export function createOrgIntegrationRoutes(manager: OrgIntegrationManager) {
185
185
  // ─── Resolve credentials for an agent ─────────────────
186
186
  router.get('/resolve/:agentId', async (c) => {
187
187
  try {
188
- const agentId = c.req.param('agentId');
188
+ const _agentId = c.req.param('agentId');
189
189
  const provider = c.req.query('provider') || 'google';
190
190
  const orgId = c.req.query('orgId') || null;
191
191
 
@@ -288,7 +288,7 @@ export function createOrgIntegrationRoutes(manager: OrgIntegrationManager) {
288
288
  });
289
289
 
290
290
  if (!tokenRes.ok) {
291
- const err = await tokenRes.text();
291
+ const _err = await tokenRes.text();
292
292
  return c.html(`<script>window.opener?.postMessage({type:'org-oauth-result',status:'error',message:'Token exchange failed: ${tokenRes.status}'},'*');window.close();</script>`);
293
293
  }
294
294
 
@@ -427,7 +427,7 @@ export class OrgIntegrationManager {
427
427
  * Used by Google Workspace and Microsoft tools at runtime.
428
428
  */
429
429
  async createTokenProviderForAgent(
430
- agentId: string,
430
+ _agentId: string,
431
431
  agentOrgId: string | null,
432
432
  provider: 'google' | 'microsoft',
433
433
  onTokenRefresh?: (tokens: any) => void
@@ -434,7 +434,7 @@ engine.post('/cluster/deploy-via-ssh', async (c) => {
434
434
 
435
435
  // Run async — don't block the request
436
436
  const { exec } = await import('child_process');
437
- exec(sshCmd, { timeout: 120_000 }, (err, stdout, stderr) => {
437
+ exec(sshCmd, { timeout: 120_000 }, (err, stdout, _stderr) => {
438
438
  if (err) {
439
439
  console.warn(`[cluster] SSH deploy to ${body.host} failed:`, err.message);
440
440
  } else if (stdout.includes('DEPLOY_SUCCESS')) {
@@ -468,7 +468,7 @@ engine.get('/cluster/stream', (c) => {
468
468
  const send = (d: string) => { try { controller.enqueue(encoder.encode(`data: ${d}\n\n`)); } catch { unsub(); } };
469
469
  // Send current state
470
470
  for (const n of cluster.getAllNodes()) send(JSON.stringify({ type: 'node', event: 'snapshot', ...n }));
471
- const unsub = cluster.subscribe((nodeId, node, event) => send(JSON.stringify({ type: 'node', event, ...node })));
471
+ const unsub = cluster.subscribe((_nodeId, node, event) => send(JSON.stringify({ type: 'node', event, ...node })));
472
472
  const hb = setInterval(() => send(JSON.stringify({ type: 'heartbeat' })), 30_000);
473
473
  c.req.raw.signal.addEventListener('abort', () => { unsub(); clearInterval(hb); });
474
474
  },
@@ -575,7 +575,7 @@ export class PermissionEngine {
575
575
  return this._checkApproval(profile, toolId, tool);
576
576
  }
577
577
 
578
- private _checkApproval(profile: AgentPermissionProfile, toolId: string, tool?: ToolDefinition): PermissionResult {
578
+ private _checkApproval(profile: AgentPermissionProfile, _toolId: string, tool?: ToolDefinition): PermissionResult {
579
579
  if (!profile.requireApproval.enabled) {
580
580
  return { allowed: true, reason: 'Permitted', requiresApproval: false };
581
581
  }
@@ -11,7 +11,7 @@
11
11
  */
12
12
 
13
13
  import type { ToolDefinition, SkillCategory, RiskLevel, SideEffect } from './skills.js';
14
- import { M365_TOOLS as M365_SKILL_TOOLS, GWS_TOOLS as GWS_SKILL_TOOLS, ENTERPRISE_UTILITY_TOOLS, AGENTICMAIL_TOOLS as AGENTICMAIL_SKILL_TOOLS, SYSTEM_TOOLS } from './skills/index.js';
14
+ import { M365_TOOLS as M365_SKILL_TOOLS, GWS_TOOLS as GWS_SKILL_TOOLS, ENTERPRISE_UTILITY_TOOLS, AGENTICMAIL_TOOLS as _AGENTICMAIL_SKILL_TOOLS, SYSTEM_TOOLS } from './skills/index.js';
15
15
 
16
16
  // ─── Core Platform Tools ────────────────────────────────
17
17
 
@@ -7,7 +7,7 @@ import { Hono } from 'hono';
7
7
  import type { SecureVault } from './vault.js';
8
8
  import type { DLPEngine } from './dlp.js';
9
9
 
10
- export function createVaultRoutes(vault: SecureVault, dlp?: DLPEngine) {
10
+ export function createVaultRoutes(vault: SecureVault, _dlp?: DLPEngine) {
11
11
  const router = new Hono();
12
12
 
13
13
  // ─── Secrets CRUD ────────────────────────────────────
@@ -8,7 +8,7 @@
8
8
  * Master key from AGENTICMAIL_VAULT_KEY env var.
9
9
  */
10
10
 
11
- import { createHash, randomBytes, createCipheriv, createDecipheriv, pbkdf2Sync } from 'crypto';
11
+ import { randomBytes, createCipheriv, createDecipheriv, pbkdf2Sync } from 'crypto';
12
12
  import type { EngineDatabase } from './db-adapter.js';
13
13
 
14
14
  function safeJsonParse(val: string | null | undefined, fallback: any = {}): any {
@@ -33,7 +33,7 @@ function formatWorker(worker: any): string {
33
33
  ? [person.legalName.givenName, person.legalName.familyName1].filter(Boolean).join(' ')
34
34
  : '(no name)';
35
35
  const email = person.communication?.emails?.[0]?.emailUri || '(no email)';
36
- const assignment = worker.workerDates ? '' : '';
36
+ const _assignment = worker.workerDates ? '' : '';
37
37
  const status = worker.workerStatus?.statusCode?.codeValue || 'N/A';
38
38
  const id = worker.workerID?.idValue || worker.associateOID || 'N/A';
39
39
  return `${name} <${email}> -- Status: ${status} (ID: ${id})`;
@@ -333,7 +333,7 @@ const blockUser: ToolHandler = {
333
333
  const baseUrl = auth0Url(ctx);
334
334
  const blocked = params.blocked !== false;
335
335
 
336
- const result = await ctx.apiExecutor.request({
336
+ const _result = await ctx.apiExecutor.request({
337
337
  method: 'PATCH',
338
338
  path: undefined,
339
339
  url: `${baseUrl}/users/${encodeURIComponent(params.user_id)}`,
@@ -64,7 +64,7 @@ const listTasks: ToolHandler = {
64
64
  };
65
65
  if (params.include_closed) query.include_closed = 'true';
66
66
  if (params.statuses?.length) {
67
- params.statuses.forEach((s: string, i: number) => {
67
+ params.statuses.forEach((s: string, _i: number) => {
68
68
  query[`statuses[]`] = s; // ClickUp expects repeated params
69
69
  });
70
70
  }
@@ -32,7 +32,7 @@ function formatLead(lead: any): string {
32
32
  const status = lead.status_label || 'unknown';
33
33
  const contacts = lead.contacts?.length || 0;
34
34
  const created = lead.date_created ? lead.date_created.slice(0, 16) : '';
35
- const url = lead.url || '';
35
+ const _url = lead.url || '';
36
36
  return `${name} -- ${status} -- ${contacts} contact(s) -- ${created} (ID: ${lead.id})`;
37
37
  }
38
38
 
@@ -292,7 +292,7 @@ const updateDocument: ToolHandler = {
292
292
  }
293
293
  }
294
294
 
295
- const queryParts = updateMaskPaths.map(p => `updateMask.fieldPaths=${encodeURIComponent(p)}`);
295
+ const _queryParts = updateMaskPaths.map(p => `updateMask.fieldPaths=${encodeURIComponent(p)}`);
296
296
  const query: Record<string, string> = {};
297
297
  for (const path of updateMaskPaths) {
298
298
  query[`updateMask.fieldPaths`] = path;
@@ -78,7 +78,7 @@ function formatMicros(micros: string | number | undefined, currency?: string): s
78
78
  }
79
79
 
80
80
  /** Extract resource ID from a Google Ads resource name like "customers/123/campaigns/456". */
81
- function extractResourceId(resourceName: string | undefined): string {
81
+ function _extractResourceId(resourceName: string | undefined): string {
82
82
  if (!resourceName) return 'unknown';
83
83
  const parts = resourceName.split('/');
84
84
  return parts[parts.length - 1] ?? 'unknown';
@@ -32,7 +32,7 @@ function k8sError(err: unknown): ToolResult {
32
32
  if (err instanceof Error) {
33
33
  const data = (err as any).data;
34
34
  if (data && typeof data === 'object') {
35
- const status = data.status || '';
35
+ const _status = data.status || '';
36
36
  const message = data.message || '';
37
37
  const reason = data.reason || '';
38
38
  const code = data.code || '';
@@ -159,7 +159,7 @@ const mixpanelGetFunnels: ToolHandler = {
159
159
 
160
160
  const data = await ctx.apiExecutor.get('/funnels', query);
161
161
 
162
- const meta = data.meta ?? {};
162
+ const _meta = data.meta ?? {};
163
163
  const funnelData = data.data ?? {};
164
164
  const dates = Object.keys(funnelData).sort();
165
165
 
@@ -304,7 +304,7 @@ const recurlyGetAccount: ToolHandler = {
304
304
  const email = acct.email ?? 'N/A';
305
305
  const state = acct.state ?? 'unknown';
306
306
  const created = formatDate(acct.created_at);
307
- const balance = formatAmount(acct.hosted_login_token ? undefined : 0, acct.bill_to ?? 'USD');
307
+ const _balance = formatAmount(acct.hosted_login_token ? undefined : 0, acct.bill_to ?? 'USD');
308
308
 
309
309
  const addr = acct.address ?? {};
310
310
  const addressStr = [addr.street1, addr.street2, addr.city, addr.region, addr.postal_code, addr.country]
@@ -19,7 +19,7 @@ function sapBaseUrl(ctx: ToolExecutionContext): string {
19
19
  if (!host) {
20
20
  throw new Error('SAP host is required in skillConfig (e.g. { host: "mycompany.s4hana.ondemand.com" })');
21
21
  }
22
- const client = ctx.skillConfig.client || '100';
22
+ const _client = ctx.skillConfig.client || '100';
23
23
  return `https://${host}/sap/opu/odata/sap`;
24
24
  }
25
25
 
@@ -45,7 +45,7 @@ function sapError(err: unknown): ToolResult {
45
45
  }
46
46
 
47
47
  /** Format an SAP OData entity for display */
48
- function formatEntity(entity: any, fields: string[]): string {
48
+ function _formatEntity(entity: any, fields: string[]): string {
49
49
  return fields
50
50
  .map(f => `${f}: ${entity[f] ?? 'N/A'}`)
51
51
  .filter(Boolean)
@@ -164,7 +164,7 @@ const searchStories: ToolHandler = {
164
164
 
165
165
  async execute(params: Record<string, any>, ctx: ToolExecutionContext): Promise<ToolResult> {
166
166
  try {
167
- const body: Record<string, any> = {
167
+ const _body: Record<string, any> = {
168
168
  query: params.query,
169
169
  page_size: params.page_size ?? 25,
170
170
  };
@@ -132,7 +132,7 @@ const executeQuery: ToolHandler = {
132
132
  });
133
133
 
134
134
  const statementHandle = result.statementHandle || '';
135
- const status = result.statementStatusUrl || '';
135
+ const _status = result.statementStatusUrl || '';
136
136
  const rowCount = result.resultSetMetaData?.numRows ?? result.data?.length ?? 0;
137
137
 
138
138
  const formatted = formatResultSet(result);
@@ -32,7 +32,7 @@ function formatAmount(amountCents: number | undefined, currency: string | undefi
32
32
  }
33
33
 
34
34
  /** Format a Unix timestamp into a readable date. */
35
- function fromUnix(ts: number | undefined): string {
35
+ function _fromUnix(ts: number | undefined): string {
36
36
  if (!ts) return 'unknown';
37
37
  return new Date(ts * 1000).toLocaleString('en-US', {
38
38
  month: 'short',
@@ -328,7 +328,7 @@ export const supabaseAdapter: SkillAdapter = {
328
328
  placeholder: 'abcdefghijklmnop',
329
329
  },
330
330
  },
331
- async initialize(credentials: ResolvedCredentials) {
331
+ async initialize(_credentials: ResolvedCredentials) {
332
332
  // Dynamic base URL will be set by the framework using projectRef from config
333
333
  },
334
334
  };
@@ -254,7 +254,7 @@ const zuoraListAccounts: ToolHandler = {
254
254
  additionalProperties: false,
255
255
  },
256
256
 
257
- async execute(params, ctx): Promise<ToolResult> {
257
+ async execute(_params, ctx): Promise<ToolResult> {
258
258
  try {
259
259
  const base = zuoraBaseUrl(ctx);
260
260
 
@@ -43,7 +43,7 @@ export function requestBodyLimit(): MiddlewareHandler {
43
43
  * Reads timeout from firewallConfig.network.requestTimeoutSec.
44
44
  */
45
45
  export function requestTimeout(): MiddlewareHandler {
46
- return async (c, next) => {
46
+ return async (_c, next) => {
47
47
  const config = await getNetworkConfig();
48
48
  const timeoutSec = config.network?.requestTimeoutSec || DEFAULT_TIMEOUT_SEC;
49
49
 
@@ -14,7 +14,7 @@
14
14
  import type { AgentConfig, AgentMessage, RuntimeHooks, SessionState, StreamEvent, ToolCall } from './types.js';
15
15
  import { callLLM, toolsToDefinitions, estimateMessageTokens, type LLMResponse } from './llm-client.js';
16
16
  import { ToolRegistry, executeTool } from './tool-executor.js';
17
- import { compactContext, needsCompaction, COMPACTION_THRESHOLD } from './compaction.js';
17
+ import { compactContext, COMPACTION_THRESHOLD } from './compaction.js';
18
18
  import { buildModelChain, withModelFallback, type ModelFallbackConfig } from '../engine/model-fallback.js';
19
19
 
20
20
  // ─── Constants ───────────────────────────────────────────
@@ -709,8 +709,8 @@ var FALLBACK_PRICES: Record<string, { input: number; output: number }> = {
709
709
  };
710
710
 
711
711
  // In-memory cache for DB pricing (refreshed every 5 min)
712
- var pricingCache: { data: Record<string, { input: number; output: number }>; expiresAt: number } | null = null;
713
- var PRICING_CACHE_TTL = 5 * 60_000;
712
+ var _pricingCache: { data: Record<string, { input: number; output: number }>; expiresAt: number } | null = null;
713
+ var _PRICING_CACHE_TTL = 5 * 60_000;
714
714
 
715
715
  async function estimateCostAsync(
716
716
  hooks: import('./types.js').RuntimeHooks,
@@ -439,7 +439,7 @@ function buildTranscript(previousSummaries: MessageGroup[], groups: MessageGroup
439
439
 
440
440
  // Build transcript from groups (in original order — re-sort by position)
441
441
  // Groups are sorted by importance, but transcript needs chronological order
442
- const chronoGroups = [...groups];
442
+ const _chronoGroups = [...groups];
443
443
  // We don't have explicit position, but original array order is chronological
444
444
  // Since we only sorted a copy, use the original `groups` order...
445
445
  // Actually, groups come from groupMessages which is already chronological.
@@ -492,7 +492,7 @@ async function llmSummarize(
492
492
  transcript: string,
493
493
  config: AgentConfig,
494
494
  apiKey: string,
495
- tokenBudget: number,
495
+ _tokenBudget: number,
496
496
  ): Promise<LLMSummaryResult> {
497
497
  // If transcript fits in one chunk, do single call
498
498
  if (transcript.length <= CHUNK_MAX_CHARS) {