@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.
- package/CHANGELOG.md +68 -0
- package/CODE_OF_CONDUCT.md +31 -0
- package/README.md +118 -38
- package/SECURITY.md +42 -0
- package/dist/agent-heartbeat-3FWNHZFX.js +510 -0
- package/dist/agent-heartbeat-4RWHZR7H.js +510 -0
- package/dist/agent-heartbeat-6ZGB5ILY.js +510 -0
- package/dist/agent-heartbeat-BIVHLKFM.js +510 -0
- package/dist/agent-heartbeat-HRKVFK2T.js +510 -0
- package/dist/agent-heartbeat-JC5GWVXD.js +510 -0
- package/dist/agent-heartbeat-K6A4HMHB.js +510 -0
- package/dist/agent-heartbeat-LCDXWFVB.js +510 -0
- package/dist/agent-heartbeat-P7HZCZAQ.js +510 -0
- package/dist/agent-heartbeat-PUIRSNIO.js +510 -0
- package/dist/agent-heartbeat-SN5ILQ6Y.js +510 -0
- package/dist/agent-heartbeat-TW5YTDYC.js +510 -0
- package/dist/agent-heartbeat-Z2QQXROL.js +510 -0
- package/dist/agent-notify-OEQBCZLN.js +43 -0
- package/dist/{agent-tools-263HM5QU.js → agent-tools-3W7XLUYA.js} +1 -1
- package/dist/agent-tools-4QK7LLNP.js +9 -0
- package/dist/agent-tools-54VZGT6L.js +9 -0
- package/dist/{agent-tools-AT4D276V.js → agent-tools-AYYDPO27.js} +7 -7
- package/dist/{agent-tools-MSTAPX2I.js → agent-tools-F2X47FKF.js} +7 -7
- package/dist/{agent-tools-FA26SY5O.js → agent-tools-O6W3QAZL.js} +11 -6
- package/dist/agent-tools-OAWVZBMW.js +9 -0
- package/dist/agent-tools-QCCU74PN.js +13949 -0
- package/dist/chunk-2LHUARN6.js +4929 -0
- package/dist/chunk-2WVCNCYC.js +5087 -0
- package/dist/{chunk-6PWDS7KY.js → chunk-3FM6YQUK.js} +20 -20
- package/dist/chunk-3UAFHUEC.js +212 -0
- package/dist/{chunk-WJO57PMO.js → chunk-46GOWZT4.js} +20 -20
- package/dist/{chunk-BNRE7TSX.js → chunk-5KYJAUZV.js} +3 -3
- package/dist/chunk-6C5PKREN.js +467 -0
- package/dist/{chunk-447MTPZF.js → chunk-6ZMLNEHB.js} +3 -3
- package/dist/chunk-BPZQT5N5.js +25652 -0
- package/dist/chunk-BQM7MBPS.js +1380 -0
- package/dist/{chunk-ZRFKGPIU.js → chunk-C52OQNNY.js} +20 -20
- package/dist/chunk-C7HGQF4Y.js +25652 -0
- package/dist/chunk-CAHNZGGK.js +25656 -0
- package/dist/{chunk-FL3CH3ET.js → chunk-CK7R6UHE.js} +51 -27
- package/dist/chunk-D36RPWB7.js +25652 -0
- package/dist/{chunk-36NM2B4C.js → chunk-DJK2UPFH.js} +63 -93
- package/dist/chunk-DM7FTF7W.js +4929 -0
- package/dist/chunk-DMD24UFZ.js +5101 -0
- package/dist/{chunk-36XNMIHA.js → chunk-DXZGPUAF.js} +20 -20
- package/dist/chunk-F46WB5IL.js +5087 -0
- package/dist/chunk-F5QG5SQH.js +5087 -0
- package/dist/{chunk-JGEVQZDR.js → chunk-FLQ5FLHW.js} +13 -16
- package/dist/chunk-H7GP733U.js +5087 -0
- package/dist/{chunk-OZSQLOV6.js → chunk-HHBXWB5U.js} +415 -19
- package/dist/{chunk-D24JY75H.js → chunk-IMXS4N6W.js} +3 -3
- package/dist/{chunk-6PVBV6ZP.js → chunk-JNMDD7JY.js} +3 -3
- package/dist/chunk-JTV5LA47.js +1519 -0
- package/dist/chunk-KV6G7NZX.js +1519 -0
- package/dist/chunk-MU5MEBIK.js +1519 -0
- package/dist/chunk-NLT5MC7X.js +465 -0
- package/dist/{chunk-GTFZZUXX.js → chunk-NVLYIM4J.js} +51 -27
- package/dist/{chunk-6G5SXLXC.js → chunk-NZY2BIZH.js} +63 -93
- package/dist/chunk-O42L6G67.js +1519 -0
- package/dist/chunk-OCNERGGM.js +4891 -0
- package/dist/chunk-OJSNHONE.js +1519 -0
- package/dist/{chunk-2TAZJWJN.js → chunk-OWL3QVH7.js} +18 -0
- package/dist/{chunk-P3HVY2HS.js → chunk-OWTLNV4Q.js} +382 -7
- package/dist/chunk-PCNYEP6T.js +4891 -0
- package/dist/{chunk-YL3Z5KPR.js → chunk-PI4AQ4Z6.js} +438 -15
- package/dist/chunk-PN3EGTCA.js +194 -0
- package/dist/chunk-Q37UKNRC.js +1519 -0
- package/dist/chunk-QXTC6J7H.js +5087 -0
- package/dist/{chunk-SPBQVNDI.js → chunk-RKERL5LZ.js} +25 -21
- package/dist/chunk-RVBK2IOX.js +25652 -0
- package/dist/chunk-SAKODCZ5.js +4891 -0
- package/dist/{chunk-XV4TU65E.js → chunk-SALGFC5L.js} +51 -27
- package/dist/chunk-STGWZ2MS.js +1519 -0
- package/dist/chunk-UY3ZVQDP.js +25652 -0
- package/dist/chunk-V6OSD62M.js +5087 -0
- package/dist/chunk-VP6YAHX4.js +1519 -0
- package/dist/chunk-WDYJOEAI.js +5087 -0
- package/dist/chunk-WEAFQNOS.js +195 -0
- package/dist/chunk-XKUSAZGP.js +5087 -0
- package/dist/chunk-Z6K5FKAB.js +548 -0
- package/dist/chunk-ZGE3XAXY.js +1519 -0
- package/dist/chunk-ZGYVXYQQ.js +3296 -0
- package/dist/cli-agent-7TB2BWS6.js +2370 -0
- package/dist/cli-agent-AKXFFST2.js +2370 -0
- package/dist/cli-agent-DZTKLITB.js +2357 -0
- package/dist/cli-agent-FOF7PFEP.js +2357 -0
- package/dist/cli-agent-H74M2ZYN.js +2357 -0
- package/dist/cli-agent-HORWVPHB.js +2370 -0
- package/dist/cli-agent-HSZT6SKF.js +2423 -0
- package/dist/cli-agent-JLUQ4ZU6.js +2424 -0
- package/dist/cli-agent-MVCDH4HV.js +2370 -0
- package/dist/cli-agent-NZXOEPJ2.js +2357 -0
- package/dist/cli-agent-PADN3QRC.js +2357 -0
- package/dist/cli-agent-QAYEX3BE.js +2441 -0
- package/dist/cli-agent-QT64DT5J.js +2370 -0
- package/dist/cli-agent-TFL2M6UK.js +2424 -0
- package/dist/cli-agent-UIKXATTD.js +2357 -0
- package/dist/cli-agent-UJN6FYTO.js +2370 -0
- package/dist/cli-agent-VIQAYVY4.js +2357 -0
- package/dist/cli-agent-WNWFVOFM.js +2370 -0
- package/dist/cli-agent-XBQX67VJ.js +2423 -0
- package/dist/cli-agent-ZLSC6FF4.js +2357 -0
- package/dist/cli-serve-2IL5DTEY.js +153 -0
- package/dist/cli-serve-47N5UKKW.js +153 -0
- package/dist/cli-serve-4XGZFUV2.js +140 -0
- package/dist/cli-serve-6OT3UEAN.js +140 -0
- package/dist/cli-serve-7L6EY5UH.js +153 -0
- package/dist/cli-serve-BDGOOOKQ.js +260 -0
- package/dist/cli-serve-BFNIW2LF.js +153 -0
- package/dist/cli-serve-C7MN6U5Q.js +153 -0
- package/dist/cli-serve-CR3OY3IM.js +153 -0
- package/dist/cli-serve-DAJFRWQ7.js +153 -0
- package/dist/cli-serve-FW6FHFW4.js +153 -0
- package/dist/cli-serve-GEEOQS77.js +153 -0
- package/dist/cli-serve-H562I3ZK.js +153 -0
- package/dist/cli-serve-HDQZF4C4.js +153 -0
- package/dist/cli-serve-LICAOMEB.js +140 -0
- package/dist/cli-serve-LLGYLWFS.js +153 -0
- package/dist/cli-serve-N3OISDNB.js +153 -0
- package/dist/cli-serve-TIZ27EVR.js +153 -0
- package/dist/cli-serve-TUNI2RCN.js +153 -0
- package/dist/cli-serve-WNOZMAWD.js +153 -0
- package/dist/cli-validate-Z726VJCN.js +150 -0
- package/dist/cli.js +4 -4
- package/dist/connection-manager-KAWEUWUR.js +9 -0
- package/dist/dashboard/app.js +9 -3
- package/dist/dashboard/components/knowledge-link.js +15 -0
- package/dist/dashboard/components/settings-help.js +4 -2
- package/dist/dashboard/docs/agent-deployment.html +33 -1
- package/dist/dashboard/docs/settings-network.html +321 -0
- package/dist/dashboard/docs/settings-security.html +347 -0
- package/dist/dashboard/docs/settings-tool-security.html +176 -0
- package/dist/dashboard/docs/settings.html +36 -16
- package/dist/dashboard/pages/agent-detail/deployment.js +39 -6
- package/dist/dashboard/pages/agent-detail/tools.js +10 -0
- package/dist/dashboard/pages/database-access.js +4 -3
- package/dist/dashboard/pages/settings.js +174 -37
- package/dist/dashboard/pages/task-pipeline.js +400 -843
- package/dist/db-adapter-2T56ORSD.js +7 -0
- package/dist/db-adapter-IRHOUMVC.js +7 -0
- package/dist/index.js +41 -41
- package/dist/microsoft-VREAZ7M2.js +3955 -0
- package/dist/routes-3MMLQTB6.js +90 -0
- package/dist/routes-4ZUIJ4HE.js +90 -0
- package/dist/routes-5MXHKKH4.js +90 -0
- package/dist/routes-64NJFK3B.js +90 -0
- package/dist/routes-6AKQ2LBV.js +90 -0
- package/dist/routes-CRRBUDO4.js +90 -0
- package/dist/routes-DIAF3MC3.js +90 -0
- package/dist/routes-KMUNU6CY.js +90 -0
- package/dist/routes-LRRLXIZR.js +90 -0
- package/dist/routes-N647AJYG.js +90 -0
- package/dist/routes-SSSELAAR.js +90 -0
- package/dist/routes-STERVGKJ.js +90 -0
- package/dist/routes-ZEZZACZP.js +90 -0
- package/dist/runtime-5EQN4GFM.js +45 -0
- package/dist/runtime-5LP7PUD4.js +45 -0
- package/dist/runtime-6BULDBR3.js +45 -0
- package/dist/runtime-6YEENDN3.js +45 -0
- package/dist/runtime-7LQFRG3B.js +45 -0
- package/dist/runtime-AMXJU2MB.js +45 -0
- package/dist/runtime-D6WSE7FG.js +45 -0
- package/dist/runtime-EYVN7NFJ.js +45 -0
- package/dist/runtime-F6RPWQVW.js +45 -0
- package/dist/runtime-FYMJURFC.js +45 -0
- package/dist/runtime-JRNBL4O4.js +45 -0
- package/dist/runtime-OM2NIBMI.js +45 -0
- package/dist/runtime-QWPVD7CY.js +45 -0
- package/dist/runtime-YLIIPTE4.js +45 -0
- package/dist/runtime-YU6P22CG.js +45 -0
- package/dist/screen-unlock-4RPZBHOI.js +118 -0
- package/dist/server-AMCSXINC.js +28 -0
- package/dist/server-CU6LVQS4.js +28 -0
- package/dist/server-DFYGH2CV.js +28 -0
- package/dist/server-EELWOC3X.js +28 -0
- package/dist/server-EN5E2OWQ.js +28 -0
- package/dist/server-GW2HYJYI.js +28 -0
- package/dist/server-J25NCRWJ.js +28 -0
- package/dist/server-JDGNOTFV.js +28 -0
- package/dist/server-NE5HD5DJ.js +28 -0
- package/dist/server-NQOT7W77.js +28 -0
- package/dist/server-PWE5PQTR.js +28 -0
- package/dist/server-Q2Q32H2B.js +28 -0
- package/dist/server-Q77ME7TL.js +28 -0
- package/dist/server-WLLH4WST.js +28 -0
- package/dist/server-WTUJ2O3F.js +28 -0
- package/dist/server-X4CJTHHF.js +28 -0
- package/dist/server-XK3ILCJC.js +28 -0
- package/dist/server-ZRD3NDJE.js +28 -0
- package/dist/setup-44VBAO4J.js +20 -0
- package/dist/setup-4ONNQBWB.js +20 -0
- package/dist/setup-4OSBXSCL.js +20 -0
- package/dist/setup-4QFGRBLZ.js +20 -0
- package/dist/setup-6766SGAR.js +20 -0
- package/dist/setup-AYY24DKM.js +20 -0
- package/dist/setup-B34N4HPU.js +20 -0
- package/dist/setup-E2YLC2EY.js +20 -0
- package/dist/setup-ER6NXTY5.js +20 -0
- package/dist/setup-H2AGCBW5.js +20 -0
- package/dist/setup-ICOZRKCX.js +20 -0
- package/dist/setup-JFTJH7UF.js +20 -0
- package/dist/setup-PRFNI6YW.js +20 -0
- package/dist/setup-RAHBMYHE.js +20 -0
- package/dist/setup-TXPR5UQX.js +20 -0
- package/dist/setup-XCJMELVU.js +20 -0
- package/dist/setup-XIYEIFVK.js +20 -0
- package/dist/setup-Z4PZSHBI.js +20 -0
- package/dist/skills-FR7I5V7H.js +16 -0
- package/dist/skills-HCVBA6PK.js +16 -0
- package/dist/system-prompts-TM7OA32C.js +913 -0
- package/dist/task-queue-O7IVZYUO.js +9 -0
- package/dist/transport-encryption-2T7PIXKG.js +25 -0
- package/logs/cloudflared-error.log +61 -0
- package/logs/cloudflared-out.log +0 -0
- package/logs/enterprise-error.log +0 -0
- package/logs/enterprise-out.log +3 -0
- package/logs/fola-error.log +0 -0
- package/logs/fola-out.log +0 -0
- package/logs/john-error.log +8 -0
- package/logs/john-out.log +0 -0
- package/package.json +31 -3
- package/src/agent-tools/tool-resolver.ts +50 -61
- package/src/agent-tools/tools/enterprise-database.ts +5 -5
- package/src/agent-tools/tools/local/dependency-manager.ts +2 -2
- package/src/agent-tools/tools/microsoft/graph-api.ts +137 -26
- package/src/agent-tools/tools/microsoft/outlook-mail.ts +392 -100
- package/src/agent-tools/tools/microsoft/teams.ts +267 -48
- package/src/auth/routes.ts +4 -4
- package/src/cli-agent.ts +108 -8
- package/src/cli-serve.ts +140 -0
- package/src/dashboard/app.js +9 -3
- package/src/dashboard/components/knowledge-link.js +15 -0
- package/src/dashboard/components/settings-help.js +4 -2
- package/src/dashboard/docs/agent-deployment.html +33 -1
- package/src/dashboard/docs/settings-network.html +321 -0
- package/src/dashboard/docs/settings-security.html +347 -0
- package/src/dashboard/docs/settings-tool-security.html +176 -0
- package/src/dashboard/docs/settings.html +36 -16
- package/src/dashboard/pages/agent-detail/deployment.js +39 -6
- package/src/dashboard/pages/agent-detail/tools.js +10 -0
- package/src/dashboard/pages/database-access.js +4 -3
- package/src/dashboard/pages/settings.js +174 -37
- package/src/dashboard/pages/task-pipeline.js +400 -843
- package/src/database-access/agent-tools.ts +78 -63
- package/src/database-access/connection-manager.ts +13 -2
- package/src/database-access/routes.ts +13 -1
- package/src/db/adapter.ts +1 -0
- package/src/engine/agent-memory.ts +2 -1
- package/src/engine/agent-notify.ts +50 -0
- package/src/engine/agent-routes.ts +257 -4
- package/src/engine/db-adapter.ts +16 -0
- package/src/engine/lifecycle.ts +4 -0
- package/src/engine/routes.ts +4 -3
- package/src/engine/screen-unlock.ts +136 -0
- package/src/engine/skills/database-access.ts +78 -0
- package/src/engine/skills/index.ts +3 -2
- package/src/engine/skills.ts +2 -0
- package/src/engine/task-queue-routes.ts +18 -0
- package/src/engine/task-queue.ts +15 -2
- package/src/middleware/transport-encryption.ts +1 -4
- package/src/runtime/agent-loop.ts +4 -0
- package/src/runtime/index.ts +15 -6
- package/src/server.ts +14 -1
- package/src/system-prompts/google/index.ts +1 -2
- package/src/system-prompts/index.ts +1 -1
- package/src/system-prompts/microsoft/contacts.ts +34 -0
- package/src/system-prompts/microsoft/excel.ts +52 -0
- package/src/system-prompts/microsoft/index.ts +31 -0
- package/src/system-prompts/microsoft/onedrive.ts +41 -0
- package/src/system-prompts/microsoft/onenote.ts +36 -0
- package/src/system-prompts/microsoft/outlook-calendar.ts +37 -0
- package/src/system-prompts/microsoft/outlook-mail.ts +46 -0
- package/src/system-prompts/microsoft/planner.ts +37 -0
- package/src/system-prompts/microsoft/powerbi.ts +38 -0
- package/src/system-prompts/microsoft/powerpoint.ts +35 -0
- package/src/system-prompts/microsoft/sharepoint.ts +44 -0
- package/src/system-prompts/microsoft/teams.ts +49 -0
- package/src/system-prompts/microsoft/todo.ts +37 -0
- package/src/types/hono-env.ts +4 -0
- package/.github/CODEOWNERS +0 -23
- package/.github/workflows/publish-community-skills.yml +0 -121
- package/.github/workflows/validate-community-skills.yml +0 -172
- package/agriculture_southwest_nigeria_research.txt +0 -10
- package/boa_credit_cards_research.txt +0 -10
- package/customer_support_research_feb2026.txt +0 -10
- package/dist/agent-tools-LRA7PPXG.js +0 -13922
- package/dist/agent-tools-VAU5DOQB.js +0 -13910
- package/dist/agent-tools-VWV7OWXU.js +0 -13922
- package/dist/chunk-2Z7MWTCX.js +0 -4977
- package/dist/chunk-3T4XU3VV.js +0 -5010
- package/dist/chunk-445QM4NX.js +0 -5061
- package/dist/chunk-5TW3Y7DJ.js +0 -1519
- package/dist/chunk-6I7VY3LT.js +0 -5060
- package/dist/chunk-6W5EK3UP.js +0 -4977
- package/dist/chunk-AQMSHJQT.js +0 -5069
- package/dist/chunk-ASSQW7HX.js +0 -5051
- package/dist/chunk-CIN27FGC.js +0 -5037
- package/dist/chunk-CMXY3NUB.js +0 -4977
- package/dist/chunk-DRLMRUDP.js +0 -5052
- package/dist/chunk-EHI7Z446.js +0 -1519
- package/dist/chunk-FEAILFAQ.js +0 -1519
- package/dist/chunk-GA3PYBZL.js +0 -1519
- package/dist/chunk-GWX63G5J.js +0 -1519
- package/dist/chunk-HHMZ4UY6.js +0 -1519
- package/dist/chunk-HVQMNF7E.js +0 -4921
- package/dist/chunk-HXM7F3YN.js +0 -1519
- package/dist/chunk-K6NGOUXG.js +0 -5060
- package/dist/chunk-KPG5WINJ.js +0 -4977
- package/dist/chunk-LBCUBYDL.js +0 -1519
- package/dist/chunk-LIRQSWLR.js +0 -5014
- package/dist/chunk-LRCKO5KE.js +0 -1519
- package/dist/chunk-M7XL3DJD.js +0 -5069
- package/dist/chunk-MHJULEIQ.js +0 -1519
- package/dist/chunk-MJGGW6MC.js +0 -106
- package/dist/chunk-MMYBDHDB.js +0 -4921
- package/dist/chunk-MQT5FXKD.js +0 -1519
- package/dist/chunk-OIMPEQF5.js +0 -4977
- package/dist/chunk-OOU7JUYE.js +0 -542
- package/dist/chunk-OW4GLBHP.js +0 -1519
- package/dist/chunk-Q4K4MMLU.js +0 -4977
- package/dist/chunk-RUK4CRPF.js +0 -1519
- package/dist/chunk-T7H65XQY.js +0 -1519
- package/dist/chunk-TQVFWG57.js +0 -5064
- package/dist/chunk-UEPK3IMC.js +0 -1519
- package/dist/chunk-VUWTXJH6.js +0 -1519
- package/dist/chunk-WCPGGSAD.js +0 -1519
- package/dist/chunk-WO63NZOJ.js +0 -1519
- package/dist/chunk-YPJDRVUM.js +0 -5064
- package/dist/chunk-ZROMH5DL.js +0 -4921
- package/src/dashboard/docs/_template.txt +0 -92
|
@@ -2033,6 +2033,21 @@ var EngineDatabase = class {
|
|
|
2033
2033
|
async query(sql, params) {
|
|
2034
2034
|
return this.db.all(sql, params);
|
|
2035
2035
|
}
|
|
2036
|
+
async get(sql, params) {
|
|
2037
|
+
return this.db.get(sql, params);
|
|
2038
|
+
}
|
|
2039
|
+
async getSettings() {
|
|
2040
|
+
const rows = await this.db.all("SELECT key, value FROM engine_settings", []);
|
|
2041
|
+
const result = {};
|
|
2042
|
+
for (const row of rows) {
|
|
2043
|
+
try {
|
|
2044
|
+
result[row.key] = JSON.parse(row.value);
|
|
2045
|
+
} catch {
|
|
2046
|
+
result[row.key] = row.value;
|
|
2047
|
+
}
|
|
2048
|
+
}
|
|
2049
|
+
return result;
|
|
2050
|
+
}
|
|
2036
2051
|
async execute(sql, params) {
|
|
2037
2052
|
return this.db.run(sql, params);
|
|
2038
2053
|
}
|
|
@@ -3002,6 +3017,9 @@ var EngineDatabase = class {
|
|
|
3002
3017
|
const config = sj(row.config);
|
|
3003
3018
|
const agent = {
|
|
3004
3019
|
id: row.id,
|
|
3020
|
+
name: row.display_name || row.name || config?.displayName || config?.name || row.id,
|
|
3021
|
+
displayName: row.display_name || config?.displayName || config?.name,
|
|
3022
|
+
display_name: row.display_name || config?.displayName || config?.name,
|
|
3005
3023
|
orgId: row.org_id,
|
|
3006
3024
|
config,
|
|
3007
3025
|
state: row.state,
|
|
@@ -52,7 +52,7 @@ import {
|
|
|
52
52
|
setSettingsDb,
|
|
53
53
|
setTransportEncryptionConfig,
|
|
54
54
|
transportEncryptionMiddleware
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-FLQ5FLHW.js";
|
|
56
56
|
import {
|
|
57
57
|
SecureVault,
|
|
58
58
|
init_vault
|
|
@@ -6851,6 +6851,175 @@ function createAgentRoutes(opts) {
|
|
|
6851
6851
|
return c.json({ success: false, error: e.message, hint: "Try running: sudo npm install -g pm2" }, 500);
|
|
6852
6852
|
}
|
|
6853
6853
|
});
|
|
6854
|
+
router.post("/system/check-port", async (c) => {
|
|
6855
|
+
try {
|
|
6856
|
+
const { port } = await c.req.json();
|
|
6857
|
+
const p = parseInt(port);
|
|
6858
|
+
if (!p || p < 1 || p > 65535) {
|
|
6859
|
+
return c.json({ available: false, error: "Invalid port number (1-65535)" });
|
|
6860
|
+
}
|
|
6861
|
+
const net = await import("net");
|
|
6862
|
+
const tryBind = (host) => new Promise((resolve) => {
|
|
6863
|
+
const server = net.createServer();
|
|
6864
|
+
server.once("error", () => resolve(false));
|
|
6865
|
+
server.once("listening", () => {
|
|
6866
|
+
server.close(() => resolve(true));
|
|
6867
|
+
});
|
|
6868
|
+
server.listen(p, host);
|
|
6869
|
+
});
|
|
6870
|
+
const [availAll, availLocal] = await Promise.all([tryBind("0.0.0.0"), tryBind("127.0.0.1")]);
|
|
6871
|
+
const available = availAll && availLocal;
|
|
6872
|
+
if (!available) {
|
|
6873
|
+
let processInfo = "";
|
|
6874
|
+
try {
|
|
6875
|
+
const { execSync } = await import("child_process");
|
|
6876
|
+
if (process.platform === "darwin" || process.platform === "linux") {
|
|
6877
|
+
const lsofBin = process.platform === "darwin" ? "/usr/sbin/lsof" : "lsof";
|
|
6878
|
+
const out = execSync(`${lsofBin} -i :${p} -P -n 2>/dev/null | head -5`, { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"], timeout: 3e3 }).trim();
|
|
6879
|
+
if (out) {
|
|
6880
|
+
const lines = out.split("\n").slice(1);
|
|
6881
|
+
if (lines.length > 0) {
|
|
6882
|
+
const parts = lines[0].split(/\s+/);
|
|
6883
|
+
processInfo = parts[0] ? `${parts[0]} (PID ${parts[1]})` : "";
|
|
6884
|
+
}
|
|
6885
|
+
}
|
|
6886
|
+
} else if (process.platform === "win32") {
|
|
6887
|
+
const out = execSync(`netstat -ano | findstr :${p}`, { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"], timeout: 3e3 }).trim();
|
|
6888
|
+
if (out) {
|
|
6889
|
+
const parts = out.split(/\s+/);
|
|
6890
|
+
processInfo = `PID ${parts[parts.length - 1]}`;
|
|
6891
|
+
}
|
|
6892
|
+
}
|
|
6893
|
+
} catch {
|
|
6894
|
+
}
|
|
6895
|
+
return c.json({ available: false, port: p, inUse: true, process: processInfo || "Unknown process" });
|
|
6896
|
+
}
|
|
6897
|
+
return c.json({ available: true, port: p });
|
|
6898
|
+
} catch (e) {
|
|
6899
|
+
return c.json({ available: false, error: e.message });
|
|
6900
|
+
}
|
|
6901
|
+
});
|
|
6902
|
+
router.post("/system/unlock-screen", async (c) => {
|
|
6903
|
+
try {
|
|
6904
|
+
const platform = process.platform;
|
|
6905
|
+
if (platform === "darwin") {
|
|
6906
|
+
const { execSync } = await import("child_process");
|
|
6907
|
+
try {
|
|
6908
|
+
execSync("caffeinate -u -t 2", { stdio: "pipe", timeout: 5e3 });
|
|
6909
|
+
} catch {
|
|
6910
|
+
}
|
|
6911
|
+
const isLocked = (() => {
|
|
6912
|
+
try {
|
|
6913
|
+
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();
|
|
6914
|
+
return out === "1" || out === "True";
|
|
6915
|
+
} catch {
|
|
6916
|
+
try {
|
|
6917
|
+
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();
|
|
6918
|
+
return out === "loginwindow" || out === "ScreenSaverEngine";
|
|
6919
|
+
} catch {
|
|
6920
|
+
return false;
|
|
6921
|
+
}
|
|
6922
|
+
}
|
|
6923
|
+
})();
|
|
6924
|
+
if (!isLocked) {
|
|
6925
|
+
return c.json({ success: true, wasLocked: false, message: "Screen is already unlocked" });
|
|
6926
|
+
}
|
|
6927
|
+
const body = await c.req.json().catch(() => ({}));
|
|
6928
|
+
const password = body.password;
|
|
6929
|
+
if (!password) {
|
|
6930
|
+
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." });
|
|
6931
|
+
}
|
|
6932
|
+
try {
|
|
6933
|
+
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'`, {
|
|
6934
|
+
stdio: "pipe",
|
|
6935
|
+
timeout: 1e4
|
|
6936
|
+
});
|
|
6937
|
+
await new Promise((r) => setTimeout(r, 2e3));
|
|
6938
|
+
const stillLocked = (() => {
|
|
6939
|
+
try {
|
|
6940
|
+
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();
|
|
6941
|
+
return out === "1" || out === "True";
|
|
6942
|
+
} catch {
|
|
6943
|
+
return false;
|
|
6944
|
+
}
|
|
6945
|
+
})();
|
|
6946
|
+
if (stillLocked) {
|
|
6947
|
+
return c.json({ success: false, error: "Failed to unlock \u2014 password may be incorrect" });
|
|
6948
|
+
}
|
|
6949
|
+
return c.json({ success: true, wasLocked: true, message: "Screen unlocked successfully" });
|
|
6950
|
+
} catch (e) {
|
|
6951
|
+
return c.json({ success: false, error: "Unlock attempt failed: " + e.message });
|
|
6952
|
+
}
|
|
6953
|
+
} else if (platform === "linux") {
|
|
6954
|
+
const { execSync } = await import("child_process");
|
|
6955
|
+
const body = await c.req.json().catch(() => ({}));
|
|
6956
|
+
const password = body.password;
|
|
6957
|
+
try {
|
|
6958
|
+
execSync("loginctl unlock-session $(loginctl list-sessions --no-legend | head -1 | awk '{print $1}')", { stdio: "pipe", timeout: 5e3 });
|
|
6959
|
+
return c.json({ success: true, message: "Session unlocked via loginctl" });
|
|
6960
|
+
} catch {
|
|
6961
|
+
}
|
|
6962
|
+
if (password) {
|
|
6963
|
+
try {
|
|
6964
|
+
execSync(`xdotool key --clearmodifiers super; sleep 0.5; xdotool type --clearmodifiers "${password.replace(/["\\]/g, "\\$&")}"; xdotool key Return`, { stdio: "pipe", timeout: 1e4 });
|
|
6965
|
+
return c.json({ success: true, message: "Unlock attempted via xdotool" });
|
|
6966
|
+
} catch {
|
|
6967
|
+
}
|
|
6968
|
+
}
|
|
6969
|
+
return c.json({ success: false, error: "Could not unlock Linux session. Supported: loginctl, xdotool." });
|
|
6970
|
+
} else if (platform === "win32") {
|
|
6971
|
+
return c.json({ success: false, error: "Windows unlock not yet supported. Use Remote Desktop or disable lock screen." });
|
|
6972
|
+
} else {
|
|
6973
|
+
return c.json({ success: false, error: `Unsupported platform: ${platform}` });
|
|
6974
|
+
}
|
|
6975
|
+
} catch (e) {
|
|
6976
|
+
return c.json({ success: false, error: e.message });
|
|
6977
|
+
}
|
|
6978
|
+
});
|
|
6979
|
+
router.get("/system/screen-status", async (c) => {
|
|
6980
|
+
try {
|
|
6981
|
+
const platform = process.platform;
|
|
6982
|
+
if (platform === "darwin") {
|
|
6983
|
+
const { execSync } = await import("child_process");
|
|
6984
|
+
const isLocked = (() => {
|
|
6985
|
+
try {
|
|
6986
|
+
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();
|
|
6987
|
+
return out === "1" || out === "True";
|
|
6988
|
+
} catch {
|
|
6989
|
+
try {
|
|
6990
|
+
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();
|
|
6991
|
+
return out === "loginwindow" || out === "ScreenSaverEngine";
|
|
6992
|
+
} catch {
|
|
6993
|
+
return false;
|
|
6994
|
+
}
|
|
6995
|
+
}
|
|
6996
|
+
})();
|
|
6997
|
+
const displayAsleep = (() => {
|
|
6998
|
+
try {
|
|
6999
|
+
const out = execSync('ioreg -r -d 1 -k IODisplayWrangler | grep -i "currentpowerstate"', { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"], timeout: 3e3 });
|
|
7000
|
+
return out.includes("= 0") || out.includes("= 1");
|
|
7001
|
+
} catch {
|
|
7002
|
+
return false;
|
|
7003
|
+
}
|
|
7004
|
+
})();
|
|
7005
|
+
return c.json({ locked: isLocked, displayAsleep, platform: "macOS" });
|
|
7006
|
+
} else if (platform === "linux") {
|
|
7007
|
+
const { execSync } = await import("child_process");
|
|
7008
|
+
const isLocked = (() => {
|
|
7009
|
+
try {
|
|
7010
|
+
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();
|
|
7011
|
+
return out === "yes";
|
|
7012
|
+
} catch {
|
|
7013
|
+
return false;
|
|
7014
|
+
}
|
|
7015
|
+
})();
|
|
7016
|
+
return c.json({ locked: isLocked, platform: "Linux" });
|
|
7017
|
+
}
|
|
7018
|
+
return c.json({ locked: false, platform });
|
|
7019
|
+
} catch (e) {
|
|
7020
|
+
return c.json({ locked: false, error: e.message });
|
|
7021
|
+
}
|
|
7022
|
+
});
|
|
6854
7023
|
router.post("/bridge/agents", async (c) => {
|
|
6855
7024
|
const { orgId, name, email, displayName, role, model, deployment, permissionProfile, presetName, createdBy, persona, permissions: permissionsData, skills, knowledgeBases, description, soulId, deployTarget } = await c.req.json();
|
|
6856
7025
|
if (!name || !orgId) {
|
|
@@ -6928,7 +7097,7 @@ function createAgentRoutes(opts) {
|
|
|
6928
7097
|
}
|
|
6929
7098
|
const managedAgent = await lifecycle2.createAgent(orgId, config, actor);
|
|
6930
7099
|
try {
|
|
6931
|
-
const { knowledgeBase: kbEngine } = await import("./routes-
|
|
7100
|
+
const { knowledgeBase: kbEngine } = await import("./routes-N647AJYG.js");
|
|
6932
7101
|
const allKbs = kbEngine.getAllKnowledgeBases();
|
|
6933
7102
|
const clientOrgId = managedAgent?.clientOrgId || config?.clientOrgId || null;
|
|
6934
7103
|
let kbAssigned = 0;
|
|
@@ -7871,6 +8040,212 @@ function createAgentRoutes(opts) {
|
|
|
7871
8040
|
icon: Emoji.telegram || Emoji.chat,
|
|
7872
8041
|
requiresIntegration: "telegram",
|
|
7873
8042
|
tools: ["telegram_send", "telegram_send_media", "telegram_get_me", "telegram_get_chat"]
|
|
8043
|
+
},
|
|
8044
|
+
// ── Microsoft 365 ──────────────────────────────────
|
|
8045
|
+
{
|
|
8046
|
+
id: "outlook_mail",
|
|
8047
|
+
name: "Outlook Mail",
|
|
8048
|
+
description: "Full email management \u2014 inbox, send, reply, forward, search, threads, drafts, rules, auto-reply, categories",
|
|
8049
|
+
icon: Emoji.envelope,
|
|
8050
|
+
requiresOAuth: "microsoft",
|
|
8051
|
+
tools: [
|
|
8052
|
+
"outlook_mail_list",
|
|
8053
|
+
"outlook_mail_read",
|
|
8054
|
+
"outlook_mail_thread",
|
|
8055
|
+
"outlook_mail_send",
|
|
8056
|
+
"outlook_mail_reply",
|
|
8057
|
+
"outlook_mail_forward",
|
|
8058
|
+
"outlook_mail_move",
|
|
8059
|
+
"outlook_mail_delete",
|
|
8060
|
+
"outlook_mail_update",
|
|
8061
|
+
"outlook_mail_search",
|
|
8062
|
+
"outlook_mail_draft",
|
|
8063
|
+
"outlook_mail_send_draft",
|
|
8064
|
+
"outlook_mail_folders",
|
|
8065
|
+
"outlook_mail_create_folder",
|
|
8066
|
+
"outlook_mail_attachment_download",
|
|
8067
|
+
"outlook_mail_auto_reply",
|
|
8068
|
+
"outlook_mail_get_auto_reply",
|
|
8069
|
+
"outlook_mail_rules",
|
|
8070
|
+
"outlook_mail_categories",
|
|
8071
|
+
"outlook_mail_profile"
|
|
8072
|
+
]
|
|
8073
|
+
},
|
|
8074
|
+
{
|
|
8075
|
+
id: "outlook_calendar",
|
|
8076
|
+
name: "Outlook Calendar",
|
|
8077
|
+
description: "Calendar events, scheduling, free/busy lookup, Teams meeting creation, invite responses",
|
|
8078
|
+
icon: Emoji.calendar,
|
|
8079
|
+
requiresOAuth: "microsoft",
|
|
8080
|
+
tools: [
|
|
8081
|
+
"outlook_calendar_list",
|
|
8082
|
+
"outlook_calendar_events",
|
|
8083
|
+
"outlook_calendar_create",
|
|
8084
|
+
"outlook_calendar_update",
|
|
8085
|
+
"outlook_calendar_delete",
|
|
8086
|
+
"outlook_calendar_respond",
|
|
8087
|
+
"outlook_calendar_freebusy"
|
|
8088
|
+
]
|
|
8089
|
+
},
|
|
8090
|
+
{
|
|
8091
|
+
id: "onedrive",
|
|
8092
|
+
name: "OneDrive",
|
|
8093
|
+
description: "Cloud file management \u2014 list, search, read, upload, share, create folders",
|
|
8094
|
+
icon: Emoji.folder,
|
|
8095
|
+
requiresOAuth: "microsoft",
|
|
8096
|
+
tools: [
|
|
8097
|
+
"onedrive_list",
|
|
8098
|
+
"onedrive_search",
|
|
8099
|
+
"onedrive_read",
|
|
8100
|
+
"onedrive_upload",
|
|
8101
|
+
"onedrive_create_folder",
|
|
8102
|
+
"onedrive_delete",
|
|
8103
|
+
"onedrive_share"
|
|
8104
|
+
]
|
|
8105
|
+
},
|
|
8106
|
+
{
|
|
8107
|
+
id: "teams",
|
|
8108
|
+
name: "Microsoft Teams",
|
|
8109
|
+
description: "Team messaging, channels, chats, file sharing, presence, member management",
|
|
8110
|
+
icon: Emoji.chat,
|
|
8111
|
+
requiresOAuth: "microsoft",
|
|
8112
|
+
tools: [
|
|
8113
|
+
"teams_list_teams",
|
|
8114
|
+
"teams_list_channels",
|
|
8115
|
+
"teams_create_channel",
|
|
8116
|
+
"teams_send_channel_message",
|
|
8117
|
+
"teams_reply_to_message",
|
|
8118
|
+
"teams_read_channel_messages",
|
|
8119
|
+
"teams_list_chats",
|
|
8120
|
+
"teams_send_chat_message",
|
|
8121
|
+
"teams_read_chat_messages",
|
|
8122
|
+
"teams_list_members",
|
|
8123
|
+
"teams_add_member",
|
|
8124
|
+
"teams_share_file",
|
|
8125
|
+
"teams_presence",
|
|
8126
|
+
"teams_set_status"
|
|
8127
|
+
]
|
|
8128
|
+
},
|
|
8129
|
+
{
|
|
8130
|
+
id: "todo",
|
|
8131
|
+
name: "Microsoft To Do",
|
|
8132
|
+
description: "Task lists, task CRUD with due dates, reminders, and importance",
|
|
8133
|
+
icon: Emoji.check,
|
|
8134
|
+
requiresOAuth: "microsoft",
|
|
8135
|
+
tools: ["todo_list_lists", "todo_list_tasks", "todo_create_task", "todo_update_task", "todo_delete_task", "todo_create_list"]
|
|
8136
|
+
},
|
|
8137
|
+
{
|
|
8138
|
+
id: "outlook_contacts",
|
|
8139
|
+
name: "Outlook Contacts",
|
|
8140
|
+
description: "Contact management, address book, people search",
|
|
8141
|
+
icon: Emoji.people,
|
|
8142
|
+
requiresOAuth: "microsoft",
|
|
8143
|
+
tools: ["outlook_contacts_list", "outlook_contacts_create", "outlook_contacts_update", "outlook_contacts_delete", "outlook_people_search"]
|
|
8144
|
+
},
|
|
8145
|
+
{
|
|
8146
|
+
id: "excel",
|
|
8147
|
+
name: "Microsoft Excel",
|
|
8148
|
+
description: "Read/write cells, ranges, tables, worksheets, formulas, charts, formatting",
|
|
8149
|
+
icon: Emoji.chartUp,
|
|
8150
|
+
requiresOAuth: "microsoft",
|
|
8151
|
+
tools: [
|
|
8152
|
+
"excel_list_worksheets",
|
|
8153
|
+
"excel_read_range",
|
|
8154
|
+
"excel_write_range",
|
|
8155
|
+
"excel_add_row",
|
|
8156
|
+
"excel_list_tables",
|
|
8157
|
+
"excel_read_table",
|
|
8158
|
+
"excel_create_worksheet",
|
|
8159
|
+
"excel_create_session",
|
|
8160
|
+
"excel_close_session",
|
|
8161
|
+
"excel_evaluate_formula",
|
|
8162
|
+
"excel_named_ranges",
|
|
8163
|
+
"excel_read_named_range",
|
|
8164
|
+
"excel_list_charts",
|
|
8165
|
+
"excel_chart_image",
|
|
8166
|
+
"excel_pivot_refresh",
|
|
8167
|
+
"excel_set_cell_format"
|
|
8168
|
+
]
|
|
8169
|
+
},
|
|
8170
|
+
{
|
|
8171
|
+
id: "sharepoint",
|
|
8172
|
+
name: "SharePoint",
|
|
8173
|
+
description: "Sites, document libraries, lists, search, file management across SharePoint Online",
|
|
8174
|
+
icon: Emoji.database,
|
|
8175
|
+
requiresOAuth: "microsoft",
|
|
8176
|
+
tools: [
|
|
8177
|
+
"sharepoint_list_sites",
|
|
8178
|
+
"sharepoint_get_site",
|
|
8179
|
+
"sharepoint_list_drives",
|
|
8180
|
+
"sharepoint_list_files",
|
|
8181
|
+
"sharepoint_upload_file",
|
|
8182
|
+
"sharepoint_list_lists",
|
|
8183
|
+
"sharepoint_list_items",
|
|
8184
|
+
"sharepoint_create_list_item",
|
|
8185
|
+
"sharepoint_update_list_item",
|
|
8186
|
+
"sharepoint_search"
|
|
8187
|
+
]
|
|
8188
|
+
},
|
|
8189
|
+
{
|
|
8190
|
+
id: "onenote",
|
|
8191
|
+
name: "OneNote",
|
|
8192
|
+
description: "Notebooks, sections, pages \u2014 read, create, and update notes",
|
|
8193
|
+
icon: Emoji.note,
|
|
8194
|
+
requiresOAuth: "microsoft",
|
|
8195
|
+
tools: [
|
|
8196
|
+
"onenote_list_notebooks",
|
|
8197
|
+
"onenote_list_sections",
|
|
8198
|
+
"onenote_list_pages",
|
|
8199
|
+
"onenote_read_page",
|
|
8200
|
+
"onenote_create_page",
|
|
8201
|
+
"onenote_update_page"
|
|
8202
|
+
]
|
|
8203
|
+
},
|
|
8204
|
+
{
|
|
8205
|
+
id: "powerpoint",
|
|
8206
|
+
name: "PowerPoint",
|
|
8207
|
+
description: "Presentation metadata, PDF export, thumbnails, templates, embed URLs",
|
|
8208
|
+
icon: Emoji.art,
|
|
8209
|
+
requiresOAuth: "microsoft",
|
|
8210
|
+
tools: [
|
|
8211
|
+
"powerpoint_get_info",
|
|
8212
|
+
"powerpoint_export_pdf",
|
|
8213
|
+
"powerpoint_get_thumbnails",
|
|
8214
|
+
"powerpoint_create_from_template",
|
|
8215
|
+
"powerpoint_get_embed_url"
|
|
8216
|
+
]
|
|
8217
|
+
},
|
|
8218
|
+
{
|
|
8219
|
+
id: "planner",
|
|
8220
|
+
name: "Microsoft Planner",
|
|
8221
|
+
description: "Project boards \u2014 plans, buckets, tasks (Kanban-style task management)",
|
|
8222
|
+
icon: Emoji.clipboard,
|
|
8223
|
+
requiresOAuth: "microsoft",
|
|
8224
|
+
tools: [
|
|
8225
|
+
"planner_list_plans",
|
|
8226
|
+
"planner_list_buckets",
|
|
8227
|
+
"planner_list_tasks",
|
|
8228
|
+
"planner_create_task",
|
|
8229
|
+
"planner_update_task",
|
|
8230
|
+
"planner_delete_task"
|
|
8231
|
+
]
|
|
8232
|
+
},
|
|
8233
|
+
{
|
|
8234
|
+
id: "powerbi",
|
|
8235
|
+
name: "Power BI",
|
|
8236
|
+
description: "Workspaces, reports, dashboards, datasets, DAX queries, data refresh",
|
|
8237
|
+
icon: Emoji.barChart,
|
|
8238
|
+
requiresOAuth: "microsoft",
|
|
8239
|
+
tools: [
|
|
8240
|
+
"powerbi_list_workspaces",
|
|
8241
|
+
"powerbi_list_reports",
|
|
8242
|
+
"powerbi_list_dashboards",
|
|
8243
|
+
"powerbi_list_datasets",
|
|
8244
|
+
"powerbi_refresh_dataset",
|
|
8245
|
+
"powerbi_refresh_history",
|
|
8246
|
+
"powerbi_execute_query",
|
|
8247
|
+
"powerbi_dashboard_tiles"
|
|
8248
|
+
]
|
|
7874
8249
|
}
|
|
7875
8250
|
];
|
|
7876
8251
|
router.get("/bridge/system/capabilities", async (c) => {
|
|
@@ -8359,7 +8734,7 @@ function createAgentRoutes(opts) {
|
|
|
8359
8734
|
if (body.requireApproval) profile.requireApproval = body.requireApproval;
|
|
8360
8735
|
if (body.rateLimits) profile.rateLimits = body.rateLimits;
|
|
8361
8736
|
if (body.constraints) profile.constraints = body.constraints;
|
|
8362
|
-
permissions.setProfile(agentId, profile, managed.
|
|
8737
|
+
permissions.setProfile(agentId, profile, managed.orgId);
|
|
8363
8738
|
}
|
|
8364
8739
|
managed.updatedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
8365
8740
|
await lifecycle2.saveAgent(agentId);
|
|
@@ -8447,7 +8822,7 @@ function createAgentRoutes(opts) {
|
|
|
8447
8822
|
}
|
|
8448
8823
|
profile.tools.blocked = [...newBlocked];
|
|
8449
8824
|
profile.tools.allowed = [...newAllowed];
|
|
8450
|
-
permissions.setProfile(agentId, profile, managed.
|
|
8825
|
+
permissions.setProfile(agentId, profile, managed.orgId);
|
|
8451
8826
|
}
|
|
8452
8827
|
managed.updatedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
8453
8828
|
await lifecycle2.saveAgent(agentId);
|
|
@@ -24506,7 +24881,7 @@ function mountRuntimeApp(app) {
|
|
|
24506
24881
|
function setRuntime(runtime) {
|
|
24507
24882
|
_runtime = runtime;
|
|
24508
24883
|
}
|
|
24509
|
-
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,
|
|
24884
|
+
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;
|
|
24510
24885
|
var init_routes3 = __esm({
|
|
24511
24886
|
"src/engine/routes.ts"() {
|
|
24512
24887
|
init_skills2();
|
|
@@ -24572,6 +24947,8 @@ var init_routes3 = __esm({
|
|
|
24572
24947
|
init_database_access();
|
|
24573
24948
|
engine = new Hono29();
|
|
24574
24949
|
_engineApp = engine;
|
|
24950
|
+
_engineDb = null;
|
|
24951
|
+
_adminDb = null;
|
|
24575
24952
|
permissionEngine = new PermissionEngine(FULL_SKILL_DEFINITIONS);
|
|
24576
24953
|
{
|
|
24577
24954
|
const totalTools = FULL_SKILL_DEFINITIONS.reduce((s, sk) => s + sk.tools.length, 0);
|
|
@@ -25165,8 +25542,6 @@ var init_routes3 = __esm({
|
|
|
25165
25542
|
await poller.rediscover();
|
|
25166
25543
|
return c.json({ ok: true });
|
|
25167
25544
|
});
|
|
25168
|
-
_engineDb = null;
|
|
25169
|
-
_adminDb = null;
|
|
25170
25545
|
_chatPoller = null;
|
|
25171
25546
|
_emailPoller = null;
|
|
25172
25547
|
_messagingPoller = null;
|