Files
microsoft--agent-framework/python/PACKAGE_STATUS.md
T
Eduard van Valkenburg d75f2286f4 Python: Add Telegram channel for agent-framework-hosting (#6698)
* Python: Add Telegram channel for agent-framework-hosting

- Add agent-framework-hosting-telegram package with TelegramChannel
  supporting polling and webhook transports, streaming edits with
  Telegram Bot API rate limiting, per-chat serial workers, and
  multi-modal inbound/outbound (text, photo, document, voice)
- Add local_telegram sample demonstrating multi-channel hosting with
  a TelegramChannel alongside ResponsesChannel, using per-chat
  FileHistoryProvider and a run_hook for Telegram persona temperature
- Fix test layout: move tests to tests/hosting_telegram/ (no __init__.py)
- Remove old [tool.mypy] section and mypy poe task; source type-checking
  is handled by pyright via shared_tasks
- Update uv.lock, pyproject.toml workspace sources, and PACKAGE_STATUS.md

Fixes #6588
Refs #6265

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

* Python: Address Telegram channel CI failures and review feedback

- Fix webhook secret validation to use constant-time compare_digest
- Harden webhook update parsing: require integer chat IDs and guard slash-only commands
- Fix streaming edge cases in TelegramChannel:
  - prevent edit worker deadlocks when text exceeds 4096 chars
  - prevent deadlock when placeholder send fails (message_id stays None)
  - enforce edit throttling with minimum interval sleep
  - honor send_typing_action=False in streaming mode
  - always forward final multimodal output (e.g. images), while avoiding duplicate text sends
- Expand Telegram tests for slash-only command handling, non-int chat IDs, and streaming behavior (long text, final images, typing toggle)
- Fix sample/docs feedback:
  - rename sample package to agent-framework-hosting-sample-local-telegram
  - switch sample uv.sources from feature branch to main
  - align docs/tool names with lookup_weather
  - fix broken links and server run instructions in README/call_server.py
  - align local_telegram app docstrings with reasoning hook behavior and strip model in responses_hook

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

* Python: Fix TelegramChannel streaming to iterate contents for multimodal support

- Remove stale PR reference from module docstring
- Add Google-style docstring to TelegramChannel.__init__ documenting all keyword args
- Fix _stream_to_chat to iterate update.contents instead of using
  getattr(update, 'text', None); text chunks are extracted from Content
  items with type='text', non-text content in updates is correctly
  ignored (images etc. are forwarded via the final response)
- Update _FakeStreamUpdate test helper to use contents list matching the
  real AgentResponseUpdate API; add from_text/from_image class methods
- Update _FakeResponseStream to accept _FakeStreamUpdate objects directly
- Add test verifying multimodal stream updates don't corrupt text accumulator

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

* Python: Split local_telegram into simple Telegram-only and new multi-channel sample

local_telegram is now a focused Telegram-only sample:
- Removes ResponsesChannel and all responses_hook code
- Removes call_server.py (no HTTP endpoint to call)
- Uses a deterministic lookup_weather tool (hash-based, not random)
- Single run_hook that strips model and raises reasoning effort
- Drops agent-framework-hosting-responses dependency

New local_multi_channel sample shows running both channels at once:
- ResponsesChannel + TelegramChannel sharing a FileHistoryProvider
- Cross-channel session resumption via previous_response_id
- call_server.py moved here (the Responses endpoint lives here now)
- Demonstrates the multi-channel coordination story

Update README table to list both samples with clear descriptions.

Also delete personal_assistant/.venv which was not tracked but caused
pyright to crawl the entire installed venv (thousands of files),
making sample pyright checks hang indefinitely.

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

* Python: Fallback when Telegram final edit fails

- only mark final edit as sent after a confirmed 2xx edit response
- fall back to sendMessage when final edit returns a non-success status
- add regression test covering failed final edit fallback behavior

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

* Python: Fix optional await_args typing in telegram test

- assert await_args is not None before reading kwargs in streaming fallback test
- resolves test-typing failures across mypy/pyright/ty/zuban for hosting-telegram

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-25 11:40:48 +00:00

4.7 KiB

Python Package Status

This file tracks the current lifecycle state of the Python packages in this workspace. Some packages at later stages might have features within them that are not ready yet, these have feature stage decorators on the relevant APIs, and for experimental features warnings are raised. See the Feature-level staged APIs section below for details on which features are in which stage and where to find them.

Status is grouped into these buckets:

  • alpha - initial release and early development packages that are not yet ready for general use
  • beta - prerelease packages that are not currently release candidates
  • rc - release candidate packages, these are close to ready for release but may still have some breaking changes before the final release
  • released - stable packages without a prerelease suffix, these are stable packages that should not have breaking changes between versions
  • deprecated - removed or deprecated packages that should not be used for new work

Current packages

Package Path State
agent-framework python/ released
agent-framework-a2a python/packages/a2a beta
agent-framework-ag-ui python/packages/ag-ui rc
agent-framework-anthropic python/packages/anthropic beta
agent-framework-azure-contentunderstanding python/packages/azure-contentunderstanding alpha
agent-framework-azure-ai-search python/packages/azure-ai-search beta
agent-framework-azure-cosmos python/packages/azure-cosmos beta
agent-framework-azurefunctions python/packages/azurefunctions beta
agent-framework-bedrock python/packages/bedrock beta
agent-framework-chatkit python/packages/chatkit beta
agent-framework-claude python/packages/claude beta
agent-framework-copilotstudio python/packages/copilotstudio beta
agent-framework-core python/packages/core released
agent-framework-declarative python/packages/declarative rc
agent-framework-devui python/packages/devui beta
agent-framework-durabletask python/packages/durabletask beta
agent-framework-foundry python/packages/foundry released
agent-framework-foundry-local python/packages/foundry_local beta
agent-framework-gemini python/packages/gemini alpha
agent-framework-github-copilot python/packages/github_copilot rc
agent-framework-hosting python/packages/hosting alpha
agent-framework-hosting-responses python/packages/hosting-responses alpha
agent-framework-hosting-telegram python/packages/hosting-telegram alpha
agent-framework-hyperlight python/packages/hyperlight beta
agent-framework-lab python/packages/lab beta
agent-framework-mem0 python/packages/mem0 beta
agent-framework-mistral python/packages/mistral alpha
agent-framework-monty python/packages/monty alpha
agent-framework-ollama python/packages/ollama beta
agent-framework-openai python/packages/openai released
agent-framework-orchestrations python/packages/orchestrations released
agent-framework-purview python/packages/purview beta
agent-framework-redis python/packages/redis beta

Deprecated / removed packages

Package Previous path State Notes
agent-framework-azure-ai python/packages/azure-ai deprecated The client classes within the azure-ai package were renamed, sometimes changed, and moved to agent-framework-foundry.

Feature-level staged APIs

The following feature IDs have explicit feature-stage decorators on public APIs in the packages listed below.

Experimental features

DECLARATIVE_AGENTS

  • agent-framework-declarative: declarative agent loading APIs from agent_framework_declarative, including AgentFactory, DeclarativeLoaderError, ProviderLookupError, and ProviderTypeMapping from agent_framework_declarative/_loader.py

EVALS

  • agent-framework-core: exported evaluation APIs from agent_framework, including LocalEvaluator, evaluate_agent, evaluate_workflow, and the related evaluation types and helper checks defined in agent_framework/_evaluation.py
  • agent-framework-foundry: FoundryEvals, evaluate_traces, and evaluate_foundry_target

SKILLS

  • agent-framework-core: exported skills APIs from agent_framework, including Skill, SkillResource, SkillScript, SkillScriptRunner, and SkillsProvider from agent_framework/_skills.py

Release-candidate features

There are currently no feature-level rc APIs.