* test: Add test demonstrating knowledge not included in planning process
Issue #1703: Add test to verify that agent knowledge sources are not currently
included in the planning process. This test will help validate the fix once
implemented.
- Creates agent with knowledge sources
- Verifies knowledge context missing from planning
- Checks other expected components are present
Co-Authored-By: Joe Moura <joao@crewai.com>
* fix: Include agent knowledge in planning process
Issue #1703: Integrate agent knowledge sources into planning summaries
- Add agent_knowledge field to task summaries in planning_handler
- Update test to verify knowledge inclusion
- Ensure knowledge context is available during planning phase
The planning agent now has access to agent knowledge when creating
task execution plans, allowing for better informed planning decisions.
Co-Authored-By: Joe Moura <joao@crewai.com>
* style: Fix import sorting in test_knowledge_planning.py
- Reorganize imports according to ruff linting rules
- Fix I001 linting error
Co-Authored-By: Joe Moura <joao@crewai.com>
* test: Update task summary assertions to include knowledge field
Co-Authored-By: Joe Moura <joao@crewai.com>
* fix: Update ChromaDB mock path and fix knowledge string formatting
Co-Authored-By: Joe Moura <joao@crewai.com>
* fix: Improve knowledge integration in planning process with error handling
Co-Authored-By: Joe Moura <joao@crewai.com>
* fix: Update task summary format for empty tools and knowledge
- Change empty tools message to 'agent has no tools'
- Remove agent_knowledge field when empty
- Update test assertions to match new format
- Improve test messages for clarity
Co-Authored-By: Joe Moura <joao@crewai.com>
* fix: Update string formatting for agent tools in task summary
Co-Authored-By: Joe Moura <joao@crewai.com>
* fix: Update string formatting for agent tools in task summary
Co-Authored-By: Joe Moura <joao@crewai.com>
* fix: Update string formatting for agent tools and knowledge in task summary
Co-Authored-By: Joe Moura <joao@crewai.com>
* fix: Update knowledge field formatting in task summary
Co-Authored-By: Joe Moura <joao@crewai.com>
* style: Fix import sorting in test_planning_handler.py
Co-Authored-By: Joe Moura <joao@crewai.com>
* style: Fix import sorting order in test_planning_handler.py
Co-Authored-By: Joe Moura <joao@crewai.com>
* test: Add ChromaDB mocking to test_create_tasks_summary_with_knowledge_and_tools
Co-Authored-By: Joe Moura <joao@crewai.com>
---------
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Joe Moura <joao@crewai.com>
Co-authored-by: João Moura <joaomdmoura@gmail.com>
* docs: add comprehensive docstrings to Flow class and methods
- Added NumPy-style docstrings to all decorator functions
- Added detailed documentation to Flow class methods
- Included parameter types, return types, and examples
- Enhanced documentation clarity and completeness
Co-Authored-By: Joe Moura <joao@crewai.com>
* feat: add secure path handling utilities
- Add path_utils.py with safe path handling functions
- Implement path validation and security checks
- Integrate secure path handling in flow_visualizer.py
- Add path validation in html_template_handler.py
- Add comprehensive error handling for path operations
Co-Authored-By: Joe Moura <joao@crewai.com>
* docs: add comprehensive docstrings and type hints to flow utils (#1819)
Co-Authored-By: Joe Moura <joao@crewai.com>
* fix: add type annotations and fix import sorting
Co-Authored-By: Joe Moura <joao@crewai.com>
* fix: add type annotations to flow utils and visualization utils
Co-Authored-By: Joe Moura <joao@crewai.com>
* fix: resolve import sorting and type annotation issues
Co-Authored-By: Joe Moura <joao@crewai.com>
* fix: properly initialize and update edge_smooth variable
Co-Authored-By: Joe Moura <joao@crewai.com>
---------
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Joe Moura <joao@crewai.com>
* feat: add tiktoken as explicit dependency and document Rust requirement
- Add tiktoken>=0.8.0 as explicit dependency to ensure pre-built wheels are used
- Document Rust compiler requirement as fallback in README.md
- Addresses issue #1824 tiktoken build failure
Co-Authored-By: Joe Moura <joao@crewai.com>
* fix: adjust tiktoken version to ~=0.7.0 for dependency compatibility
- Update tiktoken dependency to ~=0.7.0 to resolve conflict with embedchain
- Maintain compatibility with crewai-tools dependency chain
- Addresses CI build failures
Co-Authored-By: Joe Moura <joao@crewai.com>
* docs: add troubleshooting section and make tiktoken optional
Co-Authored-By: Joe Moura <joao@crewai.com>
* Update README.md
---------
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Joe Moura <joao@crewai.com>
Co-authored-by: João Moura <joaomdmoura@gmail.com>
* fix(manager_llm): handle coworker role name case/whitespace properly
- Add .strip() to agent name and role comparisons in base_agent_tools.py
- Add test case for varied role name cases and whitespace
- Fix issue #1503 with manager LLM delegation
Co-Authored-By: Joe Moura <joao@crewai.com>
* fix(manager_llm): improve error handling and add debug logging
- Add debug logging for better observability
- Add sanitize_agent_name helper method
- Enhance error messages with more context
- Add parameterized tests for edge cases:
- Embedded quotes
- Trailing newlines
- Multiple whitespace
- Case variations
- None values
- Improve error handling with specific exceptions
Co-Authored-By: Joe Moura <joao@crewai.com>
* style: fix import sorting in base_agent_tools and test_manager_llm_delegation
Co-Authored-By: Joe Moura <joao@crewai.com>
* fix(manager_llm): improve whitespace normalization in role name matching
Co-Authored-By: Joe Moura <joao@crewai.com>
* style: fix import sorting in base_agent_tools and test_manager_llm_delegation
Co-Authored-By: Joe Moura <joao@crewai.com>
* fix(manager_llm): add error message template for agent tool execution errors
Co-Authored-By: Joe Moura <joao@crewai.com>
* style: fix import sorting in test_manager_llm_delegation.py
Co-Authored-By: Joe Moura <joao@crewai.com>
---------
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Joe Moura <joao@crewai.com>
* fix: Change storage initialization to None for KnowledgeStorage
* refactor: Change storage field to optional and improve error handling when saving documents
---------
Co-authored-by: João Moura <joaomdmoura@gmail.com>
* Create Portkey-Observability-and-Guardrails.md
* crewAI update with new changes
* small change
---------
Co-authored-by: siddharthsambharia-portkey <siddhath.s@portkey.ai>
Co-authored-by: João Moura <joaomdmoura@gmail.com>
As mentioned in issue #1759, listing crewai-tools as dev-dependencies makes pip install it a required dependency, and not an optional
Co-authored-by: João Moura <joaomdmoura@gmail.com>
* added tool for docling support
* docling support installation
* use file_paths instead of file_path
* fix import
* organized imports
* run_type docs
* needs to be list
* fixed logic
* logged but file_path is backwards compatible
* use file_paths instead of file_path 2
* added test for multiple sources for file_paths
* fix run-types
* enabling local files to work and type cleanup
* linted
* fix test and types
* fixed run types
* fix types
* renamed to CrewDoclingSource
* linted
* added docs
* resolve conflicts
---------
Co-authored-by: Brandon Hancock (bhancock_ai) <109994880+bhancockio@users.noreply.github.com>
Co-authored-by: Brandon Hancock <brandon@brandonhancock.io>
* Update llms.mdx (Gemini 2.0)
- Add Gemini 2.0 flash to Gemini table.
- Add link to 2 hosting paths for Gemini in Tip.
- Change to lower case model slugs vs names, user convenience.
- Add https://artificialanalysis.ai/ as alternate leaderboard.
- Move Gemma to "other" tab.
* Update llm.py (gemini 2.0)
Add setting for Gemini 2.0 context window to llm.py
---------
Co-authored-by: Brandon Hancock (bhancock_ai) <109994880+bhancockio@users.noreply.github.com>
* apply agent ops changes and resolve merge conflicts
* Trying to fix tests
* add back in vcr
* update tools
* remove pkg_resources which was causing issues
* Fix tests
* experimenting to see if unique content is an issue with knowledge
* experimenting to see if unique content is an issue with knowledge
* update chromadb which seems to have issues with upsert
* generate new yaml for failing test
* Investigating upsert
* Drop patch
* Update casettes
* Fix duplicate document issue
* more fixes
* add back in vcr
* new cassette for test
---------
Co-authored-by: Lorenze Jay <lorenzejaytech@gmail.com>
When using agentops, we have the option to pass the `skip_auto_end_session` parameter, which is supposed to not end the session if the `end_session` function is called by Crew.
Now the way it works is, the `agentops.end_session` accepts `is_auto_end` flag and crewai should have passed it as `True` (its `False` by default).
I have changed the code to pass is_auto_end=True
Co-authored-by: Brandon Hancock (bhancock_ai) <109994880+bhancockio@users.noreply.github.com>
* drop 3.13
* revert
* Drop test cassette that was causing error
* trying to fix failing test
* adding thiago changes
* resolve final tests
* Drop skip
* drop pipeline
* drop 3.13
* revert
* Drop test cassette that was causing error
* trying to fix failing test
* adding thiago changes
* resolve final tests
* Drop skip
* Fix disk I/O error when resetting short-term memory.
Reset chromadb client and nullifies references before
removing directory.
* Nit for clarity
* did the same for knowledge_storage
* cleanup
* cleanup order
* Cleanup after the rm of the directories
---------
Co-authored-by: Lorenze Jay <lorenzejaytech@gmail.com>
Co-authored-by: Lorenze Jay <63378463+lorenzejay@users.noreply.github.com>