Sr. Content Developer at Microsoft, working remotely in PA, TechBash conference organizer, former Microsoft MVP, Husband, Dad and Geek.
163540 stories
·
33 followers

Customer Conversation harness – a new way to build customer-facing agents in Copilot Studio

1 Share

There’s a new harness in Copilot Studio! The Customer Conversation harness is built for agents that talk directly with customers – over voice and chat, in the same agent – combining predictable, controlled conversation paths with generative AI, sub-agents and built-in escalation to people.

It arrived together with Microsoft Contact Center Intelligence (CCI), announced on October 21, 2026. Most of the headlines are about the contact center, but the bigger story for makers is the harness underneath it. CCI is the application that puts this harness to work in contact centers – and the same builder is available directly in Copilot Studio.

The harness is in public preview and rolling out now.

Let’s take a closer look at what the new harness brings, how it fits next to the other harnesses, where Contact Center Intelligence comes in, and how it differs from Teams Phone Agent.

In this post:

The Customer Conversation harness – what is new

The Customer Conversation harness is the runtime for customer-facing agents in Copilot Studio. An agent built with it is called a Customer Assist Agent.

It is purpose-built for customer-facing conversations: natural, low-latency, over voice and chat. And the same builder is available both in Copilot Studio and in the Contact Center Intelligence portal – the authoring experience is identical no matter where you start.

What makes this new:

  • One agent for voice and chat. Every agent supports both Speech and Chat by default. You don’t need to choose the modality up front – and you can give separate instructions for speech and chat.
  • Deterministic and generative together. Topic skills bring back the topics we know from the standard harness, so critical customer journeys (payments, identity checks, compliance steps) follow a fixed path. Generative skills let AI handle the more open-ended conversation. This combination is the key thing here.
  • Multi-agent by design. A primary agent greets the customer, classifies intent and routes to specialist sub-agents – billing, technical support and so on – and each has its own escalation path to a human.
  • Prebuilt contact center tools. Escalate (to Teams Phone, email or a live agent through a contact center) and Biometric Authentication (biometric authentication needs an environment with Dynamics 365 apps enabled)
  • Plenty of tool options. Connectors, MCP servers, REST APIs, AI prompts, workflows and connected agents (currently Microsoft Foundry agents). Skills and memory are supported.
  • Memory for returning customers. The agent can carry approved context from earlier conversations, so a returning customer doesn’t start from zero. Memory is structured, short-term (30-day retention), and with a shared contact identifier, context from a phone call is available in the next chat – and the other way around.
  • Build, test, deploy and monitor in one place. The agent has Build, Preview, Evaluate, Deploy and Monitor tabs. When you publish, Copilot Studio automatically creates a demo website for testing.

Deployment channels range from the demo website, web chat and Teams Phone to Dynamics 365 Contact Center, Genesys or your own contact center platform. So you can start with a website or a phone number – no contact center needed.

Four harnesses in Copilot Studio – which one is which?

Copilot Studio now uses the word harness for the runtime behind every agent. It sits between what you design and the AI model: it decides when to call the model, what to send to it, and which tools to call. The harness affects what the agent can do, where you can publish it, and how it is billed.

With the Customer Conversation harness, there are now four:

StandardCopilot ChatGitHub CopilotCustomer Conversation (preview)
Best forRule-based agents and structured conversationsExtending Microsoft Copilot Chat with company knowledgeComplex, multi-step business processesCustomer service over voice and chat
How it worksFollows the topics and paths you buildAnswers from your knowledge inside Copilot ChatReasons toward a goal step by step and adjusts when a step failsPrimary agent routes to specialist sub-agents; fixed topics and AI skills together
AudienceEmployees or external customersEmployeesEmployees or external customersWebsite chat or a phone number
BillingCopilot Studio licensing for standard harnessConsumption, or included in Microsoft Copilot licensesCopilot CreditsCopilot Credits

Copilot Chat harness might be a new term for many – it was for me too! The name comes from Microsoft’s own documentation: Extend Microsoft Copilot with the Copilot chat harness. In practice it is the agent for Microsoft 365 Copilot (declarative agent) that you build in Copilot Studio by selecting Microsoft Copilot on the Agents page.

Customer Conversation harness takes the predictability of the standard harness and adds the generative, multi-agent capabilities on top – built for talking with customers instead of employees.

A simple way to choose:

  • An employee agent inside Copilot → Copilot Chat
  • Every path should be fixed and predictable → Standard
  • The agent needs to carry out a whole business process → GitHub Copilot
  • The agent talks directly with your customers → Customer Conversation

Contact Center Intelligence – the harness at work in the contact center

If the harness is the engine, Microsoft Contact Center Intelligence is the application built around it for contact centers. Customer Assist Agents are built with the Customer Conversation harness, and CCI brings them – together with quality, insights and governance – on top of contact center platforms that Microsoft does not run. The idea is simple: keep the contact center platform you already have – telephony, routing, phone numbers, agent desktop – and add Microsoft’s agents, quality scoring and analytics on top of it. No rip-and-replace migration.

Image: Microsoft

Around the agents, the initial CCI preview includes:

  • Contact center integrations – connect supported CCaaS platforms with native connectors, APIs and event streams. Initial guidance covers Genesys Cloud plus a universal connector for other platforms.
  • Quality and operational insights – Quality Assurance evaluation of interactions, real-time monitoring and historical dashboards. Quality scoring can evaluate up to 100% of conversations instead of a sample.
  • Biometric authentication – voice biometrics to identify and authenticate callers, including consent and authentication data management.
  • Microsoft platform integration – reuse agents built in Copilot Studio and extend them with Microsoft Foundry.

The CCI portal is also where an agent is connected to a live contact center: deploying to a contact center is done there by an Omnichannel Admin, along with biometric authentication setup and quality, insights and governance management.

Teams Phone Agent vs Customer Conversation agent

Both answer phone calls with AI, so they can easily look like the same thing. They are not – they do different jobs, and different people set them up.

Teams Phone Agent is the AI receptionist. It is part of Teams Phone, and a Teams admin configures it in the Teams admin center. It takes the old “press 1 for sales” auto attendant menu further with a natural conversation: it screens calls, answers common questions, manages appointments and routes the caller to the right person or call queue. Its main job is to get the call to the right place.

The Customer Conversation agent solves the case. It is built in Copilot Studio by a maker, and it is designed to handle the customer’s issue from start to finish: verify the caller, look up their orders or invoices, follow fixed steps where the process requires them, use AI for open-ended questions, and hand over to a person when needed. The same agent works in web chat and on contact center platforms too.

Teams Phone AgentCustomer Conversation agent
RoleReceptionist: answers, screens and routes callsService agent: solves the customer’s issue
Who builds itTeams adminCopilot Studio maker
ChannelsPhoneVoice and chat in one agent
DepthBuilt-in Q&A and appointmentsSub-agents, fixed topics, AI skills, connectors, MCP, workflows
Caller verification–Voice biometrics and one-time codes against customer records
Handover to peopleRoutes to people and call queuesEscalates to Teams Phone, contact center or live agent with context

One way to think about it: the Teams Phone Agent picks up the phone; the Customer Conversation agent solves the case. An organization on Teams Phone could use Teams Phone Agent for general reception, and route billing, order or support calls to a Customer Conversation agent.

No sign-in on voice – does it mean just Q&A?

The documentation says that speech channels don’t support end-user sign-in, so knowledge sources that need the user’s own credentials work only in chat. That raises a fair question: is a voice agent then just a Q&A bot without access to real customer data?

No. It only means the caller can’t sign in to the call the way a web user signs in to a portal. The agent can still identify the caller and work with real data:

  1. The agent verifies the caller. With Voice authentication turned on, the agent uses biometric authentication, authentication policies and one-time code challenges. You choose what identifies the caller – phone number, account number or another identifier – and match it against customer records in Dataverse (Contact and Account tables by default). Just like a human agent asking for your customer number and a code.
  2. Tools fetch the data. Once the caller is verified, connectors, MCP servers, REST APIs and workflows look up that customer’s orders, invoices or cases – using the agent’s own connection, not the caller’s sign-in. Topic skills are perfect for this kind of fixed, controlled step.
  3. The contact center passes context. When the agent runs on a contact center platform, the caller’s number and customer record are already known, and a verified identity carries over when the call goes to a human representative.
  4. Chat can use real sign-in. The agent’s authentication mode controls how users sign in across the whole orchestration, so knowledge that needs the user’s own credentials still works in chat.

What does not work over voice is answering based on the caller’s own permissions – “show me the documents I can access.” That needs real sign-in, so it’s chat only.

So, on voice, the agent works like a human contact center agent: verify who is calling, then look up their data with the agent’s own access. This needs careful design – give the agent only the access it really needs, and verify before revealing anything personal.

Note: voice authentication requires an environment with Dynamics 365 apps enabled, so a plain Copilot Studio trial environment won’t be enough to demo caller verification.

B2C, B2B and inside the company

B2C

  • Utilities and telecom – outage reporting, invoice questions and contract changes. Payment arrangements follow a fixed path, general questions get AI answers.
  • Insurance – first notice of a claim over the phone, with voice biometrics so the caller doesn’t need to answer security questions again when transferred to a person.
  • Retail and e-commerce – order status, returns and delivery changes, with sub-agents for orders, returns and products.
  • Healthcare and public services – appointment booking, prescription refills, opening hours and guidance.

B2B

  • Product support – technical support for business customers
  • Distributor and partner desk – stock levels, order status and price checks through ERP connectors.
  • Field service – technicians calling from a customer site to look up spare parts or open a service order, hands-free.

Inside the company

  • HR service desk – benefits, enrollment, payroll questions and absence reporting
  • IT help desk by phone – password and MFA issues, outage status, and escalation through Teams Phone to second-line support.
  • Facilities and workplace – bookings and fault reports, even from a meeting room phone.

An internal service desk can also be a smart first project: no CCaaS integration needed, no external customer data, and a scenario almost every organization recognizes.

How building an agent works

Based on Microsoft’s documentation, this is what building a Customer Conversation agent looks like.

What you need

  • Copilot Studio and an environment where you can create agents.
  • Copilot Credits. The harness uses usage-based billing – building, testing and evaluating agents can consume Copilot Credits.
  • Optional: an environment with Dynamics 365 apps enabled for voice authentication, and Teams Phone licensing with a phone number for the Teams Phone channel.
  • Not needed to get started: a contact center. Connecting an agent to a contact center is done later from the Contact Center Intelligence portal, by an Omnichannel Admin.

The steps

  1. Create – on the Copilot Studio Home page, under Other ways to build, select the Customer Conversation tile. Or go to Agents → New agent and pick the agent with the Customer Conversation badge.
  2. Describe – tell Copilot Studio in natural language what the agent should handle. It generates a starting primary agent with a name, description and instructions, plus suggested knowledge, tools and channels. You can refine it over several messages, or start from a blank agent.
  3. Instruct – check the description (max 1,024 characters, used for routing) and instructions (max 8,000 characters). The Speech and Chat tabs let you give separate guidance per modality – for example shorter answers and no lists over voice.
  4. Build – add knowledge, Generative and Topic skills, tools such as Escalate, events (Conversation Start, End of Conversation, On Error), and sub-agents or connected agents for focused intents like billing.
  5. Test – try conversations on the Preview tab and run test sets with pass/fail results on the Evaluate tab.
  6. Deploy and monitor – publish on the Deploy tab. Copilot Studio creates a demo website automatically, so you can try the agent like a customer would. Then add channels like web chat or Teams Phone, and follow activity on the Monitor tab

Tip for the first test: use a public website as the knowledge source. Knowledge that needs the user’s own sign-in only works in chat, while a public site works in both chat and voice.

Things to know before a pilot

  • It is a preview. Documentation is prerelease and subject to change, and preview features aren’t meant for production use.
  • Credits are consumed while building too. Building, testing and evaluating all use Copilot Credits, not only production conversations.
  • There can be two bills. Some contact center vendors charge for API access or voice-channel licenses, and those costs are not part of Microsoft’s pricing. A pilot budget should include both.
  • Voice biometrics is biometric data. Bring in legal and privacy early – consent, retention and regional rules matter.
  • Design the data access carefully. Over voice, the agent fetches customer data with its own access, so least privilege and verify-before-reveal are a must.
  • Web grounding leaves the compliance boundary. The “Use information from the web” setting uses Grounding with Bing Search, which can send data outside your organization’s compliance boundary.

Final thoughts

Building a good customer-facing voice and chat agent has needed many separate pieces. The Customer Conversation harness puts them together in Copilot Studio: voice and chat in one agent, fixed paths where the business needs control, AI where the conversation needs flexibility, memory for returning customers, and a person available when needed.

Contact Center Intelligence is the first big application built on it – and a strong one. But the harness itself is the part to watch. It works with a simple website or a Teams phone number, on top of the contact center an organization already has, and as an internal service desk. That makes it much easier to start small.

This is great example how to build AI empowered solutions helping in business scenarios!

Learn more

Announcements

Customer Conversation harness documentation (preview)

Harnesses and Teams Phone





Read the whole story
alvinashcraft
42 seconds ago
reply
Pennsylvania, USA
Share this story
Delete

Announcing new builds for 23 October 2026

1 Share
Hello Windows Insiders, Today, we’re releasing new Windows 11 Insider Preview builds to the Beta and Experimental channels. New builds this week Select your channel below to view its release notes: For those on other specific Windows build versions, here are today’s new builds and release notes:

Notable new features:

[Windows Insider Settings]

Release channel: Experimental
  • We've added the ability to filter Feature flags by enablement state.
[caption id="attachment_179240" align="aligncenter" width="1686"]Feature flags filtered by enablement state on the Windows Insider Program settings page. Feature flags filtered by enablement state on the Windows Insider Program settings page.[/caption]

[Quick Settings]

Release channel: Experimental Access your phone controls from Quick Settings
  • We're beginning to roll out a new Mobile devices experience in Quick Settings, making it easier to take quick phone actions (such as ring your phone) without breaking your flow on Windows.
  • With your supported Android phone connected, everyday actions are now just a click away. You can turn Do Not Disturb on before a meeting, change your phone's ringer mode, and play a sound to find your phone nearby.
  • It's a simpler, faster way to manage your phone from the place you already use for quick Windows actions, helping your PC and phone work better together throughout the day.
  • Capabilities can vary by phone platform and device configuration. The initial experience provides the most complete set of controls for Android phones, while iPhone support starts with a more limited status-focused experience.
[caption id="attachment_179242" align="aligncenter" width="534"]UI showing Mobile devices controls in Quick Settings for managing your connected Android phone. UI showing Mobile devices controls in Quick Settings for managing your connected Android phone.[/caption] Check your internet speed directly from Quick Settings
  • We're making it faster and easier to check the performance of your internet connection in Windows. Windows Insiders can now run an internet speed test and see the results directly in Quick Settings, without being redirected to a browser.
  • Start a test from the new Speed test Quick Setting, from the Wi-Fi or Cellular flyout, or by right-clicking the network icon in the system tray and selecting Test internet speed. While the test runs, Quick Settings shows its progress and results, including download speed, upload speed, and ping.
  • Because the test runs against your active internet connection, you can quickly understand how your current connection is performing without leaving your workflow. This updated experience builds on the internet speed test we previously introduced for Windows Insiders, bringing the test and its results directly into Windows.
[caption id="attachment_179244" align="aligncenter" width="432"]Internet speed test results in Windows. Internet speed test results in Windows.[/caption] Thanks, Stephen and the Windows Insider Program team
Read the whole story
alvinashcraft
49 seconds ago
reply
Pennsylvania, USA
Share this story
Delete

Tray-tober Day 23: Mini Ink

1 Share

There is something iconic about the sticky note on the computer monitor. One reason they work well is their flexibility, durability, and simplicity. Mini Ink attempts to achieve something similar on pen like devices but with an added template level that pairs well with what works for folks who find value in physical planners.

Grids, graphs, day planners, and hourly itineraries are not going away any time soon. Now they are in your tray with Mini Ink. Plan out your week, day, or draw up a quick sketch; all are super easy to do in an app that doesn’t try to be more than it is. Drawing with pen & ink is such a 2d spatial experience and the templates in this app aim to make that experience quicker at hand and easier to be useful.

I’d love to hear what you think of this experiment that uses the latest WinUI bits; please do let me know!

Happy Tray-tober!

Joe

Read the whole story
alvinashcraft
54 seconds ago
reply
Pennsylvania, USA
Share this story
Delete

Call For Papers Listings for 10/23

1 Share

A collection of upcoming CFPs (call for papers) from across the internet and around the world.

The post Call For Papers Listings for 10/23 appeared first on Leon Adato.

Read the whole story
alvinashcraft
1 minute ago
reply
Pennsylvania, USA
Share this story
Delete

Job listings for week ending 10/23

1 Share

Job postings that came across my desk, slack, email, discord, etc this week.

The post Job listings for week ending 10/23 appeared first on Leon Adato.

Read the whole story
alvinashcraft
1 minute ago
reply
Pennsylvania, USA
Share this story
Delete

dotnet-1.26.0

1 Share

Changes:

  • 9c8a351 Update package versions for release (#9650)
  • c3b9f22 Add ACGS to the Python community projects (#9618)
  • 71cf48c Python: Honor allow_multiple_tool_calls in AnthropicClient when tool_choice is unset (#8980)
  • ea32b6d Python: compose Copilot session hooks correctly (#9649)
  • 678c661 .NET: Fix AG-UI sample prerequisites and troubleshooting paths (#9620)
  • 8730cb1 .NET: Log a warning when an unsupported declarative action is skipped (#8056) [ #8040 ]
  • 9581926 .NET: Correct endpoint override instructions in Responses samples (#9639)
  • 9c53b5f Python: Refresh coding standards and Copilot review guidance (#9637)
  • 3b725b3 Python: fix(core): define EdgeGroup's builtins.type alias at module scope (#9614)
  • a8e284c Python: Add #9472 to 1.23.0 changelog (#9610)
See More
  • d33c445 Python: Bump package versions for 1.23.0 release (#9602)
  • 07a83a7 Python: Recommend include_detailed_errors only when it is disabled (#9472)
  • ce214c0 fix(dotnet): preserve toolbox OAuth consent (#9565) [ #8379 ]
  • c3ce250 Python: Set the assistant role on streamed Gemini updates (#9491)
  • fb57ceb Add Tracekit to the Python community projects (#9497)
  • 33439bf Python: Pass stream errors to nested streams when closing them (#9476)
  • d0c3e6a Python: Add installable Agent Framework builder skill (#9374)
  • 1263843 Python: Sanitize unexpected streaming response failures (#9460)
  • 074bc0b test(dotnet): remove legacy persistent tests (#9588) [ #9587 ]
  • bba9596 Python: Clarify MCP client ownership and add workflow sample (#9532)
  • 8ff2ec9 Python: close the RedisContextProvider index connection when the provider owns it (#9510)
  • 89457c5 docs: fix ChatResponse async aggregation example (#9518)
  • 74f3447 Python: Make Content base64 documentation examples runnable (#9467)
  • b7f8ad6 Python: Remove span-only tool attributes from invocation metrics (#9592)
  • 5da1769 docs: update A2A hosting example for SDK v1 (#9521)
  • 8be57da Python: fix(bedrock): report the requested model on non-streaming responses (#9399)
  • 0605025 docs: fix ChatKit streaming helper usage (#9523)
  • b7ce0d6 fix(workflows): support keyword-only RunContext in functional workflows (#9397)
  • 1ba7425 Python: Fix stateless shell tools inheriting host stdin (#9469)
  • a9eff53 Python: Handle missing reasoning text in DevUI (#9543)
  • a479349 Python: Correct Purview middleware setup in package guide (#9553)
  • 597342c Python: Fix Copilot Studio constructor in package guide (#9551)
  • 70ba23a fix: bind background completion waits to execution identity (#9442)
  • 10f7f98 .NET: Add AgentSessionStore.DeleteSessionAsync to the Abstraction (#8801) [ #7991, #8586 ]
  • c739447 Python: drop unsupported instructions from AF Copilot Studio migration samples (#9577)
  • 621e8e3 Python: pass judge model in evaluate_traces sample (#9576)
  • 6ae0f40 Python: Refresh dependencies and block compromised releases (#9590)
  • dbca9d8 Dotnet: DevUI improve local request checks (#9575)
  • 20f0728 Python: fix Foundry Toolbox quickstart commands and setup steps (#9550)
  • 4c191ff Python: fix(devui): fallback to empty string when reasoning chunk has no text (#9546) [ #9533 ]
  • 1fe5467 Python: Make MCP connection-loss recovery ownership-aware (#9583)
  • 0200599 Python: Improve settled approval matching (#9535)
  • 6b48d20 Tool name whitespace bugfix (#9557)
  • 08851e6 .NET: Add gRPC protocol selection to the A2A sample (#9563)
  • 30bc5c1 .NET: Honor hosted agent lifetimes and add request-time agent selection for AG-UI hosting (#9382)
  • f7c6928 .NET: Add file search timeout (#9536)
  • fa77467 .NET: Preserve A2A task status messages in agent responses (#9534)
  • 8ab068b .NET: Reject duplicate tool approval request IDs (#9542)
  • 809cc04 .NET: fix(dotnet): reset compiled workflow state between runs (#9540)
  • c01db29 ci: replaces unmaintained task for format diff (#9538)
  • bb4a743 fix(dotnet): validate MCP invocation headers (#9539)
  • 54b558b Python: Decode Ollama inline image data before serialization (#9459)
  • f7a5fcb .NET: Preserve caller cancellation in memory providers (#9269)
  • cca5b3d chore(deps): bump the artifact-actions group across 1 directory with 2 updates (#9501)
  • 1129da7 chore(deps): bump astral-sh/setup-uv in / (#9508)
  • 58eb5fa docs: fix stale experimental-ext-skills links in ADR 0029 (#9486)
  • 5fd206c chore(deps): bump github/codeql-action/analyze in / (#9505)
  • 633c190 chore(deps): bump github/codeql-action/autobuild in / (#9504)
  • eb6b528 chore(deps): bump github/codeql-action/init in / (#9503)
  • ebcf4db Bump the aspire group with 1 update (#9496)
  • 44fe223 .NET: Fix A2A message validation and sample server capabilities (#9465)
  • d12e4e9 .NET: fix(workflows): preserve expression result metadata (#9457)
  • 501cc6f .NET: Fix AG-UI SSE events written with explicit nulls (#7920) [ #7919 ]
  • 9127b89 Python: Document MCP v2 client lifecycle and update samples (#9237)
  • 05a3196 fix(dotnet): align expression failure diagnostics (#9456)
  • ba4f6b3 .NET/Python: [BREAKING] Clarify docker params usage and rename param (#9453)
  • ee36283 .NET: Deduplicate fan-out targets so each target runs once (#9432)
  • c2d2930 chore: upgrades messagepack to a safe version to unblock CI (#9455)
  • 17b1a14 Python: Isolate MCP lifecycle task context (#9451)
  • 1c6c5c4 docs: exclude standard MCP servers from community catalog (#9447)
  • 8a365f4 docs: correct Cosmos memory guide state scoping (#9443)
  • 2e08ad7 Python: Samples: terminate only on high/critical matches in ATR validation middleware (#9433)
  • 074e112 Resolve the BedrockEmbeddingClient region like the chat client (#9349)
  • b1c582e Python: Make tool-normalization documentation examples self-contained (#9333)
  • 5dc7949 Python: Use the public URI constructor in the Message example (#9332)
  • bfc4fdb Python: fix(declarative): honor the variable field in SetValue (#9428)
  • a32cf0b Bump opentelemetry-api from 1.45.0 to 1.45.1 in /python/packages/lab (#9424)
  • 5fea564 Bump orjson from 3.12.0 to 3.13.0 in /python/packages/lab (#9423)
  • 4eb06a6 Bump opentelemetry-sdk from 1.45.0 to 1.45.1 in /python/packages/lab (#9422)
  • 7a08162 Bump pydantic from 2.13.5 to 2.14.0 in /python/packages/lab (#9421)
  • 2c13059 Bump the agent-framework group in /python/packages/lab with 2 updates (#9420)
  • 3e789b4 Bump @radix-ui/react-checkbox in /python/packages/devui/frontend (#9416)
  • 8fe7123 Python: fix(lab-tau2): check the over-max warning before the half-of-max warning (#9341) [ #9338 ]
  • 29ac364 Python: fix(ag-ui): keep repeated single-chunk text deltas (#9339) [ #9336 ]
  • 9a1d66b [BREAKING] Python: Require explicit AG-UI authorization scope (#9413)
  • deecbcb .NET: fix(dotnet): validate declarative control-flow inputs (#9357)
  • 0ec6e47 fix(ci): separate dotnet unit and integration event selection (#9415)
  • f940e51 Clarify usage of tools on chatclient stack providers (#9429)
  • cae4955 .NET: fix(dotnet): refresh reused workflow executor state (#9394)
  • 596669a Add vectorstore community projects (#9414)
  • 220aec4 Python: Improve atomic writes for Memory and Todos (#9412)
  • 28e9844 Python: [BREAKING] Add MCP 2.x compatibility foundation (#9236)
  • 7809945 fix: close loop inner stream on early exit (#9331)
  • b00db84 Python: A2AExecutor: accept forwarded run kwargs from request metadata (#9193)
  • 440398f .NET: Add clarification for function middleware and FICC.AdditionalTools (#9409)
  • c808d82 .NET: Add CommunityToolkit.VectorData.Chroma to the .NET community projects (#9407)
  • 4509a61 Python: Bound declarative custom-function matches to one whole call (#9176) [ #9173 ]
  • 511d90c fix(dotnet): keep case-variant variable metadata independent (#9395)
  • 32fc0cd fix(dotnet): honor registered function approval requirements (#9393)
  • 5ffe5ca Python: Keep every queued approval result in the AG-UI thread snapshot (#8851) [ #8789 ]
  • c9b237c Python: fix(orchestration): add ensure_trailing_user_turn to SequentialBuilder for providers that return empty text on assistant-ending prompts (#8779)
  • 8396734 Accept Literal source types in the workflow edge type check (#9355)
  • 0c1beb6 Python: fix(bedrock): merge per-call client kwargs into the Converse request (#9345) [ #9344 ]
  • d95defa Python: fix(anthropic): nest bash tool result files inside the shell tool result (#9343) [ #9342 ]
  • f34d6d6 Python: Reject out-of-range Cosmos memory search parameters (#9318)
  • 48b45ac Python: fix(core): rebuild nested Content of image generation and MCP tool results in Content.from_dict (#9304)
  • 14229b0 Python: Bump package versions for 1.22.0 release (#9404) [ #9128 ]
  • 5478864 Python: fix(devui): discover entities exported with an annotated assignment (#9128)
  • c72f5ea Python: Treat a single string passed to Message as one text content (#9327)
  • abeed6c [BREAKING] Python: Protect AG-UI tool approval state from client Shared State (#9368)
  • 0d5af0f [BREAKING] Python: Bind AG-UI workflow interrupts to the resolved thread id (#9365)
  • 0cc867d Python: Preserve concurrent steps across workflow pause (#9291)

This list of changes was auto generated.

Read the whole story
alvinashcraft
1 minute ago
reply
Pennsylvania, USA
Share this story
Delete
Next Page of Stories