@spinabot/brigade 1.3.1 → 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 (231) 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/gateway.d.ts.map +1 -1
  191. package/dist/cli/commands/gateway.js +6 -0
  192. package/dist/cli/commands/gateway.js.map +1 -1
  193. package/dist/cli/commands/pairing.d.ts.map +1 -1
  194. package/dist/cli/commands/pairing.js +16 -2
  195. package/dist/cli/commands/pairing.js.map +1 -1
  196. package/dist/cli/commands/update.d.ts +17 -0
  197. package/dist/cli/commands/update.d.ts.map +1 -0
  198. package/dist/cli/commands/update.js +104 -0
  199. package/dist/cli/commands/update.js.map +1 -0
  200. package/dist/cli/program/build-program.d.ts.map +1 -1
  201. package/dist/cli/program/build-program.js +113 -0
  202. package/dist/cli/program/build-program.js.map +1 -1
  203. package/dist/config/paths.d.ts +1 -0
  204. package/dist/config/paths.d.ts.map +1 -1
  205. package/dist/config/paths.js +9 -0
  206. package/dist/config/paths.js.map +1 -1
  207. package/dist/core/gateway-probe.d.ts.map +1 -1
  208. package/dist/core/gateway-probe.js +9 -1
  209. package/dist/core/gateway-probe.js.map +1 -1
  210. package/dist/core/server.d.ts.map +1 -1
  211. package/dist/core/server.js +134 -2
  212. package/dist/core/server.js.map +1 -1
  213. package/dist/protocol.d.ts +25 -0
  214. package/dist/protocol.d.ts.map +1 -1
  215. package/dist/protocol.js.map +1 -1
  216. package/dist/system-prompt/assembler.d.ts.map +1 -1
  217. package/dist/system-prompt/assembler.js +17 -0
  218. package/dist/system-prompt/assembler.js.map +1 -1
  219. package/dist/system-prompt/identity-defaults.d.ts +28 -0
  220. package/dist/system-prompt/identity-defaults.d.ts.map +1 -1
  221. package/dist/system-prompt/identity-defaults.js +47 -0
  222. package/dist/system-prompt/identity-defaults.js.map +1 -1
  223. package/dist/ui/editor.d.ts.map +1 -1
  224. package/dist/ui/editor.js +1 -0
  225. package/dist/ui/editor.js.map +1 -1
  226. package/dist/version.d.ts +4 -3
  227. package/dist/version.d.ts.map +1 -1
  228. package/dist/version.js +27 -5
  229. package/dist/version.js.map +1 -1
  230. package/package.json +21 -4
  231. package/scripts/build-done.mjs +11 -2
@@ -15,7 +15,7 @@ import { existsSync, readFileSync, readdirSync, rmSync, statSync } from "node:fs
15
15
  import path from "node:path";
16
16
  import readline from "node:readline/promises";
17
17
  import { BUNDLED_MODULES, loadModules } from "../../agents/extensions/index.js";
18
- import { addAllowFrom, readAllowFrom, removeAllowFrom } from "../../agents/channels/access-control/index.js";
18
+ import { addAllowFrom, formatAllowFrom, readAllowFrom, removeAllowFrom } from "../../agents/channels/access-control/index.js";
19
19
  import { DEFAULT_AGENT_ID, resolveAgentWorkspaceDir, resolveChannelStateDir } from "../../config/paths.js";
20
20
  import { loadConfig, saveConfig } from "../../core/config.js";
21
21
  import { isProcessAlive, readPid } from "../../core/gateway-probe.js";
@@ -805,13 +805,13 @@ export async function runChannelsAllowList(args, opts = {}) {
805
805
  process.stdout.write(`${JSON.stringify({ channel: chosen.adapter.id, allowFrom: allow }, null, 2)}\n`);
806
806
  return 0;
807
807
  }
808
- if (allow.length === 0) {
809
- process.stdout.write(`No senders are on ${chosen.adapter.id}'s allow-from list yet.\n`);
810
- return 0;
811
- }
812
- process.stdout.write(`${chosen.adapter.label} allow-from (${allow.length}):\n`);
813
- for (const id of allow)
814
- process.stdout.write(` ${id}\n`);
808
+ // Shared display formatter — identical rendering to the in-chat
809
+ // `/allowlist list` command (both call `formatAllowFrom`).
810
+ const rendered = formatAllowFrom(allow, {
811
+ channelLabel: chosen.adapter.label,
812
+ emptyText: `No senders are on ${chosen.adapter.id}'s allow-from list yet.`,
813
+ });
814
+ process.stdout.write(`${rendered}\n`);
815
815
  return 0;
816
816
  }
817
817
  export async function runChannelsAllowAdd(args, opts = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"channels.js","sourceRoot":"","sources":["../../../src/cli/commands/channels.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channels.js","sourceRoot":"","sources":["../../../src/cli/commands/channels.ts"],"names":[],"mappings":"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"}
@@ -8,18 +8,15 @@
8
8
  *
9
9
  * Feature parity with `brigade chat` for the common path (send a message,
10
10
  * stream the reply, see tool calls, abort with Ctrl+C, switch model, set
11
- * thinking level, compact, exit). Inline `/provider` onboarding is NOT
12
- * available from connect mode in v1 — onboarding writes to the gateway's
13
- * filesystem and is out-of-band; the user runs `brigade onboard` against
14
- * the gateway machine instead.
11
+ * thinking level, compact, exit).
15
12
  *
16
- * MAINTAINER NOTE: The footer at `wireConnectUi` deliberately OMITS
17
- * `/provider` from the slash-command list. Do NOT add it to the connect
18
- * footer "for parity with chat" connect cannot perform provider
19
- * onboarding (no gateway-side filesystem access from the TUI client), and
20
- * advertising a command we can't honour confuses users. The chat-mode
21
- * footer (in `src/ui/chat.ts`) DOES list `/provider` because in-process
22
- * chat owns the filesystem the wizard needs to write to.
13
+ * `/provider` works here too: switching among configured providers reuses the
14
+ * `set-model` RPC, and adding a new API-key provider inline routes the typed
15
+ * key to the gateway's `add-provider` RPC, which validates + persists it on
16
+ * the GATEWAY side (auth-profiles.json) and hot-refreshes the model registry.
17
+ * Because the credential write happens server-side, the TUI client never needs
18
+ * gateway-filesystem access. Subscription / local / custom providers (OAuth,
19
+ * Ollama, BYO-endpoint) still need the full `brigade onboard` wizard.
23
20
  */
24
21
  import { TUI } from "@earendil-works/pi-tui";
25
22
  import { BrigadeClient } from "../../tui/client.js";
@@ -1 +1 @@
1
- {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/connect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,OAAO,EAMN,GAAG,EACH,MAAM,wBAAwB,CAAC;AAehC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAoBpD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,WAAW,EAAE,OAAO,GAAG,IAAI,CAejF;AAED,MAAM,WAAW,qBAAqB;IACrC,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC7B,iFAAiF;IACjF,KAAK,IAAI,OAAO,CAAC;IACjB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACtC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,WAAW,EAAE,MAAM,GAAG,SAAS,GAC7B,OAAO,CAGT;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,GAAE,qBAA0B,GAAG,OAAO,CAAC,aAAa,CAAC,CAiHhG;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAClC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,aAAa,EACrB,cAAc,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,aAAa,CAAC,CAm/DxB"}
1
+ {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/connect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,OAAO,EAMN,GAAG,EACH,MAAM,wBAAwB,CAAC;AAgBhC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAoBpD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,WAAW,EAAE,OAAO,GAAG,IAAI,CAejF;AAED,MAAM,WAAW,qBAAqB;IACrC,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC7B,iFAAiF;IACjF,KAAK,IAAI,OAAO,CAAC;IACjB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACtC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,WAAW,EAAE,MAAM,GAAG,SAAS,GAC7B,OAAO,CAGT;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,GAAE,qBAA0B,GAAG,OAAO,CAAC,aAAa,CAAC,CAiHhG;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAClC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,aAAa,EACrB,cAAc,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,aAAa,CAAC,CA+sExB"}
@@ -8,22 +8,20 @@
8
8
  *
9
9
  * Feature parity with `brigade chat` for the common path (send a message,
10
10
  * stream the reply, see tool calls, abort with Ctrl+C, switch model, set
11
- * thinking level, compact, exit). Inline `/provider` onboarding is NOT
12
- * available from connect mode in v1 — onboarding writes to the gateway's
13
- * filesystem and is out-of-band; the user runs `brigade onboard` against
14
- * the gateway machine instead.
11
+ * thinking level, compact, exit).
15
12
  *
16
- * MAINTAINER NOTE: The footer at `wireConnectUi` deliberately OMITS
17
- * `/provider` from the slash-command list. Do NOT add it to the connect
18
- * footer "for parity with chat" connect cannot perform provider
19
- * onboarding (no gateway-side filesystem access from the TUI client), and
20
- * advertising a command we can't honour confuses users. The chat-mode
21
- * footer (in `src/ui/chat.ts`) DOES list `/provider` because in-process
22
- * chat owns the filesystem the wizard needs to write to.
13
+ * `/provider` works here too: switching among configured providers reuses the
14
+ * `set-model` RPC, and adding a new API-key provider inline routes the typed
15
+ * key to the gateway's `add-provider` RPC, which validates + persists it on
16
+ * the GATEWAY side (auth-profiles.json) and hot-refreshes the model registry.
17
+ * Because the credential write happens server-side, the TUI client never needs
18
+ * gateway-filesystem access. Subscription / local / custom providers (OAuth,
19
+ * Ollama, BYO-endpoint) still need the full `brigade onboard` wizard.
23
20
  */
24
21
  import process from "node:process";
25
22
  import { CancellableLoader, CombinedAutocompleteProvider, ProcessTerminal, Text, TUI, } from "@earendil-works/pi-tui";
26
23
  import { BrigadeEditor } from "../../ui/editor.js";
24
+ import { PROVIDERS, findProvider } from "../../providers/catalog.js";
27
25
  import { sanitizeTerminalInput } from "../../security/terminal-input-sanitizer.js";
28
26
  import chalk from "chalk";
29
27
  // Brigade's `Markdown` is a thin Pi-TUI subclass that normalizes `_text_`
@@ -213,6 +211,11 @@ export async function wireConnectUi(tui, client, initialAgentId) {
213
211
  // (Carrow) mid-turn model handoff: abort the live turn, swap, re-run this on the new model.
214
212
  let lastUserPrompt = "";
215
213
  let isAgentRunning = false;
214
+ // `/provider <name>` for an UNCONFIGURED provider arms this — the NEXT line
215
+ // the operator submits is captured as that provider's API key (sent to the
216
+ // gateway's `add-provider`, never echoed into the transcript or input
217
+ // history) instead of being sent as a chat prompt. Cleared on submit/cancel.
218
+ let pendingProviderEntry = null;
216
219
  // Connection-bound agent id. Defaults to the gateway's boot agent (filled
217
220
  // in from the first `state` snapshot) so legacy single-agent gateways keep
218
221
  // working unchanged. The `/agent <id>` slash command rebinds the connection
@@ -527,6 +530,18 @@ export async function wireConnectUi(tui, client, initialAgentId) {
527
530
  description: "switch to another configured model (no arg = picker)",
528
531
  argumentHint: "[<model-id>]",
529
532
  },
533
+ {
534
+ name: "provider",
535
+ description: "switch model provider, or add a new one (no arg = list)",
536
+ argumentHint: "[<provider>]",
537
+ getArgumentCompletions: (prefix) => {
538
+ const lower = prefix.toLowerCase();
539
+ return PROVIDERS.filter((pr) => !pr.noAuth && !pr.custom && !pr.subscription && !pr.cliLogin)
540
+ .map((pr) => pr.id)
541
+ .filter((id) => id.startsWith(lower))
542
+ .map((id) => ({ value: id, label: id }));
543
+ },
544
+ },
530
545
  {
531
546
  name: "thinking",
532
547
  description: "set the model's reasoning effort",
@@ -580,11 +595,11 @@ export async function wireConnectUi(tui, client, initialAgentId) {
580
595
  },
581
596
  ];
582
597
  editor.setAutocompleteProvider(new CombinedAutocompleteProvider(SLASH_COMMANDS, process.cwd()));
583
- // Connect mode cannot run the provider-onboarding wizard (it writes to the
584
- // gateway machine's filesystem, which we don't have). We surface that gap
585
- // inline above the footer so users who notice `/provider` is missing aren't
586
- // left guessing they get the exact escape hatch.
587
- tui.addChild(new Text(brand.dim(" connect-mode: /agent /agents /sessions · /model /thinking /reasoning · /abort /steer /compact · /usage /help (use 'brigade chat' on the gateway machine for /provider)"), 0, 0));
598
+ // `/provider` switches the model provider and can add an API-key provider
599
+ // inline the credential write happens on the GATEWAY side (`add-provider`
600
+ // RPC), so it works from connect mode too. Subscription / local / custom
601
+ // providers still need `brigade onboard` on the gateway machine.
602
+ tui.addChild(new Text(brand.dim(" connect-mode: /agent /agents /sessions · /model /provider /thinking /reasoning · /abort /steer /compact · /usage /help"), 0, 0));
588
603
  tui.addChild(new Text(brand.dim(" Enter to send · Ctrl+C abort · /usage /abort /reasoning · /help for full list"), 0, 0));
589
604
  const insertBeforeEditor = (component) => {
590
605
  const children = tui.children;
@@ -1219,6 +1234,36 @@ export async function wireConnectUi(tui, client, initialAgentId) {
1219
1234
  void applySubscription();
1220
1235
  });
1221
1236
  });
1237
+ // Switch the live session onto a CONFIGURED provider by reusing the same
1238
+ // `set-model` path `/model` uses. Picks a model on that provider, preferring
1239
+ // the one whose id matches the current model so a same-id model on the new
1240
+ // provider continues seamlessly; otherwise the provider's first model. Used
1241
+ // by `/provider <configured>` and right after a successful inline add.
1242
+ const applyProviderSwitch = async (providerName) => {
1243
+ let models;
1244
+ try {
1245
+ models = await client.request("list-models");
1246
+ }
1247
+ catch (err) {
1248
+ insertBeforeEditor(new Text(` ${brand.error("✗")} ${brand.error(err instanceof Error ? err.message : String(err))}`, 0, 0));
1249
+ return;
1250
+ }
1251
+ const providerModels = models.filter((m) => m.provider === providerName);
1252
+ const curModelId = lastSnapshot?.modelId;
1253
+ const target = providerModels.find((m) => m.id === curModelId) ?? providerModels[0];
1254
+ if (!target) {
1255
+ insertBeforeEditor(new Text(` ${brand.error("✗")} ${brand.error(`no models available for provider "${providerName}" yet.`)}`, 0, 0));
1256
+ return;
1257
+ }
1258
+ try {
1259
+ await client.request("set-model", withBinding({ provider: providerName, modelId: target.id }));
1260
+ insertBeforeEditor(new Text(` ${brand.amber("✓")} ${brand.dim("switched to")} ${brand.white(`${providerName} · ${target.id}`)}`, 0, 0));
1261
+ }
1262
+ catch (err) {
1263
+ const msg = err instanceof Error ? err.message : String(err);
1264
+ insertBeforeEditor(new Text(` ${brand.error("✗")} ${brand.error(msg)}`, 0, 0));
1265
+ }
1266
+ };
1222
1267
  // Slash command + send wiring.
1223
1268
  editor.onSubmit = async (value) => {
1224
1269
  // SECURITY — scrub terminal escape sequences, leaked bracketed-paste markers,
@@ -1229,6 +1274,38 @@ export async function wireConnectUi(tui, client, initialAgentId) {
1229
1274
  const trimmed = sanitizeTerminalInput(value).trim();
1230
1275
  if (!trimmed)
1231
1276
  return;
1277
+ // API-key capture for `/provider <new-provider>`. When armed, this line
1278
+ // IS the key — consume it here before any command dispatch or echo so it
1279
+ // never reaches the model payload or the transcript. The editor clears
1280
+ // immediately and we don't insert the raw key into scrollback (and the
1281
+ // editor never adds submits to up-arrow history), so it isn't recoverable.
1282
+ if (pendingProviderEntry) {
1283
+ const entry = pendingProviderEntry;
1284
+ pendingProviderEntry = null;
1285
+ editor.setText("");
1286
+ if (trimmed === "/cancel" || trimmed === "/abort") {
1287
+ insertBeforeEditor(new Text(` ${brand.dim(`cancelled adding ${entry.providerName}.`)}`, 0, 0));
1288
+ return;
1289
+ }
1290
+ insertBeforeEditor(new Text(` ${brand.dim(`validating ${entry.providerName} key…`)}`, 0, 0));
1291
+ try {
1292
+ const res = await client.request("add-provider", {
1293
+ providerId: entry.providerId,
1294
+ apiKey: trimmed,
1295
+ });
1296
+ if (res.warning) {
1297
+ insertBeforeEditor(new Text(` ${brand.amber("⚠")} ${brand.dim(res.warning)}`, 0, 0));
1298
+ }
1299
+ insertBeforeEditor(new Text(` ${brand.amber("✓")} ${brand.dim("added provider")} ${brand.white(entry.providerId)}`, 0, 0));
1300
+ // Now switch the live session onto the freshly-added provider.
1301
+ await applyProviderSwitch(entry.providerId);
1302
+ }
1303
+ catch (err) {
1304
+ const msg = err instanceof Error ? err.message : String(err);
1305
+ insertBeforeEditor(new Text(` ${brand.error("✗")} ${brand.error(`add provider failed: ${msg}`)}`, 0, 0));
1306
+ }
1307
+ return;
1308
+ }
1232
1309
  // Local commands first — never reach the gateway.
1233
1310
  if (trimmed === "/exit" || trimmed === "/quit") {
1234
1311
  client.close();
@@ -1242,6 +1319,7 @@ export async function wireConnectUi(tui, client, initialAgentId) {
1242
1319
  `- ${chalk.bold("/exit")} or ${chalk.bold("/quit")} — disconnect & quit\n` +
1243
1320
  `- ${chalk.bold("/help")} — this list\n` +
1244
1321
  `- ${chalk.bold("/model <id>")} — switch to a configured model on the gateway\n` +
1322
+ `- ${chalk.bold("/provider [<name>]")} — switch model provider, or add a new one with an API key (no arg = list)\n` +
1245
1323
  `- ${chalk.bold("/thinking <level>")} — set reasoning effort (off|minimal|low|medium|high|xhigh)\n` +
1246
1324
  `- ${chalk.bold("/compact")} — summarize older turns to free up context\n` +
1247
1325
  `- ${chalk.bold("/allow-all <on|off>")} — skip shell-approval prompts for this session (safety guards still apply)\n` +
@@ -1265,7 +1343,7 @@ export async function wireConnectUi(tui, client, initialAgentId) {
1265
1343
  `- ${chalk.bold("/org --explain <from> <to>")} — why this edge exists (or does not)\n` +
1266
1344
  `- ${chalk.bold("Ctrl+C")} — abort the current turn (same as /abort)\n` +
1267
1345
  `- ${chalk.bold("Ctrl+D")} — quit\n\n` +
1268
- brand.dim("To add a new provider, run `brigade onboard` on the gateway machine."), 1, 0, markdownTheme));
1346
+ brand.dim("Subscription / local / custom providers still need `brigade onboard` on the gateway machine."), 1, 0, markdownTheme));
1269
1347
  return;
1270
1348
  }
1271
1349
  // /session [key] — print or rebind the connection's bound session key.
@@ -1808,6 +1886,68 @@ export async function wireConnectUi(tui, client, initialAgentId) {
1808
1886
  }
1809
1887
  return;
1810
1888
  }
1889
+ // /provider [<name>] — switch the active model PROVIDER mid-chat, or add a
1890
+ // brand-new one inline. No arg lists configured providers (switchable) plus
1891
+ // addable catalog providers. `/provider <configured>` switches to it (keeps
1892
+ // the current model id if that provider has it). `/provider <new>` for an
1893
+ // API-key catalog provider arms key capture: the next line you type is sent
1894
+ // to the gateway's `add-provider`, which validates + persists it server-side,
1895
+ // then we switch onto it. Subscription / local / custom providers still need
1896
+ // the full `brigade onboard` wizard.
1897
+ if (trimmed === "/provider" || trimmed.startsWith("/provider ")) {
1898
+ editor.setText("");
1899
+ const arg = trimmed === "/provider" ? "" : trimmed.slice("/provider ".length).trim();
1900
+ let models;
1901
+ try {
1902
+ models = await client.request("list-models");
1903
+ }
1904
+ catch (err) {
1905
+ insertBeforeEditor(new Text(` ${brand.error("✗")} ${brand.error(err instanceof Error ? err.message : String(err))}`, 0, 0));
1906
+ return;
1907
+ }
1908
+ const configured = new Set(models.map((m) => m.provider));
1909
+ const current = lastSnapshot?.provider;
1910
+ // An addable catalog entry = plain API-key provider (not local/no-auth,
1911
+ // custom BYO-endpoint, OAuth subscription, or CLI-login) that isn't
1912
+ // already configured. Those excluded kinds need the full wizard.
1913
+ const isInlineAddable = (pr) => !pr.noAuth && !pr.custom && !pr.subscription && !pr.cliLogin;
1914
+ if (!arg) {
1915
+ const configuredList = [...configured]
1916
+ .sort()
1917
+ .map((pName) => ` ${pName === current ? brand.amber("●") : brand.dim("○")} ${brand.white(pName)}${pName === current ? brand.dim(" (current)") : ""}`)
1918
+ .join("\n") || ` ${brand.dim("(none)")}`;
1919
+ const addable = PROVIDERS.filter((pr) => isInlineAddable(pr) && !configured.has(pr.providerId ?? pr.id))
1920
+ .map((pr) => ` ${brand.dim(pr.id)} ${brand.dim("·")} ${brand.dim(pr.name)}`)
1921
+ .join("\n");
1922
+ insertBeforeEditor(new Markdown(`${brand.dim("configured providers — switch with /provider <name>:")}\n${configuredList}\n\n` +
1923
+ `${brand.dim("add a new one — /provider <name>, then paste an API key:")}\n${addable}`, 1, 0, markdownTheme));
1924
+ return;
1925
+ }
1926
+ const name = arg.toLowerCase();
1927
+ if (configured.has(name)) {
1928
+ await applyProviderSwitch(name);
1929
+ return;
1930
+ }
1931
+ // Not configured — can we add it inline?
1932
+ const cat = findProvider(name);
1933
+ if (cat && isInlineAddable(cat)) {
1934
+ pendingProviderEntry = {
1935
+ providerId: cat.providerId ?? cat.id,
1936
+ providerName: cat.name,
1937
+ };
1938
+ insertBeforeEditor(new Markdown(`${brand.amber(`Add ${cat.name}`)} — paste your API key and press Enter ${brand.dim("(or /cancel)")}.\n` +
1939
+ `${brand.dim(`get a key: ${cat.keyUrl}`)}\n` +
1940
+ `${brand.dim("the key goes to your gateway and is saved there; it won't appear in this transcript.")}`, 1, 0, markdownTheme));
1941
+ return;
1942
+ }
1943
+ if (cat) {
1944
+ // Known catalog entry, but a kind the inline flow can't handle.
1945
+ insertBeforeEditor(new Text(` ${brand.dim(`${cat.name} needs the full setup wizard — run `)}${brand.white("brigade onboard")}${brand.dim(" on the gateway machine.")}`, 0, 0));
1946
+ return;
1947
+ }
1948
+ insertBeforeEditor(new Text(` ${brand.error(`✗ unknown provider "${arg}".`)} ${brand.dim("Run /provider with no argument to see the list.")}`, 0, 0));
1949
+ return;
1950
+ }
1811
1951
  // /model <id> — switch by id (the gateway resolves provider via its registry)
1812
1952
  if (trimmed === "/model" || trimmed.startsWith("/model ")) {
1813
1953
  editor.setText("");