feat: add ld flag for temporal v1 agent (#6251)
* base * generate * remove --------- Co-authored-by: Letta Bot <noreply@letta.com>
This commit is contained in:
@@ -12,6 +12,7 @@ class ExperimentalParams(BaseModel):
|
||||
|
||||
message_async: Optional[bool] = None
|
||||
letta_v1_agent: Optional[bool] = None
|
||||
letta_v1_agent_message_async: Optional[bool] = None
|
||||
|
||||
|
||||
class HeaderParams(BaseModel):
|
||||
@@ -31,6 +32,7 @@ def get_headers(
|
||||
sdk_version: Optional[str] = Header(None, alias="X-Stainless-Package-Version"),
|
||||
message_async: Optional[str] = Header(None, alias="X-Experimental-Message-Async"),
|
||||
letta_v1_agent: Optional[str] = Header(None, alias="X-Experimental-Letta-V1-Agent"),
|
||||
letta_v1_agent_message_async: Optional[str] = Header(None, alias="X-Experimental-Letta-V1-Agent-Message-Async"),
|
||||
) -> HeaderParams:
|
||||
"""Dependency injection function to extract common headers from requests."""
|
||||
return HeaderParams(
|
||||
@@ -41,6 +43,7 @@ def get_headers(
|
||||
experimental_params=ExperimentalParams(
|
||||
message_async=(message_async == "true") if message_async else None,
|
||||
letta_v1_agent=(letta_v1_agent == "true") if letta_v1_agent else None,
|
||||
letta_v1_agent_message_async=(letta_v1_agent_message_async == "true") if letta_v1_agent_message_async else None,
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -1825,11 +1825,16 @@ async def send_message_async(
|
||||
pydantic_run=run,
|
||||
actor=actor,
|
||||
)
|
||||
|
||||
if use_lettuce:
|
||||
agent_state = await server.agent_manager.get_agent_by_id_async(
|
||||
agent_id, actor, include_relationships=["memory", "multi_agent_group", "sources", "tool_exec_environment_variables", "tools"]
|
||||
)
|
||||
if agent_state.multi_agent_group is None and agent_state.agent_type != AgentType.letta_v1_agent:
|
||||
# Allow V1 agents only if the message async flag is enabled
|
||||
is_v1_message_async_enabled = (
|
||||
agent_state.agent_type == AgentType.letta_v1_agent and headers.experimental_params.letta_v1_agent_message_async
|
||||
)
|
||||
if agent_state.multi_agent_group is None and (agent_state.agent_type != AgentType.letta_v1_agent or is_v1_message_async_enabled):
|
||||
lettuce_client = await LettuceClient.create()
|
||||
run_id_from_lettuce = await lettuce_client.step(
|
||||
agent_state=agent_state,
|
||||
|
||||
Reference in New Issue
Block a user