@agenticmail/enterprise 0.5.324 → 0.5.326

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 (449) 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-CQYLRIQ3.js → chunk-DWHJYAV6.js} +143 -26
  7. package/dist/{chunk-HKCKMCPY.js → chunk-G4YSECQ4.js} +2 -2
  8. package/dist/{chunk-DM7FTF7W.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-USMKX7WN.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/docs/cluster.html +285 -0
  23. package/dist/dashboard/pages/cluster.js +400 -69
  24. package/dist/{deployer-3YK4RPUL.js → deployer-7NG7LCJW.js} +1 -1
  25. package/dist/{factory-JFWXTAWK.js → factory-4V2W4BSV.js} +1 -1
  26. package/dist/index.js +9 -9
  27. package/dist/{integrations-TF4EBCJ7.js → integrations-V2WXFDIV.js} +13 -13
  28. package/dist/{local-6MLIZDKO.js → local-OXFH4V7E.js} +2 -2
  29. package/dist/{meeting-voice-intelligence-CJLR52YV.js → meeting-voice-intelligence-RZZCAD6G.js} +2 -2
  30. package/dist/{meetings-FJ453ENF.js → meetings-SQNTB6GD.js} +1 -1
  31. package/dist/{microsoft-2IIHDLJB.js → microsoft-2PDVV6HX.js} +3 -3
  32. package/dist/{postgres-WGUVC2S7.js → postgres-USXBPTHX.js} +2 -2
  33. package/dist/{pw-ai-IBEF6HBF.js → pw-ai-NK5GKBDG.js} +1 -1
  34. package/dist/{routes-XYR2RNEC.js → routes-T3CDAQTD.js} +4 -4
  35. package/dist/{runtime-6BULDBR3.js → runtime-X4BTVICL.js} +1 -1
  36. package/dist/{server-7NT4LMSQ.js → server-WQ6LLYGB.js} +5 -5
  37. package/dist/{setup-2JBXMUDS.js → setup-6DRKSOMH.js} +2 -2
  38. package/dist/{skills-FR7I5V7H.js → skills-EL4RTJKK.js} +1 -1
  39. package/logs/cloudflared-error.log +14 -0
  40. package/logs/enterprise-out.log +2 -0
  41. package/package.json +1 -1
  42. package/src/admin/routes.ts +1 -1
  43. package/src/agent-tools/tool-resolver.ts +1 -1
  44. package/src/agent-tools/tools/agenticmail.ts +2 -2
  45. package/src/agent-tools/tools/browser.ts +1 -1
  46. package/src/agent-tools/tools/enterprise-code-sandbox.ts +1 -1
  47. package/src/agent-tools/tools/enterprise-diff.ts +1 -1
  48. package/src/agent-tools/tools/enterprise-http.ts +1 -3
  49. package/src/agent-tools/tools/enterprise-security-scan.ts +1 -1
  50. package/src/agent-tools/tools/google/forms.ts +2 -2
  51. package/src/agent-tools/tools/google/gmail.ts +1 -1
  52. package/src/agent-tools/tools/google/maps.ts +2 -2
  53. package/src/agent-tools/tools/google/meeting-voice.ts +1 -1
  54. package/src/agent-tools/tools/google/meetings.ts +1 -1
  55. package/src/agent-tools/tools/google/slides.ts +2 -2
  56. package/src/agent-tools/tools/grep.ts +1 -1
  57. package/src/agent-tools/tools/knowledge-search.ts +1 -1
  58. package/src/agent-tools/tools/local/coding.ts +5 -5
  59. package/src/agent-tools/tools/microsoft/excel-vba.ts +1 -1
  60. package/src/agent-tools/tools/microsoft/excel.ts +1 -1
  61. package/src/agent-tools/tools/microsoft/powerpoint.ts +1 -1
  62. package/src/agent-tools/tools/visual-memory/index.ts +11 -11
  63. package/src/agent-tools/tools/visual-memory/similarity.ts +2 -2
  64. package/src/agent-tools/tools/visual-memory/storage.ts +1 -1
  65. package/src/agenticmail/providers/imap.ts +2 -2
  66. package/src/browser/enterprise-compat.ts +1 -1
  67. package/src/cli-agent.ts +3 -3
  68. package/src/cli-serve.ts +1 -1
  69. package/src/dashboard/docs/cluster.html +285 -0
  70. package/src/dashboard/pages/cluster.js +400 -69
  71. package/src/database-access/connection-manager.ts +6 -6
  72. package/src/database-access/routes.ts +0 -1
  73. package/src/db/dynamodb.ts +1 -1
  74. package/src/db/postgres.ts +2 -2
  75. package/src/deploy/fly.ts +4 -4
  76. package/src/deploy/managed.ts +0 -1
  77. package/src/engine/agent-config.ts +1 -1
  78. package/src/engine/agent-heartbeat.ts +1 -1
  79. package/src/engine/agent-hierarchy.ts +1 -1
  80. package/src/engine/agent-memory.ts +1 -1
  81. package/src/engine/agent-routes.ts +2 -2
  82. package/src/engine/chat-poller.ts +1 -1
  83. package/src/engine/cluster.ts +14 -1
  84. package/src/engine/community-registry.ts +2 -2
  85. package/src/engine/db-adapter.ts +0 -1
  86. package/src/engine/deployer.ts +8 -8
  87. package/src/engine/email-poller.ts +1 -1
  88. package/src/engine/knowledge-contribution.ts +1 -1
  89. package/src/engine/knowledge-import/import-manager.ts +2 -3
  90. package/src/engine/knowledge-import/processors/extract-github.ts +1 -1
  91. package/src/engine/knowledge-import/processors/extract-sharepoint.ts +1 -1
  92. package/src/engine/knowledge-import/processors/validate.ts +1 -1
  93. package/src/engine/lifecycle.ts +1 -1
  94. package/src/engine/meeting-monitor.ts +2 -2
  95. package/src/engine/meeting-voice-intelligence.ts +3 -3
  96. package/src/engine/messaging-poller.ts +2 -2
  97. package/src/engine/org-integration-routes.ts +2 -2
  98. package/src/engine/org-integrations.ts +1 -1
  99. package/src/engine/routes.ts +119 -1
  100. package/src/engine/skills.ts +1 -1
  101. package/src/engine/tool-catalog.ts +1 -1
  102. package/src/engine/vault-routes.ts +1 -1
  103. package/src/engine/vault.ts +1 -1
  104. package/src/mcp/adapters/adp.adapter.ts +1 -1
  105. package/src/mcp/adapters/auth0.adapter.ts +1 -1
  106. package/src/mcp/adapters/clickup.adapter.ts +1 -1
  107. package/src/mcp/adapters/close.adapter.ts +1 -1
  108. package/src/mcp/adapters/firebase.adapter.ts +1 -1
  109. package/src/mcp/adapters/google-ads.adapter.ts +1 -1
  110. package/src/mcp/adapters/kubernetes.adapter.ts +1 -1
  111. package/src/mcp/adapters/mixpanel.adapter.ts +1 -1
  112. package/src/mcp/adapters/recurly.adapter.ts +1 -1
  113. package/src/mcp/adapters/sap.adapter.ts +2 -2
  114. package/src/mcp/adapters/shortcut.adapter.ts +1 -1
  115. package/src/mcp/adapters/snowflake.adapter.ts +1 -1
  116. package/src/mcp/adapters/stripe.adapter.ts +1 -1
  117. package/src/mcp/adapters/supabase.adapter.ts +1 -1
  118. package/src/mcp/adapters/zuora.adapter.ts +1 -1
  119. package/src/middleware/request-limits.ts +1 -1
  120. package/src/runtime/agent-loop.ts +3 -3
  121. package/src/runtime/compaction.ts +2 -2
  122. package/src/runtime/followup.ts +1 -1
  123. package/src/runtime/hooks.ts +3 -3
  124. package/src/runtime/index.ts +5 -6
  125. package/src/runtime/llm-client.ts +1 -1
  126. package/src/runtime/subagent.ts +0 -1
  127. package/src/runtime/types.ts +2 -0
  128. package/src/security/brute-force.ts +1 -1
  129. package/src/security/csp.ts +1 -1
  130. package/src/security/index.ts +3 -3
  131. package/src/security/input-sanitizer.ts +1 -1
  132. package/src/security/threat-logger.ts +2 -2
  133. package/src/server.ts +2 -2
  134. package/src/setup/database.ts +1 -1
  135. package/src/setup/index.ts +1 -2
  136. package/src/setup/provision.ts +1 -1
  137. package/dist/_seed-data-FQR5PY2W.js +0 -4554
  138. package/dist/agent-heartbeat-3FWNHZFX.js +0 -510
  139. package/dist/agent-heartbeat-4RWHZR7H.js +0 -510
  140. package/dist/agent-heartbeat-6ZGB5ILY.js +0 -510
  141. package/dist/agent-heartbeat-BBINFNL4.js +0 -510
  142. package/dist/agent-heartbeat-BIVHLKFM.js +0 -510
  143. package/dist/agent-heartbeat-HGVIAHS5.js +0 -510
  144. package/dist/agent-heartbeat-HRKVFK2T.js +0 -510
  145. package/dist/agent-heartbeat-JC5GWVXD.js +0 -510
  146. package/dist/agent-heartbeat-K6A4HMHB.js +0 -510
  147. package/dist/agent-heartbeat-LCDXWFVB.js +0 -510
  148. package/dist/agent-heartbeat-P7HZCZAQ.js +0 -510
  149. package/dist/agent-heartbeat-PUIRSNIO.js +0 -510
  150. package/dist/agent-heartbeat-SN5ILQ6Y.js +0 -510
  151. package/dist/agent-heartbeat-TW5YTDYC.js +0 -510
  152. package/dist/agent-heartbeat-YCSWP54H.js +0 -510
  153. package/dist/agent-heartbeat-Z2QQXROL.js +0 -510
  154. package/dist/agent-tools-3W7XLUYA.js +0 -13949
  155. package/dist/agent-tools-54VZGT6L.js +0 -9
  156. package/dist/agent-tools-AYYDPO27.js +0 -13949
  157. package/dist/agent-tools-F2X47FKF.js +0 -13949
  158. package/dist/agent-tools-O6W3QAZL.js +0 -13949
  159. package/dist/agent-tools-OAWVZBMW.js +0 -9
  160. package/dist/agent-tools-QCCU74PN.js +0 -13949
  161. package/dist/agent-tools-QGE26U6R.js +0 -9
  162. package/dist/chunk-2LHUARN6.js +0 -4929
  163. package/dist/chunk-2WVCNCYC.js +0 -5087
  164. package/dist/chunk-3FM6YQUK.js +0 -5087
  165. package/dist/chunk-46GOWZT4.js +0 -5087
  166. package/dist/chunk-5KYJAUZV.js +0 -1519
  167. package/dist/chunk-6ZMLNEHB.js +0 -1519
  168. package/dist/chunk-7HBGXW7Z.js +0 -4929
  169. package/dist/chunk-7UCKD25B.js +0 -551
  170. package/dist/chunk-BDCFOP7O.js +0 -537
  171. package/dist/chunk-BPZQT5N5.js +0 -25652
  172. package/dist/chunk-C52OQNNY.js +0 -5087
  173. package/dist/chunk-C7HGQF4Y.js +0 -25652
  174. package/dist/chunk-CAHNZGGK.js +0 -25656
  175. package/dist/chunk-CK7R6UHE.js +0 -4945
  176. package/dist/chunk-D36RPWB7.js +0 -25652
  177. package/dist/chunk-DJK2UPFH.js +0 -4891
  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-WDYJOEAI.js +0 -5087
  216. package/dist/chunk-WEAFQNOS.js +0 -195
  217. package/dist/chunk-XKUSAZGP.js +0 -5087
  218. package/dist/chunk-YCWOCIPH.js +0 -5101
  219. package/dist/chunk-ZGE3XAXY.js +0 -1519
  220. package/dist/cli-agent-33GWIF2D.js +0 -2300
  221. package/dist/cli-agent-4XK6LVQQ.js +0 -2357
  222. package/dist/cli-agent-64EOV3ST.js +0 -2300
  223. package/dist/cli-agent-67WP6KKO.js +0 -2300
  224. package/dist/cli-agent-7RW5Y7C4.js +0 -2294
  225. package/dist/cli-agent-7TB2BWS6.js +0 -2370
  226. package/dist/cli-agent-AKXFFST2.js +0 -2370
  227. package/dist/cli-agent-C3YSECO4.js +0 -2344
  228. package/dist/cli-agent-DZTKLITB.js +0 -2357
  229. package/dist/cli-agent-FNMDJN7T.js +0 -2357
  230. package/dist/cli-agent-FOF7PFEP.js +0 -2357
  231. package/dist/cli-agent-FXZ6DJKP.js +0 -2357
  232. package/dist/cli-agent-H74M2ZYN.js +0 -2357
  233. package/dist/cli-agent-HG4Y657I.js +0 -2300
  234. package/dist/cli-agent-HORWVPHB.js +0 -2370
  235. package/dist/cli-agent-HSZT6SKF.js +0 -2423
  236. package/dist/cli-agent-ION2W5JF.js +0 -2441
  237. package/dist/cli-agent-JLUQ4ZU6.js +0 -2424
  238. package/dist/cli-agent-KBPWY3CB.js +0 -2302
  239. package/dist/cli-agent-MVCDH4HV.js +0 -2370
  240. package/dist/cli-agent-NZXOEPJ2.js +0 -2357
  241. package/dist/cli-agent-OO6H57UQ.js +0 -2300
  242. package/dist/cli-agent-PADN3QRC.js +0 -2357
  243. package/dist/cli-agent-QAYEX3BE.js +0 -2441
  244. package/dist/cli-agent-QT64DT5J.js +0 -2370
  245. package/dist/cli-agent-TCTRKCHN.js +0 -2300
  246. package/dist/cli-agent-TFL2M6UK.js +0 -2424
  247. package/dist/cli-agent-TSOJG7EX.js +0 -2357
  248. package/dist/cli-agent-UIKXATTD.js +0 -2357
  249. package/dist/cli-agent-UJN6FYTO.js +0 -2370
  250. package/dist/cli-agent-VIQAYVY4.js +0 -2357
  251. package/dist/cli-agent-WNWFVOFM.js +0 -2370
  252. package/dist/cli-agent-XBQX67VJ.js +0 -2423
  253. package/dist/cli-agent-ZLSC6FF4.js +0 -2357
  254. package/dist/cli-agent-ZSHUPBBN.js +0 -2357
  255. package/dist/cli-recover-T32NABFA.js +0 -487
  256. package/dist/cli-serve-2IL5DTEY.js +0 -153
  257. package/dist/cli-serve-3NGBX5ER.js +0 -140
  258. package/dist/cli-serve-47N5UKKW.js +0 -153
  259. package/dist/cli-serve-4RS4UDHC.js +0 -140
  260. package/dist/cli-serve-4XGZFUV2.js +0 -140
  261. package/dist/cli-serve-53FVANQK.js +0 -260
  262. package/dist/cli-serve-57225XWV.js +0 -140
  263. package/dist/cli-serve-63BDPSOP.js +0 -140
  264. package/dist/cli-serve-657NRUOX.js +0 -140
  265. package/dist/cli-serve-6ER7QMLR.js +0 -140
  266. package/dist/cli-serve-6OT3UEAN.js +0 -140
  267. package/dist/cli-serve-7JQ4FVUQ.js +0 -260
  268. package/dist/cli-serve-7L6EY5UH.js +0 -153
  269. package/dist/cli-serve-BFNIW2LF.js +0 -153
  270. package/dist/cli-serve-C7MN6U5Q.js +0 -153
  271. package/dist/cli-serve-CQFI3LMK.js +0 -140
  272. package/dist/cli-serve-CR3OY3IM.js +0 -153
  273. package/dist/cli-serve-DAJFRWQ7.js +0 -153
  274. package/dist/cli-serve-DTQLN5UI.js +0 -140
  275. package/dist/cli-serve-EQS2SGT3.js +0 -140
  276. package/dist/cli-serve-FW6FHFW4.js +0 -153
  277. package/dist/cli-serve-GEEOQS77.js +0 -153
  278. package/dist/cli-serve-H562I3ZK.js +0 -153
  279. package/dist/cli-serve-HDQZF4C4.js +0 -153
  280. package/dist/cli-serve-KBJNXWYJ.js +0 -140
  281. package/dist/cli-serve-LICAOMEB.js +0 -140
  282. package/dist/cli-serve-LLGYLWFS.js +0 -153
  283. package/dist/cli-serve-LMZKQ5GX.js +0 -140
  284. package/dist/cli-serve-LNTT73P2.js +0 -140
  285. package/dist/cli-serve-MQKBUZ7X.js +0 -140
  286. package/dist/cli-serve-N3OISDNB.js +0 -153
  287. package/dist/cli-serve-NBFT7B42.js +0 -140
  288. package/dist/cli-serve-RTWO3AWY.js +0 -140
  289. package/dist/cli-serve-SIHTSW5P.js +0 -140
  290. package/dist/cli-serve-SP6TEURE.js +0 -140
  291. package/dist/cli-serve-TDKZA6I5.js +0 -140
  292. package/dist/cli-serve-TF5ZVVXF.js +0 -140
  293. package/dist/cli-serve-TIZ27EVR.js +0 -153
  294. package/dist/cli-serve-TUNI2RCN.js +0 -153
  295. package/dist/cli-serve-WCU66CHX.js +0 -140
  296. package/dist/cli-serve-WNOZMAWD.js +0 -153
  297. package/dist/cli-serve-YCCKRRUY.js +0 -140
  298. package/dist/cli-serve-ZD5V7I6G.js +0 -140
  299. package/dist/cli-validate-6XDDLVVQ.js +0 -150
  300. package/dist/cli-verify-I4WGRQNT.js +0 -149
  301. package/dist/connection-manager-4ZA4XAFA.js +0 -9
  302. package/dist/db-adapter-IK2EDK2N.js +0 -7
  303. package/dist/db-adapter-IRHOUMVC.js +0 -7
  304. package/dist/dependency-manager-G6D2XXNY.js +0 -11
  305. package/dist/dependency-manager-OCUKF72T.js +0 -543
  306. package/dist/dependency-manager-YULUXN34.js +0 -511
  307. package/dist/factory-MQASIPEB.js +0 -11
  308. package/dist/google-W5AYGNUJ.js +0 -33
  309. package/dist/integrations-VWANOHQ4.js +0 -43830
  310. package/dist/local-O2FN57UN.js +0 -1128
  311. package/dist/local-S7SDOQHN.js +0 -1128
  312. package/dist/microsoft-HPLA5ZL5.js +0 -2414
  313. package/dist/microsoft-UFLZBEAC.js +0 -1619
  314. package/dist/microsoft-VREAZ7M2.js +0 -3955
  315. package/dist/microsoft-YUT6EIGP.js +0 -3400
  316. package/dist/postgres-BOTHOPDW.js +0 -875
  317. package/dist/routes-3MMLQTB6.js +0 -90
  318. package/dist/routes-4ZUIJ4HE.js +0 -90
  319. package/dist/routes-5MXHKKH4.js +0 -90
  320. package/dist/routes-64NJFK3B.js +0 -90
  321. package/dist/routes-6AKQ2LBV.js +0 -90
  322. package/dist/routes-CRRBUDO4.js +0 -90
  323. package/dist/routes-D7SMYOLT.js +0 -90
  324. package/dist/routes-DIAF3MC3.js +0 -90
  325. package/dist/routes-KMUNU6CY.js +0 -90
  326. package/dist/routes-LRRLXIZR.js +0 -90
  327. package/dist/routes-N647AJYG.js +0 -90
  328. package/dist/routes-SSSELAAR.js +0 -90
  329. package/dist/routes-STERVGKJ.js +0 -90
  330. package/dist/routes-TZMPYLHJ.js +0 -90
  331. package/dist/routes-XNK2MAVO.js +0 -90
  332. package/dist/routes-ZEZZACZP.js +0 -90
  333. package/dist/runtime-4UVCTFNQ.js +0 -45
  334. package/dist/runtime-5EQN4GFM.js +0 -45
  335. package/dist/runtime-5LP7PUD4.js +0 -45
  336. package/dist/runtime-6YEENDN3.js +0 -45
  337. package/dist/runtime-7LQFRG3B.js +0 -45
  338. package/dist/runtime-AMXJU2MB.js +0 -45
  339. package/dist/runtime-D6WSE7FG.js +0 -45
  340. package/dist/runtime-EYVN7NFJ.js +0 -45
  341. package/dist/runtime-F6RPWQVW.js +0 -45
  342. package/dist/runtime-FYMJURFC.js +0 -45
  343. package/dist/runtime-GGF4P55M.js +0 -45
  344. package/dist/runtime-H3SAMWWF.js +0 -45
  345. package/dist/runtime-H7T4I7I7.js +0 -45
  346. package/dist/runtime-HTIM7GZR.js +0 -45
  347. package/dist/runtime-JRNBL4O4.js +0 -45
  348. package/dist/runtime-K4C7NQLW.js +0 -45
  349. package/dist/runtime-MWWZCPC2.js +0 -45
  350. package/dist/runtime-N7CM2DYA.js +0 -45
  351. package/dist/runtime-OM2NIBMI.js +0 -45
  352. package/dist/runtime-OVGSOTAH.js +0 -45
  353. package/dist/runtime-QQ6LAY4U.js +0 -45
  354. package/dist/runtime-QWPVD7CY.js +0 -45
  355. package/dist/runtime-SX3B5MG3.js +0 -45
  356. package/dist/runtime-YLIIPTE4.js +0 -45
  357. package/dist/runtime-YU6P22CG.js +0 -45
  358. package/dist/runtime-ZOC337DD.js +0 -45
  359. package/dist/server-3AVWBRIF.js +0 -28
  360. package/dist/server-5BKJI5OW.js +0 -28
  361. package/dist/server-6NDO2S52.js +0 -28
  362. package/dist/server-7TD3M2BW.js +0 -28
  363. package/dist/server-AMCSXINC.js +0 -28
  364. package/dist/server-BEJ6RAGL.js +0 -28
  365. package/dist/server-BFPYDHBG.js +0 -28
  366. package/dist/server-BKEWXGVX.js +0 -28
  367. package/dist/server-BMEJZGFG.js +0 -28
  368. package/dist/server-CU6LVQS4.js +0 -28
  369. package/dist/server-DFR7FI3Q.js +0 -28
  370. package/dist/server-DFYGH2CV.js +0 -28
  371. package/dist/server-DURRN3GJ.js +0 -28
  372. package/dist/server-EELWOC3X.js +0 -28
  373. package/dist/server-EN5E2OWQ.js +0 -28
  374. package/dist/server-EXZC3OJO.js +0 -28
  375. package/dist/server-GW2HYJYI.js +0 -28
  376. package/dist/server-J25NCRWJ.js +0 -28
  377. package/dist/server-JDGNOTFV.js +0 -28
  378. package/dist/server-KA6U3YNP.js +0 -28
  379. package/dist/server-L52A2ME4.js +0 -28
  380. package/dist/server-NE5HD5DJ.js +0 -28
  381. package/dist/server-NLQAXPOG.js +0 -28
  382. package/dist/server-NQOT7W77.js +0 -28
  383. package/dist/server-OHHAA34U.js +0 -28
  384. package/dist/server-PWE5PQTR.js +0 -28
  385. package/dist/server-Q2Q32H2B.js +0 -28
  386. package/dist/server-Q77ME7TL.js +0 -28
  387. package/dist/server-QDKO6OVO.js +0 -28
  388. package/dist/server-RR6QJIXM.js +0 -28
  389. package/dist/server-T3R6BO6A.js +0 -28
  390. package/dist/server-TRIBAHDV.js +0 -28
  391. package/dist/server-TXV3ZVVR.js +0 -28
  392. package/dist/server-VHSFJP3I.js +0 -28
  393. package/dist/server-VOJF2XGU.js +0 -28
  394. package/dist/server-W76YHPEC.js +0 -28
  395. package/dist/server-WLLH4WST.js +0 -28
  396. package/dist/server-WTUJ2O3F.js +0 -28
  397. package/dist/server-X4CJTHHF.js +0 -28
  398. package/dist/server-XK3ILCJC.js +0 -28
  399. package/dist/server-ZRD3NDJE.js +0 -28
  400. package/dist/setup-2JYXGTW6.js +0 -20
  401. package/dist/setup-3XOSZEW5.js +0 -20
  402. package/dist/setup-44VBAO4J.js +0 -20
  403. package/dist/setup-4OA7QNJW.js +0 -20
  404. package/dist/setup-4ONNQBWB.js +0 -20
  405. package/dist/setup-4OSBXSCL.js +0 -20
  406. package/dist/setup-4QFGRBLZ.js +0 -20
  407. package/dist/setup-52US54Z4.js +0 -20
  408. package/dist/setup-5CY3CKKT.js +0 -20
  409. package/dist/setup-6766SGAR.js +0 -20
  410. package/dist/setup-6NUSB4XO.js +0 -20
  411. package/dist/setup-7FZJEOD4.js +0 -20
  412. package/dist/setup-7LYYXBUL.js +0 -20
  413. package/dist/setup-ADSKKBGV.js +0 -20
  414. package/dist/setup-AMV2WKVH.js +0 -20
  415. package/dist/setup-AYY24DKM.js +0 -20
  416. package/dist/setup-B34N4HPU.js +0 -20
  417. package/dist/setup-CEF4QY4L.js +0 -20
  418. package/dist/setup-E2YLC2EY.js +0 -20
  419. package/dist/setup-ER6NXTY5.js +0 -20
  420. package/dist/setup-FIOAQJ6C.js +0 -20
  421. package/dist/setup-G76S7X44.js +0 -20
  422. package/dist/setup-H2AGCBW5.js +0 -20
  423. package/dist/setup-H4JZUHH5.js +0 -20
  424. package/dist/setup-ICOZRKCX.js +0 -20
  425. package/dist/setup-JFTJH7UF.js +0 -20
  426. package/dist/setup-JJHOT2ZU.js +0 -20
  427. package/dist/setup-KEAM2BCL.js +0 -20
  428. package/dist/setup-LW4MLU2N.js +0 -20
  429. package/dist/setup-NHAZABW4.js +0 -20
  430. package/dist/setup-PRFNI6YW.js +0 -20
  431. package/dist/setup-RAHBMYHE.js +0 -20
  432. package/dist/setup-T6KYFR7O.js +0 -20
  433. package/dist/setup-TGM6L362.js +0 -20
  434. package/dist/setup-TNANAH7C.js +0 -20
  435. package/dist/setup-TXPR5UQX.js +0 -20
  436. package/dist/setup-UJSNSCLM.js +0 -20
  437. package/dist/setup-XCJMELVU.js +0 -20
  438. package/dist/setup-XIYEIFVK.js +0 -20
  439. package/dist/setup-XP2VGBEU.js +0 -20
  440. package/dist/setup-Z4PZSHBI.js +0 -20
  441. package/dist/skills-HCVBA6PK.js +0 -16
  442. package/dist/skills-HFSW74KZ.js +0 -16
  443. package/dist/system-prompts-6OUTAMH6.js +0 -41
  444. package/dist/task-queue-YP2I54IA.js +0 -9
  445. package/dist/transport-encryption-F2NQYACT.js +0 -25
  446. package/seed-data.mjs +0 -455
  447. package/src/agent-tools/tools/integrations/_seed-data.json +0 -4548
  448. package/src/agent-tools/tools/integrations/_seed-data.ts +0 -4563
  449. package/src/engine/NOTE.MD +0 -52
@@ -66,7 +66,7 @@ function createUpcomingEventsCheck() {
66
66
  enabled: true,
67
67
  check: async (ctx) => {
68
68
  try {
69
- const twoHoursFromNow = new Date(ctx.now.getTime() + 2 * 60 * 60 * 1e3).toISOString();
69
+ const _twoHoursFromNow = new Date(ctx.now.getTime() + 2 * 60 * 60 * 1e3).toISOString();
70
70
  const rows = await ctx.db.query(
71
71
  `SELECT content FROM agent_memory
72
72
  WHERE agent_id = $1
@@ -466,7 +466,7 @@ var AgentHeartbeatManager = class {
466
466
  return;
467
467
  }
468
468
  try {
469
- const { guardrails } = await import("./routes-XNK2MAVO.js");
469
+ const { guardrails } = await import("./routes-T3CDAQTD.js");
470
470
  const status = await guardrails.getStatus(ctx.agentId);
471
471
  if (status.paused || status.offDuty) {
472
472
  console.log(`[heartbeat] Skipping action dispatch \u2014 agent is ${status.offDuty ? "off duty" : "paused"}`);
@@ -2,7 +2,7 @@ import {
2
2
  createBrowserTool,
3
3
  createMeetingTools,
4
4
  createMeetingVoiceTools
5
- } from "./chunk-TPLVQFXM.js";
5
+ } from "./chunk-X2YL6KSY.js";
6
6
  import {
7
7
  ToolInputError,
8
8
  createActionGate,
@@ -1135,7 +1135,7 @@ async function ripgrepSearch(params) {
1135
1135
  args.push("-m", String(params.maxResults));
1136
1136
  args.push("--", shellEscape(params.pattern), shellEscape(params.searchPath));
1137
1137
  return new Promise(function(resolve) {
1138
- exec2(args.join(" "), { maxBuffer: 1e6, timeout: DEFAULT_TIMEOUT_MS3 }, function(error, stdout) {
1138
+ exec2(args.join(" "), { maxBuffer: 1e6, timeout: DEFAULT_TIMEOUT_MS3 }, function(_error, stdout) {
1139
1139
  resolve(stdout || "");
1140
1140
  });
1141
1141
  });
@@ -2708,7 +2708,7 @@ function createMemoryTool(options) {
2708
2708
  }
2709
2709
 
2710
2710
  // src/agent-tools/tools/agenticmail.ts
2711
- function createAgenticMailTools(config, options) {
2711
+ function createAgenticMailTools(config, _options) {
2712
2712
  const { manager, agentId } = config;
2713
2713
  const tools = [];
2714
2714
  function getProvider() {
@@ -3362,7 +3362,7 @@ function createAgenticMailTools(config, options) {
3362
3362
  bcc: { type: "string", description: "BCC recipients" }
3363
3363
  }, ["id", "to"]),
3364
3364
  "high",
3365
- async (args) => {
3365
+ async (_args) => {
3366
3366
  return { success: false, error: "Template send not implemented in this enterprise deployment - use agenticmail_send instead" };
3367
3367
  }
3368
3368
  );
@@ -4460,7 +4460,7 @@ function createGmailTools(config, _options) {
4460
4460
  if (!primary) return errorResult("No primary send-as alias found");
4461
4461
  const update = { signature: params.signature };
4462
4462
  if (params.displayName) update.displayName = params.displayName;
4463
- const result = await gmail(token, `/settings/sendAs/${encodeURIComponent(primary.sendAsEmail)}`, {
4463
+ const _result = await gmail(token, `/settings/sendAs/${encodeURIComponent(primary.sendAsEmail)}`, {
4464
4464
  method: "PATCH",
4465
4465
  body: update
4466
4466
  });
@@ -6692,7 +6692,7 @@ function createGoogleSlidesTools(config, _options) {
6692
6692
  }
6693
6693
  }
6694
6694
  for (const slide of contentSlides) {
6695
- const PT = 12700;
6695
+ const _PT = 12700;
6696
6696
  const addReq = { createSlide: { slideLayoutReference: { predefinedLayout: "TITLE_AND_BODY" } } };
6697
6697
  const addResult = await slidesApi(token, `/presentations/${presentationId}:batchUpdate`, {
6698
6698
  method: "POST",
@@ -6883,7 +6883,7 @@ function createGoogleSlidesTools(config, _options) {
6883
6883
  async execute(_id, input) {
6884
6884
  try {
6885
6885
  const token = await tp.getAccessToken();
6886
- const result = await slidesApi(token, `/presentations/${input.presentationId}:batchUpdate`, {
6886
+ const _result = await slidesApi(token, `/presentations/${input.presentationId}:batchUpdate`, {
6887
6887
  method: "POST",
6888
6888
  body: {
6889
6889
  requests: [{
@@ -7330,7 +7330,7 @@ function createGoogleFormsTools(config, _options) {
7330
7330
  updateMasks.push("info.description");
7331
7331
  }
7332
7332
  if (updateMasks.length === 0) return errorResult("Provide title or description to update");
7333
- const result = await formsApi(token, `/forms/${input.formId}:batchUpdate`, {
7333
+ const _result = await formsApi(token, `/forms/${input.formId}:batchUpdate`, {
7334
7334
  method: "POST",
7335
7335
  body: {
7336
7336
  requests: [{
@@ -7477,7 +7477,7 @@ function createGoogleFormsTools(config, _options) {
7477
7477
  const publishSettings = {};
7478
7478
  if (input.isPublished !== void 0) publishSettings.isPublished = input.isPublished === "true";
7479
7479
  if (input.isAcceptingResponses !== void 0) publishSettings.isAcceptingResponses = input.isAcceptingResponses === "true";
7480
- const result = await formsApi(token, `/forms/${input.formId}:setPublishSettings`, {
7480
+ const _result = await formsApi(token, `/forms/${input.formId}:setPublishSettings`, {
7481
7481
  method: "POST",
7482
7482
  body: { publishSettings }
7483
7483
  });
@@ -11238,7 +11238,7 @@ function createKnowledgeSearchTools(opts) {
11238
11238
  const knowledgeEngine = opts.knowledgeEngine;
11239
11239
  const engineDb = opts.engineDb;
11240
11240
  const agentId = opts.agentId || "unknown";
11241
- const orgId = opts.orgId || "";
11241
+ const _orgId = opts.orgId || "";
11242
11242
  const tools = [];
11243
11243
  tools.push({
11244
11244
  name: "knowledge_base_search",
@@ -12785,7 +12785,7 @@ async function loadStore(agentId) {
12785
12785
  updatedAt: stats.newestTimestamp || Date.now()
12786
12786
  };
12787
12787
  }
12788
- async function saveStore(_agentId, store) {
12788
+ async function saveStore(_agentId, _store) {
12789
12789
  }
12790
12790
  function rowToObservation(row) {
12791
12791
  const source = typeof row.source_json === "string" ? JSON.parse(row.source_json) : row.source_json || { type: row.source_type };
@@ -13051,7 +13051,7 @@ function createVisualMemoryTools(options) {
13051
13051
  },
13052
13052
  required: ["source"]
13053
13053
  },
13054
- async execute(toolCallId, params) {
13054
+ async execute(_toolCallId, params) {
13055
13055
  try {
13056
13056
  let result;
13057
13057
  if (params.source === "screenshot") {
@@ -13137,7 +13137,7 @@ function createVisualMemoryTools(options) {
13137
13137
  },
13138
13138
  required: []
13139
13139
  },
13140
- async execute(toolCallId, params) {
13140
+ async execute(_toolCallId, params) {
13141
13141
  try {
13142
13142
  const observations = await queryObservations(agentId, {
13143
13143
  sessionId: params.sessionId,
@@ -13181,7 +13181,7 @@ function createVisualMemoryTools(options) {
13181
13181
  },
13182
13182
  required: ["id1", "id2"]
13183
13183
  },
13184
- async execute(toolCallId, params) {
13184
+ async execute(_toolCallId, params) {
13185
13185
  try {
13186
13186
  const obs1 = await getObservation(agentId, params.id1);
13187
13187
  const obs2 = await getObservation(agentId, params.id2);
@@ -13233,7 +13233,7 @@ function createVisualMemoryTools(options) {
13233
13233
  },
13234
13234
  required: ["beforeId", "afterId"]
13235
13235
  },
13236
- async execute(toolCallId, params) {
13236
+ async execute(_toolCallId, params) {
13237
13237
  try {
13238
13238
  const beforeObs = await getObservation(agentId, params.beforeId);
13239
13239
  const afterObs = await getObservation(agentId, params.afterId);
@@ -13290,7 +13290,7 @@ function createVisualMemoryTools(options) {
13290
13290
  },
13291
13291
  required: ["targetId"]
13292
13292
  },
13293
- async execute(toolCallId, params) {
13293
+ async execute(_toolCallId, params) {
13294
13294
  try {
13295
13295
  const targetObs = await getObservation(agentId, params.targetId);
13296
13296
  if (!targetObs) {
@@ -13349,7 +13349,7 @@ function createVisualMemoryTools(options) {
13349
13349
  },
13350
13350
  required: ["baselineId"]
13351
13351
  },
13352
- async execute(toolCallId, params) {
13352
+ async execute(_toolCallId, params) {
13353
13353
  try {
13354
13354
  const baseline = await getObservation(agentId, params.baselineId);
13355
13355
  if (!baseline) {
@@ -13440,7 +13440,7 @@ function createVisualMemoryTools(options) {
13440
13440
  },
13441
13441
  required: ["observationId"]
13442
13442
  },
13443
- async execute(toolCallId, params) {
13443
+ async execute(_toolCallId, params) {
13444
13444
  try {
13445
13445
  const observation = await getObservation(agentId, params.observationId);
13446
13446
  if (!observation) {
@@ -13488,7 +13488,7 @@ function createVisualMemoryTools(options) {
13488
13488
  properties: {},
13489
13489
  required: []
13490
13490
  },
13491
- async execute(toolCallId, params) {
13491
+ async execute(_toolCallId, _params) {
13492
13492
  try {
13493
13493
  const stats = await getStoreStats(agentId);
13494
13494
  const recent = await getRecentObservations(agentId, 10);
@@ -13536,7 +13536,7 @@ function createVisualMemoryTools(options) {
13536
13536
  },
13537
13537
  required: []
13538
13538
  },
13539
- async execute(toolCallId, params) {
13539
+ async execute(_toolCallId, params) {
13540
13540
  try {
13541
13541
  const store = await loadStore(agentId);
13542
13542
  const sessionId = ++store.sessionCount;
@@ -13569,7 +13569,7 @@ function createVisualMemoryTools(options) {
13569
13569
  },
13570
13570
  required: []
13571
13571
  },
13572
- async execute(toolCallId, params) {
13572
+ async execute(_toolCallId, params) {
13573
13573
  try {
13574
13574
  const sessionKey = `${agentId}-session`;
13575
13575
  const sessionId = params.sessionId || activeSessions.get(sessionKey) || 0;
@@ -13735,7 +13735,7 @@ async function createAllTools(options) {
13735
13735
  workspaceTools = workspaceTools.concat(createMeetingLifecycleTools({ tokenProvider: tp }, options));
13736
13736
  }
13737
13737
  if (provider === "microsoft") {
13738
- const { createAllMicrosoftTools } = await import("./microsoft-2IIHDLJB.js");
13738
+ const { createAllMicrosoftTools } = await import("./microsoft-2PDVV6HX.js");
13739
13739
  const msOpts = options?.enabledMicrosoftServices ? { ...options, enabledMicrosoftServices: options.enabledMicrosoftServices } : options;
13740
13740
  workspaceTools = createAllMicrosoftTools({ tokenProvider: tp }, msOpts);
13741
13741
  }
@@ -13743,7 +13743,7 @@ async function createAllTools(options) {
13743
13743
  var enterpriseBrowserTools = [];
13744
13744
  if (options?.useEnterpriseBrowser) {
13745
13745
  try {
13746
- var { createEnterpriseBrowserTool: createEB } = await import("./browser-tool-JF3LNRGX.js");
13746
+ var { createEnterpriseBrowserTool: createEB } = await import("./browser-tool-4KWE37RL.js");
13747
13747
  var ebTool = createEB(options.browserConfig);
13748
13748
  enterpriseBrowserTools = [ebTool];
13749
13749
  } catch (_e) {
@@ -13752,7 +13752,7 @@ async function createAllTools(options) {
13752
13752
  var integrationTools = [];
13753
13753
  if (options?.vault) {
13754
13754
  try {
13755
- var { createAllIntegrationTools } = await import("./integrations-VWANOHQ4.js");
13755
+ var { createAllIntegrationTools } = await import("./integrations-V2WXFDIV.js");
13756
13756
  integrationTools = await createAllIntegrationTools({
13757
13757
  vault: options.vault,
13758
13758
  orgId: options?.orgId,
@@ -13844,7 +13844,7 @@ async function createAllTools(options) {
13844
13844
  }
13845
13845
  var localSystemTools = [];
13846
13846
  try {
13847
- var { createLocalSystemTools } = await import("./local-6MLIZDKO.js");
13847
+ var { createLocalSystemTools } = await import("./local-OXFH4V7E.js");
13848
13848
  localSystemTools = createLocalSystemTools({
13849
13849
  sandboxRoot: options?.workspaceDir || void 0,
13850
13850
  shellCwd: options?.workspaceDir || process.cwd(),
@@ -6,7 +6,7 @@ import {
6
6
  MicrosoftEmailProvider,
7
7
  createEmailProvider,
8
8
  detectImapSettings
9
- } from "./chunk-HKCKMCPY.js";
9
+ } from "./chunk-G4YSECQ4.js";
10
10
  import "./chunk-KFQGP6VL.js";
11
11
  export {
12
12
  AgenticMailManager,
@@ -58,7 +58,7 @@ import {
58
58
  withBrowserNavigationPolicy,
59
59
  wrapExternalContent,
60
60
  writeConfigFile
61
- } from "./chunk-JEGYVXYC.js";
61
+ } from "./chunk-CQV7GGHT.js";
62
62
  import "./chunk-KFQGP6VL.js";
63
63
 
64
64
  // src/browser/client-actions-url.ts
@@ -438,7 +438,7 @@ function isModuleNotFoundError(err) {
438
438
  }
439
439
  async function loadPwAiModule(mode) {
440
440
  try {
441
- return await import("./pw-ai-IBEF6HBF.js");
441
+ return await import("./pw-ai-NK5GKBDG.js");
442
442
  } catch (err) {
443
443
  if (mode === "soft") {
444
444
  return null;
@@ -912,7 +912,7 @@ function createProfileContext(opts, profile) {
912
912
  const httpReachable = await isHttpReachable(300);
913
913
  if (httpReachable && !profileState.running) {
914
914
  try {
915
- const mod = await import("./pw-ai-IBEF6HBF.js");
915
+ const mod = await import("./pw-ai-NK5GKBDG.js");
916
916
  await mod.closePlaywrightBrowserConnection();
917
917
  } catch {
918
918
  }
@@ -921,7 +921,7 @@ function createProfileContext(opts, profile) {
921
921
  await stopRunningBrowser();
922
922
  }
923
923
  try {
924
- const mod = await import("./pw-ai-IBEF6HBF.js");
924
+ const mod = await import("./pw-ai-NK5GKBDG.js");
925
925
  await mod.closePlaywrightBrowserConnection();
926
926
  } catch {
927
927
  }
@@ -30,7 +30,7 @@ function createSubsystemLogger(name) {
30
30
  info: (...args) => console.log(prefix, ...args),
31
31
  warn: (...args) => console.warn(prefix, ...args),
32
32
  error: (...args) => console.error(prefix, ...args),
33
- debug: (...args) => {
33
+ debug: (..._args) => {
34
34
  },
35
35
  child: (sub) => createSubsystemLogger(`${name}:${sub}`)
36
36
  };
@@ -23,7 +23,7 @@ import {
23
23
  DatabaseConnectionManager,
24
24
  init_connection_manager,
25
25
  init_query_sanitizer
26
- } from "./chunk-BQM7MBPS.js";
26
+ } from "./chunk-WYDVMFGJ.js";
27
27
  import {
28
28
  init_agent_tools,
29
29
  init_types
@@ -34,13 +34,13 @@ import {
34
34
  PermissionEngine,
35
35
  SKILL_SUITES,
36
36
  init_skills as init_skills2
37
- } from "./chunk-6C5PKREN.js";
37
+ } from "./chunk-NOAQG5CY.js";
38
38
  import {
39
39
  AgentConfigGenerator,
40
40
  DeploymentEngine,
41
41
  init_agent_config,
42
42
  init_deployer
43
- } from "./chunk-3FMK32KQ.js";
43
+ } from "./chunk-LHQP7QRX.js";
44
44
  import {
45
45
  init_resilience,
46
46
  withRetry
@@ -585,7 +585,7 @@ var init_lifecycle = __esm({
585
585
  /** When true, this lifecycle runs on a standalone agent machine (not the enterprise server).
586
586
  * In standalone mode, persistAgent reloads dashboard-managed fields from DB before saving. */
587
587
  standaloneMode = false;
588
- configGen = new AgentConfigGenerator();
588
+ _configGen = new AgentConfigGenerator();
589
589
  permissions;
590
590
  engineDb;
591
591
  eventListeners = [];
@@ -6846,7 +6846,7 @@ function createAgentRoutes(opts) {
6846
6846
  });
6847
6847
  router.post("/system/install-pm2", async (c) => {
6848
6848
  try {
6849
- const { ensurePm2 } = await import("./deployer-3YK4RPUL.js");
6849
+ const { ensurePm2 } = await import("./deployer-7NG7LCJW.js");
6850
6850
  const result = await ensurePm2();
6851
6851
  if (result.installed) {
6852
6852
  return c.json({ success: true, message: `PM2 ${result.version} installed successfully` });
@@ -7074,7 +7074,7 @@ function createAgentRoutes(opts) {
7074
7074
  if (presetName || permissionsData) {
7075
7075
  let profile = { id: agentId, name: presetName || "Custom", createdAt: (/* @__PURE__ */ new Date()).toISOString(), updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
7076
7076
  if (presetName) {
7077
- const { PRESET_PROFILES: PRESET_PROFILES2 } = await import("./skills-FR7I5V7H.js");
7077
+ const { PRESET_PROFILES: PRESET_PROFILES2 } = await import("./skills-EL4RTJKK.js");
7078
7078
  const preset = PRESET_PROFILES2.find((p) => p.name === presetName);
7079
7079
  if (preset) Object.assign(profile, preset);
7080
7080
  }
@@ -7102,7 +7102,7 @@ function createAgentRoutes(opts) {
7102
7102
  }
7103
7103
  const managedAgent = await lifecycle2.createAgent(orgId, config, actor);
7104
7104
  try {
7105
- const { knowledgeBase: kbEngine } = await import("./routes-XYR2RNEC.js");
7105
+ const { knowledgeBase: kbEngine } = await import("./routes-T3CDAQTD.js");
7106
7106
  const allKbs = kbEngine.getAllKnowledgeBases();
7107
7107
  const clientOrgId = managedAgent?.clientOrgId || config?.clientOrgId || null;
7108
7108
  let kbAssigned = 0;
@@ -8391,7 +8391,7 @@ function createAgentRoutes(opts) {
8391
8391
  meetingBrowsers.delete(agentId);
8392
8392
  }
8393
8393
  const agentName = managed.displayName || managed.display_name || managed.name || managed.config?.displayName || managed.config?.name || "Agent";
8394
- const agentRole = managed.config?.role || managed.config?.description || "AI Assistant";
8394
+ const _agentRole = managed.config?.role || managed.config?.description || "AI Assistant";
8395
8395
  const profileDir = join3(homedir(), ".agenticmail", "browser-profiles", agentId);
8396
8396
  mkdirSync(profileDir, { recursive: true });
8397
8397
  const prefsDir = join3(profileDir, "Default");
@@ -8527,7 +8527,7 @@ function createAgentRoutes(opts) {
8527
8527
  const data = await resp.json();
8528
8528
  if (data.webSocketDebuggerUrl) {
8529
8529
  try {
8530
- const closeResp = await fetch(`http://127.0.0.1:${port}/json/close`, { method: "PUT", signal: AbortSignal.timeout(3e3) });
8530
+ const _closeResp = await fetch(`http://127.0.0.1:${port}/json/close`, { method: "PUT", signal: AbortSignal.timeout(3e3) });
8531
8531
  closed = true;
8532
8532
  } catch {
8533
8533
  }
@@ -9787,7 +9787,7 @@ var init_community_registry = __esm({
9787
9787
  for (const s of skills) this.index.set(s.id, s);
9788
9788
  await this.seedIndex();
9789
9789
  try {
9790
- const rows = await this.engineDb.getInstalledSkillsByOrg("*").catch(() => []);
9790
+ const _rows = await this.engineDb.getInstalledSkillsByOrg("*").catch(() => []);
9791
9791
  this.installed.clear();
9792
9792
  } catch {
9793
9793
  }
@@ -13693,7 +13693,7 @@ var init_knowledge_contribution = __esm({
13693
13693
  }
13694
13694
  contributors.add(entry.sourceAgentId);
13695
13695
  }
13696
- indexEntryRemove(entry) {
13696
+ _indexEntryRemove(entry) {
13697
13697
  const baseSet = this.baseEntryIndex.get(entry.baseId);
13698
13698
  if (baseSet) {
13699
13699
  baseSet.delete(entry.id);
@@ -15661,7 +15661,7 @@ var init_extract_github = __esm({
15661
15661
  GitHubContentExtractor = class {
15662
15662
  extract(raw, sourceUrl) {
15663
15663
  let content = raw;
15664
- const isReadme = sourceUrl?.toLowerCase().includes("readme") || false;
15664
+ const _isReadme = sourceUrl?.toLowerCase().includes("readme") || false;
15665
15665
  content = content.replace(/^\s*(\[!\[[^\]]*\]\([^)]*\)\]\([^)]*\)\s*)+/gm, "");
15666
15666
  content = content.replace(/!\[(?:build|ci|test|coverage|license|npm|version|downloads|stars|forks|issues|badge)[^\]]*\]\([^)]*\)/gi, "");
15667
15667
  content = content.replace(/<!--\s*(?:TOC|toc|table-of-contents)\s*-->/gi, "");
@@ -15706,7 +15706,7 @@ var init_extract_sharepoint = __esm({
15706
15706
  "src/engine/knowledge-import/processors/extract-sharepoint.ts"() {
15707
15707
  "use strict";
15708
15708
  SharePointContentExtractor = class {
15709
- extract(raw, sourceUrl) {
15709
+ extract(raw, _sourceUrl) {
15710
15710
  let content = raw;
15711
15711
  if (content.includes("<html") || content.includes("<div") || content.includes("mso-")) {
15712
15712
  content = this.cleanSharePointHtml(content);
@@ -15857,7 +15857,7 @@ var init_clean = __esm({
15857
15857
  });
15858
15858
 
15859
15859
  // src/engine/knowledge-import/processors/validate.ts
15860
- function validateContent(content, title) {
15860
+ function validateContent(content, _title) {
15861
15861
  const checks = [];
15862
15862
  const warnings = [];
15863
15863
  const length = content.length;
@@ -16927,9 +16927,9 @@ var init_import_manager = __esm({
16927
16927
  "url": new UrlImportProvider(),
16928
16928
  "file-upload": new FileUploadImportProvider(),
16929
16929
  "confluence": new UrlImportProvider(),
16930
- // TODO: dedicated Confluence provider
16930
+ // Uses URL-based import; add dedicated API provider when Confluence OAuth is supported
16931
16931
  "notion": new UrlImportProvider()
16932
- // TODO: dedicated Notion provider
16932
+ // Uses URL-based import; add dedicated API provider when Notion OAuth is supported
16933
16933
  };
16934
16934
  SOURCE_CATALOG = [
16935
16935
  {
@@ -19581,7 +19581,7 @@ When generating or modifying code:
19581
19581
 
19582
19582
  // src/engine/vault-routes.ts
19583
19583
  import { Hono as Hono21 } from "hono";
19584
- function createVaultRoutes(vault2, dlp2) {
19584
+ function createVaultRoutes(vault2, _dlp) {
19585
19585
  const router = new Hono21();
19586
19586
  router.post("/secrets", async (c) => {
19587
19587
  try {
@@ -20943,7 +20943,7 @@ var init_org_integrations = __esm({
20943
20943
  * Create a TokenProvider for an agent based on its org's credentials.
20944
20944
  * Used by Google Workspace and Microsoft tools at runtime.
20945
20945
  */
20946
- async createTokenProviderForAgent(agentId, agentOrgId, provider, onTokenRefresh) {
20946
+ async createTokenProviderForAgent(_agentId, agentOrgId, provider, onTokenRefresh) {
20947
20947
  const creds = await this.resolveForAgent(agentOrgId, provider);
20948
20948
  if (!creds || !creds.refreshToken) return null;
20949
20949
  let currentAccessToken = creds.accessToken || "";
@@ -21202,7 +21202,7 @@ function createOrgIntegrationRoutes(manager) {
21202
21202
  });
21203
21203
  router.get("/resolve/:agentId", async (c) => {
21204
21204
  try {
21205
- const agentId = c.req.param("agentId");
21205
+ const _agentId = c.req.param("agentId");
21206
21206
  const provider = c.req.query("provider") || "google";
21207
21207
  const orgId = c.req.query("orgId") || null;
21208
21208
  const creds = await manager.resolveForAgent(orgId, provider);
@@ -21285,7 +21285,7 @@ function createOrgIntegrationRoutes(manager) {
21285
21285
  }).toString()
21286
21286
  });
21287
21287
  if (!tokenRes.ok) {
21288
- const err = await tokenRes.text();
21288
+ const _err = await tokenRes.text();
21289
21289
  return c.html(`<script>window.opener?.postMessage({type:'org-oauth-result',status:'error',message:'Token exchange failed: ${tokenRes.status}'},'*');window.close();</script>`);
21290
21290
  }
21291
21291
  const tokens = await tokenRes.json();
@@ -21871,7 +21871,7 @@ var init_chat_poller = __esm({
21871
21871
  return;
21872
21872
  }
21873
21873
  let hadError = false;
21874
- for (const [spaceId, space] of this.spaces) {
21874
+ for (const [_spaceId, space] of this.spaces) {
21875
21875
  try {
21876
21876
  await this.pollSpace(token, space);
21877
21877
  } catch (err) {
@@ -22363,7 +22363,7 @@ var init_email_poller = __esm({
22363
22363
  }
22364
22364
  }
22365
22365
  async connectMailbox(mailbox) {
22366
- const token = await this.refreshToken(mailbox);
22366
+ const _token = await this.refreshToken(mailbox);
22367
22367
  const profile = await this.gmailFetch(mailbox, "/profile");
22368
22368
  const apiHistoryId = profile.historyId || "";
22369
22369
  if (!mailbox.historyId && apiHistoryId) {
@@ -23195,7 +23195,7 @@ ${desc}` : desc;
23195
23195
  });
23196
23196
  }
23197
23197
  }
23198
- async downloadTelegramMedia(agent, fileId, mediaType, fileName, mimeType) {
23198
+ async downloadTelegramMedia(agent, fileId, mediaType, fileName, _mimeType) {
23199
23199
  try {
23200
23200
  var channelConfig = this.config.getAgentChannelConfig(agent.id);
23201
23201
  var botToken = channelConfig?.telegram?.botToken;
@@ -23390,7 +23390,7 @@ ${desc}` : desc;
23390
23390
  return matches;
23391
23391
  }
23392
23392
  // ─── Security Wrapping ────────────────────────────
23393
- wrapCustomerMessage(text, senderName, config) {
23393
+ wrapCustomerMessage(text, senderName, _config) {
23394
23394
  return [
23395
23395
  "<<<CUSTOMER_MESSAGE>>>",
23396
23396
  "SECURITY NOTICE: This message is from a CUSTOMER (external, untrusted sender).",
@@ -23729,8 +23729,19 @@ var init_cluster = __esm({
23729
23729
  console.warn("[cluster] Failed to load nodes from DB:", e.message);
23730
23730
  }
23731
23731
  }
23732
+ /** Validate node ID format */
23733
+ validateNodeId(nodeId) {
23734
+ if (!nodeId || nodeId.length < 2) return "Node ID must be at least 2 characters";
23735
+ if (nodeId.length > 64) return "Node ID must be at most 64 characters";
23736
+ if (!/^[a-zA-Z0-9][a-zA-Z0-9._-]*$/.test(nodeId)) return "Node ID must start with alphanumeric and contain only alphanumeric, dots, hyphens, underscores";
23737
+ return null;
23738
+ }
23732
23739
  /** Register or re-register a worker node */
23733
23740
  async register(data) {
23741
+ const idErr = this.validateNodeId(data.nodeId);
23742
+ if (idErr) throw new Error(idErr);
23743
+ if (!data.host) throw new Error("host is required");
23744
+ if (!data.port || data.port < 1 || data.port > 65535) throw new Error("port must be 1-65535");
23734
23745
  const now2 = (/* @__PURE__ */ new Date()).toISOString();
23735
23746
  const existing = this.nodes.get(data.nodeId);
23736
23747
  const node = {
@@ -24510,7 +24521,7 @@ var init_agent_hierarchy = __esm({
24510
24521
  * If 'email' or 'meeting', management context is minimal.
24511
24522
  * If 'task' or 'management', full context is included.
24512
24523
  */
24513
- async buildManagerPrompt(agentId, sessionContext) {
24524
+ async buildManagerPrompt(agentId, _sessionContext) {
24514
24525
  const hierarchy = await this.buildHierarchy();
24515
24526
  const node = hierarchy.get(agentId);
24516
24527
  if (!node) return null;
@@ -25419,6 +25430,112 @@ var init_routes3 = __esm({
25419
25430
  const node = cluster.findBestNode(caps);
25420
25431
  return node ? c.json(node) : c.json({ error: "No suitable node available" }, 404);
25421
25432
  });
25433
+ engine.post("/cluster/test-connection", async (c) => {
25434
+ const { host, port } = await c.req.json();
25435
+ if (!host) return c.json({ error: "host required" }, 400);
25436
+ const p = port || 3101;
25437
+ const start = Date.now();
25438
+ try {
25439
+ const ctrl = new AbortController();
25440
+ const timeout = setTimeout(() => ctrl.abort(), 5e3);
25441
+ const res = await fetch(`http://${host}:${p}/health`, { signal: ctrl.signal }).catch(() => null);
25442
+ clearTimeout(timeout);
25443
+ if (res && res.ok) {
25444
+ const data = await res.json().catch(() => ({}));
25445
+ return c.json({ success: true, latencyMs: Date.now() - start, version: data.version, agentId: data.agentId });
25446
+ }
25447
+ const ctrl2 = new AbortController();
25448
+ const timeout2 = setTimeout(() => ctrl2.abort(), 5e3);
25449
+ const res2 = await fetch(`http://${host}:${p}/api/status`, { signal: ctrl2.signal }).catch(() => null);
25450
+ clearTimeout(timeout2);
25451
+ if (res2 && res2.ok) {
25452
+ return c.json({ success: true, latencyMs: Date.now() - start, version: "enterprise" });
25453
+ }
25454
+ return c.json({ success: false, error: "No response from " + host + ":" + p, latencyMs: Date.now() - start });
25455
+ } catch (e) {
25456
+ return c.json({ success: false, error: e.message || "Connection failed", latencyMs: Date.now() - start });
25457
+ }
25458
+ });
25459
+ engine.post("/cluster/deploy-via-ssh", async (c) => {
25460
+ const body = await c.req.json();
25461
+ if (!body.host) return c.json({ error: "host required" }, 400);
25462
+ try {
25463
+ const dbUrl = process.env.DATABASE_URL || "";
25464
+ const enterpriseUrl = process.env.ENTERPRISE_URL || `http://${body.host}:${body.port || 3101}`;
25465
+ const nodeId = body.name?.toLowerCase().replace(/[^a-z0-9-]/g, "-") || "worker-" + body.host.replace(/\./g, "-");
25466
+ const script = [
25467
+ "#!/bin/bash",
25468
+ "set -e",
25469
+ 'export NVM_DIR="$HOME/.nvm"',
25470
+ '[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"',
25471
+ "",
25472
+ "# Install Node.js if not present",
25473
+ "if ! command -v node &> /dev/null; then",
25474
+ " if command -v apt-get &> /dev/null; then",
25475
+ " curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -",
25476
+ " sudo apt-get install -y nodejs",
25477
+ " elif command -v brew &> /dev/null; then",
25478
+ " brew install node",
25479
+ " fi",
25480
+ "fi",
25481
+ "",
25482
+ "# Install PM2 and AgenticMail",
25483
+ "npm install -g pm2 @agenticmail/enterprise",
25484
+ "",
25485
+ "# Write env file",
25486
+ "mkdir -p ~/.agenticmail",
25487
+ `cat > ~/.agenticmail/worker.env << 'ENVEOF'`,
25488
+ `ENTERPRISE_URL=${enterpriseUrl}`,
25489
+ `WORKER_NODE_ID=${nodeId}`,
25490
+ `WORKER_NAME="${body.name || nodeId}"`,
25491
+ `DATABASE_URL=${dbUrl}`,
25492
+ `PORT=${body.port || 3101}`,
25493
+ "LOG_LEVEL=warn",
25494
+ "ENVEOF",
25495
+ "",
25496
+ "# Start agents via PM2",
25497
+ ...(body.agentIds || []).map(
25498
+ (id, i) => `pm2 start "$(which agenticmail-enterprise || echo npx @agenticmail/enterprise) agent --id ${id}" --name "agent-${i}" --env ~/.agenticmail/worker.env`
25499
+ ),
25500
+ "pm2 save",
25501
+ 'echo "DEPLOY_SUCCESS"'
25502
+ ].join("\n");
25503
+ const { execSync } = await import("child_process");
25504
+ const sshTarget = `${body.user || "root"}@${body.host}`;
25505
+ const keyOpt = body.privateKey ? `-i /tmp/_am_ssh_key_${Date.now()}` : "";
25506
+ if (body.privateKey) {
25507
+ const { writeFileSync, chmodSync } = await import("fs");
25508
+ const keyPath = `/tmp/_am_ssh_key_${Date.now()}`;
25509
+ writeFileSync(keyPath, body.privateKey, { mode: 384 });
25510
+ }
25511
+ const scriptB64 = Buffer.from(script).toString("base64");
25512
+ const sshCmd = `ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 ${keyOpt} ${sshTarget} "echo '${scriptB64}' | base64 -d | bash"`;
25513
+ const { exec } = await import("child_process");
25514
+ exec(sshCmd, { timeout: 12e4 }, (err, stdout, _stderr) => {
25515
+ if (err) {
25516
+ console.warn(`[cluster] SSH deploy to ${body.host} failed:`, err.message);
25517
+ } else if (stdout.includes("DEPLOY_SUCCESS")) {
25518
+ console.log(`[cluster] SSH deploy to ${body.host} succeeded`);
25519
+ }
25520
+ });
25521
+ return c.json({ message: "Deployment started via SSH to " + sshTarget + ". Check the Cluster page for the node to appear.", nodeId });
25522
+ } catch (e) {
25523
+ return c.json({ error: "SSH deploy failed: " + e.message }, 500);
25524
+ }
25525
+ });
25526
+ engine.post("/cluster/nodes/:nodeId/restart", async (c) => {
25527
+ const node = cluster.getNode(c.req.param("nodeId"));
25528
+ if (!node) return c.json({ error: "Node not found" }, 404);
25529
+ try {
25530
+ const ctrl = new AbortController();
25531
+ setTimeout(() => ctrl.abort(), 1e4);
25532
+ await fetch(`${node.url}/restart`, { method: "POST", signal: ctrl.signal }).catch(() => {
25533
+ });
25534
+ return c.json({ ok: true, message: "Restart signal sent to " + node.name });
25535
+ } catch (e) {
25536
+ return c.json({ error: e.message }, 500);
25537
+ }
25538
+ });
25422
25539
  engine.get("/cluster/stream", (c) => {
25423
25540
  const stream = new ReadableStream({
25424
25541
  start(controller) {
@@ -25433,7 +25550,7 @@ var init_routes3 = __esm({
25433
25550
  }
25434
25551
  };
25435
25552
  for (const n of cluster.getAllNodes()) send(JSON.stringify({ type: "node", event: "snapshot", ...n }));
25436
- const unsub = cluster.subscribe((nodeId, node, event) => send(JSON.stringify({ type: "node", event, ...node })));
25553
+ const unsub = cluster.subscribe((_nodeId, node, event) => send(JSON.stringify({ type: "node", event, ...node })));
25437
25554
  const hb = setInterval(() => send(JSON.stringify({ type: "heartbeat" })), 3e4);
25438
25555
  c.req.raw.signal.addEventListener("abort", () => {
25439
25556
  unsub();
@@ -569,7 +569,7 @@ var IMAP_PRESETS = {
569
569
  function detectImapSettings(email) {
570
570
  const domain = email.split("@")[1]?.toLowerCase();
571
571
  if (!domain) return null;
572
- for (const [key, preset] of Object.entries(IMAP_PRESETS)) {
572
+ for (const [key, _preset] of Object.entries(IMAP_PRESETS)) {
573
573
  if (domain.includes(key) || domain === "gmail.com" || domain === "outlook.com" || domain === "hotmail.com") {
574
574
  if (domain === "gmail.com" || domain.endsWith(".google.com")) return IMAP_PRESETS.gmail;
575
575
  if (domain === "outlook.com" || domain === "hotmail.com" || domain.endsWith(".onmicrosoft.com")) return IMAP_PRESETS.microsoft365;
@@ -582,7 +582,7 @@ var ImapEmailProvider = class {
582
582
  identity = null;
583
583
  // IMAP connection (lazy-loaded to avoid bundling the dep if not used)
584
584
  imapClient = null;
585
- smtpClient = null;
585
+ _smtpClient = null;
586
586
  getIdentity() {
587
587
  if (!this.identity) throw new Error("Not connected \u2014 call connect() first");
588
588
  return this.identity;