cheshirecat-python-sdk 1.7.10__tar.gz → 1.8.0__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 (53) hide show
  1. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/PKG-INFO +1 -1
  2. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/client.py +5 -0
  3. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/endpoints/__init__.py +1 -0
  4. cheshirecat_python_sdk-1.8.0/cheshirecat_python_sdk/endpoints/agentic_workflow.py +52 -0
  5. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/endpoints/users.py +14 -1
  6. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/models/api/users.py +2 -1
  7. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/pyproject.toml +1 -1
  8. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/.gitignore +0 -0
  9. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/LICENSE +0 -0
  10. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/Makefile +0 -0
  11. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/README.md +0 -0
  12. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/__init__.py +0 -0
  13. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/builders/__init__.py +0 -0
  14. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/builders/base.py +0 -0
  15. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/builders/memory.py +0 -0
  16. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/builders/settings_input.py +0 -0
  17. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/builders/why.py +0 -0
  18. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/clients/__init__.py +0 -0
  19. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/clients/http_client.py +0 -0
  20. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/clients/websocket_client.py +0 -0
  21. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/configuration.py +0 -0
  22. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/endpoints/admins.py +0 -0
  23. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/endpoints/auth.py +0 -0
  24. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/endpoints/auth_handler.py +0 -0
  25. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/endpoints/base.py +0 -0
  26. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/endpoints/chunker.py +0 -0
  27. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/endpoints/conversation.py +0 -0
  28. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/endpoints/custom_endpoint.py +0 -0
  29. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/endpoints/embedder.py +0 -0
  30. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/endpoints/file_manager.py +0 -0
  31. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/endpoints/health_check.py +0 -0
  32. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/endpoints/large_language_model.py +0 -0
  33. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/endpoints/memory.py +0 -0
  34. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/endpoints/message.py +0 -0
  35. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/endpoints/plugins.py +0 -0
  36. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/endpoints/rabbit_hole.py +0 -0
  37. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/endpoints/utils.py +0 -0
  38. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/endpoints/vector_database.py +0 -0
  39. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/enums.py +0 -0
  40. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/models/api/admins.py +0 -0
  41. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/models/api/conversations.py +0 -0
  42. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/models/api/factories.py +0 -0
  43. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/models/api/file_managers.py +0 -0
  44. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/models/api/memories.py +0 -0
  45. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/models/api/messages.py +0 -0
  46. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/models/api/nested/memories.py +0 -0
  47. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/models/api/nested/plugins.py +0 -0
  48. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/models/api/plugins.py +0 -0
  49. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/models/api/rabbit_holes.py +0 -0
  50. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/models/api/tokens.py +0 -0
  51. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/models/dtos.py +0 -0
  52. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/cheshirecat_python_sdk/utils.py +0 -0
  53. {cheshirecat_python_sdk-1.7.10 → cheshirecat_python_sdk-1.8.0}/requirements.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cheshirecat-python-sdk
3
- Version: 1.7.10
3
+ Version: 1.8.0
4
4
  Summary: Python SDK for the Cloud-ready fork of the Cheshire Cat
5
5
  Project-URL: Repository, https://github.com/matteocacciola/cheshirecat-python-sdk
6
6
  Project-URL: Documentation, https://github.com/matteocacciola/cheshirecat-python-sdk#README
@@ -18,6 +18,7 @@ from cheshirecat_python_sdk.endpoints import (
18
18
  UtilsEndpoint,
19
19
  VectorDatabaseEndpoint,
20
20
  HealthCheckEndpoint,
21
+ AgenticWorkflowEndpoint,
21
22
  )
22
23
 
23
24
 
@@ -64,6 +65,10 @@ class CheshireCatClient:
64
65
  def auth_handler(self):
65
66
  return AuthHandlerEndpoint(self)
66
67
 
68
+ @property
69
+ def agentic_workflow(self):
70
+ return AgenticWorkflowEndpoint(self)
71
+
67
72
  @property
68
73
  def chunker(self):
69
74
  return ChunkerEndpoint(self)
@@ -1,4 +1,5 @@
1
1
  from cheshirecat_python_sdk.endpoints.admins import AdminsEndpoint
2
+ from cheshirecat_python_sdk.endpoints.agentic_workflow import AgenticWorkflowEndpoint
2
3
  from cheshirecat_python_sdk.endpoints.auth import AuthEndpoint
3
4
  from cheshirecat_python_sdk.endpoints.auth_handler import AuthHandlerEndpoint
4
5
  from cheshirecat_python_sdk.endpoints.chunker import ChunkerEndpoint
@@ -0,0 +1,52 @@
1
+ from typing import Dict, Any
2
+
3
+ from cheshirecat_python_sdk.endpoints.base import AbstractEndpoint
4
+ from cheshirecat_python_sdk.models.api.factories import FactoryObjectSettingsOutput, FactoryObjectSettingOutput
5
+
6
+
7
+ class AgenticWorkflowEndpoint(AbstractEndpoint):
8
+ def __init__(self, client: "CheshireCatClient"):
9
+ super().__init__(client)
10
+ self.prefix = "/agentic_workflow"
11
+
12
+ def get_agentic_workflows_settings(self, agent_id: str) -> FactoryObjectSettingsOutput:
13
+ """
14
+ Get all agentic workflow settings for the agent with the given ID.
15
+ :param agent_id: The ID of the agent.
16
+ :return: FactoryObjectSettingsOutput, containing the settings for all agentic workflows.
17
+ """
18
+ return self.get(
19
+ self.format_url("/settings"),
20
+ agent_id,
21
+ output_class=FactoryObjectSettingsOutput,
22
+ )
23
+
24
+ def get_agentic_workflow_settings(self, agentic_workflow: str, agent_id: str) -> FactoryObjectSettingOutput:
25
+ """
26
+ Get the settings for the agentic workflow with the given name.
27
+ :param agentic_workflow: The name of the agentic workflow.
28
+ :param agent_id: The ID of the agent.
29
+ :return: FactoryObjectSettingOutput, containing the settings for the agentic workflow.
30
+ """
31
+ return self.get(
32
+ self.format_url(f"/settings/{agentic_workflow}"),
33
+ agent_id,
34
+ output_class=FactoryObjectSettingOutput,
35
+ )
36
+
37
+ def put_agentic_workflow_settings(
38
+ self, agentic_workflow: str, agent_id: str, values: Dict[str, Any]
39
+ ) -> FactoryObjectSettingOutput:
40
+ """
41
+ Update the settings for the agentic workflow with the given name.
42
+ :param agentic_workflow: The name of the agentic workflow.
43
+ :param agent_id: The ID of the agent.
44
+ :param values: The new settings for the agentic workflow.
45
+ :return: FactoryObjectSettingOutput, containing the updated settings for the agentic workflow.
46
+ """
47
+ return self.put(
48
+ self.format_url(f"/settings/{agentic_workflow}"),
49
+ agent_id,
50
+ output_class=FactoryObjectSettingOutput,
51
+ payload=values,
52
+ )
@@ -11,7 +11,12 @@ class UsersEndpoint(AbstractEndpoint):
11
11
  self.prefix = "/users"
12
12
 
13
13
  def post_user(
14
- self, agent_id: str, username: str, password: str, permissions: dict[str, Any] | None = None
14
+ self,
15
+ agent_id: str,
16
+ username: str,
17
+ password: str,
18
+ permissions: dict[str, Any] | None = None,
19
+ metadata: dict[str, Any] | None = None,
15
20
  ) -> UserOutput:
16
21
  """
17
22
  This endpoint is used to create a new user in the system. The user is created with the specified username and
@@ -22,6 +27,7 @@ class UsersEndpoint(AbstractEndpoint):
22
27
  :param username: The username of the user to create
23
28
  :param password: The password of the user to create
24
29
  :param permissions: The permissions of the user to create (optional)
30
+ :param metadata: The metadata of the user to create (optional)
25
31
  :return UserOutput, the created user
26
32
  """
27
33
  payload = {
@@ -31,6 +37,9 @@ class UsersEndpoint(AbstractEndpoint):
31
37
  if permissions is not None:
32
38
  payload["permissions"] = permissions # type: ignore
33
39
 
40
+ if metadata is not None:
41
+ payload["metadata"] = metadata # type: ignore
42
+
34
43
  return self.post_json(
35
44
  self.prefix,
36
45
  agent_id,
@@ -75,6 +84,7 @@ class UsersEndpoint(AbstractEndpoint):
75
84
  username: str | None = None,
76
85
  password: str | None = None,
77
86
  permissions: Dict[str, Any] | None = None,
87
+ metadata: Dict[str, Any] | None = None,
78
88
  ) -> UserOutput:
79
89
  """
80
90
  The endpoint is used to update the user in the system. The user is identified by the userId parameter, previously
@@ -87,6 +97,7 @@ class UsersEndpoint(AbstractEndpoint):
87
97
  :param username: The new username of the user (optional)
88
98
  :param password: The new password of the user (optional)
89
99
  :param permissions: The new permissions of the user (optional)
100
+ :param metadata: The new metadata of the user (optional)
90
101
  :return UserOutput, the updated user
91
102
  """
92
103
  payload = {}
@@ -96,6 +107,8 @@ class UsersEndpoint(AbstractEndpoint):
96
107
  payload["password"] = password
97
108
  if permissions is not None:
98
109
  payload["permissions"] = permissions
110
+ if metadata is not None:
111
+ payload["metadata"] = metadata
99
112
 
100
113
  return self.put(self.format_url(user_id), agent_id, output_class=UserOutput, payload=payload)
101
114
 
@@ -1,10 +1,11 @@
1
- from typing import Dict, List
1
+ from typing import Dict, List, Any
2
2
  from pydantic import BaseModel
3
3
 
4
4
 
5
5
  class UserOutput(BaseModel):
6
6
  username: str
7
7
  permissions: Dict[str, List[str]]
8
+ metadata: Dict[str, Any] | None = None
8
9
  id: str
9
10
  created_at: float | None = None
10
11
  updated_at: float | None = None
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "cheshirecat-python-sdk"
3
3
  description = "Python SDK for the Cloud-ready fork of the Cheshire Cat"
4
- version = "1.7.10"
4
+ version = "1.8.0"
5
5
  requires-python = ">=3.10"
6
6
  license = { file = "LICENSE" }
7
7
  authors = [