Commit Graph

127 Commits

  • Python: [BREAKING] Python: Intro group chat and refactor orchestrations. Fix as_agent(). Standardize orchestration start msg types. (#1538)
    * Intro group chat and refactor magentic. Fix as_agent()
    
    * Cleanup and improvements
    
    * Add as_agent docstring clarification
    
    * Standardize orchestration messages to use agent-style inputs.
    
    * Simplify group chat constructs
    
    * Further cleanup
    
    * Add sk to af group chat migration sample. Update README.
    
    * Improvements and simplifications
    
    * consolidating shared orchestration logic
    
    * Further clean up
    
    * Add group chat sample
    
    * Improve typing
    
    * Fix test imports
    
    * Fix readme links
    
    * Cleanup per PR Feedback
  • Python: DevUI Fix Serialization, Timestamp and Other Issues (#1584)
    * refactor(devui): adopt standard OpenAI lifecycle events for agents and workflows
    
    - Replace custom workflow events with OpenAI Responses API standard lifecycle events
    - Add AgentStartedEvent, AgentCompletedEvent, AgentFailedEvent for clean separation
    - Implement ExecutorActionItem for workflow executor tracking
    - Convert informational events to trace events to reduce noise
    - Update README mapper table with comprehensive event mappings
    - Maintain full backward compatibility with legacy events
    
    * fix(devui): resolve timestamp overwriting and Content serialization errors
    
    - Fix tool call timestamps being overwritten on each render (#1483)
    - Add recursive Content serialization to handle ChatMessage and nested objects (#1548)
    - Implement proper MCP tool cleanup on server shutdown
    - Add timestamp field to function_result.complete events
    - Enhance credential and client resource cleanup
    
    Fixes #1483, #1548
    Partial improvements for #1476
  • Bump vite from 7.1.5 to 7.1.11 in /python/packages/devui/frontend (#1586)
    Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 7.1.5 to 7.1.11.
    - [Release notes](https://github.com/vitejs/vite/releases)
    - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
    - [Commits](https://github.com/vitejs/vite/commits/v7.1.11/packages/vite)
    
    ---
    updated-dependencies:
    - dependency-name: vite
      dependency-version: 7.1.11
      dependency-type: direct:development
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Victor Dibia <chuvidi2003@gmail.com>
  • Python: Updated package version (#1528)
    * Updated package version
    
    * Update python/CHANGELOG.md
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Updated metadata for Purview
    
    * Updated test
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
  • Python: Add Function Approval UI to DevUI (#1401)
    * ensure function aproval is parsed correctly
    
    * udpate ui, add deployment guide button, other debug panel fixes
    
    * feat(devui): Implement lazy loading architecture with enhanced security and state management
    
    Major architectural improvements to DevUI for better performance, security, and developer experience:
    
    Performance & Architecture:
    - Implement lazy loading for entity discovery - entities loaded on-demand instead of at startup
    - Add hot reload capability for development workflow via new reload endpoint
    - Reduce startup time and memory footprint by deferring module imports
    
    Security Enhancements:
    - Remove remote entity loading capabilities (POST /v1/entities/add, DELETE endpoints)
    - DevUI now strictly local development tool - no remote code execution
    - Add explicit security documentation and best practices in README
    
    Frontend Improvements:
    - Migrate to Zustand for centralized state management (replacing prop drilling)
    - Add lightweight zero-dependency markdown renderer with code block copy support
    - Improve gallery UX with setup instructions modal instead of direct URL loading
    - Enhanced message UI with copy functionality and better token usage display
    
    Testing & Quality:
    - Expand test coverage for lazy loading, type detection, and cache invalidation
    - Add comprehensive tests for new behaviors (+231 lines of test code)
    - Improve type safety and documentation throughout
    
    Breaking Changes:
    - Remote entity loading via URLs is no longer supported
    - Entities must be loaded from local filesystem only
    
    * update ui issues, uupdate test descripion
  • Python: DevUI - Internal Refactor, Conversations API support, and per… (#1235)
    * Python: DevUI - Internal Refactor, Conversations API support, and performance improvements
    
    Comprehensive refactor of DevUI package including samples relocation,
    frontend reorganization, OpenAI Conversations API support, and critical
    performance and code quality improvements.
    
    Key Changes:
    
    Architecture & Organization
    - Moved DevUI samples to python/samples/getting_started/devui/
    - Consolidated with other framework samples for better discoverability
    - Added .env.example files and comprehensive README
    - Restructured frontend components into feature-based folders (agent, workflow, gallery, layout)
    - Created new OpenAI-compliant message renderers (devui should render oai responses types primarily)
    
    New Features
    - Added _conversations.py (467 lines) - Full conversation storage abstraction, replaces the /threads endpoint to better match oai conversations api
    - Implements OpenAI Conversations API for thread management, Supports in-memory and extensible storage backends
    
    API Simplification
    - Use 'model' field as entity_id (agent/workflow name) instead of extra_body
    - Use standard OpenAI 'conversation' field for conversation context.
    
    Performance & Quality Improvements
    - Improved context management in MessageMapper with bounded memory (~500KB max)
    - Implemented hybrid LRU + cleanup approach to prevent unbounded memory growth
    - General QOL improvement - Eliminated ~150 lines of dead/duplicate code, Consolidated helper functions into _utils.py, Extracted magic numbers to module-level constants, Optimized conversation item lookups with index-based approach
    
    Testing
    - Added test_conversations.py (13 tests)
    - Added test_performance_fixes.py (9 tests)
    - Updated existing tests for code consolidation
    - 53 tests passing
    
    Impact: 76 files changed: +4,106 insertions, -2,373 deletions
    All linting and formatting checks passing. No breaking changes - backward compatible.
    
    Migration: Samples moved to python/samples/getting_started/devui/
    
    * readme lint fixes
    
    * initial support for function approval and minor ui fixes
  • Python: bump version and update changelog (#1277)
    * bump version and update changelog
    
    * undo lab package version bump
    
    * add changelog to exclude pattern for links
    
    * fix for ignore path
    
    * exclude file
  • Python: [BREAKING] parameter naming and other fixes (#1255)
    * parameter naming and other fixes
    
    * fix test
    
    * fix azure openai responses decorator ordering
    
    * fix test
    
    * fix mypy
    
    * fixes in options handling
    
    * fix tests
    
    * final fixes
    
    * exclude macos tests
    
    * fix model param
  • Python: DevUI improvements. (#1091)
    * enable deeplinking in ui, add agent details to entity info, add usage data, add middleware example in samples and foundry agent.
    
    * update ui build
    
    * Update python/packages/devui/frontend/src/components/workflow/workflow-input-form.tsx
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update python/packages/devui/pyproject.toml
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update python/packages/devui/pyproject.toml
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * imporove mapping for agent nodes and serialiation for agent run events
    
    * lint fixes
    
    * update pyproj toml and ui updates
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
  • Python: Default DevUI workflows to string input when start node is auto-wrapped agent (#1143)
    * DevUI workflows default to string input when start node is AgentExecutor
    
    * Remove unnecessary sample
    
    * Fix lint issue
  • Python: Bug fixes for devui serialization and agent structured outputs (#1055)
    * Bug fixes for devui serialization and agent structured outputs
    
    * Fix typing
    
    * Add mapper serialization unit tests
  • Python: Packaging fixes (#1056)
    * small updates to setup
    
    * post1
    
    * reset version
    
    * updated package status
  • Python:DevUI Fixes (#1035)
    * fix event reset on thread change, enable multiline input, enable pasting of files and screenshots
    
    * UI updates and improved remove discovery
    
    * ui and other fixes
    
    ---------
    
    Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com>
  • Python: [BREAKING] added SerializationMixin and applied to contents, agents, chat client… (#1012)
    * added SerializationMixin and applied to contents, agents, chat clients, removed AFBaseModel
    
    * fix annotations type
    
    * mypy fixes
    
    * fix tests
    
    * fix serializable subvalues and added large docstring
    
    * updated indents in code block
    
    * fixed exported urls
  • Bump vite from 7.1.3 to 7.1.5 in /python/packages/devui/frontend (#869)
    Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 7.1.3 to 7.1.5.
    - [Release notes](https://github.com/vitejs/vite/releases)
    - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
    - [Commits](https://github.com/vitejs/vite/commits/v7.1.5/packages/vite)
    
    ---
    updated-dependencies:
    - dependency-name: vite
      dependency-version: 7.1.5
      dependency-type: direct:development
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Victor Dibia <chuvidi2003@gmail.com>
    Co-authored-by: Mark Wallace <127216156+markwallace-microsoft@users.noreply.github.com>
  • Python: [BREAKING] Main to core (#983)
    * removed pydantic from types
    
    * fix assistants client
    
    * Remove Pydantic usage from workflow code.
    
    * updated lock and test fixes
    
    * moved main to core, and setup meta package
    
    * updated versions
    
    * updated lock
    
    * fixed agents dependency
    
    * added retry to merge tests
    
    ---------
    
    Co-authored-by: Evan Mattson <evan.mattson@microsoft.com>
  • Python: [Breaking] removed pydantic from types and workflows (#917)
    * removed pydantic from types
    
    * fix test
    
    * fix test
    
    * fix tests
    
    * fix assistants client
    
    * Remove Pydantic usage from workflow code.
    
    * updated pydantic removal
    
    * updated lock and test fixes
    
    * fix mypy
    
    * updated build system
    
    * updated chat client parsing
    
    * fix broken test
    
    ---------
    
    Co-authored-by: Evan Mattson <evan.mattson@microsoft.com>
  • Python: [BREAKING] cleanup of thread API and serialization (#893)
    * cleanup of threads and serialization
    
    * fix for sliding window
    
    * fix redis test
    
    * updated from comments
    
    * updated context provider and threads
    
    * updated lock
    
    * add asyncio default
    
    * fix redis tests
    
    * fix tests
    
    * fix tests
    
    * renamed to invoking
    
    * fixed tests
    
    * fix for instructions
  • [BREAKING] Python: Observability cleanup (#905)
    * Further observability cleanup and update telemetry samples
    
    * Add VS Code Extension config
    
    * Fix unit tests
    
    * Fix unit tests
    
    * Add more comments
    
    * Remove live metric
  • Python: [BREAKING] updated structure and samples (#875)
    * updated structure and samples
    
    * updated names and removed cross tests
    
    * updated projects etc
    
    * updated tests
    
    * updated test
    
    * test fixes
    
    * removed devui for now
    
    * updated all-tests task
    
    * removed old style configs
    
    * remove coverage from tests
    
    * updated to unit tests with all-tests
    
    * updated foundry everywhere
    
    * fix azure ai tests
    
    * fix merge tests
    
    * fix mypy
  • Python: [Breaking] Remove WorkflowCompletedEvent, introduce workflow output and migrate to ctx.yield_output() + a huge refactoring (#845)
    * Introduce input and output types for executor and workflow
    
    * WorkflowOutputContext handles two types
    
    * Remove can_handle_types from Executor
    
    * Update validation
    
    * Move workflow executor
    
    * Move workflow executor
    
    * Fix issues in WorkflowExecutor
    
    * refactor executor
    
    * update execute signature to create workflow context within Executor
    
    * fix simple sub workflow test; fix validation
    
    * fix output types in WorkflowExecutor
    
    * fix issue in Executor handling of SubWorkflowRequestInfo
    
    * update tests to use proper workflow output
    
    * update orchestration patterns to use output
    
    * Update sample -- not finished
    
    * Update python/packages/main/tests/workflow/test_workflow_states.py
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Update python/packages/main/tests/workflow/test_concurrent.py
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * address comments
    
    * WorkflowOutputContext --> WorkflowContext
    
    * remove WorkflowCompletedEvent
    
    * update samples
    
    * Update doc string for important classes; update WorkflowExecutor to support concurrent execution
    
    * use Never instead of None for default type
    
    * Update usage of WorkflowContext[None to WorkflowContext[Never
    
    * address comments
    
    * remove filter for None
    
    * address comments, minor fixes
    
    * quality of life improvement on interceptor types
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
  • Python: Telemetry and observability follow-up (#833)
    * updated telemetry work
    
    * updated telemetry
    
    * slight improvement
    
    * updated tests
    
    * fixes for telemetry
    
    * fixes for mypy
    
    * added settings setup to runner to avoid error
    
    * streamline usage
    
    * updated tests
    
    * updated tests
    
    * further refinement
    
    * fix dumped item for otel
    
    * removed enable_workflow_otel
    
    * final fixes
    
    * final fixes
    
    * updated samples
    
    * removed exporters
    
    * fix tests
    
    * fixed last import'
    
    * fixed devui
  • Python: Add DevUI to AgentFramework (#781)
    * add initial backend service code for devui
    
    * add tests
    
    * add frontendcode
    
    * ui updates
    
    * update readme
    
    * ui updates and tweaks
    
    * update ui bundle
    
    * improve ui, add react flow base
    
    * add react flow ui, fix background
    
    * update ui, fix introspection bug
    
    * update readme
    
    * update ui build
    
    * add support for multimodal input - both backend and frontend
    
    * update ui build
    
    * refactor as main framework package
    
    * backend and tests refactor
    
    * ui build update
    
    * ui build update and refactor
    
    * update pyproject.toml, update uv.lock
    
    * update ui build
    
    * ui update to fit oai responses types
    
    * add backend updat and readme update
    
    * mypy and other fixes
    
    * add intial dev guide
    
    * update ui and fix workflow bug
    
    * update ui build, add thread support
    
    * type fixes
    
    * update workflow view
    
    * update uv.lock
    
    * fix workflow iport errors
    
    * lint and other fixes
    
    * mypy fixes
    
    * minor update
    
    * update ui build
    
    * refactor to use oai dependencies directly, update examples to samples, improve typing
    
    * readme update
    
    * update ui and ui build
    
    * fix workflow pyright error
    
    * update ui, fix issues with run workflow placement, miniamp menu, etc
    
    * make samples integrate serve
    
    ---------
    
    Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
    Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>