* Add sample to show handoff as agent with HITL
* Update uv.lock with latest pkg versions. Fix lint error.
* Upgrade grpcio to 1.76.0
* Handle grpcio versions
* Case insensitive compare for declarative
* Python: Fix pyright errors and move search provider to core (#1546)
* address pablo coments
* update azure ai search pypi version to latest prev
* init update
* Fix MyPy type annotation errors in search provider
- Add type annotation to DEFAULT_CONTEXT_PROMPT
- Add type annotation to vectorizable_fields
- Add union type annotation to vector_queries
* Fix DEFAULT_CONTEXT_PROMPT MyPy error and update test
- Rename DEFAULT_CONTEXT_PROMPT to _DEFAULT_SEARCH_CONTEXT_PROMPT to avoid conflict with base class Final variable
- Update test to use new constant name
- All core package tests passing (1123 passed)
* Python: Move Azure AI Search to separate package per PR feedback
Addresses reviewer feedback from PR #1546 by isolating the beta dependency
(azure-search-documents==11.7.0b2) into a new agent-framework-aisearch package.
Changes:
- Created new agent-framework-aisearch package with complete structure
- Moved AzureAISearchContextProvider from core to aisearch package
- Added AzureAISearchSettings class for environment variable auto-loading
- Added support for direct API key string (auto-converts to AzureKeyCredential)
- Added azure_openai_api_key parameter for Knowledge Base authentication
- Updated embedding_function type to Callable[[str], Awaitable[list[float]]]
- Moved Role import to top-level imports
- Maintained lazy loading through agent_framework.azure module
- Removed beta dependency from core package
- Updated all tests to use new package location
- All quality checks pass: ruff format/lint, pyright, mypy (0 errors)
- All 21 unit tests pass with 59% coverage
Semantic search mode verified working with both API key and managed identity authentication.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Python: Clarify top_k parameter only applies to semantic mode
Updated documentation to clarify that the top_k parameter only affects
semantic search mode. In agentic mode, the server-side Knowledge Base
determines retrieval based on query complexity and reasoning effort.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Python: Add Knowledge Base output mode and retrieval reasoning effort parameters
Added support for configurable Knowledge Base behavior in agentic mode:
- knowledge_base_output_mode: "extractive_data" (default) or "answer_synthesis"
Some knowledge sources require answer_synthesis mode for proper functionality.
- retrieval_reasoning_effort: "minimal" (default), "medium", or "low"
Controls query planning complexity and multi-hop reasoning depth.
These parameters give users fine-grained control over Knowledge Base behavior
and enable support for knowledge sources that require answer synthesis.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* effort and outputmode query params
* Address PR review feedback for Azure AI Search context provider
* comments eduward
* ed latest comments
---------
Co-authored-by: Farzad Sunavala <farzad.sunavala.enovate.ai>
Co-authored-by: farzad528 <farzad528@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
* first work on declarative
* initial version of the declarative support
* fix tests and mypy
* fix parameters of functiontool
* slight logic improvement
* remove path until merge
* updates from comments
* create dispatcher and spec type, json_schema method
* fix mypy, skipping model
* updated lock
* fixed declarative tests and renamed some other test files
* refined loader
* updated lock
* fix mypy
* added readme to samples folder
* fixes from review
* undid test file rename
Eduard van Valkenburg
·
2025-11-19 16:33:02 +00:00
* feat: Add ChatKit integration with a new frontend application
- Created a new frontend application using React and Vite for the ChatKit integration.
- Added essential files including package.json, vite.config.ts, and Tailwind CSS configuration.
- Implemented core components: App, Home, ChatKitPanel, ThemeToggle, and hooks for color scheme management.
- Established SQLite-based store implementation for ChatKit data persistence in store.py.
- Integrated theme toggling functionality for light and dark modes.
- Set up ESLint and TypeScript configurations for better development experience.
* git ignore
* fix mypy
* add mising file
* minimal frontend for chatkit sample
* update ignore files
* version
* set python version lowerbound on chatkit
* update project settings for chatkit
* update setup
* update setup
* update setup
* update setup
* weather widget
* add select city widget sample
* remove widget helper
* update chatkit to include file attachments and cover more thread item types
* update readme with mermaid diagram
* update diagram
* update instructions
* update chatkit dependency
* fix converter imports
* move to demos/
* move to demos/ -- rename references
* support multiple session instead of using global variable in sample
* support chunk streaming
* fix tests
* Update python/samples/demos/chatkit-integration/store.py
Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com>
* use local host
---------
Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com>
* initial version of anthropic connector
* updated implementation and added tests
* fix type and readme
* mypy fix and int tests enabled
* add integration test setup
* updated based on comments
* improved function result handling
* added extra unordered test
* updated from review
* fix tool choice handling
* same fix for chat client
Eduard van Valkenburg
·
2025-11-03 19:32:28 +00:00
* consolidate lab packages into a single one; update contribution guidelines
* update dep list
* add poe tasks; fix tests and lint erros
* add lab tests for CI
* fix test
* update root pyproject.toml
* Setting up
* Readme
* Add redis tests path to all-tests
* First pass integration
* Keep provider convention
* First pass integration
* add redis integration tests
* update README.md
* Add basic sample for redis integration
* Add partitioning, add partition-aware tests, improve sample script
* Fix code quality check
* Try to resolve pytest check
* Try to identify if pytest is the cause of failed checks
* Re-enable tests
* Rename redis test file
* Removing some tests to narrow down issue
* Revert, no difference
* Delete temp files
* Starting refactor of RedisProvider
* Build dynamic schema builder, still need to do dynamic embedding model config
* Add scope control
* Complete first pass functionality with OpenAI + HF vectors -> Tests, Samples, Demo to follow
* Fix code quality
* attempt to identify rootcause of failed test
* attempt to identify rootcause of failed test
* Attempt to resolve code quality fail
* Update pyproject.toml for foundry to pin azure-ai-projects == 1.1.0b3,azure-ai-agents == 1.2.0b3
* Add tests for redisprovider
* Remove invalid tests
* Add API key handling for openai vectorizer
* Update uv.locl
* Use master uv.lock
* Begin sample file, add lazy index creation, fix faulty override
* Index drop and reinit depends on drop_redis_index not overwrite
* Add samples, threading included, escaped queries, verify threading works, sample README.md
* Refactor filters
* Opinionated vars
* Allow filter expression combination
* Try inline stubs for mypy
* Address mypy errors
* Better docstrings, tweaks for feedback
* Tweak example 3 in redis_threads.py sample
* adjust confusing name
* Enrich docstrings
* Add descriptions and comments to samples, externalize vectorizer choice, remove nltk and sentencetransformers dependnecy
* Add descriptions and comments to samples, externalize vectorizer choice, remove nltk and sentencetransformers dependnecy
* Incorporate initial feedback from dmytrostruk
* Fix uv.lock
* Attempt to resolve conflict
* Use remote .tomls
* Sanity check
* fix tests
* Remove hardcoded API key from samples
* Fix incorrect env var
* Make add and redis_search private
* Fix tests relying on private funcs
* Expand tests
* Explainer comments to each test
* Add a 'get_conversation_history' function to RedisProvider - This just returns messages in sequential order. Added 'created_at_*' timestamps to facilitate sequential recovery. function has to be manually invoked by user
* Add agent-framework-redis to python/pyproject.toml
* Remove get_conversation_history
* improve redis context provider with pydantic techniques and safe index handling patterns
* add RedisChatMessageStore
* remove integration test :(
* fix mypy error
* Remove unused params
* Redo schema validation to be order-invariant, handle attrs (previously throwing errors due to strict ==)
* Expand explanation
* Add ChatMessageStore example
* Fix comments in redis_conversation.py
* Resolving uv.lock conflict, update to match main
* Fix test in redis provider
* Apply suggestion from @ekzhu
* Update python/packages/main/pyproject.toml
---------
Co-authored-by: Tyler Hutcherson <tyler.hutcherson@redis.com>
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>