mirror of
https://github.com/All-Hands-AI/OpenHands.git
synced 2026-01-08 22:38:05 -05:00
Bumped Software Agent SDK and fixed V1 Delete (#11768)
This commit is contained in:
28
enterprise/poetry.lock
generated
28
enterprise/poetry.lock
generated
@@ -5829,6 +5829,7 @@ files = [
|
|||||||
{file = "openhands_agent_server-1.1.0-py3-none-any.whl", hash = "sha256:59a856883df23488c0723e47655ef21649a321fcd4709a25a4690866eff6ac88"},
|
{file = "openhands_agent_server-1.1.0-py3-none-any.whl", hash = "sha256:59a856883df23488c0723e47655ef21649a321fcd4709a25a4690866eff6ac88"},
|
||||||
{file = "openhands_agent_server-1.1.0.tar.gz", hash = "sha256:e39bebd39afd45cfcfd765005e7c4e5409e46678bd7612ae20bae79f7057b935"},
|
{file = "openhands_agent_server-1.1.0.tar.gz", hash = "sha256:e39bebd39afd45cfcfd765005e7c4e5409e46678bd7612ae20bae79f7057b935"},
|
||||||
]
|
]
|
||||||
|
develop = false
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
aiosqlite = ">=0.19"
|
aiosqlite = ">=0.19"
|
||||||
@@ -5841,9 +5842,16 @@ uvicorn = ">=0.31.1"
|
|||||||
websockets = ">=12"
|
websockets = ">=12"
|
||||||
wsproto = ">=1.2.0"
|
wsproto = ">=1.2.0"
|
||||||
|
|
||||||
|
[package.source]
|
||||||
|
type = "git"
|
||||||
|
url = "https://github.com/OpenHands/agent-sdk.git"
|
||||||
|
reference = "15f565b8ac38876e40dc05c08e2b04ccaae4a66d"
|
||||||
|
resolved_reference = "15f565b8ac38876e40dc05c08e2b04ccaae4a66d"
|
||||||
|
subdirectory = "openhands-agent-server"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "openhands-ai"
|
name = "openhands-ai"
|
||||||
version = "0.0.0-post.5525+0b6631523"
|
version = "0.0.0-post.5576+ed2ac6040"
|
||||||
description = "OpenHands: Code Less, Make More"
|
description = "OpenHands: Code Less, Make More"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "^3.12,<3.14"
|
python-versions = "^3.12,<3.14"
|
||||||
@@ -5860,6 +5868,7 @@ bashlex = "^0.18"
|
|||||||
boto3 = "*"
|
boto3 = "*"
|
||||||
browsergym-core = "0.13.3"
|
browsergym-core = "0.13.3"
|
||||||
deprecated = "*"
|
deprecated = "*"
|
||||||
|
deprecation = "^2.1.0"
|
||||||
dirhash = "*"
|
dirhash = "*"
|
||||||
docker = "*"
|
docker = "*"
|
||||||
fastapi = "*"
|
fastapi = "*"
|
||||||
@@ -5951,8 +5960,10 @@ files = [
|
|||||||
{file = "openhands_sdk-1.1.0-py3-none-any.whl", hash = "sha256:4a984ce1687a48cf99a67fdf3d37b116f8b2840743d4807810b5024af6a1d57e"},
|
{file = "openhands_sdk-1.1.0-py3-none-any.whl", hash = "sha256:4a984ce1687a48cf99a67fdf3d37b116f8b2840743d4807810b5024af6a1d57e"},
|
||||||
{file = "openhands_sdk-1.1.0.tar.gz", hash = "sha256:855e0d8f3657205e4119e50520c17e65b3358b1a923f7a051a82512a54bf426c"},
|
{file = "openhands_sdk-1.1.0.tar.gz", hash = "sha256:855e0d8f3657205e4119e50520c17e65b3358b1a923f7a051a82512a54bf426c"},
|
||||||
]
|
]
|
||||||
|
develop = false
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
|
deprecation = ">=2.1.0"
|
||||||
fastmcp = ">=2.11.3"
|
fastmcp = ">=2.11.3"
|
||||||
httpx = ">=0.27.0"
|
httpx = ">=0.27.0"
|
||||||
litellm = ">=1.77.7.dev9"
|
litellm = ">=1.77.7.dev9"
|
||||||
@@ -5966,6 +5977,13 @@ websockets = ">=12"
|
|||||||
[package.extras]
|
[package.extras]
|
||||||
boto3 = ["boto3 (>=1.35.0)"]
|
boto3 = ["boto3 (>=1.35.0)"]
|
||||||
|
|
||||||
|
[package.source]
|
||||||
|
type = "git"
|
||||||
|
url = "https://github.com/OpenHands/agent-sdk.git"
|
||||||
|
reference = "15f565b8ac38876e40dc05c08e2b04ccaae4a66d"
|
||||||
|
resolved_reference = "15f565b8ac38876e40dc05c08e2b04ccaae4a66d"
|
||||||
|
subdirectory = "openhands-sdk"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "openhands-tools"
|
name = "openhands-tools"
|
||||||
version = "1.1.0"
|
version = "1.1.0"
|
||||||
@@ -5977,6 +5995,7 @@ files = [
|
|||||||
{file = "openhands_tools-1.1.0-py3-none-any.whl", hash = "sha256:767d6746f05edade49263aa24450a037485a3dc23379f56917ef19aad22033f9"},
|
{file = "openhands_tools-1.1.0-py3-none-any.whl", hash = "sha256:767d6746f05edade49263aa24450a037485a3dc23379f56917ef19aad22033f9"},
|
||||||
{file = "openhands_tools-1.1.0.tar.gz", hash = "sha256:c2fadaa4f4e16e9a3df5781ea847565dcae7171584f09ef7c0e1d97c8dfc83f6"},
|
{file = "openhands_tools-1.1.0.tar.gz", hash = "sha256:c2fadaa4f4e16e9a3df5781ea847565dcae7171584f09ef7c0e1d97c8dfc83f6"},
|
||||||
]
|
]
|
||||||
|
develop = false
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
bashlex = ">=0.18"
|
bashlex = ">=0.18"
|
||||||
@@ -5988,6 +6007,13 @@ libtmux = ">=0.46.2"
|
|||||||
openhands-sdk = "*"
|
openhands-sdk = "*"
|
||||||
pydantic = ">=2.11.7"
|
pydantic = ">=2.11.7"
|
||||||
|
|
||||||
|
[package.source]
|
||||||
|
type = "git"
|
||||||
|
url = "https://github.com/OpenHands/agent-sdk.git"
|
||||||
|
reference = "15f565b8ac38876e40dc05c08e2b04ccaae4a66d"
|
||||||
|
resolved_reference = "15f565b8ac38876e40dc05c08e2b04ccaae4a66d"
|
||||||
|
subdirectory = "openhands-tools"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "openpyxl"
|
name = "openpyxl"
|
||||||
version = "3.1.5"
|
version = "3.1.5"
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ from openhands.sdk.utils.models import DiscriminatedUnionMixin
|
|||||||
|
|
||||||
# The version of the agent server to use for deployments.
|
# The version of the agent server to use for deployments.
|
||||||
# Typically this will be the same as the values from the pyproject.toml
|
# Typically this will be the same as the values from the pyproject.toml
|
||||||
AGENT_SERVER_IMAGE = 'ghcr.io/openhands/agent-server:4e2ecd8-python'
|
AGENT_SERVER_IMAGE = 'ghcr.io/openhands/agent-server:15f565b-python'
|
||||||
|
|
||||||
|
|
||||||
class SandboxSpecService(ABC):
|
class SandboxSpecService(ABC):
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ from datetime import datetime, timedelta, timezone
|
|||||||
from typing import Annotated
|
from typing import Annotated
|
||||||
|
|
||||||
import base62
|
import base62
|
||||||
|
import httpx
|
||||||
from fastapi import APIRouter, Depends, Query, Request, status
|
from fastapi import APIRouter, Depends, Query, Request, status
|
||||||
from fastapi.responses import JSONResponse
|
from fastapi.responses import JSONResponse
|
||||||
from jinja2 import Environment, FileSystemLoader
|
from jinja2 import Environment, FileSystemLoader
|
||||||
@@ -28,10 +29,14 @@ from openhands.app_server.config import (
|
|||||||
depends_app_conversation_info_service,
|
depends_app_conversation_info_service,
|
||||||
depends_app_conversation_service,
|
depends_app_conversation_service,
|
||||||
depends_db_session,
|
depends_db_session,
|
||||||
|
depends_httpx_client,
|
||||||
depends_sandbox_service,
|
depends_sandbox_service,
|
||||||
)
|
)
|
||||||
from openhands.app_server.sandbox.sandbox_service import SandboxService
|
from openhands.app_server.sandbox.sandbox_service import SandboxService
|
||||||
from openhands.app_server.services.db_session_injector import set_db_session_keep_open
|
from openhands.app_server.services.db_session_injector import set_db_session_keep_open
|
||||||
|
from openhands.app_server.services.httpx_client_injector import (
|
||||||
|
set_httpx_client_keep_open,
|
||||||
|
)
|
||||||
from openhands.core.config.llm_config import LLMConfig
|
from openhands.core.config.llm_config import LLMConfig
|
||||||
from openhands.core.config.mcp_config import MCPConfig
|
from openhands.core.config.mcp_config import MCPConfig
|
||||||
from openhands.core.logger import openhands_logger as logger
|
from openhands.core.logger import openhands_logger as logger
|
||||||
@@ -105,6 +110,7 @@ app_conversation_service_dependency = depends_app_conversation_service()
|
|||||||
app_conversation_info_service_dependency = depends_app_conversation_info_service()
|
app_conversation_info_service_dependency = depends_app_conversation_info_service()
|
||||||
sandbox_service_dependency = depends_sandbox_service()
|
sandbox_service_dependency = depends_sandbox_service()
|
||||||
db_session_dependency = depends_db_session()
|
db_session_dependency = depends_db_session()
|
||||||
|
httpx_client_dependency = depends_httpx_client()
|
||||||
|
|
||||||
|
|
||||||
def _filter_conversations_by_age(
|
def _filter_conversations_by_age(
|
||||||
@@ -487,8 +493,11 @@ async def delete_conversation(
|
|||||||
app_conversation_info_service: AppConversationInfoService = app_conversation_info_service_dependency,
|
app_conversation_info_service: AppConversationInfoService = app_conversation_info_service_dependency,
|
||||||
sandbox_service: SandboxService = sandbox_service_dependency,
|
sandbox_service: SandboxService = sandbox_service_dependency,
|
||||||
db_session: AsyncSession = db_session_dependency,
|
db_session: AsyncSession = db_session_dependency,
|
||||||
|
httpx_client: httpx.AsyncClient = httpx_client_dependency,
|
||||||
) -> bool:
|
) -> bool:
|
||||||
set_db_session_keep_open(request.state, True)
|
set_db_session_keep_open(request.state, True)
|
||||||
|
set_httpx_client_keep_open(request.state, True)
|
||||||
|
|
||||||
# Try V1 conversation first
|
# Try V1 conversation first
|
||||||
v1_result = await _try_delete_v1_conversation(
|
v1_result = await _try_delete_v1_conversation(
|
||||||
conversation_id,
|
conversation_id,
|
||||||
@@ -496,6 +505,7 @@ async def delete_conversation(
|
|||||||
app_conversation_info_service,
|
app_conversation_info_service,
|
||||||
sandbox_service,
|
sandbox_service,
|
||||||
db_session,
|
db_session,
|
||||||
|
httpx_client,
|
||||||
)
|
)
|
||||||
if v1_result is not None:
|
if v1_result is not None:
|
||||||
return v1_result
|
return v1_result
|
||||||
@@ -510,6 +520,7 @@ async def _try_delete_v1_conversation(
|
|||||||
app_conversation_info_service: AppConversationInfoService,
|
app_conversation_info_service: AppConversationInfoService,
|
||||||
sandbox_service: SandboxService,
|
sandbox_service: SandboxService,
|
||||||
db_session: AsyncSession,
|
db_session: AsyncSession,
|
||||||
|
httpx_client: httpx.AsyncClient,
|
||||||
) -> bool | None:
|
) -> bool | None:
|
||||||
"""Try to delete a V1 conversation. Returns None if not a V1 conversation."""
|
"""Try to delete a V1 conversation. Returns None if not a V1 conversation."""
|
||||||
result = None
|
result = None
|
||||||
@@ -527,10 +538,17 @@ async def _try_delete_v1_conversation(
|
|||||||
result = await app_conversation_service.delete_app_conversation(
|
result = await app_conversation_service.delete_app_conversation(
|
||||||
app_conversation_info.id
|
app_conversation_info.id
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Manually commit so that the conversation will vanish from the list
|
||||||
|
await db_session.commit()
|
||||||
|
|
||||||
# Delete the sandbox in the background
|
# Delete the sandbox in the background
|
||||||
asyncio.create_task(
|
asyncio.create_task(
|
||||||
_delete_sandbox_and_close_connection(
|
_delete_sandbox_and_close_connections(
|
||||||
sandbox_service, app_conversation_info.sandbox_id, db_session
|
sandbox_service,
|
||||||
|
app_conversation_info.sandbox_id,
|
||||||
|
db_session,
|
||||||
|
httpx_client,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
except (ValueError, TypeError):
|
except (ValueError, TypeError):
|
||||||
@@ -543,14 +561,22 @@ async def _try_delete_v1_conversation(
|
|||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
async def _delete_sandbox_and_close_connection(
|
async def _delete_sandbox_and_close_connections(
|
||||||
sandbox_service: SandboxService, sandbox_id: str, db_session: AsyncSession
|
sandbox_service: SandboxService,
|
||||||
|
sandbox_id: str,
|
||||||
|
db_session: AsyncSession,
|
||||||
|
httpx_client: httpx.AsyncClient,
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
await sandbox_service.delete_sandbox(sandbox_id)
|
await sandbox_service.delete_sandbox(sandbox_id)
|
||||||
await db_session.commit()
|
await db_session.commit()
|
||||||
finally:
|
finally:
|
||||||
await db_session.aclose()
|
await asyncio.gather(
|
||||||
|
*[
|
||||||
|
db_session.aclose(),
|
||||||
|
httpx_client.aclose(),
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
async def _delete_v0_conversation(conversation_id: str, user_id: str | None) -> bool:
|
async def _delete_v0_conversation(conversation_id: str, user_id: str | None) -> bool:
|
||||||
|
|||||||
42
poetry.lock
generated
42
poetry.lock
generated
@@ -2408,6 +2408,21 @@ wrapt = ">=1.10,<2"
|
|||||||
[package.extras]
|
[package.extras]
|
||||||
dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "setuptools ; python_version >= \"3.12\"", "tox"]
|
dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "setuptools ; python_version >= \"3.12\"", "tox"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "deprecation"
|
||||||
|
version = "2.1.0"
|
||||||
|
description = "A library to handle automated deprecations"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
groups = ["main"]
|
||||||
|
files = [
|
||||||
|
{file = "deprecation-2.1.0-py2.py3-none-any.whl", hash = "sha256:a10811591210e1fb0e768a8c25517cabeabcba6f0bf96564f8ff45189f90b14a"},
|
||||||
|
{file = "deprecation-2.1.0.tar.gz", hash = "sha256:72b3bde64e5d778694b0cf68178aed03d15e15477116add3fb773e581f9518ff"},
|
||||||
|
]
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
packaging = "*"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "dill"
|
name = "dill"
|
||||||
version = "0.3.8"
|
version = "0.3.8"
|
||||||
@@ -7338,6 +7353,7 @@ files = [
|
|||||||
{file = "openhands_agent_server-1.1.0-py3-none-any.whl", hash = "sha256:59a856883df23488c0723e47655ef21649a321fcd4709a25a4690866eff6ac88"},
|
{file = "openhands_agent_server-1.1.0-py3-none-any.whl", hash = "sha256:59a856883df23488c0723e47655ef21649a321fcd4709a25a4690866eff6ac88"},
|
||||||
{file = "openhands_agent_server-1.1.0.tar.gz", hash = "sha256:e39bebd39afd45cfcfd765005e7c4e5409e46678bd7612ae20bae79f7057b935"},
|
{file = "openhands_agent_server-1.1.0.tar.gz", hash = "sha256:e39bebd39afd45cfcfd765005e7c4e5409e46678bd7612ae20bae79f7057b935"},
|
||||||
]
|
]
|
||||||
|
develop = false
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
aiosqlite = ">=0.19"
|
aiosqlite = ">=0.19"
|
||||||
@@ -7350,6 +7366,13 @@ uvicorn = ">=0.31.1"
|
|||||||
websockets = ">=12"
|
websockets = ">=12"
|
||||||
wsproto = ">=1.2.0"
|
wsproto = ">=1.2.0"
|
||||||
|
|
||||||
|
[package.source]
|
||||||
|
type = "git"
|
||||||
|
url = "https://github.com/OpenHands/agent-sdk.git"
|
||||||
|
reference = "15f565b8ac38876e40dc05c08e2b04ccaae4a66d"
|
||||||
|
resolved_reference = "15f565b8ac38876e40dc05c08e2b04ccaae4a66d"
|
||||||
|
subdirectory = "openhands-agent-server"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "openhands-sdk"
|
name = "openhands-sdk"
|
||||||
version = "1.1.0"
|
version = "1.1.0"
|
||||||
@@ -7361,8 +7384,10 @@ files = [
|
|||||||
{file = "openhands_sdk-1.1.0-py3-none-any.whl", hash = "sha256:4a984ce1687a48cf99a67fdf3d37b116f8b2840743d4807810b5024af6a1d57e"},
|
{file = "openhands_sdk-1.1.0-py3-none-any.whl", hash = "sha256:4a984ce1687a48cf99a67fdf3d37b116f8b2840743d4807810b5024af6a1d57e"},
|
||||||
{file = "openhands_sdk-1.1.0.tar.gz", hash = "sha256:855e0d8f3657205e4119e50520c17e65b3358b1a923f7a051a82512a54bf426c"},
|
{file = "openhands_sdk-1.1.0.tar.gz", hash = "sha256:855e0d8f3657205e4119e50520c17e65b3358b1a923f7a051a82512a54bf426c"},
|
||||||
]
|
]
|
||||||
|
develop = false
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
|
deprecation = ">=2.1.0"
|
||||||
fastmcp = ">=2.11.3"
|
fastmcp = ">=2.11.3"
|
||||||
httpx = ">=0.27.0"
|
httpx = ">=0.27.0"
|
||||||
litellm = ">=1.77.7.dev9"
|
litellm = ">=1.77.7.dev9"
|
||||||
@@ -7376,6 +7401,13 @@ websockets = ">=12"
|
|||||||
[package.extras]
|
[package.extras]
|
||||||
boto3 = ["boto3 (>=1.35.0)"]
|
boto3 = ["boto3 (>=1.35.0)"]
|
||||||
|
|
||||||
|
[package.source]
|
||||||
|
type = "git"
|
||||||
|
url = "https://github.com/OpenHands/agent-sdk.git"
|
||||||
|
reference = "15f565b8ac38876e40dc05c08e2b04ccaae4a66d"
|
||||||
|
resolved_reference = "15f565b8ac38876e40dc05c08e2b04ccaae4a66d"
|
||||||
|
subdirectory = "openhands-sdk"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "openhands-tools"
|
name = "openhands-tools"
|
||||||
version = "1.1.0"
|
version = "1.1.0"
|
||||||
@@ -7387,6 +7419,7 @@ files = [
|
|||||||
{file = "openhands_tools-1.1.0-py3-none-any.whl", hash = "sha256:767d6746f05edade49263aa24450a037485a3dc23379f56917ef19aad22033f9"},
|
{file = "openhands_tools-1.1.0-py3-none-any.whl", hash = "sha256:767d6746f05edade49263aa24450a037485a3dc23379f56917ef19aad22033f9"},
|
||||||
{file = "openhands_tools-1.1.0.tar.gz", hash = "sha256:c2fadaa4f4e16e9a3df5781ea847565dcae7171584f09ef7c0e1d97c8dfc83f6"},
|
{file = "openhands_tools-1.1.0.tar.gz", hash = "sha256:c2fadaa4f4e16e9a3df5781ea847565dcae7171584f09ef7c0e1d97c8dfc83f6"},
|
||||||
]
|
]
|
||||||
|
develop = false
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
bashlex = ">=0.18"
|
bashlex = ">=0.18"
|
||||||
@@ -7398,6 +7431,13 @@ libtmux = ">=0.46.2"
|
|||||||
openhands-sdk = "*"
|
openhands-sdk = "*"
|
||||||
pydantic = ">=2.11.7"
|
pydantic = ">=2.11.7"
|
||||||
|
|
||||||
|
[package.source]
|
||||||
|
type = "git"
|
||||||
|
url = "https://github.com/OpenHands/agent-sdk.git"
|
||||||
|
reference = "15f565b8ac38876e40dc05c08e2b04ccaae4a66d"
|
||||||
|
resolved_reference = "15f565b8ac38876e40dc05c08e2b04ccaae4a66d"
|
||||||
|
subdirectory = "openhands-tools"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "openpyxl"
|
name = "openpyxl"
|
||||||
version = "3.1.5"
|
version = "3.1.5"
|
||||||
@@ -16729,4 +16769,4 @@ third-party-runtimes = ["daytona", "e2b-code-interpreter", "modal", "runloop-api
|
|||||||
[metadata]
|
[metadata]
|
||||||
lock-version = "2.1"
|
lock-version = "2.1"
|
||||||
python-versions = "^3.12,<3.14"
|
python-versions = "^3.12,<3.14"
|
||||||
content-hash = "0fe5bab6aeb5ebce4588b30cfcf491af4cc9d9b9cd5160e67c8a055d9db276fc"
|
content-hash = "44c6c1f432337d216b70a6654fb0cd20410ddeb56485999859032aec53e90458"
|
||||||
|
|||||||
@@ -113,9 +113,9 @@ e2b-code-interpreter = { version = "^2.0.0", optional = true }
|
|||||||
pybase62 = "^1.0.0"
|
pybase62 = "^1.0.0"
|
||||||
|
|
||||||
# V1 dependencies
|
# V1 dependencies
|
||||||
#openhands-agent-server = { git = "https://github.com/OpenHands/agent-sdk.git", subdirectory = "openhands-agent-server", rev = "f3c0c19cd134fbda84e07f152897a6d61e1e46c5" }
|
#openhands-agent-server = { git = "https://github.com/OpenHands/agent-sdk.git", subdirectory = "openhands-agent-server", rev = "15f565b8ac38876e40dc05c08e2b04ccaae4a66d" }
|
||||||
#openhands-sdk = { git = "https://github.com/OpenHands/agent-sdk.git", subdirectory = "openhands-sdk", rev = "f3c0c19cd134fbda84e07f152897a6d61e1e46c5" }
|
#openhands-sdk = { git = "https://github.com/OpenHands/agent-sdk.git", subdirectory = "openhands-sdk", rev = "15f565b8ac38876e40dc05c08e2b04ccaae4a66d" }
|
||||||
#openhands-tools = { git = "https://github.com/OpenHands/agent-sdk.git", subdirectory = "openhands-tools", rev = "f3c0c19cd134fbda84e07f152897a6d61e1e46c5" }
|
#openhands-tools = { git = "https://github.com/OpenHands/agent-sdk.git", subdirectory = "openhands-tools", rev = "15f565b8ac38876e40dc05c08e2b04ccaae4a66d" }
|
||||||
openhands-sdk = "1.1.0"
|
openhands-sdk = "1.1.0"
|
||||||
openhands-agent-server = "1.1.0"
|
openhands-agent-server = "1.1.0"
|
||||||
openhands-tools = "1.1.0"
|
openhands-tools = "1.1.0"
|
||||||
@@ -123,6 +123,7 @@ python-jose = { version = ">=3.3", extras = [ "cryptography" ] }
|
|||||||
sqlalchemy = { extras = [ "asyncio" ], version = "^2.0.40" }
|
sqlalchemy = { extras = [ "asyncio" ], version = "^2.0.40" }
|
||||||
pg8000 = "^1.31.5"
|
pg8000 = "^1.31.5"
|
||||||
asyncpg = "^0.30.0"
|
asyncpg = "^0.30.0"
|
||||||
|
deprecation = "^2.1.0"
|
||||||
lmnr = "^0.7.20"
|
lmnr = "^0.7.20"
|
||||||
|
|
||||||
[tool.poetry.extras]
|
[tool.poetry.extras]
|
||||||
|
|||||||
Reference in New Issue
Block a user