Add configurable group session scope (default user_in_chat).

Ops bots now isolate per-speaker Harness sessions in groups, with a
settings/RPC toggle to restore shared chat sessions when needed.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
oliver 2026-09-05 15:39:28 +08:00
parent d10a941fc8
commit 7f1b9bd480
30 changed files with 798 additions and 282 deletions

View file

@ -625,6 +625,7 @@ export class WhatsappRuntime {
#state;
#contextEnhancement;
#accessPolicy;
#groupSessionScope;
#logger;
#replyTimeoutMs;
#connectTimeoutMs;
@ -644,6 +645,7 @@ export class WhatsappRuntime {
state,
contextEnhancement,
accessPolicy,
groupSessionScope,
logger = console,
replyTimeoutMs = 600_000,
connectTimeoutMs = 30_000,
@ -659,6 +661,7 @@ export class WhatsappRuntime {
this.#state = state;
this.#contextEnhancement = contextEnhancement;
this.#accessPolicy = accessPolicy;
this.#groupSessionScope = groupSessionScope;
this.#logger = logger;
this.#replyTimeoutMs = replyTimeoutMs;
this.#connectTimeoutMs = connectTimeoutMs;
@ -756,6 +759,7 @@ export class WhatsappRuntime {
} : {}),
equals: whatsappAccessPolicyIdsEqual,
} : undefined,
groupSessionScope: this.#groupSessionScope,
status: this.#status,
logger: this.#logger,
replyTimeoutMs: this.#replyTimeoutMs,