@openacp/cli 0.6.8 → 0.6.10
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/README.md +100 -154
- package/dist/{action-detect-6M5GCGAU.js → action-detect-P7ZE4NEM.js} +2 -1
- package/dist/{adapter-7GY3N4ZH.js → adapter-ZOANORGM.js} +8 -7
- package/dist/{adapter-7GY3N4ZH.js.map → adapter-ZOANORGM.js.map} +1 -1
- package/dist/{admin-2HAFXQBG.js → admin-6SYB6XCZ.js} +2 -1
- package/dist/{agent-catalog-SBZQRYOD.js → agent-catalog-FC3HGDEQ.js} +2 -1
- package/dist/{agent-dependencies-QY5QSULV.js → agent-dependencies-4OWBMZWZ.js} +2 -1
- package/dist/{agent-registry-KZFSIRSJ.js → agent-registry-WT4NXPYG.js} +2 -1
- package/dist/{agent-store-CGE4G6PA.js → agent-store-VZLFPTZU.js} +2 -1
- package/dist/{agents-QJPHNWK2.js → agents-QO7DKARJ.js} +2 -1
- package/dist/{api-client-BH2JFHQW.js → api-client-CFQT5U7D.js} +2 -1
- package/dist/{autostart-6M3FZAKW.js → autostart-X33OGMX6.js} +2 -1
- package/dist/{chunk-RHE2JSYE.js → chunk-2HMQOC7N.js} +2 -2
- package/dist/{chunk-SHHMBGB3.js → chunk-33RP6K2O.js} +2 -2
- package/dist/{chunk-5SXG7X5D.js → chunk-CS3KCJ5D.js} +103 -55
- package/dist/chunk-CS3KCJ5D.js.map +1 -0
- package/dist/{chunk-47B7GNOE.js → chunk-LCRLAV4G.js} +541 -191
- package/dist/chunk-LCRLAV4G.js.map +1 -0
- package/dist/{chunk-LO4Y5WQ7.js → chunk-LGP2YGRL.js} +7 -7
- package/dist/{chunk-LO4Y5WQ7.js.map → chunk-LGP2YGRL.js.map} +1 -1
- package/dist/{chunk-MZXWCDBU.js → chunk-MKHUZLII.js} +4 -4
- package/dist/chunk-MKHUZLII.js.map +1 -0
- package/dist/{chunk-YEOY2PBJ.js → chunk-NVPG6JCL.js} +3 -3
- package/dist/{chunk-JUYDFUSN.js → chunk-OWP7RZ62.js} +38 -14
- package/dist/chunk-OWP7RZ62.js.map +1 -0
- package/dist/{chunk-5OVPEDUB.js → chunk-VOIJ6OY4.js} +2 -2
- package/dist/chunk-VUNV25KB.js +16 -0
- package/dist/{chunk-2J2RBYWN.js → chunk-WTZDAYZX.js} +2 -2
- package/dist/cli.js +53 -47
- package/dist/cli.js.map +1 -1
- package/dist/{config-CQAS6YHR.js → config-6S355X75.js} +3 -2
- package/dist/config-editor-QQTZMWGD.js +13 -0
- package/dist/{config-registry-HDXFES2D.js → config-registry-AHYI4MYL.js} +2 -1
- package/dist/{daemon-K33ZPSEZ.js → daemon-4CS6HMB5.js} +4 -3
- package/dist/{discord-VOHXRTCH.js → discord-OMC52Y54.js} +251 -94
- package/dist/discord-OMC52Y54.js.map +1 -0
- package/dist/dist-UHQK5CXN.js +21151 -0
- package/dist/dist-UHQK5CXN.js.map +1 -0
- package/dist/doctor-HZZ5BSHB.js +10 -0
- package/dist/{doctor-HASEBMUD.js → doctor-OLYBO3V3.js} +5 -4
- package/dist/index.js +11 -10
- package/dist/{install-cloudflared-FSILDS5J.js → install-cloudflared-Z7VCGOVG.js} +2 -1
- package/dist/{install-cloudflared-FSILDS5J.js.map → install-cloudflared-Z7VCGOVG.js.map} +1 -1
- package/dist/{install-jq-P6RUBKPV.js → install-jq-HUYSQWKR.js} +2 -1
- package/dist/{install-jq-P6RUBKPV.js.map → install-jq-HUYSQWKR.js.map} +1 -1
- package/dist/{integrate-O4OCR4SN.js → integrate-PNEHRY2I.js} +2 -1
- package/dist/{integrate-O4OCR4SN.js.map → integrate-PNEHRY2I.js.map} +1 -1
- package/dist/{log-RCVBXLTN.js → log-NXABYJTT.js} +2 -1
- package/dist/{main-DUXVFTDD.js → main-XOZCLFUK.js} +21 -20
- package/dist/main-XOZCLFUK.js.map +1 -0
- package/dist/{menu-XR2GET2B.js → menu-YY5MKHEK.js} +2 -1
- package/dist/{new-session-NHK7TOEW.js → new-session-FEO4J4VU.js} +2 -1
- package/dist/{post-upgrade-62LUHDJO.js → post-upgrade-CJG5I7M2.js} +6 -5
- package/dist/{post-upgrade-62LUHDJO.js.map → post-upgrade-CJG5I7M2.js.map} +1 -1
- package/dist/{session-O6ZPLJIZ.js → session-IUSI7P5S.js} +2 -1
- package/dist/{settings-6TF4WIGJ.js → settings-RQPAM4KC.js} +2 -1
- package/dist/{setup-RJCEB6FS.js → setup-XHS4OMPM.js} +6 -3
- package/dist/{suggest-RST5VOHB.js → suggest-7D6B542M.js} +3 -1
- package/dist/{suggest-RST5VOHB.js.map → suggest-7D6B542M.js.map} +1 -1
- package/dist/{tunnel-service-NJJH4I26.js → tunnel-service-CJLUH6SZ.js} +3 -2
- package/dist/{tunnel-service-NJJH4I26.js.map → tunnel-service-CJLUH6SZ.js.map} +1 -1
- package/dist/{version-AXXV6IV2.js → version-NQZBM5M7.js} +2 -1
- package/dist/version-NQZBM5M7.js.map +1 -0
- package/package.json +15 -1
- package/dist/chunk-47B7GNOE.js.map +0 -1
- package/dist/chunk-5SXG7X5D.js.map +0 -1
- package/dist/chunk-JUYDFUSN.js.map +0 -1
- package/dist/chunk-MZXWCDBU.js.map +0 -1
- package/dist/config-editor-37BM56WF.js +0 -12
- package/dist/discord-VOHXRTCH.js.map +0 -1
- package/dist/doctor-W4VGLDVM.js +0 -9
- package/dist/main-DUXVFTDD.js.map +0 -1
- /package/dist/{action-detect-6M5GCGAU.js.map → action-detect-P7ZE4NEM.js.map} +0 -0
- /package/dist/{admin-2HAFXQBG.js.map → admin-6SYB6XCZ.js.map} +0 -0
- /package/dist/{agent-catalog-SBZQRYOD.js.map → agent-catalog-FC3HGDEQ.js.map} +0 -0
- /package/dist/{agent-dependencies-QY5QSULV.js.map → agent-dependencies-4OWBMZWZ.js.map} +0 -0
- /package/dist/{agent-registry-KZFSIRSJ.js.map → agent-registry-WT4NXPYG.js.map} +0 -0
- /package/dist/{agent-store-CGE4G6PA.js.map → agent-store-VZLFPTZU.js.map} +0 -0
- /package/dist/{agents-QJPHNWK2.js.map → agents-QO7DKARJ.js.map} +0 -0
- /package/dist/{api-client-BH2JFHQW.js.map → api-client-CFQT5U7D.js.map} +0 -0
- /package/dist/{autostart-6M3FZAKW.js.map → autostart-X33OGMX6.js.map} +0 -0
- /package/dist/{chunk-RHE2JSYE.js.map → chunk-2HMQOC7N.js.map} +0 -0
- /package/dist/{chunk-SHHMBGB3.js.map → chunk-33RP6K2O.js.map} +0 -0
- /package/dist/{chunk-YEOY2PBJ.js.map → chunk-NVPG6JCL.js.map} +0 -0
- /package/dist/{chunk-5OVPEDUB.js.map → chunk-VOIJ6OY4.js.map} +0 -0
- /package/dist/{config-CQAS6YHR.js.map → chunk-VUNV25KB.js.map} +0 -0
- /package/dist/{chunk-2J2RBYWN.js.map → chunk-WTZDAYZX.js.map} +0 -0
- /package/dist/{config-editor-37BM56WF.js.map → config-6S355X75.js.map} +0 -0
- /package/dist/{config-registry-HDXFES2D.js.map → config-editor-QQTZMWGD.js.map} +0 -0
- /package/dist/{daemon-K33ZPSEZ.js.map → config-registry-AHYI4MYL.js.map} +0 -0
- /package/dist/{doctor-HASEBMUD.js.map → daemon-4CS6HMB5.js.map} +0 -0
- /package/dist/{doctor-W4VGLDVM.js.map → doctor-HZZ5BSHB.js.map} +0 -0
- /package/dist/{log-RCVBXLTN.js.map → doctor-OLYBO3V3.js.map} +0 -0
- /package/dist/{menu-XR2GET2B.js.map → log-NXABYJTT.js.map} +0 -0
- /package/dist/{new-session-NHK7TOEW.js.map → menu-YY5MKHEK.js.map} +0 -0
- /package/dist/{session-O6ZPLJIZ.js.map → new-session-FEO4J4VU.js.map} +0 -0
- /package/dist/{settings-6TF4WIGJ.js.map → session-IUSI7P5S.js.map} +0 -0
- /package/dist/{setup-RJCEB6FS.js.map → settings-RQPAM4KC.js.map} +0 -0
- /package/dist/{version-AXXV6IV2.js.map → setup-XHS4OMPM.js.map} +0 -0
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
2
|
PRODUCT_GUIDE,
|
|
3
|
-
STATUS_ICONS,
|
|
4
3
|
dispatchMessage,
|
|
5
4
|
evaluateNoise,
|
|
6
5
|
extractContentText,
|
|
@@ -8,13 +7,21 @@ import {
|
|
|
8
7
|
formatToolSummary,
|
|
9
8
|
formatToolTitle,
|
|
10
9
|
progressBar,
|
|
10
|
+
resolveToolIcon,
|
|
11
11
|
splitMessage,
|
|
12
12
|
stripCodeFences,
|
|
13
13
|
truncateContent
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-OWP7RZ62.js";
|
|
15
|
+
import {
|
|
16
|
+
CheckpointReader,
|
|
17
|
+
DEFAULT_MAX_TOKENS
|
|
18
|
+
} from "./chunk-LGP2YGRL.js";
|
|
19
|
+
import {
|
|
20
|
+
ChannelAdapter
|
|
21
|
+
} from "./chunk-LBIKITQT.js";
|
|
15
22
|
import {
|
|
16
23
|
DoctorEngine
|
|
17
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-NVPG6JCL.js";
|
|
18
25
|
import {
|
|
19
26
|
buildMenuKeyboard,
|
|
20
27
|
buildSkillMessages,
|
|
@@ -22,13 +29,6 @@ import {
|
|
|
22
29
|
handleHelp,
|
|
23
30
|
handleMenu
|
|
24
31
|
} from "./chunk-7QJS2XBD.js";
|
|
25
|
-
import {
|
|
26
|
-
CheckpointReader,
|
|
27
|
-
DEFAULT_MAX_TOKENS
|
|
28
|
-
} from "./chunk-LO4Y5WQ7.js";
|
|
29
|
-
import {
|
|
30
|
-
ChannelAdapter
|
|
31
|
-
} from "./chunk-LBIKITQT.js";
|
|
32
32
|
import {
|
|
33
33
|
getConfigValue,
|
|
34
34
|
getSafeFields,
|
|
@@ -118,33 +118,43 @@ function markdownToTelegramHtml(md) {
|
|
|
118
118
|
return text;
|
|
119
119
|
}
|
|
120
120
|
function formatToolCall(tool, verbosity = "medium") {
|
|
121
|
-
const si =
|
|
121
|
+
const si = resolveToolIcon(tool);
|
|
122
122
|
const name = tool.name || "Tool";
|
|
123
|
-
const label = verbosity === "low" ? formatToolTitle(name, tool.rawInput) : formatToolSummary(name, tool.rawInput);
|
|
123
|
+
const label = verbosity === "low" ? formatToolTitle(name, tool.rawInput, tool.displayTitle) : formatToolSummary(name, tool.rawInput, tool.displaySummary);
|
|
124
124
|
let text = `${si} <b>${escapeHtml(label)}</b>`;
|
|
125
125
|
text += formatViewerLinks(tool.viewerLinks, tool.viewerFilePath);
|
|
126
|
-
if (verbosity === "high"
|
|
127
|
-
|
|
128
|
-
if (details) {
|
|
129
|
-
text += `
|
|
130
|
-
<pre>${escapeHtml(truncateContent(details, 3800))}</pre>`;
|
|
131
|
-
}
|
|
126
|
+
if (verbosity === "high") {
|
|
127
|
+
text += formatHighDetails(tool.rawInput, tool.content, 3800);
|
|
132
128
|
}
|
|
133
129
|
return text;
|
|
134
130
|
}
|
|
135
131
|
function formatToolUpdate(update, verbosity = "medium") {
|
|
136
|
-
const si =
|
|
132
|
+
const si = resolveToolIcon(update);
|
|
137
133
|
const name = update.name || "Tool";
|
|
138
|
-
const label = verbosity === "low" ? formatToolTitle(name, update.rawInput) : formatToolSummary(name, update.rawInput);
|
|
134
|
+
const label = verbosity === "low" ? formatToolTitle(name, update.rawInput, update.displayTitle) : formatToolSummary(name, update.rawInput, update.displaySummary);
|
|
139
135
|
let text = `${si} <b>${escapeHtml(label)}</b>`;
|
|
140
136
|
text += formatViewerLinks(update.viewerLinks, update.viewerFilePath);
|
|
141
|
-
if (verbosity === "high"
|
|
142
|
-
|
|
143
|
-
|
|
137
|
+
if (verbosity === "high") {
|
|
138
|
+
text += formatHighDetails(update.rawInput, update.content, 3800);
|
|
139
|
+
}
|
|
140
|
+
return text;
|
|
141
|
+
}
|
|
142
|
+
function formatHighDetails(rawInput, content, maxLen) {
|
|
143
|
+
let text = "";
|
|
144
|
+
if (rawInput) {
|
|
145
|
+
const inputStr = typeof rawInput === "string" ? rawInput : JSON.stringify(rawInput, null, 2);
|
|
146
|
+
if (inputStr && inputStr !== "{}") {
|
|
144
147
|
text += `
|
|
145
|
-
<
|
|
148
|
+
<b>Input:</b>
|
|
149
|
+
<pre>${escapeHtml(truncateContent(inputStr, maxLen))}</pre>`;
|
|
146
150
|
}
|
|
147
151
|
}
|
|
152
|
+
const details = stripCodeFences(extractContentText(content));
|
|
153
|
+
if (details) {
|
|
154
|
+
text += `
|
|
155
|
+
<b>Output:</b>
|
|
156
|
+
<pre>${escapeHtml(truncateContent(details, maxLen))}</pre>`;
|
|
157
|
+
}
|
|
148
158
|
return text;
|
|
149
159
|
}
|
|
150
160
|
function formatViewerLinks(links, filePath) {
|
|
@@ -159,16 +169,23 @@ function formatViewerLinks(links, filePath) {
|
|
|
159
169
|
\u{1F4DD} <a href="${escapeHtml(links.diff)}">View diff${fileName ? ` \u2014 ${escapeHtml(fileName)}` : ""}</a>`;
|
|
160
170
|
return text;
|
|
161
171
|
}
|
|
162
|
-
function formatUsage(usage) {
|
|
163
|
-
const { tokensUsed, contextSize } = usage;
|
|
172
|
+
function formatUsage(usage, verbosity = "medium") {
|
|
173
|
+
const { tokensUsed, contextSize, cost } = usage;
|
|
164
174
|
if (tokensUsed == null) return "\u{1F4CA} Usage data unavailable";
|
|
175
|
+
if (verbosity === "medium") {
|
|
176
|
+
const costStr = cost != null ? ` \xB7 $${cost.toFixed(2)}` : "";
|
|
177
|
+
return `\u{1F4CA} ${formatTokens(tokensUsed)} tokens${costStr}`;
|
|
178
|
+
}
|
|
165
179
|
if (contextSize == null) return `\u{1F4CA} ${formatTokens(tokensUsed)} tokens`;
|
|
166
180
|
const ratio = tokensUsed / contextSize;
|
|
167
181
|
const pct = Math.round(ratio * 100);
|
|
168
182
|
const bar = progressBar(ratio);
|
|
169
183
|
const emoji = pct >= 85 ? "\u26A0\uFE0F" : "\u{1F4CA}";
|
|
170
|
-
|
|
184
|
+
let text = `${emoji} ${formatTokens(tokensUsed)} / ${formatTokens(contextSize)} tokens
|
|
171
185
|
${bar} ${pct}%`;
|
|
186
|
+
if (cost != null) text += `
|
|
187
|
+
\u{1F4B0} $${cost.toFixed(2)}`;
|
|
188
|
+
return text;
|
|
172
189
|
}
|
|
173
190
|
var PERIOD_LABEL = {
|
|
174
191
|
today: "Today",
|
|
@@ -503,7 +520,7 @@ async function handleUpdate(ctx, core) {
|
|
|
503
520
|
);
|
|
504
521
|
return;
|
|
505
522
|
}
|
|
506
|
-
const { getCurrentVersion, getLatestVersion, compareVersions, runUpdate } = await import("./version-
|
|
523
|
+
const { getCurrentVersion, getLatestVersion, compareVersions, runUpdate } = await import("./version-NQZBM5M7.js");
|
|
507
524
|
const current = getCurrentVersion();
|
|
508
525
|
const statusMsg = await ctx.reply(
|
|
509
526
|
`\u{1F50D} Checking for updates... (current: v${escapeHtml(current)})`,
|
|
@@ -1581,10 +1598,10 @@ Downloading... ${bar} ${percent}%`, { parse_mode: "HTML" });
|
|
|
1581
1598
|
};
|
|
1582
1599
|
const result = await catalog.install(nameOrId, progress);
|
|
1583
1600
|
if (result.ok) {
|
|
1584
|
-
const { getAgentCapabilities } = await import("./agent-dependencies-
|
|
1601
|
+
const { getAgentCapabilities } = await import("./agent-dependencies-4OWBMZWZ.js");
|
|
1585
1602
|
const caps = getAgentCapabilities(result.agentKey);
|
|
1586
1603
|
if (caps.integration) {
|
|
1587
|
-
const { installIntegration } = await import("./integrate-
|
|
1604
|
+
const { installIntegration } = await import("./integrate-PNEHRY2I.js");
|
|
1588
1605
|
const intResult = await installIntegration(result.agentKey, caps.integration);
|
|
1589
1606
|
if (intResult.success) {
|
|
1590
1607
|
try {
|
|
@@ -1654,7 +1671,7 @@ function buildProgressBar(percent) {
|
|
|
1654
1671
|
// src/adapters/telegram/commands/integrate.ts
|
|
1655
1672
|
import { InlineKeyboard as InlineKeyboard5 } from "grammy";
|
|
1656
1673
|
async function handleIntegrate(ctx, _core) {
|
|
1657
|
-
const { listIntegrations } = await import("./integrate-
|
|
1674
|
+
const { listIntegrations } = await import("./integrate-PNEHRY2I.js");
|
|
1658
1675
|
const agents = listIntegrations();
|
|
1659
1676
|
const keyboard = new InlineKeyboard5();
|
|
1660
1677
|
for (const agent of agents) {
|
|
@@ -1687,7 +1704,7 @@ function setupIntegrateCallbacks(bot, core) {
|
|
|
1687
1704
|
} catch {
|
|
1688
1705
|
}
|
|
1689
1706
|
if (data === "i:back") {
|
|
1690
|
-
const { listIntegrations } = await import("./integrate-
|
|
1707
|
+
const { listIntegrations } = await import("./integrate-PNEHRY2I.js");
|
|
1691
1708
|
const agents = listIntegrations();
|
|
1692
1709
|
const keyboard2 = new InlineKeyboard5();
|
|
1693
1710
|
for (const agent of agents) {
|
|
@@ -1707,7 +1724,7 @@ Select an agent to manage its integrations.`,
|
|
|
1707
1724
|
const agentMatch = data.match(/^i:agent:(.+)$/);
|
|
1708
1725
|
if (agentMatch) {
|
|
1709
1726
|
const agentName2 = agentMatch[1];
|
|
1710
|
-
const { getIntegration: getIntegration2 } = await import("./integrate-
|
|
1727
|
+
const { getIntegration: getIntegration2 } = await import("./integrate-PNEHRY2I.js");
|
|
1711
1728
|
const integration2 = getIntegration2(agentName2);
|
|
1712
1729
|
if (!integration2) {
|
|
1713
1730
|
await ctx.reply(`\u274C No integration available for '${escapeHtml(agentName2)}'.`, { parse_mode: "HTML" });
|
|
@@ -1734,7 +1751,7 @@ ${integration2.items.map((i) => `\u2022 <b>${escapeHtml(i.name)}</b> \u2014 ${es
|
|
|
1734
1751
|
const action = actionMatch[1];
|
|
1735
1752
|
const agentName = actionMatch[2];
|
|
1736
1753
|
const itemId = actionMatch[3];
|
|
1737
|
-
const { getIntegration } = await import("./integrate-
|
|
1754
|
+
const { getIntegration } = await import("./integrate-PNEHRY2I.js");
|
|
1738
1755
|
const integration = getIntegration(agentName);
|
|
1739
1756
|
if (!integration) return;
|
|
1740
1757
|
const item = integration.items.find((i) => i.id === itemId);
|
|
@@ -2218,7 +2235,7 @@ Tap to change:`, {
|
|
|
2218
2235
|
await ctx.answerCallbackQuery();
|
|
2219
2236
|
} catch {
|
|
2220
2237
|
}
|
|
2221
|
-
const { buildMenuKeyboard: buildMenuKeyboard3 } = await import("./menu-
|
|
2238
|
+
const { buildMenuKeyboard: buildMenuKeyboard3 } = await import("./menu-YY5MKHEK.js");
|
|
2222
2239
|
try {
|
|
2223
2240
|
await ctx.editMessageText(`<b>OpenACP Menu</b>
|
|
2224
2241
|
Choose an action:`, {
|
|
@@ -2975,11 +2992,15 @@ var ThinkingIndicator = class {
|
|
|
2975
2992
|
const elapsed = Math.round((Date.now() - this.showTime) / 1e3);
|
|
2976
2993
|
this.sendQueue.enqueue(() => {
|
|
2977
2994
|
if (this.dismissed) return Promise.resolve(void 0);
|
|
2978
|
-
return this.api.sendMessage(
|
|
2979
|
-
|
|
2980
|
-
|
|
2981
|
-
|
|
2982
|
-
|
|
2995
|
+
return this.api.sendMessage(
|
|
2996
|
+
this.chatId,
|
|
2997
|
+
`\u{1F4AD} <i>Still thinking... (${elapsed}s)</i>`,
|
|
2998
|
+
{
|
|
2999
|
+
message_thread_id: this.threadId,
|
|
3000
|
+
parse_mode: "HTML",
|
|
3001
|
+
disable_notification: true
|
|
3002
|
+
}
|
|
3003
|
+
);
|
|
2983
3004
|
}).then((result) => {
|
|
2984
3005
|
if (result && !this.dismissed) {
|
|
2985
3006
|
this.msgId = result.message_id;
|
|
@@ -3003,8 +3024,8 @@ var UsageMessage = class {
|
|
|
3003
3024
|
this.sendQueue = sendQueue;
|
|
3004
3025
|
}
|
|
3005
3026
|
msgId;
|
|
3006
|
-
async send(usage) {
|
|
3007
|
-
const text = formatUsage(usage);
|
|
3027
|
+
async send(usage, verbosity = "medium") {
|
|
3028
|
+
const text = formatUsage(usage, verbosity);
|
|
3008
3029
|
try {
|
|
3009
3030
|
if (this.msgId) {
|
|
3010
3031
|
await this.sendQueue.enqueue(
|
|
@@ -3034,13 +3055,19 @@ var UsageMessage = class {
|
|
|
3034
3055
|
const id = this.msgId;
|
|
3035
3056
|
this.msgId = void 0;
|
|
3036
3057
|
try {
|
|
3037
|
-
await this.sendQueue.enqueue(
|
|
3058
|
+
await this.sendQueue.enqueue(
|
|
3059
|
+
() => this.api.deleteMessage(this.chatId, id)
|
|
3060
|
+
);
|
|
3038
3061
|
} catch (err) {
|
|
3039
3062
|
log10.warn({ err }, "UsageMessage.delete() failed");
|
|
3040
3063
|
}
|
|
3041
3064
|
}
|
|
3042
3065
|
};
|
|
3043
|
-
function formatPlanCard(entries) {
|
|
3066
|
+
function formatPlanCard(entries, verbosity = "medium") {
|
|
3067
|
+
if (verbosity === "medium") {
|
|
3068
|
+
const done2 = entries.filter((e) => e.status === "completed").length;
|
|
3069
|
+
return `\u{1F4CB} <b>Plan:</b> ${done2}/${entries.length} steps completed`;
|
|
3070
|
+
}
|
|
3044
3071
|
const statusIcon = {
|
|
3045
3072
|
completed: "\u2705",
|
|
3046
3073
|
in_progress: "\u{1F504}",
|
|
@@ -3073,6 +3100,10 @@ var PlanCard = class {
|
|
|
3073
3100
|
latestEntries;
|
|
3074
3101
|
lastSentText;
|
|
3075
3102
|
flushTimer;
|
|
3103
|
+
verbosity = "medium";
|
|
3104
|
+
setVerbosity(v) {
|
|
3105
|
+
this.verbosity = v;
|
|
3106
|
+
}
|
|
3076
3107
|
update(entries) {
|
|
3077
3108
|
this.latestEntries = entries;
|
|
3078
3109
|
if (this.flushTimer) clearTimeout(this.flushTimer);
|
|
@@ -3101,7 +3132,7 @@ var PlanCard = class {
|
|
|
3101
3132
|
}
|
|
3102
3133
|
async _flush() {
|
|
3103
3134
|
if (!this.latestEntries) return;
|
|
3104
|
-
const text = formatPlanCard(this.latestEntries);
|
|
3135
|
+
const text = formatPlanCard(this.latestEntries, this.verbosity);
|
|
3105
3136
|
if (this.msgId && text === this.lastSentText) return;
|
|
3106
3137
|
this.lastSentText = text;
|
|
3107
3138
|
try {
|
|
@@ -3151,10 +3182,11 @@ var ActivityTracker = class {
|
|
|
3151
3182
|
await this._firstEventGuard();
|
|
3152
3183
|
await this.thinking.show();
|
|
3153
3184
|
}
|
|
3154
|
-
async onPlan(entries) {
|
|
3185
|
+
async onPlan(entries, verbosity) {
|
|
3155
3186
|
await this._firstEventGuard();
|
|
3156
3187
|
this.thinking.dismiss();
|
|
3157
3188
|
this.hasPlanCard = true;
|
|
3189
|
+
if (verbosity) this.planCard.setVerbosity(verbosity);
|
|
3158
3190
|
this.planCard.update(entries);
|
|
3159
3191
|
}
|
|
3160
3192
|
async onToolCall() {
|
|
@@ -3166,8 +3198,8 @@ var ActivityTracker = class {
|
|
|
3166
3198
|
await this._firstEventGuard();
|
|
3167
3199
|
this.thinking.dismiss();
|
|
3168
3200
|
}
|
|
3169
|
-
async sendUsage(data) {
|
|
3170
|
-
await this.usage.send(data);
|
|
3201
|
+
async sendUsage(data, verbosity = "medium") {
|
|
3202
|
+
await this.usage.send(data, verbosity);
|
|
3171
3203
|
}
|
|
3172
3204
|
getUsageMsgId() {
|
|
3173
3205
|
return this.usage.getMsgId();
|
|
@@ -4092,7 +4124,7 @@ var TelegramAdapter = class extends ChannelAdapter {
|
|
|
4092
4124
|
});
|
|
4093
4125
|
return;
|
|
4094
4126
|
}
|
|
4095
|
-
const { getAgentCapabilities } = await import("./agent-registry-
|
|
4127
|
+
const { getAgentCapabilities } = await import("./agent-registry-WT4NXPYG.js");
|
|
4096
4128
|
const caps = getAgentCapabilities(agentName);
|
|
4097
4129
|
if (!caps.supportsResume || !caps.resumeCommand) {
|
|
4098
4130
|
await ctx.reply("This agent does not support session transfer.", {
|
|
@@ -4355,7 +4387,10 @@ var TelegramAdapter = class extends ChannelAdapter {
|
|
|
4355
4387
|
content: meta.content,
|
|
4356
4388
|
rawInput: meta.rawInput,
|
|
4357
4389
|
viewerLinks: meta.viewerLinks,
|
|
4358
|
-
viewerFilePath: meta.viewerFilePath
|
|
4390
|
+
viewerFilePath: meta.viewerFilePath,
|
|
4391
|
+
displaySummary: meta.displaySummary,
|
|
4392
|
+
displayTitle: meta.displayTitle,
|
|
4393
|
+
displayKind: meta.displayKind
|
|
4359
4394
|
},
|
|
4360
4395
|
this.verbosity
|
|
4361
4396
|
);
|
|
@@ -4372,7 +4407,10 @@ var TelegramAdapter = class extends ChannelAdapter {
|
|
|
4372
4407
|
content: meta.content,
|
|
4373
4408
|
rawInput: meta.rawInput,
|
|
4374
4409
|
viewerLinks: meta.viewerLinks,
|
|
4375
|
-
viewerFilePath: meta.viewerFilePath
|
|
4410
|
+
viewerFilePath: meta.viewerFilePath,
|
|
4411
|
+
displaySummary: meta.displaySummary,
|
|
4412
|
+
displayTitle: meta.displayTitle,
|
|
4413
|
+
displayKind: meta.displayKind
|
|
4376
4414
|
},
|
|
4377
4415
|
this.verbosity
|
|
4378
4416
|
);
|
|
@@ -4386,7 +4424,8 @@ var TelegramAdapter = class extends ChannelAdapter {
|
|
|
4386
4424
|
content: e.content,
|
|
4387
4425
|
status: e.status,
|
|
4388
4426
|
priority: e.priority ?? "medium"
|
|
4389
|
-
}))
|
|
4427
|
+
})),
|
|
4428
|
+
this.verbosity
|
|
4390
4429
|
);
|
|
4391
4430
|
},
|
|
4392
4431
|
onUsage: async (ctx, content) => {
|
|
@@ -4396,7 +4435,7 @@ var TelegramAdapter = class extends ChannelAdapter {
|
|
|
4396
4435
|
this.assistantSession?.id
|
|
4397
4436
|
);
|
|
4398
4437
|
const tracker = this.getOrCreateTracker(ctx.sessionId, ctx.threadId);
|
|
4399
|
-
await tracker.sendUsage(meta ?? {});
|
|
4438
|
+
await tracker.sendUsage(meta ?? {}, this.verbosity);
|
|
4400
4439
|
if (this.notificationTopicId && ctx.sessionId !== this.assistantSession?.id) {
|
|
4401
4440
|
const sess = this.core.sessionManager.getSession(ctx.sessionId);
|
|
4402
4441
|
const sessionName = sess?.name || "Session";
|
|
@@ -4592,7 +4631,16 @@ Task completed.
|
|
|
4592
4631
|
|
|
4593
4632
|
<a href="${deepLink}">\u2192 Go to topic</a>`;
|
|
4594
4633
|
}
|
|
4595
|
-
const replyMarkup = notification.type === "completed" ? {
|
|
4634
|
+
const replyMarkup = notification.type === "completed" ? {
|
|
4635
|
+
inline_keyboard: [
|
|
4636
|
+
[
|
|
4637
|
+
{
|
|
4638
|
+
text: "\u{1F4CB} Summary",
|
|
4639
|
+
callback_data: `sm:summary:${notification.sessionId}`
|
|
4640
|
+
}
|
|
4641
|
+
]
|
|
4642
|
+
]
|
|
4643
|
+
} : void 0;
|
|
4596
4644
|
await this.sendQueue.enqueue(
|
|
4597
4645
|
() => this.bot.api.sendMessage(this.telegramConfig.chatId, text, {
|
|
4598
4646
|
message_thread_id: this.notificationTopicId,
|
|
@@ -4737,4 +4785,4 @@ Task completed.
|
|
|
4737
4785
|
export {
|
|
4738
4786
|
TelegramAdapter
|
|
4739
4787
|
};
|
|
4740
|
-
//# sourceMappingURL=chunk-
|
|
4788
|
+
//# sourceMappingURL=chunk-CS3KCJ5D.js.map
|