@agenticmail/enterprise 0.5.392 → 0.5.394
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{agent-heartbeat-4ANIPGGS.js → agent-heartbeat-IVDVHR2A.js} +1 -1
- package/dist/{agent-tools-HLCHRVEV.js → agent-tools-SXHMNUVO.js} +46 -5
- package/dist/{chunk-CJ6NJPJ6.js → chunk-7IOWCMIT.js} +57 -13
- package/dist/{chunk-GRWV7MDT.js → chunk-E5QPDR3O.js} +1 -1
- package/dist/{chunk-GF6IRQOC.js → chunk-LG3D4G42.js} +2 -2
- package/dist/{chunk-X54GHR4W.js → chunk-VJAF5XB3.js} +26 -19
- package/dist/chunk-WPM52NBU.js +58 -0
- package/dist/{chunk-VYP6FF3B.js → chunk-WXNNBQEL.js} +6 -7
- package/dist/{chunk-7E7MVJI7.js → chunk-YZRJHYKB.js} +18 -1
- package/dist/{cli-agent-WWDX3RIJ.js → cli-agent-ONJI6ZS3.js} +10 -10
- package/dist/{cli-serve-KNEKNOJT.js → cli-serve-BV67CWGV.js} +1 -1
- package/dist/{cli-validate-5OWQCA4S.js → cli-validate-3PO5OZGB.js} +1 -1
- package/dist/cli.js +4 -4
- package/dist/index.js +7 -6
- package/dist/{routes-DONZ5NBL.js → routes-KQARTBVE.js} +3 -3
- package/dist/{runtime-U3YSWLFD.js → runtime-N43BMXWV.js} +2 -1
- package/dist/{server-K5QLSS55.js → server-5XN2TV3I.js} +4 -4
- package/dist/{setup-5XWBZMTT.js → setup-YMIXA747.js} +1 -1
- package/dist/{skills-OKZFMTQT.js → skills-IGTRNAGN.js} +2 -2
- package/dist/{smtp-email-XPNVA6RW.js → smtp-email-P7RO566K.js} +1 -1
- package/dist/{system-prompts-TM7OA32C.js → system-prompts-RT3PDO6F.js} +4 -0
- package/package.json +1 -1
|
@@ -466,7 +466,7 @@ var AgentHeartbeatManager = class {
|
|
|
466
466
|
return;
|
|
467
467
|
}
|
|
468
468
|
try {
|
|
469
|
-
const { guardrails } = await import("./routes-
|
|
469
|
+
const { guardrails } = await import("./routes-KQARTBVE.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"}`);
|
|
@@ -12676,14 +12676,29 @@ var renderVideo = async (_id, params) => {
|
|
|
12676
12676
|
}
|
|
12677
12677
|
try {
|
|
12678
12678
|
const output = runInProject(projectDir, cmd, 6e5);
|
|
12679
|
+
let shareUrl;
|
|
12680
|
+
try {
|
|
12681
|
+
const baseUrl = process.env.ENTERPRISE_URL || `http://localhost:${process.env.PORT || 8080}`;
|
|
12682
|
+
const res = await fetch(`${baseUrl}/api/share-file`, {
|
|
12683
|
+
method: "POST",
|
|
12684
|
+
headers: { "Content-Type": "application/json" },
|
|
12685
|
+
body: JSON.stringify({ path: outputPath, ttl: 72 })
|
|
12686
|
+
// 72 hour expiry
|
|
12687
|
+
});
|
|
12688
|
+
if (res.ok) {
|
|
12689
|
+
const data = await res.json();
|
|
12690
|
+
shareUrl = data.url;
|
|
12691
|
+
}
|
|
12692
|
+
} catch {
|
|
12693
|
+
}
|
|
12679
12694
|
return {
|
|
12680
12695
|
success: true,
|
|
12681
12696
|
outputPath,
|
|
12682
12697
|
compositionId,
|
|
12683
12698
|
codec,
|
|
12684
|
-
|
|
12699
|
+
shareUrl,
|
|
12700
|
+
message: shareUrl ? `Video rendered and available at: ${shareUrl}` : "Video rendered successfully",
|
|
12685
12701
|
output: output.substring(output.length - 500)
|
|
12686
|
-
// last 500 chars of output
|
|
12687
12702
|
};
|
|
12688
12703
|
} catch (e) {
|
|
12689
12704
|
return {
|
|
@@ -12779,12 +12794,30 @@ var installPackage = async (_id, params) => {
|
|
|
12779
12794
|
return { error: `Install failed: ${e.message?.substring(0, 300)}` };
|
|
12780
12795
|
}
|
|
12781
12796
|
};
|
|
12797
|
+
var shareFile = async (_id, params) => {
|
|
12798
|
+
const { filePath, ttl = 72 } = params;
|
|
12799
|
+
if (!filePath) return { error: "filePath is required" };
|
|
12800
|
+
if (!existsSync(filePath)) return { error: `File not found: ${filePath}` };
|
|
12801
|
+
try {
|
|
12802
|
+
const baseUrl = process.env.ENTERPRISE_URL || `http://localhost:${process.env.PORT || 8080}`;
|
|
12803
|
+
const res = await fetch(`${baseUrl}/api/share-file`, {
|
|
12804
|
+
method: "POST",
|
|
12805
|
+
headers: { "Content-Type": "application/json" },
|
|
12806
|
+
body: JSON.stringify({ path: filePath, ttl })
|
|
12807
|
+
});
|
|
12808
|
+
if (!res.ok) return { error: `Share failed: ${res.status}` };
|
|
12809
|
+
const data = await res.json();
|
|
12810
|
+
return { success: true, url: data.url, expiresIn: data.expiresIn, message: `File available at: ${data.url}` };
|
|
12811
|
+
} catch (e) {
|
|
12812
|
+
return { error: `Share failed: ${e.message?.substring(0, 300)}` };
|
|
12813
|
+
}
|
|
12814
|
+
};
|
|
12782
12815
|
function tool(name, label, description, params, executor) {
|
|
12783
12816
|
return {
|
|
12784
12817
|
name,
|
|
12785
12818
|
label,
|
|
12786
12819
|
description,
|
|
12787
|
-
category: "
|
|
12820
|
+
category: "productivity",
|
|
12788
12821
|
risk: "medium",
|
|
12789
12822
|
parameters: params,
|
|
12790
12823
|
execute: async (_id, args) => executor(_id, args)
|
|
@@ -12867,7 +12900,15 @@ function createRemotonTools() {
|
|
|
12867
12900
|
packages: { type: "array", items: { type: "string" } }
|
|
12868
12901
|
},
|
|
12869
12902
|
required: ["projectDir", "packages"]
|
|
12870
|
-
}, installPackage)
|
|
12903
|
+
}, installPackage),
|
|
12904
|
+
tool("remotion_share_file", "Share File via URL", "Generate a shareable URL for any file (video, image, PDF, etc.). The URL is publicly accessible for a limited time (default 72 hours). Use this to share rendered videos with users via messaging channels.", {
|
|
12905
|
+
type: "object",
|
|
12906
|
+
properties: {
|
|
12907
|
+
filePath: { type: "string", description: "Absolute path to the file to share" },
|
|
12908
|
+
ttl: { type: "number", default: 72, description: "Hours until the link expires (default 72)" }
|
|
12909
|
+
},
|
|
12910
|
+
required: ["filePath"]
|
|
12911
|
+
}, shareFile)
|
|
12871
12912
|
];
|
|
12872
12913
|
}
|
|
12873
12914
|
|
|
@@ -14289,7 +14330,7 @@ async function createAllTools(options) {
|
|
|
14289
14330
|
var smtpProvider = options?.emailConfig?.provider;
|
|
14290
14331
|
if (options?.emailConfig?.smtpHost && (!tp || smtpProvider === "imap" || smtpProvider === "smtp")) {
|
|
14291
14332
|
try {
|
|
14292
|
-
var { executeSmtpEmailTool, getSmtpEmailTools: getSmtpIds } = await import("./smtp-email-
|
|
14333
|
+
var { executeSmtpEmailTool, getSmtpEmailTools: getSmtpIds } = await import("./smtp-email-P7RO566K.js");
|
|
14293
14334
|
var smtpToolIds = getSmtpIds();
|
|
14294
14335
|
var smtpToolDefs = {
|
|
14295
14336
|
email_send: { desc: "Send an email via SMTP", params: { type: "object", properties: { to: { type: "string", description: "Recipient email" }, cc: { type: "string" }, bcc: { type: "string" }, subject: { type: "string" }, body: { type: "string", description: "Email body text" }, html: { type: "string" }, replyTo: { type: "string" } }, required: ["to", "body"] } },
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
init_config_bus,
|
|
12
12
|
init_routes,
|
|
13
13
|
routes_exports
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-WXNNBQEL.js";
|
|
15
15
|
import {
|
|
16
16
|
SecureVault,
|
|
17
17
|
init_vault
|
|
@@ -4683,7 +4683,7 @@ function createServer(config) {
|
|
|
4683
4683
|
let engineInitialized = false;
|
|
4684
4684
|
api.all("/engine/*", async (c, _next) => {
|
|
4685
4685
|
try {
|
|
4686
|
-
const { engineRoutes, setEngineDb } = await import("./routes-
|
|
4686
|
+
const { engineRoutes, setEngineDb } = await import("./routes-KQARTBVE.js");
|
|
4687
4687
|
const { EngineDatabase } = await import("./db-adapter-2T56ORSD.js");
|
|
4688
4688
|
if (!engineInitialized) {
|
|
4689
4689
|
engineInitialized = true;
|
|
@@ -4713,13 +4713,13 @@ function createServer(config) {
|
|
|
4713
4713
|
engineInitialized = true;
|
|
4714
4714
|
if (config.runtime?.enabled) {
|
|
4715
4715
|
try {
|
|
4716
|
-
const { createAgentRuntime } = await import("./runtime-
|
|
4717
|
-
const { mountRuntimeApp, setRuntime } = await import("./routes-
|
|
4716
|
+
const { createAgentRuntime } = await import("./runtime-N43BMXWV.js");
|
|
4717
|
+
const { mountRuntimeApp, setRuntime } = await import("./routes-KQARTBVE.js");
|
|
4718
4718
|
let getEmailConfig;
|
|
4719
4719
|
let onTokenRefresh;
|
|
4720
4720
|
let agentMemoryMgr;
|
|
4721
4721
|
try {
|
|
4722
|
-
const { lifecycle: lc, memoryManager: mm } = await import("./routes-
|
|
4722
|
+
const { lifecycle: lc, memoryManager: mm } = await import("./routes-KQARTBVE.js");
|
|
4723
4723
|
agentMemoryMgr = mm;
|
|
4724
4724
|
if (lc) {
|
|
4725
4725
|
getEmailConfig = (agentId) => {
|
|
@@ -4758,7 +4758,7 @@ function createServer(config) {
|
|
|
4758
4758
|
}
|
|
4759
4759
|
} catch {
|
|
4760
4760
|
}
|
|
4761
|
-
const { vault: vaultRef, permissionEngine: permRef, databaseManager: dbMgr } = await import("./routes-
|
|
4761
|
+
const { vault: vaultRef, permissionEngine: permRef, databaseManager: dbMgr } = await import("./routes-KQARTBVE.js");
|
|
4762
4762
|
const runtime = createAgentRuntime({
|
|
4763
4763
|
engineDb,
|
|
4764
4764
|
adminDb: config.db,
|
|
@@ -4898,6 +4898,50 @@ function createServer(config) {
|
|
|
4898
4898
|
}
|
|
4899
4899
|
return c.json({ error: "Documentation page not found" }, 404);
|
|
4900
4900
|
});
|
|
4901
|
+
const SHARED_FILES = /* @__PURE__ */ new Map();
|
|
4902
|
+
const MEDIA_MIME = { ".mp4": "video/mp4", ".webm": "video/webm", ".gif": "image/gif", ".png": "image/png", ".jpg": "image/jpeg", ".jpeg": "image/jpeg", ".mp3": "audio/mpeg", ".wav": "audio/wav", ".pdf": "application/pdf", ".svg": "image/svg+xml" };
|
|
4903
|
+
app.post("/api/share-file", async (c) => {
|
|
4904
|
+
try {
|
|
4905
|
+
const body = await c.req.json();
|
|
4906
|
+
const filePath = body.path;
|
|
4907
|
+
if (!filePath || !existsSync(filePath)) return c.json({ error: "File not found" }, 400);
|
|
4908
|
+
const ext = filePath.substring(filePath.lastIndexOf("."));
|
|
4909
|
+
const mime = MEDIA_MIME[ext] || "application/octet-stream";
|
|
4910
|
+
const token = crypto.randomUUID().replace(/-/g, "").substring(0, 16);
|
|
4911
|
+
const ttlHours = body.ttl || 24;
|
|
4912
|
+
SHARED_FILES.set(token, { path: filePath, mime, expires: Date.now() + ttlHours * 36e5 });
|
|
4913
|
+
const baseUrl = process.env.ENTERPRISE_URL || `http://localhost:${process.env.PORT || 8080}`;
|
|
4914
|
+
const filename = filePath.split("/").pop() || "file";
|
|
4915
|
+
return c.json({ url: `${baseUrl}/shared/${token}/${filename}`, token, expiresIn: `${ttlHours}h` });
|
|
4916
|
+
} catch (e) {
|
|
4917
|
+
return c.json({ error: e.message }, 500);
|
|
4918
|
+
}
|
|
4919
|
+
});
|
|
4920
|
+
app.get("/shared/:token/:filename", (c) => {
|
|
4921
|
+
const token = c.req.param("token");
|
|
4922
|
+
const entry = SHARED_FILES.get(token);
|
|
4923
|
+
if (!entry) return c.text("Not found or expired", 404);
|
|
4924
|
+
if (Date.now() > entry.expires) {
|
|
4925
|
+
SHARED_FILES.delete(token);
|
|
4926
|
+
return c.text("Link expired", 410);
|
|
4927
|
+
}
|
|
4928
|
+
if (!existsSync(entry.path)) {
|
|
4929
|
+
SHARED_FILES.delete(token);
|
|
4930
|
+
return c.text("File no longer available", 404);
|
|
4931
|
+
}
|
|
4932
|
+
try {
|
|
4933
|
+
const content = readFileSync(entry.path);
|
|
4934
|
+
return new Response(content, { headers: { "Content-Type": entry.mime, "Content-Disposition": `inline; filename="${c.req.param("filename")}"`, "Cache-Control": "public, max-age=3600" } });
|
|
4935
|
+
} catch {
|
|
4936
|
+
return c.text("Error reading file", 500);
|
|
4937
|
+
}
|
|
4938
|
+
});
|
|
4939
|
+
setInterval(() => {
|
|
4940
|
+
const now = Date.now();
|
|
4941
|
+
for (const [k, v] of SHARED_FILES) {
|
|
4942
|
+
if (now > v.expires) SHARED_FILES.delete(k);
|
|
4943
|
+
}
|
|
4944
|
+
}, 6e5);
|
|
4901
4945
|
const STATIC_MIME = { ".js": "application/javascript; charset=utf-8", ".png": "image/png", ".jpg": "image/jpeg", ".jpeg": "image/jpeg", ".svg": "image/svg+xml", ".ico": "image/x-icon", ".gif": "image/gif", ".webp": "image/webp", ".css": "text/css; charset=utf-8" };
|
|
4902
4946
|
app.get("/dashboard/*", (c) => {
|
|
4903
4947
|
const reqPath = c.req.path.replace("/dashboard/", "");
|
|
@@ -4965,7 +5009,7 @@ function createServer(config) {
|
|
|
4965
5009
|
});
|
|
4966
5010
|
(async () => {
|
|
4967
5011
|
try {
|
|
4968
|
-
const { engineRoutes, setEngineDb } = await import("./routes-
|
|
5012
|
+
const { engineRoutes, setEngineDb } = await import("./routes-KQARTBVE.js");
|
|
4969
5013
|
const { EngineDatabase } = await import("./db-adapter-2T56ORSD.js");
|
|
4970
5014
|
if (!engineInitialized) {
|
|
4971
5015
|
engineInitialized = true;
|
|
@@ -4989,13 +5033,13 @@ function createServer(config) {
|
|
|
4989
5033
|
await setEngineDb(engineDb, config.db);
|
|
4990
5034
|
if (config.runtime?.enabled) {
|
|
4991
5035
|
try {
|
|
4992
|
-
const { createAgentRuntime } = await import("./runtime-
|
|
4993
|
-
const { mountRuntimeApp, setRuntime } = await import("./routes-
|
|
5036
|
+
const { createAgentRuntime } = await import("./runtime-N43BMXWV.js");
|
|
5037
|
+
const { mountRuntimeApp, setRuntime } = await import("./routes-KQARTBVE.js");
|
|
4994
5038
|
let getEmailConfig;
|
|
4995
5039
|
let onTokenRefresh;
|
|
4996
5040
|
let agentMemoryMgr;
|
|
4997
5041
|
try {
|
|
4998
|
-
const { lifecycle: lc, memoryManager: mm } = await import("./routes-
|
|
5042
|
+
const { lifecycle: lc, memoryManager: mm } = await import("./routes-KQARTBVE.js");
|
|
4999
5043
|
agentMemoryMgr = mm;
|
|
5000
5044
|
if (lc) {
|
|
5001
5045
|
getEmailConfig = (agentId) => {
|
|
@@ -5034,7 +5078,7 @@ function createServer(config) {
|
|
|
5034
5078
|
}
|
|
5035
5079
|
} catch {
|
|
5036
5080
|
}
|
|
5037
|
-
const { vault: vaultRef2, permissionEngine: permRef2, databaseManager: dbMgr2 } = await import("./routes-
|
|
5081
|
+
const { vault: vaultRef2, permissionEngine: permRef2, databaseManager: dbMgr2 } = await import("./routes-KQARTBVE.js");
|
|
5038
5082
|
const runtime = createAgentRuntime({
|
|
5039
5083
|
engineDb,
|
|
5040
5084
|
adminDb: config.db,
|
|
@@ -5046,7 +5090,7 @@ function createServer(config) {
|
|
|
5046
5090
|
agentMemoryManager: agentMemoryMgr,
|
|
5047
5091
|
vault: vaultRef2,
|
|
5048
5092
|
permissionEngine: permRef2,
|
|
5049
|
-
hierarchyManager: (await import("./routes-
|
|
5093
|
+
hierarchyManager: (await import("./routes-KQARTBVE.js")).hierarchyManager ?? void 0,
|
|
5050
5094
|
databaseManager: dbMgr2
|
|
5051
5095
|
});
|
|
5052
5096
|
await runtime.start();
|
|
@@ -5060,7 +5104,7 @@ function createServer(config) {
|
|
|
5060
5104
|
}
|
|
5061
5105
|
console.log("[engine] Eagerly initialized");
|
|
5062
5106
|
try {
|
|
5063
|
-
const { lifecycle: lcRef } = await import("./routes-
|
|
5107
|
+
const { lifecycle: lcRef } = await import("./routes-KQARTBVE.js");
|
|
5064
5108
|
if (lcRef) {
|
|
5065
5109
|
const agents = Array.from(lcRef.agents?.values?.() || []);
|
|
5066
5110
|
const hasLocalPm2 = agents.some((a) => {
|
|
@@ -1234,7 +1234,7 @@ async function deploy(config, db, jwtSecret, vaultKey, spinner, chalk) {
|
|
|
1234
1234
|
const { deployTarget, company, database, domain, tunnel, cloud } = config;
|
|
1235
1235
|
if (deployTarget === "cloudflare-tunnel" && tunnel) {
|
|
1236
1236
|
spinner.start(`Starting local server on port ${tunnel.port}...`);
|
|
1237
|
-
const { createServer: createServer2 } = await import("./server-
|
|
1237
|
+
const { createServer: createServer2 } = await import("./server-5XN2TV3I.js");
|
|
1238
1238
|
const server2 = createServer2({ port: tunnel.port, db, jwtSecret });
|
|
1239
1239
|
const handle2 = await server2.start();
|
|
1240
1240
|
spinner.succeed("Server running");
|
|
@@ -1536,7 +1536,7 @@ async function deploy(config, db, jwtSecret, vaultKey, spinner, chalk) {
|
|
|
1536
1536
|
return {};
|
|
1537
1537
|
}
|
|
1538
1538
|
spinner.start("Starting local server...");
|
|
1539
|
-
const { createServer } = await import("./server-
|
|
1539
|
+
const { createServer } = await import("./server-5XN2TV3I.js");
|
|
1540
1540
|
const server = createServer({ port: 3e3, db, jwtSecret });
|
|
1541
1541
|
const handle = await server.start();
|
|
1542
1542
|
spinner.succeed("Server running");
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import {
|
|
2
|
+
buildRemotonPrompt
|
|
3
|
+
} from "./chunk-WPM52NBU.js";
|
|
1
4
|
import {
|
|
2
5
|
PROVIDER_REGISTRY,
|
|
3
6
|
resolveApiKeyForProvider,
|
|
@@ -356,7 +359,7 @@ function createRuntimeHooks(deps) {
|
|
|
356
359
|
var injectedMessages = [...messages];
|
|
357
360
|
if (deps.knowledgeBaseEnabled !== false) {
|
|
358
361
|
try {
|
|
359
|
-
var { knowledgeBase } = await import("./routes-
|
|
362
|
+
var { knowledgeBase } = await import("./routes-KQARTBVE.js");
|
|
360
363
|
var kbs = await knowledgeBase.listForAgent(agentId);
|
|
361
364
|
if (kbs.length > 0) {
|
|
362
365
|
var contextParts = [];
|
|
@@ -389,7 +392,7 @@ ${contextParts.join("\n\n")}`;
|
|
|
389
392
|
}
|
|
390
393
|
if (deps.memoryEnabled !== false) {
|
|
391
394
|
try {
|
|
392
|
-
var { memoryManager } = await import("./routes-
|
|
395
|
+
var { memoryManager } = await import("./routes-KQARTBVE.js");
|
|
393
396
|
var memories = await memoryManager.queryMemories({
|
|
394
397
|
agentId,
|
|
395
398
|
limit: 10,
|
|
@@ -410,7 +413,7 @@ ${memories.map(function(m) {
|
|
|
410
413
|
}
|
|
411
414
|
if (deps.policyEnabled !== false) {
|
|
412
415
|
try {
|
|
413
|
-
var { policyEngine } = await import("./routes-
|
|
416
|
+
var { policyEngine } = await import("./routes-KQARTBVE.js");
|
|
414
417
|
var policies = await policyEngine.getAgentPolicies(agentId, deps.orgId);
|
|
415
418
|
if (policies.length > 0) {
|
|
416
419
|
var policyText = policies.map(function(p) {
|
|
@@ -435,7 +438,7 @@ ${policyText}`;
|
|
|
435
438
|
// ─── Budget Check ──────────────────────────────
|
|
436
439
|
async checkBudget(agentId, _orgId, _estimatedTokens) {
|
|
437
440
|
try {
|
|
438
|
-
var { lifecycle } = await import("./routes-
|
|
441
|
+
var { lifecycle } = await import("./routes-KQARTBVE.js");
|
|
439
442
|
var now = Date.now();
|
|
440
443
|
var cacheKey = `budget_sync_${agentId}`;
|
|
441
444
|
var lastSync = globalThis[cacheKey] || 0;
|
|
@@ -528,7 +531,7 @@ ${policyText}`;
|
|
|
528
531
|
// ─── Record LLM Usage ──────────────────────────
|
|
529
532
|
async recordLLMUsage(agentId, orgId, usage) {
|
|
530
533
|
try {
|
|
531
|
-
var { lifecycle } = await import("./routes-
|
|
534
|
+
var { lifecycle } = await import("./routes-KQARTBVE.js");
|
|
532
535
|
console.log(`[hooks] recordLLMUsage: agent=${agentId}, input=${usage.inputTokens}, output=${usage.outputTokens}`);
|
|
533
536
|
await lifecycle.recordLLMUsage(agentId, {
|
|
534
537
|
inputTokens: usage.inputTokens,
|
|
@@ -539,7 +542,7 @@ ${policyText}`;
|
|
|
539
542
|
console.log(`[hooks] recordLLMUsage error: ${recordErr.message}`);
|
|
540
543
|
}
|
|
541
544
|
try {
|
|
542
|
-
var { activity } = await import("./routes-
|
|
545
|
+
var { activity } = await import("./routes-KQARTBVE.js");
|
|
543
546
|
await activity.record({
|
|
544
547
|
agentId,
|
|
545
548
|
orgId,
|
|
@@ -587,7 +590,7 @@ ${policyText}`;
|
|
|
587
590
|
var cacheKey = `${ctx.agentId}:${ctx.toolName}`;
|
|
588
591
|
var cached = getCachedPermission(cacheKey);
|
|
589
592
|
if (cached) return cached;
|
|
590
|
-
var { permissionEngine } = await import("./routes-
|
|
593
|
+
var { permissionEngine } = await import("./routes-KQARTBVE.js");
|
|
591
594
|
var permResult = await permissionEngine.checkPermission(ctx.agentId, ctx.toolName);
|
|
592
595
|
var result = {
|
|
593
596
|
allowed: permResult.allowed,
|
|
@@ -596,7 +599,7 @@ ${policyText}`;
|
|
|
596
599
|
};
|
|
597
600
|
if (result.allowed && deps.guardrailsEnabled !== false) {
|
|
598
601
|
try {
|
|
599
|
-
var { guardrails } = await import("./routes-
|
|
602
|
+
var { guardrails } = await import("./routes-KQARTBVE.js");
|
|
600
603
|
var status = await guardrails.getStatus(ctx.agentId);
|
|
601
604
|
if (status.paused || status.offDuty) {
|
|
602
605
|
result.allowed = false;
|
|
@@ -608,7 +611,7 @@ ${policyText}`;
|
|
|
608
611
|
}
|
|
609
612
|
if (result.allowed && deps.dlpEnabled !== false && ctx.parameters) {
|
|
610
613
|
try {
|
|
611
|
-
var { dlp } = await import("./routes-
|
|
614
|
+
var { dlp } = await import("./routes-KQARTBVE.js");
|
|
612
615
|
var dlpResult = await dlp.scanParameters({
|
|
613
616
|
orgId: ctx.orgId,
|
|
614
617
|
agentId: ctx.agentId,
|
|
@@ -628,7 +631,7 @@ ${policyText}`;
|
|
|
628
631
|
}
|
|
629
632
|
if (result.requiresApproval && result.allowed) {
|
|
630
633
|
try {
|
|
631
|
-
var { approvals } = await import("./routes-
|
|
634
|
+
var { approvals } = await import("./routes-KQARTBVE.js");
|
|
632
635
|
var approval = await approvals.createAndWait({
|
|
633
636
|
agentId: ctx.agentId,
|
|
634
637
|
orgId: ctx.orgId,
|
|
@@ -658,7 +661,7 @@ ${policyText}`;
|
|
|
658
661
|
// ─── After Tool Call ────────────────────────────
|
|
659
662
|
async afterToolCall(ctx, result) {
|
|
660
663
|
try {
|
|
661
|
-
var { activity } = await import("./routes-
|
|
664
|
+
var { activity } = await import("./routes-KQARTBVE.js");
|
|
662
665
|
await activity.record({
|
|
663
666
|
agentId: ctx.agentId,
|
|
664
667
|
orgId: ctx.orgId,
|
|
@@ -675,7 +678,7 @@ ${policyText}`;
|
|
|
675
678
|
} catch {
|
|
676
679
|
}
|
|
677
680
|
try {
|
|
678
|
-
var { lifecycle } = await import("./routes-
|
|
681
|
+
var { lifecycle } = await import("./routes-KQARTBVE.js");
|
|
679
682
|
await lifecycle.recordToolCall(ctx.agentId, {
|
|
680
683
|
toolId: ctx.toolName,
|
|
681
684
|
tokensUsed: 0,
|
|
@@ -687,7 +690,7 @@ ${policyText}`;
|
|
|
687
690
|
}
|
|
688
691
|
if (result.success && EXTERNAL_TOOLS.has(ctx.toolName)) {
|
|
689
692
|
try {
|
|
690
|
-
var { journal } = await import("./routes-
|
|
693
|
+
var { journal } = await import("./routes-KQARTBVE.js");
|
|
691
694
|
await journal.record({
|
|
692
695
|
orgId: ctx.orgId,
|
|
693
696
|
agentId: ctx.agentId,
|
|
@@ -702,7 +705,7 @@ ${policyText}`;
|
|
|
702
705
|
}
|
|
703
706
|
if (result.success && COMMUNICATION_TOOLS.has(ctx.toolName)) {
|
|
704
707
|
try {
|
|
705
|
-
var { commBus } = await import("./routes-
|
|
708
|
+
var { commBus } = await import("./routes-KQARTBVE.js");
|
|
706
709
|
await commBus.observeMessage({
|
|
707
710
|
orgId: ctx.orgId,
|
|
708
711
|
agentId: ctx.agentId,
|
|
@@ -716,7 +719,7 @@ ${policyText}`;
|
|
|
716
719
|
// ─── Session Lifecycle ──────────────────────────
|
|
717
720
|
async onSessionStart(sessionId, agentId, orgId) {
|
|
718
721
|
try {
|
|
719
|
-
var { activity } = await import("./routes-
|
|
722
|
+
var { activity } = await import("./routes-KQARTBVE.js");
|
|
720
723
|
await activity.record({
|
|
721
724
|
agentId,
|
|
722
725
|
orgId,
|
|
@@ -729,7 +732,7 @@ ${policyText}`;
|
|
|
729
732
|
},
|
|
730
733
|
async onSessionEnd(sessionId, agentId, orgId) {
|
|
731
734
|
try {
|
|
732
|
-
var { activity } = await import("./routes-
|
|
735
|
+
var { activity } = await import("./routes-KQARTBVE.js");
|
|
733
736
|
await activity.record({
|
|
734
737
|
agentId,
|
|
735
738
|
orgId,
|
|
@@ -743,7 +746,7 @@ ${policyText}`;
|
|
|
743
746
|
// ─── Context Compaction ─────────────────────────
|
|
744
747
|
async onContextCompaction(sessionId, agentId, summary) {
|
|
745
748
|
try {
|
|
746
|
-
var { memoryManager } = await import("./routes-
|
|
749
|
+
var { memoryManager } = await import("./routes-KQARTBVE.js");
|
|
747
750
|
await memoryManager.createMemory({
|
|
748
751
|
agentId,
|
|
749
752
|
orgId: deps.orgId,
|
|
@@ -2518,7 +2521,7 @@ async function runAgentLoop(config, initialMessages, hooks, options) {
|
|
|
2518
2521
|
console.log(`[agent-loop] \u2705 Tool ${toolCall.name} succeeded (${content.length} chars): ${content.slice(0, 300)}`);
|
|
2519
2522
|
}
|
|
2520
2523
|
try {
|
|
2521
|
-
const { activity } = await import("./routes-
|
|
2524
|
+
const { activity } = await import("./routes-KQARTBVE.js");
|
|
2522
2525
|
activity.recordToolCallCompact({
|
|
2523
2526
|
agentId: config.agentId,
|
|
2524
2527
|
orgId: config.orgId,
|
|
@@ -2984,6 +2987,7 @@ var TOOL_REGISTRY = {
|
|
|
2984
2987
|
remotion_preview_url: "remotion_video",
|
|
2985
2988
|
remotion_add_asset: "remotion_video",
|
|
2986
2989
|
remotion_install_package: "remotion_video",
|
|
2990
|
+
remotion_share_file: "remotion_video",
|
|
2987
2991
|
// ── Knowledge Search (3) ──
|
|
2988
2992
|
knowledge_base_search: "ent_knowledge",
|
|
2989
2993
|
knowledge_hub_search: "ent_knowledge",
|
|
@@ -3348,6 +3352,7 @@ var SET_DESCRIPTIONS = {
|
|
|
3348
3352
|
ent_security: "Security scanning \u2014 secrets, PII, deps (6 tools)",
|
|
3349
3353
|
ent_code: "Code sandbox \u2014 JS, Python, shell (5 tools)",
|
|
3350
3354
|
ent_diff: "Text/JSON/spreadsheet diffs (4 tools)",
|
|
3355
|
+
remotion_video: "Create videos programmatically \u2014 Remotion React framework (9 tools)",
|
|
3351
3356
|
ent_knowledge: "Knowledge base + hub search (3 tools)",
|
|
3352
3357
|
agenticmail: "Full email management (40 tools)",
|
|
3353
3358
|
local_filesystem: "File read/write/edit/move/delete/search (7 tools)",
|
|
@@ -3418,7 +3423,7 @@ function createRequestToolsTool(allTools, activeSets, _context) {
|
|
|
3418
3423
|
};
|
|
3419
3424
|
}
|
|
3420
3425
|
async function createToolsForContext(options, context, opts) {
|
|
3421
|
-
const { createAllTools } = await import("./agent-tools-
|
|
3426
|
+
const { createAllTools } = await import("./agent-tools-SXHMNUVO.js");
|
|
3422
3427
|
if (context === "full") {
|
|
3423
3428
|
return createAllTools(options);
|
|
3424
3429
|
}
|
|
@@ -4004,6 +4009,7 @@ var FollowUpScheduler = class {
|
|
|
4004
4009
|
};
|
|
4005
4010
|
|
|
4006
4011
|
// src/runtime/index.ts
|
|
4012
|
+
var _remotionPrompt = buildRemotonPrompt();
|
|
4007
4013
|
var DEFAULT_MODEL = {
|
|
4008
4014
|
provider: "anthropic",
|
|
4009
4015
|
modelId: "claude-sonnet-4-5-20250929"
|
|
@@ -4855,6 +4861,7 @@ Current time: ${(/* @__PURE__ */ new Date()).toISOString()}`;
|
|
|
4855
4861
|
if (hierarchyContext) {
|
|
4856
4862
|
base += "\n\n" + hierarchyContext;
|
|
4857
4863
|
}
|
|
4864
|
+
base += "\n" + _remotionPrompt;
|
|
4858
4865
|
if (agentIdentity?.language && agentIdentity.language !== "en-us") {
|
|
4859
4866
|
var langMap = {
|
|
4860
4867
|
"en-us": "English (American)",
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
// src/system-prompts/remotion.ts
|
|
2
|
+
function buildRemotonPrompt(_ctx) {
|
|
3
|
+
return `
|
|
4
|
+
## Video Creation (Remotion)
|
|
5
|
+
|
|
6
|
+
You have access to Remotion \u2014 a React-based framework for creating videos programmatically.
|
|
7
|
+
You can create professional marketing videos, social media reels, animations, and motion graphics.
|
|
8
|
+
|
|
9
|
+
### Workflow
|
|
10
|
+
1. **Create project**: \`remotion_create_project\` \u2014 sets up a new video project with dependencies
|
|
11
|
+
2. **Add assets**: \`remotion_add_asset\` \u2014 add images, audio, fonts to the project
|
|
12
|
+
3. **Create composition**: \`remotion_create_composition\` \u2014 write the React component that defines the video
|
|
13
|
+
4. **Render**: \`remotion_render\` \u2014 render to MP4/WebM/GIF (auto-generates a shareable URL)
|
|
14
|
+
5. **Share**: Send the shareable URL to the user via their messaging channel
|
|
15
|
+
|
|
16
|
+
### Composition Writing Guide
|
|
17
|
+
Compositions are React components using Remotion APIs:
|
|
18
|
+
- \`useCurrentFrame()\` \u2014 current frame number (starts at 0)
|
|
19
|
+
- \`useVideoConfig()\` \u2014 { fps, width, height, durationInFrames }
|
|
20
|
+
- \`interpolate(frame, inputRange, outputRange)\` \u2014 animate values over time
|
|
21
|
+
- \`spring({ frame, fps, config })\` \u2014 spring physics animations
|
|
22
|
+
- \`<Sequence from={frame} durationInFrames={n}>\` \u2014 show content during specific frames
|
|
23
|
+
- \`<AbsoluteFill>\` \u2014 full-screen container (like position: absolute + inset: 0)
|
|
24
|
+
- \`<Img src={...}>\` \u2014 images (use \`staticFile("filename")\` for assets in public/)
|
|
25
|
+
- \`<Audio src={...} volume={0.5}>\` \u2014 background audio
|
|
26
|
+
- \`<Video src={...}>\` \u2014 embed video clips
|
|
27
|
+
|
|
28
|
+
### Templates Available
|
|
29
|
+
- **blank** \u2014 minimal starting point
|
|
30
|
+
- **text-animation** \u2014 spring-animated text reveals
|
|
31
|
+
- **slideshow** \u2014 Ken Burns image slideshow with captions
|
|
32
|
+
- **social-reel** \u2014 hook + animated points + CTA (vertical 9:16 format)
|
|
33
|
+
|
|
34
|
+
### Common Dimensions
|
|
35
|
+
- **Vertical Reel (9:16)**: width=1080, height=1920 \u2014 Instagram/TikTok/Facebook Reels
|
|
36
|
+
- **Landscape (16:9)**: width=1920, height=1080 \u2014 YouTube, presentations
|
|
37
|
+
- **Square (1:1)**: width=1080, height=1080 \u2014 Instagram feed, Facebook
|
|
38
|
+
|
|
39
|
+
### Best Practices
|
|
40
|
+
- Keep reels 15-30 seconds (450-900 frames at 30fps)
|
|
41
|
+
- Use \`spring()\` for natural, bouncy animations instead of linear \`interpolate()\`
|
|
42
|
+
- Use \`<Sequence>\` to stagger content appearance
|
|
43
|
+
- Add background audio with \`<Audio>\` for engagement
|
|
44
|
+
- Use bold, large text (48-80px) for mobile readability
|
|
45
|
+
- Add a CTA at the end (follow, subscribe, check comments)
|
|
46
|
+
- After rendering, the tool returns a \`shareUrl\` \u2014 send this URL to the user
|
|
47
|
+
|
|
48
|
+
### Sharing Files
|
|
49
|
+
- \`remotion_render\` auto-generates a shareable URL (valid 72 hours)
|
|
50
|
+
- \`remotion_share_file\` can share any file (images, PDFs, etc.) via URL
|
|
51
|
+
- Send the URL to users via their messaging channel (Telegram, WhatsApp, email, etc.)
|
|
52
|
+
- URLs are publicly accessible \u2014 no login required to view/download
|
|
53
|
+
`;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export {
|
|
57
|
+
buildRemotonPrompt
|
|
58
|
+
};
|
|
@@ -44,7 +44,7 @@ import {
|
|
|
44
44
|
PermissionEngine,
|
|
45
45
|
SKILL_SUITES,
|
|
46
46
|
init_skills as init_skills2
|
|
47
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-E5QPDR3O.js";
|
|
48
48
|
import {
|
|
49
49
|
init_resilience,
|
|
50
50
|
withRetry
|
|
@@ -62,7 +62,7 @@ import {
|
|
|
62
62
|
FULL_SKILL_DEFINITIONS,
|
|
63
63
|
init_emoji,
|
|
64
64
|
init_skills
|
|
65
|
-
} from "./chunk-
|
|
65
|
+
} from "./chunk-YZRJHYKB.js";
|
|
66
66
|
import {
|
|
67
67
|
VALID_CATEGORIES,
|
|
68
68
|
init_skill_validator,
|
|
@@ -7075,7 +7075,7 @@ function createAgentRoutes(opts) {
|
|
|
7075
7075
|
if (presetName || permissionsData) {
|
|
7076
7076
|
let profile = { id: agentId, name: presetName || "Custom", createdAt: (/* @__PURE__ */ new Date()).toISOString(), updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
|
|
7077
7077
|
if (presetName) {
|
|
7078
|
-
const { PRESET_PROFILES: PRESET_PROFILES2 } = await import("./skills-
|
|
7078
|
+
const { PRESET_PROFILES: PRESET_PROFILES2 } = await import("./skills-IGTRNAGN.js");
|
|
7079
7079
|
const preset = PRESET_PROFILES2.find((p) => p.name === presetName);
|
|
7080
7080
|
if (preset) Object.assign(profile, preset);
|
|
7081
7081
|
}
|
|
@@ -7103,7 +7103,7 @@ function createAgentRoutes(opts) {
|
|
|
7103
7103
|
}
|
|
7104
7104
|
const managedAgent = await lifecycle2.createAgent(orgId, config, actor);
|
|
7105
7105
|
try {
|
|
7106
|
-
const { knowledgeBase: kbEngine } = await import("./routes-
|
|
7106
|
+
const { knowledgeBase: kbEngine } = await import("./routes-KQARTBVE.js");
|
|
7107
7107
|
const allKbs = kbEngine.getAllKnowledgeBases();
|
|
7108
7108
|
const clientOrgId = managedAgent?.clientOrgId || config?.clientOrgId || null;
|
|
7109
7109
|
let kbAssigned = 0;
|
|
@@ -25021,9 +25021,8 @@ async function startChatPoller(engineDb) {
|
|
|
25021
25021
|
let chatClientSecret = emailConfig.oauthClientSecret;
|
|
25022
25022
|
if (!chatClientId || !chatClientSecret) {
|
|
25023
25023
|
try {
|
|
25024
|
-
|
|
25025
|
-
|
|
25026
|
-
const orgSettings = await adminDb.getSettings();
|
|
25024
|
+
if (_adminDb) {
|
|
25025
|
+
const orgSettings = await _adminDb.getSettings();
|
|
25027
25026
|
chatClientId = chatClientId || orgSettings?.oauthClientId;
|
|
25028
25027
|
chatClientSecret = chatClientSecret || orgSettings?.oauthClientSecret;
|
|
25029
25028
|
}
|
|
@@ -2447,7 +2447,7 @@ var init_remotion_video = __esm({
|
|
|
2447
2447
|
description: "Create professional marketing videos, social media reels, animations, and motion graphics programmatically using Remotion. Build React-based video compositions, render to MP4/WebM/GIF, and manage video projects. Supports text animations, image slideshows, data visualizations, branded intros/outros, and more.",
|
|
2448
2448
|
category: "media",
|
|
2449
2449
|
risk: "medium",
|
|
2450
|
-
icon: Emoji.
|
|
2450
|
+
icon: Emoji.video,
|
|
2451
2451
|
source: "builtin",
|
|
2452
2452
|
version: "1.0.0",
|
|
2453
2453
|
author: "AgenticMail"
|
|
@@ -2607,6 +2607,23 @@ var init_remotion_video = __esm({
|
|
|
2607
2607
|
}
|
|
2608
2608
|
}
|
|
2609
2609
|
];
|
|
2610
|
+
TOOLS46.push({
|
|
2611
|
+
id: "remotion_share_file",
|
|
2612
|
+
name: "Share File via URL",
|
|
2613
|
+
description: "Generate a temporary shareable URL for any rendered file (video, image, etc.). Link expires after configurable TTL.",
|
|
2614
|
+
category: "write",
|
|
2615
|
+
risk: "low",
|
|
2616
|
+
skillId: "remotion-video",
|
|
2617
|
+
sideEffects: [],
|
|
2618
|
+
parameters: {
|
|
2619
|
+
type: "object",
|
|
2620
|
+
properties: {
|
|
2621
|
+
filePath: { type: "string", description: "Absolute path to the file" },
|
|
2622
|
+
ttl: { type: "number", description: "Hours until expiry (default 72)" }
|
|
2623
|
+
},
|
|
2624
|
+
required: ["filePath"]
|
|
2625
|
+
}
|
|
2626
|
+
});
|
|
2610
2627
|
}
|
|
2611
2628
|
});
|
|
2612
2629
|
|
|
@@ -776,7 +776,7 @@ async function runAgent(_args) {
|
|
|
776
776
|
const agent = agentRow[0];
|
|
777
777
|
console.log(` Agent: ${agent.display_name || agent.name}`);
|
|
778
778
|
console.log(` State: ${agent.state}`);
|
|
779
|
-
const routes = await import("./routes-
|
|
779
|
+
const routes = await import("./routes-KQARTBVE.js");
|
|
780
780
|
await routes.lifecycle.setDb(engineDb);
|
|
781
781
|
await routes.lifecycle.loadFromDb();
|
|
782
782
|
routes.lifecycle.standaloneMode = true;
|
|
@@ -834,10 +834,10 @@ async function runAgent(_args) {
|
|
|
834
834
|
}
|
|
835
835
|
} catch {
|
|
836
836
|
}
|
|
837
|
-
const { createAgentRuntime } = await import("./runtime-
|
|
837
|
+
const { createAgentRuntime } = await import("./runtime-N43BMXWV.js");
|
|
838
838
|
let orgIntMgr = null;
|
|
839
839
|
try {
|
|
840
|
-
const { orgIntegrations: oi } = await import("./routes-
|
|
840
|
+
const { orgIntegrations: oi } = await import("./routes-KQARTBVE.js");
|
|
841
841
|
orgIntMgr = oi;
|
|
842
842
|
} catch {
|
|
843
843
|
}
|
|
@@ -1236,7 +1236,7 @@ Please complete this task now.`,
|
|
|
1236
1236
|
}
|
|
1237
1237
|
if (scope === "all" || scope === "permissions") {
|
|
1238
1238
|
try {
|
|
1239
|
-
const { permissionEngine } = await import("./routes-
|
|
1239
|
+
const { permissionEngine } = await import("./routes-KQARTBVE.js");
|
|
1240
1240
|
await permissionEngine.setDb(engineDb);
|
|
1241
1241
|
reloaded.push("permissions");
|
|
1242
1242
|
} catch {
|
|
@@ -1276,7 +1276,7 @@ Please complete this task now.`,
|
|
|
1276
1276
|
}
|
|
1277
1277
|
if (scope === "all" || scope === "guardrails") {
|
|
1278
1278
|
try {
|
|
1279
|
-
const { guardrails } = await import("./routes-
|
|
1279
|
+
const { guardrails } = await import("./routes-KQARTBVE.js");
|
|
1280
1280
|
await guardrails.loadFromDb?.();
|
|
1281
1281
|
reloaded.push("guardrails");
|
|
1282
1282
|
} catch {
|
|
@@ -1298,7 +1298,7 @@ Please complete this task now.`,
|
|
|
1298
1298
|
const agentName = agent.display_name || agent.name || "Agent";
|
|
1299
1299
|
const role = agent.config?.identity?.role || "AI Agent";
|
|
1300
1300
|
const identity = agent.config?.identity || {};
|
|
1301
|
-
const { buildTaskPrompt, buildScheduleInfo } = await import("./system-prompts-
|
|
1301
|
+
const { buildTaskPrompt, buildScheduleInfo } = await import("./system-prompts-RT3PDO6F.js");
|
|
1302
1302
|
let pipelineTaskId;
|
|
1303
1303
|
try {
|
|
1304
1304
|
pipelineTaskId = await beforeSpawn(taskQueue, {
|
|
@@ -1460,7 +1460,7 @@ Please complete this task now.`,
|
|
|
1460
1460
|
}
|
|
1461
1461
|
let systemPrompt;
|
|
1462
1462
|
if (isMessagingSource) {
|
|
1463
|
-
const { buildScheduleInfo } = await import("./system-prompts-
|
|
1463
|
+
const { buildScheduleInfo } = await import("./system-prompts-RT3PDO6F.js");
|
|
1464
1464
|
const sendToolName = ctx.source === "whatsapp" ? "whatsapp_send" : "telegram_send";
|
|
1465
1465
|
const platformName = ctx.source === "whatsapp" ? "WhatsApp" : "Telegram";
|
|
1466
1466
|
const persona = identity || {};
|
|
@@ -1553,7 +1553,7 @@ CONTEXT FROM MEMORY:
|
|
|
1553
1553
|
${ambientContext}` : ""
|
|
1554
1554
|
].filter(Boolean).join("\n");
|
|
1555
1555
|
} else {
|
|
1556
|
-
const { buildGoogleChatPrompt, buildScheduleInfo } = await import("./system-prompts-
|
|
1556
|
+
const { buildGoogleChatPrompt, buildScheduleInfo } = await import("./system-prompts-RT3PDO6F.js");
|
|
1557
1557
|
systemPrompt = buildGoogleChatPrompt({
|
|
1558
1558
|
agent: { name: agentName, role: identity?.role || "professional", personality: identity?.personality },
|
|
1559
1559
|
schedule: buildScheduleInfo(agentSchedule, agentTimezone),
|
|
@@ -2216,7 +2216,7 @@ Available tools: ${providerType === "imap" ? "email_send (to, subject, body)" :
|
|
|
2216
2216
|
console.log("[guardrails] Disabled via autonomy settings");
|
|
2217
2217
|
}
|
|
2218
2218
|
try {
|
|
2219
|
-
const { AgentHeartbeatManager } = await import("./agent-heartbeat-
|
|
2219
|
+
const { AgentHeartbeatManager } = await import("./agent-heartbeat-IVDVHR2A.js");
|
|
2220
2220
|
const hbOrgRows = await engineDb.query(`SELECT org_id FROM managed_agents WHERE id = $1`, [AGENT_ID]);
|
|
2221
2221
|
const hbOrgId = hbOrgRows?.[0]?.org_id || "";
|
|
2222
2222
|
const hbManagerEmail = config.managerEmail || (config.manager?.type === "external" ? config.manager.email : null);
|
|
@@ -2361,7 +2361,7 @@ async function startCalendarPolling(agentId, config, runtime, _engineDb, _memory
|
|
|
2361
2361
|
const role = config.identity?.role || "AI Agent";
|
|
2362
2362
|
const identity = config.identity || {};
|
|
2363
2363
|
try {
|
|
2364
|
-
const { buildMeetJoinPrompt, buildScheduleInfo } = await import("./system-prompts-
|
|
2364
|
+
const { buildMeetJoinPrompt, buildScheduleInfo } = await import("./system-prompts-RT3PDO6F.js");
|
|
2365
2365
|
const managerEmail = config?.manager?.email || "";
|
|
2366
2366
|
const agentEmail = config?.identity?.email || config?.email || "";
|
|
2367
2367
|
const agentDomain = agentEmail.split("@")[1]?.toLowerCase() || "";
|
|
@@ -94,7 +94,7 @@ async function runServe(_args) {
|
|
|
94
94
|
process.exit(1);
|
|
95
95
|
}
|
|
96
96
|
const { createAdapter, smartDbConfig } = await import("./factory-XRYYBBCW.js");
|
|
97
|
-
const { createServer } = await import("./server-
|
|
97
|
+
const { createServer } = await import("./server-5XN2TV3I.js");
|
|
98
98
|
const db = await createAdapter(smartDbConfig(DATABASE_URL));
|
|
99
99
|
await db.migrate();
|
|
100
100
|
const server = createServer({
|
package/dist/cli.js
CHANGED
|
@@ -5,7 +5,7 @@ var args = process.argv.slice(2);
|
|
|
5
5
|
var command = args[0];
|
|
6
6
|
switch (command) {
|
|
7
7
|
case "validate":
|
|
8
|
-
import("./cli-validate-
|
|
8
|
+
import("./cli-validate-3PO5OZGB.js").then((m) => m.runValidate(args.slice(1))).catch(fatal);
|
|
9
9
|
break;
|
|
10
10
|
case "build-skill":
|
|
11
11
|
import("./cli-build-skill-2IOE7MYP.js").then((m) => m.runBuildSkill(args.slice(1))).catch(fatal);
|
|
@@ -65,14 +65,14 @@ Skill Development:
|
|
|
65
65
|
break;
|
|
66
66
|
case "serve":
|
|
67
67
|
case "start":
|
|
68
|
-
import("./cli-serve-
|
|
68
|
+
import("./cli-serve-BV67CWGV.js").then((m) => m.runServe(args.slice(1))).catch(fatal);
|
|
69
69
|
break;
|
|
70
70
|
case "agent":
|
|
71
|
-
import("./cli-agent-
|
|
71
|
+
import("./cli-agent-ONJI6ZS3.js").then((m) => m.runAgent(args.slice(1))).catch(fatal);
|
|
72
72
|
break;
|
|
73
73
|
case "setup":
|
|
74
74
|
default:
|
|
75
|
-
import("./setup-
|
|
75
|
+
import("./setup-YMIXA747.js").then((m) => m.runSetupWizard()).catch(fatal);
|
|
76
76
|
break;
|
|
77
77
|
}
|
|
78
78
|
function fatal(err) {
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
provision,
|
|
3
3
|
runSetupWizard
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-LG3D4G42.js";
|
|
5
5
|
import {
|
|
6
6
|
AgenticMailManager,
|
|
7
7
|
GoogleEmailProvider,
|
|
@@ -28,7 +28,8 @@ import {
|
|
|
28
28
|
executeTool,
|
|
29
29
|
runAgentLoop,
|
|
30
30
|
toolsToDefinitions
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-VJAF5XB3.js";
|
|
32
|
+
import "./chunk-WPM52NBU.js";
|
|
32
33
|
import {
|
|
33
34
|
ValidationError,
|
|
34
35
|
auditLogger,
|
|
@@ -42,7 +43,7 @@ import {
|
|
|
42
43
|
requireRole,
|
|
43
44
|
securityHeaders,
|
|
44
45
|
validate
|
|
45
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-7IOWCMIT.js";
|
|
46
47
|
import "./chunk-DJBCRQTD.js";
|
|
47
48
|
import {
|
|
48
49
|
PROVIDER_REGISTRY,
|
|
@@ -82,7 +83,7 @@ import {
|
|
|
82
83
|
init_storage_manager,
|
|
83
84
|
init_tenant,
|
|
84
85
|
init_workforce
|
|
85
|
-
} from "./chunk-
|
|
86
|
+
} from "./chunk-WXNNBQEL.js";
|
|
86
87
|
import "./chunk-WYDVMFGJ.js";
|
|
87
88
|
import "./chunk-3UAFHUEC.js";
|
|
88
89
|
import {
|
|
@@ -119,7 +120,7 @@ import {
|
|
|
119
120
|
PRESET_PROFILES,
|
|
120
121
|
PermissionEngine,
|
|
121
122
|
init_skills
|
|
122
|
-
} from "./chunk-
|
|
123
|
+
} from "./chunk-E5QPDR3O.js";
|
|
123
124
|
import {
|
|
124
125
|
CircuitBreaker,
|
|
125
126
|
CircuitOpenError,
|
|
@@ -148,7 +149,7 @@ import {
|
|
|
148
149
|
generateToolPolicy,
|
|
149
150
|
getToolsBySkill,
|
|
150
151
|
init_tool_catalog
|
|
151
|
-
} from "./chunk-
|
|
152
|
+
} from "./chunk-YZRJHYKB.js";
|
|
152
153
|
import {
|
|
153
154
|
VALID_CATEGORIES,
|
|
154
155
|
VALID_RISK_LEVELS,
|
|
@@ -35,7 +35,7 @@ import {
|
|
|
35
35
|
tenants,
|
|
36
36
|
vault,
|
|
37
37
|
workforce
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-WXNNBQEL.js";
|
|
39
39
|
import "./chunk-WYDVMFGJ.js";
|
|
40
40
|
import "./chunk-3UAFHUEC.js";
|
|
41
41
|
import "./chunk-E6B4W3WG.js";
|
|
@@ -46,10 +46,10 @@ import "./chunk-74ZCQKYU.js";
|
|
|
46
46
|
import "./chunk-Z6K5FKAB.js";
|
|
47
47
|
import "./chunk-C6JP5NR6.js";
|
|
48
48
|
import "./chunk-WUAWWKTN.js";
|
|
49
|
-
import "./chunk-
|
|
49
|
+
import "./chunk-E5QPDR3O.js";
|
|
50
50
|
import "./chunk-YDD5TC5Q.js";
|
|
51
51
|
import "./chunk-FLQ5FLHW.js";
|
|
52
|
-
import "./chunk-
|
|
52
|
+
import "./chunk-YZRJHYKB.js";
|
|
53
53
|
import "./chunk-22U7TZPN.js";
|
|
54
54
|
import "./chunk-KFQGP6VL.js";
|
|
55
55
|
init_routes();
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createServer
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-7IOWCMIT.js";
|
|
4
4
|
import "./chunk-DJBCRQTD.js";
|
|
5
5
|
import "./chunk-UF3ZJMJO.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-WXNNBQEL.js";
|
|
7
7
|
import "./chunk-WYDVMFGJ.js";
|
|
8
8
|
import "./chunk-3UAFHUEC.js";
|
|
9
9
|
import "./chunk-E6B4W3WG.js";
|
|
@@ -14,13 +14,13 @@ import "./chunk-74ZCQKYU.js";
|
|
|
14
14
|
import "./chunk-Z6K5FKAB.js";
|
|
15
15
|
import "./chunk-C6JP5NR6.js";
|
|
16
16
|
import "./chunk-WUAWWKTN.js";
|
|
17
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-E5QPDR3O.js";
|
|
18
18
|
import "./chunk-YDD5TC5Q.js";
|
|
19
19
|
import "./chunk-37ABTUFU.js";
|
|
20
20
|
import "./chunk-NU657BBQ.js";
|
|
21
21
|
import "./chunk-PGAU3W3M.js";
|
|
22
22
|
import "./chunk-FLQ5FLHW.js";
|
|
23
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-YZRJHYKB.js";
|
|
24
24
|
import "./chunk-22U7TZPN.js";
|
|
25
25
|
import "./chunk-KFQGP6VL.js";
|
|
26
26
|
export {
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import {
|
|
2
|
+
buildRemotonPrompt
|
|
3
|
+
} from "./chunk-WPM52NBU.js";
|
|
1
4
|
import "./chunk-KFQGP6VL.js";
|
|
2
5
|
|
|
3
6
|
// src/system-prompts/google/meet.ts
|
|
@@ -901,6 +904,7 @@ export {
|
|
|
901
904
|
buildPlannerPrompt,
|
|
902
905
|
buildPowerBIPrompt,
|
|
903
906
|
buildPowerPointPrompt,
|
|
907
|
+
buildRemotonPrompt,
|
|
904
908
|
buildScheduleBlock,
|
|
905
909
|
buildScheduleInfo,
|
|
906
910
|
buildSharePointPrompt,
|