acontext 0.1.7__tar.gz → 0.1.8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {acontext-0.1.7 → acontext-0.1.8}/PKG-INFO +1 -1
- {acontext-0.1.7 → acontext-0.1.8}/pyproject.toml +1 -1
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/async_client.py +0 -2
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/client.py +0 -2
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/resources/__init__.py +0 -4
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/resources/async_sandboxes.py +1 -1
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/resources/async_sessions.py +8 -0
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/resources/sandboxes.py +1 -1
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/resources/sessions.py +8 -0
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/types/__init__.py +4 -11
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/types/common.py +7 -0
- acontext-0.1.7/src/acontext/resources/async_tools.py +0 -34
- acontext-0.1.7/src/acontext/resources/tools.py +0 -34
- acontext-0.1.7/src/acontext/types/tool.py +0 -25
- {acontext-0.1.7 → acontext-0.1.8}/README.md +0 -0
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/__init__.py +0 -0
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/_constants.py +0 -0
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/_utils.py +0 -0
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/agent/__init__.py +0 -0
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/agent/base.py +0 -0
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/agent/disk.py +0 -0
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/agent/prompts.py +0 -0
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/agent/sandbox.py +0 -0
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/agent/skill.py +0 -0
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/agent/text_editor.py +0 -0
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/client_types.py +0 -0
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/errors.py +0 -0
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/messages.py +0 -0
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/py.typed +0 -0
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/resources/async_disks.py +0 -0
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/resources/async_skills.py +0 -0
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/resources/async_users.py +0 -0
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/resources/disks.py +0 -0
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/resources/skills.py +0 -0
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/resources/users.py +0 -0
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/types/disk.py +0 -0
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/types/sandbox.py +0 -0
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/types/session.py +0 -0
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/types/skill.py +0 -0
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/types/user.py +0 -0
- {acontext-0.1.7 → acontext-0.1.8}/src/acontext/uploads.py +0 -0
|
@@ -15,7 +15,6 @@ from .uploads import FileUpload as FileUpload
|
|
|
15
15
|
from .resources.async_disks import AsyncDisksAPI as AsyncDisksAPI
|
|
16
16
|
from .resources.async_sandboxes import AsyncSandboxesAPI as AsyncSandboxesAPI
|
|
17
17
|
from .resources.async_sessions import AsyncSessionsAPI as AsyncSessionsAPI
|
|
18
|
-
from .resources.async_tools import AsyncToolsAPI as AsyncToolsAPI
|
|
19
18
|
from .resources.async_skills import AsyncSkillsAPI as AsyncSkillsAPI
|
|
20
19
|
from .resources.async_users import AsyncUsersAPI as AsyncUsersAPI
|
|
21
20
|
|
|
@@ -107,7 +106,6 @@ class AcontextAsyncClient:
|
|
|
107
106
|
self.sessions = AsyncSessionsAPI(self)
|
|
108
107
|
self.disks = AsyncDisksAPI(self)
|
|
109
108
|
self.artifacts = self.disks.artifacts
|
|
110
|
-
self.tools = AsyncToolsAPI(self)
|
|
111
109
|
self.skills = AsyncSkillsAPI(self)
|
|
112
110
|
self.users = AsyncUsersAPI(self)
|
|
113
111
|
self.sandboxes = AsyncSandboxesAPI(self)
|
|
@@ -15,7 +15,6 @@ from .uploads import FileUpload as FileUpload
|
|
|
15
15
|
from .resources.disks import DisksAPI as DisksAPI
|
|
16
16
|
from .resources.sandboxes import SandboxesAPI as SandboxesAPI
|
|
17
17
|
from .resources.sessions import SessionsAPI as SessionsAPI
|
|
18
|
-
from .resources.tools import ToolsAPI as ToolsAPI
|
|
19
18
|
from .resources.skills import SkillsAPI as SkillsAPI
|
|
20
19
|
from .resources.users import UsersAPI as UsersAPI
|
|
21
20
|
|
|
@@ -107,7 +106,6 @@ class AcontextClient:
|
|
|
107
106
|
self.sessions = SessionsAPI(self)
|
|
108
107
|
self.disks = DisksAPI(self)
|
|
109
108
|
self.artifacts = self.disks.artifacts
|
|
110
|
-
self.tools = ToolsAPI(self)
|
|
111
109
|
self.skills = SkillsAPI(self)
|
|
112
110
|
self.users = UsersAPI(self)
|
|
113
111
|
self.sandboxes = SandboxesAPI(self)
|
|
@@ -3,13 +3,11 @@
|
|
|
3
3
|
from .async_disks import AsyncDisksAPI, AsyncDiskArtifactsAPI
|
|
4
4
|
from .async_sandboxes import AsyncSandboxesAPI
|
|
5
5
|
from .async_sessions import AsyncSessionsAPI
|
|
6
|
-
from .async_tools import AsyncToolsAPI
|
|
7
6
|
from .async_skills import AsyncSkillsAPI
|
|
8
7
|
from .async_users import AsyncUsersAPI
|
|
9
8
|
from .disks import DisksAPI, DiskArtifactsAPI
|
|
10
9
|
from .sandboxes import SandboxesAPI
|
|
11
10
|
from .sessions import SessionsAPI
|
|
12
|
-
from .tools import ToolsAPI
|
|
13
11
|
from .skills import SkillsAPI
|
|
14
12
|
from .users import UsersAPI
|
|
15
13
|
|
|
@@ -18,14 +16,12 @@ __all__ = [
|
|
|
18
16
|
"DiskArtifactsAPI",
|
|
19
17
|
"SandboxesAPI",
|
|
20
18
|
"SessionsAPI",
|
|
21
|
-
"ToolsAPI",
|
|
22
19
|
"SkillsAPI",
|
|
23
20
|
"UsersAPI",
|
|
24
21
|
"AsyncDisksAPI",
|
|
25
22
|
"AsyncDiskArtifactsAPI",
|
|
26
23
|
"AsyncSandboxesAPI",
|
|
27
24
|
"AsyncSessionsAPI",
|
|
28
|
-
"AsyncToolsAPI",
|
|
29
25
|
"AsyncSkillsAPI",
|
|
30
26
|
"AsyncUsersAPI",
|
|
31
27
|
]
|
|
@@ -84,6 +84,7 @@ class AsyncSessionsAPI:
|
|
|
84
84
|
user: str | None = None,
|
|
85
85
|
disable_task_tracking: bool | None = None,
|
|
86
86
|
configs: Mapping[str, Any] | None = None,
|
|
87
|
+
use_uuid: str | None = None,
|
|
87
88
|
) -> Session:
|
|
88
89
|
"""Create a new session.
|
|
89
90
|
|
|
@@ -91,9 +92,14 @@ class AsyncSessionsAPI:
|
|
|
91
92
|
user: Optional user identifier string. Defaults to None.
|
|
92
93
|
disable_task_tracking: Whether to disable task tracking for this session. Defaults to None (server default: False).
|
|
93
94
|
configs: Optional session configuration dictionary. Defaults to None.
|
|
95
|
+
use_uuid: Optional UUID string to use as the session ID. If not provided, a UUID will be auto-generated.
|
|
96
|
+
If a session with this UUID already exists, a 409 Conflict error will be raised.
|
|
94
97
|
|
|
95
98
|
Returns:
|
|
96
99
|
The created Session object.
|
|
100
|
+
|
|
101
|
+
Raises:
|
|
102
|
+
AcontextAPIError: If use_uuid is invalid or a session with this UUID already exists.
|
|
97
103
|
"""
|
|
98
104
|
payload: dict[str, Any] = {}
|
|
99
105
|
if user:
|
|
@@ -102,6 +108,8 @@ class AsyncSessionsAPI:
|
|
|
102
108
|
payload["disable_task_tracking"] = disable_task_tracking
|
|
103
109
|
if configs is not None:
|
|
104
110
|
payload["configs"] = configs
|
|
111
|
+
if use_uuid is not None:
|
|
112
|
+
payload["use_uuid"] = use_uuid
|
|
105
113
|
data = await self._requester.request("POST", "/session", json_data=payload)
|
|
106
114
|
return Session.model_validate(data)
|
|
107
115
|
|
|
@@ -84,6 +84,7 @@ class SessionsAPI:
|
|
|
84
84
|
user: str | None = None,
|
|
85
85
|
disable_task_tracking: bool | None = None,
|
|
86
86
|
configs: Mapping[str, Any] | None = None,
|
|
87
|
+
use_uuid: str | None = None,
|
|
87
88
|
) -> Session:
|
|
88
89
|
"""Create a new session.
|
|
89
90
|
|
|
@@ -91,9 +92,14 @@ class SessionsAPI:
|
|
|
91
92
|
user: Optional user identifier string. Defaults to None.
|
|
92
93
|
disable_task_tracking: Whether to disable task tracking for this session. Defaults to None (server default: False).
|
|
93
94
|
configs: Optional session configuration dictionary. Defaults to None.
|
|
95
|
+
use_uuid: Optional UUID string to use as the session ID. If not provided, a UUID will be auto-generated.
|
|
96
|
+
If a session with this UUID already exists, a 409 Conflict error will be raised.
|
|
94
97
|
|
|
95
98
|
Returns:
|
|
96
99
|
The created Session object.
|
|
100
|
+
|
|
101
|
+
Raises:
|
|
102
|
+
AcontextAPIError: If use_uuid is invalid or a session with this UUID already exists.
|
|
97
103
|
"""
|
|
98
104
|
payload: dict[str, Any] = {}
|
|
99
105
|
if user:
|
|
@@ -102,6 +108,8 @@ class SessionsAPI:
|
|
|
102
108
|
payload["disable_task_tracking"] = disable_task_tracking
|
|
103
109
|
if configs is not None:
|
|
104
110
|
payload["configs"] = configs
|
|
111
|
+
if use_uuid is not None:
|
|
112
|
+
payload["use_uuid"] = use_uuid
|
|
105
113
|
data = self._requester.request("POST", "/session", json_data=payload)
|
|
106
114
|
return Session.model_validate(data)
|
|
107
115
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""Type definitions for API responses."""
|
|
2
2
|
|
|
3
|
-
from .common import FileContent
|
|
3
|
+
from .common import FileContent, FlagResponse
|
|
4
4
|
from .disk import (
|
|
5
5
|
Artifact,
|
|
6
6
|
Disk,
|
|
@@ -22,11 +22,6 @@ from .session import (
|
|
|
22
22
|
TaskData,
|
|
23
23
|
TokenCounts,
|
|
24
24
|
)
|
|
25
|
-
from .tool import (
|
|
26
|
-
FlagResponse,
|
|
27
|
-
ToolReferenceData,
|
|
28
|
-
ToolRenameItem,
|
|
29
|
-
)
|
|
30
25
|
from .skill import (
|
|
31
26
|
FileInfo,
|
|
32
27
|
GetSkillFileResp,
|
|
@@ -50,10 +45,12 @@ from .user import (
|
|
|
50
45
|
)
|
|
51
46
|
|
|
52
47
|
__all__ = [
|
|
48
|
+
# Common types
|
|
49
|
+
"FileContent",
|
|
50
|
+
"FlagResponse",
|
|
53
51
|
# Disk types
|
|
54
52
|
"Artifact",
|
|
55
53
|
"Disk",
|
|
56
|
-
"FileContent",
|
|
57
54
|
"GetArtifactResp",
|
|
58
55
|
"ListArtifactsResp",
|
|
59
56
|
"ListDisksOutput",
|
|
@@ -70,10 +67,6 @@ __all__ = [
|
|
|
70
67
|
"Task",
|
|
71
68
|
"TaskData",
|
|
72
69
|
"TokenCounts",
|
|
73
|
-
# Tool types
|
|
74
|
-
"FlagResponse",
|
|
75
|
-
"ToolReferenceData",
|
|
76
|
-
"ToolRenameItem",
|
|
77
70
|
# Skill types
|
|
78
71
|
"FileInfo",
|
|
79
72
|
"Skill",
|
|
@@ -9,3 +9,10 @@ class FileContent(BaseModel):
|
|
|
9
9
|
type: str = Field(..., description="File content type: 'text', 'json', 'csv', or 'code'")
|
|
10
10
|
raw: str = Field(..., description="Raw text content of the file")
|
|
11
11
|
|
|
12
|
+
|
|
13
|
+
class FlagResponse(BaseModel):
|
|
14
|
+
"""Response model for flag operations like kill sandbox."""
|
|
15
|
+
|
|
16
|
+
status: int = Field(..., description="Status code of the operation")
|
|
17
|
+
errmsg: str = Field(..., description="Error message if any")
|
|
18
|
+
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"""Async tool endpoints."""
|
|
2
|
-
|
|
3
|
-
from ..client_types import AsyncRequesterProtocol
|
|
4
|
-
from ..types.tool import FlagResponse, ToolReferenceData
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
class AsyncToolsAPI:
|
|
8
|
-
def __init__(self, requester: AsyncRequesterProtocol) -> None:
|
|
9
|
-
self._requester = requester
|
|
10
|
-
|
|
11
|
-
async def rename_tool_name(
|
|
12
|
-
self, *, rename: list[dict[str, str]]
|
|
13
|
-
) -> FlagResponse:
|
|
14
|
-
"""Rename tool names within a project.
|
|
15
|
-
|
|
16
|
-
Args:
|
|
17
|
-
rename: List of dictionaries with old_name and new_name keys.
|
|
18
|
-
|
|
19
|
-
Returns:
|
|
20
|
-
FlagResponse containing status and errmsg fields.
|
|
21
|
-
"""
|
|
22
|
-
payload = {"rename": rename}
|
|
23
|
-
data = await self._requester.request("PUT", "/tool/name", json_data=payload)
|
|
24
|
-
return FlagResponse.model_validate(data)
|
|
25
|
-
|
|
26
|
-
async def get_tool_name(self) -> list[ToolReferenceData]:
|
|
27
|
-
"""Get all tool names within a project.
|
|
28
|
-
|
|
29
|
-
Returns:
|
|
30
|
-
List of ToolReferenceData objects.
|
|
31
|
-
"""
|
|
32
|
-
data = await self._requester.request("GET", "/tool/name")
|
|
33
|
-
return [ToolReferenceData.model_validate(item) for item in data]
|
|
34
|
-
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"""Tool endpoints."""
|
|
2
|
-
|
|
3
|
-
from ..client_types import RequesterProtocol
|
|
4
|
-
from ..types.tool import FlagResponse, ToolReferenceData
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
class ToolsAPI:
|
|
8
|
-
def __init__(self, requester: RequesterProtocol) -> None:
|
|
9
|
-
self._requester = requester
|
|
10
|
-
|
|
11
|
-
def rename_tool_name(
|
|
12
|
-
self, *, rename: list[dict[str, str]]
|
|
13
|
-
) -> FlagResponse:
|
|
14
|
-
"""Rename tool names within a project.
|
|
15
|
-
|
|
16
|
-
Args:
|
|
17
|
-
rename: List of dictionaries with old_name and new_name keys.
|
|
18
|
-
|
|
19
|
-
Returns:
|
|
20
|
-
FlagResponse containing status and errmsg fields.
|
|
21
|
-
"""
|
|
22
|
-
payload = {"rename": rename}
|
|
23
|
-
data = self._requester.request("PUT", "/tool/name", json_data=payload)
|
|
24
|
-
return FlagResponse.model_validate(data)
|
|
25
|
-
|
|
26
|
-
def get_tool_name(self) -> list[ToolReferenceData]:
|
|
27
|
-
"""Get all tool names within a project.
|
|
28
|
-
|
|
29
|
-
Returns:
|
|
30
|
-
List of ToolReferenceData objects.
|
|
31
|
-
"""
|
|
32
|
-
data = self._requester.request("GET", "/tool/name")
|
|
33
|
-
return [ToolReferenceData.model_validate(item) for item in data]
|
|
34
|
-
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"""Type definitions for tool resources."""
|
|
2
|
-
|
|
3
|
-
from pydantic import BaseModel, Field
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
class FlagResponse(BaseModel):
|
|
7
|
-
"""Flag response with status and error message."""
|
|
8
|
-
|
|
9
|
-
status: int = Field(..., description="Status code")
|
|
10
|
-
errmsg: str = Field(..., description="Error message")
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
class ToolReferenceData(BaseModel):
|
|
14
|
-
"""Tool reference data."""
|
|
15
|
-
|
|
16
|
-
name: str = Field(..., description="Tool name")
|
|
17
|
-
sop_count: int = Field(..., description="Number of SOPs using this tool")
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
class ToolRenameItem(BaseModel):
|
|
21
|
-
"""Tool rename item."""
|
|
22
|
-
|
|
23
|
-
old_name: str = Field(..., description="Old tool name")
|
|
24
|
-
new_name: str = Field(..., description="New tool name")
|
|
25
|
-
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|