@spinabot/brigade 1.3.2 → 1.4.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 (225) hide show
  1. package/README.md +54 -10
  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 +178 -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 +108 -1
  74. package/dist/agents/channels/telegram/connection.d.ts.map +1 -1
  75. package/dist/agents/channels/telegram/connection.js +219 -3
  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/inbound-extras.d.ts +10 -1
  82. package/dist/agents/channels/telegram/inbound-extras.d.ts.map +1 -1
  83. package/dist/agents/channels/telegram/inbound-extras.js +66 -0
  84. package/dist/agents/channels/telegram/inbound-extras.js.map +1 -1
  85. package/dist/agents/channels/telegram/inline-keyboard.d.ts +36 -0
  86. package/dist/agents/channels/telegram/inline-keyboard.d.ts.map +1 -0
  87. package/dist/agents/channels/telegram/inline-keyboard.js +62 -0
  88. package/dist/agents/channels/telegram/inline-keyboard.js.map +1 -0
  89. package/dist/agents/channels/telegram/plugin.d.ts.map +1 -1
  90. package/dist/agents/channels/telegram/plugin.js +7 -11
  91. package/dist/agents/channels/telegram/plugin.js.map +1 -1
  92. package/dist/agents/channels/telegram/reasoning-lane.d.ts +41 -0
  93. package/dist/agents/channels/telegram/reasoning-lane.d.ts.map +1 -0
  94. package/dist/agents/channels/telegram/reasoning-lane.js +67 -0
  95. package/dist/agents/channels/telegram/reasoning-lane.js.map +1 -0
  96. package/dist/agents/channels/telegram/socks-dispatcher.d.ts +32 -0
  97. package/dist/agents/channels/telegram/socks-dispatcher.d.ts.map +1 -0
  98. package/dist/agents/channels/telegram/socks-dispatcher.js +97 -0
  99. package/dist/agents/channels/telegram/socks-dispatcher.js.map +1 -0
  100. package/dist/agents/channels/types.adapters.d.ts +137 -4
  101. package/dist/agents/channels/types.adapters.d.ts.map +1 -1
  102. package/dist/agents/channels/types.adapters.js +2 -2
  103. package/dist/agents/channels/types.core.d.ts +26 -2
  104. package/dist/agents/channels/types.core.d.ts.map +1 -1
  105. package/dist/agents/channels/types.plugin.d.ts +25 -7
  106. package/dist/agents/channels/types.plugin.d.ts.map +1 -1
  107. package/dist/agents/channels/types.plugin.js +6 -5
  108. package/dist/agents/channels/types.plugin.js.map +1 -1
  109. package/dist/agents/channels/whatsapp/adapter.d.ts +8 -0
  110. package/dist/agents/channels/whatsapp/adapter.d.ts.map +1 -1
  111. package/dist/agents/channels/whatsapp/adapter.js +7 -4
  112. package/dist/agents/channels/whatsapp/adapter.js.map +1 -1
  113. package/dist/agents/channels/whatsapp/connection.d.ts +24 -2
  114. package/dist/agents/channels/whatsapp/connection.d.ts.map +1 -1
  115. package/dist/agents/channels/whatsapp/connection.js +26 -5
  116. package/dist/agents/channels/whatsapp/connection.js.map +1 -1
  117. package/dist/agents/channels/whatsapp/plugin.d.ts.map +1 -1
  118. package/dist/agents/channels/whatsapp/plugin.js +6 -10
  119. package/dist/agents/channels/whatsapp/plugin.js.map +1 -1
  120. package/dist/agents/extensions/activation-planner.d.ts +125 -0
  121. package/dist/agents/extensions/activation-planner.d.ts.map +1 -0
  122. package/dist/agents/extensions/activation-planner.js +221 -0
  123. package/dist/agents/extensions/activation-planner.js.map +1 -0
  124. package/dist/agents/extensions/diagnose.d.ts +84 -0
  125. package/dist/agents/extensions/diagnose.d.ts.map +1 -0
  126. package/dist/agents/extensions/diagnose.js +123 -0
  127. package/dist/agents/extensions/diagnose.js.map +1 -0
  128. package/dist/agents/extensions/discovery.d.ts +85 -7
  129. package/dist/agents/extensions/discovery.d.ts.map +1 -1
  130. package/dist/agents/extensions/discovery.js +200 -15
  131. package/dist/agents/extensions/discovery.js.map +1 -1
  132. package/dist/agents/extensions/index.d.ts +3 -2
  133. package/dist/agents/extensions/index.d.ts.map +1 -1
  134. package/dist/agents/extensions/index.js +3 -2
  135. package/dist/agents/extensions/index.js.map +1 -1
  136. package/dist/agents/extensions/install-scan.d.ts +63 -0
  137. package/dist/agents/extensions/install-scan.d.ts.map +1 -0
  138. package/dist/agents/extensions/install-scan.js +201 -0
  139. package/dist/agents/extensions/install-scan.js.map +1 -0
  140. package/dist/agents/extensions/install.d.ts +135 -0
  141. package/dist/agents/extensions/install.d.ts.map +1 -0
  142. package/dist/agents/extensions/install.js +414 -0
  143. package/dist/agents/extensions/install.js.map +1 -0
  144. package/dist/agents/extensions/loader.d.ts +13 -2
  145. package/dist/agents/extensions/loader.d.ts.map +1 -1
  146. package/dist/agents/extensions/loader.js +126 -13
  147. package/dist/agents/extensions/loader.js.map +1 -1
  148. package/dist/agents/extensions/registry.d.ts +109 -0
  149. package/dist/agents/extensions/registry.d.ts.map +1 -1
  150. package/dist/agents/extensions/registry.js +172 -0
  151. package/dist/agents/extensions/registry.js.map +1 -1
  152. package/dist/agents/extensions/sdk-alias.d.ts +45 -0
  153. package/dist/agents/extensions/sdk-alias.d.ts.map +1 -0
  154. package/dist/agents/extensions/sdk-alias.js +94 -0
  155. package/dist/agents/extensions/sdk-alias.js.map +1 -0
  156. package/dist/agents/extensions/types.d.ts +155 -1
  157. package/dist/agents/extensions/types.d.ts.map +1 -1
  158. package/dist/agents/extensions/types.js.map +1 -1
  159. package/dist/agents/tools/composio-tool.d.ts +9 -1
  160. package/dist/agents/tools/composio-tool.d.ts.map +1 -1
  161. package/dist/agents/tools/composio-tool.js +68 -4
  162. package/dist/agents/tools/composio-tool.js.map +1 -1
  163. package/dist/agents/tools/message-action-tool.d.ts +6 -1
  164. package/dist/agents/tools/message-action-tool.d.ts.map +1 -1
  165. package/dist/agents/tools/message-action-tool.js +52 -2
  166. package/dist/agents/tools/message-action-tool.js.map +1 -1
  167. package/dist/agents/tools/send-message-tool.d.ts +1 -0
  168. package/dist/agents/tools/send-message-tool.d.ts.map +1 -1
  169. package/dist/agents/tools/send-message-tool.js +56 -1
  170. package/dist/agents/tools/send-message-tool.js.map +1 -1
  171. package/dist/buildstamp.json +1 -1
  172. package/dist/channel-sdk.d.ts +28 -0
  173. package/dist/channel-sdk.d.ts.map +1 -0
  174. package/dist/channel-sdk.js +28 -0
  175. package/dist/channel-sdk.js.map +1 -0
  176. package/dist/cli/commands/channels.d.ts.map +1 -1
  177. package/dist/cli/commands/channels.js +8 -8
  178. package/dist/cli/commands/channels.js.map +1 -1
  179. package/dist/cli/commands/connect.d.ts +8 -11
  180. package/dist/cli/commands/connect.d.ts.map +1 -1
  181. package/dist/cli/commands/connect.js +157 -17
  182. package/dist/cli/commands/connect.js.map +1 -1
  183. package/dist/cli/commands/doctor.d.ts.map +1 -1
  184. package/dist/cli/commands/doctor.js +64 -0
  185. package/dist/cli/commands/doctor.js.map +1 -1
  186. package/dist/cli/commands/extensions.d.ts +46 -0
  187. package/dist/cli/commands/extensions.d.ts.map +1 -0
  188. package/dist/cli/commands/extensions.js +578 -0
  189. package/dist/cli/commands/extensions.js.map +1 -0
  190. package/dist/cli/commands/pairing.d.ts.map +1 -1
  191. package/dist/cli/commands/pairing.js +16 -2
  192. package/dist/cli/commands/pairing.js.map +1 -1
  193. package/dist/cli/commands/update.d.ts +17 -0
  194. package/dist/cli/commands/update.d.ts.map +1 -0
  195. package/dist/cli/commands/update.js +104 -0
  196. package/dist/cli/commands/update.js.map +1 -0
  197. package/dist/cli/program/build-program.d.ts.map +1 -1
  198. package/dist/cli/program/build-program.js +113 -0
  199. package/dist/cli/program/build-program.js.map +1 -1
  200. package/dist/config/paths.d.ts +1 -0
  201. package/dist/config/paths.d.ts.map +1 -1
  202. package/dist/config/paths.js +9 -0
  203. package/dist/config/paths.js.map +1 -1
  204. package/dist/core/server.d.ts.map +1 -1
  205. package/dist/core/server.js +134 -2
  206. package/dist/core/server.js.map +1 -1
  207. package/dist/protocol.d.ts +25 -0
  208. package/dist/protocol.d.ts.map +1 -1
  209. package/dist/protocol.js.map +1 -1
  210. package/dist/system-prompt/assembler.d.ts.map +1 -1
  211. package/dist/system-prompt/assembler.js +17 -0
  212. package/dist/system-prompt/assembler.js.map +1 -1
  213. package/dist/system-prompt/identity-defaults.d.ts +28 -0
  214. package/dist/system-prompt/identity-defaults.d.ts.map +1 -1
  215. package/dist/system-prompt/identity-defaults.js +47 -0
  216. package/dist/system-prompt/identity-defaults.js.map +1 -1
  217. package/dist/ui/editor.d.ts.map +1 -1
  218. package/dist/ui/editor.js +1 -0
  219. package/dist/ui/editor.js.map +1 -1
  220. package/dist/version.d.ts +4 -3
  221. package/dist/version.d.ts.map +1 -1
  222. package/dist/version.js +27 -5
  223. package/dist/version.js.map +1 -1
  224. package/package.json +21 -4
  225. package/scripts/build-done.mjs +11 -2
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Telegram reasoning-lane split (OPTIONAL, default OFF).
3
+ *
4
+ * Brigade strips `<think>…</think>` reasoning from every channel reply via the
5
+ * shared `sanitizeReplyForChannel` — recipients see only the final answer. For
6
+ * Telegram an operator can OPT IN (config `channels.telegram.surfaceReasoning:
7
+ * true`) to ALSO receive the reasoning trace as a separate, prefixed message.
8
+ *
9
+ * This module is the pure splitter: given the raw agent reply, it returns
10
+ * `{ reasoningText?, answerText }`. When surfacing is OFF the pipeline never
11
+ * calls this and behavior is byte-identical to today (strip + send answer).
12
+ * When ON, the pipeline sends `reasoningText` first (a `🧠 Reasoning:` block)
13
+ * then the normal sanitized answer.
14
+ *
15
+ * The answer half is computed with the SAME sanitizer the default path uses, so
16
+ * enabling reasoning never changes what the answer message contains — it only
17
+ * ADDS the reasoning message in front.
18
+ *
19
+ * Pure / deterministic / dependency-light (re-uses `sanitizeReplyForChannel`).
20
+ */
21
+ import { sanitizeReplyForChannel } from "../reply-sanitizer.js";
22
+ /** Prefix on the reasoning message so the recipient knows it's the trace. */
23
+ export const REASONING_PREFIX = "🧠 Reasoning:\n";
24
+ /** Matches a `<think>`/`<thinking>`/`<thought>` open/close tag. */
25
+ const THINK_TAG_RE = /<\s*(\/?)\s*(?:think(?:ing)?|thought)\b[^<>]*>/gi;
26
+ /**
27
+ * Extract the concatenated text INSIDE `<think>…</think>` blocks. Handles
28
+ * multiple blocks and an unclosed trailing block (model truncated mid-thought).
29
+ * Returns "" when there's no reasoning content.
30
+ */
31
+ export function extractReasoning(text) {
32
+ if (!text)
33
+ return "";
34
+ const parts = [];
35
+ let inThink = false;
36
+ let lastIndex = 0;
37
+ THINK_TAG_RE.lastIndex = 0;
38
+ for (const match of text.matchAll(THINK_TAG_RE)) {
39
+ const idx = match.index ?? 0;
40
+ const isClose = match[1] === "/";
41
+ if (inThink && isClose) {
42
+ parts.push(text.slice(lastIndex, idx));
43
+ inThink = false;
44
+ }
45
+ else if (!inThink && !isClose) {
46
+ inThink = true;
47
+ lastIndex = idx + match[0].length;
48
+ }
49
+ }
50
+ // Unclosed trailing block — keep what the model emitted.
51
+ if (inThink)
52
+ parts.push(text.slice(lastIndex));
53
+ return parts.join("\n").trim();
54
+ }
55
+ /**
56
+ * Split a raw agent reply into an optional reasoning message + the sanitized
57
+ * answer. The answer is identical to `sanitizeReplyForChannel(raw)`; the
58
+ * reasoning is only populated when a `<think>` block carried content.
59
+ */
60
+ export function splitTelegramReasoning(raw) {
61
+ const answerText = sanitizeReplyForChannel(raw ?? "");
62
+ const reasoning = extractReasoning(raw ?? "");
63
+ if (!reasoning)
64
+ return { answerText };
65
+ return { reasoningText: `${REASONING_PREFIX}${reasoning}`, answerText };
66
+ }
67
+ //# sourceMappingURL=reasoning-lane.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoning-lane.js","sourceRoot":"","sources":["../../../../src/agents/channels/telegram/reasoning-lane.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,6EAA6E;AAC7E,MAAM,CAAC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAElD,mEAAmE;AACnE,MAAM,YAAY,GAAG,kDAAkD,CAAC;AASxE;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC5C,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACjD,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;QACjC,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;YACvC,OAAO,GAAG,KAAK,CAAC;QACjB,CAAC;aAAM,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,OAAO,GAAG,IAAI,CAAC;YACf,SAAS,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACnC,CAAC;IACF,CAAC;IACD,yDAAyD;IACzD,IAAI,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAW;IACjD,MAAM,UAAU,GAAG,uBAAuB,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IACtC,OAAO,EAAE,aAAa,EAAE,GAAG,gBAAgB,GAAG,SAAS,EAAE,EAAE,UAAU,EAAE,CAAC;AACzE,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * SOCKS proxy dispatcher for grammY's undici-fetch transport.
3
+ *
4
+ * grammY drives every Telegram API call through Node's global `fetch` (undici),
5
+ * which honours a `dispatcher` handed via `client.baseFetchConfig.dispatcher`.
6
+ * undici's own `ProxyAgent` speaks ONLY HTTP CONNECT, so it cannot tunnel a
7
+ * `socks://` / `socks5://` proxy. To support SOCKS we build a plain undici
8
+ * `Agent` whose `connect` hook opens the TCP socket through the SOCKS proxy
9
+ * (via the `socks` package) and then — for `https:` origins like
10
+ * `api.telegram.org` — hands the raw socket to undici's TLS connector so the
11
+ * handshake runs over the tunnel. This is the canonical "undici Agent + custom
12
+ * connect" path and the dispatcher it returns is a drop-in for the HTTP(S)
13
+ * `ProxyAgent` the direct path already uses.
14
+ *
15
+ * Ported from the reference Telegram proxy handling (its `makeProxyFetch`
16
+ * collapses to the same SOCKS-aware connector underneath); only brand tokens
17
+ * were scrubbed and the seam was reshaped to Brigade's lazy-import discipline.
18
+ */
19
+ /** True when a proxy URL scheme names a SOCKS proxy (the ProxyAgent can't tunnel it). */
20
+ export declare function isSocksProxyScheme(scheme: string | undefined): boolean;
21
+ /**
22
+ * Build an undici dispatcher that tunnels through a SOCKS proxy. Lazy-imports
23
+ * `undici` + `socks` (both heavy, only needed when a SOCKS proxy is configured)
24
+ * so a non-proxy boot never pays for them. The returned object is an undici
25
+ * `Agent` — `grammY` accepts it as `client.baseFetchConfig.dispatcher` exactly
26
+ * like the HTTP(S) `ProxyAgent`.
27
+ *
28
+ * @throws if the proxy URL is malformed or the modules can't be loaded — the
29
+ * caller logs + falls back to a direct connection.
30
+ */
31
+ export declare function buildSocksDispatcher(proxyUrl: string): Promise<unknown>;
32
+ //# sourceMappingURL=socks-dispatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socks-dispatcher.d.ts","sourceRoot":"","sources":["../../../../src/agents/channels/telegram/socks-dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAmBH,yFAAyF;AACzF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAItE;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAyD7E"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * SOCKS proxy dispatcher for grammY's undici-fetch transport.
3
+ *
4
+ * grammY drives every Telegram API call through Node's global `fetch` (undici),
5
+ * which honours a `dispatcher` handed via `client.baseFetchConfig.dispatcher`.
6
+ * undici's own `ProxyAgent` speaks ONLY HTTP CONNECT, so it cannot tunnel a
7
+ * `socks://` / `socks5://` proxy. To support SOCKS we build a plain undici
8
+ * `Agent` whose `connect` hook opens the TCP socket through the SOCKS proxy
9
+ * (via the `socks` package) and then — for `https:` origins like
10
+ * `api.telegram.org` — hands the raw socket to undici's TLS connector so the
11
+ * handshake runs over the tunnel. This is the canonical "undici Agent + custom
12
+ * connect" path and the dispatcher it returns is a drop-in for the HTTP(S)
13
+ * `ProxyAgent` the direct path already uses.
14
+ *
15
+ * Ported from the reference Telegram proxy handling (its `makeProxyFetch`
16
+ * collapses to the same SOCKS-aware connector underneath); only brand tokens
17
+ * were scrubbed and the seam was reshaped to Brigade's lazy-import discipline.
18
+ */
19
+ /** Map a `socks*` URL scheme to the numeric type the `socks` package expects. */
20
+ function socksTypeForScheme(scheme) {
21
+ switch (scheme.toLowerCase()) {
22
+ case "socks4":
23
+ case "socks4a":
24
+ return 4;
25
+ // socks / socks5 / socks5h all negotiate v5 (the `h` variant just means
26
+ // "resolve DNS proxy-side", which is the default for our connect path
27
+ // since we hand the hostname straight to the proxy).
28
+ default:
29
+ return 5;
30
+ }
31
+ }
32
+ /** True when a proxy URL scheme names a SOCKS proxy (the ProxyAgent can't tunnel it). */
33
+ export function isSocksProxyScheme(scheme) {
34
+ if (!scheme)
35
+ return false;
36
+ const s = scheme.toLowerCase();
37
+ return s === "socks" || s === "socks4" || s === "socks4a" || s === "socks5" || s === "socks5h";
38
+ }
39
+ /**
40
+ * Build an undici dispatcher that tunnels through a SOCKS proxy. Lazy-imports
41
+ * `undici` + `socks` (both heavy, only needed when a SOCKS proxy is configured)
42
+ * so a non-proxy boot never pays for them. The returned object is an undici
43
+ * `Agent` — `grammY` accepts it as `client.baseFetchConfig.dispatcher` exactly
44
+ * like the HTTP(S) `ProxyAgent`.
45
+ *
46
+ * @throws if the proxy URL is malformed or the modules can't be loaded — the
47
+ * caller logs + falls back to a direct connection.
48
+ */
49
+ export async function buildSocksDispatcher(proxyUrl) {
50
+ const url = new URL(proxyUrl); // throws on a malformed URL → caller catches
51
+ const { Agent, buildConnector } = await import("undici");
52
+ const { SocksClient } = await import("socks");
53
+ const type = socksTypeForScheme(url.protocol.replace(/:$/, ""));
54
+ const socksProxy = {
55
+ host: url.hostname,
56
+ port: Number(url.port) || 1080,
57
+ type,
58
+ ...(url.username ? { userId: decodeURIComponent(url.username) } : {}),
59
+ ...(url.password ? { password: decodeURIComponent(url.password) } : {}),
60
+ };
61
+ // undici's TLS connector — reused to wrap the SOCKS socket for https origins.
62
+ const tlsConnect = buildConnector({});
63
+ // undici's `connect` hook: (opts, callback) where callback is (err, socket).
64
+ // We type it loosely (the exact `Dispatcher.connector` shape isn't exported in
65
+ // a convenient form) and cast on the way into `Agent`.
66
+ const connect = (opts, callback) => {
67
+ const isTls = opts.protocol === "https:";
68
+ const destPort = Number(opts.port) || (isTls ? 443 : 80);
69
+ void SocksClient.createConnection({
70
+ proxy: socksProxy,
71
+ command: "connect",
72
+ destination: { host: opts.hostname, port: destPort },
73
+ })
74
+ .then(({ socket }) => {
75
+ if (!isTls) {
76
+ socket.setNoDelay?.(true);
77
+ callback(null, socket);
78
+ return;
79
+ }
80
+ // Upgrade the raw tunnel to TLS (api.telegram.org is https). undici's
81
+ // connector performs the handshake over the supplied `httpSocket`.
82
+ tlsConnect({
83
+ hostname: opts.hostname,
84
+ host: opts.hostname,
85
+ port: destPort,
86
+ protocol: "https:",
87
+ servername: opts.servername ?? opts.hostname,
88
+ httpSocket: socket,
89
+ }, callback);
90
+ })
91
+ .catch((err) => {
92
+ callback(err instanceof Error ? err : new Error(String(err)), null);
93
+ });
94
+ };
95
+ return new Agent({ connect: connect });
96
+ }
97
+ //# sourceMappingURL=socks-dispatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socks-dispatcher.js","sourceRoot":"","sources":["../../../../src/agents/channels/telegram/socks-dispatcher.ts"],"names":[],"mappings":"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"}
@@ -20,8 +20,8 @@
20
20
  * 5. `ChannelLifecycleAdapter` — config-change / removal hooks.
21
21
  * 6. `ChannelStatusAdapter<R,P,A>` — probe + snapshot for `brigade
22
22
  * status` UX.
23
- * 7. `ChannelMessageActionAdapter` — handleAction (reply, react, edit,
24
- * delete tool dispatch).
23
+ * 7. `ChannelMessageActionAdapter` — DEAD SLOT (not consumed); message
24
+ * actions flow through the runtime `ChannelAdapter.handleAction` instead.
25
25
  * 8. `ChannelSecretsAdapter` — secret-target registry entries.
26
26
  *
27
27
  * Every adapter is OPTIONAL on the `ChannelPlugin` slot list — a channel
@@ -57,8 +57,26 @@ export type ChannelSecurityContext<ResolvedAccount = unknown> = {
57
57
  peerId?: string;
58
58
  peerKind?: string;
59
59
  };
60
- /** Result of `security.resolveDmPolicy`. */
61
- export type ChannelSecurityDmPolicy = "owner" | "allow-from" | "all";
60
+ /**
61
+ * Result of `security.resolveDmPolicy` the AUTHOR-FACING DM-policy vocabulary
62
+ * ("who may DM this account"), distinct from the pipeline's engine vocabulary
63
+ * (`DmPolicy` = "pairing" | "allowlist" | "open" | "disabled"). The two are
64
+ * reconciled by `channel-security-registry.ts`, which owns the ONE total mapping
65
+ * and the strict TIGHTEN-ONLY precedence rule. The values ride a tightness
66
+ * ladder (loosest → tightest):
67
+ *
68
+ * - `"all"` — anyone may DM (⇄ pipeline `open`).
69
+ * - `"allow-from"` — only listed senders (⇄ pipeline `allowlist`).
70
+ * - `"owner"` — owner + approved only; (⇄ pipeline `pairing`) — strangers
71
+ * are challenged, i.e. owner-gated.
72
+ * - `"disabled"` — every DM dropped (⇄ pipeline `disabled`).
73
+ *
74
+ * `"disabled"` was added so a security adapter CAN express the tightest lockdown
75
+ * (without it, an adapter literally could not tighten to the most-restrictive
76
+ * state — a real gap). A channel that takes no opinion returns `null`, leaving
77
+ * the central policy untouched.
78
+ */
79
+ export type ChannelSecurityDmPolicy = "owner" | "allow-from" | "all" | "disabled";
62
80
  /**
63
81
  * Wraps a function reference so TypeScript treats the function-typed
64
82
  * field as bivariant. Channel plugins occasionally need a narrower
@@ -104,6 +122,19 @@ export type ChannelConfigAdapter<ResolvedAccount = unknown> = {
104
122
  cfg: BrigadeConfig;
105
123
  accountId?: string | null;
106
124
  }) => Array<string | number> | undefined;
125
+ /**
126
+ * OPTIONAL display override for the allow-from list. The `/allowlist list`
127
+ * command + `brigade channels allow list` render the list through the shared
128
+ * `formatAllowFrom(entries, opts?)` helper (`access-control/format-allow-from`)
129
+ * by default; a channel that wants custom rendering (e.g. Slack resolving
130
+ * `U123` → `@alex`) implements this and returns the finished display string.
131
+ * Receives the already-resolved entries + the same options the default helper
132
+ * takes. A channel that omits this hook gets the shared default rendering.
133
+ */
134
+ formatAllowFrom?: (entries: ReadonlyArray<string | number>, opts?: {
135
+ channelLabel?: string;
136
+ emptyText?: string;
137
+ }) => string;
107
138
  /** Truthy iff at least one account is configured in `cfg`. */
108
139
  hasConfiguredState?: (params: {
109
140
  cfg: BrigadeConfig;
@@ -296,12 +327,45 @@ export type ChannelMessageAction = {
296
327
  } | {
297
328
  kind: "unpin";
298
329
  messageId: string;
330
+ }
331
+ /**
332
+ * Create a forum topic (Telegram supergroups). `name` is the topic title;
333
+ * the optional icon fields style it. The result's `messageId` carries the new
334
+ * topic's thread id so the agent can send into it.
335
+ */
336
+ | {
337
+ kind: "topic-create";
338
+ name: string;
339
+ iconColor?: number;
340
+ iconCustomEmojiId?: string;
341
+ }
342
+ /**
343
+ * Send a NEW message carrying a general inline keyboard. `text` is the message
344
+ * body; `buttons` is a grid of `{ text, data }` specs. A press posts the
345
+ * button's `data` back through the inbound pipeline as a turn (namespaced so
346
+ * it never collides with approval callbacks). The result's `messageId` is the
347
+ * sent message's id. Channels without inline buttons report it unsupported.
348
+ */
349
+ | {
350
+ kind: "buttons";
351
+ text: string;
352
+ buttons: Array<Array<{
353
+ text: string;
354
+ data: string;
355
+ }>>;
356
+ threadId?: string;
299
357
  };
300
358
  export type ChannelMessageActionResult = {
301
359
  ok: boolean;
302
360
  messageId?: string;
303
361
  error?: string;
304
362
  };
363
+ /**
364
+ * @deprecated DEAD SLOT — not read by the message-action path. Implement the
365
+ * runtime `ChannelAdapter.handleAction({ conversationId, action, accountId?,
366
+ * signal? })` instead (the `message_action` tool dispatches through THAT). See
367
+ * the block comment above.
368
+ */
305
369
  export type ChannelMessageActionAdapter = {
306
370
  handleAction?: (params: {
307
371
  cfg: BrigadeConfig;
@@ -396,4 +460,73 @@ export type ChannelApprovalCapability = {
396
460
  reason?: string;
397
461
  };
398
462
  };
463
+ /** Result of {@link ChannelMessagingAdapter.parseExplicitTarget}. */
464
+ export type ParsedExplicitTarget = {
465
+ /**
466
+ * The channel id the explicit form named, when it carried one (e.g.
467
+ * `telegram:123` → `"telegram"`). Omitted for channel-less forms like a
468
+ * bare `@handle`, where the target is implicitly the current channel.
469
+ */
470
+ channelId?: string;
471
+ /** The concrete (still un-normalized) target the explicit form addressed. */
472
+ target: string;
473
+ };
474
+ export type ChannelMessagingAdapter = {
475
+ /**
476
+ * Recognize an EXPLICIT outbound target form in free text and split it into
477
+ * an optional channel id + the bare target. Examples a channel might accept:
478
+ * - `telegram:123456` → `{ channelId: "telegram", target: "123456" }`
479
+ * - `whatsapp:+15551234`→ `{ channelId: "whatsapp", target: "+15551234" }`
480
+ * - `@handle` → `{ target: "@handle" }`
481
+ * Return `null` when the text is NOT an explicit form (a plain name, or an
482
+ * already-concrete id with no scheme) — the caller then treats the input as
483
+ * a raw target / name and continues with `normalizeTarget` (+ resolver).
484
+ */
485
+ parseExplicitTarget: (text: string) => ParsedExplicitTarget | null;
486
+ /**
487
+ * Canonicalise a target id into the channel's stable id shape (trim, drop a
488
+ * leading `@`, append a WhatsApp JID suffix, lowercase a Slack id, …). MUST
489
+ * be idempotent: `normalizeTarget(normalizeTarget(x)) === normalizeTarget(x)`.
490
+ * Receives whatever target the caller currently holds (the parsed explicit
491
+ * target, or the original `to`).
492
+ */
493
+ normalizeTarget: (raw: string) => string;
494
+ /**
495
+ * Best-effort guess of whether a (normalized) target is a 1:1 DM or a group.
496
+ * Returns `undefined` when the channel can't tell from the id alone. Purely
497
+ * advisory — the send path does not require it.
498
+ */
499
+ inferTargetChatType?: (target: string) => "dm" | "group" | undefined;
500
+ /**
501
+ * OPTIONAL contact-directory hook: resolve a human NAME or handle (e.g.
502
+ * "Alex", "@alex") to a concrete conversation/target id. A channel that has
503
+ * a contact directory implements this; a channel WITHOUT one OMITS it, and
504
+ * the send tool falls back to the raw id (no behaviour change). Return
505
+ * `null` (sync or async) when the name doesn't resolve, so the caller can
506
+ * decide whether to fall back or refuse.
507
+ */
508
+ targetResolver?: (name: string) => Promise<string | null> | string | null;
509
+ /**
510
+ * Human-readable label for a (normalized) target, for echoing back in tool
511
+ * results / logs ("Alex (telegram:123456)"). Falls back to the raw target
512
+ * when omitted.
513
+ */
514
+ formatTargetDisplay?: (target: string) => string;
515
+ /**
516
+ * OPTIONAL INBOUND hook — the inverse of {@link targetResolver}. Canonicalise
517
+ * an INCOMING peer id (the `from` an adapter put on an `InboundMessage`) to a
518
+ * STABLE conversation/session identity, so a peer that can be addressed by
519
+ * more than one handle (a name, a privacy alias, an @username vs a numeric id)
520
+ * collapses onto the SAME conversation the OUTBOUND side resolves to. The
521
+ * inbound pipeline calls this right before the route resolver.
522
+ *
523
+ * Return the canonical id, or `null`/the raw `peerId` when there's nothing to
524
+ * canonicalise — in BOTH of those cases the pipeline keeps the raw peer id, so
525
+ * a channel that omits this method (or returns the input) leaves routing
526
+ * byte-identical to today. MUST be cheap + side-effect-free (it runs on every
527
+ * inbound) and MUST NOT throw — the registry wrapper guards it, but keep it
528
+ * total anyway.
529
+ */
530
+ resolveInboundConversation?: (peerId: string) => string | null;
531
+ };
399
532
  //# sourceMappingURL=types.adapters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.adapters.d.ts","sourceRoot":"","sources":["../../../src/agents/channels/types.adapters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.adapters.d.ts","sourceRoot":"","sources":["../../../src/agents/channels/types.adapters.ts"],"names":[],"mappings":"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"}
@@ -20,8 +20,8 @@
20
20
  * 5. `ChannelLifecycleAdapter` — config-change / removal hooks.
21
21
  * 6. `ChannelStatusAdapter<R,P,A>` — probe + snapshot for `brigade
22
22
  * status` UX.
23
- * 7. `ChannelMessageActionAdapter` — handleAction (reply, react, edit,
24
- * delete tool dispatch).
23
+ * 7. `ChannelMessageActionAdapter` — DEAD SLOT (not consumed); message
24
+ * actions flow through the runtime `ChannelAdapter.handleAction` instead.
25
25
  * 8. `ChannelSecretsAdapter` — secret-target registry entries.
26
26
  *
27
27
  * Every adapter is OPTIONAL on the `ChannelPlugin` slot list — a channel
@@ -31,8 +31,32 @@
31
31
  import type { ChatType } from "./chat-type.js";
32
32
  /** Canonical, kebab-case plugin id. */
33
33
  export type ChannelId = string;
34
- /** Exposure tier — controls which setup surfaces list the channel. */
35
- export type ChannelExposure = "public" | "internal" | "experimental";
34
+ /**
35
+ * Per-surface visibility overrides for a channel.
36
+ *
37
+ * Three independent toggles — each defaults to `true` (visible) when omitted,
38
+ * so a channel that says nothing is shown everywhere:
39
+ *
40
+ * - `configured` — list this channel in "configured channels" views
41
+ * (`brigade status`, account pickers). Default-true; falls back to the
42
+ * legacy `meta.showConfigured` flag when this object key is absent.
43
+ * - `setup` — offer this channel in the onboarding / setup wizard.
44
+ * Default-true; falls back to the legacy `meta.showInSetup` flag.
45
+ * - `docs` — surface this channel in generated docs / help. Default-true.
46
+ *
47
+ * History: an earlier Brigade revision narrowed this to a string union
48
+ * (`"public" | "internal" | "experimental"`), but nothing ever consumed the
49
+ * union — it was inert. The resolver (`resolveChannelExposure`) needs
50
+ * per-surface booleans to drive `isChannelVisibleInSetup` et al., so the
51
+ * object shape is restored (matching the upstream contract the metas were
52
+ * scrubbed from). The booleans compose with the existing `showConfigured` /
53
+ * `showInSetup` meta fields rather than replacing them.
54
+ */
55
+ export type ChannelExposure = {
56
+ configured?: boolean;
57
+ setup?: boolean;
58
+ docs?: boolean;
59
+ };
36
60
  /**
37
61
  * Static capability flags advertised by a channel plugin.
38
62
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.core.d.ts","sourceRoot":"","sources":["../../../src/agents/channels/types.core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.core.d.ts","sourceRoot":"","sources":["../../../src/agents/channels/types.core.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,12 @@
2
2
  * `ChannelPlugin<R, P, A>` — the full plugin contract surface.
3
3
  *
4
4
  * Brand-scrubbed analogue of upstream's `src/channels/plugins/types.plugin.ts`.
5
- * The shape carries all 28 optional adapter slots; only the eight
6
- * lifted in `types.adapters.ts` have concrete shapes today. The
7
- * remaining slots are typed as `unknown` so a channel plugin can declare
8
- * them now and Step 16+ can tighten the types as the channel manager
9
- * fans out.
5
+ * The shape carries all 28 optional adapter slots; only the nine
6
+ * lifted in `types.adapters.ts` (the eight Step-16 adapters plus the
7
+ * OUTBOUND-addressing `messaging` adapter) have concrete shapes today.
8
+ * The remaining slots are typed as `unknown` so a channel plugin can
9
+ * declare them now and Step 16+ can tighten the types as the channel
10
+ * manager fans out.
10
11
  *
11
12
  * Generic parameters:
12
13
  *
@@ -27,7 +28,7 @@
27
28
  * called even if the dispatcher receives a reaction payload.
28
29
  */
29
30
  import type { ChannelId, ChannelMeta, ChannelCapabilities } from "./types.core.js";
30
- import type { ChannelApprovalCapability, ChannelConfigAdapter, ChannelGatewayAdapter, ChannelOutboundAdapter, ChannelSecurityAdapter, ChannelLifecycleAdapter, ChannelStatusAdapter, ChannelMessageActionAdapter, ChannelSecretsAdapter } from "./types.adapters.js";
31
+ import type { ChannelApprovalCapability, ChannelConfigAdapter, ChannelGatewayAdapter, ChannelMessagingAdapter, ChannelOutboundAdapter, ChannelSecurityAdapter, ChannelLifecycleAdapter, ChannelStatusAdapter, ChannelMessageActionAdapter, ChannelSecretsAdapter } from "./types.adapters.js";
31
32
  /** Full capability contract for a native channel plugin. */
32
33
  export type ChannelPlugin<ResolvedAccount = any, Probe = unknown, Audit = unknown> = {
33
34
  id: ChannelId;
@@ -39,10 +40,28 @@ export type ChannelPlugin<ResolvedAccount = any, Probe = unknown, Audit = unknow
39
40
  security?: ChannelSecurityAdapter<ResolvedAccount>;
40
41
  lifecycle?: ChannelLifecycleAdapter;
41
42
  status?: ChannelStatusAdapter<ResolvedAccount, Probe, Audit>;
43
+ /**
44
+ * @deprecated DEAD SLOT — NOT consumed by the message-action path. The
45
+ * `message_action` tool dispatches through the runtime
46
+ * `ChannelAdapter.handleAction({ conversationId, … })`, never through this
47
+ * `ChannelMessageActionAdapter`. Implementing this alone gives a channel NO
48
+ * message actions. Kept only so the bundled Telegram plugin's existing
49
+ * `actions` field keeps compiling; do not add it to new channels — implement
50
+ * `ChannelAdapter.handleAction` and advertise the matching `capabilities` flag.
51
+ */
42
52
  actions?: ChannelMessageActionAdapter;
43
53
  secrets?: ChannelSecretsAdapter;
44
54
  /** Channel-native approval rendering + reply decoding (Step 17). */
45
55
  approvalCapability?: ChannelApprovalCapability;
56
+ /**
57
+ * OUTBOUND addressing contract — explicit-target parse + normalize + an
58
+ * OPTIONAL name/handle → conversation-id resolver. Consumed by the
59
+ * `send_message` tool (via `channel-messaging-registry.ts`) to turn the
60
+ * agent's loose `to` ("Alex", "@alex", "telegram:123") into a concrete
61
+ * target before `ChannelAdapter.sendText`. A channel that omits this slot
62
+ * keeps today's raw-id-straight-to-sendText behaviour.
63
+ */
64
+ messaging?: ChannelMessagingAdapter;
46
65
  defaults?: {
47
66
  queue?: {
48
67
  debounceMs?: number;
@@ -68,7 +87,6 @@ export type ChannelPlugin<ResolvedAccount = any, Probe = unknown, Audit = unknow
68
87
  conversationBindings?: unknown;
69
88
  streaming?: unknown;
70
89
  threading?: unknown;
71
- messaging?: unknown;
72
90
  agentPrompt?: unknown;
73
91
  directory?: unknown;
74
92
  resolver?: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"types.plugin.d.ts","sourceRoot":"","sources":["../../../src/agents/channels/types.plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,KAAK,EACX,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,2BAA2B,EAC3B,qBAAqB,EACrB,MAAM,qBAAqB,CAAC;AAE7B,4DAA4D;AAE5D,MAAM,MAAM,aAAa,CAAC,eAAe,GAAG,GAAG,EAAE,KAAK,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO,IAAI;IAEpF,EAAE,EAAE,SAAS,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,EAAE,mBAAmB,CAAC;IAClC,MAAM,EAAE,oBAAoB,CAAC,eAAe,CAAC,CAAC;IAG9C,OAAO,CAAC,EAAE,qBAAqB,CAAC,eAAe,CAAC,CAAC;IACjD,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,QAAQ,CAAC,EAAE,sBAAsB,CAAC,eAAe,CAAC,CAAC;IACnD,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,MAAM,CAAC,EAAE,oBAAoB,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7D,OAAO,CAAC,EAAE,2BAA2B,CAAC;IACtC,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,oEAAoE;IACpE,kBAAkB,CAAC,EAAE,yBAAyB,CAAC;IAG/C,QAAQ,CAAC,EAAE;QACV,KAAK,CAAC,EAAE;YACP,UAAU,CAAC,EAAE,MAAM,CAAC;SACpB,CAAC;KACF,CAAC;IACF,MAAM,CAAC,EAAE;QAAE,cAAc,EAAE,MAAM,EAAE,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC/D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC"}
1
+ {"version":3,"file":"types.plugin.d.ts","sourceRoot":"","sources":["../../../src/agents/channels/types.plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,KAAK,EACX,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,2BAA2B,EAC3B,qBAAqB,EACrB,MAAM,qBAAqB,CAAC;AAE7B,4DAA4D;AAE5D,MAAM,MAAM,aAAa,CAAC,eAAe,GAAG,GAAG,EAAE,KAAK,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO,IAAI;IAEpF,EAAE,EAAE,SAAS,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,EAAE,mBAAmB,CAAC;IAClC,MAAM,EAAE,oBAAoB,CAAC,eAAe,CAAC,CAAC;IAG9C,OAAO,CAAC,EAAE,qBAAqB,CAAC,eAAe,CAAC,CAAC;IACjD,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,QAAQ,CAAC,EAAE,sBAAsB,CAAC,eAAe,CAAC,CAAC;IACnD,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,MAAM,CAAC,EAAE,oBAAoB,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7D;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,2BAA2B,CAAC;IACtC,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,oEAAoE;IACpE,kBAAkB,CAAC,EAAE,yBAAyB,CAAC;IAC/C;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,uBAAuB,CAAC;IAGpC,QAAQ,CAAC,EAAE;QACV,KAAK,CAAC,EAAE;YACP,UAAU,CAAC,EAAE,MAAM,CAAC;SACpB,CAAC;KACF,CAAC;IACF,MAAM,CAAC,EAAE;QAAE,cAAc,EAAE,MAAM,EAAE,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC/D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC"}
@@ -2,11 +2,12 @@
2
2
  * `ChannelPlugin<R, P, A>` — the full plugin contract surface.
3
3
  *
4
4
  * Brand-scrubbed analogue of upstream's `src/channels/plugins/types.plugin.ts`.
5
- * The shape carries all 28 optional adapter slots; only the eight
6
- * lifted in `types.adapters.ts` have concrete shapes today. The
7
- * remaining slots are typed as `unknown` so a channel plugin can declare
8
- * them now and Step 16+ can tighten the types as the channel manager
9
- * fans out.
5
+ * The shape carries all 28 optional adapter slots; only the nine
6
+ * lifted in `types.adapters.ts` (the eight Step-16 adapters plus the
7
+ * OUTBOUND-addressing `messaging` adapter) have concrete shapes today.
8
+ * The remaining slots are typed as `unknown` so a channel plugin can
9
+ * declare them now and Step 16+ can tighten the types as the channel
10
+ * manager fans out.
10
11
  *
11
12
  * Generic parameters:
12
13
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.plugin.js","sourceRoot":"","sources":["../../../src/agents/channels/types.plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG"}
1
+ {"version":3,"file":"types.plugin.js","sourceRoot":"","sources":["../../../src/agents/channels/types.plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG"}
@@ -11,12 +11,20 @@
11
11
  * so the gateway never prints a QR unless the operator opted in.
12
12
  */
13
13
  import type { ChannelAdapter } from "../../extensions/types.js";
14
+ import { type ConnectWhatsAppArgs, type WhatsAppConnection } from "./connection.js";
14
15
  /** Adapter construction options — all optional for back-compat. */
15
16
  export interface CreateWhatsAppAdapterOptions {
16
17
  /** Per-account scope (multi-account plugin path). Defaults to `"default"`. */
17
18
  accountId?: string;
18
19
  /** Override the on-disk auth directory. When omitted, derived from `accountId`. */
19
20
  authDir?: string;
21
+ /**
22
+ * TEST SEAM: override how the connection is built. Production leaves this
23
+ * undefined and `connectWhatsApp` lazy-loads Baileys. Tests inject a fake to
24
+ * drive `sendText`/quote behaviour without a live socket. Mirrors the
25
+ * Telegram adapter's `connectImpl`.
26
+ */
27
+ connectImpl?: (args: ConnectWhatsAppArgs) => Promise<WhatsAppConnection>;
20
28
  }
21
29
  export declare function createWhatsAppAdapter(opts?: CreateWhatsAppAdapterOptions): ChannelAdapter;
22
30
  //# sourceMappingURL=adapter.d.ts.map