mergepythonclient 2.3.2__py3-none-any.whl → 2.4.0__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 (209) hide show
  1. merge/__init__.py +3 -1
  2. merge/client.py +49 -30
  3. merge/core/client_wrapper.py +2 -2
  4. merge/resources/__init__.py +3 -2
  5. merge/resources/knowledgebase/__init__.py +472 -0
  6. merge/resources/knowledgebase/client.py +480 -0
  7. merge/resources/knowledgebase/raw_client.py +13 -0
  8. merge/resources/knowledgebase/resources/__init__.py +128 -0
  9. merge/resources/knowledgebase/resources/account_details/__init__.py +4 -0
  10. merge/resources/knowledgebase/resources/account_details/client.py +102 -0
  11. merge/resources/knowledgebase/resources/account_details/raw_client.py +91 -0
  12. merge/resources/knowledgebase/resources/account_token/__init__.py +4 -0
  13. merge/resources/knowledgebase/resources/account_token/client.py +112 -0
  14. merge/resources/knowledgebase/resources/account_token/raw_client.py +98 -0
  15. merge/resources/knowledgebase/resources/articles/__init__.py +35 -0
  16. merge/resources/knowledgebase/resources/articles/client.py +378 -0
  17. merge/resources/knowledgebase/resources/articles/raw_client.py +363 -0
  18. merge/resources/knowledgebase/resources/articles/types/__init__.py +36 -0
  19. merge/resources/knowledgebase/resources/articles/types/articles_list_request_expand.py +625 -0
  20. merge/resources/knowledgebase/resources/articles/types/articles_retrieve_request_expand.py +631 -0
  21. merge/resources/knowledgebase/resources/async_passthrough/__init__.py +32 -0
  22. merge/resources/knowledgebase/resources/async_passthrough/client.py +201 -0
  23. merge/resources/knowledgebase/resources/async_passthrough/raw_client.py +189 -0
  24. merge/resources/knowledgebase/resources/async_passthrough/types/__init__.py +32 -0
  25. merge/resources/knowledgebase/resources/async_passthrough/types/async_passthrough_retrieve_response.py +7 -0
  26. merge/resources/knowledgebase/resources/attachments/__init__.py +4 -0
  27. merge/resources/knowledgebase/resources/attachments/client.py +326 -0
  28. merge/resources/knowledgebase/resources/attachments/raw_client.py +311 -0
  29. merge/resources/knowledgebase/resources/audit_trail/__init__.py +4 -0
  30. merge/resources/knowledgebase/resources/audit_trail/client.py +178 -0
  31. merge/resources/knowledgebase/resources/audit_trail/raw_client.py +161 -0
  32. merge/resources/knowledgebase/resources/available_actions/__init__.py +4 -0
  33. merge/resources/knowledgebase/resources/available_actions/client.py +102 -0
  34. merge/resources/knowledgebase/resources/available_actions/raw_client.py +91 -0
  35. merge/resources/knowledgebase/resources/containers/__init__.py +35 -0
  36. merge/resources/knowledgebase/resources/containers/client.py +378 -0
  37. merge/resources/knowledgebase/resources/containers/raw_client.py +363 -0
  38. merge/resources/knowledgebase/resources/containers/types/__init__.py +36 -0
  39. merge/resources/knowledgebase/resources/containers/types/containers_list_request_expand.py +41 -0
  40. merge/resources/knowledgebase/resources/containers/types/containers_retrieve_request_expand.py +41 -0
  41. merge/resources/knowledgebase/resources/delete_account/__init__.py +4 -0
  42. merge/resources/knowledgebase/resources/delete_account/client.py +99 -0
  43. merge/resources/knowledgebase/resources/delete_account/raw_client.py +71 -0
  44. merge/resources/knowledgebase/resources/field_mapping/__init__.py +4 -0
  45. merge/resources/knowledgebase/resources/field_mapping/client.py +652 -0
  46. merge/resources/knowledgebase/resources/field_mapping/raw_client.py +672 -0
  47. merge/resources/knowledgebase/resources/force_resync/__init__.py +4 -0
  48. merge/resources/knowledgebase/resources/force_resync/client.py +106 -0
  49. merge/resources/knowledgebase/resources/force_resync/raw_client.py +93 -0
  50. merge/resources/knowledgebase/resources/generate_key/__init__.py +4 -0
  51. merge/resources/knowledgebase/resources/generate_key/client.py +115 -0
  52. merge/resources/knowledgebase/resources/generate_key/raw_client.py +114 -0
  53. merge/resources/knowledgebase/resources/groups/__init__.py +32 -0
  54. merge/resources/knowledgebase/resources/groups/client.py +348 -0
  55. merge/resources/knowledgebase/resources/groups/raw_client.py +333 -0
  56. merge/resources/knowledgebase/resources/groups/types/__init__.py +36 -0
  57. merge/resources/knowledgebase/resources/groups/types/groups_list_request_expand.py +25 -0
  58. merge/resources/knowledgebase/resources/groups/types/groups_retrieve_request_expand.py +25 -0
  59. merge/resources/knowledgebase/resources/issues/__init__.py +32 -0
  60. merge/resources/knowledgebase/resources/issues/client.py +331 -0
  61. merge/resources/knowledgebase/resources/issues/raw_client.py +336 -0
  62. merge/resources/knowledgebase/resources/issues/types/__init__.py +32 -0
  63. merge/resources/knowledgebase/resources/issues/types/issues_list_request_status.py +17 -0
  64. merge/resources/knowledgebase/resources/link_token/__init__.py +32 -0
  65. merge/resources/knowledgebase/resources/link_token/client.py +273 -0
  66. merge/resources/knowledgebase/resources/link_token/raw_client.py +256 -0
  67. merge/resources/knowledgebase/resources/link_token/types/__init__.py +32 -0
  68. merge/resources/knowledgebase/resources/link_token/types/end_user_details_request_language.py +7 -0
  69. merge/resources/knowledgebase/resources/linked_accounts/__init__.py +32 -0
  70. merge/resources/knowledgebase/resources/linked_accounts/client.py +265 -0
  71. merge/resources/knowledgebase/resources/linked_accounts/raw_client.py +248 -0
  72. merge/resources/knowledgebase/resources/linked_accounts/types/__init__.py +34 -0
  73. merge/resources/knowledgebase/resources/linked_accounts/types/linked_accounts_list_request_category.py +45 -0
  74. merge/resources/knowledgebase/resources/passthrough/__init__.py +4 -0
  75. merge/resources/knowledgebase/resources/passthrough/client.py +126 -0
  76. merge/resources/knowledgebase/resources/passthrough/raw_client.py +111 -0
  77. merge/resources/knowledgebase/resources/regenerate_key/__init__.py +4 -0
  78. merge/resources/knowledgebase/resources/regenerate_key/client.py +115 -0
  79. merge/resources/knowledgebase/resources/regenerate_key/raw_client.py +114 -0
  80. merge/resources/knowledgebase/resources/scopes/__init__.py +4 -0
  81. merge/resources/knowledgebase/resources/scopes/client.py +320 -0
  82. merge/resources/knowledgebase/resources/scopes/raw_client.py +267 -0
  83. merge/resources/knowledgebase/resources/sync_status/__init__.py +4 -0
  84. merge/resources/knowledgebase/resources/sync_status/client.py +130 -0
  85. merge/resources/knowledgebase/resources/sync_status/raw_client.py +121 -0
  86. merge/resources/knowledgebase/resources/users/__init__.py +4 -0
  87. merge/resources/knowledgebase/resources/users/client.py +326 -0
  88. merge/resources/knowledgebase/resources/users/raw_client.py +311 -0
  89. merge/resources/knowledgebase/resources/webhook_receivers/__init__.py +4 -0
  90. merge/resources/knowledgebase/resources/webhook_receivers/client.py +201 -0
  91. merge/resources/knowledgebase/resources/webhook_receivers/raw_client.py +208 -0
  92. merge/resources/knowledgebase/types/__init__.py +374 -0
  93. merge/resources/knowledgebase/types/account_details.py +40 -0
  94. merge/resources/knowledgebase/types/account_details_and_actions.py +54 -0
  95. merge/resources/knowledgebase/types/account_details_and_actions_category.py +7 -0
  96. merge/resources/knowledgebase/types/account_details_and_actions_integration.py +29 -0
  97. merge/resources/knowledgebase/types/account_details_and_actions_status.py +7 -0
  98. merge/resources/knowledgebase/types/account_details_and_actions_status_enum.py +36 -0
  99. merge/resources/knowledgebase/types/account_details_category.py +7 -0
  100. merge/resources/knowledgebase/types/account_integration.py +67 -0
  101. merge/resources/knowledgebase/types/account_token.py +23 -0
  102. merge/resources/knowledgebase/types/advanced_metadata.py +25 -0
  103. merge/resources/knowledgebase/types/article.py +159 -0
  104. merge/resources/knowledgebase/types/article_attachments_item.py +7 -0
  105. merge/resources/knowledgebase/types/article_author.py +7 -0
  106. merge/resources/knowledgebase/types/article_last_edited_by.py +7 -0
  107. merge/resources/knowledgebase/types/article_parent_article.py +9 -0
  108. merge/resources/knowledgebase/types/article_parent_container.py +7 -0
  109. merge/resources/knowledgebase/types/article_permissions_item.py +7 -0
  110. merge/resources/knowledgebase/types/article_root_container.py +7 -0
  111. merge/resources/knowledgebase/types/article_status.py +7 -0
  112. merge/resources/knowledgebase/types/article_type.py +7 -0
  113. merge/resources/knowledgebase/types/article_type_enum.py +31 -0
  114. merge/resources/knowledgebase/types/article_visibility.py +7 -0
  115. merge/resources/knowledgebase/types/async_passthrough_reciept.py +20 -0
  116. merge/resources/knowledgebase/types/attachment.py +67 -0
  117. merge/resources/knowledgebase/types/audit_log_event.py +97 -0
  118. merge/resources/knowledgebase/types/audit_log_event_event_type.py +7 -0
  119. merge/resources/knowledgebase/types/audit_log_event_role.py +7 -0
  120. merge/resources/knowledgebase/types/available_actions.py +33 -0
  121. merge/resources/knowledgebase/types/categories_enum.py +56 -0
  122. merge/resources/knowledgebase/types/category_enum.py +56 -0
  123. merge/resources/knowledgebase/types/common_model_scope_api.py +24 -0
  124. merge/resources/knowledgebase/types/common_model_scopes_body_request.py +23 -0
  125. merge/resources/knowledgebase/types/completed_account_initial_screen_enum.py +5 -0
  126. merge/resources/knowledgebase/types/container.py +130 -0
  127. merge/resources/knowledgebase/types/container_permissions_item.py +7 -0
  128. merge/resources/knowledgebase/types/container_status.py +7 -0
  129. merge/resources/knowledgebase/types/container_type.py +7 -0
  130. merge/resources/knowledgebase/types/container_type_enum.py +46 -0
  131. merge/resources/knowledgebase/types/container_visibility.py +7 -0
  132. merge/resources/knowledgebase/types/data_passthrough_request.py +62 -0
  133. merge/resources/knowledgebase/types/data_passthrough_request_method.py +7 -0
  134. merge/resources/knowledgebase/types/data_passthrough_request_request_format.py +7 -0
  135. merge/resources/knowledgebase/types/debug_mode_log.py +23 -0
  136. merge/resources/knowledgebase/types/debug_model_log_summary.py +22 -0
  137. merge/resources/knowledgebase/types/enabled_actions_enum.py +22 -0
  138. merge/resources/knowledgebase/types/encoding_enum.py +31 -0
  139. merge/resources/knowledgebase/types/error_validation_problem.py +24 -0
  140. merge/resources/knowledgebase/types/event_type_enum.py +231 -0
  141. merge/resources/knowledgebase/types/external_target_field_api.py +22 -0
  142. merge/resources/knowledgebase/types/external_target_field_api_response.py +25 -0
  143. merge/resources/knowledgebase/types/field_mapping_api_instance.py +26 -0
  144. merge/resources/knowledgebase/types/field_mapping_api_instance_remote_field.py +27 -0
  145. merge/resources/knowledgebase/types/field_mapping_api_instance_remote_field_remote_endpoint_info.py +22 -0
  146. merge/resources/knowledgebase/types/field_mapping_api_instance_response.py +25 -0
  147. merge/resources/knowledgebase/types/field_mapping_api_instance_target_field.py +22 -0
  148. merge/resources/knowledgebase/types/field_mapping_instance_response.py +27 -0
  149. merge/resources/knowledgebase/types/field_permission_deserializer.py +21 -0
  150. merge/resources/knowledgebase/types/field_permission_deserializer_request.py +21 -0
  151. merge/resources/knowledgebase/types/group.py +71 -0
  152. merge/resources/knowledgebase/types/group_parent_group.py +9 -0
  153. merge/resources/knowledgebase/types/group_users_item.py +7 -0
  154. merge/resources/knowledgebase/types/individual_common_model_scope_deserializer.py +24 -0
  155. merge/resources/knowledgebase/types/individual_common_model_scope_deserializer_request.py +24 -0
  156. merge/resources/knowledgebase/types/issue.py +36 -0
  157. merge/resources/knowledgebase/types/issue_status.py +7 -0
  158. merge/resources/knowledgebase/types/issue_status_enum.py +22 -0
  159. merge/resources/knowledgebase/types/language_enum.py +22 -0
  160. merge/resources/knowledgebase/types/last_sync_result_enum.py +46 -0
  161. merge/resources/knowledgebase/types/link_token.py +22 -0
  162. merge/resources/knowledgebase/types/method_enum.py +51 -0
  163. merge/resources/knowledgebase/types/model_operation.py +32 -0
  164. merge/resources/knowledgebase/types/model_permission_deserializer.py +20 -0
  165. merge/resources/knowledgebase/types/model_permission_deserializer_request.py +20 -0
  166. merge/resources/knowledgebase/types/multipart_form_field_request.py +57 -0
  167. merge/resources/knowledgebase/types/multipart_form_field_request_encoding.py +7 -0
  168. merge/resources/knowledgebase/types/paginated_account_details_and_actions_list.py +23 -0
  169. merge/resources/knowledgebase/types/paginated_article_list.py +30 -0
  170. merge/resources/knowledgebase/types/paginated_attachment_list.py +23 -0
  171. merge/resources/knowledgebase/types/paginated_audit_log_event_list.py +23 -0
  172. merge/resources/knowledgebase/types/paginated_container_list.py +30 -0
  173. merge/resources/knowledgebase/types/paginated_group_list.py +29 -0
  174. merge/resources/knowledgebase/types/paginated_issue_list.py +23 -0
  175. merge/resources/knowledgebase/types/paginated_sync_status_list.py +23 -0
  176. merge/resources/knowledgebase/types/paginated_user_list.py +23 -0
  177. merge/resources/knowledgebase/types/permission.py +77 -0
  178. merge/resources/knowledgebase/types/permission_group.py +7 -0
  179. merge/resources/knowledgebase/types/permission_type.py +7 -0
  180. merge/resources/knowledgebase/types/permission_type_enum.py +36 -0
  181. merge/resources/knowledgebase/types/permission_user.py +7 -0
  182. merge/resources/knowledgebase/types/remote_data.py +34 -0
  183. merge/resources/knowledgebase/types/remote_endpoint_info.py +22 -0
  184. merge/resources/knowledgebase/types/remote_field_api.py +28 -0
  185. merge/resources/knowledgebase/types/remote_field_api_advanced_metadata.py +7 -0
  186. merge/resources/knowledgebase/types/remote_field_api_coverage.py +5 -0
  187. merge/resources/knowledgebase/types/remote_field_api_response.py +25 -0
  188. merge/resources/knowledgebase/types/remote_key.py +30 -0
  189. merge/resources/knowledgebase/types/remote_response.py +36 -0
  190. merge/resources/knowledgebase/types/remote_response_response_type.py +7 -0
  191. merge/resources/knowledgebase/types/request_format_enum.py +31 -0
  192. merge/resources/knowledgebase/types/response_type_enum.py +22 -0
  193. merge/resources/knowledgebase/types/role_enum.py +46 -0
  194. merge/resources/knowledgebase/types/roles_enum.py +31 -0
  195. merge/resources/knowledgebase/types/selective_sync_configurations_usage_enum.py +24 -0
  196. merge/resources/knowledgebase/types/status_3_c_6_enum.py +36 -0
  197. merge/resources/knowledgebase/types/status_fd_5_enum.py +46 -0
  198. merge/resources/knowledgebase/types/sync_status.py +41 -0
  199. merge/resources/knowledgebase/types/sync_status_last_sync_result.py +7 -0
  200. merge/resources/knowledgebase/types/sync_status_status.py +7 -0
  201. merge/resources/knowledgebase/types/user.py +60 -0
  202. merge/resources/knowledgebase/types/validation_problem_source.py +20 -0
  203. merge/resources/knowledgebase/types/visibility_enum.py +31 -0
  204. merge/resources/knowledgebase/types/warning_validation_problem.py +24 -0
  205. merge/resources/knowledgebase/types/webhook_receiver.py +22 -0
  206. {mergepythonclient-2.3.2.dist-info → mergepythonclient-2.4.0.dist-info}/METADATA +2 -1
  207. {mergepythonclient-2.3.2.dist-info → mergepythonclient-2.4.0.dist-info}/RECORD +209 -8
  208. {mergepythonclient-2.3.2.dist-info → mergepythonclient-2.4.0.dist-info}/LICENSE.md +0 -0
  209. {mergepythonclient-2.3.2.dist-info → mergepythonclient-2.4.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,480 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from __future__ import annotations
4
+
5
+ import typing
6
+
7
+ from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
8
+ from .raw_client import AsyncRawKnowledgebaseClient, RawKnowledgebaseClient
9
+
10
+ if typing.TYPE_CHECKING:
11
+ from .resources.account_details.client import AccountDetailsClient, AsyncAccountDetailsClient
12
+ from .resources.account_token.client import AccountTokenClient, AsyncAccountTokenClient
13
+ from .resources.articles.client import ArticlesClient, AsyncArticlesClient
14
+ from .resources.async_passthrough.client import AsyncAsyncPassthroughClient
15
+ from .resources.async_passthrough.client import (
16
+ AsyncPassthroughClient as resources_knowledgebase_resources_async_passthrough_client_AsyncPassthroughClient,
17
+ )
18
+ from .resources.attachments.client import AsyncAttachmentsClient, AttachmentsClient
19
+ from .resources.audit_trail.client import AsyncAuditTrailClient, AuditTrailClient
20
+ from .resources.available_actions.client import AsyncAvailableActionsClient, AvailableActionsClient
21
+ from .resources.containers.client import AsyncContainersClient, ContainersClient
22
+ from .resources.delete_account.client import AsyncDeleteAccountClient, DeleteAccountClient
23
+ from .resources.field_mapping.client import AsyncFieldMappingClient, FieldMappingClient
24
+ from .resources.force_resync.client import AsyncForceResyncClient, ForceResyncClient
25
+ from .resources.generate_key.client import AsyncGenerateKeyClient, GenerateKeyClient
26
+ from .resources.groups.client import AsyncGroupsClient, GroupsClient
27
+ from .resources.issues.client import AsyncIssuesClient, IssuesClient
28
+ from .resources.link_token.client import AsyncLinkTokenClient, LinkTokenClient
29
+ from .resources.linked_accounts.client import AsyncLinkedAccountsClient, LinkedAccountsClient
30
+ from .resources.passthrough.client import (
31
+ AsyncPassthroughClient as resources_knowledgebase_resources_passthrough_client_AsyncPassthroughClient,
32
+ )
33
+ from .resources.passthrough.client import PassthroughClient
34
+ from .resources.regenerate_key.client import AsyncRegenerateKeyClient, RegenerateKeyClient
35
+ from .resources.scopes.client import AsyncScopesClient, ScopesClient
36
+ from .resources.sync_status.client import AsyncSyncStatusClient, SyncStatusClient
37
+ from .resources.users.client import AsyncUsersClient, UsersClient
38
+ from .resources.webhook_receivers.client import AsyncWebhookReceiversClient, WebhookReceiversClient
39
+
40
+
41
+ class KnowledgebaseClient:
42
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
43
+ self._raw_client = RawKnowledgebaseClient(client_wrapper=client_wrapper)
44
+ self._client_wrapper = client_wrapper
45
+ self._account_details: typing.Optional[AccountDetailsClient] = None
46
+ self._account_token: typing.Optional[AccountTokenClient] = None
47
+ self._articles: typing.Optional[ArticlesClient] = None
48
+ self._async_passthrough: typing.Optional[
49
+ resources_knowledgebase_resources_async_passthrough_client_AsyncPassthroughClient
50
+ ] = None
51
+ self._attachments: typing.Optional[AttachmentsClient] = None
52
+ self._audit_trail: typing.Optional[AuditTrailClient] = None
53
+ self._available_actions: typing.Optional[AvailableActionsClient] = None
54
+ self._containers: typing.Optional[ContainersClient] = None
55
+ self._scopes: typing.Optional[ScopesClient] = None
56
+ self._delete_account: typing.Optional[DeleteAccountClient] = None
57
+ self._field_mapping: typing.Optional[FieldMappingClient] = None
58
+ self._generate_key: typing.Optional[GenerateKeyClient] = None
59
+ self._groups: typing.Optional[GroupsClient] = None
60
+ self._issues: typing.Optional[IssuesClient] = None
61
+ self._link_token: typing.Optional[LinkTokenClient] = None
62
+ self._linked_accounts: typing.Optional[LinkedAccountsClient] = None
63
+ self._passthrough: typing.Optional[PassthroughClient] = None
64
+ self._regenerate_key: typing.Optional[RegenerateKeyClient] = None
65
+ self._sync_status: typing.Optional[SyncStatusClient] = None
66
+ self._force_resync: typing.Optional[ForceResyncClient] = None
67
+ self._users: typing.Optional[UsersClient] = None
68
+ self._webhook_receivers: typing.Optional[WebhookReceiversClient] = None
69
+
70
+ @property
71
+ def with_raw_response(self) -> RawKnowledgebaseClient:
72
+ """
73
+ Retrieves a raw implementation of this client that returns raw responses.
74
+
75
+ Returns
76
+ -------
77
+ RawKnowledgebaseClient
78
+ """
79
+ return self._raw_client
80
+
81
+ @property
82
+ def account_details(self):
83
+ if self._account_details is None:
84
+ from .resources.account_details.client import AccountDetailsClient # noqa: E402
85
+
86
+ self._account_details = AccountDetailsClient(client_wrapper=self._client_wrapper)
87
+ return self._account_details
88
+
89
+ @property
90
+ def account_token(self):
91
+ if self._account_token is None:
92
+ from .resources.account_token.client import AccountTokenClient # noqa: E402
93
+
94
+ self._account_token = AccountTokenClient(client_wrapper=self._client_wrapper)
95
+ return self._account_token
96
+
97
+ @property
98
+ def articles(self):
99
+ if self._articles is None:
100
+ from .resources.articles.client import ArticlesClient # noqa: E402
101
+
102
+ self._articles = ArticlesClient(client_wrapper=self._client_wrapper)
103
+ return self._articles
104
+
105
+ @property
106
+ def async_passthrough(self):
107
+ if self._async_passthrough is None:
108
+ from .resources.async_passthrough.client import (
109
+ AsyncPassthroughClient as resources_knowledgebase_resources_async_passthrough_client_AsyncPassthroughClient, # noqa: E402
110
+ )
111
+
112
+ self._async_passthrough = resources_knowledgebase_resources_async_passthrough_client_AsyncPassthroughClient(
113
+ client_wrapper=self._client_wrapper
114
+ )
115
+ return self._async_passthrough
116
+
117
+ @property
118
+ def attachments(self):
119
+ if self._attachments is None:
120
+ from .resources.attachments.client import AttachmentsClient # noqa: E402
121
+
122
+ self._attachments = AttachmentsClient(client_wrapper=self._client_wrapper)
123
+ return self._attachments
124
+
125
+ @property
126
+ def audit_trail(self):
127
+ if self._audit_trail is None:
128
+ from .resources.audit_trail.client import AuditTrailClient # noqa: E402
129
+
130
+ self._audit_trail = AuditTrailClient(client_wrapper=self._client_wrapper)
131
+ return self._audit_trail
132
+
133
+ @property
134
+ def available_actions(self):
135
+ if self._available_actions is None:
136
+ from .resources.available_actions.client import AvailableActionsClient # noqa: E402
137
+
138
+ self._available_actions = AvailableActionsClient(client_wrapper=self._client_wrapper)
139
+ return self._available_actions
140
+
141
+ @property
142
+ def containers(self):
143
+ if self._containers is None:
144
+ from .resources.containers.client import ContainersClient # noqa: E402
145
+
146
+ self._containers = ContainersClient(client_wrapper=self._client_wrapper)
147
+ return self._containers
148
+
149
+ @property
150
+ def scopes(self):
151
+ if self._scopes is None:
152
+ from .resources.scopes.client import ScopesClient # noqa: E402
153
+
154
+ self._scopes = ScopesClient(client_wrapper=self._client_wrapper)
155
+ return self._scopes
156
+
157
+ @property
158
+ def delete_account(self):
159
+ if self._delete_account is None:
160
+ from .resources.delete_account.client import DeleteAccountClient # noqa: E402
161
+
162
+ self._delete_account = DeleteAccountClient(client_wrapper=self._client_wrapper)
163
+ return self._delete_account
164
+
165
+ @property
166
+ def field_mapping(self):
167
+ if self._field_mapping is None:
168
+ from .resources.field_mapping.client import FieldMappingClient # noqa: E402
169
+
170
+ self._field_mapping = FieldMappingClient(client_wrapper=self._client_wrapper)
171
+ return self._field_mapping
172
+
173
+ @property
174
+ def generate_key(self):
175
+ if self._generate_key is None:
176
+ from .resources.generate_key.client import GenerateKeyClient # noqa: E402
177
+
178
+ self._generate_key = GenerateKeyClient(client_wrapper=self._client_wrapper)
179
+ return self._generate_key
180
+
181
+ @property
182
+ def groups(self):
183
+ if self._groups is None:
184
+ from .resources.groups.client import GroupsClient # noqa: E402
185
+
186
+ self._groups = GroupsClient(client_wrapper=self._client_wrapper)
187
+ return self._groups
188
+
189
+ @property
190
+ def issues(self):
191
+ if self._issues is None:
192
+ from .resources.issues.client import IssuesClient # noqa: E402
193
+
194
+ self._issues = IssuesClient(client_wrapper=self._client_wrapper)
195
+ return self._issues
196
+
197
+ @property
198
+ def link_token(self):
199
+ if self._link_token is None:
200
+ from .resources.link_token.client import LinkTokenClient # noqa: E402
201
+
202
+ self._link_token = LinkTokenClient(client_wrapper=self._client_wrapper)
203
+ return self._link_token
204
+
205
+ @property
206
+ def linked_accounts(self):
207
+ if self._linked_accounts is None:
208
+ from .resources.linked_accounts.client import LinkedAccountsClient # noqa: E402
209
+
210
+ self._linked_accounts = LinkedAccountsClient(client_wrapper=self._client_wrapper)
211
+ return self._linked_accounts
212
+
213
+ @property
214
+ def passthrough(self):
215
+ if self._passthrough is None:
216
+ from .resources.passthrough.client import PassthroughClient # noqa: E402
217
+
218
+ self._passthrough = PassthroughClient(client_wrapper=self._client_wrapper)
219
+ return self._passthrough
220
+
221
+ @property
222
+ def regenerate_key(self):
223
+ if self._regenerate_key is None:
224
+ from .resources.regenerate_key.client import RegenerateKeyClient # noqa: E402
225
+
226
+ self._regenerate_key = RegenerateKeyClient(client_wrapper=self._client_wrapper)
227
+ return self._regenerate_key
228
+
229
+ @property
230
+ def sync_status(self):
231
+ if self._sync_status is None:
232
+ from .resources.sync_status.client import SyncStatusClient # noqa: E402
233
+
234
+ self._sync_status = SyncStatusClient(client_wrapper=self._client_wrapper)
235
+ return self._sync_status
236
+
237
+ @property
238
+ def force_resync(self):
239
+ if self._force_resync is None:
240
+ from .resources.force_resync.client import ForceResyncClient # noqa: E402
241
+
242
+ self._force_resync = ForceResyncClient(client_wrapper=self._client_wrapper)
243
+ return self._force_resync
244
+
245
+ @property
246
+ def users(self):
247
+ if self._users is None:
248
+ from .resources.users.client import UsersClient # noqa: E402
249
+
250
+ self._users = UsersClient(client_wrapper=self._client_wrapper)
251
+ return self._users
252
+
253
+ @property
254
+ def webhook_receivers(self):
255
+ if self._webhook_receivers is None:
256
+ from .resources.webhook_receivers.client import WebhookReceiversClient # noqa: E402
257
+
258
+ self._webhook_receivers = WebhookReceiversClient(client_wrapper=self._client_wrapper)
259
+ return self._webhook_receivers
260
+
261
+
262
+ class AsyncKnowledgebaseClient:
263
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
264
+ self._raw_client = AsyncRawKnowledgebaseClient(client_wrapper=client_wrapper)
265
+ self._client_wrapper = client_wrapper
266
+ self._account_details: typing.Optional[AsyncAccountDetailsClient] = None
267
+ self._account_token: typing.Optional[AsyncAccountTokenClient] = None
268
+ self._articles: typing.Optional[AsyncArticlesClient] = None
269
+ self._async_passthrough: typing.Optional[AsyncAsyncPassthroughClient] = None
270
+ self._attachments: typing.Optional[AsyncAttachmentsClient] = None
271
+ self._audit_trail: typing.Optional[AsyncAuditTrailClient] = None
272
+ self._available_actions: typing.Optional[AsyncAvailableActionsClient] = None
273
+ self._containers: typing.Optional[AsyncContainersClient] = None
274
+ self._scopes: typing.Optional[AsyncScopesClient] = None
275
+ self._delete_account: typing.Optional[AsyncDeleteAccountClient] = None
276
+ self._field_mapping: typing.Optional[AsyncFieldMappingClient] = None
277
+ self._generate_key: typing.Optional[AsyncGenerateKeyClient] = None
278
+ self._groups: typing.Optional[AsyncGroupsClient] = None
279
+ self._issues: typing.Optional[AsyncIssuesClient] = None
280
+ self._link_token: typing.Optional[AsyncLinkTokenClient] = None
281
+ self._linked_accounts: typing.Optional[AsyncLinkedAccountsClient] = None
282
+ self._passthrough: typing.Optional[
283
+ resources_knowledgebase_resources_passthrough_client_AsyncPassthroughClient
284
+ ] = None
285
+ self._regenerate_key: typing.Optional[AsyncRegenerateKeyClient] = None
286
+ self._sync_status: typing.Optional[AsyncSyncStatusClient] = None
287
+ self._force_resync: typing.Optional[AsyncForceResyncClient] = None
288
+ self._users: typing.Optional[AsyncUsersClient] = None
289
+ self._webhook_receivers: typing.Optional[AsyncWebhookReceiversClient] = None
290
+
291
+ @property
292
+ def with_raw_response(self) -> AsyncRawKnowledgebaseClient:
293
+ """
294
+ Retrieves a raw implementation of this client that returns raw responses.
295
+
296
+ Returns
297
+ -------
298
+ AsyncRawKnowledgebaseClient
299
+ """
300
+ return self._raw_client
301
+
302
+ @property
303
+ def account_details(self):
304
+ if self._account_details is None:
305
+ from .resources.account_details.client import AsyncAccountDetailsClient # noqa: E402
306
+
307
+ self._account_details = AsyncAccountDetailsClient(client_wrapper=self._client_wrapper)
308
+ return self._account_details
309
+
310
+ @property
311
+ def account_token(self):
312
+ if self._account_token is None:
313
+ from .resources.account_token.client import AsyncAccountTokenClient # noqa: E402
314
+
315
+ self._account_token = AsyncAccountTokenClient(client_wrapper=self._client_wrapper)
316
+ return self._account_token
317
+
318
+ @property
319
+ def articles(self):
320
+ if self._articles is None:
321
+ from .resources.articles.client import AsyncArticlesClient # noqa: E402
322
+
323
+ self._articles = AsyncArticlesClient(client_wrapper=self._client_wrapper)
324
+ return self._articles
325
+
326
+ @property
327
+ def async_passthrough(self):
328
+ if self._async_passthrough is None:
329
+ from .resources.async_passthrough.client import AsyncAsyncPassthroughClient # noqa: E402
330
+
331
+ self._async_passthrough = AsyncAsyncPassthroughClient(client_wrapper=self._client_wrapper)
332
+ return self._async_passthrough
333
+
334
+ @property
335
+ def attachments(self):
336
+ if self._attachments is None:
337
+ from .resources.attachments.client import AsyncAttachmentsClient # noqa: E402
338
+
339
+ self._attachments = AsyncAttachmentsClient(client_wrapper=self._client_wrapper)
340
+ return self._attachments
341
+
342
+ @property
343
+ def audit_trail(self):
344
+ if self._audit_trail is None:
345
+ from .resources.audit_trail.client import AsyncAuditTrailClient # noqa: E402
346
+
347
+ self._audit_trail = AsyncAuditTrailClient(client_wrapper=self._client_wrapper)
348
+ return self._audit_trail
349
+
350
+ @property
351
+ def available_actions(self):
352
+ if self._available_actions is None:
353
+ from .resources.available_actions.client import AsyncAvailableActionsClient # noqa: E402
354
+
355
+ self._available_actions = AsyncAvailableActionsClient(client_wrapper=self._client_wrapper)
356
+ return self._available_actions
357
+
358
+ @property
359
+ def containers(self):
360
+ if self._containers is None:
361
+ from .resources.containers.client import AsyncContainersClient # noqa: E402
362
+
363
+ self._containers = AsyncContainersClient(client_wrapper=self._client_wrapper)
364
+ return self._containers
365
+
366
+ @property
367
+ def scopes(self):
368
+ if self._scopes is None:
369
+ from .resources.scopes.client import AsyncScopesClient # noqa: E402
370
+
371
+ self._scopes = AsyncScopesClient(client_wrapper=self._client_wrapper)
372
+ return self._scopes
373
+
374
+ @property
375
+ def delete_account(self):
376
+ if self._delete_account is None:
377
+ from .resources.delete_account.client import AsyncDeleteAccountClient # noqa: E402
378
+
379
+ self._delete_account = AsyncDeleteAccountClient(client_wrapper=self._client_wrapper)
380
+ return self._delete_account
381
+
382
+ @property
383
+ def field_mapping(self):
384
+ if self._field_mapping is None:
385
+ from .resources.field_mapping.client import AsyncFieldMappingClient # noqa: E402
386
+
387
+ self._field_mapping = AsyncFieldMappingClient(client_wrapper=self._client_wrapper)
388
+ return self._field_mapping
389
+
390
+ @property
391
+ def generate_key(self):
392
+ if self._generate_key is None:
393
+ from .resources.generate_key.client import AsyncGenerateKeyClient # noqa: E402
394
+
395
+ self._generate_key = AsyncGenerateKeyClient(client_wrapper=self._client_wrapper)
396
+ return self._generate_key
397
+
398
+ @property
399
+ def groups(self):
400
+ if self._groups is None:
401
+ from .resources.groups.client import AsyncGroupsClient # noqa: E402
402
+
403
+ self._groups = AsyncGroupsClient(client_wrapper=self._client_wrapper)
404
+ return self._groups
405
+
406
+ @property
407
+ def issues(self):
408
+ if self._issues is None:
409
+ from .resources.issues.client import AsyncIssuesClient # noqa: E402
410
+
411
+ self._issues = AsyncIssuesClient(client_wrapper=self._client_wrapper)
412
+ return self._issues
413
+
414
+ @property
415
+ def link_token(self):
416
+ if self._link_token is None:
417
+ from .resources.link_token.client import AsyncLinkTokenClient # noqa: E402
418
+
419
+ self._link_token = AsyncLinkTokenClient(client_wrapper=self._client_wrapper)
420
+ return self._link_token
421
+
422
+ @property
423
+ def linked_accounts(self):
424
+ if self._linked_accounts is None:
425
+ from .resources.linked_accounts.client import AsyncLinkedAccountsClient # noqa: E402
426
+
427
+ self._linked_accounts = AsyncLinkedAccountsClient(client_wrapper=self._client_wrapper)
428
+ return self._linked_accounts
429
+
430
+ @property
431
+ def passthrough(self):
432
+ if self._passthrough is None:
433
+ from .resources.passthrough.client import (
434
+ AsyncPassthroughClient as resources_knowledgebase_resources_passthrough_client_AsyncPassthroughClient, # noqa: E402
435
+ )
436
+
437
+ self._passthrough = resources_knowledgebase_resources_passthrough_client_AsyncPassthroughClient(
438
+ client_wrapper=self._client_wrapper
439
+ )
440
+ return self._passthrough
441
+
442
+ @property
443
+ def regenerate_key(self):
444
+ if self._regenerate_key is None:
445
+ from .resources.regenerate_key.client import AsyncRegenerateKeyClient # noqa: E402
446
+
447
+ self._regenerate_key = AsyncRegenerateKeyClient(client_wrapper=self._client_wrapper)
448
+ return self._regenerate_key
449
+
450
+ @property
451
+ def sync_status(self):
452
+ if self._sync_status is None:
453
+ from .resources.sync_status.client import AsyncSyncStatusClient # noqa: E402
454
+
455
+ self._sync_status = AsyncSyncStatusClient(client_wrapper=self._client_wrapper)
456
+ return self._sync_status
457
+
458
+ @property
459
+ def force_resync(self):
460
+ if self._force_resync is None:
461
+ from .resources.force_resync.client import AsyncForceResyncClient # noqa: E402
462
+
463
+ self._force_resync = AsyncForceResyncClient(client_wrapper=self._client_wrapper)
464
+ return self._force_resync
465
+
466
+ @property
467
+ def users(self):
468
+ if self._users is None:
469
+ from .resources.users.client import AsyncUsersClient # noqa: E402
470
+
471
+ self._users = AsyncUsersClient(client_wrapper=self._client_wrapper)
472
+ return self._users
473
+
474
+ @property
475
+ def webhook_receivers(self):
476
+ if self._webhook_receivers is None:
477
+ from .resources.webhook_receivers.client import AsyncWebhookReceiversClient # noqa: E402
478
+
479
+ self._webhook_receivers = AsyncWebhookReceiversClient(client_wrapper=self._client_wrapper)
480
+ return self._webhook_receivers
@@ -0,0 +1,13 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
4
+
5
+
6
+ class RawKnowledgebaseClient:
7
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
8
+ self._client_wrapper = client_wrapper
9
+
10
+
11
+ class AsyncRawKnowledgebaseClient:
12
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
13
+ self._client_wrapper = client_wrapper
@@ -0,0 +1,128 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ # isort: skip_file
4
+
5
+ import typing
6
+ from importlib import import_module
7
+
8
+ if typing.TYPE_CHECKING:
9
+ from . import (
10
+ account_details,
11
+ account_token,
12
+ articles,
13
+ async_passthrough,
14
+ attachments,
15
+ audit_trail,
16
+ available_actions,
17
+ containers,
18
+ delete_account,
19
+ field_mapping,
20
+ force_resync,
21
+ generate_key,
22
+ groups,
23
+ issues,
24
+ link_token,
25
+ linked_accounts,
26
+ passthrough,
27
+ regenerate_key,
28
+ scopes,
29
+ sync_status,
30
+ users,
31
+ webhook_receivers,
32
+ )
33
+ from .articles import ArticlesListRequestExpand, ArticlesRetrieveRequestExpand
34
+ from .async_passthrough import AsyncPassthroughRetrieveResponse
35
+ from .containers import ContainersListRequestExpand, ContainersRetrieveRequestExpand
36
+ from .groups import GroupsListRequestExpand, GroupsRetrieveRequestExpand
37
+ from .issues import IssuesListRequestStatus
38
+ from .link_token import EndUserDetailsRequestLanguage
39
+ from .linked_accounts import LinkedAccountsListRequestCategory
40
+ _dynamic_imports: typing.Dict[str, str] = {
41
+ "ArticlesListRequestExpand": ".articles",
42
+ "ArticlesRetrieveRequestExpand": ".articles",
43
+ "AsyncPassthroughRetrieveResponse": ".async_passthrough",
44
+ "ContainersListRequestExpand": ".containers",
45
+ "ContainersRetrieveRequestExpand": ".containers",
46
+ "EndUserDetailsRequestLanguage": ".link_token",
47
+ "GroupsListRequestExpand": ".groups",
48
+ "GroupsRetrieveRequestExpand": ".groups",
49
+ "IssuesListRequestStatus": ".issues",
50
+ "LinkedAccountsListRequestCategory": ".linked_accounts",
51
+ "account_details": ".",
52
+ "account_token": ".",
53
+ "articles": ".",
54
+ "async_passthrough": ".",
55
+ "attachments": ".",
56
+ "audit_trail": ".",
57
+ "available_actions": ".",
58
+ "containers": ".",
59
+ "delete_account": ".",
60
+ "field_mapping": ".",
61
+ "force_resync": ".",
62
+ "generate_key": ".",
63
+ "groups": ".",
64
+ "issues": ".",
65
+ "link_token": ".",
66
+ "linked_accounts": ".",
67
+ "passthrough": ".",
68
+ "regenerate_key": ".",
69
+ "scopes": ".",
70
+ "sync_status": ".",
71
+ "users": ".",
72
+ "webhook_receivers": ".",
73
+ }
74
+
75
+
76
+ def __getattr__(attr_name: str) -> typing.Any:
77
+ module_name = _dynamic_imports.get(attr_name)
78
+ if module_name is None:
79
+ raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
80
+ try:
81
+ module = import_module(module_name, __package__)
82
+ result = getattr(module, attr_name)
83
+ return result
84
+ except ImportError as e:
85
+ raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
86
+ except AttributeError as e:
87
+ raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e
88
+
89
+
90
+ def __dir__():
91
+ lazy_attrs = list(_dynamic_imports.keys())
92
+ return sorted(lazy_attrs)
93
+
94
+
95
+ __all__ = [
96
+ "ArticlesListRequestExpand",
97
+ "ArticlesRetrieveRequestExpand",
98
+ "AsyncPassthroughRetrieveResponse",
99
+ "ContainersListRequestExpand",
100
+ "ContainersRetrieveRequestExpand",
101
+ "EndUserDetailsRequestLanguage",
102
+ "GroupsListRequestExpand",
103
+ "GroupsRetrieveRequestExpand",
104
+ "IssuesListRequestStatus",
105
+ "LinkedAccountsListRequestCategory",
106
+ "account_details",
107
+ "account_token",
108
+ "articles",
109
+ "async_passthrough",
110
+ "attachments",
111
+ "audit_trail",
112
+ "available_actions",
113
+ "containers",
114
+ "delete_account",
115
+ "field_mapping",
116
+ "force_resync",
117
+ "generate_key",
118
+ "groups",
119
+ "issues",
120
+ "link_token",
121
+ "linked_accounts",
122
+ "passthrough",
123
+ "regenerate_key",
124
+ "scopes",
125
+ "sync_status",
126
+ "users",
127
+ "webhook_receivers",
128
+ ]
@@ -0,0 +1,4 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ # isort: skip_file
4
+