Skip to content

Python: Move ag_ui_workflow_handoff demo from demos/ to 05-end-to-end/#4900

Merged
moonbox3 merged 4 commits intomicrosoft:mainfrom
moonbox3:agent/fix-4895-1
Mar 26, 2026
Merged

Python: Move ag_ui_workflow_handoff demo from demos/ to 05-end-to-end/#4900
moonbox3 merged 4 commits intomicrosoft:mainfrom
moonbox3:agent/fix-4895-1

Conversation

@moonbox3
Copy link
Contributor

Motivation and Context

The ag_ui_workflow_handoff sample was placed under python/samples/demos/ but it is a full end-to-end demo with both a backend and frontend, so it belongs in the python/samples/05-end-to-end/ directory to follow the project's sample organization conventions.

Fixes #4895

Description

The entire ag_ui_workflow_handoff directory tree (backend, frontend, README) was moved from python/samples/demos/ to python/samples/05-end-to-end/. The README was also updated to replace hardcoded absolute paths (/Users/evmattso/git/agent-framework/python) with relative paths and to reflect the new sample location in all shell commands.

Contribution Checklist

  • The code builds clean without any errors or warnings
  • The PR follows the Contribution Guidelines
  • All unit tests pass, and I have added new tests where possible
  • Is this a breaking change? If yes, add "[BREAKING]" prefix to the title of the PR.

Note: PR autogenerated by moonbox3's agent

Move the AG-UI workflow handoff demo from python/samples/demos/ to
python/samples/05-end-to-end/ to follow the current folder structure
convention. Update README paths accordingly.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings March 25, 2026 09:56
@moonbox3 moonbox3 self-assigned this Mar 25, 2026
@markwallace-microsoft markwallace-microsoft added documentation Improvements or additions to documentation python labels Mar 25, 2026
Copy link
Contributor Author

@moonbox3 moonbox3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated Code Review

Reviewers: 4 | Confidence: 94%

✓ Correctness

This PR relocates the ag_ui_workflow_handoff sample from python/samples/demos/ to python/samples/05-end-to-end/ and updates README paths accordingly. The changes are purely structural (file renames) with documentation path corrections. The old hardcoded absolute path (/Users/evmattso/..) has been properly replaced with relative paths, and no stale references to the old location remain in the codebase.

✓ Security Reliability

This PR is a straightforward directory rename from python/samples/demos/ to python/samples/05-end-to-end/ with README path corrections (replacing hardcoded absolute paths with relative ones). No new code logic is introduced, and no security or reliability regressions are present. The only notable observation is that build artifacts (tsconfig.node.tsbuildinfo, tsconfig.tsbuildinfo, vite.config.d.ts, vite.config.js) are being carried along in version control, but this is a pre-existing issue not introduced by this PR.

✓ Test Coverage

This PR is a pure directory rename moving a sample from python/samples/demos/ to python/samples/05-end-to-end/, with path corrections in the README. No behavioral code was added or changed — only file locations and documentation paths were updated. There are no existing tests for this sample, and since it's an end-to-end demo sample (a standalone server + frontend app requiring Azure OpenAI credentials), the absence of unit tests is expected and not a concern for this PR. No test coverage issues arise from this change.

✓ Design Approach

This PR is a straightforward rename/relocation of a sample from samples/demos/ to samples/05-end-to-end/, with a fix to hardcoded developer-machine absolute paths in the README. The README path corrections are correct and consistent — both the backend and frontend instructions assume the user starts from the repository root. There are no design approach issues with the rename itself. However, build artifacts are being carried forward into the new location: vite.config.js, vite.config.d.ts (compiled from vite.config.ts), and tsconfig.tsbuildinfo / tsconfig.node.tsbuildinfo (TypeScript incremental build caches). These are pre-existing issues in the demos/ location, not newly introduced by this PR, but since the PR is touching the frontend directory anyway, this would be an appropriate time to add them to .gitignore and remove them rather than just relocating them.

Suggestions

  • The frontend build artifacts (vite.config.js, vite.config.d.ts, tsconfig.tsbuildinfo, tsconfig.node.tsbuildinfo) are compiled/generated outputs that should not be tracked in version control. Since this PR is already moving the frontend directory, consider adding a .gitignore (in the frontend folder or project root) to exclude *.tsbuildinfo, vite.config.js, and vite.config.d.ts, and remove them from the tree. This is pre-existing and not introduced by this PR, but worth cleaning up.

Automated review by moonbox3's agents

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Moves the ag_ui_workflow_handoff sample into the python/samples/05-end-to-end/ bucket to match the repo’s sample organization, and updates the README commands to use relative paths.

Changes:

  • Relocates the full end-to-end demo (backend FastAPI + frontend Vite/React) under python/samples/05-end-to-end/ag_ui_workflow_handoff/.
  • Adds the frontend project files (Vite/React/TypeScript + CSS + lockfile).
  • Updates the sample README to reflect the new location and remove hardcoded absolute paths.

Reviewed changes

Copilot reviewed 1 out of 16 changed files in this pull request and generated no comments.

Show a summary per file
File Description
python/samples/05-end-to-end/ag_ui_workflow_handoff/README.md Updated run instructions and paths for the moved sample.
python/samples/05-end-to-end/ag_ui_workflow_handoff/backend/server.py Backend FastAPI server exposing the AG-UI workflow endpoint.
python/samples/05-end-to-end/ag_ui_workflow_handoff/frontend/index.html Frontend HTML entrypoint for the Vite app.
python/samples/05-end-to-end/ag_ui_workflow_handoff/frontend/package.json Frontend dependencies and scripts for the demo UI.
python/samples/05-end-to-end/ag_ui_workflow_handoff/frontend/package-lock.json Locked frontend dependency tree.
python/samples/05-end-to-end/ag_ui_workflow_handoff/frontend/tsconfig.json TypeScript config for the app source.
python/samples/05-end-to-end/ag_ui_workflow_handoff/frontend/tsconfig.node.json TypeScript config for the Vite config (node context).
python/samples/05-end-to-end/ag_ui_workflow_handoff/frontend/tsconfig.tsbuildinfo TypeScript incremental build artifact (should not be committed).
python/samples/05-end-to-end/ag_ui_workflow_handoff/frontend/tsconfig.node.tsbuildinfo TypeScript incremental build artifact (should not be committed).
python/samples/05-end-to-end/ag_ui_workflow_handoff/frontend/vite.config.ts Vite config source (TypeScript).
python/samples/05-end-to-end/ag_ui_workflow_handoff/frontend/vite.config.js Emitted build artifact copy of Vite config (should not be committed).
python/samples/05-end-to-end/ag_ui_workflow_handoff/frontend/vite.config.d.ts Emitted declaration artifact (should not be committed).
python/samples/05-end-to-end/ag_ui_workflow_handoff/frontend/src/App.tsx Main demo UI: SSE event handling, interrupt resume, reviewer modal.
python/samples/05-end-to-end/ag_ui_workflow_handoff/frontend/src/main.tsx React bootstrapping entrypoint.
python/samples/05-end-to-end/ag_ui_workflow_handoff/frontend/src/styles.css Styling for the demo UI.
python/samples/05-end-to-end/ag_ui_workflow_handoff/frontend/src/vite-env.d.ts Vite client type references.
Comments suppressed due to low confidence (1)

python/samples/05-end-to-end/ag_ui_workflow_handoff/README.md:52

  • The step 1 commands cd python, but step 2 uses cd python/samples/.../frontend. If users run step 2 immediately after step 1, that path becomes python/python/... and will fail. Suggest making all paths relative to a consistent starting directory (e.g., after cd python, use cd samples/05-end-to-end/.../frontend).

…oft#4895)

- Add .gitignore to frontend/ to exclude *.tsbuildinfo, vite.config.js,
  and vite.config.d.ts build artifacts from version control
- Remove the 4 tracked build artifact files from the tree
- Fix step 2 cd path in README to be relative after 'cd python'

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Contributor Author

@moonbox3 moonbox3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated Code Review

Reviewers: 4 | Confidence: 92%

✓ Correctness

This PR is a straightforward cleanup: it removes accidentally committed build artifacts (tsconfig.node.tsbuildinfo, tsconfig.tsbuildinfo, vite.config.d.ts, vite.config.js) and adds a .gitignore to prevent them from being re-committed. The README path fix from python/samples/... to samples/... is correct because step 1 already instructs the user to cd python, so subsequent paths should be relative to that directory. No correctness issues found.

✓ Security Reliability

This PR is a clean housekeeping change that removes accidentally committed build artifacts (tsconfig.node.tsbuildinfo, tsconfig.tsbuildinfo, vite.config.d.ts, vite.config.js) and adds a .gitignore to prevent them from being re-committed. The source file vite.config.ts is preserved. The README path fix is also correct. No security or reliability concerns.

✓ Test Coverage

This PR removes accidentally committed frontend build artifacts (tsconfig.node.tsbuildinfo, tsconfig.tsbuildinfo, vite.config.d.ts, vite.config.js) from a sample project, adds a .gitignore to prevent re-committing them, and fixes a relative path in the README. These are purely housekeeping changes to a sample's frontend scaffolding with no production code, no library logic, and no behavioral changes. No tests are needed or expected for this kind of change.

✓ Design Approach

This PR cleans up accidentally committed build artifacts (tsconfig.tsbuildinfo files, vite.config.js, vite.config.d.ts) from the frontend directory and adds a .gitignore to prevent them from being committed again. The approach is correct — these are TypeScript/Vite compilation outputs and should not be version-controlled. The source file vite.config.ts remains intact. There is one minor inconsistency in the README path change: Step 1 instructs the user to start 'From the Python repo root' and cd into python/, but Step 2's updated path (cd samples/...) only works if the user is already inside python/, while the original path (cd python/samples/...) worked from the repo root — making the new path potentially confusing for users who open a new terminal for Step 2.

Suggestions

  • The README Step 2 path change from 'python/samples/..' to 'samples/...' implicitly assumes the user is already inside the python/ directory. Since Step 1 says 'From the Python repo root' without clarifying this carries over, consider adding a brief note like '(from the python/ directory)' or restoring the repo-root-relative path for consistency.

Automated review by moonbox3's agents

Step 2 uses a python/-relative path (samples/...) which assumes the
user is still in the python/ directory from Step 1. Add a brief note
making this explicit.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Contributor Author

@moonbox3 moonbox3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated Code Review

Reviewers: 4 | Confidence: 96% | Result: All clear

Reviewed: Correctness, Security Reliability, Test Coverage, Design Approach


Automated review by moonbox3's agents

@moonbox3 moonbox3 enabled auto-merge March 26, 2026 08:39
@moonbox3 moonbox3 added this pull request to the merge queue Mar 26, 2026
Merged via the queue into microsoft:main with commit 9bfa593 Mar 26, 2026
31 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation python

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Python: move the ag_ui_workflow_handoff demo to 05-end-to-end

5 participants