Skip to content

ChatWalaʻau v0.88.1

Choose a tag to compare

@motojinc25 motojinc25 released this 26 Jun 06:22
· 4 commits to main since this release

This release adds one new feature to ChatWalaʻau: Microsoft Teams Integration.

Highlights

Microsoft Teams Integration (v0.88.1)

  • Talk to the ChatWalaʻau agent directly from Microsoft Teams -- a 1:1 personal chat, a group chat, or a channel -- using the Teams bot chat UI and Adaptive Cards. It is the first external chat-channel integration: the same agent you use in the web app answers in Teams, with no separate chat logic.
  • Receives messages at POST /api/teams/messages (path configurable), authenticated by Microsoft Bot Framework JWT. In a group or channel the bot is addressed with an @mention (its own mention is stripped before the agent reads your message), and its reply @mentions you back so it is clear who it is answering (personal chats carry no mention).
  • Replies proactively so long answers never time out Teams: the request is acknowledged immediately, the agent turn runs in the background, a typing indicator shows while it works, and the reply is posted when ready (split to stay within Teams' ~25000-character message limit).
  • Conversations are real chat history. Every Teams turn is saved to the same session store as your Web and API chats, so a personal chat, group chat, or channel accumulates as one conversation, shows up in the sidebar and search with a "Teams" badge, and the assistant remembers the earlier turns of that conversation.
  • Generated images display inline in Teams -- the actual image data is sent to the conversation (not a link), and the same image renders when you open that Teams conversation in the Web app.
  • Tool approval in Teams is an Adaptive Card with Allow Once / Allow Session / Deny -- the agent never runs an approval-gated tool without your decision, and Allow Session remembers the choice for that conversation so it does not re-ask.
  • A welcome message is posted when the bot is added to a chat, group chat, or channel, so you can confirm a successful add.
  • Access control: optionally restrict who can use the bot to specific Microsoft Entra ID users (by Object ID) via TEAMS_ALLOWED_USERS; the default is everyone in the bot's reach.
  • Off by default and self-contained: set TEAMS_ENABLED=true plus the bot credentials (TEAMS_APP_ID, TEAMS_APP_PASSWORD, TEAMS_TENANT_ID) to turn it on. When off, the Teams endpoint is not mounted and the Teams SDK is never loaded -- the runtime is unchanged. DEMO_MODE deployments are unaffected.
  • Local development exposes your machine to Teams through a public HTTPS tunnel (Microsoft Dev Tunnels by default; ngrok or cloudflared also work); the bot is registered with the Microsoft Teams CLI (or the Entra / Azure portal).

Included in this release

This release includes implementation work from:

  • v0.88.0 through v0.88.1

Notes

  • No breaking changes. With no operator action (TEAMS_ENABLED unset/false, the default) the Teams endpoint is not mounted, the Teams SDK is never imported, and the runtime is byte-for-byte the previous behavior. No removed or renamed endpoints, settings, or environment variables, and no data migration.
  • Upgrade note (additive, non-breaking): the Microsoft Teams SDK for Python (microsoft-teams-apps) is now a default dependency, so an upgrade pulls it in; it is only imported at runtime when TEAMS_ENABLED=true.
  • Internal design management content and architecture control artifacts are intentionally omitted from this release note.

Installation

See the repository README for setup and usage instructions.

Version

  • Release version: 0.88.1
  • Previous release: 0.87.0