chore: bump version 0.7.19 (#2643)

Co-authored-by: Andy Li <55300002+cliandy@users.noreply.github.com>
Co-authored-by: Kevin Lin <klin5061@gmail.com>
Co-authored-by: Sarah Wooders <sarahwooders@gmail.com>
Co-authored-by: jnjpng <jin@letta.com>
This commit is contained in:
cthomas
2025-05-16 14:01:10 -07:00
committed by GitHub
parent b268861264
commit b79a67ca47
6 changed files with 10 additions and 15 deletions

View File

@@ -1,4 +1,4 @@
__version__ = "0.7.18"
__version__ = "0.7.19"
# import clients
from letta.client.client import LocalClient, RESTClient, create_client

View File

@@ -231,7 +231,7 @@ class SleeptimeMultiAgentV2(BaseAgent):
# Update job status
job_update = JobUpdate(
status=JobStatus.completed,
completed_at=datetime.now(timezone.utc),
completed_at=datetime.now(timezone.utc).replace(tzinfo=None),
metadata={
"result": result.model_dump(mode="json"),
"agent_id": sleeptime_agent_id,
@@ -242,7 +242,7 @@ class SleeptimeMultiAgentV2(BaseAgent):
except Exception as e:
job_update = JobUpdate(
status=JobStatus.failed,
completed_at=datetime.now(timezone.utc),
completed_at=datetime.now(timezone.utc).replace(tzinfo=None),
metadata={"error": str(e)},
)
self.job_manager.update_job_by_id(job_id=run_id, job_update=job_update, actor=self.actor)

View File

@@ -235,6 +235,8 @@ class GoogleVertexClient(GoogleAIClient):
)
except json.decoder.JSONDecodeError:
if candidate.finish_reason == "MAX_TOKENS":
raise ValueError(f"Could not parse response data from LLM: exceeded max token limit")
# Inner thoughts are the content by default
inner_thoughts = response_message.text

View File

@@ -72,7 +72,7 @@ class JobManager:
setattr(job, key, value)
if update_data.get("status") == JobStatus.completed and not job.completed_at:
job.completed_at = get_utc_time()
job.completed_at = get_utc_time().replace(tzinfo=None)
if job.callback_url:
self._dispatch_callback(session, job)
@@ -96,7 +96,7 @@ class JobManager:
setattr(job, key, value)
if update_data.get("status") == JobStatus.completed and not job.completed_at:
job.completed_at = get_utc_time()
job.completed_at = get_utc_time().replace(tzinfo=None)
if job.callback_url:
await self._dispatch_callback_async(session, job)

View File

@@ -1,6 +1,6 @@
[tool.poetry]
name = "letta"
version = "0.7.18"
version = "0.7.19"
packages = [
{include = "letta"},
]

View File

@@ -16,7 +16,6 @@ from anthropic.types.beta.messages import (
BetaMessageBatchSucceededResult,
)
from dotenv import load_dotenv
from letta_client import Letta
from letta.config import LettaConfig
from letta.helpers import ToolRulesSolver
@@ -75,12 +74,6 @@ def server():
return SyncServer()
@pytest.fixture(scope="session")
def client(server_url):
"""Creates a REST client for testing."""
return Letta(base_url=server_url)
# --- Dummy Response Factories --- #
@@ -263,7 +256,7 @@ def mock_anthropic_client(server, batch_a_resp, batch_b_resp, agent_b_id, agent_
# End-to-End Test
# -----------------------------
@pytest.mark.asyncio(loop_scope="session")
async def test_polling_simple_real_batch(client, default_user, server):
async def test_polling_simple_real_batch(default_user, server):
# --- Step 1: Prepare test data ---
# Create batch responses with different statuses
# NOTE: This is a REAL batch id!
@@ -404,7 +397,7 @@ async def test_polling_simple_real_batch(client, default_user, server):
@pytest.mark.asyncio(loop_scope="session")
async def test_polling_mixed_batch_jobs(client, default_user, server):
async def test_polling_mixed_batch_jobs(default_user, server):
"""
End-to-end test for polling batch jobs with mixed statuses and idempotency.