@spinabot/brigade 1.3.2 → 1.5.0

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 (238) hide show
  1. package/README.md +74 -11
  2. package/convex/config.d.ts +2 -2
  3. package/convex/extensions.d.ts +2 -2
  4. package/convex/logs.d.ts +2 -2
  5. package/convex/memory.d.ts +7 -7
  6. package/convex/messages.d.ts +4 -4
  7. package/convex/schema.d.ts +17 -17
  8. package/convex/subagents.d.ts +12 -12
  9. package/dist/agents/agent-loop.d.ts +1 -0
  10. package/dist/agents/agent-loop.d.ts.map +1 -1
  11. package/dist/agents/agent-loop.js +1 -1
  12. package/dist/agents/agent-loop.js.map +1 -1
  13. package/dist/agents/channels/access-control/format-allow-from.d.ts +50 -0
  14. package/dist/agents/channels/access-control/format-allow-from.d.ts.map +1 -0
  15. package/dist/agents/channels/access-control/format-allow-from.js +64 -0
  16. package/dist/agents/channels/access-control/format-allow-from.js.map +1 -0
  17. package/dist/agents/channels/access-control/index.d.ts +2 -1
  18. package/dist/agents/channels/access-control/index.d.ts.map +1 -1
  19. package/dist/agents/channels/access-control/index.js +2 -1
  20. package/dist/agents/channels/access-control/index.js.map +1 -1
  21. package/dist/agents/channels/access-control/store.d.ts +15 -0
  22. package/dist/agents/channels/access-control/store.d.ts.map +1 -1
  23. package/dist/agents/channels/access-control/store.js +44 -1
  24. package/dist/agents/channels/access-control/store.js.map +1 -1
  25. package/dist/agents/channels/bundled-channel-metas.d.ts +26 -0
  26. package/dist/agents/channels/bundled-channel-metas.d.ts.map +1 -0
  27. package/dist/agents/channels/bundled-channel-metas.js +44 -0
  28. package/dist/agents/channels/bundled-channel-metas.js.map +1 -0
  29. package/dist/agents/channels/channel-messaging-registry.d.ts +130 -0
  30. package/dist/agents/channels/channel-messaging-registry.d.ts.map +1 -0
  31. package/dist/agents/channels/channel-messaging-registry.js +211 -0
  32. package/dist/agents/channels/channel-messaging-registry.js.map +1 -0
  33. package/dist/agents/channels/channel-meta-registry.d.ts +60 -0
  34. package/dist/agents/channels/channel-meta-registry.d.ts.map +1 -0
  35. package/dist/agents/channels/channel-meta-registry.js +128 -0
  36. package/dist/agents/channels/channel-meta-registry.js.map +1 -0
  37. package/dist/agents/channels/channel-security-registry.d.ts +138 -0
  38. package/dist/agents/channels/channel-security-registry.d.ts.map +1 -0
  39. package/dist/agents/channels/channel-security-registry.js +265 -0
  40. package/dist/agents/channels/channel-security-registry.js.map +1 -0
  41. package/dist/agents/channels/exposure.d.ts +44 -0
  42. package/dist/agents/channels/exposure.d.ts.map +1 -0
  43. package/dist/agents/channels/exposure.js +48 -0
  44. package/dist/agents/channels/exposure.js.map +1 -0
  45. package/dist/agents/channels/general-callback.d.ts +25 -0
  46. package/dist/agents/channels/general-callback.d.ts.map +1 -0
  47. package/dist/agents/channels/general-callback.js +31 -0
  48. package/dist/agents/channels/general-callback.js.map +1 -0
  49. package/dist/agents/channels/inbound-pipeline.d.ts +9 -0
  50. package/dist/agents/channels/inbound-pipeline.d.ts.map +1 -1
  51. package/dist/agents/channels/inbound-pipeline.js +429 -39
  52. package/dist/agents/channels/inbound-pipeline.js.map +1 -1
  53. package/dist/agents/channels/markdown-capability.d.ts +44 -0
  54. package/dist/agents/channels/markdown-capability.d.ts.map +1 -0
  55. package/dist/agents/channels/markdown-capability.js +66 -0
  56. package/dist/agents/channels/markdown-capability.js.map +1 -0
  57. package/dist/agents/channels/sdk.d.ts +170 -10
  58. package/dist/agents/channels/sdk.d.ts.map +1 -1
  59. package/dist/agents/channels/sdk.js +138 -6
  60. package/dist/agents/channels/sdk.js.map +1 -1
  61. package/dist/agents/channels/telegram/account-config.d.ts +41 -0
  62. package/dist/agents/channels/telegram/account-config.d.ts.map +1 -1
  63. package/dist/agents/channels/telegram/account-config.js +79 -0
  64. package/dist/agents/channels/telegram/account-config.js.map +1 -1
  65. package/dist/agents/channels/telegram/adapter.d.ts +6 -0
  66. package/dist/agents/channels/telegram/adapter.d.ts.map +1 -1
  67. package/dist/agents/channels/telegram/adapter.js +185 -6
  68. package/dist/agents/channels/telegram/adapter.js.map +1 -1
  69. package/dist/agents/channels/telegram/allowed-updates.d.ts +14 -5
  70. package/dist/agents/channels/telegram/allowed-updates.d.ts.map +1 -1
  71. package/dist/agents/channels/telegram/allowed-updates.js +8 -4
  72. package/dist/agents/channels/telegram/allowed-updates.js.map +1 -1
  73. package/dist/agents/channels/telegram/connection.d.ts +118 -1
  74. package/dist/agents/channels/telegram/connection.d.ts.map +1 -1
  75. package/dist/agents/channels/telegram/connection.js +380 -8
  76. package/dist/agents/channels/telegram/connection.js.map +1 -1
  77. package/dist/agents/channels/telegram/draft-stream.d.ts +98 -0
  78. package/dist/agents/channels/telegram/draft-stream.d.ts.map +1 -0
  79. package/dist/agents/channels/telegram/draft-stream.js +222 -0
  80. package/dist/agents/channels/telegram/draft-stream.js.map +1 -0
  81. package/dist/agents/channels/telegram/format.d.ts +17 -0
  82. package/dist/agents/channels/telegram/format.d.ts.map +1 -1
  83. package/dist/agents/channels/telegram/format.js +36 -0
  84. package/dist/agents/channels/telegram/format.js.map +1 -1
  85. package/dist/agents/channels/telegram/inbound-extras.d.ts +27 -2
  86. package/dist/agents/channels/telegram/inbound-extras.d.ts.map +1 -1
  87. package/dist/agents/channels/telegram/inbound-extras.js +134 -7
  88. package/dist/agents/channels/telegram/inbound-extras.js.map +1 -1
  89. package/dist/agents/channels/telegram/inline-keyboard.d.ts +36 -0
  90. package/dist/agents/channels/telegram/inline-keyboard.d.ts.map +1 -0
  91. package/dist/agents/channels/telegram/inline-keyboard.js +62 -0
  92. package/dist/agents/channels/telegram/inline-keyboard.js.map +1 -0
  93. package/dist/agents/channels/telegram/media.d.ts +8 -0
  94. package/dist/agents/channels/telegram/media.d.ts.map +1 -1
  95. package/dist/agents/channels/telegram/media.js +30 -2
  96. package/dist/agents/channels/telegram/media.js.map +1 -1
  97. package/dist/agents/channels/telegram/plugin.d.ts.map +1 -1
  98. package/dist/agents/channels/telegram/plugin.js +7 -11
  99. package/dist/agents/channels/telegram/plugin.js.map +1 -1
  100. package/dist/agents/channels/telegram/reasoning-lane.d.ts +41 -0
  101. package/dist/agents/channels/telegram/reasoning-lane.d.ts.map +1 -0
  102. package/dist/agents/channels/telegram/reasoning-lane.js +67 -0
  103. package/dist/agents/channels/telegram/reasoning-lane.js.map +1 -0
  104. package/dist/agents/channels/telegram/socks-dispatcher.d.ts +32 -0
  105. package/dist/agents/channels/telegram/socks-dispatcher.d.ts.map +1 -0
  106. package/dist/agents/channels/telegram/socks-dispatcher.js +97 -0
  107. package/dist/agents/channels/telegram/socks-dispatcher.js.map +1 -0
  108. package/dist/agents/channels/types.adapters.d.ts +137 -4
  109. package/dist/agents/channels/types.adapters.d.ts.map +1 -1
  110. package/dist/agents/channels/types.adapters.js +2 -2
  111. package/dist/agents/channels/types.core.d.ts +26 -2
  112. package/dist/agents/channels/types.core.d.ts.map +1 -1
  113. package/dist/agents/channels/types.plugin.d.ts +25 -7
  114. package/dist/agents/channels/types.plugin.d.ts.map +1 -1
  115. package/dist/agents/channels/types.plugin.js +6 -5
  116. package/dist/agents/channels/types.plugin.js.map +1 -1
  117. package/dist/agents/channels/whatsapp/adapter.d.ts +8 -0
  118. package/dist/agents/channels/whatsapp/adapter.d.ts.map +1 -1
  119. package/dist/agents/channels/whatsapp/adapter.js +7 -4
  120. package/dist/agents/channels/whatsapp/adapter.js.map +1 -1
  121. package/dist/agents/channels/whatsapp/connection.d.ts +24 -2
  122. package/dist/agents/channels/whatsapp/connection.d.ts.map +1 -1
  123. package/dist/agents/channels/whatsapp/connection.js +26 -5
  124. package/dist/agents/channels/whatsapp/connection.js.map +1 -1
  125. package/dist/agents/channels/whatsapp/plugin.d.ts.map +1 -1
  126. package/dist/agents/channels/whatsapp/plugin.js +6 -10
  127. package/dist/agents/channels/whatsapp/plugin.js.map +1 -1
  128. package/dist/agents/extensions/activation-planner.d.ts +125 -0
  129. package/dist/agents/extensions/activation-planner.d.ts.map +1 -0
  130. package/dist/agents/extensions/activation-planner.js +221 -0
  131. package/dist/agents/extensions/activation-planner.js.map +1 -0
  132. package/dist/agents/extensions/diagnose.d.ts +84 -0
  133. package/dist/agents/extensions/diagnose.d.ts.map +1 -0
  134. package/dist/agents/extensions/diagnose.js +123 -0
  135. package/dist/agents/extensions/diagnose.js.map +1 -0
  136. package/dist/agents/extensions/discovery.d.ts +85 -7
  137. package/dist/agents/extensions/discovery.d.ts.map +1 -1
  138. package/dist/agents/extensions/discovery.js +200 -15
  139. package/dist/agents/extensions/discovery.js.map +1 -1
  140. package/dist/agents/extensions/index.d.ts +3 -2
  141. package/dist/agents/extensions/index.d.ts.map +1 -1
  142. package/dist/agents/extensions/index.js +3 -2
  143. package/dist/agents/extensions/index.js.map +1 -1
  144. package/dist/agents/extensions/install-scan.d.ts +63 -0
  145. package/dist/agents/extensions/install-scan.d.ts.map +1 -0
  146. package/dist/agents/extensions/install-scan.js +201 -0
  147. package/dist/agents/extensions/install-scan.js.map +1 -0
  148. package/dist/agents/extensions/install.d.ts +135 -0
  149. package/dist/agents/extensions/install.d.ts.map +1 -0
  150. package/dist/agents/extensions/install.js +414 -0
  151. package/dist/agents/extensions/install.js.map +1 -0
  152. package/dist/agents/extensions/loader.d.ts +13 -2
  153. package/dist/agents/extensions/loader.d.ts.map +1 -1
  154. package/dist/agents/extensions/loader.js +126 -13
  155. package/dist/agents/extensions/loader.js.map +1 -1
  156. package/dist/agents/extensions/registry.d.ts +109 -0
  157. package/dist/agents/extensions/registry.d.ts.map +1 -1
  158. package/dist/agents/extensions/registry.js +172 -0
  159. package/dist/agents/extensions/registry.js.map +1 -1
  160. package/dist/agents/extensions/sdk-alias.d.ts +45 -0
  161. package/dist/agents/extensions/sdk-alias.d.ts.map +1 -0
  162. package/dist/agents/extensions/sdk-alias.js +94 -0
  163. package/dist/agents/extensions/sdk-alias.js.map +1 -0
  164. package/dist/agents/extensions/types.d.ts +166 -1
  165. package/dist/agents/extensions/types.d.ts.map +1 -1
  166. package/dist/agents/extensions/types.js.map +1 -1
  167. package/dist/agents/tools/composio-tool.d.ts +9 -1
  168. package/dist/agents/tools/composio-tool.d.ts.map +1 -1
  169. package/dist/agents/tools/composio-tool.js +68 -4
  170. package/dist/agents/tools/composio-tool.js.map +1 -1
  171. package/dist/agents/tools/message-action-tool.d.ts +6 -1
  172. package/dist/agents/tools/message-action-tool.d.ts.map +1 -1
  173. package/dist/agents/tools/message-action-tool.js +52 -2
  174. package/dist/agents/tools/message-action-tool.js.map +1 -1
  175. package/dist/agents/tools/send-message-tool.d.ts +1 -0
  176. package/dist/agents/tools/send-message-tool.d.ts.map +1 -1
  177. package/dist/agents/tools/send-message-tool.js +56 -1
  178. package/dist/agents/tools/send-message-tool.js.map +1 -1
  179. package/dist/buildstamp.json +1 -1
  180. package/dist/channel-sdk.d.ts +28 -0
  181. package/dist/channel-sdk.d.ts.map +1 -0
  182. package/dist/channel-sdk.js +28 -0
  183. package/dist/channel-sdk.js.map +1 -0
  184. package/dist/cli/commands/channels.d.ts.map +1 -1
  185. package/dist/cli/commands/channels.js +8 -8
  186. package/dist/cli/commands/channels.js.map +1 -1
  187. package/dist/cli/commands/connect.d.ts +8 -11
  188. package/dist/cli/commands/connect.d.ts.map +1 -1
  189. package/dist/cli/commands/connect.js +157 -17
  190. package/dist/cli/commands/connect.js.map +1 -1
  191. package/dist/cli/commands/convex-cmd.d.ts +2 -1
  192. package/dist/cli/commands/convex-cmd.d.ts.map +1 -1
  193. package/dist/cli/commands/convex-cmd.js +79 -6
  194. package/dist/cli/commands/convex-cmd.js.map +1 -1
  195. package/dist/cli/commands/doctor.d.ts.map +1 -1
  196. package/dist/cli/commands/doctor.js +64 -0
  197. package/dist/cli/commands/doctor.js.map +1 -1
  198. package/dist/cli/commands/extensions.d.ts +46 -0
  199. package/dist/cli/commands/extensions.d.ts.map +1 -0
  200. package/dist/cli/commands/extensions.js +578 -0
  201. package/dist/cli/commands/extensions.js.map +1 -0
  202. package/dist/cli/commands/pairing.d.ts.map +1 -1
  203. package/dist/cli/commands/pairing.js +16 -2
  204. package/dist/cli/commands/pairing.js.map +1 -1
  205. package/dist/cli/commands/update.d.ts +17 -0
  206. package/dist/cli/commands/update.d.ts.map +1 -0
  207. package/dist/cli/commands/update.js +104 -0
  208. package/dist/cli/commands/update.js.map +1 -0
  209. package/dist/cli/program/build-program.d.ts.map +1 -1
  210. package/dist/cli/program/build-program.js +114 -1
  211. package/dist/cli/program/build-program.js.map +1 -1
  212. package/dist/config/paths.d.ts +1 -0
  213. package/dist/config/paths.d.ts.map +1 -1
  214. package/dist/config/paths.js +9 -0
  215. package/dist/config/paths.js.map +1 -1
  216. package/dist/core/server.d.ts.map +1 -1
  217. package/dist/core/server.js +134 -2
  218. package/dist/core/server.js.map +1 -1
  219. package/dist/protocol.d.ts +25 -0
  220. package/dist/protocol.d.ts.map +1 -1
  221. package/dist/protocol.js.map +1 -1
  222. package/dist/system-prompt/assembler.d.ts.map +1 -1
  223. package/dist/system-prompt/assembler.js +17 -0
  224. package/dist/system-prompt/assembler.js.map +1 -1
  225. package/dist/system-prompt/identity-defaults.d.ts +28 -0
  226. package/dist/system-prompt/identity-defaults.d.ts.map +1 -1
  227. package/dist/system-prompt/identity-defaults.js +47 -0
  228. package/dist/system-prompt/identity-defaults.js.map +1 -1
  229. package/dist/ui/editor.d.ts.map +1 -1
  230. package/dist/ui/editor.js +1 -0
  231. package/dist/ui/editor.js.map +1 -1
  232. package/dist/version.d.ts +4 -3
  233. package/dist/version.d.ts.map +1 -1
  234. package/dist/version.js +27 -5
  235. package/dist/version.js.map +1 -1
  236. package/package.json +21 -4
  237. package/scripts/build-done.mjs +11 -2
  238. package/scripts/convex-dev.mjs +28 -2
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../../src/agents/channels/telegram/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../../src/agents/channels/telegram/connection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Telegram live-streaming draft message.
3
+ *
4
+ * Brigade agents normally deliver one FINAL chunked reply (see
5
+ * `inbound-pipeline.dispatchTurn` → `adapter.sendText`). This module adds the
6
+ * OPTIONAL progressive-edit behavior: post a placeholder message on the first
7
+ * content, then `editMessageText` it with the accumulating answer as tokens
8
+ * arrive — THROTTLED to roughly one edit per second so a long reply doesn't
9
+ * hammer the Bot API. When the running text outgrows Telegram's 4096-char
10
+ * limit the stream FINALIZES the current message at its last safe chunk
11
+ * boundary and ROLLS to a fresh message for the overflow, so a multi-message
12
+ * reply streams naturally.
13
+ *
14
+ * Design notes (vs the simpler one-shot send):
15
+ * - Transport-agnostic + pure-ish: the three Telegram calls (`sendMessage`,
16
+ * `editMessageText`, `deleteMessage`) are INJECTED, so the throttle / roll /
17
+ * finalize state machine is unit-tested with fakes and never imports grammY.
18
+ * - Throttle window: edits coalesce — `update(text)` only records the latest
19
+ * text; the loop flushes at most once per `throttleMs`. `flush()` forces an
20
+ * immediate delivery (used between throttle ticks and on finalize).
21
+ * - 4096 boundary roll: when an edit would exceed the limit, the current
22
+ * message is finalized to the largest chunk that fits (split on a paragraph
23
+ * / newline / space boundary) and the remainder starts a NEW message.
24
+ * - Render hook: `renderText` converts a markdown chunk to Telegram HTML
25
+ * (same `markdownToTelegramHtml` the final path uses). A render that throws
26
+ * or yields empty HTML falls back to plain text so a half-streamed code
27
+ * fence never wedges the stream.
28
+ * - Idempotent finalize: `finalize(text)` is safe to call once at turn end —
29
+ * it flushes the final text and stops the loop. After finalize the stream
30
+ * is inert.
31
+ *
32
+ * This is the streaming analogue of the reference draft-stream, brand-scrubbed
33
+ * and reduced to the `sendMessage`/`editMessageText` transport (Brigade does
34
+ * not use the experimental `sendMessageDraft` Bot API method).
35
+ */
36
+ /** Telegram's per-message / per-edit text limit. */
37
+ export declare const TELEGRAM_STREAM_MAX_CHARS = 4096;
38
+ /** Default minimum gap between edits (≈ 1 edit/sec, Bot API friendly). */
39
+ export declare const DEFAULT_THROTTLE_MS = 1000;
40
+ /** Rendered preview text + optional Telegram parse mode. */
41
+ export interface DraftRender {
42
+ text: string;
43
+ parseMode?: "HTML";
44
+ }
45
+ /** Injected Telegram transport — exactly the three calls the stream needs. */
46
+ export interface DraftStreamTransport {
47
+ /** Send a new message; returns its numeric id. `parseMode` → `parse_mode`. */
48
+ sendMessage(text: string, opts: {
49
+ parseMode?: "HTML";
50
+ threadId?: string;
51
+ }): Promise<{
52
+ messageId: number;
53
+ }>;
54
+ /** Edit a previously-sent message's text. */
55
+ editMessageText(messageId: number, text: string, opts: {
56
+ parseMode?: "HTML";
57
+ }): Promise<void>;
58
+ }
59
+ export interface CreateDraftStreamParams {
60
+ transport: DraftStreamTransport;
61
+ /** Forum-topic thread id for the FIRST (placeholder) send. */
62
+ threadId?: string;
63
+ /** Minimum ms between edits. Clamped to ≥ 250. Default 1000. */
64
+ throttleMs?: number;
65
+ /** Per-message char cap. Clamped to ≤ 4096. Default 4096. */
66
+ maxChars?: number;
67
+ /** Convert a markdown chunk to Telegram HTML (or plain on failure). */
68
+ renderText?: (text: string) => DraftRender;
69
+ /** Best-effort logger for non-fatal stream hiccups. */
70
+ warn?: (message: string) => void;
71
+ }
72
+ /**
73
+ * A live draft stream. `update` records the latest full answer text;
74
+ * `finalize` flushes it one last time and stops. `messageIds` lists every
75
+ * message the stream materialized (the last one is the "live" one).
76
+ */
77
+ export interface DraftStream {
78
+ /** Record the latest accumulated answer text (coalesced + throttled). */
79
+ update(fullText: string): void;
80
+ /** Force an immediate delivery of the pending text (between throttle ticks). */
81
+ flush(): Promise<void>;
82
+ /** Flush the final text and stop the stream. Idempotent. */
83
+ finalize(fullText: string): Promise<void>;
84
+ /** Stop the stream WITHOUT a final flush (abort path). Idempotent. */
85
+ stop(): void;
86
+ /** Ids of every message this stream sent (last = current live message). */
87
+ messageIds(): number[];
88
+ /** True once the stream has been finalized or stopped. */
89
+ isDone(): boolean;
90
+ }
91
+ /**
92
+ * Split `text` so the head fits within `limit` chars, preferring (in order) a
93
+ * paragraph break, a newline, then a space, falling back to a hard cut. Returns
94
+ * `[head, rest]`; `rest` is "" when the whole text fits.
95
+ */
96
+ export declare function splitAtBoundary(text: string, limit: number): [string, string];
97
+ export declare function createDraftStream(params: CreateDraftStreamParams): DraftStream;
98
+ //# sourceMappingURL=draft-stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draft-stream.d.ts","sourceRoot":"","sources":["../../../../src/agents/channels/telegram/draft-stream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,oDAAoD;AACpD,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAC9C,0EAA0E;AAC1E,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAIxC,4DAA4D;AAC5D,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,8EAA8E;AAC9E,MAAM,WAAW,oBAAoB;IACpC,8EAA8E;IAC9E,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3G,6CAA6C;IAC7C,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9F;AAED,MAAM,WAAW,uBAAuB;IACvC,SAAS,EAAE,oBAAoB,CAAC;IAChC,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,WAAW,CAAC;IAC3C,uDAAuD;IACvD,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC3B,yEAAyE;IACzE,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,gFAAgF;IAChF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,sEAAsE;IACtE,IAAI,IAAI,IAAI,CAAC;IACb,2EAA2E;IAC3E,UAAU,IAAI,MAAM,EAAE,CAAC;IACvB,0DAA0D;IAC1D,MAAM,IAAI,OAAO,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAY7E;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,GAAG,WAAW,CAwJ9E"}
@@ -0,0 +1,222 @@
1
+ /**
2
+ * Telegram live-streaming draft message.
3
+ *
4
+ * Brigade agents normally deliver one FINAL chunked reply (see
5
+ * `inbound-pipeline.dispatchTurn` → `adapter.sendText`). This module adds the
6
+ * OPTIONAL progressive-edit behavior: post a placeholder message on the first
7
+ * content, then `editMessageText` it with the accumulating answer as tokens
8
+ * arrive — THROTTLED to roughly one edit per second so a long reply doesn't
9
+ * hammer the Bot API. When the running text outgrows Telegram's 4096-char
10
+ * limit the stream FINALIZES the current message at its last safe chunk
11
+ * boundary and ROLLS to a fresh message for the overflow, so a multi-message
12
+ * reply streams naturally.
13
+ *
14
+ * Design notes (vs the simpler one-shot send):
15
+ * - Transport-agnostic + pure-ish: the three Telegram calls (`sendMessage`,
16
+ * `editMessageText`, `deleteMessage`) are INJECTED, so the throttle / roll /
17
+ * finalize state machine is unit-tested with fakes and never imports grammY.
18
+ * - Throttle window: edits coalesce — `update(text)` only records the latest
19
+ * text; the loop flushes at most once per `throttleMs`. `flush()` forces an
20
+ * immediate delivery (used between throttle ticks and on finalize).
21
+ * - 4096 boundary roll: when an edit would exceed the limit, the current
22
+ * message is finalized to the largest chunk that fits (split on a paragraph
23
+ * / newline / space boundary) and the remainder starts a NEW message.
24
+ * - Render hook: `renderText` converts a markdown chunk to Telegram HTML
25
+ * (same `markdownToTelegramHtml` the final path uses). A render that throws
26
+ * or yields empty HTML falls back to plain text so a half-streamed code
27
+ * fence never wedges the stream.
28
+ * - Idempotent finalize: `finalize(text)` is safe to call once at turn end —
29
+ * it flushes the final text and stops the loop. After finalize the stream
30
+ * is inert.
31
+ *
32
+ * This is the streaming analogue of the reference draft-stream, brand-scrubbed
33
+ * and reduced to the `sendMessage`/`editMessageText` transport (Brigade does
34
+ * not use the experimental `sendMessageDraft` Bot API method).
35
+ */
36
+ /** Telegram's per-message / per-edit text limit. */
37
+ export const TELEGRAM_STREAM_MAX_CHARS = 4096;
38
+ /** Default minimum gap between edits (≈ 1 edit/sec, Bot API friendly). */
39
+ export const DEFAULT_THROTTLE_MS = 1000;
40
+ /** Floor on the throttle so a misconfig can't spam the API. */
41
+ const MIN_THROTTLE_MS = 250;
42
+ /**
43
+ * Split `text` so the head fits within `limit` chars, preferring (in order) a
44
+ * paragraph break, a newline, then a space, falling back to a hard cut. Returns
45
+ * `[head, rest]`; `rest` is "" when the whole text fits.
46
+ */
47
+ export function splitAtBoundary(text, limit) {
48
+ if (text.length <= limit)
49
+ return [text, ""];
50
+ const window = text.slice(0, limit);
51
+ const candidates = [window.lastIndexOf("\n\n"), window.lastIndexOf("\n"), window.lastIndexOf(" ")];
52
+ for (const idx of candidates) {
53
+ // Require the boundary to land past the half-way mark so we don't emit a
54
+ // tiny head and shove almost everything into the overflow message.
55
+ if (idx > limit * 0.5) {
56
+ return [text.slice(0, idx).trimEnd(), text.slice(idx).trimStart()];
57
+ }
58
+ }
59
+ return [text.slice(0, limit), text.slice(limit)];
60
+ }
61
+ export function createDraftStream(params) {
62
+ const throttleMs = Math.max(MIN_THROTTLE_MS, params.throttleMs ?? DEFAULT_THROTTLE_MS);
63
+ const maxChars = Math.min(TELEGRAM_STREAM_MAX_CHARS, Math.max(1, params.maxChars ?? TELEGRAM_STREAM_MAX_CHARS));
64
+ const render = params.renderText ?? ((t) => ({ text: t }));
65
+ const warn = params.warn ?? (() => { });
66
+ // Full accumulated answer text the agent has produced so far.
67
+ let pending = "";
68
+ // Text of the CURRENT (live) message that's already been delivered — used to
69
+ // skip no-op edits and to know how much of `pending` belongs to this message.
70
+ let liveDelivered = "";
71
+ // Char offset into `pending` where the current live message STARTS. Each roll
72
+ // advances this past the finalized head.
73
+ let baseOffset = 0;
74
+ const sentIds = [];
75
+ let liveId;
76
+ let done = false;
77
+ let inFlight = false;
78
+ let lastSentAt = 0;
79
+ let timer;
80
+ const clearTimer = () => {
81
+ if (timer) {
82
+ clearTimeout(timer);
83
+ timer = undefined;
84
+ }
85
+ };
86
+ /** The slice of `pending` that belongs to the current live message. */
87
+ const liveSlice = () => pending.slice(baseOffset);
88
+ /**
89
+ * Deliver the current live slice: send a placeholder on first content, edit
90
+ * thereafter, and roll to a new message when the slice exceeds `maxChars`.
91
+ * Re-entrancy guarded by `inFlight` so overlapping flushes serialize.
92
+ */
93
+ const deliver = async (isFinal) => {
94
+ if (done && !isFinal)
95
+ return;
96
+ if (inFlight)
97
+ return;
98
+ if (!liveSlice().trim())
99
+ return;
100
+ inFlight = true;
101
+ try {
102
+ // Roll: finalize the current message at a boundary, start a new one for
103
+ // the overflow. Loop because a very long burst can overflow twice.
104
+ // We work against the UNTRIMMED live slice so `baseOffset` advances by
105
+ // the exact number of `pending` chars consumed (including the boundary
106
+ // whitespace `splitAtBoundary` drops), keeping the next message aligned.
107
+ let rawSlice = liveSlice();
108
+ while (rawSlice.trimEnd().length > maxChars) {
109
+ const [head] = splitAtBoundary(rawSlice.trimEnd(), maxChars);
110
+ await deliverOne(head);
111
+ // Advance past everything up to and including the boundary: find where
112
+ // the trimmed head ends in the raw slice, then skip following
113
+ // whitespace so the next message starts on real content.
114
+ const headEnd = rawSlice.indexOf(head) + head.length;
115
+ let advance = headEnd;
116
+ while (advance < rawSlice.length && /\s/.test(rawSlice[advance] ?? ""))
117
+ advance++;
118
+ baseOffset += advance;
119
+ liveDelivered = "";
120
+ liveId = undefined;
121
+ rawSlice = liveSlice();
122
+ }
123
+ const slice = rawSlice.trimEnd();
124
+ if (slice && (slice !== liveDelivered || isFinal)) {
125
+ await deliverOne(slice);
126
+ }
127
+ lastSentAt = Date.now();
128
+ }
129
+ finally {
130
+ inFlight = false;
131
+ }
132
+ };
133
+ /** Send-or-edit a single message body (≤ maxChars). */
134
+ const deliverOne = async (body) => {
135
+ let rendered;
136
+ try {
137
+ rendered = render(body);
138
+ if (!rendered.text.trim())
139
+ rendered = { text: body };
140
+ }
141
+ catch {
142
+ rendered = { text: body };
143
+ }
144
+ // A render can inflate length (HTML entities/tags); guard the hard cap.
145
+ if (rendered.text.length > TELEGRAM_STREAM_MAX_CHARS) {
146
+ rendered = { text: body.slice(0, maxChars) };
147
+ }
148
+ try {
149
+ if (typeof liveId === "number") {
150
+ if (rendered.text === liveDelivered)
151
+ return;
152
+ await params.transport.editMessageText(liveId, rendered.text, {
153
+ ...(rendered.parseMode ? { parseMode: rendered.parseMode } : {}),
154
+ });
155
+ }
156
+ else {
157
+ const sent = await params.transport.sendMessage(rendered.text, {
158
+ ...(rendered.parseMode ? { parseMode: rendered.parseMode } : {}),
159
+ ...(params.threadId !== undefined ? { threadId: params.threadId } : {}),
160
+ });
161
+ liveId = sent.messageId;
162
+ sentIds.push(sent.messageId);
163
+ }
164
+ liveDelivered = rendered.text;
165
+ }
166
+ catch (err) {
167
+ // A parse / edit failure must never wedge the turn — the final-only
168
+ // fallback in the pipeline still delivers the complete reply.
169
+ warn(`telegram stream deliver failed: ${err instanceof Error ? err.message : String(err)}`);
170
+ }
171
+ };
172
+ /** Schedule a throttled flush if one isn't already pending. */
173
+ const scheduleFlush = () => {
174
+ if (done || timer || inFlight)
175
+ return;
176
+ const elapsed = Date.now() - lastSentAt;
177
+ const wait = elapsed >= throttleMs ? 0 : throttleMs - elapsed;
178
+ timer = setTimeout(() => {
179
+ timer = undefined;
180
+ void deliver(false);
181
+ }, wait);
182
+ };
183
+ return {
184
+ update(fullText) {
185
+ if (done)
186
+ return;
187
+ if (typeof fullText !== "string")
188
+ return;
189
+ pending = fullText;
190
+ scheduleFlush();
191
+ },
192
+ async flush() {
193
+ if (done)
194
+ return;
195
+ clearTimer();
196
+ await deliver(false);
197
+ },
198
+ async finalize(fullText) {
199
+ if (done) {
200
+ return;
201
+ }
202
+ clearTimer();
203
+ if (typeof fullText === "string")
204
+ pending = fullText;
205
+ // Drain: deliver until the live slice is fully sent (handles a final
206
+ // burst that rolls into one or more new messages).
207
+ await deliver(true);
208
+ done = true;
209
+ },
210
+ stop() {
211
+ clearTimer();
212
+ done = true;
213
+ },
214
+ messageIds() {
215
+ return [...sentIds];
216
+ },
217
+ isDone() {
218
+ return done;
219
+ },
220
+ };
221
+ }
222
+ //# sourceMappingURL=draft-stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draft-stream.js","sourceRoot":"","sources":["../../../../src/agents/channels/telegram/draft-stream.ts"],"names":[],"mappings":"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"}
@@ -45,4 +45,21 @@ export declare function markdownToTelegramHtml(markdown: string): string;
45
45
  * `telegramHtmlIsEmpty` intent: strip tags + entities, check for any non-space.
46
46
  */
47
47
  export declare function telegramHtmlIsEmpty(html: string): boolean;
48
+ /** Telegram's hard limit on a media caption (UTF-16 code units). */
49
+ export declare const TELEGRAM_CAPTION_LIMIT = 1024;
50
+ /**
51
+ * Split an over-long media caption into the part that rides along WITH the media
52
+ * (≤1024 chars — Telegram's hard `caption` limit) and the remainder to deliver
53
+ * as a follow-up text message. A caption longer than 1024 otherwise fails the
54
+ * whole media send with a 400, so the overflow is preserved instead of dropped.
55
+ *
56
+ * Prefers to break at the last paragraph / line / space boundary in the back
57
+ * half of the window so a word or sentence isn't sliced mid-token; falls back to
58
+ * a hard cut at the limit when no boundary is available. Plain-text only (the
59
+ * caption carries no `parse_mode`), so there are no HTML entities to straddle.
60
+ */
61
+ export declare function splitTelegramCaption(caption: string, limit?: number): {
62
+ head: string;
63
+ rest: string;
64
+ };
48
65
  //# sourceMappingURL=format.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../../src/agents/channels/telegram/format.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD;AA+HD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA+E/D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAUzD"}
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../../src/agents/channels/telegram/format.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD;AA+HD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA+E/D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAUzD;AAED,oEAAoE;AACpE,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CACnC,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,MAA+B,GACpC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAmBhC"}
@@ -253,4 +253,40 @@ export function telegramHtmlIsEmpty(html) {
253
253
  .replace(/&quot;/g, '"');
254
254
  return decoded.trim().length === 0;
255
255
  }
256
+ /** Telegram's hard limit on a media caption (UTF-16 code units). */
257
+ export const TELEGRAM_CAPTION_LIMIT = 1024;
258
+ /**
259
+ * Split an over-long media caption into the part that rides along WITH the media
260
+ * (≤1024 chars — Telegram's hard `caption` limit) and the remainder to deliver
261
+ * as a follow-up text message. A caption longer than 1024 otherwise fails the
262
+ * whole media send with a 400, so the overflow is preserved instead of dropped.
263
+ *
264
+ * Prefers to break at the last paragraph / line / space boundary in the back
265
+ * half of the window so a word or sentence isn't sliced mid-token; falls back to
266
+ * a hard cut at the limit when no boundary is available. Plain-text only (the
267
+ * caption carries no `parse_mode`), so there are no HTML entities to straddle.
268
+ */
269
+ export function splitTelegramCaption(caption, limit = TELEGRAM_CAPTION_LIMIT) {
270
+ if (caption.length <= limit)
271
+ return { head: caption, rest: "" };
272
+ const window = caption.slice(0, limit);
273
+ let cut = -1;
274
+ for (const sep of ["\n\n", "\n", " "]) {
275
+ const idx = window.lastIndexOf(sep);
276
+ // Only honour a boundary in the back half — a break near the start would
277
+ // strand most of the caption in the follow-up message.
278
+ if (idx > limit / 2) {
279
+ cut = idx;
280
+ break;
281
+ }
282
+ }
283
+ if (cut === -1)
284
+ cut = limit; // no usable boundary — hard cut at the limit
285
+ const head = caption.slice(0, cut).replace(/\s+$/, "");
286
+ const rest = caption.slice(cut).replace(/^\s+/, "");
287
+ // Defensive: an all-whitespace prefix could empty the head — hard-slice then.
288
+ if (!head)
289
+ return { head: caption.slice(0, limit), rest: caption.slice(limit) };
290
+ return { head, rest };
291
+ }
256
292
  //# sourceMappingURL=format.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../../../src/agents/channels/telegram/format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../../../src/agents/channels/telegram/format.ts"],"names":[],"mappings":"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"}