@integrity-labs/agt-cli 0.12.7 → 0.12.8
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/bin/agt.js +3 -3
- package/dist/{chunk-35KA6J3P.js → chunk-ZFTZDO5E.js} +49 -20
- package/dist/chunk-ZFTZDO5E.js.map +1 -0
- package/dist/lib/manager-worker.js +29 -13
- package/dist/lib/manager-worker.js.map +1 -1
- package/mcp/telegram-channel.js +14086 -0
- package/package.json +4 -3
- package/dist/chunk-35KA6J3P.js.map +0 -1
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
resolveChannels,
|
|
18
18
|
resolveDmTarget,
|
|
19
19
|
wrapScheduledTaskPrompt
|
|
20
|
-
} from "../chunk-
|
|
20
|
+
} from "../chunk-ZFTZDO5E.js";
|
|
21
21
|
import {
|
|
22
22
|
findTaskByTemplate,
|
|
23
23
|
getProjectDir,
|
|
@@ -1122,7 +1122,10 @@ function send(msg) {
|
|
|
1122
1122
|
var managerLogPath = null;
|
|
1123
1123
|
function redactForDiskLog(value) {
|
|
1124
1124
|
try {
|
|
1125
|
-
return value.replace(/\b(Bearer\s+)[A-Za-z0-9._-]+\b/gi, "$1[REDACTED]").replace(/\bxox[baprs]-[A-Za-z0-9-]+\b/g, "[REDACTED-SLACK]").replace(/\btlk_[A-Za-z0-9._-]+\b/g, "[REDACTED-HOST]").replace(/\bsk-ant-[A-Za-z0-9_-]+\b/g, "[REDACTED-ANTHROPIC]").replace(/\b\d{8,12}:[A-Za-z0-9_-]{30,}\b/g, "[REDACTED-TELEGRAM]").replace(
|
|
1125
|
+
return value.replace(/\b(Bearer\s+)[A-Za-z0-9._-]+\b/gi, "$1[REDACTED]").replace(/\bxox[baprs]-[A-Za-z0-9-]+\b/g, "[REDACTED-SLACK]").replace(/\btlk_[A-Za-z0-9._-]+\b/g, "[REDACTED-HOST]").replace(/\bsk-ant-[A-Za-z0-9_-]+\b/g, "[REDACTED-ANTHROPIC]").replace(/\b\d{8,12}:[A-Za-z0-9_-]{30,}\b/g, "[REDACTED-TELEGRAM]").replace(
|
|
1126
|
+
/\b([A-Z0-9_]*(?:TOKEN|SECRET|API[_-]?KEY|PASSWORD)[A-Z0-9_]*)=(?:"[^"\r\n]*"|'[^'\r\n]*'|[^\s\r\n]+)/gi,
|
|
1127
|
+
"$1=[REDACTED]"
|
|
1128
|
+
);
|
|
1126
1129
|
} catch {
|
|
1127
1130
|
return "[REDACTED]";
|
|
1128
1131
|
}
|
|
@@ -1130,9 +1133,7 @@ function redactForDiskLog(value) {
|
|
|
1130
1133
|
function log(msg) {
|
|
1131
1134
|
const ts = (/* @__PURE__ */ new Date()).toISOString();
|
|
1132
1135
|
const safeMsg = redactForDiskLog(msg);
|
|
1133
|
-
|
|
1134
|
-
const stderrMsg = rawStderrOptIn ? msg : safeMsg;
|
|
1135
|
-
process.stderr.write(`[manager-worker ${ts}] ${stderrMsg}
|
|
1136
|
+
process.stderr.write(`[manager-worker ${ts}] ${safeMsg}
|
|
1136
1137
|
`);
|
|
1137
1138
|
try {
|
|
1138
1139
|
if (!managerLogPath) {
|
|
@@ -1991,9 +1992,20 @@ async function processAgent(agent, agentStates) {
|
|
|
1991
1992
|
activeChannels.get(channelId).add(agent.code_name);
|
|
1992
1993
|
const configHash = createHash("sha256").update(JSON.stringify(entry.config)).digest("hex");
|
|
1993
1994
|
const cacheKey = `${agent.agent_id}:${channelId}`;
|
|
1994
|
-
|
|
1995
|
+
let onDiskPresent = true;
|
|
1996
|
+
try {
|
|
1997
|
+
onDiskPresent = frameworkAdapter.hasChannelCredentials?.(agent.code_name, channelId) ?? true;
|
|
1998
|
+
} catch (err) {
|
|
1999
|
+
log(`hasChannelCredentials failed for '${agent.code_name}/${channelId}': ${err.message} \u2014 forcing credential rewrite`);
|
|
2000
|
+
onDiskPresent = false;
|
|
2001
|
+
}
|
|
2002
|
+
if (knownChannelConfigHashes.get(cacheKey) === configHash && onDiskPresent) {
|
|
1995
2003
|
continue;
|
|
1996
2004
|
}
|
|
2005
|
+
if (!onDiskPresent && knownChannelConfigHashes.has(cacheKey)) {
|
|
2006
|
+
log(`Cached hash for '${agent.code_name}/${channelId}' but on-disk entry missing \u2014 re-writing credentials`);
|
|
2007
|
+
knownChannelConfigHashes.delete(cacheKey);
|
|
2008
|
+
}
|
|
1997
2009
|
try {
|
|
1998
2010
|
const sessionMode2 = refreshData.agent.session_mode;
|
|
1999
2011
|
frameworkAdapter.writeChannelCredentials(agent.code_name, channelId, entry.config, { sessionMode: sessionMode2 });
|
|
@@ -3027,14 +3039,18 @@ async function ensurePersistentSession(agent, tasks, boardItems, refreshData) {
|
|
|
3027
3039
|
const channels = [];
|
|
3028
3040
|
const devChannels = [];
|
|
3029
3041
|
if (channelConfigs) {
|
|
3030
|
-
|
|
3031
|
-
|
|
3042
|
+
const isChannelEnabled = (id) => {
|
|
3043
|
+
const entry = channelConfigs[id];
|
|
3044
|
+
return !!entry?.config && (entry.status === "active" || entry.status === "pending");
|
|
3045
|
+
};
|
|
3046
|
+
if (isChannelEnabled("slack")) {
|
|
3047
|
+
devChannels.push("server:slack");
|
|
3032
3048
|
}
|
|
3033
|
-
if ("
|
|
3034
|
-
|
|
3049
|
+
if (isChannelEnabled("telegram")) {
|
|
3050
|
+
devChannels.push("server:telegram");
|
|
3035
3051
|
}
|
|
3036
|
-
if ("
|
|
3037
|
-
|
|
3052
|
+
if (isChannelEnabled("discord")) {
|
|
3053
|
+
channels.push("plugin:discord@claude-plugins-official");
|
|
3038
3054
|
}
|
|
3039
3055
|
}
|
|
3040
3056
|
devChannels.push("server:direct-chat");
|
|
@@ -4749,7 +4765,7 @@ function deployMcpAssets() {
|
|
|
4749
4765
|
log("[manager] MCP assets not found in CLI package \u2014 skipping deployment");
|
|
4750
4766
|
return;
|
|
4751
4767
|
}
|
|
4752
|
-
for (const file of ["index.js", "slack-channel.js", "direct-chat-channel.js"]) {
|
|
4768
|
+
for (const file of ["index.js", "slack-channel.js", "direct-chat-channel.js", "telegram-channel.js"]) {
|
|
4753
4769
|
const src = join2(mcpSourceDir, file);
|
|
4754
4770
|
const dst = join2(targetDir, file);
|
|
4755
4771
|
if (!existsSync(src)) continue;
|