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.
Files changed (113) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +241 -104
  3. package/dist/agent/agent-sdk.js +136 -65
  4. package/dist/agent/agent-sdk.js.map +1 -1
  5. package/dist/agent.js +4 -1
  6. package/dist/agent.js.map +1 -1
  7. package/dist/bootstrap.js +148 -331
  8. package/dist/bootstrap.js.map +1 -1
  9. package/dist/channels/handler.js +109 -1
  10. package/dist/channels/handler.js.map +1 -1
  11. package/dist/cli/cmd-agents.js +11 -14
  12. package/dist/cli/cmd-agents.js.map +1 -1
  13. package/dist/cli/cmd-bootstrap.js +4 -4
  14. package/dist/cli/cmd-bootstrap.js.map +1 -1
  15. package/dist/cli/cmd-install.js +80 -0
  16. package/dist/cli/cmd-install.js.map +1 -0
  17. package/dist/cli/cmd-pairing.js +14 -15
  18. package/dist/cli/cmd-pairing.js.map +1 -1
  19. package/dist/cli/cmd-reset.js +10 -12
  20. package/dist/cli/cmd-reset.js.map +1 -1
  21. package/dist/cli/cmd-sessions.js +10 -13
  22. package/dist/cli/cmd-sessions.js.map +1 -1
  23. package/dist/cli/cmd-status.js +67 -0
  24. package/dist/cli/cmd-status.js.map +1 -0
  25. package/dist/cli/cmd-uninstall.js +79 -0
  26. package/dist/cli/cmd-uninstall.js.map +1 -0
  27. package/dist/cli/cmd-update.js +47 -0
  28. package/dist/cli/cmd-update.js.map +1 -0
  29. package/dist/cli.js +44 -26
  30. package/dist/cli.js.map +1 -1
  31. package/dist/core/config.js +53 -8
  32. package/dist/core/config.js.map +1 -1
  33. package/dist/core/log.js +33 -13
  34. package/dist/core/log.js.map +1 -1
  35. package/dist/core/update-check.js +11 -13
  36. package/dist/core/update-check.js.map +1 -1
  37. package/dist/core/version.js +4 -0
  38. package/dist/core/version.js.map +1 -0
  39. package/dist/runtime/orchestrate.js +25 -15
  40. package/dist/runtime/orchestrate.js.map +1 -1
  41. package/dist/serve.js +22 -7
  42. package/dist/serve.js.map +1 -1
  43. package/dist/setup.js +259 -231
  44. package/dist/setup.js.map +1 -1
  45. package/dist/telegram/admin-bot.js +325 -1
  46. package/dist/telegram/admin-bot.js.map +1 -1
  47. package/dist/telegram/agent-bot.js +143 -2
  48. package/dist/telegram/agent-bot.js.map +1 -1
  49. package/dist/telegram/resolve.js +11 -2
  50. package/dist/telegram/resolve.js.map +1 -1
  51. package/dist/telegram/wizards.js +361 -12
  52. package/dist/telegram/wizards.js.map +1 -1
  53. package/dist/telegram.js +2 -0
  54. package/dist/telegram.js.map +1 -1
  55. package/dist/usage.js +106 -0
  56. package/dist/usage.js.map +1 -1
  57. package/dist/workspace.js +20 -0
  58. package/dist/workspace.js.map +1 -1
  59. package/package.json +7 -4
  60. package/dist/agent/agent-openai.js +0 -206
  61. package/dist/agent/agent-openai.js.map +0 -1
  62. package/dist/approval-forward.js +0 -42
  63. package/dist/approval-forward.js.map +0 -1
  64. package/dist/approvals.js +0 -151
  65. package/dist/approvals.js.map +0 -1
  66. package/dist/camelagi-gateway.mjs +0 -93611
  67. package/dist/camelagi-gateway.mjs.map +0 -7
  68. package/dist/compact.js +0 -92
  69. package/dist/compact.js.map +0 -1
  70. package/dist/config.js +0 -153
  71. package/dist/config.js.map +0 -1
  72. package/dist/constants.js +0 -21
  73. package/dist/constants.js.map +0 -1
  74. package/dist/cron.js +0 -81
  75. package/dist/cron.js.map +0 -1
  76. package/dist/errors.js +0 -5
  77. package/dist/errors.js.map +0 -1
  78. package/dist/hooks.js +0 -72
  79. package/dist/hooks.js.map +0 -1
  80. package/dist/lanes.js +0 -62
  81. package/dist/lanes.js.map +0 -1
  82. package/dist/policy.js +0 -22
  83. package/dist/policy.js.map +0 -1
  84. package/dist/queue.js +0 -45
  85. package/dist/queue.js.map +0 -1
  86. package/dist/retry.js +0 -96
  87. package/dist/retry.js.map +0 -1
  88. package/dist/runs.js +0 -83
  89. package/dist/runs.js.map +0 -1
  90. package/dist/skills.js +0 -89
  91. package/dist/skills.js.map +0 -1
  92. package/dist/subagent.js +0 -71
  93. package/dist/subagent.js.map +0 -1
  94. package/dist/telegram-admin.js +0 -800
  95. package/dist/telegram-admin.js.map +0 -1
  96. package/dist/tools/edit.js +0 -29
  97. package/dist/tools/edit.js.map +0 -1
  98. package/dist/tools/exec.js +0 -38
  99. package/dist/tools/exec.js.map +0 -1
  100. package/dist/tools/fetch.js +0 -28
  101. package/dist/tools/fetch.js.map +0 -1
  102. package/dist/tools/index.js +0 -16
  103. package/dist/tools/index.js.map +0 -1
  104. package/dist/tools/read.js +0 -26
  105. package/dist/tools/read.js.map +0 -1
  106. package/dist/tools/search.js +0 -62
  107. package/dist/tools/search.js.map +0 -1
  108. package/dist/tools/subagent.js +0 -48
  109. package/dist/tools/subagent.js.map +0 -1
  110. package/dist/tools/write.js +0 -22
  111. package/dist/tools/write.js.map +0 -1
  112. package/dist/types.js +0 -3
  113. package/dist/types.js.map +0 -1
@@ -5,9 +5,11 @@ import path from "node:path";
5
5
  import { saveConfig, loadConfig } from "../core/config.js";
6
6
  import { agentMemoryDir } from "../workspace.js";
7
7
  import { listSessions, deleteSession, loadMessages } from "../session.js";
8
+ import { formatTokens, aggregateAgentUsage, formatCost } from "../usage.js";
8
9
  import { getActiveBotIds, startBot, stopBot } from "../telegram.js";
9
10
  import { startWizard, advanceWizard, cancelWizard, hasActiveWizard } from "./wizard.js";
10
- import { createSetupWizard, createNewAgentWizard } from "./wizards.js";
11
+ import { createSetupWizard, createNewAgentWizard, createMcpAddWizard, createCloneWizard } from "./wizards.js";
12
+ import { resolvePreset } from "../core/models.js";
11
13
  import { createVoiceWizard, createVoiceResetWizard } from "./voice-wizard.js";
12
14
  import { formatAge } from "./helpers.js";
13
15
  import { approveRequest, denyRequest, listPendingRequests, hasPendingRequest, createPairingRequest } from "./pairing.js";
@@ -44,6 +46,38 @@ async function showSoul(chatId, targetId, edit, bot) {
44
46
  .text("Edit", `picksoul:edit:${targetId}`);
45
47
  await bot.api.sendMessage(chatId, `SOUL.md (${targetId}):\n\n${preview}`, { reply_markup: kb });
46
48
  }
49
+ async function showAgentConfig(chatId, agentId, config, bot) {
50
+ const agent = config.agents[agentId];
51
+ if (!agent)
52
+ return;
53
+ const model = agent.model ?? config.model;
54
+ const thinking = agent.thinking ?? config.thinking;
55
+ const effort = agent.effort ?? config.effort;
56
+ const maxTurns = agent.maxTurns ?? config.maxTurns;
57
+ const mcpCount = agent.mcp ? Object.keys(agent.mcp.servers).length : 0;
58
+ const runningBots = getActiveBotIds();
59
+ const running = runningBots.includes(agentId);
60
+ const statusIcon = running ? "🟢" : agent.telegram?.botToken ? "🔴" : "⚪";
61
+ const briefMode = agent.telegram?.briefMode ?? true;
62
+ const lines = [
63
+ `${statusIcon} ${agent.name} (${agentId})\n`,
64
+ `Model: ${model}`,
65
+ `Thinking: ${thinking}`,
66
+ `Effort: ${effort}`,
67
+ `Max Turns: ${maxTurns}`,
68
+ `Brief: ${briefMode ? "on" : "off"}`,
69
+ mcpCount > 0 ? `MCP: ${mcpCount} server${mcpCount > 1 ? "s" : ""}` : `MCP: none`,
70
+ ];
71
+ const kb = new InlineKeyboard()
72
+ .text("Model", `ae:model:${agentId}`)
73
+ .text("Thinking", `ae:think:${agentId}`)
74
+ .text("Effort", `ae:effort:${agentId}`)
75
+ .row()
76
+ .text("Max Turns", `ae:turns:${agentId}`)
77
+ .text(`Brief: ${briefMode ? "on" : "off"}`, `ae:brief:${agentId}`)
78
+ .text("Clone", `ae:clone:${agentId}`);
79
+ await bot.api.sendMessage(chatId, lines.join("\n"), { reply_markup: kb });
80
+ }
47
81
  // ─── Setup Admin Bot ─────────────────────────────────────────────────
48
82
  export async function setupAdminBot(agentId, botToken, getConfig, getSystemPrompt, activeBots) {
49
83
  const b = new Bot(botToken);
@@ -54,7 +88,10 @@ export async function setupAdminBot(agentId, botToken, getConfig, getSystemPromp
54
88
  { command: "agents", description: "List all agents" },
55
89
  { command: "deleteagent", description: "Delete an agent" },
56
90
  { command: "soul", description: "View/edit agent SOUL.md" },
91
+ { command: "mcp", description: "Manage MCP servers" },
57
92
  { command: "config", description: "View/update configuration" },
93
+ { command: "agent", description: "View/edit agent config" },
94
+ { command: "usage", description: "Per-agent usage & cost summary" },
58
95
  { command: "sessions", description: "Manage sessions" },
59
96
  { command: "status", description: "System health and stats" },
60
97
  { command: "restart", description: "Restart agent bots" },
@@ -99,6 +136,8 @@ export async function setupAdminBot(agentId, botToken, getConfig, getSystemPromp
99
136
  }
100
137
  // Create new pairing request
101
138
  const request = createPairingRequest(userId, agentId, ctx.chat.id, ctx.from?.username, ctx.from?.first_name);
139
+ const who = ctx.from?.username ? `@${ctx.from.username}` : ctx.from?.first_name ?? String(userId);
140
+ console.log(`\n \x1b[33mPairing request from ${who}\x1b[0m\n \x1b[90mRun: camel pairing\x1b[0m\n`);
102
141
  await ctx.reply(`Access requested. Waiting for approval...\nCode: ${request.code}`);
103
142
  });
104
143
  // ─── Callback queries ─────────────────────────────────────────────
@@ -326,14 +365,19 @@ export async function setupAdminBot(agentId, botToken, getConfig, getSystemPromp
326
365
  "Agents:",
327
366
  " /newagent — create a new agent",
328
367
  " /agents — list all agents",
368
+ " /agent <id> — view/edit agent config",
329
369
  " /deleteagent — pick & delete an agent",
330
370
  " /soul — view/edit agent personality",
331
371
  "",
372
+ "MCP:",
373
+ " /mcp — manage MCP tool servers",
374
+ "",
332
375
  "Access:",
333
376
  " /pairing — list pending access requests",
334
377
  "",
335
378
  "Sessions & Status:",
336
379
  " /sessions — list sessions",
380
+ " /usage — per-agent usage & costs",
337
381
  " /status — system health",
338
382
  " /restart — restart all bots",
339
383
  "",
@@ -393,6 +437,7 @@ export async function setupAdminBot(agentId, botToken, getConfig, getSystemPromp
393
437
  hasButtons = true;
394
438
  }
395
439
  }
440
+ lines.push("Use /agent <id> to view/edit config");
396
441
  // Management buttons
397
442
  if (hasButtons)
398
443
  kb.row();
@@ -544,6 +589,63 @@ export async function setupAdminBot(agentId, botToken, getConfig, getSystemPromp
544
589
  await ctx.reply(`Error: ${err instanceof Error ? err.message : String(err)}`);
545
590
  }
546
591
  });
592
+ // ─── MCP Management ──────────────────────────────────────────────────
593
+ b.command("mcp", async (ctx) => {
594
+ const kb = new InlineKeyboard()
595
+ .text("➕ Add Server", "mcp:add")
596
+ .text("📋 List", "mcp:list")
597
+ .text("🗑 Remove", "mcp:remove");
598
+ await ctx.reply("MCP Servers", { reply_markup: kb });
599
+ });
600
+ b.callbackQuery("mcp:add", async (ctx) => {
601
+ await ctx.answerCallbackQuery();
602
+ await startWizard(ctx.chat.id, createMcpAddWizard(getConfig), b);
603
+ });
604
+ b.callbackQuery("mcp:list", async (ctx) => {
605
+ await ctx.answerCallbackQuery();
606
+ const config = getConfig();
607
+ const entries = Object.entries(config.mcp.servers);
608
+ if (entries.length === 0) {
609
+ await ctx.reply("No MCP servers configured.\n\nUse /mcp → Add to add one.");
610
+ return;
611
+ }
612
+ const lines = entries.map(([name, s]) => {
613
+ const cfg = s;
614
+ if (cfg.type === "stdio") {
615
+ const args = Array.isArray(cfg.args) ? cfg.args.join(" ") : "";
616
+ return `⚙️ ${name} (stdio)\n ${cfg.command} ${args}`.trimEnd();
617
+ }
618
+ return `${cfg.type === "sse" ? "📡" : "🌐"} ${name} (${cfg.type})\n ${cfg.url}`;
619
+ });
620
+ await ctx.reply(`MCP Servers:\n\n${lines.join("\n\n")}`);
621
+ });
622
+ b.callbackQuery("mcp:remove", async (ctx) => {
623
+ await ctx.answerCallbackQuery();
624
+ const config = getConfig();
625
+ const names = Object.keys(config.mcp.servers);
626
+ if (names.length === 0) {
627
+ await ctx.reply("No MCP servers to remove.");
628
+ return;
629
+ }
630
+ const kb = new InlineKeyboard();
631
+ for (const name of names) {
632
+ kb.text(`✕ ${name}`, `mcp:rm:${name}`).row();
633
+ }
634
+ await ctx.reply("Remove which server?", { reply_markup: kb });
635
+ });
636
+ b.callbackQuery(/^mcp:rm:/, async (ctx) => {
637
+ await ctx.answerCallbackQuery();
638
+ const name = ctx.callbackQuery.data.replace("mcp:rm:", "");
639
+ const config = getConfig();
640
+ const servers = { ...config.mcp.servers };
641
+ if (!(name in servers)) {
642
+ await ctx.reply(`Server "${name}" not found.`);
643
+ return;
644
+ }
645
+ delete servers[name];
646
+ saveConfig({ mcp: { servers } });
647
+ await ctx.reply(`Removed MCP server: ${name}`);
648
+ });
547
649
  b.command("sessions", async (ctx) => {
548
650
  const sessions = listSessions();
549
651
  if (sessions.length === 0) {
@@ -685,6 +787,228 @@ export async function setupAdminBot(agentId, botToken, getConfig, getSystemPromp
685
787
  await startWizard(ctx.chat.id, createVoiceResetWizard(), b);
686
788
  }
687
789
  });
790
+ // ─── Agent config editing ───────────────────────────────────────────
791
+ b.command("agent", async (ctx) => {
792
+ const targetId = (ctx.match ?? "").trim();
793
+ const config = getConfig();
794
+ if (!targetId) {
795
+ const entries = Object.entries(config.agents);
796
+ if (entries.length === 0) {
797
+ await ctx.reply("No agents. Use /newagent first.");
798
+ return;
799
+ }
800
+ const kb = new InlineKeyboard();
801
+ for (const [id, a] of entries) {
802
+ kb.text(a.name, `ae:show:${id}`).row();
803
+ }
804
+ await ctx.reply("Which agent to view/edit?", { reply_markup: kb });
805
+ return;
806
+ }
807
+ if (!config.agents[targetId]) {
808
+ await ctx.reply(`Agent "${targetId}" not found.`);
809
+ return;
810
+ }
811
+ await showAgentConfig(ctx.chat.id, targetId, config, b);
812
+ });
813
+ b.callbackQuery(/^ae:show:(.+)$/, async (ctx) => {
814
+ const agentIdParam = ctx.callbackQuery.data.match(/^ae:show:(.+)$/)?.[1];
815
+ if (!agentIdParam)
816
+ return;
817
+ await ctx.answerCallbackQuery();
818
+ const config = getConfig();
819
+ await showAgentConfig(ctx.chat.id, agentIdParam, config, b);
820
+ });
821
+ b.callbackQuery(/^ae:think:(.+)$/, async (ctx) => {
822
+ const agentIdParam = ctx.callbackQuery.data.match(/^ae:think:(.+)$/)?.[1];
823
+ if (!agentIdParam)
824
+ return;
825
+ await ctx.answerCallbackQuery();
826
+ const config = getConfig();
827
+ const current = config.agents[agentIdParam]?.thinking ?? config.thinking;
828
+ const levels = ["off", "low", "medium", "high"];
829
+ const kb = new InlineKeyboard();
830
+ for (const l of levels) {
831
+ kb.text(l === current ? `✓ ${l}` : l, `as:${agentIdParam}:think:${l}`);
832
+ }
833
+ await ctx.reply(`Set thinking for ${agentIdParam}:`, { reply_markup: kb });
834
+ });
835
+ b.callbackQuery(/^ae:effort:(.+)$/, async (ctx) => {
836
+ const agentIdParam = ctx.callbackQuery.data.match(/^ae:effort:(.+)$/)?.[1];
837
+ if (!agentIdParam)
838
+ return;
839
+ await ctx.answerCallbackQuery();
840
+ const config = getConfig();
841
+ const current = config.agents[agentIdParam]?.effort ?? config.effort;
842
+ const levels = ["low", "medium", "high", "max"];
843
+ const kb = new InlineKeyboard();
844
+ for (const l of levels) {
845
+ kb.text(l === current ? `✓ ${l}` : l, `as:${agentIdParam}:effort:${l}`);
846
+ }
847
+ await ctx.reply(`Set effort for ${agentIdParam}:`, { reply_markup: kb });
848
+ });
849
+ b.callbackQuery(/^ae:turns:(.+)$/, async (ctx) => {
850
+ const agentIdParam = ctx.callbackQuery.data.match(/^ae:turns:(.+)$/)?.[1];
851
+ if (!agentIdParam)
852
+ return;
853
+ await ctx.answerCallbackQuery();
854
+ const config = getConfig();
855
+ const current = config.agents[agentIdParam]?.maxTurns ?? config.maxTurns;
856
+ const options = [10, 25, 50, 100];
857
+ const kb = new InlineKeyboard();
858
+ for (const n of options) {
859
+ kb.text(n === current ? `✓ ${n}` : String(n), `as:${agentIdParam}:turns:${n}`);
860
+ }
861
+ await ctx.reply(`Set max turns for ${agentIdParam}:`, { reply_markup: kb });
862
+ });
863
+ b.callbackQuery(/^ae:model:(.+)$/, async (ctx) => {
864
+ const agentIdParam = ctx.callbackQuery.data.match(/^ae:model:(.+)$/)?.[1];
865
+ if (!agentIdParam)
866
+ return;
867
+ await ctx.answerCallbackQuery();
868
+ const config = getConfig();
869
+ const current = config.agents[agentIdParam]?.model ?? config.model;
870
+ const preset = resolvePreset(config.provider, config.baseUrl);
871
+ const models = preset.models.slice(0, 6);
872
+ const kb = new InlineKeyboard();
873
+ for (const m of models) {
874
+ const slash = m.indexOf("/");
875
+ const label = slash > 0 ? m.slice(slash + 1) : m;
876
+ const check = m === current ? "✓ " : "";
877
+ kb.text(`${check}${label}`, `as:${agentIdParam}:model:${m}`).row();
878
+ }
879
+ kb.text("✏️ Type custom", `ae:modelcustom:${agentIdParam}`);
880
+ await ctx.reply(`Set model for ${agentIdParam}:`, { reply_markup: kb });
881
+ });
882
+ b.callbackQuery(/^ae:modelcustom:(.+)$/, async (ctx) => {
883
+ const agentIdParam = ctx.callbackQuery.data.match(/^ae:modelcustom:(.+)$/)?.[1];
884
+ if (!agentIdParam)
885
+ return;
886
+ await ctx.answerCallbackQuery();
887
+ await startWizard(ctx.chat.id, {
888
+ id: "agent-model-edit",
889
+ steps: [{
890
+ id: "model",
891
+ prompt: `Type the model name for "${agentIdParam}":`,
892
+ }],
893
+ onComplete: async (data) => {
894
+ const cfg = getConfig();
895
+ const agents = { ...cfg.agents };
896
+ agents[agentIdParam] = { ...agents[agentIdParam], model: data.model };
897
+ saveConfig({ agents });
898
+ return `Model set to: ${data.model}`;
899
+ },
900
+ }, b);
901
+ });
902
+ b.callbackQuery(/^ae:brief:(.+)$/, async (ctx) => {
903
+ const agentIdParam = ctx.callbackQuery.data.match(/^ae:brief:(.+)$/)?.[1];
904
+ if (!agentIdParam)
905
+ return;
906
+ await ctx.answerCallbackQuery();
907
+ const config = getConfig();
908
+ const agent = config.agents[agentIdParam];
909
+ if (!agent?.telegram) {
910
+ await ctx.reply("Agent has no Telegram config.");
911
+ return;
912
+ }
913
+ const current = agent.telegram.briefMode ?? true;
914
+ const next = !current;
915
+ const agents = { ...config.agents };
916
+ agents[agentIdParam] = {
917
+ ...agents[agentIdParam],
918
+ telegram: { ...agents[agentIdParam].telegram, briefMode: next },
919
+ };
920
+ saveConfig({ agents });
921
+ try {
922
+ await ctx.editMessageText(`Brief mode: ${next ? "on" : "off"} ✓`);
923
+ }
924
+ catch {
925
+ await ctx.reply(`Brief mode: ${next ? "on" : "off"} ✓`);
926
+ }
927
+ });
928
+ b.callbackQuery(/^ae:mcp:(.+)$/, async (ctx) => {
929
+ await ctx.answerCallbackQuery();
930
+ await ctx.reply("Use /mcp to manage MCP servers.");
931
+ });
932
+ b.callbackQuery(/^ae:clone:(.+)$/, async (ctx) => {
933
+ const agentIdParam = ctx.callbackQuery.data.match(/^ae:clone:(.+)$/)?.[1];
934
+ if (!agentIdParam)
935
+ return;
936
+ await ctx.answerCallbackQuery();
937
+ await startWizard(ctx.chat.id, createCloneWizard(agentIdParam, getConfig, getSystemPrompt), b);
938
+ });
939
+ b.callbackQuery(/^as:(.+?):(.+?):(.+)$/, async (ctx) => {
940
+ const match = ctx.callbackQuery.data.match(/^as:(.+?):(.+?):(.+)$/);
941
+ if (!match)
942
+ return;
943
+ const [, agentIdParam, field, value] = match;
944
+ await ctx.answerCallbackQuery();
945
+ const config = getConfig();
946
+ if (!config.agents[agentIdParam]) {
947
+ await ctx.reply("Agent not found.");
948
+ return;
949
+ }
950
+ const agents = { ...config.agents };
951
+ const agent = { ...agents[agentIdParam] };
952
+ const fieldLabels = {
953
+ think: "Thinking", effort: "Effort", turns: "Max Turns", model: "Model",
954
+ };
955
+ if (field === "think") {
956
+ agent.thinking = value;
957
+ }
958
+ else if (field === "effort") {
959
+ agent.effort = value;
960
+ }
961
+ else if (field === "turns") {
962
+ agent.maxTurns = parseInt(value, 10);
963
+ }
964
+ else if (field === "model") {
965
+ agent.model = value;
966
+ }
967
+ agents[agentIdParam] = agent;
968
+ saveConfig({ agents });
969
+ const label = fieldLabels[field] ?? field;
970
+ try {
971
+ await ctx.editMessageText(`${label} set to: ${value} ✓`);
972
+ }
973
+ catch {
974
+ await ctx.reply(`${label} set to: ${value} ✓`);
975
+ }
976
+ });
977
+ // ─── Usage & cost summary ────────────────────────────────────────
978
+ b.command("usage", async (ctx) => {
979
+ const config = getConfig();
980
+ const entries = Object.entries(config.agents).filter(([, a]) => !a.admin);
981
+ if (entries.length === 0) {
982
+ await ctx.reply("No agents configured.");
983
+ return;
984
+ }
985
+ const lines = ["Usage Summary\n"];
986
+ let totalCost = 0;
987
+ let hasData = false;
988
+ for (const [id, a] of entries) {
989
+ const model = a.model ?? config.model;
990
+ const summary = aggregateAgentUsage(id, a.name, model);
991
+ const total = summary.totalInput + summary.totalOutput;
992
+ if (total === 0 && summary.calls === 0)
993
+ continue;
994
+ hasData = true;
995
+ lines.push(`${a.name} (${model})`);
996
+ lines.push(` ${formatTokens(summary.totalInput)} in | ${formatTokens(summary.totalOutput)} out | ${summary.calls} calls`);
997
+ if (summary.estimatedCost !== undefined) {
998
+ lines.push(` Cost: ~${formatCost(summary.estimatedCost)}`);
999
+ totalCost += summary.estimatedCost;
1000
+ }
1001
+ lines.push("");
1002
+ }
1003
+ if (!hasData) {
1004
+ await ctx.reply("No usage data yet.");
1005
+ return;
1006
+ }
1007
+ if (totalCost > 0) {
1008
+ lines.push(`Total estimated cost: ~${formatCost(totalCost)}`);
1009
+ }
1010
+ await ctx.reply(lines.join("\n"));
1011
+ });
688
1012
  // ─── Message handler: wizard intercept ─────────────────────────────
689
1013
  b.on("message:text", async (ctx) => {
690
1014
  const chatId = ctx.chat.id;
@@ -1 +1 @@
1
- {"version":3,"file":"admin-bot.js","sourceRoot":"","sources":["../../src/telegram/admin-bot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin-bot.js","sourceRoot":"","sources":["../../src/telegram/admin-bot.ts"],"names":[],"mappings":"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"}