Skip to content

Add Agent Framework Scenario: Shopping Assistant #52

@elbruno

Description

@elbruno

Summary

We need to add a new Agent Framework scenario into this repository to demonstrate the integration of Microsoft’s Agent Framework with eShopLite.

The new scenario will introduce a Shopping Assistant Agent that helps users discover products, answer catalog questions, and guide checkout. It should include backend APIs, a UI chat panel, and complete documentation.


Requirements

1. Scenario

  • Create a new project ShoppingAssistantAgent under src/Agents/.
  • Implement an agent using Microsoft Agent Framework.
  • Tools to implement:
    • SearchCatalogTool
    • ProductDetailsTool
    • AddToCartTool
    • (Optional) OrderStatusTool

2. Backend & Config

  • Expose /api/agent/chat endpoint.
  • Configurable provider (Azure OpenAI / OpenAI).
  • Use environment variables and secret management.

3. Frontend

  • Add a chat panel to the web UI.
  • Display agent conversation, product recommendations, and allow “Add to cart” actions.

4. Observability & Security

  • Add request logging and correlation IDs.
  • Optional: integrate with App Insights.
  • Apply input validation, content filtering, and rate limiting.

5. Testing

  • Unit tests for tools.
  • Integration test for /api/agent/chat.
  • E2E test for chat flow in UI.

6. Documentation

Under /docs/agent/, add:

  • 10_overview.md — scenario overview.
  • 20_architecture.md — include a Mermaid diagram.
  • 30_setup_local.md — local setup instructions.
  • 40_setup_azure.md — Azure deployment steps.
  • 50_user_guide.mdend-user manual with screenshots.
  • 60_admin_guide.md — configuration & troubleshooting.

Add scripts (capture_screenshots.ps1 / .sh) to automate screenshots with Playwright.

7. CI/CD

  • Extend existing GitHub Actions (or add .github/workflows/agent-ci.yml) to:
    • Build & test new agent project.
    • Run Playwright to capture screenshots.
    • Publish /docs/agent/ as artifact.

Definition of Done

  • Backend agent project compiles and runs.
  • Frontend chat panel works end-to-end.
  • Tools for search, details, and add-to-cart implemented.
  • Tests (unit, integration, E2E) passing.
  • Docs complete with architecture diagram and screenshots.
  • CI workflow updated.
  • Security and config handled via env vars/Key Vault.

References:

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions