Skip to content

feat(apps): simplify route registration and deprecate plugins - #575

Draft
Mehak Bindra (MehakBindra) wants to merge 1 commit into
mainfrom
mehakbindra-simplify-plugin-infrastructure
Draft

feat(apps): simplify route registration and deprecate plugins#575
Mehak Bindra (MehakBindra) wants to merge 1 commit into
mainfrom
mehakbindra-simplify-plugin-infrastructure

Conversation

@MehakBindra

Copy link
Copy Markdown
Member

Summary

  • add synchronous, idempotent App.register_routes() for caller-owned ASGI applications
  • keep App.initialize() backward compatible while separating route registration from async plugin initialization
  • deprecate the legacy plugins=, PluginBase, and @Plugin extension model without removing behavior or exports
  • document replacements using app.use(), app.event(), host lifespan hooks, normal composition, and explicit route registration
  • update the non-managed FastAPI example and add regression coverage

This is the compatibility-preserving first step toward the simpler extension model used across the Teams SDKs. Actual plugin removal is deferred to the next major release.

Closes #447

Validation

  • ruff format --check
  • ruff check
  • pyright
  • pytest packages — 1,104 passed
  • live examples/echo startup and HTTP 200 response from /docs

Add synchronous route registration for caller-owned ASGI hosts and deprecate the legacy plugin extension model without removing compatibility.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: e07e3fb9-03e8-4e38-88fc-8165e49374af
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support hosting the Teams endpoint inside a caller-owned ASGI app (sync route registration, host owns lifecycle)

1 participant