d75f2286f4
* 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>
4.7 KiB
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 usebeta- prerelease packages that are not currently release candidatesrc- release candidate packages, these are close to ready for release but may still have some breaking changes before the final releasereleased- stable packages without a prerelease suffix, these are stable packages that should not have breaking changes between versionsdeprecated- 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 fromagent_framework_declarative, includingAgentFactory,DeclarativeLoaderError,ProviderLookupError, andProviderTypeMappingfromagent_framework_declarative/_loader.py
EVALS
agent-framework-core: exported evaluation APIs fromagent_framework, includingLocalEvaluator,evaluate_agent,evaluate_workflow, and the related evaluation types and helper checks defined inagent_framework/_evaluation.pyagent-framework-foundry:FoundryEvals,evaluate_traces, andevaluate_foundry_target
SKILLS
agent-framework-core: exported skills APIs fromagent_framework, includingSkill,SkillResource,SkillScript,SkillScriptRunner, andSkillsProviderfromagent_framework/_skills.py
Release-candidate features
There are currently no feature-level rc APIs.