msteams: implement Teams AI agent UX best practices (#51808)

Migrates the Teams extension from @microsoft/agents-hosting to the official Teams SDK (@microsoft/teams.apps + @microsoft/teams.api) and implements Microsoft's AI UX best practices for Teams agents.

- AI-generated label on all bot messages (Teams native badge + thumbs up/down)
- Streaming responses in 1:1 chats via Teams streaminfo protocol
- Welcome card with configurable prompt starters on bot install
- Feedback with reflective learning (negative feedback triggers background reflection)
- Typing indicators for personal + group chats (disabled for channels)
- Informative status updates (progress bar while LLM processes)
- JWT validation via Teams SDK createServiceTokenValidator
- User-Agent: teams.ts[apps]/<sdk-version> OpenClaw/<version> on outbound requests
- Fix copy-pasted image downloads (smba.trafficmanager.net auth allowlist)
- Pre-parse auth gate (reject unauthenticated requests before body parsing)
- Reflection dispatcher lifecycle fix (prevent leaked dispatchers)
- Colon-safe session filenames (Windows compatibility)
- Cooldown cache eviction (prevent unbounded memory growth)

Closes #51806
This commit is contained in:
Sid Uppal
2026-03-23 22:03:39 -07:00
committed by GitHub
parent ea62655e19
commit cd90130877
39 changed files with 3349 additions and 690 deletions

View File

@@ -49,7 +49,7 @@ function findFatalUnresolvedImport(lines) {
}
const normalizedLine = line.replace(ANSI_ESCAPE_RE, "");
if (!normalizedLine.includes("extensions/")) {
if (!normalizedLine.includes("extensions/") && !normalizedLine.includes("node_modules/")) {
return normalizedLine;
}
}