seekrai 0.5.28__tar.gz → 0.5.29__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 (79) hide show
  1. {seekrai-0.5.28 → seekrai-0.5.29}/PKG-INFO +1 -1
  2. {seekrai-0.5.28 → seekrai-0.5.29}/pyproject.toml +1 -1
  3. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/__init__.py +11 -0
  4. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/agents/__init__.py +2 -0
  5. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/agents/tools/__init__.py +2 -0
  6. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/agents/tools/schemas/__init__.py +2 -0
  7. seekrai-0.5.29/src/seekrai/types/agents/tools/schemas/agent_as_tool.py +16 -0
  8. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/agents/tools/tool_types.py +5 -1
  9. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/enums.py +1 -0
  10. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/tools.py +22 -3
  11. {seekrai-0.5.28 → seekrai-0.5.29}/LICENSE +0 -0
  12. {seekrai-0.5.28 → seekrai-0.5.29}/README.md +0 -0
  13. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/__init__.py +0 -0
  14. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/abstract/__init__.py +0 -0
  15. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/abstract/api_requestor.py +0 -0
  16. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/abstract/response_parsing.py +0 -0
  17. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/client.py +0 -0
  18. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/constants.py +0 -0
  19. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/error.py +0 -0
  20. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/filemanager.py +0 -0
  21. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/resources/__init__.py +0 -0
  22. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/resources/agents/__init__.py +0 -0
  23. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/resources/agents/agent_inference.py +0 -0
  24. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/resources/agents/agent_observability.py +0 -0
  25. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/resources/agents/agents.py +0 -0
  26. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/resources/agents/python_functions.py +0 -0
  27. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/resources/agents/threads.py +0 -0
  28. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/resources/alignment.py +0 -0
  29. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/resources/chat/__init__.py +0 -0
  30. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/resources/chat/completions.py +0 -0
  31. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/resources/completions.py +0 -0
  32. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/resources/deployments.py +0 -0
  33. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/resources/embeddings.py +0 -0
  34. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/resources/explainability.py +0 -0
  35. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/resources/files.py +0 -0
  36. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/resources/finetune.py +0 -0
  37. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/resources/images.py +0 -0
  38. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/resources/ingestion.py +0 -0
  39. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/resources/models.py +0 -0
  40. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/resources/projects.py +0 -0
  41. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/resources/resource_base.py +0 -0
  42. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/resources/tools.py +0 -0
  43. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/resources/vectordb.py +0 -0
  44. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/seekrflow_response.py +0 -0
  45. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/abstract.py +0 -0
  46. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/agents/agent.py +0 -0
  47. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/agents/observability.py +0 -0
  48. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/agents/python_functions.py +0 -0
  49. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/agents/runs.py +0 -0
  50. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/agents/threads.py +0 -0
  51. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/agents/tools/env_model_config.py +0 -0
  52. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/agents/tools/schemas/file_search.py +0 -0
  53. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/agents/tools/schemas/file_search_env.py +0 -0
  54. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/agents/tools/schemas/run_python.py +0 -0
  55. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/agents/tools/schemas/run_python_env.py +0 -0
  56. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/agents/tools/schemas/web_search.py +0 -0
  57. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/agents/tools/schemas/web_search_env.py +0 -0
  58. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/agents/tools/tool.py +0 -0
  59. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/alignment.py +0 -0
  60. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/chat_completions.py +0 -0
  61. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/common.py +0 -0
  62. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/completions.py +0 -0
  63. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/deployments.py +0 -0
  64. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/embeddings.py +0 -0
  65. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/error.py +0 -0
  66. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/explainability.py +0 -0
  67. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/files.py +0 -0
  68. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/finetune.py +0 -0
  69. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/images.py +0 -0
  70. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/ingestion.py +0 -0
  71. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/models.py +0 -0
  72. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/projects.py +0 -0
  73. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/types/vectordb.py +0 -0
  74. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/utils/__init__.py +0 -0
  75. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/utils/_log.py +0 -0
  76. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/utils/api_helpers.py +0 -0
  77. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/utils/files.py +0 -0
  78. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/utils/tools.py +0 -0
  79. {seekrai-0.5.28 → seekrai-0.5.29}/src/seekrai/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: seekrai
3
- Version: 0.5.28
3
+ Version: 0.5.29
4
4
  Summary: Python client for SeekrAI
5
5
  License: Apache-2.0
6
6
  License-File: LICENSE
@@ -13,7 +13,7 @@ build-backend = "poetry.core.masonry.api"
13
13
 
14
14
  [tool.poetry]
15
15
  name = "seekrai"
16
- version = "0.5.28"
16
+ version = "0.5.29"
17
17
  authors = [
18
18
  "SeekrFlow <support@seekr.com>"
19
19
  ]
@@ -1,6 +1,7 @@
1
1
  from seekrai.types.abstract import SeekrFlowClient
2
2
  from seekrai.types.agents import (
3
3
  Agent,
4
+ AgentAsToolLegacy,
4
5
  AgentDeleteResponse,
5
6
  CreateAgentRequest,
6
7
  EnvConfig,
@@ -47,6 +48,7 @@ from seekrai.types.agents import (
47
48
  WebSearchEnv,
48
49
  )
49
50
  from seekrai.types.agents.tools.schemas import (
51
+ AgentAsToolLegacy,
50
52
  FileSearch,
51
53
  FileSearchEnv,
52
54
  RunPython,
@@ -120,6 +122,9 @@ from seekrai.types.projects import (
120
122
  ProjectWithRuns,
121
123
  )
122
124
  from seekrai.types.tools import (
125
+ AgentAsTool,
126
+ AgentAsToolConfig,
127
+ CreateAgentAsTool,
123
128
  CreateFileSearch,
124
129
  CreateRunPython,
125
130
  CreateToolRequest,
@@ -132,6 +137,7 @@ from seekrai.types.tools import (
132
137
  ToolAgentSummaryResponse,
133
138
  ToolDeleteResponse,
134
139
  ToolResponse,
140
+ UpdateAgentAsTool,
135
141
  UpdateFileSearch,
136
142
  UpdateRunPython,
137
143
  UpdateToolRequest,
@@ -258,4 +264,9 @@ __all__ = [
258
264
  "RunPythonEnv",
259
265
  "WebSearch",
260
266
  "WebSearchEnv",
267
+ "AgentAsToolLegacy",
268
+ "AgentAsTool",
269
+ "CreateAgentAsTool",
270
+ "AgentAsToolConfig",
271
+ "UpdateAgentAsTool",
261
272
  ]
@@ -51,6 +51,7 @@ from seekrai.types.agents.tools import (
51
51
  ToolBase,
52
52
  )
53
53
  from seekrai.types.agents.tools.schemas import (
54
+ AgentAsToolLegacy,
54
55
  FileSearch,
55
56
  FileSearchEnv,
56
57
  RunPython,
@@ -106,6 +107,7 @@ __all__ = [
106
107
  "RunPythonEnv",
107
108
  "WebSearch",
108
109
  "WebSearchEnv",
110
+ "AgentAsToolLegacy",
109
111
  "PythonFunctionBase",
110
112
  "PythonFunctionResponse",
111
113
  "DeletePythonFunctionResponse",
@@ -1,5 +1,6 @@
1
1
  from seekrai.types.agents.tools.env_model_config import EnvConfig
2
2
  from seekrai.types.agents.tools.schemas import (
3
+ AgentAsToolLegacy,
3
4
  FileSearch,
4
5
  FileSearchEnv,
5
6
  RunPython,
@@ -23,4 +24,5 @@ __all__ = [
23
24
  "RunPythonEnv",
24
25
  "WebSearch",
25
26
  "WebSearchEnv",
27
+ "AgentAsToolLegacy",
26
28
  ]
@@ -1,3 +1,4 @@
1
+ from seekrai.types.agents.tools.schemas.agent_as_tool import AgentAsToolLegacy
1
2
  from seekrai.types.agents.tools.schemas.file_search import FileSearch
2
3
  from seekrai.types.agents.tools.schemas.file_search_env import FileSearchEnv
3
4
  from seekrai.types.agents.tools.schemas.run_python import RunPython
@@ -13,4 +14,5 @@ __all__ = [
13
14
  "RunPythonEnv",
14
15
  "WebSearch",
15
16
  "WebSearchEnv",
17
+ "AgentAsToolLegacy",
16
18
  ]
@@ -0,0 +1,16 @@
1
+ from typing import Literal
2
+
3
+ from seekrai.types.agents.tools import EnvConfig
4
+ from seekrai.types.agents.tools.tool import ToolBase, ToolType
5
+
6
+
7
+ class AgentAsToolLegacy(ToolBase[Literal["agent_as_tool"], EnvConfig]):
8
+ name: Literal["agent_as_tool"] = ToolType.AGENT_AS_TOOL.value
9
+ description: str
10
+ agent_id: str
11
+
12
+ model_config = {
13
+ "json_schema_extra": {
14
+ "deprecated": True,
15
+ }
16
+ }
@@ -2,9 +2,13 @@ from typing import Annotated, Union
2
2
 
3
3
  from pydantic import Field
4
4
 
5
+ from seekrai.types.agents.tools.schemas.agent_as_tool import AgentAsToolLegacy
5
6
  from seekrai.types.agents.tools.schemas.file_search import FileSearch
6
7
  from seekrai.types.agents.tools.schemas.run_python import RunPython
7
8
  from seekrai.types.agents.tools.schemas.web_search import WebSearch
8
9
 
9
10
 
10
- Tool = Annotated[Union[FileSearch, WebSearch, RunPython], Field(discriminator="name")]
11
+ Tool = Annotated[
12
+ Union[FileSearch, WebSearch, RunPython, AgentAsToolLegacy],
13
+ Field(discriminator="name"),
14
+ ]
@@ -28,3 +28,4 @@ class ToolType(str, Enum):
28
28
  FILE_SEARCH = "file_search"
29
29
  WEB_SEARCH = "web_search"
30
30
  RUN_PYTHON = "run_python"
31
+ AGENT_AS_TOOL = "agent_as_tool"
@@ -62,6 +62,15 @@ class CreateRunPython(CreateTool):
62
62
  config: RunPythonConfig
63
63
 
64
64
 
65
+ class AgentAsToolConfig(ToolConfig):
66
+ agent_id: str
67
+
68
+
69
+ class CreateAgentAsTool(CreateTool):
70
+ type: Literal[ToolType.AGENT_AS_TOOL] = ToolType.AGENT_AS_TOOL
71
+ config: AgentAsToolConfig
72
+
73
+
65
74
  class Tool(BaseModel):
66
75
  type: ToolType
67
76
  name: Annotated[str, AfterValidator(validate_length)]
@@ -88,13 +97,19 @@ class RunPythonTool(Tool):
88
97
  config: RunPythonConfig
89
98
 
90
99
 
100
+ class AgentAsTool(Tool):
101
+ type: Literal[ToolType.AGENT_AS_TOOL] = ToolType.AGENT_AS_TOOL
102
+ config: AgentAsToolConfig
103
+
104
+
91
105
  CreateToolRequest = Annotated[
92
- Union[CreateFileSearch, CreateRunPython, CreateWebSearch],
106
+ Union[CreateFileSearch, CreateRunPython, CreateWebSearch, CreateAgentAsTool],
93
107
  Field(discriminator="type"),
94
108
  ]
95
109
 
96
110
  ToolResponse = Annotated[
97
- Union[FileSearchTool, WebSearchTool, RunPythonTool], Field(discriminator="type")
111
+ Union[FileSearchTool, WebSearchTool, RunPythonTool, AgentAsTool],
112
+ Field(discriminator="type"),
98
113
  ]
99
114
 
100
115
 
@@ -110,6 +125,10 @@ class UpdateRunPython(CreateRunPython):
110
125
  pass
111
126
 
112
127
 
128
+ class UpdateAgentAsTool(CreateAgentAsTool):
129
+ pass
130
+
131
+
113
132
  UpdateToolRequest = Annotated[
114
133
  Union[UpdateFileSearch, UpdateWebSearch, UpdateRunPython],
115
134
  Field(discriminator="type"),
@@ -117,7 +136,7 @@ UpdateToolRequest = Annotated[
117
136
 
118
137
 
119
138
  class GetToolsResponse(BaseModel):
120
- """Response schema for paginated tool list."""
139
+ """Response schema for a paginated tool list."""
121
140
 
122
141
  data: list[ToolResponse]
123
142
  total: Optional[int] = None
File without changes
File without changes
File without changes
File without changes