@agenticmail/enterprise 0.5.319 → 0.5.321

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 (330) hide show
  1. package/CHANGELOG.md +68 -0
  2. package/CODE_OF_CONDUCT.md +31 -0
  3. package/README.md +118 -38
  4. package/SECURITY.md +42 -0
  5. package/dist/agent-heartbeat-3FWNHZFX.js +510 -0
  6. package/dist/agent-heartbeat-4RWHZR7H.js +510 -0
  7. package/dist/agent-heartbeat-6ZGB5ILY.js +510 -0
  8. package/dist/agent-heartbeat-BIVHLKFM.js +510 -0
  9. package/dist/agent-heartbeat-HRKVFK2T.js +510 -0
  10. package/dist/agent-heartbeat-JC5GWVXD.js +510 -0
  11. package/dist/agent-heartbeat-K6A4HMHB.js +510 -0
  12. package/dist/agent-heartbeat-LCDXWFVB.js +510 -0
  13. package/dist/agent-heartbeat-P7HZCZAQ.js +510 -0
  14. package/dist/agent-heartbeat-PUIRSNIO.js +510 -0
  15. package/dist/agent-heartbeat-SN5ILQ6Y.js +510 -0
  16. package/dist/agent-heartbeat-TW5YTDYC.js +510 -0
  17. package/dist/agent-heartbeat-Z2QQXROL.js +510 -0
  18. package/dist/agent-notify-OEQBCZLN.js +43 -0
  19. package/dist/{agent-tools-263HM5QU.js → agent-tools-3W7XLUYA.js} +1 -1
  20. package/dist/agent-tools-4QK7LLNP.js +9 -0
  21. package/dist/agent-tools-54VZGT6L.js +9 -0
  22. package/dist/{agent-tools-AT4D276V.js → agent-tools-AYYDPO27.js} +7 -7
  23. package/dist/{agent-tools-MSTAPX2I.js → agent-tools-F2X47FKF.js} +7 -7
  24. package/dist/{agent-tools-FA26SY5O.js → agent-tools-O6W3QAZL.js} +11 -6
  25. package/dist/agent-tools-OAWVZBMW.js +9 -0
  26. package/dist/agent-tools-QCCU74PN.js +13949 -0
  27. package/dist/chunk-2LHUARN6.js +4929 -0
  28. package/dist/chunk-2WVCNCYC.js +5087 -0
  29. package/dist/{chunk-6PWDS7KY.js → chunk-3FM6YQUK.js} +20 -20
  30. package/dist/chunk-3UAFHUEC.js +212 -0
  31. package/dist/{chunk-WJO57PMO.js → chunk-46GOWZT4.js} +20 -20
  32. package/dist/{chunk-BNRE7TSX.js → chunk-5KYJAUZV.js} +3 -3
  33. package/dist/chunk-6C5PKREN.js +467 -0
  34. package/dist/{chunk-447MTPZF.js → chunk-6ZMLNEHB.js} +3 -3
  35. package/dist/chunk-BPZQT5N5.js +25652 -0
  36. package/dist/chunk-BQM7MBPS.js +1380 -0
  37. package/dist/{chunk-ZRFKGPIU.js → chunk-C52OQNNY.js} +20 -20
  38. package/dist/chunk-C7HGQF4Y.js +25652 -0
  39. package/dist/chunk-CAHNZGGK.js +25656 -0
  40. package/dist/{chunk-FL3CH3ET.js → chunk-CK7R6UHE.js} +51 -27
  41. package/dist/chunk-D36RPWB7.js +25652 -0
  42. package/dist/{chunk-36NM2B4C.js → chunk-DJK2UPFH.js} +63 -93
  43. package/dist/chunk-DM7FTF7W.js +4929 -0
  44. package/dist/chunk-DMD24UFZ.js +5101 -0
  45. package/dist/{chunk-36XNMIHA.js → chunk-DXZGPUAF.js} +20 -20
  46. package/dist/chunk-F46WB5IL.js +5087 -0
  47. package/dist/chunk-F5QG5SQH.js +5087 -0
  48. package/dist/{chunk-JGEVQZDR.js → chunk-FLQ5FLHW.js} +13 -16
  49. package/dist/chunk-H7GP733U.js +5087 -0
  50. package/dist/{chunk-OZSQLOV6.js → chunk-HHBXWB5U.js} +415 -19
  51. package/dist/{chunk-D24JY75H.js → chunk-IMXS4N6W.js} +3 -3
  52. package/dist/{chunk-6PVBV6ZP.js → chunk-JNMDD7JY.js} +3 -3
  53. package/dist/chunk-JTV5LA47.js +1519 -0
  54. package/dist/chunk-KV6G7NZX.js +1519 -0
  55. package/dist/chunk-MU5MEBIK.js +1519 -0
  56. package/dist/chunk-NLT5MC7X.js +465 -0
  57. package/dist/{chunk-GTFZZUXX.js → chunk-NVLYIM4J.js} +51 -27
  58. package/dist/{chunk-6G5SXLXC.js → chunk-NZY2BIZH.js} +63 -93
  59. package/dist/chunk-O42L6G67.js +1519 -0
  60. package/dist/chunk-OCNERGGM.js +4891 -0
  61. package/dist/chunk-OJSNHONE.js +1519 -0
  62. package/dist/{chunk-2TAZJWJN.js → chunk-OWL3QVH7.js} +18 -0
  63. package/dist/{chunk-P3HVY2HS.js → chunk-OWTLNV4Q.js} +382 -7
  64. package/dist/chunk-PCNYEP6T.js +4891 -0
  65. package/dist/{chunk-YL3Z5KPR.js → chunk-PI4AQ4Z6.js} +438 -15
  66. package/dist/chunk-PN3EGTCA.js +194 -0
  67. package/dist/chunk-Q37UKNRC.js +1519 -0
  68. package/dist/chunk-QXTC6J7H.js +5087 -0
  69. package/dist/{chunk-SPBQVNDI.js → chunk-RKERL5LZ.js} +25 -21
  70. package/dist/chunk-RVBK2IOX.js +25652 -0
  71. package/dist/chunk-SAKODCZ5.js +4891 -0
  72. package/dist/{chunk-XV4TU65E.js → chunk-SALGFC5L.js} +51 -27
  73. package/dist/chunk-STGWZ2MS.js +1519 -0
  74. package/dist/chunk-UY3ZVQDP.js +25652 -0
  75. package/dist/chunk-V6OSD62M.js +5087 -0
  76. package/dist/chunk-VP6YAHX4.js +1519 -0
  77. package/dist/chunk-WDYJOEAI.js +5087 -0
  78. package/dist/chunk-WEAFQNOS.js +195 -0
  79. package/dist/chunk-XKUSAZGP.js +5087 -0
  80. package/dist/chunk-Z6K5FKAB.js +548 -0
  81. package/dist/chunk-ZGE3XAXY.js +1519 -0
  82. package/dist/chunk-ZGYVXYQQ.js +3296 -0
  83. package/dist/cli-agent-7TB2BWS6.js +2370 -0
  84. package/dist/cli-agent-AKXFFST2.js +2370 -0
  85. package/dist/cli-agent-DZTKLITB.js +2357 -0
  86. package/dist/cli-agent-FOF7PFEP.js +2357 -0
  87. package/dist/cli-agent-H74M2ZYN.js +2357 -0
  88. package/dist/cli-agent-HORWVPHB.js +2370 -0
  89. package/dist/cli-agent-HSZT6SKF.js +2423 -0
  90. package/dist/cli-agent-JLUQ4ZU6.js +2424 -0
  91. package/dist/cli-agent-MVCDH4HV.js +2370 -0
  92. package/dist/cli-agent-NZXOEPJ2.js +2357 -0
  93. package/dist/cli-agent-PADN3QRC.js +2357 -0
  94. package/dist/cli-agent-QAYEX3BE.js +2441 -0
  95. package/dist/cli-agent-QT64DT5J.js +2370 -0
  96. package/dist/cli-agent-TFL2M6UK.js +2424 -0
  97. package/dist/cli-agent-UIKXATTD.js +2357 -0
  98. package/dist/cli-agent-UJN6FYTO.js +2370 -0
  99. package/dist/cli-agent-VIQAYVY4.js +2357 -0
  100. package/dist/cli-agent-WNWFVOFM.js +2370 -0
  101. package/dist/cli-agent-XBQX67VJ.js +2423 -0
  102. package/dist/cli-agent-ZLSC6FF4.js +2357 -0
  103. package/dist/cli-serve-2IL5DTEY.js +153 -0
  104. package/dist/cli-serve-47N5UKKW.js +153 -0
  105. package/dist/cli-serve-4XGZFUV2.js +140 -0
  106. package/dist/cli-serve-6OT3UEAN.js +140 -0
  107. package/dist/cli-serve-7L6EY5UH.js +153 -0
  108. package/dist/cli-serve-BDGOOOKQ.js +260 -0
  109. package/dist/cli-serve-BFNIW2LF.js +153 -0
  110. package/dist/cli-serve-C7MN6U5Q.js +153 -0
  111. package/dist/cli-serve-CR3OY3IM.js +153 -0
  112. package/dist/cli-serve-DAJFRWQ7.js +153 -0
  113. package/dist/cli-serve-FW6FHFW4.js +153 -0
  114. package/dist/cli-serve-GEEOQS77.js +153 -0
  115. package/dist/cli-serve-H562I3ZK.js +153 -0
  116. package/dist/cli-serve-HDQZF4C4.js +153 -0
  117. package/dist/cli-serve-LICAOMEB.js +140 -0
  118. package/dist/cli-serve-LLGYLWFS.js +153 -0
  119. package/dist/cli-serve-N3OISDNB.js +153 -0
  120. package/dist/cli-serve-TIZ27EVR.js +153 -0
  121. package/dist/cli-serve-TUNI2RCN.js +153 -0
  122. package/dist/cli-serve-WNOZMAWD.js +153 -0
  123. package/dist/cli-validate-Z726VJCN.js +150 -0
  124. package/dist/cli.js +4 -4
  125. package/dist/connection-manager-KAWEUWUR.js +9 -0
  126. package/dist/dashboard/app.js +9 -3
  127. package/dist/dashboard/components/knowledge-link.js +15 -0
  128. package/dist/dashboard/components/settings-help.js +4 -2
  129. package/dist/dashboard/docs/agent-deployment.html +33 -1
  130. package/dist/dashboard/docs/settings-network.html +321 -0
  131. package/dist/dashboard/docs/settings-security.html +347 -0
  132. package/dist/dashboard/docs/settings-tool-security.html +176 -0
  133. package/dist/dashboard/docs/settings.html +36 -16
  134. package/dist/dashboard/pages/agent-detail/deployment.js +39 -6
  135. package/dist/dashboard/pages/agent-detail/tools.js +10 -0
  136. package/dist/dashboard/pages/database-access.js +4 -3
  137. package/dist/dashboard/pages/settings.js +174 -37
  138. package/dist/dashboard/pages/task-pipeline.js +400 -843
  139. package/dist/db-adapter-2T56ORSD.js +7 -0
  140. package/dist/db-adapter-IRHOUMVC.js +7 -0
  141. package/dist/index.js +41 -41
  142. package/dist/microsoft-VREAZ7M2.js +3955 -0
  143. package/dist/routes-3MMLQTB6.js +90 -0
  144. package/dist/routes-4ZUIJ4HE.js +90 -0
  145. package/dist/routes-5MXHKKH4.js +90 -0
  146. package/dist/routes-64NJFK3B.js +90 -0
  147. package/dist/routes-6AKQ2LBV.js +90 -0
  148. package/dist/routes-CRRBUDO4.js +90 -0
  149. package/dist/routes-DIAF3MC3.js +90 -0
  150. package/dist/routes-KMUNU6CY.js +90 -0
  151. package/dist/routes-LRRLXIZR.js +90 -0
  152. package/dist/routes-N647AJYG.js +90 -0
  153. package/dist/routes-SSSELAAR.js +90 -0
  154. package/dist/routes-STERVGKJ.js +90 -0
  155. package/dist/routes-ZEZZACZP.js +90 -0
  156. package/dist/runtime-5EQN4GFM.js +45 -0
  157. package/dist/runtime-5LP7PUD4.js +45 -0
  158. package/dist/runtime-6BULDBR3.js +45 -0
  159. package/dist/runtime-6YEENDN3.js +45 -0
  160. package/dist/runtime-7LQFRG3B.js +45 -0
  161. package/dist/runtime-AMXJU2MB.js +45 -0
  162. package/dist/runtime-D6WSE7FG.js +45 -0
  163. package/dist/runtime-EYVN7NFJ.js +45 -0
  164. package/dist/runtime-F6RPWQVW.js +45 -0
  165. package/dist/runtime-FYMJURFC.js +45 -0
  166. package/dist/runtime-JRNBL4O4.js +45 -0
  167. package/dist/runtime-OM2NIBMI.js +45 -0
  168. package/dist/runtime-QWPVD7CY.js +45 -0
  169. package/dist/runtime-YLIIPTE4.js +45 -0
  170. package/dist/runtime-YU6P22CG.js +45 -0
  171. package/dist/screen-unlock-4RPZBHOI.js +118 -0
  172. package/dist/server-AMCSXINC.js +28 -0
  173. package/dist/server-CU6LVQS4.js +28 -0
  174. package/dist/server-DFYGH2CV.js +28 -0
  175. package/dist/server-EELWOC3X.js +28 -0
  176. package/dist/server-EN5E2OWQ.js +28 -0
  177. package/dist/server-GW2HYJYI.js +28 -0
  178. package/dist/server-J25NCRWJ.js +28 -0
  179. package/dist/server-JDGNOTFV.js +28 -0
  180. package/dist/server-NE5HD5DJ.js +28 -0
  181. package/dist/server-NQOT7W77.js +28 -0
  182. package/dist/server-PWE5PQTR.js +28 -0
  183. package/dist/server-Q2Q32H2B.js +28 -0
  184. package/dist/server-Q77ME7TL.js +28 -0
  185. package/dist/server-WLLH4WST.js +28 -0
  186. package/dist/server-WTUJ2O3F.js +28 -0
  187. package/dist/server-X4CJTHHF.js +28 -0
  188. package/dist/server-XK3ILCJC.js +28 -0
  189. package/dist/server-ZRD3NDJE.js +28 -0
  190. package/dist/setup-44VBAO4J.js +20 -0
  191. package/dist/setup-4ONNQBWB.js +20 -0
  192. package/dist/setup-4OSBXSCL.js +20 -0
  193. package/dist/setup-4QFGRBLZ.js +20 -0
  194. package/dist/setup-6766SGAR.js +20 -0
  195. package/dist/setup-AYY24DKM.js +20 -0
  196. package/dist/setup-B34N4HPU.js +20 -0
  197. package/dist/setup-E2YLC2EY.js +20 -0
  198. package/dist/setup-ER6NXTY5.js +20 -0
  199. package/dist/setup-H2AGCBW5.js +20 -0
  200. package/dist/setup-ICOZRKCX.js +20 -0
  201. package/dist/setup-JFTJH7UF.js +20 -0
  202. package/dist/setup-PRFNI6YW.js +20 -0
  203. package/dist/setup-RAHBMYHE.js +20 -0
  204. package/dist/setup-TXPR5UQX.js +20 -0
  205. package/dist/setup-XCJMELVU.js +20 -0
  206. package/dist/setup-XIYEIFVK.js +20 -0
  207. package/dist/setup-Z4PZSHBI.js +20 -0
  208. package/dist/skills-FR7I5V7H.js +16 -0
  209. package/dist/skills-HCVBA6PK.js +16 -0
  210. package/dist/system-prompts-TM7OA32C.js +913 -0
  211. package/dist/task-queue-O7IVZYUO.js +9 -0
  212. package/dist/transport-encryption-2T7PIXKG.js +25 -0
  213. package/logs/cloudflared-error.log +61 -0
  214. package/logs/cloudflared-out.log +0 -0
  215. package/logs/enterprise-error.log +0 -0
  216. package/logs/enterprise-out.log +3 -0
  217. package/logs/fola-error.log +0 -0
  218. package/logs/fola-out.log +0 -0
  219. package/logs/john-error.log +8 -0
  220. package/logs/john-out.log +0 -0
  221. package/package.json +31 -3
  222. package/src/agent-tools/tool-resolver.ts +50 -61
  223. package/src/agent-tools/tools/enterprise-database.ts +5 -5
  224. package/src/agent-tools/tools/local/dependency-manager.ts +2 -2
  225. package/src/agent-tools/tools/microsoft/graph-api.ts +137 -26
  226. package/src/agent-tools/tools/microsoft/outlook-mail.ts +392 -100
  227. package/src/agent-tools/tools/microsoft/teams.ts +267 -48
  228. package/src/auth/routes.ts +4 -4
  229. package/src/cli-agent.ts +108 -8
  230. package/src/cli-serve.ts +140 -0
  231. package/src/dashboard/app.js +9 -3
  232. package/src/dashboard/components/knowledge-link.js +15 -0
  233. package/src/dashboard/components/settings-help.js +4 -2
  234. package/src/dashboard/docs/agent-deployment.html +33 -1
  235. package/src/dashboard/docs/settings-network.html +321 -0
  236. package/src/dashboard/docs/settings-security.html +347 -0
  237. package/src/dashboard/docs/settings-tool-security.html +176 -0
  238. package/src/dashboard/docs/settings.html +36 -16
  239. package/src/dashboard/pages/agent-detail/deployment.js +39 -6
  240. package/src/dashboard/pages/agent-detail/tools.js +10 -0
  241. package/src/dashboard/pages/database-access.js +4 -3
  242. package/src/dashboard/pages/settings.js +174 -37
  243. package/src/dashboard/pages/task-pipeline.js +400 -843
  244. package/src/database-access/agent-tools.ts +78 -63
  245. package/src/database-access/connection-manager.ts +13 -2
  246. package/src/database-access/routes.ts +13 -1
  247. package/src/db/adapter.ts +1 -0
  248. package/src/engine/agent-memory.ts +2 -1
  249. package/src/engine/agent-notify.ts +50 -0
  250. package/src/engine/agent-routes.ts +257 -4
  251. package/src/engine/db-adapter.ts +16 -0
  252. package/src/engine/lifecycle.ts +4 -0
  253. package/src/engine/routes.ts +4 -3
  254. package/src/engine/screen-unlock.ts +136 -0
  255. package/src/engine/skills/database-access.ts +78 -0
  256. package/src/engine/skills/index.ts +3 -2
  257. package/src/engine/skills.ts +2 -0
  258. package/src/engine/task-queue-routes.ts +18 -0
  259. package/src/engine/task-queue.ts +15 -2
  260. package/src/middleware/transport-encryption.ts +1 -4
  261. package/src/runtime/agent-loop.ts +4 -0
  262. package/src/runtime/index.ts +15 -6
  263. package/src/server.ts +14 -1
  264. package/src/system-prompts/google/index.ts +1 -2
  265. package/src/system-prompts/index.ts +1 -1
  266. package/src/system-prompts/microsoft/contacts.ts +34 -0
  267. package/src/system-prompts/microsoft/excel.ts +52 -0
  268. package/src/system-prompts/microsoft/index.ts +31 -0
  269. package/src/system-prompts/microsoft/onedrive.ts +41 -0
  270. package/src/system-prompts/microsoft/onenote.ts +36 -0
  271. package/src/system-prompts/microsoft/outlook-calendar.ts +37 -0
  272. package/src/system-prompts/microsoft/outlook-mail.ts +46 -0
  273. package/src/system-prompts/microsoft/planner.ts +37 -0
  274. package/src/system-prompts/microsoft/powerbi.ts +38 -0
  275. package/src/system-prompts/microsoft/powerpoint.ts +35 -0
  276. package/src/system-prompts/microsoft/sharepoint.ts +44 -0
  277. package/src/system-prompts/microsoft/teams.ts +49 -0
  278. package/src/system-prompts/microsoft/todo.ts +37 -0
  279. package/src/types/hono-env.ts +4 -0
  280. package/.github/CODEOWNERS +0 -23
  281. package/.github/workflows/publish-community-skills.yml +0 -121
  282. package/.github/workflows/validate-community-skills.yml +0 -172
  283. package/agriculture_southwest_nigeria_research.txt +0 -10
  284. package/boa_credit_cards_research.txt +0 -10
  285. package/customer_support_research_feb2026.txt +0 -10
  286. package/dist/agent-tools-LRA7PPXG.js +0 -13922
  287. package/dist/agent-tools-VAU5DOQB.js +0 -13910
  288. package/dist/agent-tools-VWV7OWXU.js +0 -13922
  289. package/dist/chunk-2Z7MWTCX.js +0 -4977
  290. package/dist/chunk-3T4XU3VV.js +0 -5010
  291. package/dist/chunk-445QM4NX.js +0 -5061
  292. package/dist/chunk-5TW3Y7DJ.js +0 -1519
  293. package/dist/chunk-6I7VY3LT.js +0 -5060
  294. package/dist/chunk-6W5EK3UP.js +0 -4977
  295. package/dist/chunk-AQMSHJQT.js +0 -5069
  296. package/dist/chunk-ASSQW7HX.js +0 -5051
  297. package/dist/chunk-CIN27FGC.js +0 -5037
  298. package/dist/chunk-CMXY3NUB.js +0 -4977
  299. package/dist/chunk-DRLMRUDP.js +0 -5052
  300. package/dist/chunk-EHI7Z446.js +0 -1519
  301. package/dist/chunk-FEAILFAQ.js +0 -1519
  302. package/dist/chunk-GA3PYBZL.js +0 -1519
  303. package/dist/chunk-GWX63G5J.js +0 -1519
  304. package/dist/chunk-HHMZ4UY6.js +0 -1519
  305. package/dist/chunk-HVQMNF7E.js +0 -4921
  306. package/dist/chunk-HXM7F3YN.js +0 -1519
  307. package/dist/chunk-K6NGOUXG.js +0 -5060
  308. package/dist/chunk-KPG5WINJ.js +0 -4977
  309. package/dist/chunk-LBCUBYDL.js +0 -1519
  310. package/dist/chunk-LIRQSWLR.js +0 -5014
  311. package/dist/chunk-LRCKO5KE.js +0 -1519
  312. package/dist/chunk-M7XL3DJD.js +0 -5069
  313. package/dist/chunk-MHJULEIQ.js +0 -1519
  314. package/dist/chunk-MJGGW6MC.js +0 -106
  315. package/dist/chunk-MMYBDHDB.js +0 -4921
  316. package/dist/chunk-MQT5FXKD.js +0 -1519
  317. package/dist/chunk-OIMPEQF5.js +0 -4977
  318. package/dist/chunk-OOU7JUYE.js +0 -542
  319. package/dist/chunk-OW4GLBHP.js +0 -1519
  320. package/dist/chunk-Q4K4MMLU.js +0 -4977
  321. package/dist/chunk-RUK4CRPF.js +0 -1519
  322. package/dist/chunk-T7H65XQY.js +0 -1519
  323. package/dist/chunk-TQVFWG57.js +0 -5064
  324. package/dist/chunk-UEPK3IMC.js +0 -1519
  325. package/dist/chunk-VUWTXJH6.js +0 -1519
  326. package/dist/chunk-WCPGGSAD.js +0 -1519
  327. package/dist/chunk-WO63NZOJ.js +0 -1519
  328. package/dist/chunk-YPJDRVUM.js +0 -5064
  329. package/dist/chunk-ZROMH5DL.js +0 -4921
  330. package/src/dashboard/docs/_template.txt +0 -92
@@ -1,3 +1,7 @@
1
+ import {
2
+ init_messaging_history,
3
+ storeMessage
4
+ } from "./chunk-Z7NVD3OQ.js";
1
5
  import {
2
6
  AgentMemoryManager,
3
7
  MEMORY_CATEGORIES,
@@ -19,28 +23,24 @@ import {
19
23
  DatabaseConnectionManager,
20
24
  init_connection_manager,
21
25
  init_query_sanitizer
22
- } from "./chunk-M6ZIC5H3.js";
26
+ } from "./chunk-BQM7MBPS.js";
23
27
  import {
24
28
  init_agent_tools,
25
29
  init_types
26
- } from "./chunk-PWWV2U5P.js";
30
+ } from "./chunk-3UAFHUEC.js";
27
31
  import {
28
32
  BUILTIN_SKILLS,
29
33
  PRESET_PROFILES,
30
34
  PermissionEngine,
31
35
  SKILL_SUITES,
32
36
  init_skills as init_skills2
33
- } from "./chunk-RH7KPWRQ.js";
37
+ } from "./chunk-6C5PKREN.js";
34
38
  import {
35
39
  AgentConfigGenerator,
36
40
  DeploymentEngine,
37
41
  init_agent_config,
38
42
  init_deployer
39
43
  } from "./chunk-3FMK32KQ.js";
40
- import {
41
- init_messaging_history,
42
- storeMessage
43
- } from "./chunk-Z7NVD3OQ.js";
44
44
  import {
45
45
  init_resilience,
46
46
  withRetry
@@ -52,7 +52,7 @@ import {
52
52
  setSettingsDb,
53
53
  setTransportEncryptionConfig,
54
54
  transportEncryptionMiddleware
55
- } from "./chunk-JGEVQZDR.js";
55
+ } from "./chunk-FLQ5FLHW.js";
56
56
  import {
57
57
  SecureVault,
58
58
  init_vault
@@ -62,7 +62,7 @@ import {
62
62
  FULL_SKILL_DEFINITIONS,
63
63
  init_emoji,
64
64
  init_skills
65
- } from "./chunk-HS5YWSGM.js";
65
+ } from "./chunk-ZGYVXYQQ.js";
66
66
  import {
67
67
  VALID_CATEGORIES,
68
68
  init_skill_validator,
@@ -1463,6 +1463,8 @@ var init_lifecycle = __esm({
1463
1463
  if (agent) {
1464
1464
  await this.persistAgent(agent);
1465
1465
  configBus.emitAgentConfig(agentId, "_save", void 0, "lifecycle");
1466
+ import("./agent-notify-OEQBCZLN.js").then(({ notifyAgent }) => notifyAgent(agentId, "config", this)).catch(() => {
1467
+ });
1466
1468
  }
1467
1469
  }
1468
1470
  async persistAgent(agent) {
@@ -6563,7 +6565,11 @@ function createAgentRoutes(opts) {
6563
6565
  });
6564
6566
  router.get("/agents", (c) => {
6565
6567
  const orgId = c.req.query("orgId");
6566
- const agents = orgId ? lifecycle2.getAgentsByOrg(orgId) : lifecycle2.getAllAgents();
6568
+ const clientOrgId = c.req.query("clientOrgId");
6569
+ let agents = orgId ? lifecycle2.getAgentsByOrg(orgId) : lifecycle2.getAllAgents();
6570
+ if (clientOrgId) {
6571
+ agents = agents.filter((a) => a.clientOrgId === clientOrgId || a.client_org_id === clientOrgId);
6572
+ }
6567
6573
  return c.json({ agents, total: agents.length });
6568
6574
  });
6569
6575
  router.get("/agents/:id", async (c) => {
@@ -6751,7 +6757,10 @@ function createAgentRoutes(opts) {
6751
6757
  router.put("/agents/:id/budget", async (c) => {
6752
6758
  const config = await c.req.json();
6753
6759
  try {
6754
- await lifecycle2.setBudgetConfig(c.req.param("id"), config);
6760
+ const aid = c.req.param("id");
6761
+ await lifecycle2.setBudgetConfig(aid, config);
6762
+ import("./agent-notify-OEQBCZLN.js").then(({ notifyAgent }) => notifyAgent(aid, "budget", lifecycle2)).catch(() => {
6763
+ });
6755
6764
  return c.json({ success: true, budgetConfig: config });
6756
6765
  } catch (e) {
6757
6766
  return c.json({ error: e.message }, 400);
@@ -6847,6 +6856,175 @@ function createAgentRoutes(opts) {
6847
6856
  return c.json({ success: false, error: e.message, hint: "Try running: sudo npm install -g pm2" }, 500);
6848
6857
  }
6849
6858
  });
6859
+ router.post("/system/check-port", async (c) => {
6860
+ try {
6861
+ const { port } = await c.req.json();
6862
+ const p = parseInt(port);
6863
+ if (!p || p < 1 || p > 65535) {
6864
+ return c.json({ available: false, error: "Invalid port number (1-65535)" });
6865
+ }
6866
+ const net = await import("net");
6867
+ const tryBind = (host) => new Promise((resolve) => {
6868
+ const server = net.createServer();
6869
+ server.once("error", () => resolve(false));
6870
+ server.once("listening", () => {
6871
+ server.close(() => resolve(true));
6872
+ });
6873
+ server.listen(p, host);
6874
+ });
6875
+ const [availAll, availLocal] = await Promise.all([tryBind("0.0.0.0"), tryBind("127.0.0.1")]);
6876
+ const available = availAll && availLocal;
6877
+ if (!available) {
6878
+ let processInfo = "";
6879
+ try {
6880
+ const { execSync } = await import("child_process");
6881
+ if (process.platform === "darwin" || process.platform === "linux") {
6882
+ const lsofBin = process.platform === "darwin" ? "/usr/sbin/lsof" : "lsof";
6883
+ const out = execSync(`${lsofBin} -i :${p} -P -n 2>/dev/null | head -5`, { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"], timeout: 3e3 }).trim();
6884
+ if (out) {
6885
+ const lines = out.split("\n").slice(1);
6886
+ if (lines.length > 0) {
6887
+ const parts = lines[0].split(/\s+/);
6888
+ processInfo = parts[0] ? `${parts[0]} (PID ${parts[1]})` : "";
6889
+ }
6890
+ }
6891
+ } else if (process.platform === "win32") {
6892
+ const out = execSync(`netstat -ano | findstr :${p}`, { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"], timeout: 3e3 }).trim();
6893
+ if (out) {
6894
+ const parts = out.split(/\s+/);
6895
+ processInfo = `PID ${parts[parts.length - 1]}`;
6896
+ }
6897
+ }
6898
+ } catch {
6899
+ }
6900
+ return c.json({ available: false, port: p, inUse: true, process: processInfo || "Unknown process" });
6901
+ }
6902
+ return c.json({ available: true, port: p });
6903
+ } catch (e) {
6904
+ return c.json({ available: false, error: e.message });
6905
+ }
6906
+ });
6907
+ router.post("/system/unlock-screen", async (c) => {
6908
+ try {
6909
+ const platform = process.platform;
6910
+ if (platform === "darwin") {
6911
+ const { execSync } = await import("child_process");
6912
+ try {
6913
+ execSync("caffeinate -u -t 2", { stdio: "pipe", timeout: 5e3 });
6914
+ } catch {
6915
+ }
6916
+ const isLocked = (() => {
6917
+ try {
6918
+ const out = execSync(`python3 -c "import Quartz; d=Quartz.CGSessionCopyCurrentDictionary(); print(d.get('CGSSessionScreenIsLocked', 0))"`, { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"], timeout: 3e3 }).trim();
6919
+ return out === "1" || out === "True";
6920
+ } catch {
6921
+ try {
6922
+ const out = execSync(`osascript -e 'tell application "System Events" to get name of first application process whose frontmost is true'`, { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"], timeout: 3e3 }).trim();
6923
+ return out === "loginwindow" || out === "ScreenSaverEngine";
6924
+ } catch {
6925
+ return false;
6926
+ }
6927
+ }
6928
+ })();
6929
+ if (!isLocked) {
6930
+ return c.json({ success: true, wasLocked: false, message: "Screen is already unlocked" });
6931
+ }
6932
+ const body = await c.req.json().catch(() => ({}));
6933
+ const password = body.password;
6934
+ if (!password) {
6935
+ return c.json({ success: false, locked: true, error: "Screen is locked but no password provided. Configure the system password in Settings > Security or the agent's Permissions tab." });
6936
+ }
6937
+ try {
6938
+ execSync(`osascript -e 'tell application "System Events" to keystroke "${password.replace(/["\\]/g, "\\$&")}"' -e 'delay 0.3' -e 'tell application "System Events" to key code 36'`, {
6939
+ stdio: "pipe",
6940
+ timeout: 1e4
6941
+ });
6942
+ await new Promise((r) => setTimeout(r, 2e3));
6943
+ const stillLocked = (() => {
6944
+ try {
6945
+ const out = execSync(`python3 -c "import Quartz; d=Quartz.CGSessionCopyCurrentDictionary(); print(d.get('CGSSessionScreenIsLocked', 0))"`, { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"], timeout: 3e3 }).trim();
6946
+ return out === "1" || out === "True";
6947
+ } catch {
6948
+ return false;
6949
+ }
6950
+ })();
6951
+ if (stillLocked) {
6952
+ return c.json({ success: false, error: "Failed to unlock \u2014 password may be incorrect" });
6953
+ }
6954
+ return c.json({ success: true, wasLocked: true, message: "Screen unlocked successfully" });
6955
+ } catch (e) {
6956
+ return c.json({ success: false, error: "Unlock attempt failed: " + e.message });
6957
+ }
6958
+ } else if (platform === "linux") {
6959
+ const { execSync } = await import("child_process");
6960
+ const body = await c.req.json().catch(() => ({}));
6961
+ const password = body.password;
6962
+ try {
6963
+ execSync("loginctl unlock-session $(loginctl list-sessions --no-legend | head -1 | awk '{print $1}')", { stdio: "pipe", timeout: 5e3 });
6964
+ return c.json({ success: true, message: "Session unlocked via loginctl" });
6965
+ } catch {
6966
+ }
6967
+ if (password) {
6968
+ try {
6969
+ execSync(`xdotool key --clearmodifiers super; sleep 0.5; xdotool type --clearmodifiers "${password.replace(/["\\]/g, "\\$&")}"; xdotool key Return`, { stdio: "pipe", timeout: 1e4 });
6970
+ return c.json({ success: true, message: "Unlock attempted via xdotool" });
6971
+ } catch {
6972
+ }
6973
+ }
6974
+ return c.json({ success: false, error: "Could not unlock Linux session. Supported: loginctl, xdotool." });
6975
+ } else if (platform === "win32") {
6976
+ return c.json({ success: false, error: "Windows unlock not yet supported. Use Remote Desktop or disable lock screen." });
6977
+ } else {
6978
+ return c.json({ success: false, error: `Unsupported platform: ${platform}` });
6979
+ }
6980
+ } catch (e) {
6981
+ return c.json({ success: false, error: e.message });
6982
+ }
6983
+ });
6984
+ router.get("/system/screen-status", async (c) => {
6985
+ try {
6986
+ const platform = process.platform;
6987
+ if (platform === "darwin") {
6988
+ const { execSync } = await import("child_process");
6989
+ const isLocked = (() => {
6990
+ try {
6991
+ const out = execSync(`python3 -c "import Quartz; d=Quartz.CGSessionCopyCurrentDictionary(); print(d.get('CGSSessionScreenIsLocked', 0))"`, { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"], timeout: 3e3 }).trim();
6992
+ return out === "1" || out === "True";
6993
+ } catch {
6994
+ try {
6995
+ const out = execSync(`osascript -e 'tell application "System Events" to get name of first application process whose frontmost is true'`, { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"], timeout: 3e3 }).trim();
6996
+ return out === "loginwindow" || out === "ScreenSaverEngine";
6997
+ } catch {
6998
+ return false;
6999
+ }
7000
+ }
7001
+ })();
7002
+ const displayAsleep = (() => {
7003
+ try {
7004
+ const out = execSync('ioreg -r -d 1 -k IODisplayWrangler | grep -i "currentpowerstate"', { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"], timeout: 3e3 });
7005
+ return out.includes("= 0") || out.includes("= 1");
7006
+ } catch {
7007
+ return false;
7008
+ }
7009
+ })();
7010
+ return c.json({ locked: isLocked, displayAsleep, platform: "macOS" });
7011
+ } else if (platform === "linux") {
7012
+ const { execSync } = await import("child_process");
7013
+ const isLocked = (() => {
7014
+ try {
7015
+ const out = execSync("loginctl show-session $(loginctl list-sessions --no-legend | head -1 | awk '{print $1}') -p LockedHint --value", { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"], timeout: 3e3 }).trim();
7016
+ return out === "yes";
7017
+ } catch {
7018
+ return false;
7019
+ }
7020
+ })();
7021
+ return c.json({ locked: isLocked, platform: "Linux" });
7022
+ }
7023
+ return c.json({ locked: false, platform });
7024
+ } catch (e) {
7025
+ return c.json({ locked: false, error: e.message });
7026
+ }
7027
+ });
6850
7028
  router.post("/bridge/agents", async (c) => {
6851
7029
  const { orgId, name, email, displayName, role, model, deployment, permissionProfile, presetName, createdBy, persona, permissions: permissionsData, skills, knowledgeBases, description, soulId, deployTarget } = await c.req.json();
6852
7030
  if (!name || !orgId) {
@@ -6896,7 +7074,7 @@ function createAgentRoutes(opts) {
6896
7074
  if (presetName || permissionsData) {
6897
7075
  let profile = { id: agentId, name: presetName || "Custom", createdAt: (/* @__PURE__ */ new Date()).toISOString(), updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
6898
7076
  if (presetName) {
6899
- const { PRESET_PROFILES: PRESET_PROFILES2 } = await import("./skills-HFSW74KZ.js");
7077
+ const { PRESET_PROFILES: PRESET_PROFILES2 } = await import("./skills-FR7I5V7H.js");
6900
7078
  const preset = PRESET_PROFILES2.find((p) => p.name === presetName);
6901
7079
  if (preset) Object.assign(profile, preset);
6902
7080
  }
@@ -6924,7 +7102,7 @@ function createAgentRoutes(opts) {
6924
7102
  }
6925
7103
  const managedAgent = await lifecycle2.createAgent(orgId, config, actor);
6926
7104
  try {
6927
- const { knowledgeBase: kbEngine } = await import("./routes-TZMPYLHJ.js");
7105
+ const { knowledgeBase: kbEngine } = await import("./routes-LRRLXIZR.js");
6928
7106
  const allKbs = kbEngine.getAllKnowledgeBases();
6929
7107
  const clientOrgId = managedAgent?.clientOrgId || config?.clientOrgId || null;
6930
7108
  let kbAssigned = 0;
@@ -7867,6 +8045,212 @@ function createAgentRoutes(opts) {
7867
8045
  icon: Emoji.telegram || Emoji.chat,
7868
8046
  requiresIntegration: "telegram",
7869
8047
  tools: ["telegram_send", "telegram_send_media", "telegram_get_me", "telegram_get_chat"]
8048
+ },
8049
+ // ── Microsoft 365 ──────────────────────────────────
8050
+ {
8051
+ id: "outlook_mail",
8052
+ name: "Outlook Mail",
8053
+ description: "Full email management \u2014 inbox, send, reply, forward, search, threads, drafts, rules, auto-reply, categories",
8054
+ icon: Emoji.envelope,
8055
+ requiresOAuth: "microsoft",
8056
+ tools: [
8057
+ "outlook_mail_list",
8058
+ "outlook_mail_read",
8059
+ "outlook_mail_thread",
8060
+ "outlook_mail_send",
8061
+ "outlook_mail_reply",
8062
+ "outlook_mail_forward",
8063
+ "outlook_mail_move",
8064
+ "outlook_mail_delete",
8065
+ "outlook_mail_update",
8066
+ "outlook_mail_search",
8067
+ "outlook_mail_draft",
8068
+ "outlook_mail_send_draft",
8069
+ "outlook_mail_folders",
8070
+ "outlook_mail_create_folder",
8071
+ "outlook_mail_attachment_download",
8072
+ "outlook_mail_auto_reply",
8073
+ "outlook_mail_get_auto_reply",
8074
+ "outlook_mail_rules",
8075
+ "outlook_mail_categories",
8076
+ "outlook_mail_profile"
8077
+ ]
8078
+ },
8079
+ {
8080
+ id: "outlook_calendar",
8081
+ name: "Outlook Calendar",
8082
+ description: "Calendar events, scheduling, free/busy lookup, Teams meeting creation, invite responses",
8083
+ icon: Emoji.calendar,
8084
+ requiresOAuth: "microsoft",
8085
+ tools: [
8086
+ "outlook_calendar_list",
8087
+ "outlook_calendar_events",
8088
+ "outlook_calendar_create",
8089
+ "outlook_calendar_update",
8090
+ "outlook_calendar_delete",
8091
+ "outlook_calendar_respond",
8092
+ "outlook_calendar_freebusy"
8093
+ ]
8094
+ },
8095
+ {
8096
+ id: "onedrive",
8097
+ name: "OneDrive",
8098
+ description: "Cloud file management \u2014 list, search, read, upload, share, create folders",
8099
+ icon: Emoji.folder,
8100
+ requiresOAuth: "microsoft",
8101
+ tools: [
8102
+ "onedrive_list",
8103
+ "onedrive_search",
8104
+ "onedrive_read",
8105
+ "onedrive_upload",
8106
+ "onedrive_create_folder",
8107
+ "onedrive_delete",
8108
+ "onedrive_share"
8109
+ ]
8110
+ },
8111
+ {
8112
+ id: "teams",
8113
+ name: "Microsoft Teams",
8114
+ description: "Team messaging, channels, chats, file sharing, presence, member management",
8115
+ icon: Emoji.chat,
8116
+ requiresOAuth: "microsoft",
8117
+ tools: [
8118
+ "teams_list_teams",
8119
+ "teams_list_channels",
8120
+ "teams_create_channel",
8121
+ "teams_send_channel_message",
8122
+ "teams_reply_to_message",
8123
+ "teams_read_channel_messages",
8124
+ "teams_list_chats",
8125
+ "teams_send_chat_message",
8126
+ "teams_read_chat_messages",
8127
+ "teams_list_members",
8128
+ "teams_add_member",
8129
+ "teams_share_file",
8130
+ "teams_presence",
8131
+ "teams_set_status"
8132
+ ]
8133
+ },
8134
+ {
8135
+ id: "todo",
8136
+ name: "Microsoft To Do",
8137
+ description: "Task lists, task CRUD with due dates, reminders, and importance",
8138
+ icon: Emoji.check,
8139
+ requiresOAuth: "microsoft",
8140
+ tools: ["todo_list_lists", "todo_list_tasks", "todo_create_task", "todo_update_task", "todo_delete_task", "todo_create_list"]
8141
+ },
8142
+ {
8143
+ id: "outlook_contacts",
8144
+ name: "Outlook Contacts",
8145
+ description: "Contact management, address book, people search",
8146
+ icon: Emoji.people,
8147
+ requiresOAuth: "microsoft",
8148
+ tools: ["outlook_contacts_list", "outlook_contacts_create", "outlook_contacts_update", "outlook_contacts_delete", "outlook_people_search"]
8149
+ },
8150
+ {
8151
+ id: "excel",
8152
+ name: "Microsoft Excel",
8153
+ description: "Read/write cells, ranges, tables, worksheets, formulas, charts, formatting",
8154
+ icon: Emoji.chartUp,
8155
+ requiresOAuth: "microsoft",
8156
+ tools: [
8157
+ "excel_list_worksheets",
8158
+ "excel_read_range",
8159
+ "excel_write_range",
8160
+ "excel_add_row",
8161
+ "excel_list_tables",
8162
+ "excel_read_table",
8163
+ "excel_create_worksheet",
8164
+ "excel_create_session",
8165
+ "excel_close_session",
8166
+ "excel_evaluate_formula",
8167
+ "excel_named_ranges",
8168
+ "excel_read_named_range",
8169
+ "excel_list_charts",
8170
+ "excel_chart_image",
8171
+ "excel_pivot_refresh",
8172
+ "excel_set_cell_format"
8173
+ ]
8174
+ },
8175
+ {
8176
+ id: "sharepoint",
8177
+ name: "SharePoint",
8178
+ description: "Sites, document libraries, lists, search, file management across SharePoint Online",
8179
+ icon: Emoji.database,
8180
+ requiresOAuth: "microsoft",
8181
+ tools: [
8182
+ "sharepoint_list_sites",
8183
+ "sharepoint_get_site",
8184
+ "sharepoint_list_drives",
8185
+ "sharepoint_list_files",
8186
+ "sharepoint_upload_file",
8187
+ "sharepoint_list_lists",
8188
+ "sharepoint_list_items",
8189
+ "sharepoint_create_list_item",
8190
+ "sharepoint_update_list_item",
8191
+ "sharepoint_search"
8192
+ ]
8193
+ },
8194
+ {
8195
+ id: "onenote",
8196
+ name: "OneNote",
8197
+ description: "Notebooks, sections, pages \u2014 read, create, and update notes",
8198
+ icon: Emoji.note,
8199
+ requiresOAuth: "microsoft",
8200
+ tools: [
8201
+ "onenote_list_notebooks",
8202
+ "onenote_list_sections",
8203
+ "onenote_list_pages",
8204
+ "onenote_read_page",
8205
+ "onenote_create_page",
8206
+ "onenote_update_page"
8207
+ ]
8208
+ },
8209
+ {
8210
+ id: "powerpoint",
8211
+ name: "PowerPoint",
8212
+ description: "Presentation metadata, PDF export, thumbnails, templates, embed URLs",
8213
+ icon: Emoji.art,
8214
+ requiresOAuth: "microsoft",
8215
+ tools: [
8216
+ "powerpoint_get_info",
8217
+ "powerpoint_export_pdf",
8218
+ "powerpoint_get_thumbnails",
8219
+ "powerpoint_create_from_template",
8220
+ "powerpoint_get_embed_url"
8221
+ ]
8222
+ },
8223
+ {
8224
+ id: "planner",
8225
+ name: "Microsoft Planner",
8226
+ description: "Project boards \u2014 plans, buckets, tasks (Kanban-style task management)",
8227
+ icon: Emoji.clipboard,
8228
+ requiresOAuth: "microsoft",
8229
+ tools: [
8230
+ "planner_list_plans",
8231
+ "planner_list_buckets",
8232
+ "planner_list_tasks",
8233
+ "planner_create_task",
8234
+ "planner_update_task",
8235
+ "planner_delete_task"
8236
+ ]
8237
+ },
8238
+ {
8239
+ id: "powerbi",
8240
+ name: "Power BI",
8241
+ description: "Workspaces, reports, dashboards, datasets, DAX queries, data refresh",
8242
+ icon: Emoji.barChart,
8243
+ requiresOAuth: "microsoft",
8244
+ tools: [
8245
+ "powerbi_list_workspaces",
8246
+ "powerbi_list_reports",
8247
+ "powerbi_list_dashboards",
8248
+ "powerbi_list_datasets",
8249
+ "powerbi_refresh_dataset",
8250
+ "powerbi_refresh_history",
8251
+ "powerbi_execute_query",
8252
+ "powerbi_dashboard_tiles"
8253
+ ]
7870
8254
  }
7871
8255
  ];
7872
8256
  router.get("/bridge/system/capabilities", async (c) => {
@@ -8355,7 +8739,7 @@ function createAgentRoutes(opts) {
8355
8739
  if (body.requireApproval) profile.requireApproval = body.requireApproval;
8356
8740
  if (body.rateLimits) profile.rateLimits = body.rateLimits;
8357
8741
  if (body.constraints) profile.constraints = body.constraints;
8358
- permissions.setProfile(agentId, profile, managed.org_id);
8742
+ permissions.setProfile(agentId, profile, managed.orgId);
8359
8743
  }
8360
8744
  managed.updatedAt = (/* @__PURE__ */ new Date()).toISOString();
8361
8745
  await lifecycle2.saveAgent(agentId);
@@ -8443,7 +8827,7 @@ function createAgentRoutes(opts) {
8443
8827
  }
8444
8828
  profile.tools.blocked = [...newBlocked];
8445
8829
  profile.tools.allowed = [...newAllowed];
8446
- permissions.setProfile(agentId, profile, managed.org_id);
8830
+ permissions.setProfile(agentId, profile, managed.orgId);
8447
8831
  }
8448
8832
  managed.updatedAt = (/* @__PURE__ */ new Date()).toISOString();
8449
8833
  await lifecycle2.saveAgent(agentId);
@@ -24033,6 +24417,13 @@ Manager: ${node.managerName} (external) \u2014 ${node.managerEmail}`);
24033
24417
 
24034
24418
  // src/database-access/routes.ts
24035
24419
  import { Hono as Hono28 } from "hono";
24420
+ async function notifyAgentReload(agentId) {
24421
+ try {
24422
+ const { notifyAgent } = await import("./agent-notify-OEQBCZLN.js");
24423
+ await notifyAgent(agentId, "db-access");
24424
+ } catch {
24425
+ }
24426
+ }
24036
24427
  function createDatabaseAccessRoutes(manager) {
24037
24428
  const router = new Hono28();
24038
24429
  router.get("/connections", async (c) => {
@@ -24142,6 +24533,8 @@ function createDatabaseAccessRoutes(manager) {
24142
24533
  requireApproval: body.requireApproval ?? false,
24143
24534
  enabled: true
24144
24535
  });
24536
+ notifyAgentReload(body.agentId).catch(() => {
24537
+ });
24145
24538
  return c.json(access, 201);
24146
24539
  });
24147
24540
  router.put("/connections/:connId/agents/:agentId", async (c) => {
@@ -24151,7 +24544,10 @@ function createDatabaseAccessRoutes(manager) {
24151
24544
  return c.json(updated);
24152
24545
  });
24153
24546
  router.delete("/connections/:connId/agents/:agentId", async (c) => {
24154
- await manager.revokeAccess(c.req.param("agentId"), c.req.param("connId"));
24547
+ const agentId = c.req.param("agentId");
24548
+ await manager.revokeAccess(agentId, c.req.param("connId"));
24549
+ notifyAgentReload(agentId).catch(() => {
24550
+ });
24155
24551
  return c.json({ ok: true });
24156
24552
  });
24157
24553
  router.get("/agents/:agentId/connections", async (c) => {
@@ -24502,7 +24898,7 @@ function mountRuntimeApp(app) {
24502
24898
  function setRuntime(runtime) {
24503
24899
  _runtime = runtime;
24504
24900
  }
24505
- var engine, _engineApp, permissionEngine, configGen, deployer, approvals, lifecycle, knowledgeBase, tenants, activity, agentStatus, dlp, commBus, guardrails, journal, compliance, communityRegistry, workforce, policyEngine, memoryManager, onboarding, vault, orgIntegrations, storageManager, policyImporter, knowledgeContribution, hierarchyManager, knowledgeImport, taskQueue, skillUpdater, databaseManager, _engineDb, _adminDb, _chatPoller, _emailPoller, _messagingPoller, _runtimeApp, _runtime;
24901
+ var engine, _engineApp, _engineDb, _adminDb, permissionEngine, configGen, deployer, approvals, lifecycle, knowledgeBase, tenants, activity, agentStatus, dlp, commBus, guardrails, journal, compliance, communityRegistry, workforce, policyEngine, memoryManager, onboarding, vault, orgIntegrations, storageManager, policyImporter, knowledgeContribution, hierarchyManager, knowledgeImport, taskQueue, skillUpdater, databaseManager, _chatPoller, _emailPoller, _messagingPoller, _runtimeApp, _runtime;
24506
24902
  var init_routes3 = __esm({
24507
24903
  "src/engine/routes.ts"() {
24508
24904
  init_skills2();
@@ -24568,6 +24964,8 @@ var init_routes3 = __esm({
24568
24964
  init_database_access();
24569
24965
  engine = new Hono29();
24570
24966
  _engineApp = engine;
24967
+ _engineDb = null;
24968
+ _adminDb = null;
24571
24969
  permissionEngine = new PermissionEngine(FULL_SKILL_DEFINITIONS);
24572
24970
  {
24573
24971
  const totalTools = FULL_SKILL_DEFINITIONS.reduce((s, sk) => s + sk.tools.length, 0);
@@ -25161,8 +25559,6 @@ var init_routes3 = __esm({
25161
25559
  await poller.rediscover();
25162
25560
  return c.json({ ok: true });
25163
25561
  });
25164
- _engineDb = null;
25165
- _adminDb = null;
25166
25562
  _chatPoller = null;
25167
25563
  _emailPoller = null;
25168
25564
  _messagingPoller = null;
@@ -1046,7 +1046,7 @@ async function provision(config, ora, chalk) {
1046
1046
  const engineDbInterface = db.getEngineDB();
1047
1047
  if (engineDbInterface) {
1048
1048
  spinner.start("Initializing engine...");
1049
- const { EngineDatabase } = await import("./db-adapter-IK2EDK2N.js");
1049
+ const { EngineDatabase } = await import("./db-adapter-2T56ORSD.js");
1050
1050
  const dialectMap = {
1051
1051
  sqlite: "sqlite",
1052
1052
  postgres: "postgres",
@@ -1188,7 +1188,7 @@ async function deploy(config, db, jwtSecret, vaultKey, spinner, chalk) {
1188
1188
  const { deployTarget, company, database, domain, tunnel, cloud } = config;
1189
1189
  if (deployTarget === "cloudflare-tunnel" && tunnel) {
1190
1190
  spinner.start(`Starting local server on port ${tunnel.port}...`);
1191
- const { createServer: createServer2 } = await import("./server-TXV3ZVVR.js");
1191
+ const { createServer: createServer2 } = await import("./server-X4CJTHHF.js");
1192
1192
  const server2 = createServer2({ port: tunnel.port, db, jwtSecret });
1193
1193
  const handle2 = await server2.start();
1194
1194
  spinner.succeed("Server running");
@@ -1341,7 +1341,7 @@ async function deploy(config, db, jwtSecret, vaultKey, spinner, chalk) {
1341
1341
  return {};
1342
1342
  }
1343
1343
  spinner.start("Starting local server...");
1344
- const { createServer } = await import("./server-TXV3ZVVR.js");
1344
+ const { createServer } = await import("./server-X4CJTHHF.js");
1345
1345
  const server = createServer({ port: 3e3, db, jwtSecret });
1346
1346
  const handle = await server.start();
1347
1347
  spinner.succeed("Server running");
@@ -1046,7 +1046,7 @@ async function provision(config, ora, chalk) {
1046
1046
  const engineDbInterface = db.getEngineDB();
1047
1047
  if (engineDbInterface) {
1048
1048
  spinner.start("Initializing engine...");
1049
- const { EngineDatabase } = await import("./db-adapter-IK2EDK2N.js");
1049
+ const { EngineDatabase } = await import("./db-adapter-2T56ORSD.js");
1050
1050
  const dialectMap = {
1051
1051
  sqlite: "sqlite",
1052
1052
  postgres: "postgres",
@@ -1188,7 +1188,7 @@ async function deploy(config, db, jwtSecret, vaultKey, spinner, chalk) {
1188
1188
  const { deployTarget, company, database, domain, tunnel, cloud } = config;
1189
1189
  if (deployTarget === "cloudflare-tunnel" && tunnel) {
1190
1190
  spinner.start(`Starting local server on port ${tunnel.port}...`);
1191
- const { createServer: createServer2 } = await import("./server-7TD3M2BW.js");
1191
+ const { createServer: createServer2 } = await import("./server-PWE5PQTR.js");
1192
1192
  const server2 = createServer2({ port: tunnel.port, db, jwtSecret });
1193
1193
  const handle2 = await server2.start();
1194
1194
  spinner.succeed("Server running");
@@ -1341,7 +1341,7 @@ async function deploy(config, db, jwtSecret, vaultKey, spinner, chalk) {
1341
1341
  return {};
1342
1342
  }
1343
1343
  spinner.start("Starting local server...");
1344
- const { createServer } = await import("./server-7TD3M2BW.js");
1344
+ const { createServer } = await import("./server-PWE5PQTR.js");
1345
1345
  const server = createServer({ port: 3e3, db, jwtSecret });
1346
1346
  const handle = await server.start();
1347
1347
  spinner.succeed("Server running");