athena-intelligence 0.1.216__tar.gz → 0.1.218__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.

Potentially problematic release.


This version of athena-intelligence might be problematic. Click here for more details.

Files changed (132) hide show
  1. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/PKG-INFO +1 -1
  2. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/pyproject.toml +1 -1
  3. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/__init__.py +4 -0
  4. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/core/client_wrapper.py +2 -2
  5. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/__init__.py +4 -0
  6. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/aop_execute_response_out.py +6 -5
  7. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/conversation_asset_info.py +5 -0
  8. athena_intelligence-0.1.218/src/athena/types/conversation_message.py +41 -0
  9. athena_intelligence-0.1.218/src/athena/types/conversation_result.py +67 -0
  10. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/README.md +0 -0
  11. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/agents/__init__.py +0 -0
  12. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/agents/client.py +0 -0
  13. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/agents/drive/__init__.py +0 -0
  14. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/agents/drive/client.py +0 -0
  15. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/agents/drive/raw_client.py +0 -0
  16. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/agents/general/__init__.py +0 -0
  17. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/agents/general/client.py +0 -0
  18. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/agents/general/raw_client.py +0 -0
  19. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/agents/raw_client.py +0 -0
  20. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/agents/research/__init__.py +0 -0
  21. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/agents/research/client.py +0 -0
  22. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/agents/research/raw_client.py +0 -0
  23. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/agents/sql/__init__.py +0 -0
  24. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/agents/sql/client.py +0 -0
  25. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/agents/sql/raw_client.py +0 -0
  26. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/aop/__init__.py +0 -0
  27. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/aop/client.py +0 -0
  28. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/aop/raw_client.py +0 -0
  29. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/assets/__init__.py +0 -0
  30. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/assets/client.py +0 -0
  31. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/assets/raw_client.py +0 -0
  32. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/base_client.py +0 -0
  33. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/client.py +0 -0
  34. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/core/__init__.py +0 -0
  35. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/core/api_error.py +0 -0
  36. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/core/datetime_utils.py +0 -0
  37. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/core/file.py +0 -0
  38. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/core/force_multipart.py +0 -0
  39. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/core/http_client.py +0 -0
  40. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/core/http_response.py +0 -0
  41. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/core/jsonable_encoder.py +0 -0
  42. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/core/pydantic_utilities.py +0 -0
  43. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/core/query_encoder.py +0 -0
  44. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/core/remove_none_from_dict.py +0 -0
  45. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/core/request_options.py +0 -0
  46. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/core/serialization.py +0 -0
  47. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/environment.py +0 -0
  48. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/errors/__init__.py +0 -0
  49. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/errors/bad_request_error.py +0 -0
  50. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/errors/content_too_large_error.py +0 -0
  51. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/errors/internal_server_error.py +0 -0
  52. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/errors/not_found_error.py +0 -0
  53. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/errors/unauthorized_error.py +0 -0
  54. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/errors/unprocessable_entity_error.py +0 -0
  55. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/errors/unsupported_media_type_error.py +0 -0
  56. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/py.typed +0 -0
  57. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/query/__init__.py +0 -0
  58. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/query/client.py +0 -0
  59. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/query/raw_client.py +0 -0
  60. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/query/types/__init__.py +0 -0
  61. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/query/types/query_execute_request_database_asset_ids.py +0 -0
  62. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/threads/__init__.py +0 -0
  63. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/threads/client.py +0 -0
  64. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/threads/raw_client.py +0 -0
  65. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/tools/__init__.py +0 -0
  66. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/tools/calendar/__init__.py +0 -0
  67. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/tools/calendar/client.py +0 -0
  68. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/tools/calendar/raw_client.py +0 -0
  69. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/tools/client.py +0 -0
  70. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/tools/email/__init__.py +0 -0
  71. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/tools/email/client.py +0 -0
  72. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/tools/email/raw_client.py +0 -0
  73. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/tools/raw_client.py +0 -0
  74. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/tools/sheets/__init__.py +0 -0
  75. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/tools/sheets/client.py +0 -0
  76. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/tools/sheets/raw_client.py +0 -0
  77. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/tools/sheets/types/__init__.py +0 -0
  78. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/tools/sheets/types/insert_table_row_request_row_data_item_value.py +0 -0
  79. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/tools/structured_data_extractor/__init__.py +0 -0
  80. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/tools/structured_data_extractor/client.py +0 -0
  81. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/tools/structured_data_extractor/raw_client.py +0 -0
  82. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/tools/tasks/__init__.py +0 -0
  83. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/tools/tasks/client.py +0 -0
  84. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/tools/tasks/raw_client.py +0 -0
  85. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/tools/types/__init__.py +0 -0
  86. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/tools/types/tools_data_frame_request_columns_item.py +0 -0
  87. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/aop_async_execute_response_out.py +0 -0
  88. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/aop_execute_request_in.py +0 -0
  89. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/asset_content_request_out.py +0 -0
  90. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/asset_node.py +0 -0
  91. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/asset_not_found_error.py +0 -0
  92. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/asset_screenshot_response_out.py +0 -0
  93. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/chunk.py +0 -0
  94. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/chunk_content_item.py +0 -0
  95. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/chunk_result.py +0 -0
  96. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/chunk_result_chunk_id.py +0 -0
  97. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/content.py +0 -0
  98. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/create_new_sheet_tab_response.py +0 -0
  99. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/custom_agent_response.py +0 -0
  100. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/data_frame_request_out.py +0 -0
  101. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/data_frame_request_out_columns_item.py +0 -0
  102. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/data_frame_request_out_data_item_item.py +0 -0
  103. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/data_frame_request_out_index_item.py +0 -0
  104. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/data_frame_unknown_format_error.py +0 -0
  105. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/document_chunk.py +0 -0
  106. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/drive_agent_response.py +0 -0
  107. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/file_chunk_request_out.py +0 -0
  108. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/file_too_large_error.py +0 -0
  109. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/folder_response.py +0 -0
  110. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/general_agent_config.py +0 -0
  111. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/general_agent_config_enabled_tools_item.py +0 -0
  112. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/general_agent_request.py +0 -0
  113. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/general_agent_response.py +0 -0
  114. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/general_agent_response_message.py +0 -0
  115. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/general_agent_response_message_kwargs.py +0 -0
  116. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/get_table_response.py +0 -0
  117. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/id.py +0 -0
  118. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/image_url_content.py +0 -0
  119. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/input_message.py +0 -0
  120. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/input_message_content_item.py +0 -0
  121. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/paginated_assets_out.py +0 -0
  122. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/prompt_message.py +0 -0
  123. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/public_asset_out.py +0 -0
  124. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/research_agent_response.py +0 -0
  125. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/save_asset_request_out.py +0 -0
  126. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/sheet_operation_response.py +0 -0
  127. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/sql_agent_response.py +0 -0
  128. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/structured_data_extractor_response.py +0 -0
  129. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/text_content.py +0 -0
  130. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/thread_status_response_out.py +0 -0
  131. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/types/type.py +0 -0
  132. {athena_intelligence-0.1.216 → athena_intelligence-0.1.218}/src/athena/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: athena-intelligence
3
- Version: 0.1.216
3
+ Version: 0.1.218
4
4
  Summary: Athena Intelligence Python Library
5
5
  Requires-Python: >=3.9,<4.0
6
6
  Classifier: Intended Audience :: Developers
@@ -3,7 +3,7 @@ name = "athena-intelligence"
3
3
 
4
4
  [tool.poetry]
5
5
  name = "athena-intelligence"
6
- version = "0.1.216"
6
+ version = "0.1.218"
7
7
  description = "Athena Intelligence Python Library"
8
8
  readme = "README.md"
9
9
  authors = []
@@ -18,6 +18,8 @@ from .types import (
18
18
  ChunkResultChunkId,
19
19
  Content,
20
20
  ConversationAssetInfo,
21
+ ConversationMessage,
22
+ ConversationResult,
21
23
  CreateNewSheetTabResponse,
22
24
  CustomAgentResponse,
23
25
  DataFrameRequestOut,
@@ -92,6 +94,8 @@ __all__ = [
92
94
  "Content",
93
95
  "ContentTooLargeError",
94
96
  "ConversationAssetInfo",
97
+ "ConversationMessage",
98
+ "ConversationResult",
95
99
  "CreateNewSheetTabResponse",
96
100
  "CustomAgentResponse",
97
101
  "DataFrameRequestOut",
@@ -22,10 +22,10 @@ class BaseClientWrapper:
22
22
 
23
23
  def get_headers(self) -> typing.Dict[str, str]:
24
24
  headers: typing.Dict[str, str] = {
25
- "User-Agent": "athena-intelligence/0.1.216",
25
+ "User-Agent": "athena-intelligence/0.1.218",
26
26
  "X-Fern-Language": "Python",
27
27
  "X-Fern-SDK-Name": "athena-intelligence",
28
- "X-Fern-SDK-Version": "0.1.216",
28
+ "X-Fern-SDK-Version": "0.1.218",
29
29
  **(self.get_custom_headers() or {}),
30
30
  }
31
31
  headers["X-API-KEY"] = self.api_key
@@ -15,6 +15,8 @@ from .chunk_result import ChunkResult
15
15
  from .chunk_result_chunk_id import ChunkResultChunkId
16
16
  from .content import Content
17
17
  from .conversation_asset_info import ConversationAssetInfo
18
+ from .conversation_message import ConversationMessage
19
+ from .conversation_result import ConversationResult
18
20
  from .create_new_sheet_tab_response import CreateNewSheetTabResponse
19
21
  from .custom_agent_response import CustomAgentResponse
20
22
  from .data_frame_request_out import DataFrameRequestOut
@@ -70,6 +72,8 @@ __all__ = [
70
72
  "ChunkResultChunkId",
71
73
  "Content",
72
74
  "ConversationAssetInfo",
75
+ "ConversationMessage",
76
+ "ConversationResult",
73
77
  "CreateNewSheetTabResponse",
74
78
  "CustomAgentResponse",
75
79
  "DataFrameRequestOut",
@@ -4,6 +4,7 @@ import typing
4
4
 
5
5
  import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .conversation_result import ConversationResult
7
8
 
8
9
 
9
10
  class AopExecuteResponseOut(UniversalBaseModel):
@@ -31,6 +32,11 @@ class AopExecuteResponseOut(UniversalBaseModel):
31
32
  Base prompt of the AOP before user inputs were added
32
33
  """
33
34
 
35
+ conversation: ConversationResult = pydantic.Field()
36
+ """
37
+ The conversation result from the AOP execution
38
+ """
39
+
34
40
  enabled_tools: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
35
41
  """
36
42
  List of tools that were enabled for this execution
@@ -41,11 +47,6 @@ class AopExecuteResponseOut(UniversalBaseModel):
41
47
  Final prompt used for execution including user inputs
42
48
  """
43
49
 
44
- response: typing.Dict[str, typing.Optional[typing.Any]] = pydantic.Field()
45
- """
46
- The execution response from the AOP
47
- """
48
-
49
50
  status: str = pydantic.Field()
50
51
  """
51
52
  Status of the execution (e.g., 'submitted')
@@ -60,6 +60,11 @@ class ConversationAssetInfo(UniversalBaseModel):
60
60
  List of linked project assets
61
61
  """
62
62
 
63
+ messages: typing.Optional[typing.List[typing.Dict[str, typing.Optional[typing.Any]]]] = pydantic.Field(default=None)
64
+ """
65
+ Complete list of messages in the conversation from checkpoints
66
+ """
67
+
63
68
  model: typing.Optional[str] = pydantic.Field(default=None)
64
69
  """
65
70
  Model used in conversation
@@ -0,0 +1,41 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+
8
+
9
+ class ConversationMessage(UniversalBaseModel):
10
+ """
11
+ Model representing a single message in the conversation.
12
+ """
13
+
14
+ additional_kwargs: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
15
+ """
16
+ Additional message metadata
17
+ """
18
+
19
+ content: str = pydantic.Field()
20
+ """
21
+ Content of the message
22
+ """
23
+
24
+ id: str = pydantic.Field()
25
+ """
26
+ Unique identifier for the message
27
+ """
28
+
29
+ role: str = pydantic.Field()
30
+ """
31
+ Role of the message sender (e.g., 'user', 'assistant')
32
+ """
33
+
34
+ if IS_PYDANTIC_V2:
35
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
36
+ else:
37
+
38
+ class Config:
39
+ frozen = True
40
+ smart_union = True
41
+ extra = pydantic.Extra.allow
@@ -0,0 +1,67 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .conversation_message import ConversationMessage
8
+
9
+
10
+ class ConversationResult(UniversalBaseModel):
11
+ """
12
+ Model representing the conversation result from AOP execution.
13
+ """
14
+
15
+ conversation_id: typing.Optional[str] = pydantic.Field(default=None)
16
+ """
17
+ ID of the conversation asset
18
+ """
19
+
20
+ created_at: typing.Optional[str] = pydantic.Field(default=None)
21
+ """
22
+ ISO timestamp when conversation was created
23
+ """
24
+
25
+ last_assistant_message: typing.Optional[ConversationMessage] = pydantic.Field(default=None)
26
+ """
27
+ The last message from the assistant
28
+ """
29
+
30
+ messages: typing.List[ConversationMessage] = pydantic.Field()
31
+ """
32
+ Complete list of messages in the conversation
33
+ """
34
+
35
+ messages_source: str = pydantic.Field()
36
+ """
37
+ Source of the messages (e.g., 'checkpoints')
38
+ """
39
+
40
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
41
+ """
42
+ Additional conversation metadata
43
+ """
44
+
45
+ num_messages: int = pydantic.Field()
46
+ """
47
+ Total number of messages in the conversation
48
+ """
49
+
50
+ title: typing.Optional[str] = pydantic.Field(default=None)
51
+ """
52
+ Title of the conversation
53
+ """
54
+
55
+ updated_at: typing.Optional[str] = pydantic.Field(default=None)
56
+ """
57
+ ISO timestamp when conversation was last updated
58
+ """
59
+
60
+ if IS_PYDANTIC_V2:
61
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
62
+ else:
63
+
64
+ class Config:
65
+ frozen = True
66
+ smart_union = True
67
+ extra = pydantic.Extra.allow