athena-intelligence 0.1.217__tar.gz → 0.1.219__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.217 → athena_intelligence-0.1.219}/PKG-INFO +1 -1
  2. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/pyproject.toml +1 -1
  3. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/__init__.py +4 -0
  4. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/core/client_wrapper.py +2 -2
  5. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/__init__.py +4 -0
  6. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/aop_execute_response_out.py +6 -5
  7. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/conversation_asset_info.py +4 -3
  8. athena_intelligence-0.1.219/src/athena/types/conversation_message.py +42 -0
  9. athena_intelligence-0.1.219/src/athena/types/conversation_result.py +67 -0
  10. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/README.md +0 -0
  11. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/agents/__init__.py +0 -0
  12. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/agents/client.py +0 -0
  13. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/agents/drive/__init__.py +0 -0
  14. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/agents/drive/client.py +0 -0
  15. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/agents/drive/raw_client.py +0 -0
  16. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/agents/general/__init__.py +0 -0
  17. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/agents/general/client.py +0 -0
  18. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/agents/general/raw_client.py +0 -0
  19. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/agents/raw_client.py +0 -0
  20. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/agents/research/__init__.py +0 -0
  21. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/agents/research/client.py +0 -0
  22. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/agents/research/raw_client.py +0 -0
  23. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/agents/sql/__init__.py +0 -0
  24. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/agents/sql/client.py +0 -0
  25. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/agents/sql/raw_client.py +0 -0
  26. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/aop/__init__.py +0 -0
  27. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/aop/client.py +0 -0
  28. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/aop/raw_client.py +0 -0
  29. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/assets/__init__.py +0 -0
  30. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/assets/client.py +0 -0
  31. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/assets/raw_client.py +0 -0
  32. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/base_client.py +0 -0
  33. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/client.py +0 -0
  34. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/core/__init__.py +0 -0
  35. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/core/api_error.py +0 -0
  36. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/core/datetime_utils.py +0 -0
  37. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/core/file.py +0 -0
  38. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/core/force_multipart.py +0 -0
  39. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/core/http_client.py +0 -0
  40. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/core/http_response.py +0 -0
  41. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/core/jsonable_encoder.py +0 -0
  42. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/core/pydantic_utilities.py +0 -0
  43. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/core/query_encoder.py +0 -0
  44. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/core/remove_none_from_dict.py +0 -0
  45. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/core/request_options.py +0 -0
  46. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/core/serialization.py +0 -0
  47. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/environment.py +0 -0
  48. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/errors/__init__.py +0 -0
  49. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/errors/bad_request_error.py +0 -0
  50. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/errors/content_too_large_error.py +0 -0
  51. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/errors/internal_server_error.py +0 -0
  52. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/errors/not_found_error.py +0 -0
  53. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/errors/unauthorized_error.py +0 -0
  54. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/errors/unprocessable_entity_error.py +0 -0
  55. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/errors/unsupported_media_type_error.py +0 -0
  56. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/py.typed +0 -0
  57. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/query/__init__.py +0 -0
  58. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/query/client.py +0 -0
  59. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/query/raw_client.py +0 -0
  60. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/query/types/__init__.py +0 -0
  61. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/query/types/query_execute_request_database_asset_ids.py +0 -0
  62. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/threads/__init__.py +0 -0
  63. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/threads/client.py +0 -0
  64. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/threads/raw_client.py +0 -0
  65. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/tools/__init__.py +0 -0
  66. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/tools/calendar/__init__.py +0 -0
  67. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/tools/calendar/client.py +0 -0
  68. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/tools/calendar/raw_client.py +0 -0
  69. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/tools/client.py +0 -0
  70. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/tools/email/__init__.py +0 -0
  71. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/tools/email/client.py +0 -0
  72. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/tools/email/raw_client.py +0 -0
  73. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/tools/raw_client.py +0 -0
  74. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/tools/sheets/__init__.py +0 -0
  75. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/tools/sheets/client.py +0 -0
  76. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/tools/sheets/raw_client.py +0 -0
  77. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/tools/sheets/types/__init__.py +0 -0
  78. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/tools/sheets/types/insert_table_row_request_row_data_item_value.py +0 -0
  79. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/tools/structured_data_extractor/__init__.py +0 -0
  80. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/tools/structured_data_extractor/client.py +0 -0
  81. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/tools/structured_data_extractor/raw_client.py +0 -0
  82. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/tools/tasks/__init__.py +0 -0
  83. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/tools/tasks/client.py +0 -0
  84. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/tools/tasks/raw_client.py +0 -0
  85. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/tools/types/__init__.py +0 -0
  86. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/tools/types/tools_data_frame_request_columns_item.py +0 -0
  87. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/aop_async_execute_response_out.py +0 -0
  88. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/aop_execute_request_in.py +0 -0
  89. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/asset_content_request_out.py +0 -0
  90. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/asset_node.py +0 -0
  91. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/asset_not_found_error.py +0 -0
  92. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/asset_screenshot_response_out.py +0 -0
  93. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/chunk.py +0 -0
  94. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/chunk_content_item.py +0 -0
  95. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/chunk_result.py +0 -0
  96. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/chunk_result_chunk_id.py +0 -0
  97. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/content.py +0 -0
  98. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/create_new_sheet_tab_response.py +0 -0
  99. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/custom_agent_response.py +0 -0
  100. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/data_frame_request_out.py +0 -0
  101. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/data_frame_request_out_columns_item.py +0 -0
  102. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/data_frame_request_out_data_item_item.py +0 -0
  103. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/data_frame_request_out_index_item.py +0 -0
  104. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/data_frame_unknown_format_error.py +0 -0
  105. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/document_chunk.py +0 -0
  106. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/drive_agent_response.py +0 -0
  107. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/file_chunk_request_out.py +0 -0
  108. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/file_too_large_error.py +0 -0
  109. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/folder_response.py +0 -0
  110. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/general_agent_config.py +0 -0
  111. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/general_agent_config_enabled_tools_item.py +0 -0
  112. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/general_agent_request.py +0 -0
  113. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/general_agent_response.py +0 -0
  114. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/general_agent_response_message.py +0 -0
  115. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/general_agent_response_message_kwargs.py +0 -0
  116. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/get_table_response.py +0 -0
  117. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/id.py +0 -0
  118. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/image_url_content.py +0 -0
  119. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/input_message.py +0 -0
  120. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/input_message_content_item.py +0 -0
  121. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/paginated_assets_out.py +0 -0
  122. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/prompt_message.py +0 -0
  123. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/public_asset_out.py +0 -0
  124. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/research_agent_response.py +0 -0
  125. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/save_asset_request_out.py +0 -0
  126. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/sheet_operation_response.py +0 -0
  127. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/sql_agent_response.py +0 -0
  128. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/structured_data_extractor_response.py +0 -0
  129. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/text_content.py +0 -0
  130. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/thread_status_response_out.py +0 -0
  131. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/src/athena/types/type.py +0 -0
  132. {athena_intelligence-0.1.217 → athena_intelligence-0.1.219}/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.217
3
+ Version: 0.1.219
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.217"
6
+ version = "0.1.219"
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.217",
25
+ "User-Agent": "athena-intelligence/0.1.219",
26
26
  "X-Fern-Language": "Python",
27
27
  "X-Fern-SDK-Name": "athena-intelligence",
28
- "X-Fern-SDK-Version": "0.1.217",
28
+ "X-Fern-SDK-Version": "0.1.219",
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')
@@ -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_message import ConversationMessage
7
8
 
8
9
 
9
10
  class ConversationAssetInfo(UniversalBaseModel):
@@ -41,9 +42,9 @@ class ConversationAssetInfo(UniversalBaseModel):
41
42
  Last active channel for the conversation
42
43
  """
43
44
 
44
- last_message: typing.Optional[str] = pydantic.Field(default=None)
45
+ last_message: typing.Optional[ConversationMessage] = pydantic.Field(default=None)
45
46
  """
46
- Last message content
47
+ Last message in the conversation
47
48
  """
48
49
 
49
50
  linked_aops: typing.Optional[typing.List[typing.Dict[str, typing.Optional[typing.Any]]]] = pydantic.Field(
@@ -60,7 +61,7 @@ class ConversationAssetInfo(UniversalBaseModel):
60
61
  List of linked project assets
61
62
  """
62
63
 
63
- messages: typing.Optional[typing.List[typing.Dict[str, typing.Optional[typing.Any]]]] = pydantic.Field(default=None)
64
+ messages: typing.Optional[typing.List[ConversationMessage]] = pydantic.Field(default=None)
64
65
  """
65
66
  Complete list of messages in the conversation from checkpoints
66
67
  """
@@ -0,0 +1,42 @@
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 .content import Content
8
+
9
+
10
+ class ConversationMessage(UniversalBaseModel):
11
+ """
12
+ Model representing a single message in the conversation.
13
+ """
14
+
15
+ additional_kwargs: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
16
+ """
17
+ Additional message metadata
18
+ """
19
+
20
+ content: Content = pydantic.Field()
21
+ """
22
+ Content of the message - either a string or multimodal content parts
23
+ """
24
+
25
+ id: str = pydantic.Field()
26
+ """
27
+ Unique identifier for the message
28
+ """
29
+
30
+ role: str = pydantic.Field()
31
+ """
32
+ Role of the message sender (e.g., 'user', 'assistant')
33
+ """
34
+
35
+ if IS_PYDANTIC_V2:
36
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
37
+ else:
38
+
39
+ class Config:
40
+ frozen = True
41
+ smart_union = True
42
+ 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