mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-08 23:58:34 +00:00
* feat: agent metaclass, refactor a2a to wrappers * feat: a2a schemas and utils * chore: move agent class, update imports * refactor: organize imports to avoid circularity, add a2a to console * feat: pass response_model through call chain * feat: add standard openapi spec serialization to tools and structured output * feat: a2a events * chore: add a2a to pyproject * docs: minimal base for learn docs * fix: adjust a2a conversation flow, allow llm to decide exit until max_retries * fix: inject agent skills into initial prompt * fix: format agent card as json in prompt * refactor: simplify A2A agent prompt formatting and improve skill display * chore: wide cleanup * chore: cleanup logic, add auth cache, use json for messages in prompt * chore: update docs * fix: doc snippets formatting * feat: optimize A2A agent card fetching and improve error reporting * chore: move imports to top of file * chore: refactor hasattr check * chore: add httpx-auth, update lockfile * feat: create base public api * chore: cleanup modules, add docstrings, types * fix: exclude extra fields in prompt * chore: update docs * tests: update to correct import * chore: lint for ruff, add missing import * fix: tweak openai streaming logic for response model * tests: add reimport for test * tests: add reimport for test * fix: don't set a2a attr if not set * fix: don't set a2a attr if not set * chore: update cassettes * tests: fix tests * fix: use instructor and dont pass response_format for litellm * chore: consolidate event listeners, add typing * fix: address race condition in test, update cassettes * tests: add correct mocks, rerun cassette for json * tests: update cassette * chore: regenerate cassette after new run * fix: make token manager access-safe * fix: make token manager access-safe * merge * chore: update test and cassete for output pydantic * fix: tweak to disallow deadlock * chore: linter * fix: adjust event ordering for threading * fix: use conditional for batch check * tests: tweak for emission * tests: simplify api + event check * fix: ensure non-function calling llms see json formatted string * tests: tweak message comparison * fix: use internal instructor for litellm structure responses --------- Co-authored-by: Mike Plachta <mike@crewai.com>
30 lines
1003 B
Python
30 lines
1003 B
Python
"""String templates for A2A (Agent-to-Agent) protocol messaging and status."""
|
|
|
|
from string import Template
|
|
from typing import Final
|
|
|
|
|
|
AVAILABLE_AGENTS_TEMPLATE: Final[Template] = Template(
|
|
"\n<AVAILABLE_A2A_AGENTS>\n $available_a2a_agents\n</AVAILABLE_A2A_AGENTS>\n"
|
|
)
|
|
PREVIOUS_A2A_CONVERSATION_TEMPLATE: Final[Template] = Template(
|
|
"\n<PREVIOUS_A2A_CONVERSATION>\n"
|
|
" $previous_a2a_conversation"
|
|
"\n</PREVIOUS_A2A_CONVERSATION>\n"
|
|
)
|
|
CONVERSATION_TURN_INFO_TEMPLATE: Final[Template] = Template(
|
|
"\n<CONVERSATION_PROGRESS>\n"
|
|
' turn="$turn_count"\n'
|
|
' max_turns="$max_turns"\n'
|
|
" $warning"
|
|
"\n</CONVERSATION_PROGRESS>\n"
|
|
)
|
|
UNAVAILABLE_AGENTS_NOTICE_TEMPLATE: Final[Template] = Template(
|
|
"\n<A2A_AGENTS_STATUS>\n"
|
|
" NOTE: A2A agents were configured but are currently unavailable.\n"
|
|
" You cannot delegate to remote agents for this task.\n\n"
|
|
" Unavailable Agents:\n"
|
|
" $unavailable_agents"
|
|
"\n</A2A_AGENTS_STATUS>\n"
|
|
)
|