Python: Move ag_ui_workflow_handoff demo from demos/ to 05-end-to-end/#4900
Python: Move ag_ui_workflow_handoff demo from demos/ to 05-end-to-end/#4900moonbox3 wants to merge 4 commits intomicrosoft:mainfrom
Conversation
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>
moonbox3
left a comment
There was a problem hiding this comment.
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/topython/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/topython/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/tosamples/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 fromvite.config.ts), andtsconfig.tsbuildinfo/tsconfig.node.tsbuildinfo(TypeScript incremental build caches). These are pre-existing issues in thedemos/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.gitignoreand 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, andvite.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
There was a problem hiding this comment.
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 usescd python/samples/.../frontend. If users run step 2 immediately after step 1, that path becomespython/python/...and will fail. Suggest making all paths relative to a consistent starting directory (e.g., aftercd python, usecd 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>
moonbox3
left a comment
There was a problem hiding this comment.
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/...tosamples/...is correct because step 1 already instructs the user tocd 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>
moonbox3
left a comment
There was a problem hiding this comment.
Automated Code Review
Reviewers: 4 | Confidence: 96% | Result: All clear
Reviewed: Correctness, Security Reliability, Test Coverage, Design Approach
Automated review by moonbox3's agents
Motivation and Context
The
ag_ui_workflow_handoffsample was placed underpython/samples/demos/but it is a full end-to-end demo with both a backend and frontend, so it belongs in thepython/samples/05-end-to-end/directory to follow the project's sample organization conventions.Fixes #4895
Description
The entire
ag_ui_workflow_handoffdirectory tree (backend, frontend, README) was moved frompython/samples/demos/topython/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