@spinabot/brigade 1.7.0 → 1.8.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.
- package/dist/agents/agent-loop.d.ts +13 -0
- package/dist/agents/agent-loop.d.ts.map +1 -1
- package/dist/agents/agent-loop.js +5 -0
- package/dist/agents/agent-loop.js.map +1 -1
- package/dist/agents/channels/access-control/group-tool-policy.d.ts +73 -0
- package/dist/agents/channels/access-control/group-tool-policy.d.ts.map +1 -0
- package/dist/agents/channels/access-control/group-tool-policy.js +193 -0
- package/dist/agents/channels/access-control/group-tool-policy.js.map +1 -0
- package/dist/agents/channels/access-control/index.d.ts +1 -0
- package/dist/agents/channels/access-control/index.d.ts.map +1 -1
- package/dist/agents/channels/access-control/index.js +1 -0
- package/dist/agents/channels/access-control/index.js.map +1 -1
- package/dist/agents/channels/bluebubbles/account-config.d.ts +253 -0
- package/dist/agents/channels/bluebubbles/account-config.d.ts.map +1 -0
- package/dist/agents/channels/bluebubbles/account-config.js +486 -0
- package/dist/agents/channels/bluebubbles/account-config.js.map +1 -0
- package/dist/agents/channels/bluebubbles/account-registry.d.ts +33 -0
- package/dist/agents/channels/bluebubbles/account-registry.d.ts.map +1 -0
- package/dist/agents/channels/bluebubbles/account-registry.js +46 -0
- package/dist/agents/channels/bluebubbles/account-registry.js.map +1 -0
- package/dist/agents/channels/bluebubbles/adapter.d.ts +45 -0
- package/dist/agents/channels/bluebubbles/adapter.d.ts.map +1 -0
- package/dist/agents/channels/bluebubbles/adapter.js +366 -0
- package/dist/agents/channels/bluebubbles/adapter.js.map +1 -0
- package/dist/agents/channels/bluebubbles/catchup-cursor.d.ts +52 -0
- package/dist/agents/channels/bluebubbles/catchup-cursor.d.ts.map +1 -0
- package/dist/agents/channels/bluebubbles/catchup-cursor.js +118 -0
- package/dist/agents/channels/bluebubbles/catchup-cursor.js.map +1 -0
- package/dist/agents/channels/bluebubbles/catchup.d.ts +114 -0
- package/dist/agents/channels/bluebubbles/catchup.d.ts.map +1 -0
- package/dist/agents/channels/bluebubbles/catchup.js +220 -0
- package/dist/agents/channels/bluebubbles/catchup.js.map +1 -0
- package/dist/agents/channels/bluebubbles/chat.d.ts +75 -0
- package/dist/agents/channels/bluebubbles/chat.d.ts.map +1 -0
- package/dist/agents/channels/bluebubbles/chat.js +182 -0
- package/dist/agents/channels/bluebubbles/chat.js.map +1 -0
- package/dist/agents/channels/bluebubbles/connection.d.ts +95 -0
- package/dist/agents/channels/bluebubbles/connection.d.ts.map +1 -0
- package/dist/agents/channels/bluebubbles/connection.js +413 -0
- package/dist/agents/channels/bluebubbles/connection.js.map +1 -0
- package/dist/agents/channels/bluebubbles/contact-names.d.ts +79 -0
- package/dist/agents/channels/bluebubbles/contact-names.d.ts.map +1 -0
- package/dist/agents/channels/bluebubbles/contact-names.js +188 -0
- package/dist/agents/channels/bluebubbles/contact-names.js.map +1 -0
- package/dist/agents/channels/bluebubbles/debounce.d.ts +78 -0
- package/dist/agents/channels/bluebubbles/debounce.d.ts.map +1 -0
- package/dist/agents/channels/bluebubbles/debounce.js +173 -0
- package/dist/agents/channels/bluebubbles/debounce.js.map +1 -0
- package/dist/agents/channels/bluebubbles/dedupe.d.ts +25 -0
- package/dist/agents/channels/bluebubbles/dedupe.d.ts.map +1 -0
- package/dist/agents/channels/bluebubbles/dedupe.js +35 -0
- package/dist/agents/channels/bluebubbles/dedupe.js.map +1 -0
- package/dist/agents/channels/bluebubbles/effects.d.ts +17 -0
- package/dist/agents/channels/bluebubbles/effects.d.ts.map +1 -0
- package/dist/agents/channels/bluebubbles/effects.js +57 -0
- package/dist/agents/channels/bluebubbles/effects.js.map +1 -0
- package/dist/agents/channels/bluebubbles/history.d.ts +56 -0
- package/dist/agents/channels/bluebubbles/history.d.ts.map +1 -0
- package/dist/agents/channels/bluebubbles/history.js +140 -0
- package/dist/agents/channels/bluebubbles/history.js.map +1 -0
- package/dist/agents/channels/bluebubbles/index.d.ts +18 -0
- package/dist/agents/channels/bluebubbles/index.d.ts.map +1 -0
- package/dist/agents/channels/bluebubbles/index.js +18 -0
- package/dist/agents/channels/bluebubbles/index.js.map +1 -0
- package/dist/agents/channels/bluebubbles/media.d.ts +104 -0
- package/dist/agents/channels/bluebubbles/media.d.ts.map +1 -0
- package/dist/agents/channels/bluebubbles/media.js +222 -0
- package/dist/agents/channels/bluebubbles/media.js.map +1 -0
- package/dist/agents/channels/bluebubbles/messaging.d.ts +13 -0
- package/dist/agents/channels/bluebubbles/messaging.d.ts.map +1 -0
- package/dist/agents/channels/bluebubbles/messaging.js +36 -0
- package/dist/agents/channels/bluebubbles/messaging.js.map +1 -0
- package/dist/agents/channels/bluebubbles/module.d.ts +24 -0
- package/dist/agents/channels/bluebubbles/module.d.ts.map +1 -0
- package/dist/agents/channels/bluebubbles/module.js +52 -0
- package/dist/agents/channels/bluebubbles/module.js.map +1 -0
- package/dist/agents/channels/bluebubbles/normalize.d.ts +111 -0
- package/dist/agents/channels/bluebubbles/normalize.d.ts.map +1 -0
- package/dist/agents/channels/bluebubbles/normalize.js +239 -0
- package/dist/agents/channels/bluebubbles/normalize.js.map +1 -0
- package/dist/agents/channels/bluebubbles/plugin.d.ts +46 -0
- package/dist/agents/channels/bluebubbles/plugin.d.ts.map +1 -0
- package/dist/agents/channels/bluebubbles/plugin.js +242 -0
- package/dist/agents/channels/bluebubbles/plugin.js.map +1 -0
- package/dist/agents/channels/bluebubbles/probe.d.ts +79 -0
- package/dist/agents/channels/bluebubbles/probe.d.ts.map +1 -0
- package/dist/agents/channels/bluebubbles/probe.js +138 -0
- package/dist/agents/channels/bluebubbles/probe.js.map +1 -0
- package/dist/agents/channels/bluebubbles/reactions.d.ts +46 -0
- package/dist/agents/channels/bluebubbles/reactions.d.ts.map +1 -0
- package/dist/agents/channels/bluebubbles/reactions.js +207 -0
- package/dist/agents/channels/bluebubbles/reactions.js.map +1 -0
- package/dist/agents/channels/bluebubbles/send.d.ts +132 -0
- package/dist/agents/channels/bluebubbles/send.d.ts.map +1 -0
- package/dist/agents/channels/bluebubbles/send.js +327 -0
- package/dist/agents/channels/bluebubbles/send.js.map +1 -0
- package/dist/agents/channels/bluebubbles/status-issues.d.ts +57 -0
- package/dist/agents/channels/bluebubbles/status-issues.d.ts.map +1 -0
- package/dist/agents/channels/bluebubbles/status-issues.js +93 -0
- package/dist/agents/channels/bluebubbles/status-issues.js.map +1 -0
- package/dist/agents/channels/bluebubbles/types.d.ts +69 -0
- package/dist/agents/channels/bluebubbles/types.d.ts.map +1 -0
- package/dist/agents/channels/bluebubbles/types.js +118 -0
- package/dist/agents/channels/bluebubbles/types.js.map +1 -0
- package/dist/agents/channels/bluebubbles/webhook.d.ts +97 -0
- package/dist/agents/channels/bluebubbles/webhook.d.ts.map +1 -0
- package/dist/agents/channels/bluebubbles/webhook.js +249 -0
- package/dist/agents/channels/bluebubbles/webhook.js.map +1 -0
- package/dist/agents/channels/bundled-channel-metas.d.ts +13 -0
- package/dist/agents/channels/bundled-channel-metas.d.ts.map +1 -1
- package/dist/agents/channels/bundled-channel-metas.js +33 -0
- package/dist/agents/channels/bundled-channel-metas.js.map +1 -1
- package/dist/agents/channels/imessage/account-config.d.ts +178 -0
- package/dist/agents/channels/imessage/account-config.d.ts.map +1 -0
- package/dist/agents/channels/imessage/account-config.js +371 -0
- package/dist/agents/channels/imessage/account-config.js.map +1 -0
- package/dist/agents/channels/imessage/adapter.d.ts +36 -0
- package/dist/agents/channels/imessage/adapter.d.ts.map +1 -0
- package/dist/agents/channels/imessage/adapter.js +286 -0
- package/dist/agents/channels/imessage/adapter.js.map +1 -0
- package/dist/agents/channels/imessage/client.d.ts +99 -0
- package/dist/agents/channels/imessage/client.d.ts.map +1 -0
- package/dist/agents/channels/imessage/client.js +231 -0
- package/dist/agents/channels/imessage/client.js.map +1 -0
- package/dist/agents/channels/imessage/connection.d.ts +101 -0
- package/dist/agents/channels/imessage/connection.d.ts.map +1 -0
- package/dist/agents/channels/imessage/connection.js +367 -0
- package/dist/agents/channels/imessage/connection.js.map +1 -0
- package/dist/agents/channels/imessage/format.d.ts +45 -0
- package/dist/agents/channels/imessage/format.d.ts.map +1 -0
- package/dist/agents/channels/imessage/format.js +170 -0
- package/dist/agents/channels/imessage/format.js.map +1 -0
- package/dist/agents/channels/imessage/history.d.ts +49 -0
- package/dist/agents/channels/imessage/history.d.ts.map +1 -0
- package/dist/agents/channels/imessage/history.js +74 -0
- package/dist/agents/channels/imessage/history.js.map +1 -0
- package/dist/agents/channels/imessage/index.d.ts +25 -0
- package/dist/agents/channels/imessage/index.d.ts.map +1 -0
- package/dist/agents/channels/imessage/index.js +25 -0
- package/dist/agents/channels/imessage/index.js.map +1 -0
- package/dist/agents/channels/imessage/media.d.ts +92 -0
- package/dist/agents/channels/imessage/media.d.ts.map +1 -0
- package/dist/agents/channels/imessage/media.js +196 -0
- package/dist/agents/channels/imessage/media.js.map +1 -0
- package/dist/agents/channels/imessage/messaging.d.ts +14 -0
- package/dist/agents/channels/imessage/messaging.d.ts.map +1 -0
- package/dist/agents/channels/imessage/messaging.js +37 -0
- package/dist/agents/channels/imessage/messaging.js.map +1 -0
- package/dist/agents/channels/imessage/module.d.ts +16 -0
- package/dist/agents/channels/imessage/module.d.ts.map +1 -0
- package/dist/agents/channels/imessage/module.js +23 -0
- package/dist/agents/channels/imessage/module.js.map +1 -0
- package/dist/agents/channels/imessage/monitor.d.ts +207 -0
- package/dist/agents/channels/imessage/monitor.d.ts.map +1 -0
- package/dist/agents/channels/imessage/monitor.js +504 -0
- package/dist/agents/channels/imessage/monitor.js.map +1 -0
- package/dist/agents/channels/imessage/plugin.d.ts +53 -0
- package/dist/agents/channels/imessage/plugin.d.ts.map +1 -0
- package/dist/agents/channels/imessage/plugin.js +215 -0
- package/dist/agents/channels/imessage/plugin.js.map +1 -0
- package/dist/agents/channels/imessage/probe.d.ts +68 -0
- package/dist/agents/channels/imessage/probe.d.ts.map +1 -0
- package/dist/agents/channels/imessage/probe.js +134 -0
- package/dist/agents/channels/imessage/probe.js.map +1 -0
- package/dist/agents/channels/imessage/remote-attachments.d.ts +61 -0
- package/dist/agents/channels/imessage/remote-attachments.d.ts.map +1 -0
- package/dist/agents/channels/imessage/remote-attachments.js +131 -0
- package/dist/agents/channels/imessage/remote-attachments.js.map +1 -0
- package/dist/agents/channels/imessage/send.d.ts +61 -0
- package/dist/agents/channels/imessage/send.d.ts.map +1 -0
- package/dist/agents/channels/imessage/send.js +108 -0
- package/dist/agents/channels/imessage/send.js.map +1 -0
- package/dist/agents/channels/imessage/targets.d.ts +91 -0
- package/dist/agents/channels/imessage/targets.d.ts.map +1 -0
- package/dist/agents/channels/imessage/targets.js +245 -0
- package/dist/agents/channels/imessage/targets.js.map +1 -0
- package/dist/agents/channels/imessage/watch-error.d.ts +23 -0
- package/dist/agents/channels/imessage/watch-error.d.ts.map +1 -0
- package/dist/agents/channels/imessage/watch-error.js +69 -0
- package/dist/agents/channels/imessage/watch-error.js.map +1 -0
- package/dist/agents/channels/inbound-pipeline.d.ts +11 -0
- package/dist/agents/channels/inbound-pipeline.d.ts.map +1 -1
- package/dist/agents/channels/inbound-pipeline.js +20 -1
- package/dist/agents/channels/inbound-pipeline.js.map +1 -1
- package/dist/agents/channels/manager.d.ts +9 -0
- package/dist/agents/channels/manager.d.ts.map +1 -1
- package/dist/agents/channels/manager.js.map +1 -1
- package/dist/agents/channels/sdk.d.ts +4 -0
- package/dist/agents/channels/sdk.d.ts.map +1 -1
- package/dist/agents/channels/sdk.js +4 -0
- package/dist/agents/channels/sdk.js.map +1 -1
- package/dist/agents/extensions/modules/index.d.ts.map +1 -1
- package/dist/agents/extensions/modules/index.js +12 -0
- package/dist/agents/extensions/modules/index.js.map +1 -1
- package/dist/agents/session-wiring.d.ts +31 -0
- package/dist/agents/session-wiring.d.ts.map +1 -1
- package/dist/agents/session-wiring.js +45 -2
- package/dist/agents/session-wiring.js.map +1 -1
- package/dist/agents/tools/bluebubbles-action-tool.d.ts +66 -0
- package/dist/agents/tools/bluebubbles-action-tool.d.ts.map +1 -0
- package/dist/agents/tools/bluebubbles-action-tool.js +234 -0
- package/dist/agents/tools/bluebubbles-action-tool.js.map +1 -0
- package/dist/agents/tools/registry.d.ts.map +1 -1
- package/dist/agents/tools/registry.js +18 -0
- package/dist/agents/tools/registry.js.map +1 -1
- package/dist/buildstamp.json +1 -1
- package/dist/core/server.d.ts.map +1 -1
- package/dist/core/server.js +48 -2
- package/dist/core/server.js.map +1 -1
- package/dist/infra/net/fetch-guard.d.ts +24 -2
- package/dist/infra/net/fetch-guard.d.ts.map +1 -1
- package/dist/infra/net/fetch-guard.js +78 -31
- package/dist/infra/net/fetch-guard.js.map +1 -1
- package/package.json +1 -1
package/dist/core/server.js
CHANGED
|
@@ -55,6 +55,10 @@ import { listSlackAccountIds, slackChannelEnabled, slackThreadIdleTtlMs, } from
|
|
|
55
55
|
import { createSlackPlugin } from "../agents/channels/slack/plugin.js";
|
|
56
56
|
import { listDiscordAccountIds, discordChannelEnabled, discordThreadIdleTtlMs, } from "../agents/channels/discord/account-config.js";
|
|
57
57
|
import { createDiscordPlugin } from "../agents/channels/discord/plugin.js";
|
|
58
|
+
import { listIMessageAccountIds, imessageChannelEnabled, imessageThreadIdleTtlMs, } from "../agents/channels/imessage/account-config.js";
|
|
59
|
+
import { createIMessagePlugin } from "../agents/channels/imessage/plugin.js";
|
|
60
|
+
import { listBlueBubblesAccountIds, bluebubblesChannelEnabled, bluebubblesThreadIdleTtlMs, } from "../agents/channels/bluebubbles/account-config.js";
|
|
61
|
+
import { createBlueBubblesPlugin } from "../agents/channels/bluebubbles/plugin.js";
|
|
58
62
|
import { createPluginChannelManagerFacade } from "../agents/channels/plugin-channel-manager-facade.js";
|
|
59
63
|
import { clearChannelMessagingRegistry, syncChannelMessagingAdaptersFromPlugins, } from "../agents/channels/channel-messaging-registry.js";
|
|
60
64
|
import { clearChannelSecurityRegistry, syncChannelSecurityAdaptersFromPlugins, } from "../agents/channels/channel-security-registry.js";
|
|
@@ -1721,7 +1725,11 @@ async function continueBoot(args) {
|
|
|
1721
1725
|
// `loadConfig` is synchronous + cheap; reading fresh keeps the TTL
|
|
1722
1726
|
// live across config reloads without threading a mutable holder.
|
|
1723
1727
|
const cfg = loadConfig();
|
|
1724
|
-
return telegramThreadIdleTtlMs(cfg) ??
|
|
1728
|
+
return (telegramThreadIdleTtlMs(cfg) ??
|
|
1729
|
+
slackThreadIdleTtlMs(cfg) ??
|
|
1730
|
+
discordThreadIdleTtlMs(cfg) ??
|
|
1731
|
+
imessageThreadIdleTtlMs(cfg) ??
|
|
1732
|
+
bluebubblesThreadIdleTtlMs(cfg));
|
|
1725
1733
|
}
|
|
1726
1734
|
catch {
|
|
1727
1735
|
return null;
|
|
@@ -2283,6 +2291,11 @@ async function continueBoot(args) {
|
|
|
2283
2291
|
...(turn.channelApprovalRoute !== undefined
|
|
2284
2292
|
? { channelApprovalRoute: turn.channelApprovalRoute }
|
|
2285
2293
|
: {}),
|
|
2294
|
+
// Forward the per-group/per-sender tool policy (set ONLY for
|
|
2295
|
+
// group-message turns that resolved one) so the tool-assembly
|
|
2296
|
+
// site narrows this turn's toolset by name. Undefined elsewhere
|
|
2297
|
+
// → toolset unchanged.
|
|
2298
|
+
...(turn.toolPolicy !== undefined ? { toolPolicy: turn.toolPolicy } : {}),
|
|
2286
2299
|
onSessionReady: (session) => {
|
|
2287
2300
|
// A fallback candidate builds a fresh session; tear down the
|
|
2288
2301
|
// previous candidate's wiring before attaching the new one.
|
|
@@ -4711,11 +4724,24 @@ async function continueBoot(args) {
|
|
|
4711
4724
|
const discordAccounts = discordChannelEnabled(cfg)
|
|
4712
4725
|
? listDiscordAccountIds(cfg)
|
|
4713
4726
|
: [];
|
|
4727
|
+
const imessageAccounts = imessageChannelEnabled(cfg)
|
|
4728
|
+
? listIMessageAccountIds(cfg)
|
|
4729
|
+
: [];
|
|
4730
|
+
const bluebubblesAccounts = bluebubblesChannelEnabled(cfg)
|
|
4731
|
+
? listBlueBubblesAccountIds(cfg)
|
|
4732
|
+
: [];
|
|
4714
4733
|
const wantWhatsAppMulti = whatsappAccounts.length > 1;
|
|
4715
4734
|
const wantTelegramMulti = telegramAccounts.length > 1;
|
|
4716
4735
|
const wantSlackMulti = slackAccounts.length > 1;
|
|
4717
4736
|
const wantDiscordMulti = discordAccounts.length > 1;
|
|
4718
|
-
|
|
4737
|
+
const wantIMessageMulti = imessageAccounts.length > 1;
|
|
4738
|
+
const wantBlueBubblesMulti = bluebubblesAccounts.length > 1;
|
|
4739
|
+
if (wantWhatsAppMulti ||
|
|
4740
|
+
wantTelegramMulti ||
|
|
4741
|
+
wantSlackMulti ||
|
|
4742
|
+
wantDiscordMulti ||
|
|
4743
|
+
wantIMessageMulti ||
|
|
4744
|
+
wantBlueBubblesMulti) {
|
|
4719
4745
|
// Fresh list each (re)start so a reload doesn't accumulate stale plugins.
|
|
4720
4746
|
bundledChannelPlugins = [];
|
|
4721
4747
|
const facadeHandles = [];
|
|
@@ -4767,6 +4793,26 @@ async function continueBoot(args) {
|
|
|
4767
4793
|
facadeHandles.push(discordPlugin);
|
|
4768
4794
|
multiAccountSummary.push(`discord x${discordAccounts.length}`);
|
|
4769
4795
|
}
|
|
4796
|
+
if (wantIMessageMulti) {
|
|
4797
|
+
const imessagePlugin = createIMessagePlugin({
|
|
4798
|
+
defaultAgentId: agentId,
|
|
4799
|
+
loadConfig: () => cfg,
|
|
4800
|
+
runTurn: (turn) => runGatewayTurn(turn),
|
|
4801
|
+
});
|
|
4802
|
+
bundledChannelPlugins.push(imessagePlugin);
|
|
4803
|
+
facadeHandles.push(imessagePlugin);
|
|
4804
|
+
multiAccountSummary.push(`imessage x${imessageAccounts.length}`);
|
|
4805
|
+
}
|
|
4806
|
+
if (wantBlueBubblesMulti) {
|
|
4807
|
+
const bluebubblesPlugin = createBlueBubblesPlugin({
|
|
4808
|
+
defaultAgentId: agentId,
|
|
4809
|
+
loadConfig: () => cfg,
|
|
4810
|
+
runTurn: (turn) => runGatewayTurn(turn),
|
|
4811
|
+
});
|
|
4812
|
+
bundledChannelPlugins.push(bluebubblesPlugin);
|
|
4813
|
+
facadeHandles.push(bluebubblesPlugin);
|
|
4814
|
+
multiAccountSummary.push(`bluebubbles x${bluebubblesAccounts.length}`);
|
|
4815
|
+
}
|
|
4770
4816
|
const pluginById = new Map(bundledChannelPlugins.map((p) => [p.id, p]));
|
|
4771
4817
|
// Register each constructed plugin's `meta` + its `messaging`/`security`
|
|
4772
4818
|
// slots into the process-wide registries. These are full `ChannelPlugin`
|