letta-client 1.0.0a1__py3-none-any.whl → 1.0.0a2__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.

Potentially problematic release.


This version of letta-client might be problematic. Click here for more details.

Files changed (202) hide show
  1. letta_client/__init__.py +149 -23
  2. letta_client/agents/__init__.py +15 -17
  3. letta_client/agents/blocks/__init__.py +3 -0
  4. letta_client/agents/blocks/client.py +77 -4
  5. letta_client/agents/blocks/raw_client.py +63 -2
  6. letta_client/agents/blocks/types/__init__.py +7 -0
  7. letta_client/agents/blocks/types/blocks_list_request_order.py +5 -0
  8. letta_client/agents/client.py +46 -13
  9. letta_client/agents/files/__init__.py +3 -0
  10. letta_client/agents/files/client.py +71 -10
  11. letta_client/agents/files/raw_client.py +51 -10
  12. letta_client/agents/files/types/__init__.py +7 -0
  13. letta_client/{types/tool_return_status.py → agents/files/types/files_list_request_order.py} +1 -1
  14. letta_client/agents/folders/__init__.py +3 -0
  15. letta_client/agents/folders/client.py +77 -4
  16. letta_client/agents/folders/raw_client.py +63 -2
  17. letta_client/agents/folders/types/__init__.py +7 -0
  18. letta_client/agents/folders/types/folders_list_request_order.py +5 -0
  19. letta_client/agents/groups/__init__.py +3 -0
  20. letta_client/agents/groups/client.py +71 -2
  21. letta_client/agents/groups/raw_client.py +51 -0
  22. letta_client/agents/groups/types/__init__.py +7 -0
  23. letta_client/agents/groups/types/groups_list_request_order.py +5 -0
  24. letta_client/agents/messages/__init__.py +2 -0
  25. letta_client/agents/messages/client.py +55 -14
  26. letta_client/agents/messages/raw_client.py +35 -14
  27. letta_client/agents/messages/types/__init__.py +2 -0
  28. letta_client/agents/messages/types/messages_list_request_order.py +5 -0
  29. letta_client/agents/passages/client.py +29 -0
  30. letta_client/agents/raw_client.py +4 -4
  31. letta_client/agents/sources/__init__.py +3 -0
  32. letta_client/agents/sources/client.py +77 -4
  33. letta_client/agents/sources/raw_client.py +63 -2
  34. letta_client/agents/sources/types/__init__.py +7 -0
  35. letta_client/agents/sources/types/sources_list_request_order.py +5 -0
  36. letta_client/agents/tools/__init__.py +3 -0
  37. letta_client/agents/tools/client.py +77 -4
  38. letta_client/agents/tools/raw_client.py +63 -2
  39. letta_client/agents/tools/types/__init__.py +7 -0
  40. letta_client/agents/tools/types/tools_list_request_order.py +5 -0
  41. letta_client/archives/client.py +16 -2
  42. letta_client/base_client.py +3 -0
  43. letta_client/batches/client.py +12 -2
  44. letta_client/batches/messages/client.py +10 -0
  45. letta_client/blocks/agents/client.py +8 -0
  46. letta_client/blocks/client.py +32 -2
  47. letta_client/chat/__init__.py +7 -0
  48. letta_client/chat/client.py +255 -0
  49. letta_client/chat/raw_client.py +269 -0
  50. letta_client/chat/types/__init__.py +8 -0
  51. letta_client/chat/types/chat_completion_request_messages_item.py +19 -0
  52. letta_client/chat/types/chat_completion_request_stop.py +5 -0
  53. letta_client/client_side_access_tokens/client.py +10 -2
  54. letta_client/core/client_wrapper.py +2 -2
  55. letta_client/errors/__init__.py +2 -0
  56. letta_client/errors/gone_error.py +10 -0
  57. letta_client/folders/agents/client.py +8 -0
  58. letta_client/folders/client.py +20 -4
  59. letta_client/folders/files/client.py +14 -0
  60. letta_client/folders/passages/client.py +8 -0
  61. letta_client/groups/client.py +16 -2
  62. letta_client/groups/messages/client.py +14 -0
  63. letta_client/identities/agents/client.py +8 -0
  64. letta_client/identities/blocks/client.py +8 -0
  65. letta_client/identities/client.py +20 -2
  66. letta_client/jobs/__init__.py +3 -0
  67. letta_client/jobs/client.py +61 -12
  68. letta_client/jobs/raw_client.py +29 -8
  69. letta_client/jobs/types/__init__.py +7 -0
  70. letta_client/jobs/types/jobs_list_request_order.py +5 -0
  71. letta_client/models/client.py +8 -2
  72. letta_client/projects/client.py +10 -2
  73. letta_client/providers/client.py +90 -2
  74. letta_client/providers/raw_client.py +102 -0
  75. letta_client/runs/__init__.py +11 -2
  76. letta_client/runs/client.py +150 -18
  77. letta_client/runs/messages/client.py +30 -2
  78. letta_client/runs/messages/raw_client.py +10 -0
  79. letta_client/runs/raw_client.py +144 -14
  80. letta_client/runs/steps/__init__.py +3 -0
  81. letta_client/runs/steps/client.py +39 -30
  82. letta_client/runs/steps/raw_client.py +19 -28
  83. letta_client/runs/steps/types/__init__.py +7 -0
  84. letta_client/runs/steps/types/steps_list_request_order.py +5 -0
  85. letta_client/runs/types/__init__.py +2 -1
  86. letta_client/runs/types/runs_list_request_order.py +5 -0
  87. letta_client/sources/client.py +8 -2
  88. letta_client/sources/files/client.py +12 -0
  89. letta_client/sources/passages/client.py +6 -0
  90. letta_client/steps/client.py +26 -2
  91. letta_client/steps/messages/client.py +8 -0
  92. letta_client/tags/client.py +16 -2
  93. letta_client/templates/__init__.py +12 -0
  94. letta_client/templates/client.py +30 -4
  95. letta_client/templates/raw_client.py +2 -2
  96. letta_client/templates/types/__init__.py +24 -0
  97. letta_client/templates/types/templates_create_agents_from_template_response_agents_item_llm_config.py +4 -0
  98. letta_client/templates/types/templates_create_agents_from_template_response_agents_item_llm_config_display_name.py +14 -0
  99. letta_client/templates/types/templates_create_agents_from_template_response_agents_item_llm_config_display_name_item.py +5 -0
  100. letta_client/templates/types/templates_create_agents_from_template_response_agents_item_secrets_item.py +4 -0
  101. letta_client/templates/types/templates_create_agents_from_template_response_agents_item_secrets_item_value_enc.py +14 -0
  102. letta_client/templates/types/templates_create_agents_from_template_response_agents_item_secrets_item_value_enc_item.py +5 -0
  103. letta_client/templates/types/templates_create_agents_from_template_response_agents_item_tool_exec_environment_variables_item.py +6 -0
  104. letta_client/templates/types/templates_create_agents_from_template_response_agents_item_tool_exec_environment_variables_item_value_enc.py +16 -0
  105. letta_client/templates/types/templates_create_agents_from_template_response_agents_item_tool_exec_environment_variables_item_value_enc_item.py +7 -0
  106. letta_client/templates/types/templates_create_agents_from_template_response_agents_item_tools_item_tool_type.py +1 -1
  107. letta_client/tools/client.py +30 -220
  108. letta_client/tools/raw_client.py +0 -292
  109. letta_client/types/__init__.py +130 -22
  110. letta_client/types/agent_environment_variable.py +5 -0
  111. letta_client/types/{action_parameters_model.py → annotation.py} +4 -10
  112. letta_client/types/{action_response_model.py → annotation_url_citation.py} +4 -9
  113. letta_client/types/approval_create.py +8 -2
  114. letta_client/types/approval_create_approvals_item.py +8 -0
  115. letta_client/types/approval_response_message.py +8 -2
  116. letta_client/types/approval_response_message_approvals_item.py +8 -0
  117. letta_client/types/approval_return.py +34 -0
  118. letta_client/{agents/templates/types/templates_migrate_response.py → types/audio.py} +4 -4
  119. letta_client/types/chat_completion.py +30 -0
  120. letta_client/types/chat_completion_assistant_message_param.py +30 -0
  121. letta_client/types/chat_completion_assistant_message_param_content.py +9 -0
  122. letta_client/types/chat_completion_assistant_message_param_content_item.py +10 -0
  123. letta_client/types/chat_completion_assistant_message_param_tool_calls_item.py +10 -0
  124. letta_client/types/chat_completion_audio.py +23 -0
  125. letta_client/types/chat_completion_content_part_image_param.py +22 -0
  126. letta_client/types/chat_completion_content_part_input_audio_param.py +22 -0
  127. letta_client/types/chat_completion_content_part_refusal_param.py +21 -0
  128. letta_client/types/chat_completion_content_part_text_param.py +21 -0
  129. letta_client/types/chat_completion_developer_message_param.py +23 -0
  130. letta_client/types/chat_completion_developer_message_param_content.py +7 -0
  131. letta_client/types/chat_completion_function_message_param.py +22 -0
  132. letta_client/types/chat_completion_message.py +30 -0
  133. letta_client/types/chat_completion_message_custom_tool_call.py +23 -0
  134. letta_client/types/chat_completion_message_custom_tool_call_param.py +23 -0
  135. letta_client/types/chat_completion_message_function_tool_call_input.py +25 -0
  136. letta_client/types/{chat_completion_message_function_tool_call.py → chat_completion_message_function_tool_call_output.py} +3 -3
  137. letta_client/types/chat_completion_message_function_tool_call_param.py +25 -0
  138. letta_client/types/chat_completion_message_tool_calls_item.py +10 -0
  139. letta_client/types/chat_completion_service_tier.py +5 -0
  140. letta_client/types/chat_completion_system_message_param.py +23 -0
  141. letta_client/types/chat_completion_system_message_param_content.py +7 -0
  142. letta_client/types/chat_completion_token_logprob.py +24 -0
  143. letta_client/types/chat_completion_tool_message_param.py +23 -0
  144. letta_client/types/chat_completion_tool_message_param_content.py +7 -0
  145. letta_client/types/chat_completion_user_message_param.py +23 -0
  146. letta_client/types/chat_completion_user_message_param_content.py +7 -0
  147. letta_client/types/chat_completion_user_message_param_content_item.py +15 -0
  148. letta_client/types/choice.py +26 -0
  149. letta_client/types/choice_finish_reason.py +7 -0
  150. letta_client/types/choice_logprobs.py +22 -0
  151. letta_client/types/completion_tokens_details.py +23 -0
  152. letta_client/types/{auth_scheme_field.py → completion_usage.py} +8 -13
  153. letta_client/types/custom_input.py +21 -0
  154. letta_client/types/custom_output.py +21 -0
  155. letta_client/types/file.py +22 -0
  156. letta_client/types/file_file.py +22 -0
  157. letta_client/types/function_call_input.py +21 -0
  158. letta_client/types/function_call_output.py +21 -0
  159. letta_client/types/{function.py → function_output.py} +1 -1
  160. letta_client/types/image_url.py +22 -0
  161. letta_client/types/image_url_detail.py +5 -0
  162. letta_client/types/input_audio.py +22 -0
  163. letta_client/types/input_audio_format.py +5 -0
  164. letta_client/types/internal_template_agent_create.py +2 -2
  165. letta_client/types/letta_schemas_agent_file_agent_schema.py +2 -2
  166. letta_client/types/letta_schemas_agent_file_message_schema.py +27 -4
  167. letta_client/types/letta_schemas_agent_file_message_schema_approvals_item.py +8 -0
  168. letta_client/types/letta_schemas_letta_message_tool_return.py +26 -0
  169. letta_client/types/letta_schemas_letta_message_tool_return_status.py +5 -0
  170. letta_client/types/{tool_return.py → letta_schemas_message_tool_return.py} +9 -3
  171. letta_client/types/letta_schemas_message_tool_return_status.py +5 -0
  172. letta_client/types/llm_config.py +5 -0
  173. letta_client/types/message.py +10 -4
  174. letta_client/types/message_approvals_item.py +8 -0
  175. letta_client/types/omitted_reasoning_content.py +4 -0
  176. letta_client/types/openai_types_chat_chat_completion_message_function_tool_call_function.py +21 -0
  177. letta_client/types/openai_types_chat_chat_completion_message_function_tool_call_param_function.py +21 -0
  178. letta_client/types/prompt_tokens_details.py +21 -0
  179. letta_client/types/provider.py +10 -0
  180. letta_client/types/run_metrics.py +58 -0
  181. letta_client/types/sandbox_environment_variable.py +5 -0
  182. letta_client/types/text_content.py +5 -0
  183. letta_client/types/tool_call_content.py +5 -0
  184. letta_client/types/tool_call_message.py +2 -0
  185. letta_client/types/tool_call_message_tool_calls.py +8 -0
  186. letta_client/types/tool_return_message.py +8 -5
  187. letta_client/types/tool_type.py +1 -1
  188. letta_client/types/top_logprob.py +22 -0
  189. letta_client/voice/client.py +14 -0
  190. letta_client/voice/raw_client.py +37 -0
  191. letta_client-1.0.0a2.dist-info/METADATA +422 -0
  192. {letta_client-1.0.0a1.dist-info → letta_client-1.0.0a2.dist-info}/RECORD +193 -115
  193. letta_client/agents/templates/__init__.py +0 -7
  194. letta_client/agents/templates/client.py +0 -307
  195. letta_client/agents/templates/raw_client.py +0 -275
  196. letta_client/agents/templates/types/__init__.py +0 -7
  197. letta_client/types/action_model.py +0 -39
  198. letta_client/types/app_auth_scheme.py +0 -35
  199. letta_client/types/app_auth_scheme_auth_mode.py +0 -19
  200. letta_client/types/app_model.py +0 -45
  201. letta_client-1.0.0a1.dist-info/METADATA +0 -211
  202. {letta_client-1.0.0a1.dist-info → letta_client-1.0.0a2.dist-info}/WHEEL +0 -0
@@ -4,8 +4,6 @@ import typing
4
4
 
5
5
  from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
6
  from ..core.request_options import RequestOptions
7
- from ..types.action_model import ActionModel
8
- from ..types.app_model import AppModel
9
7
  from ..types.mcp_tool import McpTool
10
8
  from ..types.npm_requirement import NpmRequirement
11
9
  from ..types.pip_requirement import PipRequirement
@@ -257,7 +255,12 @@ class ToolsClient:
257
255
  project="YOUR_PROJECT",
258
256
  token="YOUR_TOKEN",
259
257
  )
260
- client.tools.count()
258
+ client.tools.count(
259
+ name="name",
260
+ search="search",
261
+ return_only_letta_tools=True,
262
+ exclude_letta_tools=True,
263
+ )
261
264
  """
262
265
  _response = self._raw_client.count(
263
266
  name=name,
@@ -346,7 +349,15 @@ class ToolsClient:
346
349
  project="YOUR_PROJECT",
347
350
  token="YOUR_TOKEN",
348
351
  )
349
- client.tools.list()
352
+ client.tools.list(
353
+ before="before",
354
+ after="after",
355
+ limit=1,
356
+ order="asc",
357
+ name="name",
358
+ search="search",
359
+ return_only_letta_tools=True,
360
+ )
350
361
  """
351
362
  _response = self._raw_client.list(
352
363
  before=before,
@@ -643,99 +654,6 @@ class ToolsClient:
643
654
  )
644
655
  return _response.data
645
656
 
646
- def list_composio_apps(self, *, request_options: typing.Optional[RequestOptions] = None) -> typing.List[AppModel]:
647
- """
648
- Get a list of all Composio apps
649
-
650
- Parameters
651
- ----------
652
- request_options : typing.Optional[RequestOptions]
653
- Request-specific configuration.
654
-
655
- Returns
656
- -------
657
- typing.List[AppModel]
658
- Successful Response
659
-
660
- Examples
661
- --------
662
- from letta_client import Letta
663
-
664
- client = Letta(
665
- project="YOUR_PROJECT",
666
- token="YOUR_TOKEN",
667
- )
668
- client.tools.list_composio_apps()
669
- """
670
- _response = self._raw_client.list_composio_apps(request_options=request_options)
671
- return _response.data
672
-
673
- def list_composio_actions_by_app(
674
- self, composio_app_name: str, *, request_options: typing.Optional[RequestOptions] = None
675
- ) -> typing.List[ActionModel]:
676
- """
677
- Get a list of all Composio actions for a specific app
678
-
679
- Parameters
680
- ----------
681
- composio_app_name : str
682
-
683
- request_options : typing.Optional[RequestOptions]
684
- Request-specific configuration.
685
-
686
- Returns
687
- -------
688
- typing.List[ActionModel]
689
- Successful Response
690
-
691
- Examples
692
- --------
693
- from letta_client import Letta
694
-
695
- client = Letta(
696
- project="YOUR_PROJECT",
697
- token="YOUR_TOKEN",
698
- )
699
- client.tools.list_composio_actions_by_app(
700
- composio_app_name="composio_app_name",
701
- )
702
- """
703
- _response = self._raw_client.list_composio_actions_by_app(composio_app_name, request_options=request_options)
704
- return _response.data
705
-
706
- def add_composio_tool(
707
- self, composio_action_name: str, *, request_options: typing.Optional[RequestOptions] = None
708
- ) -> Tool:
709
- """
710
- Add a new Composio tool by action name (Composio refers to each tool as an `Action`)
711
-
712
- Parameters
713
- ----------
714
- composio_action_name : str
715
-
716
- request_options : typing.Optional[RequestOptions]
717
- Request-specific configuration.
718
-
719
- Returns
720
- -------
721
- Tool
722
- Successful Response
723
-
724
- Examples
725
- --------
726
- from letta_client import Letta
727
-
728
- client = Letta(
729
- project="YOUR_PROJECT",
730
- token="YOUR_TOKEN",
731
- )
732
- client.tools.add_composio_tool(
733
- composio_action_name="composio_action_name",
734
- )
735
- """
736
- _response = self._raw_client.add_composio_tool(composio_action_name, request_options=request_options)
737
- return _response.data
738
-
739
657
  def list_mcp_servers(
740
658
  self, *, request_options: typing.Optional[RequestOptions] = None
741
659
  ) -> typing.Dict[str, ListMcpServersResponseValue]:
@@ -1284,7 +1202,12 @@ class AsyncToolsClient:
1284
1202
 
1285
1203
 
1286
1204
  async def main() -> None:
1287
- await client.tools.count()
1205
+ await client.tools.count(
1206
+ name="name",
1207
+ search="search",
1208
+ return_only_letta_tools=True,
1209
+ exclude_letta_tools=True,
1210
+ )
1288
1211
 
1289
1212
 
1290
1213
  asyncio.run(main())
@@ -1381,7 +1304,15 @@ class AsyncToolsClient:
1381
1304
 
1382
1305
 
1383
1306
  async def main() -> None:
1384
- await client.tools.list()
1307
+ await client.tools.list(
1308
+ before="before",
1309
+ after="after",
1310
+ limit=1,
1311
+ order="asc",
1312
+ name="name",
1313
+ search="search",
1314
+ return_only_letta_tools=True,
1315
+ )
1385
1316
 
1386
1317
 
1387
1318
  asyncio.run(main())
@@ -1713,127 +1644,6 @@ class AsyncToolsClient:
1713
1644
  )
1714
1645
  return _response.data
1715
1646
 
1716
- async def list_composio_apps(
1717
- self, *, request_options: typing.Optional[RequestOptions] = None
1718
- ) -> typing.List[AppModel]:
1719
- """
1720
- Get a list of all Composio apps
1721
-
1722
- Parameters
1723
- ----------
1724
- request_options : typing.Optional[RequestOptions]
1725
- Request-specific configuration.
1726
-
1727
- Returns
1728
- -------
1729
- typing.List[AppModel]
1730
- Successful Response
1731
-
1732
- Examples
1733
- --------
1734
- import asyncio
1735
-
1736
- from letta_client import AsyncLetta
1737
-
1738
- client = AsyncLetta(
1739
- project="YOUR_PROJECT",
1740
- token="YOUR_TOKEN",
1741
- )
1742
-
1743
-
1744
- async def main() -> None:
1745
- await client.tools.list_composio_apps()
1746
-
1747
-
1748
- asyncio.run(main())
1749
- """
1750
- _response = await self._raw_client.list_composio_apps(request_options=request_options)
1751
- return _response.data
1752
-
1753
- async def list_composio_actions_by_app(
1754
- self, composio_app_name: str, *, request_options: typing.Optional[RequestOptions] = None
1755
- ) -> typing.List[ActionModel]:
1756
- """
1757
- Get a list of all Composio actions for a specific app
1758
-
1759
- Parameters
1760
- ----------
1761
- composio_app_name : str
1762
-
1763
- request_options : typing.Optional[RequestOptions]
1764
- Request-specific configuration.
1765
-
1766
- Returns
1767
- -------
1768
- typing.List[ActionModel]
1769
- Successful Response
1770
-
1771
- Examples
1772
- --------
1773
- import asyncio
1774
-
1775
- from letta_client import AsyncLetta
1776
-
1777
- client = AsyncLetta(
1778
- project="YOUR_PROJECT",
1779
- token="YOUR_TOKEN",
1780
- )
1781
-
1782
-
1783
- async def main() -> None:
1784
- await client.tools.list_composio_actions_by_app(
1785
- composio_app_name="composio_app_name",
1786
- )
1787
-
1788
-
1789
- asyncio.run(main())
1790
- """
1791
- _response = await self._raw_client.list_composio_actions_by_app(
1792
- composio_app_name, request_options=request_options
1793
- )
1794
- return _response.data
1795
-
1796
- async def add_composio_tool(
1797
- self, composio_action_name: str, *, request_options: typing.Optional[RequestOptions] = None
1798
- ) -> Tool:
1799
- """
1800
- Add a new Composio tool by action name (Composio refers to each tool as an `Action`)
1801
-
1802
- Parameters
1803
- ----------
1804
- composio_action_name : str
1805
-
1806
- request_options : typing.Optional[RequestOptions]
1807
- Request-specific configuration.
1808
-
1809
- Returns
1810
- -------
1811
- Tool
1812
- Successful Response
1813
-
1814
- Examples
1815
- --------
1816
- import asyncio
1817
-
1818
- from letta_client import AsyncLetta
1819
-
1820
- client = AsyncLetta(
1821
- project="YOUR_PROJECT",
1822
- token="YOUR_TOKEN",
1823
- )
1824
-
1825
-
1826
- async def main() -> None:
1827
- await client.tools.add_composio_tool(
1828
- composio_action_name="composio_action_name",
1829
- )
1830
-
1831
-
1832
- asyncio.run(main())
1833
- """
1834
- _response = await self._raw_client.add_composio_tool(composio_action_name, request_options=request_options)
1835
- return _response.data
1836
-
1837
1647
  async def list_mcp_servers(
1838
1648
  self, *, request_options: typing.Optional[RequestOptions] = None
1839
1649
  ) -> typing.Dict[str, ListMcpServersResponseValue]:
@@ -14,8 +14,6 @@ from ..core.request_options import RequestOptions
14
14
  from ..core.serialization import convert_and_respect_annotation_metadata
15
15
  from ..core.unchecked_base_model import construct_type
16
16
  from ..errors.unprocessable_entity_error import UnprocessableEntityError
17
- from ..types.action_model import ActionModel
18
- from ..types.app_model import AppModel
19
17
  from ..types.http_validation_error import HttpValidationError
20
18
  from ..types.mcp_tool import McpTool
21
19
  from ..types.npm_requirement import NpmRequirement
@@ -826,151 +824,6 @@ class RawToolsClient:
826
824
  raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
827
825
  raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
828
826
 
829
- def list_composio_apps(
830
- self, *, request_options: typing.Optional[RequestOptions] = None
831
- ) -> HttpResponse[typing.List[AppModel]]:
832
- """
833
- Get a list of all Composio apps
834
-
835
- Parameters
836
- ----------
837
- request_options : typing.Optional[RequestOptions]
838
- Request-specific configuration.
839
-
840
- Returns
841
- -------
842
- HttpResponse[typing.List[AppModel]]
843
- Successful Response
844
- """
845
- _response = self._client_wrapper.httpx_client.request(
846
- "v1/tools/composio/apps",
847
- method="GET",
848
- request_options=request_options,
849
- )
850
- try:
851
- if 200 <= _response.status_code < 300:
852
- _data = typing.cast(
853
- typing.List[AppModel],
854
- construct_type(
855
- type_=typing.List[AppModel], # type: ignore
856
- object_=_response.json(),
857
- ),
858
- )
859
- return HttpResponse(response=_response, data=_data)
860
- if _response.status_code == 422:
861
- raise UnprocessableEntityError(
862
- headers=dict(_response.headers),
863
- body=typing.cast(
864
- HttpValidationError,
865
- construct_type(
866
- type_=HttpValidationError, # type: ignore
867
- object_=_response.json(),
868
- ),
869
- ),
870
- )
871
- _response_json = _response.json()
872
- except JSONDecodeError:
873
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
874
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
875
-
876
- def list_composio_actions_by_app(
877
- self, composio_app_name: str, *, request_options: typing.Optional[RequestOptions] = None
878
- ) -> HttpResponse[typing.List[ActionModel]]:
879
- """
880
- Get a list of all Composio actions for a specific app
881
-
882
- Parameters
883
- ----------
884
- composio_app_name : str
885
-
886
- request_options : typing.Optional[RequestOptions]
887
- Request-specific configuration.
888
-
889
- Returns
890
- -------
891
- HttpResponse[typing.List[ActionModel]]
892
- Successful Response
893
- """
894
- _response = self._client_wrapper.httpx_client.request(
895
- f"v1/tools/composio/apps/{jsonable_encoder(composio_app_name)}/actions",
896
- method="GET",
897
- request_options=request_options,
898
- )
899
- try:
900
- if 200 <= _response.status_code < 300:
901
- _data = typing.cast(
902
- typing.List[ActionModel],
903
- construct_type(
904
- type_=typing.List[ActionModel], # type: ignore
905
- object_=_response.json(),
906
- ),
907
- )
908
- return HttpResponse(response=_response, data=_data)
909
- if _response.status_code == 422:
910
- raise UnprocessableEntityError(
911
- headers=dict(_response.headers),
912
- body=typing.cast(
913
- HttpValidationError,
914
- construct_type(
915
- type_=HttpValidationError, # type: ignore
916
- object_=_response.json(),
917
- ),
918
- ),
919
- )
920
- _response_json = _response.json()
921
- except JSONDecodeError:
922
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
923
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
924
-
925
- def add_composio_tool(
926
- self, composio_action_name: str, *, request_options: typing.Optional[RequestOptions] = None
927
- ) -> HttpResponse[Tool]:
928
- """
929
- Add a new Composio tool by action name (Composio refers to each tool as an `Action`)
930
-
931
- Parameters
932
- ----------
933
- composio_action_name : str
934
-
935
- request_options : typing.Optional[RequestOptions]
936
- Request-specific configuration.
937
-
938
- Returns
939
- -------
940
- HttpResponse[Tool]
941
- Successful Response
942
- """
943
- _response = self._client_wrapper.httpx_client.request(
944
- f"v1/tools/composio/{jsonable_encoder(composio_action_name)}",
945
- method="POST",
946
- request_options=request_options,
947
- )
948
- try:
949
- if 200 <= _response.status_code < 300:
950
- _data = typing.cast(
951
- Tool,
952
- construct_type(
953
- type_=Tool, # type: ignore
954
- object_=_response.json(),
955
- ),
956
- )
957
- return HttpResponse(response=_response, data=_data)
958
- if _response.status_code == 422:
959
- raise UnprocessableEntityError(
960
- headers=dict(_response.headers),
961
- body=typing.cast(
962
- HttpValidationError,
963
- construct_type(
964
- type_=HttpValidationError, # type: ignore
965
- object_=_response.json(),
966
- ),
967
- ),
968
- )
969
- _response_json = _response.json()
970
- except JSONDecodeError:
971
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
972
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
973
-
974
827
  def list_mcp_servers(
975
828
  self, *, request_options: typing.Optional[RequestOptions] = None
976
829
  ) -> HttpResponse[typing.Dict[str, ListMcpServersResponseValue]]:
@@ -2212,151 +2065,6 @@ class AsyncRawToolsClient:
2212
2065
  raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
2213
2066
  raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
2214
2067
 
2215
- async def list_composio_apps(
2216
- self, *, request_options: typing.Optional[RequestOptions] = None
2217
- ) -> AsyncHttpResponse[typing.List[AppModel]]:
2218
- """
2219
- Get a list of all Composio apps
2220
-
2221
- Parameters
2222
- ----------
2223
- request_options : typing.Optional[RequestOptions]
2224
- Request-specific configuration.
2225
-
2226
- Returns
2227
- -------
2228
- AsyncHttpResponse[typing.List[AppModel]]
2229
- Successful Response
2230
- """
2231
- _response = await self._client_wrapper.httpx_client.request(
2232
- "v1/tools/composio/apps",
2233
- method="GET",
2234
- request_options=request_options,
2235
- )
2236
- try:
2237
- if 200 <= _response.status_code < 300:
2238
- _data = typing.cast(
2239
- typing.List[AppModel],
2240
- construct_type(
2241
- type_=typing.List[AppModel], # type: ignore
2242
- object_=_response.json(),
2243
- ),
2244
- )
2245
- return AsyncHttpResponse(response=_response, data=_data)
2246
- if _response.status_code == 422:
2247
- raise UnprocessableEntityError(
2248
- headers=dict(_response.headers),
2249
- body=typing.cast(
2250
- HttpValidationError,
2251
- construct_type(
2252
- type_=HttpValidationError, # type: ignore
2253
- object_=_response.json(),
2254
- ),
2255
- ),
2256
- )
2257
- _response_json = _response.json()
2258
- except JSONDecodeError:
2259
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
2260
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
2261
-
2262
- async def list_composio_actions_by_app(
2263
- self, composio_app_name: str, *, request_options: typing.Optional[RequestOptions] = None
2264
- ) -> AsyncHttpResponse[typing.List[ActionModel]]:
2265
- """
2266
- Get a list of all Composio actions for a specific app
2267
-
2268
- Parameters
2269
- ----------
2270
- composio_app_name : str
2271
-
2272
- request_options : typing.Optional[RequestOptions]
2273
- Request-specific configuration.
2274
-
2275
- Returns
2276
- -------
2277
- AsyncHttpResponse[typing.List[ActionModel]]
2278
- Successful Response
2279
- """
2280
- _response = await self._client_wrapper.httpx_client.request(
2281
- f"v1/tools/composio/apps/{jsonable_encoder(composio_app_name)}/actions",
2282
- method="GET",
2283
- request_options=request_options,
2284
- )
2285
- try:
2286
- if 200 <= _response.status_code < 300:
2287
- _data = typing.cast(
2288
- typing.List[ActionModel],
2289
- construct_type(
2290
- type_=typing.List[ActionModel], # type: ignore
2291
- object_=_response.json(),
2292
- ),
2293
- )
2294
- return AsyncHttpResponse(response=_response, data=_data)
2295
- if _response.status_code == 422:
2296
- raise UnprocessableEntityError(
2297
- headers=dict(_response.headers),
2298
- body=typing.cast(
2299
- HttpValidationError,
2300
- construct_type(
2301
- type_=HttpValidationError, # type: ignore
2302
- object_=_response.json(),
2303
- ),
2304
- ),
2305
- )
2306
- _response_json = _response.json()
2307
- except JSONDecodeError:
2308
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
2309
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
2310
-
2311
- async def add_composio_tool(
2312
- self, composio_action_name: str, *, request_options: typing.Optional[RequestOptions] = None
2313
- ) -> AsyncHttpResponse[Tool]:
2314
- """
2315
- Add a new Composio tool by action name (Composio refers to each tool as an `Action`)
2316
-
2317
- Parameters
2318
- ----------
2319
- composio_action_name : str
2320
-
2321
- request_options : typing.Optional[RequestOptions]
2322
- Request-specific configuration.
2323
-
2324
- Returns
2325
- -------
2326
- AsyncHttpResponse[Tool]
2327
- Successful Response
2328
- """
2329
- _response = await self._client_wrapper.httpx_client.request(
2330
- f"v1/tools/composio/{jsonable_encoder(composio_action_name)}",
2331
- method="POST",
2332
- request_options=request_options,
2333
- )
2334
- try:
2335
- if 200 <= _response.status_code < 300:
2336
- _data = typing.cast(
2337
- Tool,
2338
- construct_type(
2339
- type_=Tool, # type: ignore
2340
- object_=_response.json(),
2341
- ),
2342
- )
2343
- return AsyncHttpResponse(response=_response, data=_data)
2344
- if _response.status_code == 422:
2345
- raise UnprocessableEntityError(
2346
- headers=dict(_response.headers),
2347
- body=typing.cast(
2348
- HttpValidationError,
2349
- construct_type(
2350
- type_=HttpValidationError, # type: ignore
2351
- object_=_response.json(),
2352
- ),
2353
- ),
2354
- )
2355
- _response_json = _response.json()
2356
- except JSONDecodeError:
2357
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
2358
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
2359
-
2360
2068
  async def list_mcp_servers(
2361
2069
  self, *, request_options: typing.Optional[RequestOptions] = None
2362
2070
  ) -> AsyncHttpResponse[typing.Dict[str, ListMcpServersResponseValue]]: