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

@ -768,6 +768,7 @@ export class TelegramRuntime {
#state;
#contextEnhancement;
#accessPolicy;
#groupSessionScope;
#logger;
#replyTimeoutMs;
#createApi;
@ -787,6 +788,7 @@ export class TelegramRuntime {
state,
contextEnhancement,
accessPolicy,
groupSessionScope,
logger = console,
replyTimeoutMs = 600_000,
createApi = (options) => new TelegramApi(options),
@ -801,6 +803,7 @@ export class TelegramRuntime {
this.#state = state;
this.#contextEnhancement = contextEnhancement;
this.#accessPolicy = accessPolicy;
this.#groupSessionScope = groupSessionScope;
this.#logger = logger;
this.#replyTimeoutMs = replyTimeoutMs;
this.#createApi = createApi;
@ -902,6 +905,7 @@ export class TelegramRuntime {
state: this.#state,
contextEnhancement: this.#contextEnhancement,
accessPolicy: this.#accessPolicy,
groupSessionScope: this.#groupSessionScope,
status: this.#status,
logger: this.#logger,
replyTimeoutMs: this.#replyTimeoutMs,