feat(msteams): add config reload, DM policy, proper shutdown

- Add msteams to config-reload.ts (ProviderKind, ReloadAction, rules)
- Add msteams to PairingProvider for pairing code support
- Create conversation-store.ts for storing ConversationReference
- Implement DM policy check (disabled/pairing/open/allowlist)
- Fix WasMentioned to check actual bot mentions via entities
- Fix server shutdown by using custom Express server with httpServer.close()
- Pass authConfig to CloudAdapter for outbound call authentication
- Improve error logging with JSON serialization
This commit is contained in:
Onur
2026-01-07 23:36:30 +03:00
committed by Peter Steinberger
parent 1c73d45106
commit e0812f8c4d
5 changed files with 288 additions and 28 deletions

View File

@@ -17,7 +17,8 @@ export type ProviderKind =
| "discord"
| "slack"
| "signal"
| "imessage";
| "imessage"
| "msteams";
export type GatewayReloadPlan = {
changedPaths: string[];
@@ -50,7 +51,8 @@ type ReloadAction =
| "restart-provider:discord"
| "restart-provider:slack"
| "restart-provider:signal"
| "restart-provider:imessage";
| "restart-provider:imessage"
| "restart-provider:msteams";
const DEFAULT_RELOAD_SETTINGS: GatewayReloadSettings = {
mode: "hybrid",
@@ -75,6 +77,7 @@ const RELOAD_RULES: ReloadRule[] = [
{ prefix: "slack", kind: "hot", actions: ["restart-provider:slack"] },
{ prefix: "signal", kind: "hot", actions: ["restart-provider:signal"] },
{ prefix: "imessage", kind: "hot", actions: ["restart-provider:imessage"] },
{ prefix: "msteams", kind: "hot", actions: ["restart-provider:msteams"] },
{ prefix: "identity", kind: "none" },
{ prefix: "wizard", kind: "none" },
{ prefix: "logging", kind: "none" },
@@ -212,6 +215,9 @@ export function buildGatewayReloadPlan(
case "restart-provider:imessage":
plan.restartProviders.add("imessage");
break;
case "restart-provider:msteams":
plan.restartProviders.add("msteams");
break;
default:
break;
}