agents 1.4.0
agents: ^1.4.0 copied to clipboard
Dart port of the Microsoft Agents AI framework. Build, compose, and orchestrate AI agents backed by any ChatClient — with sessions, streaming, tool use, compaction, evaluation, and middleware pipelines.
Changelog #
1.4.0 #
- Add loop agents under
harness/loop/:LoopAgentandLoopAgentOptionsrun an inner agent repeatedly until an evaluator signals completion, with pluggableLoopEvaluatorstrategies —AIJudgeLoopEvaluator,CompletionMarkerLoopEvaluator,TodoCompletionLoopEvaluator, andDelegateLoopEvaluator— plusLoopContext,LoopEvaluation, andJudgeVerdictsupport types. - Add Magentic multi-agent orchestration to the workflows engine:
MagenticWorkflowBuilder,MagenticOrchestrator, the plan-review request/response messages, and the progress ledger (ports the upstream Magentic manager/orchestrator pattern). - Add OpenAI-compatible hosting under
hosting/open_ai/: shelf-based routers and handlers for the Chat Completions, Conversations, and Responses APIs, backed by in-memory storage, exposed throughopen_ai_hosting_service_collection_extensions. - Add
shelf: ^1.4.0andshelf_router: ^1.1.0dependencies for the OpenAI hosting routers. - Fix fan-in edges losing buffered messages across checkpoint/resume: pending
fan-in contributions are now captured in
Checkpoint.fanInStateand restored on resume (both the in-proc and legacy execution engines). Old checkpoint JSON without the field remains loadable. - Fix fan-in edges dropping all but the last message from a source that sent
more than once before the edge released; all buffered messages are now
delivered, ordered by source then arrival (matches upstream
FanInEdgeStatesemantics). - Fix streamed responses losing
responseId,messageId,createdAt,usage,modelId,rawRepresentation, andadditionalPropertieswhen coalesced byChatClientAgentandPerServiceCallChatHistoryPersistingChatClient; all call sites now share onetoChatResponse()extension (ports C#ToChatResponse). - Fix
A2AAgentSession.serialize()dropping the sessionstateBag; it now round-trips, and legacy payloads without it remain loadable. - Remove the unused
StatefulEdgeRunnerinterface (breaking; it had no implementors — fan-in state is checkpointed viaCheckpoint.fanInState). - Rename
agent_response_t_.dart→agent_response_of.dartandprovider_session_state_t_state_.dart→provider_session_state.dart(library paths only; type names unchanged). - Simplify shell executor timeout handling with a shared
waitForProcessExithelper; removes an unmanaged kill timer and ensures the force-kill is awaited before draining output.
1.2.0 #
- Add A2A (Agent-to-Agent) protocol support:
- Client-side
A2AAgent,A2AAgentOptions,A2AAgentSession, andA2AContinuationTokenfor consuming remote agents over the A2A protocol. a2a_client_extensionsanda2a_agent_card_extensionshelpers.- Server-side hosting bridge:
A2AAgentHandler,A2ARunDecisionContext,A2AServerRegistrationOptions,agentRunMode, thea2a_server_service_collection_extensionsregistration helpers, and aMessageConverter.
- Client-side
- Add
a2a: ^4.2.0dependency.
1.1.0 #
- Previous release.