athena-intelligence 0.1.119__py3-none-any.whl → 0.1.120__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.
Files changed (40) hide show
  1. athena/__init__.py +32 -8
  2. athena/agents/__init__.py +2 -2
  3. athena/agents/client.py +156 -6
  4. athena/agents/drive/client.py +134 -0
  5. athena/agents/{athena_assistant → general}/client.py +142 -98
  6. athena/agents/research/__init__.py +2 -0
  7. athena/agents/research/client.py +134 -0
  8. athena/agents/sql/__init__.py +2 -0
  9. athena/agents/sql/client.py +134 -0
  10. athena/core/client_wrapper.py +1 -1
  11. athena/tools/__init__.py +2 -1
  12. athena/tools/calendar/__init__.py +2 -0
  13. athena/tools/calendar/client.py +155 -0
  14. athena/tools/client.py +12 -0
  15. athena/tools/email/__init__.py +2 -0
  16. athena/tools/email/client.py +223 -0
  17. athena/tools/structured_data_extractor/__init__.py +2 -0
  18. athena/{agents → tools}/structured_data_extractor/client.py +6 -6
  19. athena/tools/tasks/__init__.py +2 -0
  20. athena/tools/tasks/client.py +87 -0
  21. athena/types/__init__.py +36 -8
  22. athena/types/custom_agent_response.py +32 -0
  23. athena/types/drive_agent_response.py +32 -0
  24. athena/types/{athena_assistant_config.py → general_agent_config.py} +4 -4
  25. athena/types/{athena_assistant_config_enabled_tools_item.py → general_agent_config_enabled_tools_item.py} +1 -1
  26. athena/types/general_agent_request.py +39 -0
  27. athena/types/general_agent_request_messages_item.py +32 -0
  28. athena/types/general_agent_request_messages_item_content.py +7 -0
  29. athena/types/general_agent_request_messages_item_content_item.py +60 -0
  30. athena/types/general_agent_request_messages_item_content_item_image_url.py +29 -0
  31. athena/types/general_agent_request_messages_item_content_item_text.py +29 -0
  32. athena/types/general_agent_request_messages_item_type.py +25 -0
  33. athena/types/{athena_assistant_reponse.py → general_agent_response.py} +2 -2
  34. athena/types/research_agent_response.py +32 -0
  35. athena/types/{athena_assistant_request.py → sql_agent_response.py} +5 -6
  36. {athena_intelligence-0.1.119.dist-info → athena_intelligence-0.1.120.dist-info}/METADATA +1 -1
  37. {athena_intelligence-0.1.119.dist-info → athena_intelligence-0.1.120.dist-info}/RECORD +40 -18
  38. /athena/agents/{athena_assistant → drive}/__init__.py +0 -0
  39. /athena/agents/{structured_data_extractor → general}/__init__.py +0 -0
  40. {athena_intelligence-0.1.119.dist-info → athena_intelligence-0.1.120.dist-info}/WHEEL +0 -0
@@ -0,0 +1,87 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+ from json.decoder import JSONDecodeError
5
+
6
+ from ...core.api_error import ApiError
7
+ from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
8
+ from ...core.pydantic_utilities import pydantic_v1
9
+ from ...core.request_options import RequestOptions
10
+
11
+
12
+ class TasksClient:
13
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
14
+ self._client_wrapper = client_wrapper
15
+
16
+ def run_task(self, *, request_options: typing.Optional[RequestOptions] = None) -> typing.Any:
17
+ """
18
+ Coming soon! Run a [task](https://resources.athenaintel.com/docs/task-studio/home).
19
+
20
+ Parameters
21
+ ----------
22
+ request_options : typing.Optional[RequestOptions]
23
+ Request-specific configuration.
24
+
25
+ Returns
26
+ -------
27
+ typing.Any
28
+ Successful Response
29
+
30
+ Examples
31
+ --------
32
+ from athena.client import Athena
33
+
34
+ client = Athena(
35
+ api_key="YOUR_API_KEY",
36
+ )
37
+ client.tools.tasks.run_task()
38
+ """
39
+ _response = self._client_wrapper.httpx_client.request(
40
+ "api/v0/tools/tasks/run", method="POST", request_options=request_options
41
+ )
42
+ if 200 <= _response.status_code < 300:
43
+ return pydantic_v1.parse_obj_as(typing.Any, _response.json()) # type: ignore
44
+ try:
45
+ _response_json = _response.json()
46
+ except JSONDecodeError:
47
+ raise ApiError(status_code=_response.status_code, body=_response.text)
48
+ raise ApiError(status_code=_response.status_code, body=_response_json)
49
+
50
+
51
+ class AsyncTasksClient:
52
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
53
+ self._client_wrapper = client_wrapper
54
+
55
+ async def run_task(self, *, request_options: typing.Optional[RequestOptions] = None) -> typing.Any:
56
+ """
57
+ Coming soon! Run a [task](https://resources.athenaintel.com/docs/task-studio/home).
58
+
59
+ Parameters
60
+ ----------
61
+ request_options : typing.Optional[RequestOptions]
62
+ Request-specific configuration.
63
+
64
+ Returns
65
+ -------
66
+ typing.Any
67
+ Successful Response
68
+
69
+ Examples
70
+ --------
71
+ from athena.client import AsyncAthena
72
+
73
+ client = AsyncAthena(
74
+ api_key="YOUR_API_KEY",
75
+ )
76
+ await client.tools.tasks.run_task()
77
+ """
78
+ _response = await self._client_wrapper.httpx_client.request(
79
+ "api/v0/tools/tasks/run", method="POST", request_options=request_options
80
+ )
81
+ if 200 <= _response.status_code < 300:
82
+ return pydantic_v1.parse_obj_as(typing.Any, _response.json()) # type: ignore
83
+ try:
84
+ _response_json = _response.json()
85
+ except JSONDecodeError:
86
+ raise ApiError(status_code=_response.status_code, body=_response.text)
87
+ raise ApiError(status_code=_response.status_code, body=_response_json)
athena/types/__init__.py CHANGED
@@ -1,39 +1,67 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
3
  from .asset_not_found_error import AssetNotFoundError
4
- from .athena_assistant_config import AthenaAssistantConfig
5
- from .athena_assistant_config_enabled_tools_item import AthenaAssistantConfigEnabledToolsItem
6
- from .athena_assistant_reponse import AthenaAssistantReponse
7
- from .athena_assistant_request import AthenaAssistantRequest
4
+ from .custom_agent_response import CustomAgentResponse
8
5
  from .data_frame_request_out import DataFrameRequestOut
9
6
  from .data_frame_request_out_columns_item import DataFrameRequestOutColumnsItem
10
7
  from .data_frame_request_out_data_item_item import DataFrameRequestOutDataItemItem
11
8
  from .data_frame_request_out_index_item import DataFrameRequestOutIndexItem
12
9
  from .data_frame_unknown_format_error import DataFrameUnknownFormatError
13
10
  from .document_chunk import DocumentChunk
11
+ from .drive_agent_response import DriveAgentResponse
14
12
  from .file_chunk_request_out import FileChunkRequestOut
15
13
  from .file_too_large_error import FileTooLargeError
14
+ from .general_agent_config import GeneralAgentConfig
15
+ from .general_agent_config_enabled_tools_item import GeneralAgentConfigEnabledToolsItem
16
+ from .general_agent_request import GeneralAgentRequest
17
+ from .general_agent_request_messages_item import GeneralAgentRequestMessagesItem
18
+ from .general_agent_request_messages_item_content import GeneralAgentRequestMessagesItemContent
19
+ from .general_agent_request_messages_item_content_item import (
20
+ GeneralAgentRequestMessagesItemContentItem,
21
+ GeneralAgentRequestMessagesItemContentItem_ImageUrl,
22
+ GeneralAgentRequestMessagesItemContentItem_Text,
23
+ )
24
+ from .general_agent_request_messages_item_content_item_image_url import (
25
+ GeneralAgentRequestMessagesItemContentItemImageUrl,
26
+ )
27
+ from .general_agent_request_messages_item_content_item_text import GeneralAgentRequestMessagesItemContentItemText
28
+ from .general_agent_request_messages_item_type import GeneralAgentRequestMessagesItemType
29
+ from .general_agent_response import GeneralAgentResponse
16
30
  from .parent_folder_error import ParentFolderError
31
+ from .research_agent_response import ResearchAgentResponse
17
32
  from .save_asset_request_out import SaveAssetRequestOut
33
+ from .sql_agent_response import SqlAgentResponse
18
34
  from .structured_data_extractor_reponse import StructuredDataExtractorReponse
19
35
  from .tool import Tool
20
36
 
21
37
  __all__ = [
22
38
  "AssetNotFoundError",
23
- "AthenaAssistantConfig",
24
- "AthenaAssistantConfigEnabledToolsItem",
25
- "AthenaAssistantReponse",
26
- "AthenaAssistantRequest",
39
+ "CustomAgentResponse",
27
40
  "DataFrameRequestOut",
28
41
  "DataFrameRequestOutColumnsItem",
29
42
  "DataFrameRequestOutDataItemItem",
30
43
  "DataFrameRequestOutIndexItem",
31
44
  "DataFrameUnknownFormatError",
32
45
  "DocumentChunk",
46
+ "DriveAgentResponse",
33
47
  "FileChunkRequestOut",
34
48
  "FileTooLargeError",
49
+ "GeneralAgentConfig",
50
+ "GeneralAgentConfigEnabledToolsItem",
51
+ "GeneralAgentRequest",
52
+ "GeneralAgentRequestMessagesItem",
53
+ "GeneralAgentRequestMessagesItemContent",
54
+ "GeneralAgentRequestMessagesItemContentItem",
55
+ "GeneralAgentRequestMessagesItemContentItemImageUrl",
56
+ "GeneralAgentRequestMessagesItemContentItemText",
57
+ "GeneralAgentRequestMessagesItemContentItem_ImageUrl",
58
+ "GeneralAgentRequestMessagesItemContentItem_Text",
59
+ "GeneralAgentRequestMessagesItemType",
60
+ "GeneralAgentResponse",
35
61
  "ParentFolderError",
62
+ "ResearchAgentResponse",
36
63
  "SaveAssetRequestOut",
64
+ "SqlAgentResponse",
37
65
  "StructuredDataExtractorReponse",
38
66
  "Tool",
39
67
  ]
@@ -0,0 +1,32 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import datetime as dt
4
+ import typing
5
+
6
+ from ..core.datetime_utils import serialize_datetime
7
+ from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
8
+
9
+
10
+ class CustomAgentResponse(pydantic_v1.BaseModel):
11
+ result: typing.Dict[str, typing.Any] = pydantic_v1.Field()
12
+ """
13
+ The agent's response. Format depends on the specific agent implementation.
14
+ """
15
+
16
+ def json(self, **kwargs: typing.Any) -> str:
17
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
18
+ return super().json(**kwargs_with_defaults)
19
+
20
+ def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
21
+ kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
22
+ kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
23
+
24
+ return deep_union_pydantic_dicts(
25
+ super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
26
+ )
27
+
28
+ class Config:
29
+ frozen = True
30
+ smart_union = True
31
+ extra = pydantic_v1.Extra.allow
32
+ json_encoders = {dt.datetime: serialize_datetime}
@@ -0,0 +1,32 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import datetime as dt
4
+ import typing
5
+
6
+ from ..core.datetime_utils import serialize_datetime
7
+ from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
8
+
9
+
10
+ class DriveAgentResponse(pydantic_v1.BaseModel):
11
+ result: typing.Dict[str, typing.Any] = pydantic_v1.Field()
12
+ """
13
+ Results of the drive operation
14
+ """
15
+
16
+ def json(self, **kwargs: typing.Any) -> str:
17
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
18
+ return super().json(**kwargs_with_defaults)
19
+
20
+ def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
21
+ kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
22
+ kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
23
+
24
+ return deep_union_pydantic_dicts(
25
+ super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
26
+ )
27
+
28
+ class Config:
29
+ frozen = True
30
+ smart_union = True
31
+ extra = pydantic_v1.Extra.allow
32
+ json_encoders = {dt.datetime: serialize_datetime}
@@ -5,15 +5,15 @@ import typing
5
5
 
6
6
  from ..core.datetime_utils import serialize_datetime
7
7
  from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
8
- from .athena_assistant_config_enabled_tools_item import AthenaAssistantConfigEnabledToolsItem
8
+ from .general_agent_config_enabled_tools_item import GeneralAgentConfigEnabledToolsItem
9
9
 
10
10
 
11
- class AthenaAssistantConfig(pydantic_v1.BaseModel):
11
+ class GeneralAgentConfig(pydantic_v1.BaseModel):
12
12
  """
13
- Configurable fields for the general agent.
13
+ Configurable fields for the agent.
14
14
  """
15
15
 
16
- enabled_tools: typing.Optional[typing.List[AthenaAssistantConfigEnabledToolsItem]] = None
16
+ enabled_tools: typing.Optional[typing.List[GeneralAgentConfigEnabledToolsItem]] = None
17
17
  knowledge_base_asset_ids: typing.Optional[typing.List[str]] = None
18
18
  system_prompt: typing.Optional[str] = None
19
19
 
@@ -4,4 +4,4 @@ import typing
4
4
 
5
5
  from .tool import Tool
6
6
 
7
- AthenaAssistantConfigEnabledToolsItem = typing.Union[Tool, str]
7
+ GeneralAgentConfigEnabledToolsItem = typing.Union[Tool, str]
@@ -0,0 +1,39 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import datetime as dt
4
+ import typing
5
+
6
+ from ..core.datetime_utils import serialize_datetime
7
+ from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
8
+ from .general_agent_config import GeneralAgentConfig
9
+ from .general_agent_request_messages_item import GeneralAgentRequestMessagesItem
10
+
11
+
12
+ class GeneralAgentRequest(pydantic_v1.BaseModel):
13
+ """
14
+ A chat request for the Athena SDK.
15
+ """
16
+
17
+ config: GeneralAgentConfig
18
+ messages: typing.List[GeneralAgentRequestMessagesItem] = pydantic_v1.Field()
19
+ """
20
+ The messages to send to the agent. Each message should be a string (for text inputs) or a list of multimodal content parts.
21
+ """
22
+
23
+ def json(self, **kwargs: typing.Any) -> str:
24
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
25
+ return super().json(**kwargs_with_defaults)
26
+
27
+ def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
28
+ kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
29
+ kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
30
+
31
+ return deep_union_pydantic_dicts(
32
+ super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
33
+ )
34
+
35
+ class Config:
36
+ frozen = True
37
+ smart_union = True
38
+ extra = pydantic_v1.Extra.allow
39
+ json_encoders = {dt.datetime: serialize_datetime}
@@ -0,0 +1,32 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import datetime as dt
4
+ import typing
5
+
6
+ from ..core.datetime_utils import serialize_datetime
7
+ from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
8
+ from .general_agent_request_messages_item_content import GeneralAgentRequestMessagesItemContent
9
+ from .general_agent_request_messages_item_type import GeneralAgentRequestMessagesItemType
10
+
11
+
12
+ class GeneralAgentRequestMessagesItem(pydantic_v1.BaseModel):
13
+ content: GeneralAgentRequestMessagesItemContent
14
+ type: GeneralAgentRequestMessagesItemType
15
+
16
+ def json(self, **kwargs: typing.Any) -> str:
17
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
18
+ return super().json(**kwargs_with_defaults)
19
+
20
+ def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
21
+ kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
22
+ kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
23
+
24
+ return deep_union_pydantic_dicts(
25
+ super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
26
+ )
27
+
28
+ class Config:
29
+ frozen = True
30
+ smart_union = True
31
+ extra = pydantic_v1.Extra.allow
32
+ json_encoders = {dt.datetime: serialize_datetime}
@@ -0,0 +1,7 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ from .general_agent_request_messages_item_content_item import GeneralAgentRequestMessagesItemContentItem
6
+
7
+ GeneralAgentRequestMessagesItemContent = typing.Union[str, typing.List[GeneralAgentRequestMessagesItemContentItem]]
@@ -0,0 +1,60 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from __future__ import annotations
4
+
5
+ import datetime as dt
6
+ import typing
7
+
8
+ from ..core.datetime_utils import serialize_datetime
9
+ from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
10
+
11
+
12
+ class GeneralAgentRequestMessagesItemContentItem_Text(pydantic_v1.BaseModel):
13
+ text: str
14
+ type: typing.Literal["text"] = "text"
15
+
16
+ def json(self, **kwargs: typing.Any) -> str:
17
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
18
+ return super().json(**kwargs_with_defaults)
19
+
20
+ def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
21
+ kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
22
+ kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
23
+
24
+ return deep_union_pydantic_dicts(
25
+ super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
26
+ )
27
+
28
+ class Config:
29
+ frozen = True
30
+ smart_union = True
31
+ extra = pydantic_v1.Extra.allow
32
+ json_encoders = {dt.datetime: serialize_datetime}
33
+
34
+
35
+ class GeneralAgentRequestMessagesItemContentItem_ImageUrl(pydantic_v1.BaseModel):
36
+ image_url: typing.Dict[str, str]
37
+ type: typing.Literal["image_url"] = "image_url"
38
+
39
+ def json(self, **kwargs: typing.Any) -> str:
40
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
41
+ return super().json(**kwargs_with_defaults)
42
+
43
+ def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
44
+ kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
45
+ kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
46
+
47
+ return deep_union_pydantic_dicts(
48
+ super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
49
+ )
50
+
51
+ class Config:
52
+ frozen = True
53
+ smart_union = True
54
+ extra = pydantic_v1.Extra.allow
55
+ json_encoders = {dt.datetime: serialize_datetime}
56
+
57
+
58
+ GeneralAgentRequestMessagesItemContentItem = typing.Union[
59
+ GeneralAgentRequestMessagesItemContentItem_Text, GeneralAgentRequestMessagesItemContentItem_ImageUrl
60
+ ]
@@ -0,0 +1,29 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import datetime as dt
4
+ import typing
5
+
6
+ from ..core.datetime_utils import serialize_datetime
7
+ from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
8
+
9
+
10
+ class GeneralAgentRequestMessagesItemContentItemImageUrl(pydantic_v1.BaseModel):
11
+ image_url: typing.Dict[str, str]
12
+
13
+ def json(self, **kwargs: typing.Any) -> str:
14
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
15
+ return super().json(**kwargs_with_defaults)
16
+
17
+ def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
18
+ kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
19
+ kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
20
+
21
+ return deep_union_pydantic_dicts(
22
+ super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
23
+ )
24
+
25
+ class Config:
26
+ frozen = True
27
+ smart_union = True
28
+ extra = pydantic_v1.Extra.allow
29
+ json_encoders = {dt.datetime: serialize_datetime}
@@ -0,0 +1,29 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import datetime as dt
4
+ import typing
5
+
6
+ from ..core.datetime_utils import serialize_datetime
7
+ from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
8
+
9
+
10
+ class GeneralAgentRequestMessagesItemContentItemText(pydantic_v1.BaseModel):
11
+ text: str
12
+
13
+ def json(self, **kwargs: typing.Any) -> str:
14
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
15
+ return super().json(**kwargs_with_defaults)
16
+
17
+ def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
18
+ kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
19
+ kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
20
+
21
+ return deep_union_pydantic_dicts(
22
+ super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
23
+ )
24
+
25
+ class Config:
26
+ frozen = True
27
+ smart_union = True
28
+ extra = pydantic_v1.Extra.allow
29
+ json_encoders = {dt.datetime: serialize_datetime}
@@ -0,0 +1,25 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import enum
4
+ import typing
5
+
6
+ T_Result = typing.TypeVar("T_Result")
7
+
8
+
9
+ class GeneralAgentRequestMessagesItemType(str, enum.Enum):
10
+ USER = "user"
11
+ ASSISTANT = "assistant"
12
+ SYSTEM = "system"
13
+
14
+ def visit(
15
+ self,
16
+ user: typing.Callable[[], T_Result],
17
+ assistant: typing.Callable[[], T_Result],
18
+ system: typing.Callable[[], T_Result],
19
+ ) -> T_Result:
20
+ if self is GeneralAgentRequestMessagesItemType.USER:
21
+ return user()
22
+ if self is GeneralAgentRequestMessagesItemType.ASSISTANT:
23
+ return assistant()
24
+ if self is GeneralAgentRequestMessagesItemType.SYSTEM:
25
+ return system()
@@ -7,9 +7,9 @@ from ..core.datetime_utils import serialize_datetime
7
7
  from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
8
8
 
9
9
 
10
- class AthenaAssistantReponse(pydantic_v1.BaseModel):
10
+ class GeneralAgentResponse(pydantic_v1.BaseModel):
11
11
  """
12
- The response from the assistant.
12
+ The response from the agent.
13
13
  """
14
14
 
15
15
  messages: typing.List[typing.Dict[str, typing.Any]]
@@ -0,0 +1,32 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import datetime as dt
4
+ import typing
5
+
6
+ from ..core.datetime_utils import serialize_datetime
7
+ from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
8
+
9
+
10
+ class ResearchAgentResponse(pydantic_v1.BaseModel):
11
+ findings: typing.Dict[str, typing.Any] = pydantic_v1.Field()
12
+ """
13
+ Research findings and compiled information
14
+ """
15
+
16
+ def json(self, **kwargs: typing.Any) -> str:
17
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
18
+ return super().json(**kwargs_with_defaults)
19
+
20
+ def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
21
+ kwargs_with_defaults_exclude_unset: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
22
+ kwargs_with_defaults_exclude_none: typing.Any = {"by_alias": True, "exclude_none": True, **kwargs}
23
+
24
+ return deep_union_pydantic_dicts(
25
+ super().dict(**kwargs_with_defaults_exclude_unset), super().dict(**kwargs_with_defaults_exclude_none)
26
+ )
27
+
28
+ class Config:
29
+ frozen = True
30
+ smart_union = True
31
+ extra = pydantic_v1.Extra.allow
32
+ json_encoders = {dt.datetime: serialize_datetime}
@@ -5,18 +5,17 @@ import typing
5
5
 
6
6
  from ..core.datetime_utils import serialize_datetime
7
7
  from ..core.pydantic_utilities import deep_union_pydantic_dicts, pydantic_v1
8
- from .athena_assistant_config import AthenaAssistantConfig
9
8
 
10
9
 
11
- class AthenaAssistantRequest(pydantic_v1.BaseModel):
10
+ class SqlAgentResponse(pydantic_v1.BaseModel):
11
+ metadata: typing.Dict[str, typing.Any] = pydantic_v1.Field()
12
12
  """
13
- A chat request for the Athena SDK.
13
+ Additional metadata about the generated query
14
14
  """
15
15
 
16
- config: AthenaAssistantConfig
17
- messages: typing.List[typing.Any] = pydantic_v1.Field()
16
+ query_asset_id: str = pydantic_v1.Field()
18
17
  """
19
- The messages to send to the assistant. Each message should be a string (for text inputs) or a list of multimodal content parts.
18
+ The asset ID of the generated SQL query object
20
19
  """
21
20
 
22
21
  def json(self, **kwargs: typing.Any) -> str:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: athena-intelligence
3
- Version: 0.1.119
3
+ Version: 0.1.120
4
4
  Summary: Athena Intelligence Python Library
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Intended Audience :: Developers
@@ -1,15 +1,19 @@
1
- athena/__init__.py,sha256=qe7vfVyUgh4lzmUyzvYArfPNjvyahJyAUaQe8UQJIhw,1862
2
- athena/agents/__init__.py,sha256=0DbSuLxvqIRHKaYvdfLF0ylhq9oJ1uxhiW5h-FSj4Yc,184
3
- athena/agents/athena_assistant/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
4
- athena/agents/athena_assistant/client.py,sha256=izneKMmYkypaTiPcqq3zf7n0XyuV9fQjmtAqKIdZeNs,12444
5
- athena/agents/client.py,sha256=ER9TWMqF-MlsG5L3QVq1PfY-n_5Ns17dEnd9dIjRcNs,1010
6
- athena/agents/structured_data_extractor/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
7
- athena/agents/structured_data_extractor/client.py,sha256=7X-xSDUhfzO8U51Y0tFEzKl_9qYS8PAF_0Rg1FbCj90,6064
1
+ athena/__init__.py,sha256=MACR2vDOM0HwmGVSVhh42Ip3lHd9l8JjRKIo5Aevx5Y,2836
2
+ athena/agents/__init__.py,sha256=I6MO2O_hb6KLa8oDHbGNSAhcPE-dsrX6LMcAEhsg3PQ,160
3
+ athena/agents/client.py,sha256=aI8rNhXBSVJ-hvjnIoCK9sKvHB0e95Zkn-3YpXOKFrY,6721
4
+ athena/agents/drive/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
5
+ athena/agents/drive/client.py,sha256=k--gUzUSi6L5kpmKHi7eX1UnlEq4kG-QI9phAZ5srC0,4727
6
+ athena/agents/general/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
7
+ athena/agents/general/client.py,sha256=y9shUOac8R_pu_yd0V-4cMq68qGSjqTiX8V-igYmQPA,14366
8
+ athena/agents/research/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
9
+ athena/agents/research/client.py,sha256=mo63cUvLw8AC9I29WI4Ym_jOsvRsco1wRqsNp0rtCEc,4745
10
+ athena/agents/sql/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
11
+ athena/agents/sql/client.py,sha256=1r2aT4JLxVCeL0FzEBeHmttwerdRmJOxVHim2_CHkvg,4767
8
12
  athena/base_client.py,sha256=-kVdOlIibBz48lxWratdQAzT7fTvZsORvOMF3KoPDPw,5647
9
13
  athena/client.py,sha256=4PUPrBPCMTFpHR1yuKVR5eC1AYBl_25SMf6ZH82JHB0,19039
10
14
  athena/core/__init__.py,sha256=UFXpYzcGxWQUucU1TkjOQ9mGWN3A5JohluOIWVYKU4I,973
11
15
  athena/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
12
- athena/core/client_wrapper.py,sha256=rAKPSQX1LSvfr5YZWrZIfliuFdTYM1oxCHv3hjCwfRc,1806
16
+ athena/core/client_wrapper.py,sha256=WBlIIwsQ_x87kLK92PgqwXkZgqmn8LFo38pUgumr8xQ,1806
13
17
  athena/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
14
18
  athena/core/file.py,sha256=sy1RUGZ3aJYuw998bZytxxo6QdgKmlnlgBaMvwEKCGg,1480
15
19
  athena/core/http_client.py,sha256=Z4NuAsJD-51yqmoME17O5sxwx5orSp1wsnd6bPyKcgA,17768
@@ -32,29 +36,47 @@ athena/query/__init__.py,sha256=EIeVs3aDVNAqLyWetSrQldzc2yUdJkf_cJXyrLdMDj0,171
32
36
  athena/query/client.py,sha256=GYvBV7YFYjL3gyskeF6C8BJZlLvU7R045gJ5kGiYkvg,9043
33
37
  athena/query/types/__init__.py,sha256=WX-Or2h5NY2sv93ojrZsHcmiFHGYdqd0yxNo-5iGHR4,206
34
38
  athena/query/types/query_execute_request_database_asset_ids.py,sha256=aoVl5Xb34Q27hYGuVTnByGIxtHkL67wAwzXh7eJctew,154
35
- athena/tools/__init__.py,sha256=3n7oOoMebo06MAQqYRE2CX9Q0fTNnKBYE0cTlh1MPkM,165
36
- athena/tools/client.py,sha256=lYzvUj_QW-b3ighcXV29LUo59HpM4V9ACe2cbtoHhHg,20209
39
+ athena/tools/__init__.py,sha256=DREW2sa5Z-Rj8v1LQ-tNhflI-EO_oDc6NCmF5v0LWeU,288
40
+ athena/tools/calendar/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
41
+ athena/tools/calendar/client.py,sha256=hKWzWyl1GwFG69oX3tektwNfy2sV5Lt6PRy9vTyPLOo,5283
42
+ athena/tools/client.py,sha256=9ec2gnf3z_vhr3EqT_-ZksevTDtFP1jftPY4os0Ty3Q,21166
43
+ athena/tools/email/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
44
+ athena/tools/email/client.py,sha256=epUkV5af3eilVgRR81SFZAf29JuhEWKMkdMuN6qDLUM,7593
45
+ athena/tools/structured_data_extractor/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
46
+ athena/tools/structured_data_extractor/client.py,sha256=yEF-wVyRhebkSlb0r_kcvs4P7TZSlfPTwG-GdZAclvQ,6272
47
+ athena/tools/tasks/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
48
+ athena/tools/tasks/client.py,sha256=5kT6ulh2YDIbNYiv-knBjtF-ST7p0dUvZyrd7t5O61s,2975
37
49
  athena/tools/types/__init__.py,sha256=cA-ZQm6veQAP3_vKu9KkZpISsQqgTBN_Z--FGY1c2iA,197
38
50
  athena/tools/types/tools_data_frame_request_columns_item.py,sha256=GA1FUlTV_CfSc-KToTAwFf4Exl0rr4fsweVZupztjw0,138
39
- athena/types/__init__.py,sha256=TmkqEsOHEaNq68rlKbwTphj8YnpJdJvrogdjg9mNVKs,1645
51
+ athena/types/__init__.py,sha256=9BVgfnLmiuBnB0DrTg3y91mBEQ8fAdo3l4hELyoBtzA,3075
40
52
  athena/types/asset_not_found_error.py,sha256=ZcgqRuzvO4Z8vVVxwtDB-QtKhpVIVV3hqQuJeUoOoJE,1121
41
- athena/types/athena_assistant_config.py,sha256=vfzhIaY2T68u44iyJTEvURAGtX77vvyPhm9KA5ys7L4,1477
42
- athena/types/athena_assistant_config_enabled_tools_item.py,sha256=JWS0KbgzoO4lEX0gTyjnePy7oe47i3uXuTT3vl1lE7o,168
43
- athena/types/athena_assistant_reponse.py,sha256=tBYSAmaJ3AtKUvg9lzTHLj1guHKuvVOzBDGvKGzG7fE,1218
44
- athena/types/athena_assistant_request.py,sha256=nFj5n7uBNShFRvkcQPhpu2xJsTx24qA20knmjsE07XI,1465
53
+ athena/types/custom_agent_response.py,sha256=_Vm_fJq4cETtOawBW7p0cvH4Jmle26lHQZ73A8MdLX0,1263
45
54
  athena/types/data_frame_request_out.py,sha256=1CEBe-baDQi0uz_EgMw0TKGYXGj6KV44cL3ViRTZLKM,1669
46
55
  athena/types/data_frame_request_out_columns_item.py,sha256=9cjzciFv6C8n8Griytt_q_8ovkzHViS5tvUcMDfkfKE,143
47
56
  athena/types/data_frame_request_out_data_item_item.py,sha256=KMTJRr-1bdKDNMbUericCliwRoPHLGRV-n2bJtxdRW0,144
48
57
  athena/types/data_frame_request_out_index_item.py,sha256=bW7oe912trpkYKodj-I_AiTXXy61yWzliekcsUZkZE0,141
49
58
  athena/types/data_frame_unknown_format_error.py,sha256=lbgAUArEgIYZt3P5Ji4Clp-xyXnKJR7-v5VzXwKu0J8,1168
50
59
  athena/types/document_chunk.py,sha256=deXiiMA_U5EabUh1Fg2AB4ElYuc5OsTnrU7JwLApJmA,1227
60
+ athena/types/drive_agent_response.py,sha256=UMKF43e5WScH0a9ITuxjwGWzAzvXAl1OsfRVeXSyfjk,1218
51
61
  athena/types/file_chunk_request_out.py,sha256=Ju0I_UpSitjQ-XqSIRvvg2XA6QtfCLZClPq5PUqmPNg,1258
52
62
  athena/types/file_too_large_error.py,sha256=AinkrcgR7lcTILAD8RX0x48P3GlSoAh1OihxMvSvRuo,1120
63
+ athena/types/general_agent_config.py,sha256=FaswWVsDTsL5Fs9Tlx4zSK1S8OrsFnzruEt7l72XlGA,1457
64
+ athena/types/general_agent_config_enabled_tools_item.py,sha256=6gYaU7uIDJbgygtBKLdYL-VbPxxbEcxwRsT8VaW5vN8,165
65
+ athena/types/general_agent_request.py,sha256=9HEZZFKJZsmqBRKb_-EawJ0H_AZ22Tl9apLjMCuAB34,1551
66
+ athena/types/general_agent_request_messages_item.py,sha256=4sFvUZ3YeR5ce7R7EKRSz6RHjq0CWQk7Jip7_9t2t7Y,1401
67
+ athena/types/general_agent_request_messages_item_content.py,sha256=kG1NX_QA_o-HEQPDVxI6-h9xkrfTyKfMqZ2bE7ipnTw,302
68
+ athena/types/general_agent_request_messages_item_content_item.py,sha256=U_g0R0bAxdKhdUmlThA9BH8vKq2qTJ1FmtL_iQQtRrk,2387
69
+ athena/types/general_agent_request_messages_item_content_item_image_url.py,sha256=JNdVoLBMzm6gl_OOFajseZIAzu5_tLms76UL1e7WRTk,1173
70
+ athena/types/general_agent_request_messages_item_content_item_text.py,sha256=GfSBWQ7igY3uQlsBHKmVlHXBrcSP1rVScTDPy9om62k,1146
71
+ athena/types/general_agent_request_messages_item_type.py,sha256=dDSQcu9xtKZdNjDux2xSQd7AO9WdrOFmi8rHFU6GTbY,725
72
+ athena/types/general_agent_response.py,sha256=9BxqXzchSti5O0Ch_WJkvmkawkBhpH03QlZIbKdYbAY,1212
53
73
  athena/types/parent_folder_error.py,sha256=ZMF-i3mZY6Mu1n5uQ60Q3mIIfehlWuXtgFUkSYspkx8,1120
74
+ athena/types/research_agent_response.py,sha256=-1mX4M0IEWDFH3alSZdtuhZHSerjWYJQkn74r3Dp26g,1235
54
75
  athena/types/save_asset_request_out.py,sha256=5bpBaUV3oeuL_hz4s07c-6MQHkn4cBsyxgT_SD5oi6I,1193
76
+ athena/types/sql_agent_response.py,sha256=DmeG0HPZkPT_gTrtkroVZluGZIV9McB8wmME2iT8PB0,1347
55
77
  athena/types/structured_data_extractor_reponse.py,sha256=Fa-54k20UIqHKDsmUpF4wZpaiTb_J35XysY1GZUf63w,1306
56
78
  athena/types/tool.py,sha256=6H2BFZiBgQOtYUAwSYBeGZKhwev17IEwnIjgmno6dZw,436
57
79
  athena/version.py,sha256=8aYAOJtVLaJLpRp6mTiEIhnl8gXA7yE0aDtZ-3mKQ4k,87
58
- athena_intelligence-0.1.119.dist-info/METADATA,sha256=-kKig1kesG7Av6k1YBHSqxuob32bk0x8lid2_u4Sv1U,5274
59
- athena_intelligence-0.1.119.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
60
- athena_intelligence-0.1.119.dist-info/RECORD,,
80
+ athena_intelligence-0.1.120.dist-info/METADATA,sha256=27jXrmT86Ay3sxkrgx-zHJRM3BOPi8wA-ubld5DxLHs,5274
81
+ athena_intelligence-0.1.120.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
82
+ athena_intelligence-0.1.120.dist-info/RECORD,,