From fbe6b7d40d16d520d9703d032cf8f1dbdffee814 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 18:04:41 +0000 Subject: [PATCH] SDK regeneration --- README.md | 1 + pyproject.toml | 2 +- src/merge/core/client_wrapper.py | 4 ++-- src/merge/resources/chat/__init__.py | 15 +++++++++++++++ src/merge/resources/chat/types/__init__.py | 15 +++++++++++++++ src/merge/resources/chat/types/conversation.py | 16 ++++++++++++++-- .../chat/types/conversation_members_item.py | 7 +++++++ src/merge/resources/chat/types/group.py | 12 ++++++++++-- .../resources/chat/types/group_users_item.py | 9 +++++++++ src/merge/resources/chat/types/member.py | 16 +++++++++++++--- src/merge/resources/chat/types/member_group.py | 7 +++++++ src/merge/resources/chat/types/member_user.py | 7 +++++++ .../chat/types/paginated_conversation_list.py | 10 +++++++++- .../resources/chat/types/paginated_group_list.py | 13 ++++++++++--- .../chat/types/paginated_member_list.py | 10 +++++++++- .../resources/chat/types/paginated_user_list.py | 13 ++++++++++--- src/merge/resources/chat/types/type_enum.py | 15 +++++++++++++++ src/merge/resources/chat/types/user.py | 12 ++++++++++-- .../resources/chat/types/user_groups_item.py | 9 +++++++++ src/merge/resources/filestorage/types/drive.py | 5 ----- src/merge/resources/knowledgebase/__init__.py | 6 ++++++ .../resources/knowledgebase/types/__init__.py | 6 ++++++ .../resources/knowledgebase/types/article.py | 9 +++++---- .../types/article_parent_container.py | 8 +++++--- .../types/article_root_container.py | 8 +++++--- .../resources/knowledgebase/types/container.py | 7 +++++-- .../types/container_parent_article.py | 9 +++++++++ .../types/container_parent_container.py | 9 +++++++++ .../types/paginated_article_list.py | 1 + .../types/paginated_container_list.py | 5 +++-- 30 files changed, 227 insertions(+), 39 deletions(-) create mode 100644 src/merge/resources/chat/types/conversation_members_item.py create mode 100644 src/merge/resources/chat/types/group_users_item.py create mode 100644 src/merge/resources/chat/types/member_group.py create mode 100644 src/merge/resources/chat/types/member_user.py create mode 100644 src/merge/resources/chat/types/user_groups_item.py create mode 100644 src/merge/resources/knowledgebase/types/container_parent_article.py create mode 100644 src/merge/resources/knowledgebase/types/container_parent_container.py diff --git a/README.md b/README.md index 73bd2a65..982a1757 100644 --- a/README.md +++ b/README.md @@ -263,3 +263,4 @@ while response.next is not None: + diff --git a/pyproject.toml b/pyproject.toml index 62139c69..4f9b62a5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,7 @@ name = "MergePythonClient" [tool.poetry] name = "MergePythonClient" -version = "2.6.2" +version = "3.0.0" description = "" readme = "README.md" authors = [] diff --git a/src/merge/core/client_wrapper.py b/src/merge/core/client_wrapper.py index af760778..bf291996 100644 --- a/src/merge/core/client_wrapper.py +++ b/src/merge/core/client_wrapper.py @@ -24,10 +24,10 @@ def __init__( def get_headers(self) -> typing.Dict[str, str]: headers: typing.Dict[str, str] = { - "User-Agent": "MergePythonClient/2.6.2", + "User-Agent": "MergePythonClient/3.0.0", "X-Fern-Language": "Python", "X-Fern-SDK-Name": "MergePythonClient", - "X-Fern-SDK-Version": "2.6.2", + "X-Fern-SDK-Version": "3.0.0", **(self.get_custom_headers() or {}), } if self._account_token is not None: diff --git a/src/merge/resources/chat/__init__.py b/src/merge/resources/chat/__init__.py index da7e6d6f..4c992dad 100644 --- a/src/merge/resources/chat/__init__.py +++ b/src/merge/resources/chat/__init__.py @@ -28,6 +28,7 @@ CommonModelScopesBodyRequest, CompletedAccountInitialScreenEnum, Conversation, + ConversationMembersItem, ConversationType, DataPassthroughRequest, DataPassthroughRequestMethod, @@ -49,6 +50,7 @@ FieldPermissionDeserializer, FieldPermissionDeserializerRequest, Group, + GroupUsersItem, IndividualCommonModelScopeDeserializer, IndividualCommonModelScopeDeserializerRequest, Issue, @@ -58,6 +60,8 @@ LastSyncResultEnum, LinkToken, Member, + MemberGroup, + MemberUser, Message, MethodEnum, ModelOperation, @@ -93,6 +97,7 @@ SyncStatusStatus, TypeEnum, User, + UserGroupsItem, ValidationProblemSource, WarningValidationProblem, WebhookReceiver, @@ -151,6 +156,7 @@ "CommonModelScopesBodyRequest": ".types", "CompletedAccountInitialScreenEnum": ".types", "Conversation": ".types", + "ConversationMembersItem": ".types", "ConversationType": ".types", "ConversationsMembersListRequestExpand": ".resources", "DataPassthroughRequest": ".types", @@ -175,6 +181,7 @@ "FieldPermissionDeserializer": ".types", "FieldPermissionDeserializerRequest": ".types", "Group": ".types", + "GroupUsersItem": ".types", "IndividualCommonModelScopeDeserializer": ".types", "IndividualCommonModelScopeDeserializerRequest": ".types", "Issue": ".types", @@ -186,6 +193,8 @@ "LinkToken": ".types", "LinkedAccountsListRequestCategory": ".resources", "Member": ".types", + "MemberGroup": ".types", + "MemberUser": ".types", "Message": ".types", "MessagesListRequestOrderBy": ".resources", "MessagesRepliesListRequestOrderBy": ".resources", @@ -223,6 +232,7 @@ "SyncStatusStatus": ".types", "TypeEnum": ".types", "User": ".types", + "UserGroupsItem": ".types", "ValidationProblemSource": ".types", "WarningValidationProblem": ".types", "WebhookReceiver": ".types", @@ -292,6 +302,7 @@ def __dir__(): "CommonModelScopesBodyRequest", "CompletedAccountInitialScreenEnum", "Conversation", + "ConversationMembersItem", "ConversationType", "ConversationsMembersListRequestExpand", "DataPassthroughRequest", @@ -316,6 +327,7 @@ def __dir__(): "FieldPermissionDeserializer", "FieldPermissionDeserializerRequest", "Group", + "GroupUsersItem", "IndividualCommonModelScopeDeserializer", "IndividualCommonModelScopeDeserializerRequest", "Issue", @@ -327,6 +339,8 @@ def __dir__(): "LinkToken", "LinkedAccountsListRequestCategory", "Member", + "MemberGroup", + "MemberUser", "Message", "MessagesListRequestOrderBy", "MessagesRepliesListRequestOrderBy", @@ -364,6 +378,7 @@ def __dir__(): "SyncStatusStatus", "TypeEnum", "User", + "UserGroupsItem", "ValidationProblemSource", "WarningValidationProblem", "WebhookReceiver", diff --git a/src/merge/resources/chat/types/__init__.py b/src/merge/resources/chat/types/__init__.py index 83dc82b8..20b12b7d 100644 --- a/src/merge/resources/chat/types/__init__.py +++ b/src/merge/resources/chat/types/__init__.py @@ -27,6 +27,7 @@ from .common_model_scopes_body_request import CommonModelScopesBodyRequest from .completed_account_initial_screen_enum import CompletedAccountInitialScreenEnum from .conversation import Conversation + from .conversation_members_item import ConversationMembersItem from .conversation_type import ConversationType from .data_passthrough_request import DataPassthroughRequest from .data_passthrough_request_method import DataPassthroughRequestMethod @@ -50,6 +51,7 @@ from .field_permission_deserializer import FieldPermissionDeserializer from .field_permission_deserializer_request import FieldPermissionDeserializerRequest from .group import Group + from .group_users_item import GroupUsersItem from .individual_common_model_scope_deserializer import IndividualCommonModelScopeDeserializer from .individual_common_model_scope_deserializer_request import IndividualCommonModelScopeDeserializerRequest from .issue import Issue @@ -59,6 +61,8 @@ from .last_sync_result_enum import LastSyncResultEnum from .link_token import LinkToken from .member import Member + from .member_group import MemberGroup + from .member_user import MemberUser from .message import Message from .method_enum import MethodEnum from .model_operation import ModelOperation @@ -94,6 +98,7 @@ from .sync_status_status import SyncStatusStatus from .type_enum import TypeEnum from .user import User + from .user_groups_item import UserGroupsItem from .validation_problem_source import ValidationProblemSource from .warning_validation_problem import WarningValidationProblem from .webhook_receiver import WebhookReceiver @@ -119,6 +124,7 @@ "CommonModelScopesBodyRequest": ".common_model_scopes_body_request", "CompletedAccountInitialScreenEnum": ".completed_account_initial_screen_enum", "Conversation": ".conversation", + "ConversationMembersItem": ".conversation_members_item", "ConversationType": ".conversation_type", "DataPassthroughRequest": ".data_passthrough_request", "DataPassthroughRequestMethod": ".data_passthrough_request_method", @@ -140,6 +146,7 @@ "FieldPermissionDeserializer": ".field_permission_deserializer", "FieldPermissionDeserializerRequest": ".field_permission_deserializer_request", "Group": ".group", + "GroupUsersItem": ".group_users_item", "IndividualCommonModelScopeDeserializer": ".individual_common_model_scope_deserializer", "IndividualCommonModelScopeDeserializerRequest": ".individual_common_model_scope_deserializer_request", "Issue": ".issue", @@ -149,6 +156,8 @@ "LastSyncResultEnum": ".last_sync_result_enum", "LinkToken": ".link_token", "Member": ".member", + "MemberGroup": ".member_group", + "MemberUser": ".member_user", "Message": ".message", "MethodEnum": ".method_enum", "ModelOperation": ".model_operation", @@ -184,6 +193,7 @@ "SyncStatusStatus": ".sync_status_status", "TypeEnum": ".type_enum", "User": ".user", + "UserGroupsItem": ".user_groups_item", "ValidationProblemSource": ".validation_problem_source", "WarningValidationProblem": ".warning_validation_problem", "WebhookReceiver": ".webhook_receiver", @@ -231,6 +241,7 @@ def __dir__(): "CommonModelScopesBodyRequest", "CompletedAccountInitialScreenEnum", "Conversation", + "ConversationMembersItem", "ConversationType", "DataPassthroughRequest", "DataPassthroughRequestMethod", @@ -252,6 +263,7 @@ def __dir__(): "FieldPermissionDeserializer", "FieldPermissionDeserializerRequest", "Group", + "GroupUsersItem", "IndividualCommonModelScopeDeserializer", "IndividualCommonModelScopeDeserializerRequest", "Issue", @@ -261,6 +273,8 @@ def __dir__(): "LastSyncResultEnum", "LinkToken", "Member", + "MemberGroup", + "MemberUser", "Message", "MethodEnum", "ModelOperation", @@ -296,6 +310,7 @@ def __dir__(): "SyncStatusStatus", "TypeEnum", "User", + "UserGroupsItem", "ValidationProblemSource", "WarningValidationProblem", "WebhookReceiver", diff --git a/src/merge/resources/chat/types/conversation.py b/src/merge/resources/chat/types/conversation.py index 402823ad..d022614d 100644 --- a/src/merge/resources/chat/types/conversation.py +++ b/src/merge/resources/chat/types/conversation.py @@ -1,11 +1,14 @@ # This file was auto-generated by Fern from our API Definition. +from __future__ import annotations + import datetime as dt import typing import pydantic -from ....core.pydantic_utilities import IS_PYDANTIC_V2 +from ....core.pydantic_utilities import IS_PYDANTIC_V2, update_forward_refs from ....core.unchecked_base_model import UncheckedBaseModel +from .conversation_members_item import ConversationMembersItem from .conversation_type import ConversationType from .remote_data import RemoteData @@ -59,9 +62,12 @@ class Conversation(UncheckedBaseModel): * `PRIVATE_EXTERNAL` - PRIVATE_EXTERNAL * `PUBLIC_INTERNAL` - PUBLIC_INTERNAL * `PUBLIC_EXTERNAL` - PUBLIC_EXTERNAL + * `ONE_ON_ONE_CHAT` - ONE_ON_ONE_CHAT + * `GROUP_CHAT` - GROUP_CHAT + * `MEETING_CHAT` - MEETING_CHAT """ - members: typing.Optional[typing.List[typing.Optional[str]]] = None + members: typing.Optional[typing.List[typing.Optional[ConversationMembersItem]]] = None remote_created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None) """ When the third party's conversation was created. @@ -88,3 +94,9 @@ class Config: frozen = True smart_union = True extra = pydantic.Extra.allow + + +from .group import Group # noqa: E402, F401, I001 +from .user import User # noqa: E402, F401, I001 + +update_forward_refs(Conversation) diff --git a/src/merge/resources/chat/types/conversation_members_item.py b/src/merge/resources/chat/types/conversation_members_item.py new file mode 100644 index 00000000..6da9eeeb --- /dev/null +++ b/src/merge/resources/chat/types/conversation_members_item.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from .member import Member + +ConversationMembersItem = typing.Union[str, Member] diff --git a/src/merge/resources/chat/types/group.py b/src/merge/resources/chat/types/group.py index 732616f4..e1fa1539 100644 --- a/src/merge/resources/chat/types/group.py +++ b/src/merge/resources/chat/types/group.py @@ -1,10 +1,12 @@ # This file was auto-generated by Fern from our API Definition. +from __future__ import annotations + import datetime as dt import typing import pydantic -from ....core.pydantic_utilities import IS_PYDANTIC_V2 +from ....core.pydantic_utilities import IS_PYDANTIC_V2, update_forward_refs from ....core.unchecked_base_model import UncheckedBaseModel from .remote_data import RemoteData @@ -39,7 +41,7 @@ class Group(UncheckedBaseModel): The name of the Group """ - users: typing.Optional[typing.List[typing.Optional[str]]] = None + users: typing.Optional[typing.List[typing.Optional["GroupUsersItem"]]] = None remote_created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None) """ When the third party's group was created. @@ -66,3 +68,9 @@ class Config: frozen = True smart_union = True extra = pydantic.Extra.allow + + +from .user import User # noqa: E402, F401, I001 +from .group_users_item import GroupUsersItem # noqa: E402, F401, I001 + +update_forward_refs(Group) diff --git a/src/merge/resources/chat/types/group_users_item.py b/src/merge/resources/chat/types/group_users_item.py new file mode 100644 index 00000000..fe387a9a --- /dev/null +++ b/src/merge/resources/chat/types/group_users_item.py @@ -0,0 +1,9 @@ +# This file was auto-generated by Fern from our API Definition. + +from __future__ import annotations + +import typing + +if typing.TYPE_CHECKING: + from .user import User +GroupUsersItem = typing.Union[str, "User"] diff --git a/src/merge/resources/chat/types/member.py b/src/merge/resources/chat/types/member.py index 40bea7ed..d859dc14 100644 --- a/src/merge/resources/chat/types/member.py +++ b/src/merge/resources/chat/types/member.py @@ -1,11 +1,15 @@ # This file was auto-generated by Fern from our API Definition. +from __future__ import annotations + import datetime as dt import typing import pydantic -from ....core.pydantic_utilities import IS_PYDANTIC_V2 +from ....core.pydantic_utilities import IS_PYDANTIC_V2, update_forward_refs from ....core.unchecked_base_model import UncheckedBaseModel +from .member_group import MemberGroup +from .member_user import MemberUser from .remote_data import RemoteData @@ -35,12 +39,12 @@ class Member(UncheckedBaseModel): The datetime that this object was modified by Merge. """ - user: typing.Optional[str] = pydantic.Field(default=None) + user: typing.Optional[MemberUser] = pydantic.Field(default=None) """ The user that is a member of the conversation. Only populated if the member is a user. """ - group: typing.Optional[str] = pydantic.Field(default=None) + group: typing.Optional[MemberGroup] = pydantic.Field(default=None) """ The group that is a member of the conversation. Only populated if the member is a group. """ @@ -71,3 +75,9 @@ class Config: frozen = True smart_union = True extra = pydantic.Extra.allow + + +from .group import Group # noqa: E402, F401, I001 +from .user import User # noqa: E402, F401, I001 + +update_forward_refs(Member) diff --git a/src/merge/resources/chat/types/member_group.py b/src/merge/resources/chat/types/member_group.py new file mode 100644 index 00000000..89decf28 --- /dev/null +++ b/src/merge/resources/chat/types/member_group.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from .group import Group + +MemberGroup = typing.Union[str, Group] diff --git a/src/merge/resources/chat/types/member_user.py b/src/merge/resources/chat/types/member_user.py new file mode 100644 index 00000000..6a766ce3 --- /dev/null +++ b/src/merge/resources/chat/types/member_user.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from .user import User + +MemberUser = typing.Union[str, User] diff --git a/src/merge/resources/chat/types/paginated_conversation_list.py b/src/merge/resources/chat/types/paginated_conversation_list.py index 66ae6ad4..3b95e565 100644 --- a/src/merge/resources/chat/types/paginated_conversation_list.py +++ b/src/merge/resources/chat/types/paginated_conversation_list.py @@ -1,9 +1,11 @@ # This file was auto-generated by Fern from our API Definition. +from __future__ import annotations + import typing import pydantic -from ....core.pydantic_utilities import IS_PYDANTIC_V2 +from ....core.pydantic_utilities import IS_PYDANTIC_V2, update_forward_refs from ....core.unchecked_base_model import UncheckedBaseModel from .conversation import Conversation @@ -21,3 +23,9 @@ class Config: frozen = True smart_union = True extra = pydantic.Extra.allow + + +from .group import Group # noqa: E402, F401, I001 +from .user import User # noqa: E402, F401, I001 + +update_forward_refs(PaginatedConversationList) diff --git a/src/merge/resources/chat/types/paginated_group_list.py b/src/merge/resources/chat/types/paginated_group_list.py index 90702e1f..1405b628 100644 --- a/src/merge/resources/chat/types/paginated_group_list.py +++ b/src/merge/resources/chat/types/paginated_group_list.py @@ -1,17 +1,18 @@ # This file was auto-generated by Fern from our API Definition. +from __future__ import annotations + import typing import pydantic -from ....core.pydantic_utilities import IS_PYDANTIC_V2 +from ....core.pydantic_utilities import IS_PYDANTIC_V2, update_forward_refs from ....core.unchecked_base_model import UncheckedBaseModel -from .group import Group class PaginatedGroupList(UncheckedBaseModel): next: typing.Optional[str] = None previous: typing.Optional[str] = None - results: typing.Optional[typing.List[Group]] = None + results: typing.Optional[typing.List["Group"]] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -21,3 +22,9 @@ class Config: frozen = True smart_union = True extra = pydantic.Extra.allow + + +from .group import Group # noqa: E402, F401, I001 +from .user import User # noqa: E402, F401, I001 + +update_forward_refs(PaginatedGroupList) diff --git a/src/merge/resources/chat/types/paginated_member_list.py b/src/merge/resources/chat/types/paginated_member_list.py index 97a567c2..d3071471 100644 --- a/src/merge/resources/chat/types/paginated_member_list.py +++ b/src/merge/resources/chat/types/paginated_member_list.py @@ -1,9 +1,11 @@ # This file was auto-generated by Fern from our API Definition. +from __future__ import annotations + import typing import pydantic -from ....core.pydantic_utilities import IS_PYDANTIC_V2 +from ....core.pydantic_utilities import IS_PYDANTIC_V2, update_forward_refs from ....core.unchecked_base_model import UncheckedBaseModel from .member import Member @@ -21,3 +23,9 @@ class Config: frozen = True smart_union = True extra = pydantic.Extra.allow + + +from .group import Group # noqa: E402, F401, I001 +from .user import User # noqa: E402, F401, I001 + +update_forward_refs(PaginatedMemberList) diff --git a/src/merge/resources/chat/types/paginated_user_list.py b/src/merge/resources/chat/types/paginated_user_list.py index 809b285c..b7efd863 100644 --- a/src/merge/resources/chat/types/paginated_user_list.py +++ b/src/merge/resources/chat/types/paginated_user_list.py @@ -1,17 +1,18 @@ # This file was auto-generated by Fern from our API Definition. +from __future__ import annotations + import typing import pydantic -from ....core.pydantic_utilities import IS_PYDANTIC_V2 +from ....core.pydantic_utilities import IS_PYDANTIC_V2, update_forward_refs from ....core.unchecked_base_model import UncheckedBaseModel -from .user import User class PaginatedUserList(UncheckedBaseModel): next: typing.Optional[str] = None previous: typing.Optional[str] = None - results: typing.Optional[typing.List[User]] = None + results: typing.Optional[typing.List["User"]] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -21,3 +22,9 @@ class Config: frozen = True smart_union = True extra = pydantic.Extra.allow + + +from .group import Group # noqa: E402, F401, I001 +from .user import User # noqa: E402, F401, I001 + +update_forward_refs(PaginatedUserList) diff --git a/src/merge/resources/chat/types/type_enum.py b/src/merge/resources/chat/types/type_enum.py index 37cdd1ef..6d258d7f 100644 --- a/src/merge/resources/chat/types/type_enum.py +++ b/src/merge/resources/chat/types/type_enum.py @@ -12,12 +12,18 @@ class TypeEnum(str, enum.Enum): * `PRIVATE_EXTERNAL` - PRIVATE_EXTERNAL * `PUBLIC_INTERNAL` - PUBLIC_INTERNAL * `PUBLIC_EXTERNAL` - PUBLIC_EXTERNAL + * `ONE_ON_ONE_CHAT` - ONE_ON_ONE_CHAT + * `GROUP_CHAT` - GROUP_CHAT + * `MEETING_CHAT` - MEETING_CHAT """ PRIVATE_INTERNAL = "PRIVATE_INTERNAL" PRIVATE_EXTERNAL = "PRIVATE_EXTERNAL" PUBLIC_INTERNAL = "PUBLIC_INTERNAL" PUBLIC_EXTERNAL = "PUBLIC_EXTERNAL" + ONE_ON_ONE_CHAT = "ONE_ON_ONE_CHAT" + GROUP_CHAT = "GROUP_CHAT" + MEETING_CHAT = "MEETING_CHAT" def visit( self, @@ -25,6 +31,9 @@ def visit( private_external: typing.Callable[[], T_Result], public_internal: typing.Callable[[], T_Result], public_external: typing.Callable[[], T_Result], + one_on_one_chat: typing.Callable[[], T_Result], + group_chat: typing.Callable[[], T_Result], + meeting_chat: typing.Callable[[], T_Result], ) -> T_Result: if self is TypeEnum.PRIVATE_INTERNAL: return private_internal() @@ -34,3 +43,9 @@ def visit( return public_internal() if self is TypeEnum.PUBLIC_EXTERNAL: return public_external() + if self is TypeEnum.ONE_ON_ONE_CHAT: + return one_on_one_chat() + if self is TypeEnum.GROUP_CHAT: + return group_chat() + if self is TypeEnum.MEETING_CHAT: + return meeting_chat() diff --git a/src/merge/resources/chat/types/user.py b/src/merge/resources/chat/types/user.py index 28eb5802..259dac10 100644 --- a/src/merge/resources/chat/types/user.py +++ b/src/merge/resources/chat/types/user.py @@ -1,10 +1,12 @@ # This file was auto-generated by Fern from our API Definition. +from __future__ import annotations + import datetime as dt import typing import pydantic -from ....core.pydantic_utilities import IS_PYDANTIC_V2 +from ....core.pydantic_utilities import IS_PYDANTIC_V2, update_forward_refs from ....core.unchecked_base_model import UncheckedBaseModel from .remote_data import RemoteData @@ -60,7 +62,7 @@ class User(UncheckedBaseModel): Returns true if the user is a bot """ - groups: typing.Optional[typing.List[typing.Optional[str]]] = None + groups: typing.Optional[typing.List[typing.Optional["UserGroupsItem"]]] = None avatar: typing.Optional[str] = pydantic.Field(default=None) """ The user's avatar image @@ -92,3 +94,9 @@ class Config: frozen = True smart_union = True extra = pydantic.Extra.allow + + +from .group import Group # noqa: E402, F401, I001 +from .user_groups_item import UserGroupsItem # noqa: E402, F401, I001 + +update_forward_refs(User) diff --git a/src/merge/resources/chat/types/user_groups_item.py b/src/merge/resources/chat/types/user_groups_item.py new file mode 100644 index 00000000..9f985386 --- /dev/null +++ b/src/merge/resources/chat/types/user_groups_item.py @@ -0,0 +1,9 @@ +# This file was auto-generated by Fern from our API Definition. + +from __future__ import annotations + +import typing + +if typing.TYPE_CHECKING: + from .group import Group +UserGroupsItem = typing.Union[str, "Group"] diff --git a/src/merge/resources/filestorage/types/drive.py b/src/merge/resources/filestorage/types/drive.py index c0f931ee..50a5f2bf 100644 --- a/src/merge/resources/filestorage/types/drive.py +++ b/src/merge/resources/filestorage/types/drive.py @@ -49,11 +49,6 @@ class Drive(UncheckedBaseModel): The drive's url. """ - size: typing.Optional[int] = pydantic.Field(default=None) - """ - The drive's size, in bytes. - """ - remote_was_deleted: typing.Optional[bool] = pydantic.Field(default=None) """ Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). diff --git a/src/merge/resources/knowledgebase/__init__.py b/src/merge/resources/knowledgebase/__init__.py index 877949ae..9d880c90 100644 --- a/src/merge/resources/knowledgebase/__init__.py +++ b/src/merge/resources/knowledgebase/__init__.py @@ -41,6 +41,8 @@ CommonModelScopesBodyRequest, CompletedAccountInitialScreenEnum, Container, + ContainerParentArticle, + ContainerParentContainer, ContainerPermissionsItem, ContainerStatus, ContainerType, @@ -197,6 +199,8 @@ "CommonModelScopesBodyRequest": ".types", "CompletedAccountInitialScreenEnum": ".types", "Container": ".types", + "ContainerParentArticle": ".types", + "ContainerParentContainer": ".types", "ContainerPermissionsItem": ".types", "ContainerStatus": ".types", "ContainerType": ".types", @@ -368,6 +372,8 @@ def __dir__(): "CommonModelScopesBodyRequest", "CompletedAccountInitialScreenEnum", "Container", + "ContainerParentArticle", + "ContainerParentContainer", "ContainerPermissionsItem", "ContainerStatus", "ContainerType", diff --git a/src/merge/resources/knowledgebase/types/__init__.py b/src/merge/resources/knowledgebase/types/__init__.py index fb238bfc..38149e09 100644 --- a/src/merge/resources/knowledgebase/types/__init__.py +++ b/src/merge/resources/knowledgebase/types/__init__.py @@ -40,6 +40,8 @@ from .common_model_scopes_body_request import CommonModelScopesBodyRequest from .completed_account_initial_screen_enum import CompletedAccountInitialScreenEnum from .container import Container + from .container_parent_article import ContainerParentArticle + from .container_parent_container import ContainerParentContainer from .container_permissions_item import ContainerPermissionsItem from .container_status import ContainerStatus from .container_type import ContainerType @@ -156,6 +158,8 @@ "CommonModelScopesBodyRequest": ".common_model_scopes_body_request", "CompletedAccountInitialScreenEnum": ".completed_account_initial_screen_enum", "Container": ".container", + "ContainerParentArticle": ".container_parent_article", + "ContainerParentContainer": ".container_parent_container", "ContainerPermissionsItem": ".container_permissions_item", "ContainerStatus": ".container_status", "ContainerType": ".container_type", @@ -292,6 +296,8 @@ def __dir__(): "CommonModelScopesBodyRequest", "CompletedAccountInitialScreenEnum", "Container", + "ContainerParentArticle", + "ContainerParentContainer", "ContainerPermissionsItem", "ContainerStatus", "ContainerType", diff --git a/src/merge/resources/knowledgebase/types/article.py b/src/merge/resources/knowledgebase/types/article.py index 32620c78..28b20c7a 100644 --- a/src/merge/resources/knowledgebase/types/article.py +++ b/src/merge/resources/knowledgebase/types/article.py @@ -11,9 +11,7 @@ from .article_attachments_item import ArticleAttachmentsItem from .article_author import ArticleAuthor from .article_last_edited_by import ArticleLastEditedBy -from .article_parent_container import ArticleParentContainer from .article_permissions_item import ArticlePermissionsItem -from .article_root_container import ArticleRootContainer from .article_status import ArticleStatus from .article_type import ArticleType from .article_visibility import ArticleVisibility @@ -123,12 +121,12 @@ class Article(UncheckedBaseModel): The parent article an article is nested within. """ - parent_container: typing.Optional[ArticleParentContainer] = pydantic.Field(default=None) + parent_container: typing.Optional["ArticleParentContainer"] = pydantic.Field(default=None) """ The parent container an article is nested within. """ - root_container: typing.Optional[ArticleRootContainer] = pydantic.Field(default=None) + root_container: typing.Optional["ArticleRootContainer"] = pydantic.Field(default=None) """ The top-level container in the hierarchy that holds this article. This will reference a container object that will typically be a SPACE or WORKSPACE type. """ @@ -153,7 +151,10 @@ class Config: extra = pydantic.Extra.allow +from .container import Container # noqa: E402, F401, I001 from .group import Group # noqa: E402, F401, I001 from .article_parent_article import ArticleParentArticle # noqa: E402, F401, I001 +from .article_parent_container import ArticleParentContainer # noqa: E402, F401, I001 +from .article_root_container import ArticleRootContainer # noqa: E402, F401, I001 update_forward_refs(Article) diff --git a/src/merge/resources/knowledgebase/types/article_parent_container.py b/src/merge/resources/knowledgebase/types/article_parent_container.py index 1aeeae03..11dd8a55 100644 --- a/src/merge/resources/knowledgebase/types/article_parent_container.py +++ b/src/merge/resources/knowledgebase/types/article_parent_container.py @@ -1,7 +1,9 @@ # This file was auto-generated by Fern from our API Definition. -import typing +from __future__ import annotations -from .container import Container +import typing -ArticleParentContainer = typing.Union[str, Container] +if typing.TYPE_CHECKING: + from .container import Container +ArticleParentContainer = typing.Union[str, "Container"] diff --git a/src/merge/resources/knowledgebase/types/article_root_container.py b/src/merge/resources/knowledgebase/types/article_root_container.py index a145d7a3..f50ba3df 100644 --- a/src/merge/resources/knowledgebase/types/article_root_container.py +++ b/src/merge/resources/knowledgebase/types/article_root_container.py @@ -1,7 +1,9 @@ # This file was auto-generated by Fern from our API Definition. -import typing +from __future__ import annotations -from .container import Container +import typing -ArticleRootContainer = typing.Union[str, Container] +if typing.TYPE_CHECKING: + from .container import Container +ArticleRootContainer = typing.Union[str, "Container"] diff --git a/src/merge/resources/knowledgebase/types/container.py b/src/merge/resources/knowledgebase/types/container.py index 2822c45d..6073c897 100644 --- a/src/merge/resources/knowledgebase/types/container.py +++ b/src/merge/resources/knowledgebase/types/container.py @@ -96,12 +96,12 @@ class Container(UncheckedBaseModel): When the third party's container was updated. """ - parent_article: typing.Optional[str] = pydantic.Field(default=None) + parent_article: typing.Optional["ContainerParentArticle"] = pydantic.Field(default=None) """ The parent article a container is nested within. """ - parent_container: typing.Optional[str] = pydantic.Field(default=None) + parent_container: typing.Optional["ContainerParentContainer"] = pydantic.Field(default=None) """ The parent container a container is nested within. """ @@ -125,6 +125,9 @@ class Config: extra = pydantic.Extra.allow +from .article import Article # noqa: E402, F401, I001 from .group import Group # noqa: E402, F401, I001 +from .container_parent_article import ContainerParentArticle # noqa: E402, F401, I001 +from .container_parent_container import ContainerParentContainer # noqa: E402, F401, I001 update_forward_refs(Container) diff --git a/src/merge/resources/knowledgebase/types/container_parent_article.py b/src/merge/resources/knowledgebase/types/container_parent_article.py new file mode 100644 index 00000000..f051dcf3 --- /dev/null +++ b/src/merge/resources/knowledgebase/types/container_parent_article.py @@ -0,0 +1,9 @@ +# This file was auto-generated by Fern from our API Definition. + +from __future__ import annotations + +import typing + +if typing.TYPE_CHECKING: + from .article import Article +ContainerParentArticle = typing.Union[str, "Article"] diff --git a/src/merge/resources/knowledgebase/types/container_parent_container.py b/src/merge/resources/knowledgebase/types/container_parent_container.py new file mode 100644 index 00000000..cc65bec0 --- /dev/null +++ b/src/merge/resources/knowledgebase/types/container_parent_container.py @@ -0,0 +1,9 @@ +# This file was auto-generated by Fern from our API Definition. + +from __future__ import annotations + +import typing + +if typing.TYPE_CHECKING: + from .container import Container +ContainerParentContainer = typing.Union[str, "Container"] diff --git a/src/merge/resources/knowledgebase/types/paginated_article_list.py b/src/merge/resources/knowledgebase/types/paginated_article_list.py index 81de40ee..85588f2c 100644 --- a/src/merge/resources/knowledgebase/types/paginated_article_list.py +++ b/src/merge/resources/knowledgebase/types/paginated_article_list.py @@ -25,6 +25,7 @@ class Config: from .article import Article # noqa: E402, F401, I001 +from .container import Container # noqa: E402, F401, I001 from .group import Group # noqa: E402, F401, I001 update_forward_refs(PaginatedArticleList) diff --git a/src/merge/resources/knowledgebase/types/paginated_container_list.py b/src/merge/resources/knowledgebase/types/paginated_container_list.py index 4a3ab735..73cf4d2c 100644 --- a/src/merge/resources/knowledgebase/types/paginated_container_list.py +++ b/src/merge/resources/knowledgebase/types/paginated_container_list.py @@ -7,13 +7,12 @@ import pydantic from ....core.pydantic_utilities import IS_PYDANTIC_V2, update_forward_refs from ....core.unchecked_base_model import UncheckedBaseModel -from .container import Container class PaginatedContainerList(UncheckedBaseModel): next: typing.Optional[str] = None previous: typing.Optional[str] = None - results: typing.Optional[typing.List[Container]] = None + results: typing.Optional[typing.List["Container"]] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 @@ -25,6 +24,8 @@ class Config: extra = pydantic.Extra.allow +from .article import Article # noqa: E402, F401, I001 +from .container import Container # noqa: E402, F401, I001 from .group import Group # noqa: E402, F401, I001 update_forward_refs(PaginatedContainerList)