 
|
5ee06853a1
|
Python: [BREAKING] Redesign Python exception hierarchy (#4082)
* [BREAKING] Redesign Python exception hierarchy
Replace the flat ServiceException family with domain-scoped branches:
- AgentException (with InvalidAuth, InvalidRequest, InvalidResponse, ContentFilter)
- ChatClientException (same consistent suberrors)
- IntegrationException (same + InitializationError)
- WorkflowException (Runner, Convergence, Checkpoint, Validation, Action, Declarative)
- ContentError (AdditionItemMismatch)
- ToolException / ToolExecutionException (unchanged)
- MiddlewareException / MiddlewareTermination (unchanged)
Key changes:
- All Service* exceptions removed (ServiceException, ServiceInitializationError, etc.)
- AgentExecutionException split into AgentInvalidRequest/ResponseException
- AgentInvocationError removed, split into AgentInvalidRequest/ResponseException
- Workflow exceptions moved from _workflows/_exceptions.py into main exceptions.py
- _workflows/__init__.py emptied; main __init__.py imports directly from submodules
- Purview exceptions re-parented under IntegrationException hierarchy
- Init validation errors use built-in ValueError/TypeError instead of custom exceptions
- CODING_STANDARD.md updated with hierarchy design and rationale
Fixes microsoft/agent-framework#3410
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Clarify ToolException vs ToolExecutionException docstrings
ToolException: base class for all tool-related exceptions (preconditions,
connection/init failures).
ToolExecutionException: runtime call failures (tool call failed, reconnect
failed, MCP errors).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Fix remaining stale imports from agent_framework._workflows
- azurefunctions: _context.py, _app.py, _serialization.py, test_func_utils.py
used 'from agent_framework._workflows import X' which broke after
emptying _workflows/__init__.py; changed to direct submodule imports
- azure-ai-search: test still referenced ServiceInitializationError;
updated to ValueError to match production code
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
2026-02-19 17:58:14 +00:00 |
|
 
|
0521f5bed8
|
Python: [BREAKING] Simplify API: ChatAgent -> Agent, ChatMessage -> Message (#3747)
* [BREAKING] Rename ChatAgent -> Agent, ChatMessage -> Message, ChatClientProtocol -> SupportsChatGetResponse
Simplify the public API by removing redundant 'Chat' prefix from core types:
- ChatAgent -> Agent
- RawChatAgent -> RawAgent
- ChatMessage -> Message
- ChatClientProtocol -> SupportsChatGetResponse
Also renamed internal WorkflowMessage (was Message in _runner_context) to avoid collision.
No backward compatibility aliases - this is a clean breaking change.
* [BREAKING] Rename Agent chat_client parameter to client
* Fix rebase issues: WorkflowMessage references and broken markdown links
* Fix formatting and lint issues from code quality checks
* Fix import ordering in workflow sample files
* fixed rebase
* Fix test failures: use WorkflowMessage and A2AMessage after ChatMessage→Message rename
- Replace Message(data=..., source_id=...) with WorkflowMessage(...) in workflow tests
- Fix isinstance check in A2A agent to use A2AMessage instead of Message
- Fix import in test_workflow_observability.py (Message→WorkflowMessage)
* Fix lint, fmt, and sample errors after ChatMessage→Message rename
- Auto-fix 70+ ruff lint issues across samples (ChatMessage→Message refs)
- Fix HostedVectorStoreContent→Content.from_hosted_vector_store in file search sample
- Fix _normalize_messages→normalize_messages in custom agent sample
- Fix context.terminate→raise MiddlewareTermination in middleware samples
- Fix with_update_hook→with_transform_hook in override middleware sample
- Add TOptions_co import back to custom_chat_client sample
- Add noqa for FastAPI File() default in chatkit sample
- Fix B023 loop variable capture in weather agent sample
* fix: update Agent constructor calls from chat_client to client in declaration-only tool tests
* fix: add register_cleanup to devui lazy-loading proxy and type stub
* fixed tests and updated new pieces
* fix agui typevar
* fix merge errors
* fix merge conflicts
* fiux merge
* Remove unused links
---------
Co-authored-by: Evan Mattson <evan.mattson@microsoft.com>
|
2026-02-10 23:04:32 +00:00 |
|
 Eduard van ValkenburgandGitHub
|
eaad042241
|
.NET: Python: Add AGENTS.md files and update coding standards (#3644)
* Add AGENTS.md files and update coding standards for Python
- Add root python/AGENTS.md with project structure and package links
- Add AGENTS.md for each package describing purpose and main classes
- Update .github/copilot-instructions.md with improved structure
- Update python/CODING_STANDARD.md with API review guidance:
- Future annotations convention (#3578)
- TypeVar naming convention (#3594)
- Mapping vs MutableMapping (#3577)
- Avoid shadowing built-ins (#3583)
- Explicit exports (#3605)
- Exception documentation guidelines (#3410)
- Simplify python/.github/instructions/python.instructions.md to reference AGENTS.md
- Remove AGENTS.md from .gitignore
* Fix purview import path in AGENTS.md
* Address PR review comments and restructure instructions
- Slim down .github/copilot-instructions.md to reference language-specific docs
- Add ADR section explaining templates and purpose
- Create dotnet/AGENTS.md with .NET-specific build commands, conventions, and sample guidance
- Update Python build/test instructions for core vs isolated changes
- Fix Microsoft.Extensions.AI package references
- Update kwargs guidance per issue #3642
- Fix Python sample helper placement (top, not bottom)
- Document new 'typing' poe task in DEV_SETUP.md
* Add 'typing' poe task to run both pyright and mypy
* Add kwargs guidelines from issue #3642 to CODING_STANDARD.md
* Clarify that connector packages pull in core as dependency
|
2026-02-05 10:27:46 +00:00 |
|