seekrai 0.5.5__tar.gz → 0.5.7__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.
Files changed (75) hide show
  1. {seekrai-0.5.5 → seekrai-0.5.7}/PKG-INFO +2 -2
  2. {seekrai-0.5.5 → seekrai-0.5.7}/pyproject.toml +2 -2
  3. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/resources/agents/agents.py +45 -0
  4. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/types/__init__.py +16 -3
  5. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/types/agents/__init__.py +13 -3
  6. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/types/agents/agent.py +4 -0
  7. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/types/agents/tools/__init__.py +12 -2
  8. seekrai-0.5.7/src/seekrai/types/agents/tools/schemas/__init__.py +16 -0
  9. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/types/agents/tools/schemas/file_search.py +1 -1
  10. seekrai-0.5.7/src/seekrai/types/agents/tools/schemas/run_python.py +9 -0
  11. seekrai-0.5.7/src/seekrai/types/agents/tools/schemas/run_python_env.py +7 -0
  12. seekrai-0.5.7/src/seekrai/types/agents/tools/schemas/web_search.py +9 -0
  13. seekrai-0.5.7/src/seekrai/types/agents/tools/schemas/web_search_env.py +7 -0
  14. seekrai-0.5.7/src/seekrai/types/agents/tools/tool.py +20 -0
  15. seekrai-0.5.7/src/seekrai/types/agents/tools/tool_types.py +10 -0
  16. seekrai-0.5.5/src/seekrai/types/agents/tools/schemas/__init__.py +0 -8
  17. seekrai-0.5.5/src/seekrai/types/agents/tools/tool.py +0 -14
  18. seekrai-0.5.5/src/seekrai/types/agents/tools/tool_env_types.py +0 -4
  19. seekrai-0.5.5/src/seekrai/types/agents/tools/tool_types.py +0 -10
  20. {seekrai-0.5.5 → seekrai-0.5.7}/LICENSE +0 -0
  21. {seekrai-0.5.5 → seekrai-0.5.7}/README.md +0 -0
  22. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/__init__.py +0 -0
  23. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/abstract/__init__.py +0 -0
  24. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/abstract/api_requestor.py +0 -0
  25. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/abstract/response_parsing.py +0 -0
  26. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/client.py +0 -0
  27. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/constants.py +0 -0
  28. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/error.py +0 -0
  29. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/filemanager.py +0 -0
  30. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/resources/__init__.py +0 -0
  31. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/resources/agents/__init__.py +0 -0
  32. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/resources/agents/agent_inference.py +0 -0
  33. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/resources/agents/threads.py +0 -0
  34. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/resources/alignment.py +0 -0
  35. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/resources/chat/__init__.py +0 -0
  36. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/resources/chat/completions.py +0 -0
  37. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/resources/completions.py +0 -0
  38. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/resources/deployments.py +0 -0
  39. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/resources/embeddings.py +0 -0
  40. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/resources/explainability.py +0 -0
  41. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/resources/files.py +0 -0
  42. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/resources/finetune.py +0 -0
  43. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/resources/images.py +0 -0
  44. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/resources/ingestion.py +0 -0
  45. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/resources/models.py +0 -0
  46. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/resources/projects.py +0 -0
  47. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/resources/resource_base.py +0 -0
  48. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/resources/vectordb.py +0 -0
  49. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/seekrflow_response.py +0 -0
  50. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/types/abstract.py +0 -0
  51. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/types/agents/runs.py +0 -0
  52. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/types/agents/threads.py +0 -0
  53. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/types/agents/tools/env_model_config.py +0 -0
  54. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/types/agents/tools/schemas/file_search_env.py +0 -0
  55. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/types/alignment.py +0 -0
  56. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/types/chat_completions.py +0 -0
  57. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/types/common.py +0 -0
  58. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/types/completions.py +0 -0
  59. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/types/deployments.py +0 -0
  60. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/types/embeddings.py +0 -0
  61. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/types/error.py +0 -0
  62. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/types/explainability.py +0 -0
  63. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/types/files.py +0 -0
  64. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/types/finetune.py +0 -0
  65. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/types/images.py +0 -0
  66. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/types/ingestion.py +0 -0
  67. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/types/models.py +0 -0
  68. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/types/projects.py +0 -0
  69. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/types/vectordb.py +0 -0
  70. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/utils/__init__.py +0 -0
  71. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/utils/_log.py +0 -0
  72. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/utils/api_helpers.py +0 -0
  73. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/utils/files.py +0 -0
  74. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/utils/tools.py +0 -0
  75. {seekrai-0.5.5 → seekrai-0.5.7}/src/seekrai/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: seekrai
3
- Version: 0.5.5
3
+ Version: 0.5.7
4
4
  Summary: Python client for SeekrAI
5
5
  License: Apache-2.0
6
6
  Author: SeekrFlow
@@ -20,7 +20,7 @@ Requires-Dist: filelock (>=3.13.1,<4.0.0)
20
20
  Requires-Dist: httpx[http2] (>=0.28.0,<0.29.0)
21
21
  Requires-Dist: numpy (>=1.23.5) ; python_version < "3.12"
22
22
  Requires-Dist: numpy (>=1.26.0) ; python_version >= "3.12"
23
- Requires-Dist: pillow (>=10.3.0,<11.0.0)
23
+ Requires-Dist: pillow (>=10.2.0,<11.0.0)
24
24
  Requires-Dist: pyarrow (>=10.0.1)
25
25
  Requires-Dist: pydantic (>=2.7,<3.0)
26
26
  Requires-Dist: requests (>=2.31.0,<3.0.0)
@@ -14,7 +14,7 @@ build-backend = "poetry.core.masonry.api"
14
14
 
15
15
  [tool.poetry]
16
16
  name = "seekrai"
17
- version = "0.5.5"
17
+ version = "0.5.7"
18
18
  authors = [
19
19
  "SeekrFlow <support@seekr.com>"
20
20
  ]
@@ -40,7 +40,7 @@ pydantic = "^2.7"
40
40
  filelock = "^3.13.1"
41
41
  eval-type-backport = ">=0.1.3,<0.3.0"
42
42
  click = "^8.1.7"
43
- pillow = "^10.3.0"
43
+ pillow = "^10.2.0"
44
44
  pyarrow = ">=10.0.1"
45
45
  numpy = [
46
46
  { version = ">=1.23.5", python = "<3.12" },
@@ -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)
@@ -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
  ]
@@ -0,0 +1,16 @@
1
+ from seekrai.types.agents.tools.schemas.file_search import FileSearch
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
7
+
8
+
9
+ __all__ = [
10
+ "FileSearch",
11
+ "FileSearchEnv",
12
+ "RunPython",
13
+ "RunPythonEnv",
14
+ "WebSearch",
15
+ "WebSearchEnv",
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
@@ -0,0 +1,20 @@
1
+ import enum
2
+ from typing import Generic, TypeVar
3
+
4
+ from pydantic import BaseModel
5
+
6
+ from seekrai.types.agents.tools.env_model_config import EnvConfig
7
+
8
+
9
+ class ToolType(str, enum.Enum):
10
+ FILE_SEARCH = "file_search"
11
+ WEB_SEARCH = "web_search"
12
+ RUN_PYTHON = "run_python"
13
+
14
+
15
+ TEnv = TypeVar("TEnv", bound=EnvConfig)
16
+
17
+
18
+ class ToolBase(BaseModel, Generic[TEnv]):
19
+ name: ToolType
20
+ tool_env: TEnv
@@ -0,0 +1,10 @@
1
+ from typing import Annotated, Union
2
+
3
+ from pydantic import Field
4
+
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
8
+
9
+
10
+ Tool = Annotated[Union[FileSearch, WebSearch, RunPython], Field(discriminator="name")]
@@ -1,8 +0,0 @@
1
- from seekrai.types.agents.tools.schemas.file_search import FileSearch
2
- from seekrai.types.agents.tools.schemas.file_search_env import FileSearchEnv
3
-
4
-
5
- __all__ = [
6
- "FileSearch",
7
- "FileSearchEnv",
8
- ]
@@ -1,14 +0,0 @@
1
- import enum
2
-
3
- from pydantic import BaseModel
4
-
5
- from seekrai.types.agents.tools.tool_env_types import Env
6
-
7
-
8
- class ToolType(str, enum.Enum):
9
- FILE_SEARCH = "file_search"
10
-
11
-
12
- class ToolBase(BaseModel):
13
- name: ToolType
14
- tool_env: Env
@@ -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
@@ -1,10 +0,0 @@
1
- from typing import Annotated
2
-
3
- from pydantic import Field
4
-
5
- from seekrai.types.agents.tools.schemas.file_search import FileSearch
6
-
7
-
8
- Tool = Annotated[
9
- FileSearch, Field(discriminator="name")
10
- ] # will be a Union of tools when more are added
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes