fix(routing): unify session delivery invariants for duplicate suppression (#33786)

* Routing: unify session delivery invariants

* Routing: address PR review feedback

* Routing: tighten topic and session-scope suppression

* fix(chat): inherit routes for per-account channel-peer sessions
This commit is contained in:
Tak Hoffman
2026-03-03 21:40:38 -06:00
committed by GitHub
parent 1be39d4250
commit 7f2708a8c3
12 changed files with 436 additions and 28 deletions

View File

@@ -1,7 +1,7 @@
export function extractToolSend(
args: Record<string, unknown>,
expectedAction = "sendMessage",
): { to: string; accountId?: string } | null {
): { to: string; accountId?: string; threadId?: string } | null {
const action = typeof args.action === "string" ? args.action.trim() : "";
if (action !== expectedAction) {
return null;
@@ -11,5 +11,12 @@ export function extractToolSend(
return null;
}
const accountId = typeof args.accountId === "string" ? args.accountId.trim() : undefined;
return { to, accountId };
const threadIdRaw =
typeof args.threadId === "string"
? args.threadId.trim()
: typeof args.threadId === "number"
? String(args.threadId)
: "";
const threadId = threadIdRaw.length > 0 ? threadIdRaw : undefined;
return { to, accountId, threadId };
}