camelagi 0.5.0 → 0.5.16
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/LICENSE +1 -1
- package/README.md +241 -104
- package/dist/agent/agent-sdk.js +136 -65
- package/dist/agent/agent-sdk.js.map +1 -1
- package/dist/agent.js +4 -1
- package/dist/agent.js.map +1 -1
- package/dist/bootstrap.js +148 -331
- package/dist/bootstrap.js.map +1 -1
- package/dist/channels/handler.js +109 -1
- package/dist/channels/handler.js.map +1 -1
- package/dist/cli/cmd-agents.js +11 -14
- package/dist/cli/cmd-agents.js.map +1 -1
- package/dist/cli/cmd-bootstrap.js +4 -4
- package/dist/cli/cmd-bootstrap.js.map +1 -1
- package/dist/cli/cmd-install.js +80 -0
- package/dist/cli/cmd-install.js.map +1 -0
- package/dist/cli/cmd-pairing.js +14 -15
- package/dist/cli/cmd-pairing.js.map +1 -1
- package/dist/cli/cmd-reset.js +10 -12
- package/dist/cli/cmd-reset.js.map +1 -1
- package/dist/cli/cmd-sessions.js +10 -13
- package/dist/cli/cmd-sessions.js.map +1 -1
- package/dist/cli/cmd-status.js +67 -0
- package/dist/cli/cmd-status.js.map +1 -0
- package/dist/cli/cmd-uninstall.js +79 -0
- package/dist/cli/cmd-uninstall.js.map +1 -0
- package/dist/cli/cmd-update.js +47 -0
- package/dist/cli/cmd-update.js.map +1 -0
- package/dist/cli.js +44 -26
- package/dist/cli.js.map +1 -1
- package/dist/core/config.js +53 -8
- package/dist/core/config.js.map +1 -1
- package/dist/core/log.js +33 -13
- package/dist/core/log.js.map +1 -1
- package/dist/core/update-check.js +11 -13
- package/dist/core/update-check.js.map +1 -1
- package/dist/core/version.js +4 -0
- package/dist/core/version.js.map +1 -0
- package/dist/runtime/orchestrate.js +25 -15
- package/dist/runtime/orchestrate.js.map +1 -1
- package/dist/serve.js +22 -7
- package/dist/serve.js.map +1 -1
- package/dist/setup.js +259 -231
- package/dist/setup.js.map +1 -1
- package/dist/telegram/admin-bot.js +325 -1
- package/dist/telegram/admin-bot.js.map +1 -1
- package/dist/telegram/agent-bot.js +143 -2
- package/dist/telegram/agent-bot.js.map +1 -1
- package/dist/telegram/resolve.js +11 -2
- package/dist/telegram/resolve.js.map +1 -1
- package/dist/telegram/wizards.js +361 -12
- package/dist/telegram/wizards.js.map +1 -1
- package/dist/telegram.js +2 -0
- package/dist/telegram.js.map +1 -1
- package/dist/usage.js +106 -0
- package/dist/usage.js.map +1 -1
- package/dist/workspace.js +20 -0
- package/dist/workspace.js.map +1 -1
- package/package.json +7 -4
- package/dist/agent/agent-openai.js +0 -206
- package/dist/agent/agent-openai.js.map +0 -1
- package/dist/approval-forward.js +0 -42
- package/dist/approval-forward.js.map +0 -1
- package/dist/approvals.js +0 -151
- package/dist/approvals.js.map +0 -1
- package/dist/camelagi-gateway.mjs +0 -93611
- package/dist/camelagi-gateway.mjs.map +0 -7
- package/dist/compact.js +0 -92
- package/dist/compact.js.map +0 -1
- package/dist/config.js +0 -153
- package/dist/config.js.map +0 -1
- package/dist/constants.js +0 -21
- package/dist/constants.js.map +0 -1
- package/dist/cron.js +0 -81
- package/dist/cron.js.map +0 -1
- package/dist/errors.js +0 -5
- package/dist/errors.js.map +0 -1
- package/dist/hooks.js +0 -72
- package/dist/hooks.js.map +0 -1
- package/dist/lanes.js +0 -62
- package/dist/lanes.js.map +0 -1
- package/dist/policy.js +0 -22
- package/dist/policy.js.map +0 -1
- package/dist/queue.js +0 -45
- package/dist/queue.js.map +0 -1
- package/dist/retry.js +0 -96
- package/dist/retry.js.map +0 -1
- package/dist/runs.js +0 -83
- package/dist/runs.js.map +0 -1
- package/dist/skills.js +0 -89
- package/dist/skills.js.map +0 -1
- package/dist/subagent.js +0 -71
- package/dist/subagent.js.map +0 -1
- package/dist/telegram-admin.js +0 -800
- package/dist/telegram-admin.js.map +0 -1
- package/dist/tools/edit.js +0 -29
- package/dist/tools/edit.js.map +0 -1
- package/dist/tools/exec.js +0 -38
- package/dist/tools/exec.js.map +0 -1
- package/dist/tools/fetch.js +0 -28
- package/dist/tools/fetch.js.map +0 -1
- package/dist/tools/index.js +0 -16
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/read.js +0 -26
- package/dist/tools/read.js.map +0 -1
- package/dist/tools/search.js +0 -62
- package/dist/tools/search.js.map +0 -1
- package/dist/tools/subagent.js +0 -48
- package/dist/tools/subagent.js.map +0 -1
- package/dist/tools/write.js +0 -22
- package/dist/tools/write.js.map +0 -1
- package/dist/types.js +0 -3
- package/dist/types.js.map +0 -1
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
// Agent bot: per-agent Telegram bot with commands and message handling
|
|
2
2
|
import { Bot, InlineKeyboard, InputFile } from "grammy";
|
|
3
|
-
import { loadConfig } from "../core/config.js";
|
|
3
|
+
import { loadConfig, saveConfig } from "../core/config.js";
|
|
4
|
+
import { startWizard, advanceWizard, hasActiveWizard } from "./wizard.js";
|
|
5
|
+
import { createMcpAddWizard } from "./wizards.js";
|
|
4
6
|
import { createClient } from "../model.js";
|
|
5
7
|
import { loadMessages, deleteSession, listSessions } from "../session.js";
|
|
6
8
|
import { isRunActive } from "../runtime/runs.js";
|
|
@@ -28,18 +30,44 @@ export async function setupAgentBot(agentId, botToken, getConfig, getSystemPromp
|
|
|
28
30
|
runtimeModels: new Map(),
|
|
29
31
|
runtimeThinking: new Map(),
|
|
30
32
|
runtimeEffort: new Map(),
|
|
33
|
+
runtimeBriefMode: new Map(),
|
|
31
34
|
};
|
|
32
35
|
activeBots.set(agentId, state);
|
|
33
36
|
// Register first bot for approval forwarding (headless -> Telegram)
|
|
34
37
|
if (activeBots.size === 1) {
|
|
35
38
|
registerForwardBot(b);
|
|
36
39
|
}
|
|
37
|
-
const { botInfo, runtimeModels, runtimeThinking, runtimeEffort } = state;
|
|
40
|
+
const { botInfo, runtimeModels, runtimeThinking, runtimeEffort, runtimeBriefMode } = state;
|
|
41
|
+
// Error alert throttling — max 1 per agent per 5 minutes
|
|
42
|
+
const errorAlertTimes = new Map();
|
|
43
|
+
const ALERT_COOLDOWN_MS = 5 * 60 * 1000;
|
|
44
|
+
async function alertAdmin(message) {
|
|
45
|
+
const lastAlert = errorAlertTimes.get(agentId) ?? 0;
|
|
46
|
+
if (Date.now() - lastAlert < ALERT_COOLDOWN_MS)
|
|
47
|
+
return;
|
|
48
|
+
errorAlertTimes.set(agentId, Date.now());
|
|
49
|
+
const config = getConfig();
|
|
50
|
+
const adminEntry = Object.entries(config.agents).find(([, a]) => a.admin);
|
|
51
|
+
if (!adminEntry)
|
|
52
|
+
return;
|
|
53
|
+
const [adminId] = adminEntry;
|
|
54
|
+
const adminState = activeBots.get(adminId);
|
|
55
|
+
if (!adminState)
|
|
56
|
+
return;
|
|
57
|
+
const adminUsers = adminEntry[1].telegram?.allowedUsers ?? [];
|
|
58
|
+
for (const userId of adminUsers) {
|
|
59
|
+
try {
|
|
60
|
+
await adminState.bot.api.sendMessage(userId, message);
|
|
61
|
+
}
|
|
62
|
+
catch { /* best effort */ }
|
|
63
|
+
}
|
|
64
|
+
}
|
|
38
65
|
const sid = (chatId) => agentId === "telegram" ? `telegram-${chatId}` : `${agentId}-${chatId}`;
|
|
39
66
|
const getAgent = (chatId) => resolveAgent(agentId, getConfig(), getSystemPrompt(), {
|
|
40
67
|
model: runtimeModels.get(chatId),
|
|
41
68
|
thinking: runtimeThinking.get(chatId),
|
|
42
69
|
effort: runtimeEffort.get(chatId),
|
|
70
|
+
briefMode: runtimeBriefMode.get(chatId),
|
|
43
71
|
});
|
|
44
72
|
// Register commands (only commands this bot actually handles)
|
|
45
73
|
await b.api.setMyCommands([
|
|
@@ -53,6 +81,8 @@ export async function setupAgentBot(agentId, botToken, getConfig, getSystemPromp
|
|
|
53
81
|
{ command: "skills", description: "List active skills" },
|
|
54
82
|
{ command: "export", description: "Export session as markdown file" },
|
|
55
83
|
{ command: "session", description: "Show or switch session" },
|
|
84
|
+
{ command: "mcp", description: "Manage MCP tool servers" },
|
|
85
|
+
{ command: "brief", description: "Toggle brief response mode" },
|
|
56
86
|
{ command: "compact", description: "Force compaction of chat history" },
|
|
57
87
|
{ command: "voice", description: "Voice transcription info" },
|
|
58
88
|
]).catch(() => { });
|
|
@@ -99,6 +129,8 @@ export async function setupAgentBot(agentId, botToken, getConfig, getSystemPromp
|
|
|
99
129
|
}
|
|
100
130
|
// Create new pairing request
|
|
101
131
|
const request = createPairingRequest(userId, agentId, ctx.chat.id, ctx.from?.username, ctx.from?.first_name);
|
|
132
|
+
const who = ctx.from?.username ? `@${ctx.from.username}` : ctx.from?.first_name ?? String(userId);
|
|
133
|
+
console.log(`\n \x1b[33mPairing request from ${who} for agent "${agentId}"\x1b[0m\n \x1b[90mRun: camel pairing\x1b[0m\n`);
|
|
102
134
|
await ctx.reply(`Access requested. Waiting for admin approval.\nCode: ${request.code}`);
|
|
103
135
|
notifyAdminOfPairing(request, getConfig(), activeBots);
|
|
104
136
|
});
|
|
@@ -123,7 +155,9 @@ export async function setupAgentBot(agentId, botToken, getConfig, getSystemPromp
|
|
|
123
155
|
"/think <level> — Set thinking (off|low|medium|high)",
|
|
124
156
|
"/effort <level> — Set effort (low|medium|high|max)",
|
|
125
157
|
"/usage — Token usage for this session",
|
|
158
|
+
"/brief — Toggle brief response mode",
|
|
126
159
|
"/skills — List active skills",
|
|
160
|
+
"/mcp — Manage MCP tool servers",
|
|
127
161
|
"/export — Export session as markdown file",
|
|
128
162
|
"/session — Show or switch session",
|
|
129
163
|
"/compact — Force compaction of chat history",
|
|
@@ -132,6 +166,7 @@ export async function setupAgentBot(agentId, botToken, getConfig, getSystemPromp
|
|
|
132
166
|
`Thinking: ${agent.thinking}`,
|
|
133
167
|
`Effort: ${agent.effort}`,
|
|
134
168
|
`Max turns: ${agent.maxTurns}`,
|
|
169
|
+
`Brief mode: ${agent.briefMode ? "on" : "off"}`,
|
|
135
170
|
];
|
|
136
171
|
await ctx.reply(lines.join("\n"));
|
|
137
172
|
});
|
|
@@ -140,6 +175,7 @@ export async function setupAgentBot(agentId, botToken, getConfig, getSystemPromp
|
|
|
140
175
|
runtimeModels.delete(ctx.chat.id);
|
|
141
176
|
runtimeThinking.delete(ctx.chat.id);
|
|
142
177
|
runtimeEffort.delete(ctx.chat.id);
|
|
178
|
+
runtimeBriefMode.delete(ctx.chat.id);
|
|
143
179
|
await ctx.reply("Session cleared.");
|
|
144
180
|
});
|
|
145
181
|
b.command("status", async (ctx) => {
|
|
@@ -229,6 +265,13 @@ export async function setupAgentBot(agentId, botToken, getConfig, getSystemPromp
|
|
|
229
265
|
catch { }
|
|
230
266
|
await ctx.answerCallbackQuery();
|
|
231
267
|
});
|
|
268
|
+
b.command("brief", async (ctx) => {
|
|
269
|
+
const agent = getAgent(ctx.chat.id);
|
|
270
|
+
const current = runtimeBriefMode.get(ctx.chat.id) ?? agent.briefMode;
|
|
271
|
+
const next = !current;
|
|
272
|
+
runtimeBriefMode.set(ctx.chat.id, next);
|
|
273
|
+
await ctx.reply(`Brief mode: ${next ? "on — short replies" : "off — detailed replies"}`);
|
|
274
|
+
});
|
|
232
275
|
b.command("usage", async (ctx) => {
|
|
233
276
|
const sessionId = sid(ctx.chat.id);
|
|
234
277
|
const usage = getSessionUsage(sessionId);
|
|
@@ -312,6 +355,81 @@ export async function setupAgentBot(agentId, botToken, getConfig, getSystemPromp
|
|
|
312
355
|
await ctx.reply(`History is already compact (${history.length} messages).`);
|
|
313
356
|
}
|
|
314
357
|
});
|
|
358
|
+
b.command("mcp", async (ctx) => {
|
|
359
|
+
const kb = new InlineKeyboard()
|
|
360
|
+
.text("➕ Add Server", "mcp:add")
|
|
361
|
+
.text("📋 List", "mcp:list")
|
|
362
|
+
.text("🗑 Remove", "mcp:remove");
|
|
363
|
+
await ctx.reply("MCP Servers", { reply_markup: kb });
|
|
364
|
+
});
|
|
365
|
+
b.callbackQuery("mcp:add", async (ctx) => {
|
|
366
|
+
await ctx.answerCallbackQuery();
|
|
367
|
+
await startWizard(ctx.chat.id, createMcpAddWizard(getConfig, agentId), b);
|
|
368
|
+
});
|
|
369
|
+
b.callbackQuery("mcp:list", async (ctx) => {
|
|
370
|
+
await ctx.answerCallbackQuery();
|
|
371
|
+
const config = getConfig();
|
|
372
|
+
const isAgent = agentId && agentId !== "default" && config.agents[agentId];
|
|
373
|
+
const scope = isAgent ? `agent "${config.agents[agentId].name}"` : "global";
|
|
374
|
+
const servers = isAgent
|
|
375
|
+
? config.agents[agentId]?.mcp?.servers ?? {}
|
|
376
|
+
: config.mcp.servers;
|
|
377
|
+
const entries = Object.entries(servers);
|
|
378
|
+
if (entries.length === 0) {
|
|
379
|
+
await ctx.reply(`No MCP servers (${scope}).`);
|
|
380
|
+
return;
|
|
381
|
+
}
|
|
382
|
+
const lines = entries.map(([name, s]) => {
|
|
383
|
+
const cfg = s;
|
|
384
|
+
if (cfg.type === "stdio") {
|
|
385
|
+
const args = Array.isArray(cfg.args) ? cfg.args.join(" ") : "";
|
|
386
|
+
return `⚙️ ${name} (stdio)\n ${cfg.command} ${args}`.trimEnd();
|
|
387
|
+
}
|
|
388
|
+
return `${cfg.type === "sse" ? "📡" : "🌐"} ${name} (${cfg.type})\n ${cfg.url}`;
|
|
389
|
+
});
|
|
390
|
+
await ctx.reply(`MCP Servers (${scope}):\n\n${lines.join("\n\n")}`);
|
|
391
|
+
});
|
|
392
|
+
b.callbackQuery("mcp:remove", async (ctx) => {
|
|
393
|
+
await ctx.answerCallbackQuery();
|
|
394
|
+
const config = getConfig();
|
|
395
|
+
const isAgent = agentId && agentId !== "default" && config.agents[agentId];
|
|
396
|
+
const servers = isAgent
|
|
397
|
+
? config.agents[agentId]?.mcp?.servers ?? {}
|
|
398
|
+
: config.mcp.servers;
|
|
399
|
+
const names = Object.keys(servers);
|
|
400
|
+
if (names.length === 0) {
|
|
401
|
+
await ctx.reply("No MCP servers to remove.");
|
|
402
|
+
return;
|
|
403
|
+
}
|
|
404
|
+
const kb = new InlineKeyboard();
|
|
405
|
+
for (const name of names) {
|
|
406
|
+
kb.text(`✕ ${name}`, `mcp:rm:${name}`).row();
|
|
407
|
+
}
|
|
408
|
+
await ctx.reply("Remove which server?", { reply_markup: kb });
|
|
409
|
+
});
|
|
410
|
+
b.callbackQuery(/^mcp:rm:/, async (ctx) => {
|
|
411
|
+
await ctx.answerCallbackQuery();
|
|
412
|
+
const name = ctx.callbackQuery.data.replace("mcp:rm:", "");
|
|
413
|
+
const config = getConfig();
|
|
414
|
+
const isAgent = agentId && agentId !== "default" && config.agents[agentId];
|
|
415
|
+
const servers = isAgent
|
|
416
|
+
? { ...(config.agents[agentId]?.mcp?.servers ?? {}) }
|
|
417
|
+
: { ...config.mcp.servers };
|
|
418
|
+
if (!(name in servers)) {
|
|
419
|
+
await ctx.reply(`Server "${name}" not found.`);
|
|
420
|
+
return;
|
|
421
|
+
}
|
|
422
|
+
delete servers[name];
|
|
423
|
+
if (isAgent) {
|
|
424
|
+
const agents = { ...config.agents };
|
|
425
|
+
agents[agentId] = { ...agents[agentId], mcp: { servers } };
|
|
426
|
+
saveConfig({ agents });
|
|
427
|
+
}
|
|
428
|
+
else {
|
|
429
|
+
saveConfig({ mcp: { servers } });
|
|
430
|
+
}
|
|
431
|
+
await ctx.reply(`Removed MCP server: ${name}`);
|
|
432
|
+
});
|
|
315
433
|
// ─── Admin-only commands: redirect to admin bot ──────────────────
|
|
316
434
|
const adminRedirect = async (ctx) => {
|
|
317
435
|
const config = getConfig();
|
|
@@ -389,6 +507,14 @@ export async function setupAgentBot(agentId, botToken, getConfig, getSystemPromp
|
|
|
389
507
|
agentSystemPrompt: agent.systemPrompt,
|
|
390
508
|
thinking: agent.thinking,
|
|
391
509
|
effort: agent.effort,
|
|
510
|
+
onRetry: async (attempt, kind) => {
|
|
511
|
+
await alertAdmin(`⚠️ ${agent.name}: ${kind} (attempt ${attempt + 1}/${config.retry.maxRetries})`);
|
|
512
|
+
},
|
|
513
|
+
onError: async (err, kind) => {
|
|
514
|
+
const isFatal = kind === "auth" || kind === "billing";
|
|
515
|
+
const icon = isFatal ? "🚨" : "⚠️";
|
|
516
|
+
await alertAdmin(`${icon} ${agent.name}: ${kind} — ${err.message.slice(0, 200)}`);
|
|
517
|
+
},
|
|
392
518
|
onEvent: async (event) => {
|
|
393
519
|
if (event.type === "stream_text") {
|
|
394
520
|
pendingText += event.text;
|
|
@@ -476,7 +602,22 @@ export async function setupAgentBot(agentId, botToken, getConfig, getSystemPromp
|
|
|
476
602
|
}
|
|
477
603
|
});
|
|
478
604
|
// ─── Text message handler ─────────────────────────────────────────
|
|
605
|
+
// Handle wizard callback queries (inline button selections)
|
|
606
|
+
b.on("callback_query:data", async (ctx) => {
|
|
607
|
+
const data = ctx.callbackQuery.data;
|
|
608
|
+
if (data.startsWith("wizard:")) {
|
|
609
|
+
await ctx.answerCallbackQuery();
|
|
610
|
+
const value = data.split(":").slice(2).join(":");
|
|
611
|
+
await advanceWizard(ctx.chat.id, value, b);
|
|
612
|
+
}
|
|
613
|
+
});
|
|
479
614
|
b.on("message:text", async (ctx) => {
|
|
615
|
+
// Advance active wizard with text input
|
|
616
|
+
if (hasActiveWizard(ctx.chat.id)) {
|
|
617
|
+
const consumed = await advanceWizard(ctx.chat.id, ctx.message.text, b);
|
|
618
|
+
if (consumed)
|
|
619
|
+
return;
|
|
620
|
+
}
|
|
480
621
|
const agent = getAgent(ctx.chat.id);
|
|
481
622
|
const text = ctx.message.text;
|
|
482
623
|
if (isGroupChat(ctx.chat.type) && agent.mentionOnly) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-bot.js","sourceRoot":"","sources":["../../src/telegram/agent-bot.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-bot.js","sourceRoot":"","sources":["../../src/telegram/agent-bot.ts"],"names":[],"mappings":"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"}
|
package/dist/telegram/resolve.js
CHANGED
|
@@ -1,33 +1,42 @@
|
|
|
1
1
|
// Agent config resolution for Telegram
|
|
2
2
|
import { buildSystemPrompt } from "../system-prompt.js";
|
|
3
|
+
const BRIEF_MODE_INSTRUCTION = `
|
|
4
|
+
|
|
5
|
+
## Response Style (Telegram)
|
|
6
|
+
You're replying in a Telegram chat — keep responses short and conversational, like a text message. Lead with the answer. Skip markdown formatting (no headers, no code fences unless asked). If the answer needs depth, give the key point first then offer to elaborate. Be helpful, not verbose.`;
|
|
3
7
|
/** Resolve an agent's config from current config state (supports hot-reload) */
|
|
4
8
|
export function resolveAgent(agentId, config, globalSystemPrompt, overrides) {
|
|
5
9
|
if (agentId === "telegram") {
|
|
6
10
|
// Legacy top-level telegram config
|
|
11
|
+
const briefMode = overrides?.briefMode ?? true;
|
|
7
12
|
return {
|
|
8
13
|
id: "telegram",
|
|
9
14
|
name: "CamelAGI",
|
|
10
15
|
model: overrides?.model ?? config.model,
|
|
11
|
-
systemPrompt: globalSystemPrompt,
|
|
16
|
+
systemPrompt: globalSystemPrompt + (briefMode ? BRIEF_MODE_INSTRUCTION : ""),
|
|
12
17
|
thinking: overrides?.thinking ?? config.thinking,
|
|
13
18
|
effort: overrides?.effort ?? config.effort,
|
|
14
19
|
maxTurns: config.maxTurns,
|
|
15
20
|
allowedUsers: config.telegram.allowedUsers,
|
|
16
21
|
mentionOnly: config.telegram.groups.mentionOnly,
|
|
22
|
+
briefMode,
|
|
17
23
|
};
|
|
18
24
|
}
|
|
19
25
|
const agent = config.agents[agentId];
|
|
20
26
|
const basePrompt = agent?.systemPrompt ?? config.systemPrompt;
|
|
27
|
+
const briefMode = overrides?.briefMode ?? (agent?.telegram?.briefMode ?? true);
|
|
28
|
+
const prompt = buildSystemPrompt(basePrompt, config.skills, agentId);
|
|
21
29
|
return {
|
|
22
30
|
id: agentId,
|
|
23
31
|
name: agent?.name ?? agentId,
|
|
24
32
|
model: overrides?.model ?? agent?.model ?? config.model,
|
|
25
|
-
systemPrompt:
|
|
33
|
+
systemPrompt: prompt + (briefMode ? BRIEF_MODE_INSTRUCTION : ""),
|
|
26
34
|
thinking: overrides?.thinking ?? (agent?.thinking ?? config.thinking),
|
|
27
35
|
effort: overrides?.effort ?? (agent?.effort ?? config.effort),
|
|
28
36
|
maxTurns: agent?.maxTurns ?? config.maxTurns,
|
|
29
37
|
allowedUsers: agent?.telegram?.allowedUsers ?? [],
|
|
30
38
|
mentionOnly: agent?.telegram?.groups?.mentionOnly ?? true,
|
|
39
|
+
briefMode,
|
|
31
40
|
};
|
|
32
41
|
}
|
|
33
42
|
//# sourceMappingURL=resolve.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/telegram/resolve.ts"],"names":[],"mappings":"AAAA,uCAAuC;AAGvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/telegram/resolve.ts"],"names":[],"mappings":"AAAA,uCAAuC;AAGvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAUxD,MAAM,sBAAsB,GAAG;;;mSAGoQ,CAAC;AAEpS,gFAAgF;AAChF,MAAM,UAAU,YAAY,CAC1B,OAAe,EACf,MAAc,EACd,kBAA0B,EAC1B,SAA4B;IAE5B,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3B,mCAAmC;QACnC,MAAM,SAAS,GAAG,SAAS,EAAE,SAAS,IAAI,IAAI,CAAC;QAC/C,OAAO;YACL,EAAE,EAAE,UAAU;YACd,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,SAAS,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK;YACvC,YAAY,EAAE,kBAAkB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,QAAQ,EAAE,SAAS,EAAE,QAAQ,IAAI,MAAM,CAAC,QAAQ;YAChD,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM;YAC1C,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY;YAC1C,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW;YAC/C,SAAS;SACV,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,KAAK,EAAE,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC;IAC9D,MAAM,SAAS,GAAG,SAAS,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC;IAC/E,MAAM,MAAM,GAAG,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrE,OAAO;QACL,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,OAAO;QAC5B,KAAK,EAAE,SAAS,EAAE,KAAK,IAAI,KAAK,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK;QACvD,YAAY,EAAE,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,QAAQ,EAAE,SAAS,EAAE,QAAQ,IAAI,CAAC,KAAK,EAAE,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAuB;QAC3F,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,CAAqB;QACjF,QAAQ,EAAE,KAAK,EAAE,QAAQ,IAAI,MAAM,CAAC,QAAQ;QAC5C,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,IAAI,EAAE;QACjD,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,IAAI,IAAI;QACzD,SAAS;KACV,CAAC;AACJ,CAAC"}
|