@songsid/agend 2.2.0-beta.1 → 2.2.0-beta.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.
Files changed (377) hide show
  1. package/README.md +1 -1
  2. package/README.zh-TW.md +1 -1
  3. package/dist/agent-cli-instructions.md +16 -9
  4. package/dist/agent-cli.js +15 -7
  5. package/dist/agent-cli.js.map +1 -1
  6. package/dist/agent-endpoint.js +21 -9
  7. package/dist/agent-endpoint.js.map +1 -1
  8. package/dist/agent-whats-new.d.ts +47 -0
  9. package/dist/agent-whats-new.js +147 -0
  10. package/dist/agent-whats-new.js.map +1 -0
  11. package/dist/auth-api.d.ts +2 -2
  12. package/dist/auth-api.js +4 -2
  13. package/dist/auth-api.js.map +1 -1
  14. package/dist/backend/antigravity.d.ts +3 -0
  15. package/dist/backend/antigravity.js +9 -0
  16. package/dist/backend/antigravity.js.map +1 -1
  17. package/dist/backend/claude-carry.d.ts +22 -0
  18. package/dist/backend/claude-carry.js +170 -0
  19. package/dist/backend/claude-carry.js.map +1 -0
  20. package/dist/backend/claude-code.d.ts +65 -2
  21. package/dist/backend/claude-code.js +226 -33
  22. package/dist/backend/claude-code.js.map +1 -1
  23. package/dist/backend/codex-metadata.d.ts +33 -0
  24. package/dist/backend/codex-metadata.js +122 -18
  25. package/dist/backend/codex-metadata.js.map +1 -1
  26. package/dist/backend/codex.d.ts +3 -0
  27. package/dist/backend/codex.js +17 -1
  28. package/dist/backend/codex.js.map +1 -1
  29. package/dist/backend/credential-profile.d.ts +40 -3
  30. package/dist/backend/credential-profile.js +113 -5
  31. package/dist/backend/credential-profile.js.map +1 -1
  32. package/dist/backend/effort-metadata.d.ts +1 -1
  33. package/dist/backend/effort-metadata.js +3 -2
  34. package/dist/backend/effort-metadata.js.map +1 -1
  35. package/dist/backend/grok.d.ts +4 -0
  36. package/dist/backend/grok.js +14 -0
  37. package/dist/backend/grok.js.map +1 -1
  38. package/dist/backend/kiro-engine-ledger.d.ts +5 -0
  39. package/dist/backend/kiro-engine-ledger.js +20 -0
  40. package/dist/backend/kiro-engine-ledger.js.map +1 -1
  41. package/dist/backend/kiro-identity.d.ts +6 -0
  42. package/dist/backend/kiro-identity.js +19 -5
  43. package/dist/backend/kiro-identity.js.map +1 -1
  44. package/dist/backend/kiro.d.ts +39 -3
  45. package/dist/backend/kiro.js +143 -19
  46. package/dist/backend/kiro.js.map +1 -1
  47. package/dist/backend/launch-effort.d.ts +33 -0
  48. package/dist/backend/launch-effort.js +123 -0
  49. package/dist/backend/launch-effort.js.map +1 -0
  50. package/dist/backend/muse.d.ts +84 -0
  51. package/dist/backend/muse.js +449 -53
  52. package/dist/backend/muse.js.map +1 -1
  53. package/dist/backend/types.d.ts +33 -4
  54. package/dist/backend/types.js +2 -1
  55. package/dist/backend/types.js.map +1 -1
  56. package/dist/backend-command.d.ts +91 -0
  57. package/dist/backend-command.js +122 -0
  58. package/dist/backend-command.js.map +1 -0
  59. package/dist/background-work-ended.d.ts +18 -0
  60. package/dist/background-work-ended.js +30 -0
  61. package/dist/background-work-ended.js.map +1 -0
  62. package/dist/cache-service.d.ts +2 -0
  63. package/dist/cache-service.js +2 -1
  64. package/dist/cache-service.js.map +1 -1
  65. package/dist/channel/adapters/discord.d.ts +24 -1
  66. package/dist/channel/adapters/discord.js +87 -2
  67. package/dist/channel/adapters/discord.js.map +1 -1
  68. package/dist/channel/adapters/telegram.d.ts +24 -2
  69. package/dist/channel/adapters/telegram.js +118 -20
  70. package/dist/channel/adapters/telegram.js.map +1 -1
  71. package/dist/channel/mcp-server.js +9 -1
  72. package/dist/channel/mcp-server.js.map +1 -1
  73. package/dist/channel/mcp-tools.d.ts +11 -0
  74. package/dist/channel/mcp-tools.js +24 -13
  75. package/dist/channel/mcp-tools.js.map +1 -1
  76. package/dist/channel/message-edit-errors.d.ts +5 -0
  77. package/dist/channel/message-edit-errors.js +24 -0
  78. package/dist/channel/message-edit-errors.js.map +1 -0
  79. package/dist/channel/telegram-markdown.d.ts +6 -0
  80. package/dist/channel/telegram-markdown.js +104 -0
  81. package/dist/channel/telegram-markdown.js.map +1 -0
  82. package/dist/channel/tool-router.js +9 -3
  83. package/dist/channel/tool-router.js.map +1 -1
  84. package/dist/channel/types.d.ts +39 -3
  85. package/dist/cli.js +133 -28
  86. package/dist/cli.js.map +1 -1
  87. package/dist/command-table.d.ts +2 -2
  88. package/dist/command-table.js +6 -3
  89. package/dist/command-table.js.map +1 -1
  90. package/dist/config-validator.js +59 -0
  91. package/dist/config-validator.js.map +1 -1
  92. package/dist/cross-instance-envelope.d.ts +15 -2
  93. package/dist/cross-instance-envelope.js +29 -5
  94. package/dist/cross-instance-envelope.js.map +1 -1
  95. package/dist/daemon.d.ts +156 -1
  96. package/dist/daemon.js +764 -89
  97. package/dist/daemon.js.map +1 -1
  98. package/dist/delivery-outbox.d.ts +62 -7
  99. package/dist/delivery-outbox.js +309 -22
  100. package/dist/delivery-outbox.js.map +1 -1
  101. package/dist/delivery-reconciliation.d.ts +18 -1
  102. package/dist/delivery-reconciliation.js +67 -2
  103. package/dist/delivery-reconciliation.js.map +1 -1
  104. package/dist/fleet-context.d.ts +10 -1
  105. package/dist/fleet-manager.d.ts +345 -10
  106. package/dist/fleet-manager.js +1868 -174
  107. package/dist/fleet-manager.js.map +1 -1
  108. package/dist/general-knowledge/skills/backend-providers/SKILL.md +1 -1
  109. package/dist/general-knowledge/skills/credential-profiles/SKILL.md +92 -21
  110. package/dist/general-knowledge/skills/cross-instance-messaging/SKILL.md +27 -3
  111. package/dist/general-knowledge/skills/delegation-playbook/SKILL.md +8 -8
  112. package/dist/general-knowledge/skills/fleet-config/SKILL.md +5 -5
  113. package/dist/general-knowledge/skills/fleet-health/SKILL.md +4 -4
  114. package/dist/general-knowledge/skills/fleet-restart/SKILL.md +13 -13
  115. package/dist/general-knowledge/skills/instance-lifecycle/SKILL.md +3 -2
  116. package/dist/general-knowledge/skills/kiro-engine-migration/SKILL.md +6 -0
  117. package/dist/general-knowledge/skills/model-discovery/SKILL.md +9 -9
  118. package/dist/general-knowledge/skills/multi-channel/SKILL.md +8 -2
  119. package/dist/general-knowledge/skills/scheduling/SKILL.md +5 -3
  120. package/dist/general-knowledge/skills/session-management/SKILL.md +6 -5
  121. package/dist/general-knowledge/skills/tui-effort/SKILL.md +2 -2
  122. package/dist/general-knowledge/skills/worker-collaboration/SKILL.md +8 -3
  123. package/dist/general-knowledge/steering/core-rules.md +8 -7
  124. package/dist/host-memory.d.ts +10 -0
  125. package/dist/host-memory.js +33 -1
  126. package/dist/host-memory.js.map +1 -1
  127. package/dist/human-delivery-receipts.d.ts +83 -0
  128. package/dist/human-delivery-receipts.js +194 -0
  129. package/dist/human-delivery-receipts.js.map +1 -0
  130. package/dist/instance-avatar.d.ts +36 -0
  131. package/dist/instance-avatar.js +57 -0
  132. package/dist/instance-avatar.js.map +1 -0
  133. package/dist/instance-config-impact.js +6 -0
  134. package/dist/instance-config-impact.js.map +1 -1
  135. package/dist/instance-lifecycle.d.ts +29 -6
  136. package/dist/instance-lifecycle.js +79 -28
  137. package/dist/instance-lifecycle.js.map +1 -1
  138. package/dist/instructions.d.ts +3 -1
  139. package/dist/instructions.js +11 -8
  140. package/dist/instructions.js.map +1 -1
  141. package/dist/kiro-log-gate.d.ts +42 -0
  142. package/dist/kiro-log-gate.js +39 -0
  143. package/dist/kiro-log-gate.js.map +1 -0
  144. package/dist/locale.js +200 -44
  145. package/dist/locale.js.map +1 -1
  146. package/dist/log-service.d.ts +99 -0
  147. package/dist/log-service.js +243 -0
  148. package/dist/log-service.js.map +1 -0
  149. package/dist/log-steps.d.ts +169 -0
  150. package/dist/log-steps.js +858 -0
  151. package/dist/log-steps.js.map +1 -0
  152. package/dist/login-controller.d.ts +20 -3
  153. package/dist/login-controller.js +71 -19
  154. package/dist/login-controller.js.map +1 -1
  155. package/dist/login-flows.d.ts +5 -2
  156. package/dist/login-flows.js +5 -4
  157. package/dist/login-flows.js.map +1 -1
  158. package/dist/memory-pressure.d.ts +13 -1
  159. package/dist/memory-pressure.js +50 -10
  160. package/dist/memory-pressure.js.map +1 -1
  161. package/dist/needs-you-hub.js +2 -0
  162. package/dist/needs-you-hub.js.map +1 -1
  163. package/dist/needs-you-live.d.ts +6 -0
  164. package/dist/needs-you-live.js +23 -3
  165. package/dist/needs-you-live.js.map +1 -1
  166. package/dist/next-steps.js +1 -1
  167. package/dist/next-steps.js.map +1 -1
  168. package/dist/outbound-handlers.d.ts +100 -0
  169. package/dist/outbound-handlers.js +263 -96
  170. package/dist/outbound-handlers.js.map +1 -1
  171. package/dist/outbound-schemas.d.ts +26 -15
  172. package/dist/outbound-schemas.js +24 -7
  173. package/dist/outbound-schemas.js.map +1 -1
  174. package/dist/public-link-progress.d.ts +1 -1
  175. package/dist/public-link-progress.js +8 -2
  176. package/dist/public-link-progress.js.map +1 -1
  177. package/dist/public-preview.d.ts +101 -0
  178. package/dist/public-preview.js +236 -0
  179. package/dist/public-preview.js.map +1 -0
  180. package/dist/public-web-gateway.js +11 -4
  181. package/dist/public-web-gateway.js.map +1 -1
  182. package/dist/public-web-link.d.ts +24 -1
  183. package/dist/public-web-link.js +63 -9
  184. package/dist/public-web-link.js.map +1 -1
  185. package/dist/reply-buttons-controller.d.ts +3 -0
  186. package/dist/reply-buttons-controller.js +3 -2
  187. package/dist/reply-buttons-controller.js.map +1 -1
  188. package/dist/restart-guard.d.ts +6 -3
  189. package/dist/restart-guard.js +6 -3
  190. package/dist/restart-guard.js.map +1 -1
  191. package/dist/restart-progress.d.ts +33 -0
  192. package/dist/restart-progress.js +30 -0
  193. package/dist/restart-progress.js.map +1 -1
  194. package/dist/service-activation.d.ts +15 -7
  195. package/dist/service-activation.js +46 -29
  196. package/dist/service-activation.js.map +1 -1
  197. package/dist/service-installer.d.ts +31 -0
  198. package/dist/service-installer.js +41 -2
  199. package/dist/service-installer.js.map +1 -1
  200. package/dist/settings-api.js +85 -25
  201. package/dist/settings-api.js.map +1 -1
  202. package/dist/settings-change.js +72 -1
  203. package/dist/settings-change.js.map +1 -1
  204. package/dist/settings-effect.js +28 -4
  205. package/dist/settings-effect.js.map +1 -1
  206. package/dist/settings-http-confirmation.js +7 -0
  207. package/dist/settings-http-confirmation.js.map +1 -1
  208. package/dist/setup-form.d.ts +1 -1
  209. package/dist/setup-form.js +1 -1
  210. package/dist/spawn-gate.js +5 -1
  211. package/dist/spawn-gate.js.map +1 -1
  212. package/dist/spawn-hold-reply.d.ts +12 -0
  213. package/dist/spawn-hold-reply.js +39 -0
  214. package/dist/spawn-hold-reply.js.map +1 -0
  215. package/dist/status-emojis.d.ts +10 -3
  216. package/dist/status-emojis.js +11 -2
  217. package/dist/status-emojis.js.map +1 -1
  218. package/dist/systemd-peer-bus.d.ts +95 -0
  219. package/dist/systemd-peer-bus.js +430 -0
  220. package/dist/systemd-peer-bus.js.map +1 -0
  221. package/dist/systemd-runtime.d.ts +27 -1
  222. package/dist/systemd-runtime.js +69 -7
  223. package/dist/systemd-runtime.js.map +1 -1
  224. package/dist/tips.js +4 -4
  225. package/dist/tips.js.map +1 -1
  226. package/dist/tool-progress.js +3 -2
  227. package/dist/tool-progress.js.map +1 -1
  228. package/dist/topic-commands.d.ts +42 -2
  229. package/dist/topic-commands.js +92 -7
  230. package/dist/topic-commands.js.map +1 -1
  231. package/dist/transcript-delta-reader.d.ts +3 -3
  232. package/dist/transcript-delta-reader.js +8 -8
  233. package/dist/transcript-delta-reader.js.map +1 -1
  234. package/dist/transcript-jsonl.d.ts +80 -3
  235. package/dist/transcript-jsonl.js +147 -10
  236. package/dist/transcript-jsonl.js.map +1 -1
  237. package/dist/transcript-monitor.d.ts +19 -0
  238. package/dist/transcript-monitor.js +87 -15
  239. package/dist/transcript-monitor.js.map +1 -1
  240. package/dist/transcript-sources.d.ts +78 -0
  241. package/dist/transcript-sources.js +375 -64
  242. package/dist/transcript-sources.js.map +1 -1
  243. package/dist/transcript-turns.d.ts +15 -2
  244. package/dist/transcript-turns.js +15 -2
  245. package/dist/transcript-turns.js.map +1 -1
  246. package/dist/tunnel/cloudflared.d.ts +7 -15
  247. package/dist/tunnel/cloudflared.js +36 -1
  248. package/dist/tunnel/cloudflared.js.map +1 -1
  249. package/dist/tunnel/purpose-lane.d.ts +5 -1
  250. package/dist/tunnel/purpose-lane.js +14 -7
  251. package/dist/tunnel/purpose-lane.js.map +1 -1
  252. package/dist/tunnel/types.d.ts +5 -1
  253. package/dist/tunnel/types.js.map +1 -1
  254. package/dist/turn-resume.d.ts +2 -0
  255. package/dist/turn-resume.js +1 -1
  256. package/dist/turn-resume.js.map +1 -1
  257. package/dist/types.d.ts +25 -0
  258. package/dist/ui/chat-commands.js +1 -0
  259. package/dist/ui/chat-emojis.js +33 -0
  260. package/dist/ui/chat-mentions.js +63 -0
  261. package/dist/ui/chat-render.js +42 -2
  262. package/dist/ui/chat-store.js +2 -2
  263. package/dist/ui/chat-strings.js +38 -20
  264. package/dist/ui/chat-thread.js +69 -12
  265. package/dist/ui/chat-time.js +80 -0
  266. package/dist/ui/panel-chat.js +39 -10
  267. package/dist/ui/panel-details.js +2 -0
  268. package/dist/ui/panel-fleet.js +199 -57
  269. package/dist/ui/panel-log.js +428 -0
  270. package/dist/ui/panel-needs.js +6 -2
  271. package/dist/ui/panel-settings.js +137 -32
  272. package/dist/ui/preview-panel.js +55 -15
  273. package/dist/ui/preview-status.js +28 -0
  274. package/dist/ui/preview.js +44 -3
  275. package/dist/ui/settings-dialogs.js +7 -2
  276. package/dist/ui/settings-model.js +2 -1
  277. package/dist/ui/settings-strings.js +46 -4
  278. package/dist/ui/settings-token.js +1 -1
  279. package/dist/ui/shared/app-i18n.js +43 -17
  280. package/dist/ui/shared/app-prefs.js +250 -0
  281. package/dist/ui/shared/app-route.js +7 -2
  282. package/dist/ui/shared/app-shell.js +165 -8
  283. package/dist/ui/shared/app-store.js +5 -1
  284. package/dist/ui/shared/app-stream.js +23 -5
  285. package/dist/ui/shared/app.css +155 -22
  286. package/dist/ui/shared/app.js +11 -1
  287. package/dist/ui/shared/fonts/README.md +1 -1
  288. package/dist/ui/shared/header-tools.js +55 -5
  289. package/dist/ui/shared/instance-nav.js +241 -45
  290. package/dist/ui/shared/instance-switch.js +4 -4
  291. package/dist/ui/shared/panel-view.js +6 -0
  292. package/dist/ui/shared/signin.js +7 -7
  293. package/dist/ui/shared/theme.js +39 -7
  294. package/dist/ui/shared/tokens.css +1 -1
  295. package/dist/ui/shared/ui-icons.js +1 -0
  296. package/dist/ui/shared/usage-dialog.js +23 -5
  297. package/dist/ui/shared/view-strings.js +32 -4
  298. package/dist/ui/signin.html +1 -1
  299. package/dist/unrecognised-prompt.d.ts +23 -0
  300. package/dist/unrecognised-prompt.js +74 -0
  301. package/dist/unrecognised-prompt.js.map +1 -0
  302. package/dist/update-install.d.ts +28 -2
  303. package/dist/update-install.js +22 -4
  304. package/dist/update-install.js.map +1 -1
  305. package/dist/update-marker.d.ts +51 -0
  306. package/dist/update-marker.js +61 -0
  307. package/dist/update-marker.js.map +1 -1
  308. package/dist/update-preflight.d.ts +100 -0
  309. package/dist/update-preflight.js +264 -0
  310. package/dist/update-preflight.js.map +1 -0
  311. package/dist/updater-caller.d.ts +31 -0
  312. package/dist/updater-caller.js +109 -0
  313. package/dist/updater-caller.js.map +1 -0
  314. package/dist/usage/i18n-keys.d.ts +1 -1
  315. package/dist/usage/i18n-keys.js +1 -1
  316. package/dist/usage/i18n-keys.js.map +1 -1
  317. package/dist/usage/providers.d.ts +34 -5
  318. package/dist/usage/providers.js +160 -27
  319. package/dist/usage/providers.js.map +1 -1
  320. package/dist/usage/statusline-usage.d.ts +6 -2
  321. package/dist/usage/statusline-usage.js +10 -4
  322. package/dist/usage/statusline-usage.js.map +1 -1
  323. package/dist/view-api.d.ts +1 -1
  324. package/dist/view-api.js +38 -8
  325. package/dist/view-api.js.map +1 -1
  326. package/dist/wake-coordinator.d.ts +11 -0
  327. package/dist/wake-coordinator.js +38 -4
  328. package/dist/wake-coordinator.js.map +1 -1
  329. package/dist/web-api.d.ts +49 -2
  330. package/dist/web-api.js +421 -31
  331. package/dist/web-api.js.map +1 -1
  332. package/dist/web-auth.d.ts +2 -2
  333. package/dist/web-auth.js +9 -4
  334. package/dist/web-auth.js.map +1 -1
  335. package/dist/web-commands.d.ts +27 -4
  336. package/dist/web-commands.js +19 -4
  337. package/dist/web-commands.js.map +1 -1
  338. package/dist/web-host-guard.d.ts +3 -11
  339. package/dist/web-host-guard.js +3 -12
  340. package/dist/web-host-guard.js.map +1 -1
  341. package/dist/web-images.d.ts +47 -0
  342. package/dist/web-images.js +169 -0
  343. package/dist/web-images.js.map +1 -0
  344. package/dist/web-mentions.d.ts +44 -0
  345. package/dist/web-mentions.js +75 -0
  346. package/dist/web-mentions.js.map +1 -0
  347. package/dist/web-prefs.d.ts +63 -0
  348. package/dist/web-prefs.js +265 -0
  349. package/dist/web-prefs.js.map +1 -0
  350. package/dist/web-preview.d.ts +14 -1
  351. package/dist/web-preview.js +35 -13
  352. package/dist/web-preview.js.map +1 -1
  353. package/dist/web-reply-files.d.ts +45 -0
  354. package/dist/web-reply-files.js +223 -0
  355. package/dist/web-reply-files.js.map +1 -0
  356. package/dist/web-schedules.d.ts +12 -0
  357. package/dist/web-schedules.js +34 -0
  358. package/dist/web-schedules.js.map +1 -0
  359. package/dist/web-server-drain.d.ts +10 -0
  360. package/dist/web-server-drain.js +50 -0
  361. package/dist/web-server-drain.js.map +1 -0
  362. package/dist/web-session.d.ts +36 -1
  363. package/dist/web-session.js +53 -6
  364. package/dist/web-session.js.map +1 -1
  365. package/dist/web-settings-patch.d.ts +23 -0
  366. package/dist/web-settings-patch.js +77 -0
  367. package/dist/web-settings-patch.js.map +1 -0
  368. package/dist/web-shell-routes.d.ts +5 -1
  369. package/dist/web-shell-routes.js +10 -1
  370. package/dist/web-shell-routes.js.map +1 -1
  371. package/dist/web-upload.d.ts +17 -4
  372. package/dist/web-upload.js +64 -13
  373. package/dist/web-upload.js.map +1 -1
  374. package/dist/workflow-templates/default.md +1 -1
  375. package/package.json +1 -1
  376. package/templates/launchd.plist.ejs +3 -1
  377. package/templates/systemd.service.ejs +2 -1
@@ -1,3 +1,4 @@
1
+ import { nativeHumanOrigin } from "../../human-delivery-receipts.js";
1
2
  import { EventEmitter } from "node:events";
2
3
  import { randomBytes } from "node:crypto";
3
4
  import { Agent as HttpAgent } from "node:http";
@@ -7,8 +8,10 @@ import { join, extname, basename } from "node:path";
7
8
  import { Bot, GrammyError, HttpError, InputFile } from "grammy";
8
9
  import { InlineKeyboard } from "grammy";
9
10
  import { downloadStickerImage } from "../sticker-download.js";
11
+ import { isTelegramParseRefusal, markdownToTelegramHtml } from "../telegram-markdown.js";
10
12
  import { MessageQueue } from "../message-queue.js";
11
13
  import { t } from "../../locale.js";
14
+ import { isTelegramEditNotModified } from "../message-edit-errors.js";
12
15
  const IMAGE_EXTENSIONS = new Set([".jpg", ".jpeg", ".png", ".gif", ".webp", ".bmp"]);
13
16
  const TELEGRAM_NETWORK_RETRY_MS = 250;
14
17
  /** A topology probe message is harmless to resend, so it may retry where sendMessage cannot. */
@@ -280,7 +283,7 @@ export class TelegramAdapter extends EventEmitter {
280
283
  return { messageId: String(msg.message_id) };
281
284
  },
282
285
  edit: async (chatId, messageId, text) => {
283
- await this.bot.api.editMessageText(Number(chatId), Number(messageId), text);
286
+ await this.editText(Number(chatId), Number(messageId), text);
284
287
  },
285
288
  sendFile: async (chatId, threadId, filePath) => {
286
289
  const ext = extname(filePath).toLowerCase();
@@ -403,6 +406,8 @@ export class TelegramAdapter extends EventEmitter {
403
406
  text,
404
407
  timestamp: new Date(msg.date * 1000),
405
408
  isBotMessage: msg.from?.is_bot ?? false,
409
+ humanOriginalBody: text,
410
+ humanOrigin: nativeHumanOrigin("telegram", this.id, String(userId), msg.from?.username, msg.from?.is_bot, messageId),
406
411
  });
407
412
  return; // Don't call next — we handled it
408
413
  }
@@ -462,6 +467,8 @@ export class TelegramAdapter extends EventEmitter {
462
467
  text,
463
468
  timestamp: new Date(msg.date * 1000),
464
469
  isBotMessage: msg.from?.is_bot ?? false,
470
+ humanOriginalBody: text,
471
+ humanOrigin: nativeHumanOrigin("telegram", this.id, String(userId), msg.from?.username, msg.from?.is_bot, messageId),
465
472
  attachments: attachments.length > 0 ? attachments : undefined,
466
473
  replyTo: msg.reply_to_message?.message_id != null
467
474
  ? String(msg.reply_to_message.message_id)
@@ -498,6 +505,7 @@ export class TelegramAdapter extends EventEmitter {
498
505
  messageId: String(ctx.callbackQuery.message?.message_id ?? ""),
499
506
  userId: String(ctx.callbackQuery.from.id),
500
507
  username: ctx.callbackQuery.from.username ?? ctx.callbackQuery.from.first_name,
508
+ humanOrigin: nativeHumanOrigin("telegram", this.id, String(ctx.callbackQuery.from.id), ctx.callbackQuery.from.username, ctx.callbackQuery.from.is_bot, null, { anchor: String(ctx.callbackQuery.message?.message_id ?? ""), event: ctx.callbackQuery.id }),
501
509
  ack: answer,
502
510
  });
503
511
  });
@@ -769,6 +777,8 @@ export class TelegramAdapter extends EventEmitter {
769
777
  async sendText(chatId, text, opts) {
770
778
  if (opts?.replyButtons?.length)
771
779
  return this.sendTextWithReplyButtons(chatId, text, opts, opts.replyButtons);
780
+ if (opts?.urlButtons?.length)
781
+ return this.sendTextWithUrlButtons(chatId, text, opts, opts.urlButtons);
772
782
  // Try rich message for content with tables, code blocks, headings, etc.
773
783
  if (this.needsRichMessage(text)) {
774
784
  const sendRichMessage = this.bot.api.raw?.sendRichMessage;
@@ -811,11 +821,8 @@ export class TelegramAdapter extends EventEmitter {
811
821
  return;
812
822
  }
813
823
  // Send first chunk directly to get the messageId; enqueue the rest
814
- const parseMode = opts?.format === "html" ? "HTML" : undefined;
815
- this.bot.api
816
- .sendMessage(Number(chatId), chunks[0], {
824
+ this.sendFormattedChunk(chatId, chunks[0], opts?.format, {
817
825
  ...threadOptions(threadId),
818
- parse_mode: parseMode,
819
826
  ...(opts?.disablePreview ? { link_preview_options: { is_disabled: true } } : {}),
820
827
  })
821
828
  .then((msg) => {
@@ -833,11 +840,53 @@ export class TelegramAdapter extends EventEmitter {
833
840
  .catch(reject);
834
841
  });
835
842
  }
843
+ /**
844
+ * One plain-path message. "html" is the caller's own HTML. "markdown" (an agent's reply, #1658) is converted
845
+ * escape-first to Telegram HTML per chunk — Telegram's length limit counts the text after parsing, so the raw chunk
846
+ * size still holds — and if Telegram refuses the markup, the same chunk is sent once more as plain text.
847
+ */
848
+ async sendFormattedChunk(chatId, chunk, format, extra) {
849
+ if (format !== "markdown") {
850
+ return this.bot.api.sendMessage(Number(chatId), chunk, { ...extra, parse_mode: format === "html" ? "HTML" : undefined });
851
+ }
852
+ try {
853
+ return await this.bot.api.sendMessage(Number(chatId), markdownToTelegramHtml(chunk), { ...extra, parse_mode: "HTML" });
854
+ }
855
+ catch (err) {
856
+ if (!isTelegramParseRefusal(err))
857
+ throw err;
858
+ console.warn(`[telegram] reply markup refused; sending as plain text: ${errorMessage(err)}`);
859
+ return this.bot.api.sendMessage(Number(chatId), chunk, { ...extra, parse_mode: undefined });
860
+ }
861
+ }
836
862
  /**
837
863
  * #1266: a reply with buttons. Every part is sent and awaited here — not queued — so the keyboard goes on the part
838
864
  * that really is last, and the caller learns which message carries it. Plain messages, not a rich message: a
839
865
  * keyboard is a sendMessage parameter.
840
866
  */
867
+ /** #1686: send text with URL (link) buttons on the last chunk. */
868
+ async sendTextWithUrlButtons(chatId, text, opts, urlButtons) {
869
+ const keyboard = urlButtons.map(b => [{ text: b.label, url: b.url }]);
870
+ const chunkLimit = opts.chunkLimit ?? 4096;
871
+ const chunks = [];
872
+ for (let offset = 0; offset < text.length; offset += chunkLimit)
873
+ chunks.push(text.slice(offset, offset + chunkLimit));
874
+ if (!chunks.length)
875
+ throw new Error("Empty text");
876
+ for (let i = 0; i < chunks.length - 1; i++) {
877
+ await this.sendFormattedChunk(chatId, chunks[i], opts.format, {
878
+ ...threadOptions(opts.threadId),
879
+ ...(opts.disablePreview ? { link_preview_options: { is_disabled: true } } : {}),
880
+ });
881
+ }
882
+ const last = chunks[chunks.length - 1];
883
+ const msg = await this.bot.api.sendMessage(Number(chatId), last, {
884
+ ...threadOptions(opts.threadId),
885
+ ...(opts.disablePreview ? { link_preview_options: { is_disabled: true } } : {}),
886
+ reply_markup: { inline_keyboard: keyboard },
887
+ });
888
+ return { messageId: String(msg.message_id), chatId, threadId: opts.threadId };
889
+ }
841
890
  async sendTextWithReplyButtons(chatId, text, opts, buttons) {
842
891
  const keyboard = telegramReplyKeyboard(buttons);
843
892
  const chunkLimit = opts.chunkLimit ?? 4096;
@@ -846,12 +895,10 @@ export class TelegramAdapter extends EventEmitter {
846
895
  chunks.push(text.slice(offset, offset + chunkLimit));
847
896
  if (!chunks.length)
848
897
  throw new Error("Empty text");
849
- const parseMode = opts.format === "html" ? "HTML" : undefined;
850
898
  let first, last = "";
851
899
  for (const [i, chunk] of chunks.entries()) {
852
- const msg = await this.bot.api.sendMessage(Number(chatId), chunk, {
900
+ const msg = await this.sendFormattedChunk(chatId, chunk, opts.format, {
853
901
  ...threadOptions(opts.threadId),
854
- parse_mode: parseMode,
855
902
  ...(opts.disablePreview ? { link_preview_options: { is_disabled: true } } : {}),
856
903
  ...(i === chunks.length - 1 ? { reply_markup: { inline_keyboard: keyboard } } : {}),
857
904
  });
@@ -863,7 +910,7 @@ export class TelegramAdapter extends EventEmitter {
863
910
  /** #1266: the keyboard becomes one inert button saying how it ended (Telegram cannot disable a button). */
864
911
  async settleReplyButtons(chatId, messageId, _threadId, labels, outcome) {
865
912
  const label = "expired" in outcome ? t("reply_buttons.expired") : t("reply_buttons.chosen", labels[outcome.chosenIndex] ?? "?", outcome.by);
866
- await this.bot.api.editMessageReplyMarkup(Number(chatId), Number(messageId), {
913
+ await this.editButtons(Number(chatId), Number(messageId), {
867
914
  reply_markup: { inline_keyboard: [[{ text: label.length > 64 ? `${label.slice(0, 63)}…` : label, callback_data: REPLY_BUTTONS_CLOSED }]] },
868
915
  });
869
916
  }
@@ -882,13 +929,45 @@ export class TelegramAdapter extends EventEmitter {
882
929
  }
883
930
  return { messageId, chatId, threadId };
884
931
  }
885
- async editMessage(chatId, messageId, text) {
886
- await this.bot.api.editMessageText(Number(chatId), Number(messageId), text);
932
+ /** All Telegram text/keyboard edits share the typed unchanged-content no-op (#1751). */
933
+ async editText(...args) {
934
+ try {
935
+ await this.bot.api.editMessageText(...args);
936
+ }
937
+ catch (err) {
938
+ if (!isTelegramEditNotModified(err))
939
+ throw err;
940
+ }
941
+ }
942
+ async editButtons(...args) {
943
+ try {
944
+ await this.bot.api.editMessageReplyMarkup(...args);
945
+ }
946
+ catch (err) {
947
+ if (!isTelegramEditNotModified(err))
948
+ throw err;
949
+ }
950
+ }
951
+ /** #1651: render HTML/markdown like sendMessage, retaining the parse-refusal-only plain-text fallback. */
952
+ async editMessage(chatId, messageId, text, _threadId, opts) {
953
+ if (opts?.format === "markdown") {
954
+ try {
955
+ await this.editText(Number(chatId), Number(messageId), markdownToTelegramHtml(text), { parse_mode: "HTML" });
956
+ }
957
+ catch (err) {
958
+ if (!isTelegramParseRefusal(err))
959
+ throw err;
960
+ console.warn(`[telegram] edit markup refused; retrying as plain text: ${errorMessage(err)}`);
961
+ await this.editText(Number(chatId), Number(messageId), text);
962
+ }
963
+ return;
964
+ }
965
+ await this.editText(Number(chatId), Number(messageId), text, ...(opts?.format === "html" ? [{ parse_mode: "HTML" }] : []));
887
966
  }
888
967
  /** Edit text and drop the inline keyboard (omitting reply_markup clears it). */
889
- async editMessageRemoveButtons(chatId, messageId, text) {
890
- await this.bot.api.editMessageText(Number(chatId), Number(messageId), text, {
891
- reply_markup: { inline_keyboard: [] },
968
+ async editMessageRemoveButtons(chatId, messageId, text, _threadId, urlButtons) {
969
+ await this.editText(Number(chatId), Number(messageId), text, {
970
+ reply_markup: { inline_keyboard: urlButtons?.map(b => [{ text: b.label, url: b.url }]) ?? [] },
892
971
  });
893
972
  }
894
973
  /**
@@ -898,12 +977,12 @@ export class TelegramAdapter extends EventEmitter {
898
977
  */
899
978
  /** #1610: keyboard-only replacement — the message text stays as posted (the 48 h edit limit applies). */
900
979
  async replaceMessageButtons(chatId, messageId, choices) {
901
- await this.bot.api.editMessageReplyMarkup(Number(chatId), Number(messageId), {
980
+ await this.editButtons(Number(chatId), Number(messageId), {
902
981
  reply_markup: { inline_keyboard: choices.map(c => [{ text: c.label, callback_data: c.id }]) },
903
982
  });
904
983
  }
905
984
  async removeMessageButtons(chatId, messageId) {
906
- await this.bot.api.editMessageReplyMarkup(Number(chatId), Number(messageId), {
985
+ await this.editButtons(Number(chatId), Number(messageId), {
907
986
  reply_markup: { inline_keyboard: [] },
908
987
  });
909
988
  }
@@ -1062,7 +1141,7 @@ export class TelegramAdapter extends EventEmitter {
1062
1141
  const editMsgId = query.messageId ? Number(query.messageId) : sentMessageId;
1063
1142
  if (editChatId && editMsgId) {
1064
1143
  const label = isDeny ? "❌ Denied" : isAlways ? "✅ Always Allowed" : "✅ Allowed";
1065
- this.bot.api.editMessageText(editChatId, editMsgId, `${label}\nTool: \`${prompt.tool_name}\``, { parse_mode: "Markdown" }).catch(() => { });
1144
+ this.editText(editChatId, editMsgId, `${label}\nTool: \`${prompt.tool_name}\``, { parse_mode: "Markdown" }).catch(() => { });
1066
1145
  }
1067
1146
  callback(isDeny ? "deny" : isAlways ? "approve_always" : "approve");
1068
1147
  };
@@ -1072,7 +1151,7 @@ export class TelegramAdapter extends EventEmitter {
1072
1151
  // On timeout/abort, update message to show expiry
1073
1152
  stopCountdown();
1074
1153
  if (sentChatId && sentMessageId) {
1075
- this.bot.api.editMessageText(sentChatId, sentMessageId, `⏱ Timed out\nTool: \`${prompt.tool_name}\``, { parse_mode: "Markdown" }).catch(() => { });
1154
+ this.editText(sentChatId, sentMessageId, `⏱ Timed out\nTool: \`${prompt.tool_name}\``, { parse_mode: "Markdown" }).catch(() => { });
1076
1155
  }
1077
1156
  this.off("callback_query", handler);
1078
1157
  });
@@ -1119,7 +1198,7 @@ export class TelegramAdapter extends EventEmitter {
1119
1198
  return;
1120
1199
  }
1121
1200
  const updatedKeyboard = makeKeyboard(remaining);
1122
- this.bot.api.editMessageReplyMarkup(chatIdForEdit, msgIdForEdit, {
1201
+ this.editButtons(chatIdForEdit, msgIdForEdit, {
1123
1202
  reply_markup: updatedKeyboard,
1124
1203
  }).catch(() => { });
1125
1204
  }, COUNTDOWN_INTERVAL_MS);
@@ -1190,6 +1269,25 @@ export class TelegramAdapter extends EventEmitter {
1190
1269
  * A still picture of a sticker: a static sticker is its own picture; an animated or video one has a thumbnail,
1191
1270
  * when Telegram made one. Downloaded here — the file URL carries the bot token, which must not leave the adapter.
1192
1271
  */
1272
+ /**
1273
+ * #1630: this bot's own profile photo — the smallest size at least 64 px wide — downloaded here (the file URL carries
1274
+ * the token); null when it has none.
1275
+ */
1276
+ async fetchBotAvatar() {
1277
+ const id = this.getBotUserId();
1278
+ if (!id)
1279
+ throw new Error("not started");
1280
+ const photos = await this.bot.api.getUserProfilePhotos(Number(id), { limit: 1 });
1281
+ const sizes = photos.photos[0];
1282
+ if (!sizes?.length)
1283
+ return null;
1284
+ const pick = [...sizes].sort((a, b) => a.width - b.width).find(p => p.width >= 64) ?? sizes[sizes.length - 1];
1285
+ const file = await this.bot.api.getFile(pick.file_id);
1286
+ if (!file.file_path)
1287
+ throw new Error("Telegram gave no file for this photo");
1288
+ const token = this.bot.token;
1289
+ return downloadStickerImage(`${this.apiRoot}/file/bot${token}/${file.file_path}`, { fallbackExt: "jpg", maxBytes: 256 * 1024 });
1290
+ }
1193
1291
  async fetchStickerPreview(sticker) {
1194
1292
  const fileId = sticker.format === "webp" ? sticker.id : sticker.thumbnailId;
1195
1293
  if (!fileId)
@@ -1295,7 +1393,7 @@ export class TelegramAdapter extends EventEmitter {
1295
1393
  const keyboard = new InlineKeyboard();
1296
1394
  for (const choice of alert.choices ?? [])
1297
1395
  keyboard.text(choice.label, choice.id);
1298
- await this.bot.api.editMessageText(Number(chatId), Number(messageId), alert.message, {
1396
+ await this.editText(Number(chatId), Number(messageId), alert.message, {
1299
1397
  reply_markup: keyboard,
1300
1398
  });
1301
1399
  }
@@ -1 +1 @@
1
- {"version":3,"file":"telegram.js","sourceRoot":"","sources":["../../../src/channel/adapters/telegram.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telegram.js","sourceRoot":"","sources":["../../../src/channel/adapters/telegram.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"
13
13
  import { ListToolsRequestSchema, CallToolRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
14
14
  import { basename, dirname, join } from "node:path";
15
15
  import { randomUUID } from "node:crypto";
16
+ import { agendVersion } from "../agent-whats-new.js";
16
17
  import { writeFileSync, readFileSync, unlinkSync } from "node:fs";
17
18
  import { IpcClient } from "./ipc-bridge.js";
18
19
  import { TOOLS } from "./mcp-tools.js";
@@ -210,6 +211,12 @@ function ipcRequest(tool, args, operationId) {
210
211
  // read the MCP instructions field. Content delegates to the shared module
211
212
  // to avoid drift between MCP and additive system prompt paths.
212
213
  // ---------------------------------------------------------------------------
214
+ /**
215
+ * #1634: the AgEnD version this server belongs to (it was a hard-coded "0.3.0") — in serverInfo and in the
216
+ * instructions, so an agent can tell that a tool description it loaded earlier came from an older version. A source
217
+ * checkout has only a placeholder version and names none (#1638 review).
218
+ */
219
+ const AGEND_VERSION = agendVersion() ?? undefined;
213
220
  function buildMcpInstructions() {
214
221
  // Compact on purpose: Claude Code truncates MCP instructions around 2KB, so
215
222
  // this carries only the non-negotiable contract. The full guidance
@@ -218,6 +225,7 @@ function buildMcpInstructions() {
218
225
  return buildMcpCoreInstructions({
219
226
  instanceName: process.env.AGEND_INSTANCE_NAME ?? "unknown",
220
227
  workingDirectory: process.env.AGEND_WORKING_DIR ?? process.cwd(),
228
+ agendVersion: AGEND_VERSION,
221
229
  runtimeIdentity: {
222
230
  kind: process.env.AGEND_INSTANCE_KIND === "classic" ? "classic" : "fleet-topic",
223
231
  backend: process.env.AGEND_BACKEND ?? "unknown",
@@ -225,7 +233,7 @@ function buildMcpInstructions() {
225
233
  },
226
234
  });
227
235
  }
228
- const mcp = new Server({ name: "agend", version: "0.3.0" }, {
236
+ const mcp = new Server({ name: "agend", version: AGEND_VERSION ?? "unknown" }, {
229
237
  capabilities: {
230
238
  tools: {},
231
239
  },