@spinabot/brigade 1.6.1 → 1.7.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 (133) hide show
  1. package/dist/agents/channels/discord/account-config.d.ts +60 -0
  2. package/dist/agents/channels/discord/account-config.d.ts.map +1 -1
  3. package/dist/agents/channels/discord/account-config.js +89 -0
  4. package/dist/agents/channels/discord/account-config.js.map +1 -1
  5. package/dist/agents/channels/discord/adapter.d.ts +24 -1
  6. package/dist/agents/channels/discord/adapter.d.ts.map +1 -1
  7. package/dist/agents/channels/discord/adapter.js +208 -41
  8. package/dist/agents/channels/discord/adapter.js.map +1 -1
  9. package/dist/agents/channels/discord/component-blocks.d.ts +108 -0
  10. package/dist/agents/channels/discord/component-blocks.d.ts.map +1 -0
  11. package/dist/agents/channels/discord/component-blocks.js +113 -0
  12. package/dist/agents/channels/discord/component-blocks.js.map +1 -0
  13. package/dist/agents/channels/discord/components.d.ts +78 -0
  14. package/dist/agents/channels/discord/components.d.ts.map +1 -1
  15. package/dist/agents/channels/discord/components.js +89 -0
  16. package/dist/agents/channels/discord/components.js.map +1 -1
  17. package/dist/agents/channels/discord/connection.d.ts +195 -12
  18. package/dist/agents/channels/discord/connection.d.ts.map +1 -1
  19. package/dist/agents/channels/discord/connection.js +852 -38
  20. package/dist/agents/channels/discord/connection.js.map +1 -1
  21. package/dist/agents/channels/discord/directory-cache.d.ts +47 -0
  22. package/dist/agents/channels/discord/directory-cache.d.ts.map +1 -0
  23. package/dist/agents/channels/discord/directory-cache.js +131 -0
  24. package/dist/agents/channels/discord/directory-cache.js.map +1 -0
  25. package/dist/agents/channels/discord/directory-live.d.ts +61 -0
  26. package/dist/agents/channels/discord/directory-live.d.ts.map +1 -0
  27. package/dist/agents/channels/discord/directory-live.js +140 -0
  28. package/dist/agents/channels/discord/directory-live.js.map +1 -0
  29. package/dist/agents/channels/discord/format.d.ts +15 -0
  30. package/dist/agents/channels/discord/format.d.ts.map +1 -1
  31. package/dist/agents/channels/discord/format.js +56 -0
  32. package/dist/agents/channels/discord/format.js.map +1 -1
  33. package/dist/agents/channels/discord/guilds.d.ts +25 -0
  34. package/dist/agents/channels/discord/guilds.d.ts.map +1 -0
  35. package/dist/agents/channels/discord/guilds.js +46 -0
  36. package/dist/agents/channels/discord/guilds.js.map +1 -0
  37. package/dist/agents/channels/discord/inbound-extras.d.ts +166 -9
  38. package/dist/agents/channels/discord/inbound-extras.d.ts.map +1 -1
  39. package/dist/agents/channels/discord/inbound-extras.js +246 -8
  40. package/dist/agents/channels/discord/inbound-extras.js.map +1 -1
  41. package/dist/agents/channels/discord/index.d.ts +10 -3
  42. package/dist/agents/channels/discord/index.d.ts.map +1 -1
  43. package/dist/agents/channels/discord/index.js +10 -3
  44. package/dist/agents/channels/discord/index.js.map +1 -1
  45. package/dist/agents/channels/discord/modal-registry.d.ts +89 -0
  46. package/dist/agents/channels/discord/modal-registry.d.ts.map +1 -0
  47. package/dist/agents/channels/discord/modal-registry.js +104 -0
  48. package/dist/agents/channels/discord/modal-registry.js.map +1 -0
  49. package/dist/agents/channels/discord/modals.d.ts +100 -0
  50. package/dist/agents/channels/discord/modals.d.ts.map +1 -0
  51. package/dist/agents/channels/discord/modals.js +124 -0
  52. package/dist/agents/channels/discord/modals.js.map +1 -0
  53. package/dist/agents/channels/discord/permission-audit.d.ts +43 -0
  54. package/dist/agents/channels/discord/permission-audit.d.ts.map +1 -0
  55. package/dist/agents/channels/discord/permission-audit.js +192 -0
  56. package/dist/agents/channels/discord/permission-audit.js.map +1 -0
  57. package/dist/agents/channels/discord/plugin.d.ts +18 -2
  58. package/dist/agents/channels/discord/plugin.d.ts.map +1 -1
  59. package/dist/agents/channels/discord/plugin.js +73 -4
  60. package/dist/agents/channels/discord/plugin.js.map +1 -1
  61. package/dist/agents/channels/discord/probe.d.ts +23 -1
  62. package/dist/agents/channels/discord/probe.d.ts.map +1 -1
  63. package/dist/agents/channels/discord/probe.js +40 -5
  64. package/dist/agents/channels/discord/probe.js.map +1 -1
  65. package/dist/agents/channels/discord/rest-actions.d.ts +346 -0
  66. package/dist/agents/channels/discord/rest-actions.d.ts.map +1 -0
  67. package/dist/agents/channels/discord/rest-actions.js +559 -0
  68. package/dist/agents/channels/discord/rest-actions.js.map +1 -0
  69. package/dist/agents/channels/discord/rest-components.d.ts +122 -0
  70. package/dist/agents/channels/discord/rest-components.d.ts.map +1 -0
  71. package/dist/agents/channels/discord/rest-components.js +243 -0
  72. package/dist/agents/channels/discord/rest-components.js.map +1 -0
  73. package/dist/agents/channels/discord/security-audit.d.ts +29 -0
  74. package/dist/agents/channels/discord/security-audit.d.ts.map +1 -0
  75. package/dist/agents/channels/discord/security-audit.js +94 -0
  76. package/dist/agents/channels/discord/security-audit.js.map +1 -0
  77. package/dist/agents/channels/discord/security-doctor.d.ts +43 -0
  78. package/dist/agents/channels/discord/security-doctor.d.ts.map +1 -0
  79. package/dist/agents/channels/discord/security-doctor.js +83 -0
  80. package/dist/agents/channels/discord/security-doctor.js.map +1 -0
  81. package/dist/agents/channels/discord/status-issues.d.ts +37 -0
  82. package/dist/agents/channels/discord/status-issues.d.ts.map +1 -0
  83. package/dist/agents/channels/discord/status-issues.js +66 -0
  84. package/dist/agents/channels/discord/status-issues.js.map +1 -0
  85. package/dist/agents/channels/discord/subagent-thread-binding-store.d.ts +57 -0
  86. package/dist/agents/channels/discord/subagent-thread-binding-store.d.ts.map +1 -0
  87. package/dist/agents/channels/discord/subagent-thread-binding-store.js +98 -0
  88. package/dist/agents/channels/discord/subagent-thread-binding-store.js.map +1 -0
  89. package/dist/agents/channels/discord/subagent-thread-binding.d.ts +95 -0
  90. package/dist/agents/channels/discord/subagent-thread-binding.d.ts.map +1 -0
  91. package/dist/agents/channels/discord/subagent-thread-binding.js +208 -0
  92. package/dist/agents/channels/discord/subagent-thread-binding.js.map +1 -0
  93. package/dist/agents/channels/discord/system-events.d.ts +31 -0
  94. package/dist/agents/channels/discord/system-events.d.ts.map +1 -0
  95. package/dist/agents/channels/discord/system-events.js +74 -0
  96. package/dist/agents/channels/discord/system-events.js.map +1 -0
  97. package/dist/agents/channels/general-callback.d.ts +12 -0
  98. package/dist/agents/channels/general-callback.d.ts.map +1 -1
  99. package/dist/agents/channels/general-callback.js +18 -0
  100. package/dist/agents/channels/general-callback.js.map +1 -1
  101. package/dist/agents/channels/inbound-pipeline.d.ts.map +1 -1
  102. package/dist/agents/channels/inbound-pipeline.js +5 -3
  103. package/dist/agents/channels/inbound-pipeline.js.map +1 -1
  104. package/dist/agents/extensions/types.d.ts +7 -0
  105. package/dist/agents/extensions/types.d.ts.map +1 -1
  106. package/dist/agents/extensions/types.js.map +1 -1
  107. package/dist/agents/subagent-announce-delivery.d.ts +10 -0
  108. package/dist/agents/subagent-announce-delivery.d.ts.map +1 -1
  109. package/dist/agents/subagent-announce-delivery.js +1 -0
  110. package/dist/agents/subagent-announce-delivery.js.map +1 -1
  111. package/dist/agents/subagent-completion-bridge.d.ts.map +1 -1
  112. package/dist/agents/subagent-completion-bridge.js +81 -0
  113. package/dist/agents/subagent-completion-bridge.js.map +1 -1
  114. package/dist/agents/subagent-spawn.d.ts.map +1 -1
  115. package/dist/agents/subagent-spawn.js +57 -4
  116. package/dist/agents/subagent-spawn.js.map +1 -1
  117. package/dist/agents/tools/discord-action-tool.d.ts +224 -0
  118. package/dist/agents/tools/discord-action-tool.d.ts.map +1 -0
  119. package/dist/agents/tools/discord-action-tool.js +848 -0
  120. package/dist/agents/tools/discord-action-tool.js.map +1 -0
  121. package/dist/agents/tools/registry.d.ts.map +1 -1
  122. package/dist/agents/tools/registry.js +21 -0
  123. package/dist/agents/tools/registry.js.map +1 -1
  124. package/dist/agents/tools/sessions/index.d.ts +8 -0
  125. package/dist/agents/tools/sessions/index.d.ts.map +1 -1
  126. package/dist/agents/tools/sessions/index.js +15 -3
  127. package/dist/agents/tools/sessions/index.js.map +1 -1
  128. package/dist/buildstamp.json +1 -1
  129. package/dist/cli/commands/channels.d.ts +2 -0
  130. package/dist/cli/commands/channels.d.ts.map +1 -1
  131. package/dist/cli/commands/channels.js +58 -1
  132. package/dist/cli/commands/channels.js.map +1 -1
  133. package/package.json +1 -1
@@ -34,6 +34,9 @@
34
34
  import { createSubsystemLogger } from "../logging/subsystem-logger.js";
35
35
  import { resolveGlobalSingleton } from "../shared/global-singleton.js";
36
36
  import { onAgentEvent } from "./agent-events.js";
37
+ // Dependency-light store (no discord.js / REST import) — safe to load statically
38
+ // so the reply-delivery resolver can read a thread binding synchronously.
39
+ import { getDiscordSubagentThreadBinding } from "./channels/discord/subagent-thread-binding-store.js";
37
40
  import { requestHeartbeatNow } from "./heartbeat-wake.js";
38
41
  import { deliverSubagentCompletionAnnounce, pickReplyTextFromRegistryEntry, } from "./subagent-announce-delivery.js";
39
42
  import { getSubagentRun, markSubagentRunCompleted, } from "./subagent-registry.js";
@@ -181,6 +184,71 @@ function formatLegacyAnnounceHeadline(params) {
181
184
  // Local alias kept so the inbox-fallback branch below (Wave O0.7) can
182
185
  // fall back to the short-form when `enqueueSystemEvent` is bypassed.
183
186
  const formatAnnounceText = formatLegacyAnnounceHeadline;
187
+ /**
188
+ * Phase 6 — map a lifecycle ended-outcome to the Discord farewell's outcome
189
+ * discriminator (`ok | error | timeout | abort`).
190
+ */
191
+ function farewellOutcomeFor(outcome) {
192
+ if (outcome === SUBAGENT_ENDED_OUTCOME_TIMEOUT)
193
+ return "timeout";
194
+ if (outcome === SUBAGENT_ENDED_OUTCOME_ABORT)
195
+ return "abort";
196
+ if (outcome === SUBAGENT_ENDED_OUTCOME_ERROR)
197
+ return "error";
198
+ return "ok";
199
+ }
200
+ /**
201
+ * Phase 6 — best-effort Discord sub-agent thread farewell. Lazy-imports the
202
+ * Discord materializer so a non-Discord build / TUI path never loads it; the
203
+ * helper itself no-ops when no thread binding is registered for `childSessionKey`.
204
+ */
205
+ async function deliverDiscordSubagentThreadFarewell(childSessionKey, outcome) {
206
+ try {
207
+ // Cheap synchronous presence check via the dependency-light STORE — only
208
+ // pull in the heavy materializer (Discord REST + connection deps) when a
209
+ // farewell is actually owed. This keeps the common no-thread completion
210
+ // path off the discord.js import graph entirely.
211
+ const { hasDiscordSubagentThreadBinding } = await import("./channels/discord/subagent-thread-binding-store.js");
212
+ if (!hasDiscordSubagentThreadBinding(childSessionKey))
213
+ return;
214
+ const { sendDiscordSubagentThreadFarewell } = await import("./channels/discord/subagent-thread-binding.js");
215
+ await sendDiscordSubagentThreadFarewell({
216
+ childSessionKey,
217
+ outcome: farewellOutcomeFor(outcome),
218
+ });
219
+ }
220
+ catch (err) {
221
+ log.warn("discord subagent thread farewell failed", {
222
+ childSessionKey,
223
+ error: err?.message,
224
+ });
225
+ }
226
+ }
227
+ /**
228
+ * Fix A2 — resolve the Discord-thread delivery context for a thread-bound child,
229
+ * or undefined when the child has no thread binding. When present, the completion
230
+ * announce carries it so the heartbeat hook's `deliverReplyToChannel` delivers the
231
+ * child's FINAL reply INTO the bound thread (not just the parent inbox + farewell).
232
+ *
233
+ * Synchronous + dependency-light: it reads only the binding STORE (no Discord
234
+ * REST / discord.js import), so the common no-thread path stays off that graph.
235
+ */
236
+ function resolveDiscordThreadDeliveryContext(childSessionKey) {
237
+ try {
238
+ const binding = getDiscordSubagentThreadBinding(childSessionKey);
239
+ if (!binding)
240
+ return undefined;
241
+ return {
242
+ channel: "discord",
243
+ to: `channel:${binding.threadId}`,
244
+ ...(binding.accountId ? { accountId: binding.accountId } : {}),
245
+ threadId: binding.threadId,
246
+ };
247
+ }
248
+ catch {
249
+ return undefined;
250
+ }
251
+ }
184
252
  /**
185
253
  * Install the bridge. Returns a disposer that unsubscribes from the
186
254
  * agent-events bus. Idempotent — re-installing replaces the previous
@@ -218,6 +286,10 @@ export function installSubagentCompletionBridge() {
218
286
  bridgeState.completionSeq += 1;
219
287
  const completionSeqAtEmit = bridgeState.completionSeq;
220
288
  const parentSessionKey = entry.requesterSessionKey?.trim() || entry.controllerSessionKey?.trim();
289
+ // Fix A2 — resolve the thread delivery context NOW, before the farewell
290
+ // path (which forgets the binding) runs, so a thread-bound child's reply
291
+ // can be delivered into its thread. Undefined for a non-thread child.
292
+ const threadDeliveryContext = resolveDiscordThreadDeliveryContext(entry.childSessionKey);
221
293
  const deliveryTask = async () => {
222
294
  try {
223
295
  await markSubagentRunCompleted({
@@ -234,6 +306,12 @@ export function installSubagentCompletionBridge() {
234
306
  error: err?.message,
235
307
  });
236
308
  }
309
+ // Phase 6 — Discord sub-agent thread farewell. When the child ran in
310
+ // a bound Discord thread, post a brief "done" into that thread and
311
+ // drop the binding (the thread is left for the central idle-reaper).
312
+ // Best-effort + lazy-imported so a non-Discord build never pays for
313
+ // it; the helper no-ops when no binding exists for the child key.
314
+ void deliverDiscordSubagentThreadFarewell(entry.childSessionKey, lifecycleOutcome);
237
315
  // Wave O0.7 - announce-delivery into the parent's session inbox so
238
316
  // the parent's next turn sees "child X finished, here is the
239
317
  // reply". The dedicated module formats the rich message body
@@ -262,6 +340,9 @@ export function installSubagentCompletionBridge() {
262
340
  ...(error ? { error } : {}),
263
341
  ...(fallbackReply ? { replyText: fallbackReply } : {}),
264
342
  ...(durationMs !== undefined ? { durationMs } : {}),
343
+ // Fix A2 — deliver the announce (carrying the child's final reply)
344
+ // INTO the bound Discord thread when present.
345
+ ...(threadDeliveryContext ? { deliveryContext: threadDeliveryContext } : {}),
265
346
  });
266
347
  if (!enqueued) {
267
348
  // Fall back to the short-form text if the rich announce
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-completion-bridge.js","sourceRoot":"","sources":["../../src/agents/subagent-completion-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subagent-completion-bridge.js","sourceRoot":"","sources":["../../src/agents/subagent-completion-bridge.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-spawn.d.ts","sourceRoot":"","sources":["../../src/agents/subagent-spawn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAoBH,OAAO,KAAK,EACX,iBAAiB,EACjB,wBAAwB,EACxB,MAAM,8BAA8B,CAAC;AAMtC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,oCAAoC,MAAM,CAAC;AAExD,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,OAAO,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,wBAAwB,CAAC;IACnC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,oBAAoB;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gEAAgE;IAChE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IACnC,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAgED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACxC,MAAM,EAAE,mBAAmB,EAC3B,GAAG,EAAE,oBAAoB,GACvB,OAAO,CAAC,mBAAmB,CAAC,CA6O9B"}
1
+ {"version":3,"file":"subagent-spawn.d.ts","sourceRoot":"","sources":["../../src/agents/subagent-spawn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAoBH,OAAO,KAAK,EACX,iBAAiB,EACjB,wBAAwB,EACxB,MAAM,8BAA8B,CAAC;AAMtC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,oCAAoC,MAAM,CAAC;AAExD,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,OAAO,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,wBAAwB,CAAC;IACnC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,oBAAoB;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gEAAgE;IAChE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IACnC,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAgED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACxC,MAAM,EAAE,mBAAmB,EAC3B,GAAG,EAAE,oBAAoB,GACvB,OAAO,CAAC,mBAAmB,CAAC,CAoS9B"}
@@ -196,10 +196,58 @@ export async function spawnSubagentDirect(params, ctx) {
196
196
  };
197
197
  }
198
198
  }
199
- const childSessionKey = `agent:${targetAgentId}:subagent:${crypto.randomUUID()}`;
199
+ const baseChildSessionKey = `agent:${targetAgentId}:subagent:${crypto.randomUUID()}`;
200
200
  const childDepth = callerDepth + 1;
201
201
  const requesterDisplayKey = ctx.agentSessionKey ?? "main";
202
- const requesterOrigin = buildRequesterOrigin(ctx);
202
+ // Phase 6 — Discord sub-agent thread-binding. When a `thread: true` spawn
203
+ // originates from a Discord conversation, materialize a dedicated Discord
204
+ // thread, re-root the child session INTO it, post an intro, and set the
205
+ // child's delivery threadId so its completion lands in the thread. Gated on
206
+ // origin channel === "discord" AND `thread: true` — every other spawn keeps
207
+ // the base key + origin untouched (byte-identical to before).
208
+ let childSessionKey = baseChildSessionKey;
209
+ let requesterOrigin = buildRequesterOrigin(ctx);
210
+ let childThreadId = ctx.agentThreadId;
211
+ if (requestThreadBinding) {
212
+ const originChannel = ctx.agentChannel?.trim().toLowerCase();
213
+ const parentChannelId = ctx.agentTo?.trim();
214
+ if (originChannel === "discord" && parentChannelId) {
215
+ try {
216
+ const { materializeDiscordSubagentThread } = await import("./channels/discord/subagent-thread-binding.js");
217
+ const materialized = await materializeDiscordSubagentThread({
218
+ parentChannelId,
219
+ ...(ctx.agentAccountId ? { accountId: ctx.agentAccountId } : {}),
220
+ baseChildSessionKey,
221
+ agentId: targetAgentId,
222
+ task,
223
+ ...(label ? { label } : {}),
224
+ });
225
+ if (materialized) {
226
+ childSessionKey = materialized.childSessionKey;
227
+ childThreadId = materialized.threadId;
228
+ // Re-point the completion delivery context at the bound thread
229
+ // so the child's reply lands IN the thread, not the parent
230
+ // channel. `buildRequesterOrigin` returns undefined when the
231
+ // origin was empty; build a minimal Discord origin in that case.
232
+ requesterOrigin = {
233
+ ...(requesterOrigin ?? {}),
234
+ channel: "discord",
235
+ ...(ctx.agentAccountId ? { accountId: ctx.agentAccountId } : {}),
236
+ to: `channel:${materialized.threadId}`,
237
+ threadId: materialized.threadId,
238
+ };
239
+ }
240
+ }
241
+ catch (err) {
242
+ // Thread materialization is best-effort — a Discord hiccup must
243
+ // never fail the spawn. Fall back to the base (un-threaded) key.
244
+ log.warn("discord subagent thread materialize failed (continuing un-threaded)", {
245
+ baseChildSessionKey,
246
+ error: summarizeError(err),
247
+ });
248
+ }
249
+ }
250
+ }
203
251
  const runId = crypto.randomUUID();
204
252
  // Wave O0.8 GAP 10 — operator-initiated spawns (parent is the operator
205
253
  // main session) get `wakeOnDescendantSettle: true` so when the child
@@ -295,9 +343,14 @@ export async function spawnSubagentDirect(params, ctx) {
295
343
  message: task,
296
344
  sessionKey: childSessionKey,
297
345
  channel: ctx.agentChannel,
298
- to: ctx.agentTo,
346
+ // When the child was re-rooted into a Discord thread (Phase 6),
347
+ // target the thread channel id + threadId so its completion
348
+ // context points at the thread, not the parent channel.
349
+ to: childThreadId != null && childThreadId !== ctx.agentThreadId
350
+ ? `channel:${childThreadId}`
351
+ : ctx.agentTo,
299
352
  accountId: ctx.agentAccountId,
300
- threadId: ctx.agentThreadId,
353
+ threadId: childThreadId,
301
354
  idempotencyKey: runId,
302
355
  deliver: false,
303
356
  // Per-parent FIFO lane so spawns from different parents run in
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-spawn.js","sourceRoot":"","sources":["../../src/agents/subagent-spawn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subagent-spawn.js","sourceRoot":"","sources":["../../src/agents/subagent-spawn.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,224 @@
1
+ /**
2
+ * `discord_action` — owner-only Discord guild action surface (Phase 4).
3
+ *
4
+ * Brigade's live Discord adapter handles inbound + the everyday send/edit/react
5
+ * path, but it does NOT expose the wide guild-management surface a full Discord
6
+ * bot needs: creating/editing channels + categories, role + member management, emoji /
7
+ * sticker / scheduled-event admin, rich embeds + polls + stickers + threads +
8
+ * search, and moderation (ban / unban / kick / timeout). This tool fills that
9
+ * gap with a SELF-CONTAINED Discord REST v10 client — exactly like `probe.ts`
10
+ * and Slack's `directory-live.ts`: it resolves the bot token via
11
+ * `resolveDiscordBotToken` and talks straight to `https://discord.com/api/v10`
12
+ * with `Authorization: Bot <token>`. It never reaches through the live
13
+ * adapter/connection, so it works the same whether or not the Gateway socket is
14
+ * up.
15
+ *
16
+ * One meta-tool with an `action` discriminator (keeps the prompt small) dispatches
17
+ * to the matching helper in `discord/rest-actions.ts`. Owner-only: the standard
18
+ * `wrapOwnerOnlyToolExecution` gate (applied at session-wiring) already refuses
19
+ * non-owner senders and unattended cron turns, so this file does not re-implement
20
+ * auth. The registry only ASSEMBLES this tool when the Discord channel is
21
+ * configured (`channels.discord.enabled`), so a non-Discord install never sees it.
22
+ *
23
+ * Each action validates its required params, calls the REST helper, and returns a
24
+ * compact `jsonResult({ action, ok, … })`. REST failures decode (permissions /
25
+ * 404 / rate-limit / unknown-resource) into an operator-readable message via the
26
+ * `DiscordRestError` carried up from the helper.
27
+ *
28
+ * `set-presence` (Phase 5) is the ONE action that is NOT a REST call: presence
29
+ * is a Gateway (websocket) operation, and this self-contained REST tool holds no
30
+ * live discord.js client handle. The clean path chosen here is CONFIG-WRITE — it
31
+ * persists `channels.discord.presence` via `mutateConfigAtomic`, and the live
32
+ * connection applies that presence on its next (re)connect (it re-reads the
33
+ * resolved presence on every start). This keeps the tool stateless + air-gap-
34
+ * safe and avoids reaching across module boundaries into the running gateway.
35
+ */
36
+ import { Type } from "typebox";
37
+ import { type BrigadeConfig } from "../../config/io.js";
38
+ import type { BrigadeTool } from "./types.js";
39
+ declare const DiscordActionParams: Type.TObject<{
40
+ action: Type.TUnion<[Type.TLiteral<"send">, Type.TLiteral<"send-embed">, Type.TLiteral<"poll">, Type.TLiteral<"sticker">, Type.TLiteral<"read-messages">, Type.TLiteral<"list-reactions">, Type.TLiteral<"remove-reaction">, Type.TLiteral<"thread-create">, Type.TLiteral<"list-threads">, Type.TLiteral<"search-messages">, Type.TLiteral<"channel-create">, Type.TLiteral<"channel-edit">, Type.TLiteral<"channel-delete">, Type.TLiteral<"channel-move">, Type.TLiteral<"category-create">, Type.TLiteral<"category-edit">, Type.TLiteral<"category-delete">, Type.TLiteral<"role-list">, Type.TLiteral<"role-add">, Type.TLiteral<"role-remove">, Type.TLiteral<"role-info">, Type.TLiteral<"member-info">, Type.TLiteral<"emoji-list">, Type.TLiteral<"emoji-upload">, Type.TLiteral<"sticker-upload">, Type.TLiteral<"event-list">, Type.TLiteral<"event-create">, Type.TLiteral<"ban">, Type.TLiteral<"unban">, Type.TLiteral<"kick">, Type.TLiteral<"timeout">, Type.TLiteral<"untimeout">, Type.TLiteral<"set-presence">]>;
41
+ accountId: Type.TOptional<Type.TString>;
42
+ to: Type.TOptional<Type.TString>;
43
+ channelId: Type.TOptional<Type.TString>;
44
+ guildId: Type.TOptional<Type.TString>;
45
+ userId: Type.TOptional<Type.TString>;
46
+ messageId: Type.TOptional<Type.TString>;
47
+ roleId: Type.TOptional<Type.TString>;
48
+ categoryId: Type.TOptional<Type.TString>;
49
+ content: Type.TOptional<Type.TString>;
50
+ embed: Type.TOptional<Type.TObject<{
51
+ title: Type.TOptional<Type.TString>;
52
+ description: Type.TOptional<Type.TString>;
53
+ color: Type.TOptional<Type.TNumber>;
54
+ url: Type.TOptional<Type.TString>;
55
+ footer: Type.TOptional<Type.TString>;
56
+ image: Type.TOptional<Type.TString>;
57
+ thumbnail: Type.TOptional<Type.TString>;
58
+ fields: Type.TOptional<Type.TArray<Type.TObject<{
59
+ name: Type.TString;
60
+ value: Type.TString;
61
+ inline: Type.TOptional<Type.TBoolean>;
62
+ }>>>;
63
+ }>>;
64
+ embeds: Type.TOptional<Type.TArray<Type.TObject<{
65
+ title: Type.TOptional<Type.TString>;
66
+ description: Type.TOptional<Type.TString>;
67
+ color: Type.TOptional<Type.TNumber>;
68
+ url: Type.TOptional<Type.TString>;
69
+ footer: Type.TOptional<Type.TString>;
70
+ image: Type.TOptional<Type.TString>;
71
+ thumbnail: Type.TOptional<Type.TString>;
72
+ fields: Type.TOptional<Type.TArray<Type.TObject<{
73
+ name: Type.TString;
74
+ value: Type.TString;
75
+ inline: Type.TOptional<Type.TBoolean>;
76
+ }>>>;
77
+ }>>>;
78
+ components: Type.TOptional<Type.TArray<Type.TUnknown>>;
79
+ select: Type.TOptional<Type.TObject<{
80
+ kind: Type.TUnion<[Type.TLiteral<"string">, Type.TLiteral<"user">, Type.TLiteral<"role">, Type.TLiteral<"channel">, Type.TLiteral<"mentionable">]>;
81
+ customId: Type.TString;
82
+ placeholder: Type.TOptional<Type.TString>;
83
+ minValues: Type.TOptional<Type.TNumber>;
84
+ maxValues: Type.TOptional<Type.TNumber>;
85
+ options: Type.TOptional<Type.TArray<Type.TObject<{
86
+ label: Type.TString;
87
+ value: Type.TString;
88
+ description: Type.TOptional<Type.TString>;
89
+ }>>>;
90
+ }>>;
91
+ modal: Type.TOptional<Type.TObject<{
92
+ buttonLabel: Type.TString;
93
+ title: Type.TOptional<Type.TString>;
94
+ fields: Type.TArray<Type.TObject<{
95
+ id: Type.TString;
96
+ label: Type.TString;
97
+ style: Type.TOptional<Type.TUnion<[Type.TLiteral<"short">, Type.TLiteral<"paragraph">]>>;
98
+ required: Type.TOptional<Type.TBoolean>;
99
+ placeholder: Type.TOptional<Type.TString>;
100
+ }>>;
101
+ buttonStyle: Type.TOptional<Type.TNumber>;
102
+ }>>;
103
+ blocks: Type.TOptional<Type.TObject<{
104
+ blocks: Type.TArray<Type.TUnion<[Type.TObject<{
105
+ type: Type.TLiteral<"text">;
106
+ text: Type.TString;
107
+ }>, Type.TObject<{
108
+ type: Type.TLiteral<"section">;
109
+ texts: Type.TArray<Type.TString>;
110
+ accessory: Type.TOptional<Type.TUnion<[Type.TObject<{
111
+ kind: Type.TLiteral<"thumbnail">;
112
+ url: Type.TString;
113
+ }>, Type.TObject<{
114
+ kind: Type.TLiteral<"button">;
115
+ button: Type.TObject<{
116
+ label: Type.TString;
117
+ url: Type.TOptional<Type.TString>;
118
+ customId: Type.TOptional<Type.TString>;
119
+ style: Type.TOptional<Type.TNumber>;
120
+ }>;
121
+ }>]>>;
122
+ }>, Type.TObject<{
123
+ type: Type.TLiteral<"separator">;
124
+ divider: Type.TOptional<Type.TBoolean>;
125
+ spacing: Type.TOptional<Type.TUnion<[Type.TLiteral<"small">, Type.TLiteral<"large">]>>;
126
+ }>, Type.TObject<{
127
+ type: Type.TLiteral<"actions">;
128
+ buttons: Type.TArray<Type.TObject<{
129
+ label: Type.TString;
130
+ url: Type.TOptional<Type.TString>;
131
+ customId: Type.TOptional<Type.TString>;
132
+ style: Type.TOptional<Type.TNumber>;
133
+ }>>;
134
+ }>, Type.TObject<{
135
+ type: Type.TLiteral<"media-gallery">;
136
+ items: Type.TArray<Type.TObject<{
137
+ url: Type.TString;
138
+ description: Type.TOptional<Type.TString>;
139
+ spoiler: Type.TOptional<Type.TBoolean>;
140
+ }>>;
141
+ }>, Type.TObject<{
142
+ type: Type.TLiteral<"file">;
143
+ url: Type.TString;
144
+ spoiler: Type.TOptional<Type.TBoolean>;
145
+ }>]>>;
146
+ accentColor: Type.TOptional<Type.TNumber>;
147
+ }>>;
148
+ replyTo: Type.TOptional<Type.TString>;
149
+ silent: Type.TOptional<Type.TBoolean>;
150
+ question: Type.TOptional<Type.TString>;
151
+ answers: Type.TOptional<Type.TArray<Type.TString>>;
152
+ durationHours: Type.TOptional<Type.TNumber>;
153
+ allowMultiselect: Type.TOptional<Type.TBoolean>;
154
+ stickerIds: Type.TOptional<Type.TArray<Type.TString>>;
155
+ emoji: Type.TOptional<Type.TString>;
156
+ emojiName: Type.TOptional<Type.TString>;
157
+ emojiImage: Type.TOptional<Type.TString>;
158
+ stickerName: Type.TOptional<Type.TString>;
159
+ stickerDescription: Type.TOptional<Type.TString>;
160
+ stickerTags: Type.TOptional<Type.TString>;
161
+ stickerImage: Type.TOptional<Type.TString>;
162
+ limit: Type.TOptional<Type.TNumber>;
163
+ before: Type.TOptional<Type.TString>;
164
+ after: Type.TOptional<Type.TString>;
165
+ around: Type.TOptional<Type.TString>;
166
+ query: Type.TOptional<Type.TString>;
167
+ authorId: Type.TOptional<Type.TString>;
168
+ name: Type.TOptional<Type.TString>;
169
+ threadType: Type.TOptional<Type.TNumber>;
170
+ autoArchiveMinutes: Type.TOptional<Type.TNumber>;
171
+ channelType: Type.TOptional<Type.TNumber>;
172
+ parentId: Type.TOptional<Type.TString>;
173
+ topic: Type.TOptional<Type.TString>;
174
+ position: Type.TOptional<Type.TNumber>;
175
+ nsfw: Type.TOptional<Type.TBoolean>;
176
+ rateLimitPerUser: Type.TOptional<Type.TNumber>;
177
+ archived: Type.TOptional<Type.TBoolean>;
178
+ locked: Type.TOptional<Type.TBoolean>;
179
+ eventName: Type.TOptional<Type.TString>;
180
+ startTime: Type.TOptional<Type.TString>;
181
+ endTime: Type.TOptional<Type.TString>;
182
+ description: Type.TOptional<Type.TString>;
183
+ location: Type.TOptional<Type.TString>;
184
+ entityType: Type.TOptional<Type.TUnion<[Type.TLiteral<"stage">, Type.TLiteral<"voice">, Type.TLiteral<"external">]>>;
185
+ reason: Type.TOptional<Type.TString>;
186
+ deleteMessageDays: Type.TOptional<Type.TNumber>;
187
+ durationMinutes: Type.TOptional<Type.TNumber>;
188
+ status: Type.TOptional<Type.TUnion<[Type.TLiteral<"online">, Type.TLiteral<"idle">, Type.TLiteral<"dnd">, Type.TLiteral<"invisible">]>>;
189
+ activityType: Type.TOptional<Type.TUnion<[Type.TLiteral<"playing">, Type.TLiteral<"streaming">, Type.TLiteral<"listening">, Type.TLiteral<"watching">, Type.TLiteral<"custom">, Type.TLiteral<"competing">]>>;
190
+ activityText: Type.TOptional<Type.TString>;
191
+ activityUrl: Type.TOptional<Type.TString>;
192
+ }>;
193
+ interface DiscordActionResult {
194
+ action: string;
195
+ ok: boolean;
196
+ message: string;
197
+ data?: unknown;
198
+ }
199
+ /** Compact a payload so a large list result can't flood the model's context. Pure. */
200
+ export declare function capDiscordData(value: unknown, maxChars?: number): unknown;
201
+ /**
202
+ * Decode a `data:<mime>;base64,<payload>` URI into raw bytes + the MIME type, for
203
+ * the multipart sticker upload (which needs the file bytes, not a JSON image
204
+ * string like emoji-upload). Returns null when the input isn't a base64 data URI.
205
+ */
206
+ export declare function decodeStickerDataUri(input: string): {
207
+ bytes: Uint8Array;
208
+ contentType: string;
209
+ } | null;
210
+ export interface MakeDiscordActionToolOptions {
211
+ /** Inject the resolved bot token (tests). When omitted, resolved from config per call. */
212
+ resolveToken?: (accountId: string) => string;
213
+ /** Inject fetch (tests). Defaults to global fetch in the REST helpers. */
214
+ fetchImpl?: typeof fetch;
215
+ /**
216
+ * Inject the config mutator (tests). Production uses `mutateConfigAtomic`.
217
+ * Used by `set-presence`, which persists `channels.discord.presence` so the
218
+ * live connection applies it on next (re)connect.
219
+ */
220
+ mutateConfig?: (mutate: (current: BrigadeConfig) => BrigadeConfig) => Promise<BrigadeConfig>;
221
+ }
222
+ export declare function makeDiscordActionTool(opts?: MakeDiscordActionToolOptions): BrigadeTool<typeof DiscordActionParams, DiscordActionResult>;
223
+ export {};
224
+ //# sourceMappingURL=discord-action-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discord-action-tool.d.ts","sourceRoot":"","sources":["../../../src/agents/tools/discord-action-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG/B,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAmD5E,OAAO,KAAK,EAAmB,WAAW,EAAE,MAAM,YAAY,CAAC;AA6K/D,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsJvB,CAAC;AAEH,UAAU,mBAAmB;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AAOD,sFAAsF;AACtF,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,SAAiB,GAAG,OAAO,CAcjF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAUrG;AAID,MAAM,WAAW,4BAA4B;IAC5C,0FAA0F;IAC1F,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7C,0EAA0E;IAC1E,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,aAAa,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;CAC7F;AA+BD,wBAAgB,qBAAqB,CACpC,IAAI,GAAE,4BAAiC,GACrC,WAAW,CAAC,OAAO,mBAAmB,EAAE,mBAAmB,CAAC,CA2gB9D"}