seekrai 0.5.5__py3-none-any.whl → 0.5.6__py3-none-any.whl

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.
@@ -7,6 +7,7 @@ from seekrai.types.agents.agent import (
7
7
  Agent,
8
8
  AgentDeleteResponse,
9
9
  CreateAgentRequest,
10
+ UpdateAgentRequest,
10
11
  )
11
12
 
12
13
 
@@ -140,6 +141,28 @@ class Agents:
140
141
  assert isinstance(response, SeekrFlowResponse)
141
142
  return AgentDeleteResponse(**response.data)
142
143
 
144
+ def update(self, agent_id: str, request: UpdateAgentRequest) -> Agent:
145
+ """
146
+ Update an existing agent's configuration.
147
+
148
+ Args:
149
+ agent_id: The ID of the agent to update.
150
+ request: The request object containing updated agent config.
151
+
152
+ Returns:
153
+ The updated agent.
154
+ """
155
+ response, _, _ = self._requestor.request(
156
+ options=SeekrFlowRequest(
157
+ method="PUT",
158
+ url=f"flow/agents/{agent_id}/update",
159
+ params=request.model_dump(),
160
+ ),
161
+ )
162
+
163
+ assert isinstance(response, SeekrFlowResponse)
164
+ return Agent(**response.data)
165
+
143
166
 
144
167
  class AsyncAgents:
145
168
  def __init__(self, client: SeekrFlowClient) -> None:
@@ -270,3 +293,25 @@ class AsyncAgents:
270
293
 
271
294
  assert isinstance(response, SeekrFlowResponse)
272
295
  return AgentDeleteResponse(**response.data)
296
+
297
+ async def update(self, agent_id: str, request: UpdateAgentRequest) -> Agent:
298
+ """
299
+ Update an existing agent's configuration.
300
+
301
+ Args:
302
+ agent_id: The ID of the agent to update.
303
+ request: The request object containing updated agent config.
304
+
305
+ Returns:
306
+ The updated agent.
307
+ """
308
+ response, _, _ = await self._requestor.arequest(
309
+ options=SeekrFlowRequest(
310
+ method="PUT",
311
+ url=f"flow/agents/{agent_id}/update",
312
+ params=request.model_dump(),
313
+ ),
314
+ )
315
+
316
+ assert isinstance(response, SeekrFlowResponse)
317
+ return Agent(**response.data)
seekrai/types/__init__.py CHANGED
@@ -4,7 +4,6 @@ from seekrai.types.agents import (
4
4
  AgentDeleteResponse,
5
5
  AgentStatus,
6
6
  CreateAgentRequest,
7
- Env,
8
7
  EnvConfig,
9
8
  FileSearch,
10
9
  FileSearchEnv,
@@ -19,6 +18,8 @@ from seekrai.types.agents import (
19
18
  OutputText,
20
19
  ReasoningEffort,
21
20
  Run,
21
+ RunPython,
22
+ RunPythonEnv,
22
23
  RunRequest,
23
24
  RunResponse,
24
25
  RunStatus,
@@ -44,8 +45,17 @@ from seekrai.types.agents import (
44
45
  Tool,
45
46
  ToolBase,
46
47
  ToolType,
48
+ WebSearch,
49
+ WebSearchEnv,
50
+ )
51
+ from seekrai.types.agents.tools.schemas import (
52
+ FileSearch,
53
+ FileSearchEnv,
54
+ RunPython,
55
+ RunPythonEnv,
56
+ WebSearch,
57
+ WebSearchEnv,
47
58
  )
48
- from seekrai.types.agents.tools.schemas import FileSearch, FileSearchEnv
49
59
  from seekrai.types.alignment import (
50
60
  AlignmentEstimationRequest,
51
61
  AlignmentEstimationResponse,
@@ -194,8 +204,11 @@ __all__ = [
194
204
  "ToolBase",
195
205
  "ToolType",
196
206
  "EnvConfig",
197
- "Env",
198
207
  "Tool",
199
208
  "FileSearch",
200
209
  "FileSearchEnv",
210
+ "RunPython",
211
+ "RunPythonEnv",
212
+ "WebSearch",
213
+ "WebSearchEnv",
201
214
  ]
@@ -41,8 +41,15 @@ from seekrai.types.agents.threads import (
41
41
  ThreadMessageContentType,
42
42
  ThreadStatus,
43
43
  )
44
- from seekrai.types.agents.tools import Env, EnvConfig, Tool, ToolBase, ToolType
45
- from seekrai.types.agents.tools.schemas import FileSearch, FileSearchEnv
44
+ from seekrai.types.agents.tools import EnvConfig, Tool, ToolBase, ToolType
45
+ from seekrai.types.agents.tools.schemas import (
46
+ FileSearch,
47
+ FileSearchEnv,
48
+ RunPython,
49
+ RunPythonEnv,
50
+ WebSearch,
51
+ WebSearchEnv,
52
+ )
46
53
 
47
54
 
48
55
  __all__ = [
@@ -86,8 +93,11 @@ __all__ = [
86
93
  "ToolBase",
87
94
  "ToolType",
88
95
  "EnvConfig",
89
- "Env",
90
96
  "Tool",
91
97
  "FileSearch",
92
98
  "FileSearchEnv",
99
+ "RunPython",
100
+ "RunPythonEnv",
101
+ "WebSearch",
102
+ "WebSearchEnv",
93
103
  ]
@@ -47,3 +47,7 @@ class Agent(BaseModel):
47
47
  class AgentDeleteResponse(BaseModel):
48
48
  id: str
49
49
  deleted: bool
50
+
51
+
52
+ class UpdateAgentRequest(CreateAgentRequest):
53
+ pass
@@ -1,7 +1,13 @@
1
1
  from seekrai.types.agents.tools.env_model_config import EnvConfig
2
- from seekrai.types.agents.tools.schemas import FileSearch, FileSearchEnv
2
+ from seekrai.types.agents.tools.schemas import (
3
+ FileSearch,
4
+ FileSearchEnv,
5
+ RunPython,
6
+ RunPythonEnv,
7
+ WebSearch,
8
+ WebSearchEnv,
9
+ )
3
10
  from seekrai.types.agents.tools.tool import ToolBase, ToolType
4
- from seekrai.types.agents.tools.tool_env_types import Env
5
11
  from seekrai.types.agents.tools.tool_types import Tool
6
12
 
7
13
 
@@ -13,4 +19,8 @@ __all__ = [
13
19
  "Tool",
14
20
  "FileSearch",
15
21
  "FileSearchEnv",
22
+ "RunPython",
23
+ "RunPythonEnv",
24
+ "WebSearch",
25
+ "WebSearchEnv",
16
26
  ]
@@ -1,8 +1,16 @@
1
1
  from seekrai.types.agents.tools.schemas.file_search import FileSearch
2
2
  from seekrai.types.agents.tools.schemas.file_search_env import FileSearchEnv
3
+ from seekrai.types.agents.tools.schemas.run_python import RunPython
4
+ from seekrai.types.agents.tools.schemas.run_python_env import RunPythonEnv
5
+ from seekrai.types.agents.tools.schemas.web_search import WebSearch
6
+ from seekrai.types.agents.tools.schemas.web_search_env import WebSearchEnv
3
7
 
4
8
 
5
9
  __all__ = [
6
10
  "FileSearch",
7
11
  "FileSearchEnv",
12
+ "RunPython",
13
+ "RunPythonEnv",
14
+ "WebSearch",
15
+ "WebSearchEnv",
8
16
  ]
@@ -4,6 +4,6 @@ from seekrai.types.agents.tools.schemas.file_search_env import FileSearchEnv
4
4
  from seekrai.types.agents.tools.tool import ToolBase, ToolType
5
5
 
6
6
 
7
- class FileSearch(ToolBase):
7
+ class FileSearch(ToolBase[FileSearchEnv]):
8
8
  name: Literal[ToolType.FILE_SEARCH] = ToolType.FILE_SEARCH
9
9
  tool_env: FileSearchEnv
@@ -0,0 +1,9 @@
1
+ from typing import Literal
2
+
3
+ from seekrai.types.agents.tools.schemas.run_python_env import RunPythonEnv
4
+ from seekrai.types.agents.tools.tool import ToolBase, ToolType
5
+
6
+
7
+ class RunPython(ToolBase[RunPythonEnv]):
8
+ name: Literal[ToolType.RUN_PYTHON] = ToolType.RUN_PYTHON
9
+ tool_env: RunPythonEnv
@@ -0,0 +1,7 @@
1
+ from typing import Optional
2
+
3
+ from seekrai.types.agents.tools.env_model_config import EnvConfig
4
+
5
+
6
+ class RunPythonEnv(EnvConfig):
7
+ run_python_tool_desc: Optional[str] = None
@@ -0,0 +1,9 @@
1
+ from typing import Literal
2
+
3
+ from seekrai.types.agents.tools.schemas.web_search_env import WebSearchEnv
4
+ from seekrai.types.agents.tools.tool import ToolBase, ToolType
5
+
6
+
7
+ class WebSearch(ToolBase[WebSearchEnv]):
8
+ name: Literal[ToolType.WEB_SEARCH] = ToolType.WEB_SEARCH
9
+ tool_env: WebSearchEnv
@@ -0,0 +1,7 @@
1
+ from typing import Optional
2
+
3
+ from seekrai.types.agents.tools.env_model_config import EnvConfig
4
+
5
+
6
+ class WebSearchEnv(EnvConfig):
7
+ web_search_tool_description: Optional[str] = None
@@ -1,14 +1,20 @@
1
1
  import enum
2
+ from typing import Generic, TypeVar
2
3
 
3
4
  from pydantic import BaseModel
4
5
 
5
- from seekrai.types.agents.tools.tool_env_types import Env
6
+ from seekrai.types.agents.tools.env_model_config import EnvConfig
6
7
 
7
8
 
8
9
  class ToolType(str, enum.Enum):
9
10
  FILE_SEARCH = "file_search"
11
+ WEB_SEARCH = "web_search"
12
+ RUN_PYTHON = "run_python"
10
13
 
11
14
 
12
- class ToolBase(BaseModel):
15
+ TEnv = TypeVar("TEnv", bound=EnvConfig)
16
+
17
+
18
+ class ToolBase(BaseModel, Generic[TEnv]):
13
19
  name: ToolType
14
- tool_env: Env
20
+ tool_env: TEnv
@@ -1,10 +1,10 @@
1
- from typing import Annotated
1
+ from typing import Annotated, Union
2
2
 
3
3
  from pydantic import Field
4
4
 
5
5
  from seekrai.types.agents.tools.schemas.file_search import FileSearch
6
+ from seekrai.types.agents.tools.schemas.run_python import RunPython
7
+ from seekrai.types.agents.tools.schemas.web_search import WebSearch
6
8
 
7
9
 
8
- Tool = Annotated[
9
- FileSearch, Field(discriminator="name")
10
- ] # will be a Union of tools when more are added
10
+ Tool = Annotated[Union[FileSearch, WebSearch, RunPython], Field(discriminator="name")]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: seekrai
3
- Version: 0.5.5
3
+ Version: 0.5.6
4
4
  Summary: Python client for SeekrAI
5
5
  License: Apache-2.0
6
6
  Author: SeekrFlow
@@ -9,7 +9,7 @@ seekrai/filemanager.py,sha256=bO2OvjZ9Cx5r2vr3Ocpd_0qVc3owRDT2LCU4Zmp2uDY,15489
9
9
  seekrai/resources/__init__.py,sha256=EPMOqI3mvpzMjNJIr2Da2tkDqSq_lntMph2O-j4pyIA,1501
10
10
  seekrai/resources/agents/__init__.py,sha256=qPdo3vMZUaGZPdZCNYL0hjtX-T6yAlnpE_zc5otkjak,373
11
11
  seekrai/resources/agents/agent_inference.py,sha256=oNk8UK39XY9mRaBdE5icpi-nSWiRKHgQBcq-DIhSht4,9219
12
- seekrai/resources/agents/agents.py,sha256=Cs184v2jYQRlk5MmsAH_hRI93D7qS6mJpuCLGIxH3as,7996
12
+ seekrai/resources/agents/agents.py,sha256=d3C4VaXq4q5WlUr0f8txdRD3hvEKKvz4UQA-a_sLgso,9385
13
13
  seekrai/resources/agents/threads.py,sha256=BwZ2_6wlezsb12PQjEw1fgdJh5S83SPgD6qZQoGvyIM,14544
14
14
  seekrai/resources/alignment.py,sha256=IOKlKK2I9_NhS9pwcrsd9-5OO7lVT8Uw0y_wuGHOnyA,5839
15
15
  seekrai/resources/chat/__init__.py,sha256=KmtPupgECtEN80NyvcnSmieTAFXhwmVxhMHP0qhspA4,618
@@ -27,20 +27,23 @@ seekrai/resources/projects.py,sha256=Nmuh0_BwWoAO89r-p0ZEM8p4NHIH1EUeP83ivRoW5hw
27
27
  seekrai/resources/resource_base.py,sha256=rFIHFeqKPiAEbMYcMiIGHIym7qxwmh-EGsWiZcMDHdk,224
28
28
  seekrai/resources/vectordb.py,sha256=RRULyuldM4A0RlveBNZWFrav7l405wm89ua3k3Bqkgc,14527
29
29
  seekrai/seekrflow_response.py,sha256=5RFEQzamDy7sTSDkxSsZQThZ3biNmeCPeHWdrFId5Go,1320
30
- seekrai/types/__init__.py,sha256=rgFu__IgCM706ziux2wDfT5GNVyo2SWDWvNS0XF7nrw,4466
30
+ seekrai/types/__init__.py,sha256=N72VsnmOdvLxnhBFLgfugIkT0tqr-M7WVFpAFtXEjLI,4665
31
31
  seekrai/types/abstract.py,sha256=TqWFQV_6bPblywfCH-r8FCkXWvPkc9KlJ4QVgyrnaMc,642
32
- seekrai/types/agents/__init__.py,sha256=gQBTRS5YjUvbz_uexwJ55QGMDeXytnd_-cFPxz926p0,2026
33
- seekrai/types/agents/agent.py,sha256=QZKp0xPo70regWKohWrkuTlmkvnN_2St7uFkX8M14yY,1075
32
+ seekrai/types/agents/__init__.py,sha256=akuEDZDs4-OzvPIt0nupF63vBmI_CPfSLKsQUHTl1s8,2163
33
+ seekrai/types/agents/agent.py,sha256=85D4GeHF-bYYnPirJSi1MbFg_2uFE2fSEmAHV9LxZfQ,1132
34
34
  seekrai/types/agents/runs.py,sha256=BZRwrdRWizOcoMJ1r8FKq06znIfd25MNVTP7DxZBQWA,3780
35
35
  seekrai/types/agents/threads.py,sha256=TinCMKv1bi5LzboDyCx1XI4Zzd8UzUZos4VOrTNhmEc,6835
36
- seekrai/types/agents/tools/__init__.py,sha256=-rdY30tqMSSapMKPFOYa-6crd6tVOUvHCzOW1UXxO0U,442
36
+ seekrai/types/agents/tools/__init__.py,sha256=4MmlL13JLhWgMUlL3TKfegiA-IXGG06YellZTSTVFC8,537
37
37
  seekrai/types/agents/tools/env_model_config.py,sha256=9POx2DPwfSXgoaziJv7QvKeMrhMsYD1exnanSRK48vw,177
38
- seekrai/types/agents/tools/schemas/__init__.py,sha256=sWNKRzmnWoTv3cJ5k0q0tVuWeOlRhDMEvVeClF1r4p8,202
39
- seekrai/types/agents/tools/schemas/file_search.py,sha256=sBH3nHgp2aIlbDsv6B3Er8LFzq6VZSXXzgN_toGVY28,289
38
+ seekrai/types/agents/tools/schemas/__init__.py,sha256=_HQoqgBk4T1IvlD0Yt3REz0_x_oVFTgITTd7H2ZJXws,562
39
+ seekrai/types/agents/tools/schemas/file_search.py,sha256=7reLq-S3jMnHlGgP0ihZrU2S4Mcaizoz4IXm3SqCj4A,304
40
40
  seekrai/types/agents/tools/schemas/file_search_env.py,sha256=3iS69R8DpLPTJY2WhiCbOMV47-vXvMjBA7csgfIxKeU,582
41
- seekrai/types/agents/tools/tool.py,sha256=VVreXuKz1LX7L1En2wTYnrCt6Za2KK2pco0RH9PxgX8,235
42
- seekrai/types/agents/tools/tool_env_types.py,sha256=qQDRbRBU4VGLb6uLIq_G4o-cdgZ5DBwBCa4m1Gw7OYg,151
43
- seekrai/types/agents/tools/tool_types.py,sha256=Auciez5JSSGjczfG38UAuuCeyRKs-ikP3bh2VAEUPFo,242
41
+ seekrai/types/agents/tools/schemas/run_python.py,sha256=CMw9C0T9UBWfHSW6mRhNDIIe_uGfxjgRkPIbqGlQxjo,297
42
+ seekrai/types/agents/tools/schemas/run_python_env.py,sha256=lvmGSg-u6CoGSEGhAHHkmDffFj6kpFDERIwAhggzgwI,175
43
+ seekrai/types/agents/tools/schemas/web_search.py,sha256=HrcVIC-SQGlBIXvJ0MxXYVQe6JnlgacleViXIo5OrGw,297
44
+ seekrai/types/agents/tools/schemas/web_search_env.py,sha256=aHaricIcXaWz9N4G_gEipstANPbJPf41F9VZC5LwPog,182
45
+ seekrai/types/agents/tools/tool.py,sha256=rX-SoN-XgweiHQIKRhNxBWK4ClNjEiXv-YaLdejpgmc,397
46
+ seekrai/types/agents/tools/tool_types.py,sha256=1tF_kE6Z_zzuZpOAK1HrHsHkXFPEoK0PdYv-pbTLfkY,360
44
47
  seekrai/types/alignment.py,sha256=t1jS_lylUF7zbnf91ceXc3v6HzPmegUCkc3_eypTsSg,2109
45
48
  seekrai/types/chat_completions.py,sha256=Z7H1MkMgb4O0O5LDMKotQqhjGVCYk5eBeZ8n--RJpf8,3736
46
49
  seekrai/types/common.py,sha256=YI1pE-i_lDLU2o6FjoINdIhPXsV9lUl2MeAg2aRtT-M,2062
@@ -62,8 +65,8 @@ seekrai/utils/api_helpers.py,sha256=0Y8BblNIr9h_R12zdmhkxgTlxgoRkbq84QNi4nNWGu8,
62
65
  seekrai/utils/files.py,sha256=7ixn_hgV-6pEhYqLyOp-EN0o8c1CzUwJzX9n3PQ5oqo,7164
63
66
  seekrai/utils/tools.py,sha256=jgJTL-dOIouDbEJLdQpQfpXhqaz_poQYS52adyUtBjo,1781
64
67
  seekrai/version.py,sha256=q6iGQVFor8zXiPP5F-3vy9TndOxKv5JXbaNJ2kdOQws,125
65
- seekrai-0.5.5.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
66
- seekrai-0.5.5.dist-info/METADATA,sha256=3hWqTgeliuL8gotG8dPW8oz5QIJUcgmYPHkJ6GD_1tU,4780
67
- seekrai-0.5.5.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
68
- seekrai-0.5.5.dist-info/entry_points.txt,sha256=N49yOEGi1sK7Xr13F_rkkcOxQ88suyiMoOmRhUHTZ_U,48
69
- seekrai-0.5.5.dist-info/RECORD,,
68
+ seekrai-0.5.6.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
69
+ seekrai-0.5.6.dist-info/METADATA,sha256=QptNWacnlAuFAUABIfoCqR-XyBvNS0L-zqjKTqWwObA,4780
70
+ seekrai-0.5.6.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
71
+ seekrai-0.5.6.dist-info/entry_points.txt,sha256=N49yOEGi1sK7Xr13F_rkkcOxQ88suyiMoOmRhUHTZ_U,48
72
+ seekrai-0.5.6.dist-info/RECORD,,
@@ -1,4 +0,0 @@
1
- from seekrai.types.agents.tools.schemas.file_search_env import FileSearchEnv
2
-
3
-
4
- Env = FileSearchEnv # will be a Union of tool envs when more are added