letta-client 1.0.0a9__py3-none-any.whl → 1.0.0a11__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 (63) hide show
  1. letta_client/_client.py +5 -1
  2. letta_client/_streaming.py +40 -2
  3. letta_client/_version.py +1 -1
  4. letta_client/resources/agents/agents.py +396 -396
  5. letta_client/resources/agents/blocks.py +198 -190
  6. letta_client/resources/agents/files.py +10 -13
  7. letta_client/resources/agents/folders.py +10 -13
  8. letta_client/resources/agents/messages.py +380 -370
  9. letta_client/resources/agents/tools.py +10 -13
  10. letta_client/resources/archives.py +111 -113
  11. letta_client/resources/batches/batches.py +10 -12
  12. letta_client/resources/batches/messages.py +11 -14
  13. letta_client/resources/blocks/blocks.py +238 -222
  14. letta_client/resources/folders/agents.py +10 -13
  15. letta_client/resources/folders/files.py +9 -12
  16. letta_client/resources/folders/folders.py +143 -145
  17. letta_client/resources/groups/groups.py +141 -141
  18. letta_client/resources/groups/messages.py +198 -198
  19. letta_client/resources/identities/blocks.py +7 -7
  20. letta_client/resources/identities/identities.py +151 -153
  21. letta_client/resources/runs/runs.py +11 -13
  22. letta_client/resources/tags.py +10 -13
  23. letta_client/resources/tools.py +802 -204
  24. letta_client/types/__init__.py +14 -7
  25. letta_client/types/{agent_update_params.py → agent_modify_params.py} +2 -2
  26. letta_client/types/agent_state.py +6 -3
  27. letta_client/types/agents/__init__.py +5 -3
  28. letta_client/types/agents/block.py +6 -3
  29. letta_client/types/agents/{block_update_params.py → block_modify_params.py} +8 -5
  30. letta_client/types/agents/file_list_response.py +14 -3
  31. letta_client/types/agents/folder_list_response.py +7 -3
  32. letta_client/types/agents/letta_streaming_response.py +70 -0
  33. letta_client/types/agents/{message_update_params.py → message_modify_params.py} +2 -2
  34. letta_client/types/agents/{message_update_response.py → message_modify_response.py} +2 -2
  35. letta_client/types/agents/tool_list_response.py +10 -0
  36. letta_client/types/archive_list_response.py +10 -0
  37. letta_client/types/{archive_update_params.py → archive_modify_params.py} +2 -2
  38. letta_client/types/batch_list_response.py +10 -0
  39. letta_client/types/batches/__init__.py +1 -0
  40. letta_client/types/batches/message_list_response.py +12 -0
  41. letta_client/types/block_create_params.py +6 -3
  42. letta_client/types/{block_update_params.py → block_modify_params.py} +8 -5
  43. letta_client/types/block_response.py +63 -0
  44. letta_client/types/create_block_param.py +6 -3
  45. letta_client/types/folder_list_response.py +10 -0
  46. letta_client/types/{folder_update_params.py → folder_modify_params.py} +2 -2
  47. letta_client/types/folders/agent_list_response.py +2 -1
  48. letta_client/types/folders/file_list_response.py +7 -4
  49. letta_client/types/{group_update_params.py → group_modify_params.py} +2 -2
  50. letta_client/types/groups/__init__.py +2 -2
  51. letta_client/types/groups/{message_update_params.py → message_modify_params.py} +2 -2
  52. letta_client/types/groups/{message_update_response.py → message_modify_response.py} +2 -2
  53. letta_client/types/identity_list_response.py +10 -0
  54. letta_client/types/{identity_update_params.py → identity_modify_params.py} +2 -2
  55. letta_client/types/run_list_response.py +10 -0
  56. letta_client/types/tag_list_response.py +2 -1
  57. letta_client/types/tool.py +106 -2
  58. letta_client/types/tool_list_response.py +10 -0
  59. letta_client/types/{tool_update_params.py → tool_modify_params.py} +2 -2
  60. {letta_client-1.0.0a9.dist-info → letta_client-1.0.0a11.dist-info}/METADATA +1 -1
  61. {letta_client-1.0.0a9.dist-info → letta_client-1.0.0a11.dist-info}/RECORD +63 -53
  62. {letta_client-1.0.0a9.dist-info → letta_client-1.0.0a11.dist-info}/WHEEL +0 -0
  63. {letta_client-1.0.0a9.dist-info → letta_client-1.0.0a11.dist-info}/licenses/LICENSE +0 -0
letta_client/_client.py CHANGED
@@ -64,7 +64,7 @@ __all__ = [
64
64
  ]
65
65
 
66
66
  ENVIRONMENTS: Dict[str, str] = {
67
- "cloud": "https://app.letta.com",
67
+ "cloud": "https://api.letta.com",
68
68
  "local": "http://localhost:8283",
69
69
  }
70
70
 
@@ -164,6 +164,8 @@ class Letta(SyncAPIClient):
164
164
  _strict_response_validation=_strict_response_validation,
165
165
  )
166
166
 
167
+ self._default_stream_cls = Stream
168
+
167
169
  self.archives = archives.ArchivesResource(self)
168
170
  self.tools = tools.ToolsResource(self)
169
171
  self.folders = folders.FoldersResource(self)
@@ -401,6 +403,8 @@ class AsyncLetta(AsyncAPIClient):
401
403
  _strict_response_validation=_strict_response_validation,
402
404
  )
403
405
 
406
+ self._default_stream_cls = AsyncStream
407
+
404
408
  self.archives = archives.AsyncArchivesResource(self)
405
409
  self.tools = tools.AsyncToolsResource(self)
406
410
  self.folders = folders.AsyncFoldersResource(self)
@@ -55,7 +55,26 @@ class Stream(Generic[_T]):
55
55
  iterator = self._iter_events()
56
56
 
57
57
  for sse in iterator:
58
- yield process_data(data=sse.json(), cast_to=cast_to, response=response)
58
+ if sse.data.startswith("[DONE]"):
59
+ break
60
+
61
+ if sse.event == "error":
62
+ body = sse.data
63
+
64
+ try:
65
+ body = sse.json()
66
+ err_msg = f"{body}"
67
+ except Exception:
68
+ err_msg = sse.data or f"Error code: {response.status_code}"
69
+
70
+ raise self._client._make_status_error(
71
+ err_msg,
72
+ body=body,
73
+ response=self.response,
74
+ )
75
+
76
+ if sse.event is None:
77
+ yield process_data(data=sse.json(), cast_to=cast_to, response=response)
59
78
 
60
79
  # Ensure the entire stream is consumed
61
80
  for _sse in iterator:
@@ -119,7 +138,26 @@ class AsyncStream(Generic[_T]):
119
138
  iterator = self._iter_events()
120
139
 
121
140
  async for sse in iterator:
122
- yield process_data(data=sse.json(), cast_to=cast_to, response=response)
141
+ if sse.data.startswith("[DONE]"):
142
+ break
143
+
144
+ if sse.event == "error":
145
+ body = sse.data
146
+
147
+ try:
148
+ body = sse.json()
149
+ err_msg = f"{body}"
150
+ except Exception:
151
+ err_msg = sse.data or f"Error code: {response.status_code}"
152
+
153
+ raise self._client._make_status_error(
154
+ err_msg,
155
+ body=body,
156
+ response=self.response,
157
+ )
158
+
159
+ if sse.event is None:
160
+ yield process_data(data=sse.json(), cast_to=cast_to, response=response)
123
161
 
124
162
  # Ensure the entire stream is consumed
125
163
  async for _sse in iterator:
letta_client/_version.py CHANGED
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "letta_client"
4
- __version__ = "1.0.0-alpha.9" # x-release-please-version
4
+ __version__ = "1.0.0-alpha.11" # x-release-please-version