Skip to content

Commit 4ba605a

Browse files
committed
refactor(sandbox): remove sandbox_id parameter and deprecated methods
remove sandbox_id parameter from create_sandbox methods and delete the deprecated create_sandbox_with_input methods across client and API implementations. also remove SandboxInput from imports and update method signatures consistently. 移除 create_sandbox 方法中的 sandbox_id 参数并删除已弃用的方法 从 create_sandbox 方法中移除 sandbox_id 参数,并删除客户端和 API 实现中的已弃用的 create_sandbox_with_input 方法。 同时从导入中移除 SandboxInput 并一致地更新方法签名。 BREAKING CHANGE: removes sandbox_id parameter from create_sandbox methods and deletes create_sandbox_with_input methods 破坏性变更:移除 create_sandbox 方法中的 sandbox_id 参数 并删除 create_sandbox_with_input 方法 Change-Id: Id0de4de5b8137d02e4f952a403622a0efd09cde7 Signed-off-by: OhYee <[email protected]>
1 parent 256407a commit 4ba605a

File tree

7 files changed

+62
-104
lines changed

7 files changed

+62
-104
lines changed

agentrun/sandbox/__client_async_template.py

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
OSSMountConfig,
2323
PageableInput,
2424
PolarFsConfig,
25-
SandboxInput,
2625
TemplateInput,
2726
)
2827
from agentrun.utils.config import Config
@@ -277,7 +276,6 @@ async def create_sandbox_async(
277276
self,
278277
template_name: str,
279278
sandbox_idle_timeout_seconds: Optional[int] = 600,
280-
sandbox_id: Optional[str] = None,
281279
nas_config: Optional[NASConfig] = None,
282280
oss_mount_config: Optional[OSSMountConfig] = None,
283281
polar_fs_config: Optional[PolarFsConfig] = None,
@@ -288,7 +286,6 @@ async def create_sandbox_async(
288286
Args:
289287
template_name: 模板名称 / Template name
290288
sandbox_idle_timeout_seconds: 沙箱空闲超时时间(秒) / Sandbox idle timeout (seconds)
291-
sandbox_id: 沙箱 ID(可选) / Sandbox ID (optional)
292289
nas_config: NAS 配置 / NAS configuration
293290
oss_mount_config: OSS 挂载配置 / OSS mount configuration
294291
polar_fs_config: PolarFS 配置 / PolarFS configuration
@@ -317,7 +314,6 @@ async def create_sandbox_async(
317314
result = await self.__sandbox_data_api.create_sandbox_async(
318315
template_name=template_name,
319316
sandbox_idle_timeout_seconds=sandbox_idle_timeout_seconds,
320-
sandbox_id=sandbox_id,
321317
nas_config=nas_config_dict,
322318
oss_mount_config=oss_mount_config_dict,
323319
polar_fs_config=polar_fs_config_dict,
@@ -338,34 +334,6 @@ async def create_sandbox_async(
338334
data = result.get("data", {})
339335
return Sandbox.model_validate(data, by_alias=True)
340336

341-
async def create_sandbox_with_input_async(
342-
self,
343-
input: SandboxInput,
344-
config: Optional[Config] = None,
345-
) -> Sandbox:
346-
"""使用 SandboxInput 创建 Sandbox(异步) / Create Sandbox with SandboxInput (async)
347-
348-
Args:
349-
input: Sandbox 创建配置 / Sandbox creation configuration
350-
config: 配置对象 / Config object
351-
352-
Returns:
353-
Sandbox: 创建的 Sandbox 对象 / Created Sandbox object
354-
355-
Raises:
356-
ClientError: 客户端错误 / Client error
357-
ServerError: 服务器错误 / Server error
358-
"""
359-
return await self.create_sandbox_async(
360-
template_name=input.template_name,
361-
sandbox_idle_timeout_seconds=input.sandbox_idle_timeout_seconds,
362-
sandbox_id=input.sandbox_id,
363-
nas_config=input.nas_config,
364-
oss_mount_config=input.oss_mount_config,
365-
polar_fs_config=input.polar_fs_config,
366-
config=config,
367-
)
368-
369337
async def stop_sandbox_async(
370338
self, sandbox_id: str, config: Optional[Config] = None
371339
) -> Sandbox:

agentrun/sandbox/__init__.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,12 @@
1010
CodeLanguage,
1111
ListSandboxesInput,
1212
ListSandboxesOutput,
13+
NASConfig,
14+
NASMountConfig,
15+
OSSMountConfig,
16+
OSSMountPoint,
1317
PageableInput,
18+
PolarFsConfig,
1419
SandboxInput,
1520
TemplateArmsConfiguration,
1621
TemplateContainerConfiguration,
@@ -55,4 +60,10 @@
5560
"ListSandboxesOutput",
5661
"CodeLanguage",
5762
"TemplateOSSPermission",
63+
"NASConfig",
64+
"NASMountConfig",
65+
"OSSMountConfig",
66+
"OSSMountPoint",
67+
"PolarFsConfig",
68+
"PolarFsConfig",
5869
]

agentrun/sandbox/__sandbox_async_template.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,10 @@
2626
from agentrun.sandbox.model import (
2727
ListSandboxesInput,
2828
ListSandboxesOutput,
29+
NASConfig,
30+
OSSMountConfig,
2931
PageableInput,
32+
PolarFsConfig,
3033
TemplateInput,
3134
)
3235
from agentrun.sandbox.template import Template
@@ -79,6 +82,9 @@ async def create_async(
7982
template_type: Literal[TemplateType.CODE_INTERPRETER],
8083
template_name: Optional[str] = None,
8184
sandbox_idle_timeout_seconds: Optional[int] = 600,
85+
nas_config: Optional["NASConfig"] = None,
86+
oss_mount_config: Optional["OSSMountConfig"] = None,
87+
polar_fs_config: Optional["PolarFsConfig"] = None,
8288
config: Optional[Config] = None,
8389
) -> "CodeInterpreterSandbox":
8490
...
@@ -90,6 +96,9 @@ async def create_async(
9096
template_type: Literal[TemplateType.BROWSER],
9197
template_name: Optional[str] = None,
9298
sandbox_idle_timeout_seconds: Optional[int] = 600,
99+
nas_config: Optional["NASConfig"] = None,
100+
oss_mount_config: Optional["OSSMountConfig"] = None,
101+
polar_fs_config: Optional["PolarFsConfig"] = None,
93102
config: Optional[Config] = None,
94103
) -> "BrowserSandbox":
95104
...
@@ -101,6 +110,9 @@ async def create_async(
101110
template_type: Literal[TemplateType.AIO],
102111
template_name: Optional[str] = None,
103112
sandbox_idle_timeout_seconds: Optional[int] = 600,
113+
nas_config: Optional["NASConfig"] = None,
114+
oss_mount_config: Optional["OSSMountConfig"] = None,
115+
polar_fs_config: Optional["PolarFsConfig"] = None,
104116
config: Optional[Config] = None,
105117
) -> "AioSandbox":
106118
...
@@ -111,6 +123,9 @@ async def create_async(
111123
template_type: TemplateType,
112124
template_name: Optional[str] = None,
113125
sandbox_idle_timeout_seconds: Optional[int] = 600,
126+
nas_config: Optional["NASConfig"] = None,
127+
oss_mount_config: Optional["OSSMountConfig"] = None,
128+
polar_fs_config: Optional["PolarFsConfig"] = None,
114129
config: Optional[Config] = None,
115130
) -> Union["CodeInterpreterSandbox", "BrowserSandbox", "AioSandbox"]:
116131

@@ -138,6 +153,9 @@ async def create_async(
138153
base_sandbox = await cls.__get_client().create_sandbox_async(
139154
template_name=template_name,
140155
sandbox_idle_timeout_seconds=sandbox_idle_timeout_seconds,
156+
nas_config=nas_config,
157+
oss_mount_config=oss_mount_config,
158+
polar_fs_config=polar_fs_config,
141159
)
142160

143161
# 根据 template 类型转换为对应的子类实例

agentrun/sandbox/api/__sandbox_data_async_template.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ async def create_sandbox_async(
7070
self,
7171
template_name: str,
7272
sandbox_idle_timeout_seconds: Optional[int] = 600,
73-
sandbox_id: Optional[str] = None,
7473
nas_config: Optional[Dict[str, Any]] = None,
7574
oss_mount_config: Optional[Dict[str, Any]] = None,
7675
polar_fs_config: Optional[Dict[str, Any]] = None,
@@ -81,8 +80,6 @@ async def create_sandbox_async(
8180
"templateName": template_name,
8281
"sandboxIdleTimeoutSeconds": sandbox_idle_timeout_seconds,
8382
}
84-
if sandbox_id is not None:
85-
data["sandboxId"] = sandbox_id
8683
if nas_config is not None:
8784
data["nasConfig"] = nas_config
8885
if oss_mount_config is not None:

agentrun/sandbox/api/sandbox_data.py

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@ async def create_sandbox_async(
8383
self,
8484
template_name: str,
8585
sandbox_idle_timeout_seconds: Optional[int] = 600,
86-
sandbox_id: Optional[str] = None,
8786
nas_config: Optional[Dict[str, Any]] = None,
8887
oss_mount_config: Optional[Dict[str, Any]] = None,
8988
polar_fs_config: Optional[Dict[str, Any]] = None,
@@ -94,8 +93,6 @@ async def create_sandbox_async(
9493
"templateName": template_name,
9594
"sandboxIdleTimeoutSeconds": sandbox_idle_timeout_seconds,
9695
}
97-
if sandbox_id is not None:
98-
data["sandboxId"] = sandbox_id
9996
if nas_config is not None:
10097
data["nasConfig"] = nas_config
10198
if oss_mount_config is not None:
@@ -108,7 +105,6 @@ def create_sandbox(
108105
self,
109106
template_name: str,
110107
sandbox_idle_timeout_seconds: Optional[int] = 600,
111-
sandbox_id: Optional[str] = None,
112108
nas_config: Optional[Dict[str, Any]] = None,
113109
oss_mount_config: Optional[Dict[str, Any]] = None,
114110
polar_fs_config: Optional[Dict[str, Any]] = None,
@@ -119,8 +115,6 @@ def create_sandbox(
119115
"templateName": template_name,
120116
"sandboxIdleTimeoutSeconds": sandbox_idle_timeout_seconds,
121117
}
122-
if sandbox_id is not None:
123-
data["sandboxId"] = sandbox_id
124118
if nas_config is not None:
125119
data["nasConfig"] = nas_config
126120
if oss_mount_config is not None:

agentrun/sandbox/client.py

Lines changed: 0 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
OSSMountConfig,
3333
PageableInput,
3434
PolarFsConfig,
35-
SandboxInput,
3635
TemplateInput,
3736
)
3837
from agentrun.utils.config import Config
@@ -499,7 +498,6 @@ async def create_sandbox_async(
499498
self,
500499
template_name: str,
501500
sandbox_idle_timeout_seconds: Optional[int] = 600,
502-
sandbox_id: Optional[str] = None,
503501
nas_config: Optional[NASConfig] = None,
504502
oss_mount_config: Optional[OSSMountConfig] = None,
505503
polar_fs_config: Optional[PolarFsConfig] = None,
@@ -510,7 +508,6 @@ async def create_sandbox_async(
510508
Args:
511509
template_name: 模板名称 / Template name
512510
sandbox_idle_timeout_seconds: 沙箱空闲超时时间(秒) / Sandbox idle timeout (seconds)
513-
sandbox_id: 沙箱 ID(可选) / Sandbox ID (optional)
514511
nas_config: NAS 配置 / NAS configuration
515512
oss_mount_config: OSS 挂载配置 / OSS mount configuration
516513
polar_fs_config: PolarFS 配置 / PolarFS configuration
@@ -539,7 +536,6 @@ async def create_sandbox_async(
539536
result = await self.__sandbox_data_api.create_sandbox_async(
540537
template_name=template_name,
541538
sandbox_idle_timeout_seconds=sandbox_idle_timeout_seconds,
542-
sandbox_id=sandbox_id,
543539
nas_config=nas_config_dict,
544540
oss_mount_config=oss_mount_config_dict,
545541
polar_fs_config=polar_fs_config_dict,
@@ -564,7 +560,6 @@ def create_sandbox(
564560
self,
565561
template_name: str,
566562
sandbox_idle_timeout_seconds: Optional[int] = 600,
567-
sandbox_id: Optional[str] = None,
568563
nas_config: Optional[NASConfig] = None,
569564
oss_mount_config: Optional[OSSMountConfig] = None,
570565
polar_fs_config: Optional[PolarFsConfig] = None,
@@ -575,7 +570,6 @@ def create_sandbox(
575570
Args:
576571
template_name: 模板名称 / Template name
577572
sandbox_idle_timeout_seconds: 沙箱空闲超时时间(秒) / Sandbox idle timeout (seconds)
578-
sandbox_id: 沙箱 ID(可选) / Sandbox ID (optional)
579573
nas_config: NAS 配置 / NAS configuration
580574
oss_mount_config: OSS 挂载配置 / OSS mount configuration
581575
polar_fs_config: PolarFS 配置 / PolarFS configuration
@@ -604,7 +598,6 @@ def create_sandbox(
604598
result = self.__sandbox_data_api.create_sandbox(
605599
template_name=template_name,
606600
sandbox_idle_timeout_seconds=sandbox_idle_timeout_seconds,
607-
sandbox_id=sandbox_id,
608601
nas_config=nas_config_dict,
609602
oss_mount_config=oss_mount_config_dict,
610603
polar_fs_config=polar_fs_config_dict,
@@ -625,62 +618,6 @@ def create_sandbox(
625618
data = result.get("data", {})
626619
return Sandbox.model_validate(data, by_alias=True)
627620

628-
async def create_sandbox_with_input_async(
629-
self,
630-
input: SandboxInput,
631-
config: Optional[Config] = None,
632-
) -> Sandbox:
633-
"""使用 SandboxInput 创建 Sandbox(异步) / Create Sandbox with SandboxInput (async)
634-
635-
Args:
636-
input: Sandbox 创建配置 / Sandbox creation configuration
637-
config: 配置对象 / Config object
638-
639-
Returns:
640-
Sandbox: 创建的 Sandbox 对象 / Created Sandbox object
641-
642-
Raises:
643-
ClientError: 客户端错误 / Client error
644-
ServerError: 服务器错误 / Server error
645-
"""
646-
return await self.create_sandbox_async(
647-
template_name=input.template_name,
648-
sandbox_idle_timeout_seconds=input.sandbox_idle_timeout_seconds,
649-
sandbox_id=input.sandbox_id,
650-
nas_config=input.nas_config,
651-
oss_mount_config=input.oss_mount_config,
652-
polar_fs_config=input.polar_fs_config,
653-
config=config,
654-
)
655-
656-
def create_sandbox_with_input(
657-
self,
658-
input: SandboxInput,
659-
config: Optional[Config] = None,
660-
) -> Sandbox:
661-
"""使用 SandboxInput 创建 Sandbox(同步) / Create Sandbox with SandboxInput (async)
662-
663-
Args:
664-
input: Sandbox 创建配置 / Sandbox creation configuration
665-
config: 配置对象 / Config object
666-
667-
Returns:
668-
Sandbox: 创建的 Sandbox 对象 / Created Sandbox object
669-
670-
Raises:
671-
ClientError: 客户端错误 / Client error
672-
ServerError: 服务器错误 / Server error
673-
"""
674-
return self.create_sandbox(
675-
template_name=input.template_name,
676-
sandbox_idle_timeout_seconds=input.sandbox_idle_timeout_seconds,
677-
sandbox_id=input.sandbox_id,
678-
nas_config=input.nas_config,
679-
oss_mount_config=input.oss_mount_config,
680-
polar_fs_config=input.polar_fs_config,
681-
config=config,
682-
)
683-
684621
async def stop_sandbox_async(
685622
self, sandbox_id: str, config: Optional[Config] = None
686623
) -> Sandbox:

0 commit comments

Comments
 (0)