Skip to content

fix(dojo): support Microsoft Agent Framework rc8 interrupts#2179

Open
ranst91 wants to merge 4 commits into
mainfrom
codex/maf-python-rc8-dojo
Open

fix(dojo): support Microsoft Agent Framework rc8 interrupts#2179
ranst91 wants to merge 4 commits into
mainfrom
codex/maf-python-rc8-dojo

Conversation

@ranst91

@ranst91 ranst91 commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Summary

  • upgrade the Microsoft Agent Framework Python Dojo to agent-framework-ag-ui==1.0.0rc8 and the current OpenAI client surface
  • consume canonical AG-UI interrupts/resume for MAF HITL and predictive state while preserving legacy flows for other integrations
  • render MAF server-declared tools without redeclaring executable frontend tools
  • make interrupt resumes failure-safe and keep the shared predictive fixture compatible with other frameworks
  • add focused MAF browser coverage and correct the example docs/generated source

AG-UI compatibility findings

  • MAF rc8 RUN_FINISHED.interrupt resumes correctly through CopilotKit useInterrupt
  • MAF rejects duplicate server/client tool names, so the MAF Dojo path uses render-only registrations for server-declared tools
  • predictive-state hydration may initially expose a non-string schema placeholder; the page now normalizes it before rendering
  • the OpenAI chat-client constructor migration is required to launch this example but is incidental to the AG-UI protocol boundary

Test plan

  • uv lock --check && uv sync --locked
  • NX_DAEMON=false NX_TUI=false pnpm nx run demo-viewer:build
  • focused Chromium E2E for MAF HITL, predictive-state resume, and tool-based generative UI: 3 passed
  • manual browser verification for agentic chat, backend tool rendering, HITL resume, agentic/tool generative UI, shared state, and predictive-state resume
  • Prettier checks on authored files, generated-source verification, and git diff --check

Known repository tooling issue

Nx lint is blocked before reaching the Dojo by the existing missing eslint executable in @ag-ui/core; direct Dojo lint also hits the existing undefined compat reference in its ESLint config.

@ranst91
ranst91 requested a review from a team as a code owner July 13, 2026 23:33
@github-actions

github-actions Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Python Preview Packages

Version 0.0.0.dev1783985655 published to TestPyPI.

Warning: These packages are built from contributor code that may not yet have been vetted for correctness or security. Install at your own risk and do not use in production.

Install with uv

Add the TestPyPI index to your pyproject.toml:

[[tool.uv.index]]
name = "testpypi"
url = "https://test.pypi.org/simple/"
explicit = true

Then install the packages you need:

# Core SDK
uv add 'ag-ui-protocol==0.0.0.dev1783985655' --index testpypi

# Integrations (each already depends on the matching ag-ui-protocol preview)
uv add 'ag-ui-langgraph==0.0.0.dev1783985655' --index testpypi
uv add 'ag-ui-crewai==0.0.0.dev1783985655' --index testpypi
# NOTE: ag-ui-agent-spec depends on pyagentspec (git-only, not on PyPI).
# You will need to install pyagentspec separately from its git repo.
uv add 'ag-ui-agent-spec==0.0.0.dev1783985655' --index testpypi
uv add 'ag_ui_adk==0.0.0.dev1783985655' --index testpypi
uv add 'ag_ui_strands==0.0.0.dev1783985655' --index testpypi

Install with pip

pip install \
  --index-url https://test.pypi.org/simple/ \
  --extra-index-url https://pypi.org/simple/ \
  ag-ui-protocol==0.0.0.dev1783985655

Use --extra-index-url https://pypi.org/simple/ so pip can resolve
transitive dependencies (pydantic, fastapi, etc.) from real PyPI.


Commit: 11083b1

@pkg-pr-new

pkg-pr-new Bot commented Jul 13, 2026

Copy link
Copy Markdown

Open in StackBlitz

@ag-ui/a2a-middleware

pnpm add https://pkg.pr.new/ag-ui-protocol/ag-ui/@ag-ui/a2a-middleware@2179

@ag-ui/a2ui-middleware

pnpm add https://pkg.pr.new/ag-ui-protocol/ag-ui/@ag-ui/a2ui-middleware@2179

@ag-ui/event-throttle-middleware

pnpm add https://pkg.pr.new/ag-ui-protocol/ag-ui/@ag-ui/event-throttle-middleware@2179

@ag-ui/mcp-apps-middleware

pnpm add https://pkg.pr.new/ag-ui-protocol/ag-ui/@ag-ui/mcp-apps-middleware@2179

@ag-ui/mcp-middleware

pnpm add https://pkg.pr.new/ag-ui-protocol/ag-ui/@ag-ui/mcp-middleware@2179

@ag-ui/a2a

pnpm add https://pkg.pr.new/ag-ui-protocol/ag-ui/@ag-ui/a2a@2179

@ag-ui/adk

pnpm add https://pkg.pr.new/ag-ui-protocol/ag-ui/@ag-ui/adk@2179

@ag-ui/ag2

pnpm add https://pkg.pr.new/ag-ui-protocol/ag-ui/@ag-ui/ag2@2179

@ag-ui/agno

pnpm add https://pkg.pr.new/ag-ui-protocol/ag-ui/@ag-ui/agno@2179

@ag-ui/aws-strands

pnpm add https://pkg.pr.new/ag-ui-protocol/ag-ui/@ag-ui/aws-strands@2179

@ag-ui/claude-agent-sdk

pnpm add https://pkg.pr.new/ag-ui-protocol/ag-ui/@ag-ui/claude-agent-sdk@2179

@ag-ui/crewai

pnpm add https://pkg.pr.new/ag-ui-protocol/ag-ui/@ag-ui/crewai@2179

@ag-ui/langchain

pnpm add https://pkg.pr.new/ag-ui-protocol/ag-ui/@ag-ui/langchain@2179

@ag-ui/langgraph

pnpm add https://pkg.pr.new/ag-ui-protocol/ag-ui/@ag-ui/langgraph@2179

@ag-ui/llamaindex

pnpm add https://pkg.pr.new/ag-ui-protocol/ag-ui/@ag-ui/llamaindex@2179

@ag-ui/mastra

pnpm add https://pkg.pr.new/ag-ui-protocol/ag-ui/@ag-ui/mastra@2179

@ag-ui/pydantic-ai

pnpm add https://pkg.pr.new/ag-ui-protocol/ag-ui/@ag-ui/pydantic-ai@2179

@ag-ui/vercel-ai-sdk

pnpm add https://pkg.pr.new/ag-ui-protocol/ag-ui/@ag-ui/vercel-ai-sdk@2179

@ag-ui/watsonx

pnpm add https://pkg.pr.new/ag-ui-protocol/ag-ui/@ag-ui/watsonx@2179

@ag-ui/a2ui-toolkit

pnpm add https://pkg.pr.new/ag-ui-protocol/ag-ui/@ag-ui/a2ui-toolkit@2179

create-ag-ui-app

pnpm add https://pkg.pr.new/ag-ui-protocol/ag-ui/create-ag-ui-app@2179

@ag-ui/client

pnpm add https://pkg.pr.new/ag-ui-protocol/ag-ui/@ag-ui/client@2179

@ag-ui/core

pnpm add https://pkg.pr.new/ag-ui-protocol/ag-ui/@ag-ui/core@2179

@ag-ui/encoder

pnpm add https://pkg.pr.new/ag-ui-protocol/ag-ui/@ag-ui/encoder@2179

@ag-ui/proto

pnpm add https://pkg.pr.new/ag-ui-protocol/ag-ui/@ag-ui/proto@2179

commit: 5bf3005

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant