mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-12 15:30:39 +00:00
* 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
23 lines
774 B
TypeScript
23 lines
774 B
TypeScript
export function extractToolSend(
|
|
args: Record<string, unknown>,
|
|
expectedAction = "sendMessage",
|
|
): { to: string; accountId?: string; threadId?: string } | null {
|
|
const action = typeof args.action === "string" ? args.action.trim() : "";
|
|
if (action !== expectedAction) {
|
|
return null;
|
|
}
|
|
const to = typeof args.to === "string" ? args.to : undefined;
|
|
if (!to) {
|
|
return null;
|
|
}
|
|
const accountId = typeof args.accountId === "string" ? args.accountId.trim() : undefined;
|
|
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 };
|
|
}
|