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
merge/__init__.py CHANGED
@@ -6,7 +6,7 @@ import typing
6
6
  from importlib import import_module
7
7
 
8
8
  if typing.TYPE_CHECKING:
9
- from .resources import accounting, ats, crm, filestorage, hris, ticketing
9
+ from .resources import accounting, ats, crm, filestorage, hris, knowledgebase, ticketing
10
10
  from .client import AsyncMerge, Merge
11
11
  from .environment import MergeEnvironment
12
12
  from .version import __version__
@@ -20,6 +20,7 @@ _dynamic_imports: typing.Dict[str, str] = {
20
20
  "crm": ".resources",
21
21
  "filestorage": ".resources",
22
22
  "hris": ".resources",
23
+ "knowledgebase": ".resources",
23
24
  "ticketing": ".resources",
24
25
  }
25
26
 
@@ -53,5 +54,6 @@ __all__ = [
53
54
  "crm",
54
55
  "filestorage",
55
56
  "hris",
57
+ "knowledgebase",
56
58
  "ticketing",
57
59
  ]
merge/client.py CHANGED
@@ -14,6 +14,7 @@ if typing.TYPE_CHECKING:
14
14
  from .resources.crm.client import AsyncCrmClient, CrmClient
15
15
  from .resources.filestorage.client import AsyncFilestorageClient, FilestorageClient
16
16
  from .resources.hris.client import AsyncHrisClient, HrisClient
17
+ from .resources.knowledgebase.client import AsyncKnowledgebaseClient, KnowledgebaseClient
17
18
  from .resources.ticketing.client import AsyncTicketingClient, TicketingClient
18
19
 
19
20
 
@@ -87,10 +88,11 @@ class Merge:
87
88
  timeout=_defaulted_timeout,
88
89
  )
89
90
  self._ats: typing.Optional[AtsClient] = None
90
- self._crm: typing.Optional[CrmClient] = None
91
91
  self._filestorage: typing.Optional[FilestorageClient] = None
92
- self._ticketing: typing.Optional[TicketingClient] = None
92
+ self._crm: typing.Optional[CrmClient] = None
93
+ self._knowledgebase: typing.Optional[KnowledgebaseClient] = None
93
94
  self._hris: typing.Optional[HrisClient] = None
95
+ self._ticketing: typing.Optional[TicketingClient] = None
94
96
  self._accounting: typing.Optional[AccountingClient] = None
95
97
 
96
98
  @property
@@ -101,14 +103,6 @@ class Merge:
101
103
  self._ats = AtsClient(client_wrapper=self._client_wrapper)
102
104
  return self._ats
103
105
 
104
- @property
105
- def crm(self):
106
- if self._crm is None:
107
- from .resources.crm.client import CrmClient # noqa: E402
108
-
109
- self._crm = CrmClient(client_wrapper=self._client_wrapper)
110
- return self._crm
111
-
112
106
  @property
113
107
  def filestorage(self):
114
108
  if self._filestorage is None:
@@ -118,12 +112,20 @@ class Merge:
118
112
  return self._filestorage
119
113
 
120
114
  @property
121
- def ticketing(self):
122
- if self._ticketing is None:
123
- from .resources.ticketing.client import TicketingClient # noqa: E402
115
+ def crm(self):
116
+ if self._crm is None:
117
+ from .resources.crm.client import CrmClient # noqa: E402
124
118
 
125
- self._ticketing = TicketingClient(client_wrapper=self._client_wrapper)
126
- return self._ticketing
119
+ self._crm = CrmClient(client_wrapper=self._client_wrapper)
120
+ return self._crm
121
+
122
+ @property
123
+ def knowledgebase(self):
124
+ if self._knowledgebase is None:
125
+ from .resources.knowledgebase.client import KnowledgebaseClient # noqa: E402
126
+
127
+ self._knowledgebase = KnowledgebaseClient(client_wrapper=self._client_wrapper)
128
+ return self._knowledgebase
127
129
 
128
130
  @property
129
131
  def hris(self):
@@ -133,6 +135,14 @@ class Merge:
133
135
  self._hris = HrisClient(client_wrapper=self._client_wrapper)
134
136
  return self._hris
135
137
 
138
+ @property
139
+ def ticketing(self):
140
+ if self._ticketing is None:
141
+ from .resources.ticketing.client import TicketingClient # noqa: E402
142
+
143
+ self._ticketing = TicketingClient(client_wrapper=self._client_wrapper)
144
+ return self._ticketing
145
+
136
146
  @property
137
147
  def accounting(self):
138
148
  if self._accounting is None:
@@ -212,10 +222,11 @@ class AsyncMerge:
212
222
  timeout=_defaulted_timeout,
213
223
  )
214
224
  self._ats: typing.Optional[AsyncAtsClient] = None
215
- self._crm: typing.Optional[AsyncCrmClient] = None
216
225
  self._filestorage: typing.Optional[AsyncFilestorageClient] = None
217
- self._ticketing: typing.Optional[AsyncTicketingClient] = None
226
+ self._crm: typing.Optional[AsyncCrmClient] = None
227
+ self._knowledgebase: typing.Optional[AsyncKnowledgebaseClient] = None
218
228
  self._hris: typing.Optional[AsyncHrisClient] = None
229
+ self._ticketing: typing.Optional[AsyncTicketingClient] = None
219
230
  self._accounting: typing.Optional[AsyncAccountingClient] = None
220
231
 
221
232
  @property
@@ -226,14 +237,6 @@ class AsyncMerge:
226
237
  self._ats = AsyncAtsClient(client_wrapper=self._client_wrapper)
227
238
  return self._ats
228
239
 
229
- @property
230
- def crm(self):
231
- if self._crm is None:
232
- from .resources.crm.client import AsyncCrmClient # noqa: E402
233
-
234
- self._crm = AsyncCrmClient(client_wrapper=self._client_wrapper)
235
- return self._crm
236
-
237
240
  @property
238
241
  def filestorage(self):
239
242
  if self._filestorage is None:
@@ -243,12 +246,20 @@ class AsyncMerge:
243
246
  return self._filestorage
244
247
 
245
248
  @property
246
- def ticketing(self):
247
- if self._ticketing is None:
248
- from .resources.ticketing.client import AsyncTicketingClient # noqa: E402
249
+ def crm(self):
250
+ if self._crm is None:
251
+ from .resources.crm.client import AsyncCrmClient # noqa: E402
249
252
 
250
- self._ticketing = AsyncTicketingClient(client_wrapper=self._client_wrapper)
251
- return self._ticketing
253
+ self._crm = AsyncCrmClient(client_wrapper=self._client_wrapper)
254
+ return self._crm
255
+
256
+ @property
257
+ def knowledgebase(self):
258
+ if self._knowledgebase is None:
259
+ from .resources.knowledgebase.client import AsyncKnowledgebaseClient # noqa: E402
260
+
261
+ self._knowledgebase = AsyncKnowledgebaseClient(client_wrapper=self._client_wrapper)
262
+ return self._knowledgebase
252
263
 
253
264
  @property
254
265
  def hris(self):
@@ -258,6 +269,14 @@ class AsyncMerge:
258
269
  self._hris = AsyncHrisClient(client_wrapper=self._client_wrapper)
259
270
  return self._hris
260
271
 
272
+ @property
273
+ def ticketing(self):
274
+ if self._ticketing is None:
275
+ from .resources.ticketing.client import AsyncTicketingClient # noqa: E402
276
+
277
+ self._ticketing = AsyncTicketingClient(client_wrapper=self._client_wrapper)
278
+ return self._ticketing
279
+
261
280
  @property
262
281
  def accounting(self):
263
282
  if self._accounting is None:
@@ -24,10 +24,10 @@ class BaseClientWrapper:
24
24
 
25
25
  def get_headers(self) -> typing.Dict[str, str]:
26
26
  headers: typing.Dict[str, str] = {
27
- "User-Agent": "MergePythonClient/2.3.2",
27
+ "User-Agent": "MergePythonClient/2.4.0",
28
28
  "X-Fern-Language": "Python",
29
29
  "X-Fern-SDK-Name": "MergePythonClient",
30
- "X-Fern-SDK-Version": "2.3.2",
30
+ "X-Fern-SDK-Version": "2.4.0",
31
31
  **(self.get_custom_headers() or {}),
32
32
  }
33
33
  if self._account_token is not None:
@@ -6,13 +6,14 @@ import typing
6
6
  from importlib import import_module
7
7
 
8
8
  if typing.TYPE_CHECKING:
9
- from . import accounting, ats, crm, filestorage, hris, ticketing
9
+ from . import accounting, ats, crm, filestorage, hris, knowledgebase, ticketing
10
10
  _dynamic_imports: typing.Dict[str, str] = {
11
11
  "accounting": ".",
12
12
  "ats": ".",
13
13
  "crm": ".",
14
14
  "filestorage": ".",
15
15
  "hris": ".",
16
+ "knowledgebase": ".",
16
17
  "ticketing": ".",
17
18
  }
18
19
 
@@ -36,4 +37,4 @@ def __dir__():
36
37
  return sorted(lazy_attrs)
37
38
 
38
39
 
39
- __all__ = ["accounting", "ats", "crm", "filestorage", "hris", "ticketing"]
40
+ __all__ = ["accounting", "ats", "crm", "filestorage", "hris", "knowledgebase", "ticketing"]
@@ -0,0 +1,472 @@
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 .types import (
10
+ AccountDetails,
11
+ AccountDetailsAndActions,
12
+ AccountDetailsAndActionsCategory,
13
+ AccountDetailsAndActionsIntegration,
14
+ AccountDetailsAndActionsStatus,
15
+ AccountDetailsAndActionsStatusEnum,
16
+ AccountDetailsCategory,
17
+ AccountIntegration,
18
+ AccountToken,
19
+ AdvancedMetadata,
20
+ Article,
21
+ ArticleAttachmentsItem,
22
+ ArticleAuthor,
23
+ ArticleLastEditedBy,
24
+ ArticleParentArticle,
25
+ ArticleParentContainer,
26
+ ArticlePermissionsItem,
27
+ ArticleRootContainer,
28
+ ArticleStatus,
29
+ ArticleType,
30
+ ArticleTypeEnum,
31
+ ArticleVisibility,
32
+ AsyncPassthroughReciept,
33
+ Attachment,
34
+ AuditLogEvent,
35
+ AuditLogEventEventType,
36
+ AuditLogEventRole,
37
+ AvailableActions,
38
+ CategoriesEnum,
39
+ CategoryEnum,
40
+ CommonModelScopeApi,
41
+ CommonModelScopesBodyRequest,
42
+ CompletedAccountInitialScreenEnum,
43
+ Container,
44
+ ContainerPermissionsItem,
45
+ ContainerStatus,
46
+ ContainerType,
47
+ ContainerTypeEnum,
48
+ ContainerVisibility,
49
+ DataPassthroughRequest,
50
+ DataPassthroughRequestMethod,
51
+ DataPassthroughRequestRequestFormat,
52
+ DebugModeLog,
53
+ DebugModelLogSummary,
54
+ EnabledActionsEnum,
55
+ EncodingEnum,
56
+ ErrorValidationProblem,
57
+ EventTypeEnum,
58
+ ExternalTargetFieldApi,
59
+ ExternalTargetFieldApiResponse,
60
+ FieldMappingApiInstance,
61
+ FieldMappingApiInstanceRemoteField,
62
+ FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo,
63
+ FieldMappingApiInstanceResponse,
64
+ FieldMappingApiInstanceTargetField,
65
+ FieldMappingInstanceResponse,
66
+ FieldPermissionDeserializer,
67
+ FieldPermissionDeserializerRequest,
68
+ Group,
69
+ GroupParentGroup,
70
+ GroupUsersItem,
71
+ IndividualCommonModelScopeDeserializer,
72
+ IndividualCommonModelScopeDeserializerRequest,
73
+ Issue,
74
+ IssueStatus,
75
+ IssueStatusEnum,
76
+ LanguageEnum,
77
+ LastSyncResultEnum,
78
+ LinkToken,
79
+ MethodEnum,
80
+ ModelOperation,
81
+ ModelPermissionDeserializer,
82
+ ModelPermissionDeserializerRequest,
83
+ MultipartFormFieldRequest,
84
+ MultipartFormFieldRequestEncoding,
85
+ PaginatedAccountDetailsAndActionsList,
86
+ PaginatedArticleList,
87
+ PaginatedAttachmentList,
88
+ PaginatedAuditLogEventList,
89
+ PaginatedContainerList,
90
+ PaginatedGroupList,
91
+ PaginatedIssueList,
92
+ PaginatedSyncStatusList,
93
+ PaginatedUserList,
94
+ Permission,
95
+ PermissionGroup,
96
+ PermissionType,
97
+ PermissionTypeEnum,
98
+ PermissionUser,
99
+ RemoteData,
100
+ RemoteEndpointInfo,
101
+ RemoteFieldApi,
102
+ RemoteFieldApiAdvancedMetadata,
103
+ RemoteFieldApiCoverage,
104
+ RemoteFieldApiResponse,
105
+ RemoteKey,
106
+ RemoteResponse,
107
+ RemoteResponseResponseType,
108
+ RequestFormatEnum,
109
+ ResponseTypeEnum,
110
+ RoleEnum,
111
+ RolesEnum,
112
+ SelectiveSyncConfigurationsUsageEnum,
113
+ Status3C6Enum,
114
+ StatusFd5Enum,
115
+ SyncStatus,
116
+ SyncStatusLastSyncResult,
117
+ SyncStatusStatus,
118
+ User,
119
+ ValidationProblemSource,
120
+ VisibilityEnum,
121
+ WarningValidationProblem,
122
+ WebhookReceiver,
123
+ )
124
+ from .resources import (
125
+ ArticlesListRequestExpand,
126
+ ArticlesRetrieveRequestExpand,
127
+ AsyncPassthroughRetrieveResponse,
128
+ ContainersListRequestExpand,
129
+ ContainersRetrieveRequestExpand,
130
+ EndUserDetailsRequestLanguage,
131
+ GroupsListRequestExpand,
132
+ GroupsRetrieveRequestExpand,
133
+ IssuesListRequestStatus,
134
+ LinkedAccountsListRequestCategory,
135
+ account_details,
136
+ account_token,
137
+ articles,
138
+ async_passthrough,
139
+ attachments,
140
+ audit_trail,
141
+ available_actions,
142
+ containers,
143
+ delete_account,
144
+ field_mapping,
145
+ force_resync,
146
+ generate_key,
147
+ groups,
148
+ issues,
149
+ link_token,
150
+ linked_accounts,
151
+ passthrough,
152
+ regenerate_key,
153
+ scopes,
154
+ sync_status,
155
+ users,
156
+ webhook_receivers,
157
+ )
158
+ _dynamic_imports: typing.Dict[str, str] = {
159
+ "AccountDetails": ".types",
160
+ "AccountDetailsAndActions": ".types",
161
+ "AccountDetailsAndActionsCategory": ".types",
162
+ "AccountDetailsAndActionsIntegration": ".types",
163
+ "AccountDetailsAndActionsStatus": ".types",
164
+ "AccountDetailsAndActionsStatusEnum": ".types",
165
+ "AccountDetailsCategory": ".types",
166
+ "AccountIntegration": ".types",
167
+ "AccountToken": ".types",
168
+ "AdvancedMetadata": ".types",
169
+ "Article": ".types",
170
+ "ArticleAttachmentsItem": ".types",
171
+ "ArticleAuthor": ".types",
172
+ "ArticleLastEditedBy": ".types",
173
+ "ArticleParentArticle": ".types",
174
+ "ArticleParentContainer": ".types",
175
+ "ArticlePermissionsItem": ".types",
176
+ "ArticleRootContainer": ".types",
177
+ "ArticleStatus": ".types",
178
+ "ArticleType": ".types",
179
+ "ArticleTypeEnum": ".types",
180
+ "ArticleVisibility": ".types",
181
+ "ArticlesListRequestExpand": ".resources",
182
+ "ArticlesRetrieveRequestExpand": ".resources",
183
+ "AsyncPassthroughReciept": ".types",
184
+ "AsyncPassthroughRetrieveResponse": ".resources",
185
+ "Attachment": ".types",
186
+ "AuditLogEvent": ".types",
187
+ "AuditLogEventEventType": ".types",
188
+ "AuditLogEventRole": ".types",
189
+ "AvailableActions": ".types",
190
+ "CategoriesEnum": ".types",
191
+ "CategoryEnum": ".types",
192
+ "CommonModelScopeApi": ".types",
193
+ "CommonModelScopesBodyRequest": ".types",
194
+ "CompletedAccountInitialScreenEnum": ".types",
195
+ "Container": ".types",
196
+ "ContainerPermissionsItem": ".types",
197
+ "ContainerStatus": ".types",
198
+ "ContainerType": ".types",
199
+ "ContainerTypeEnum": ".types",
200
+ "ContainerVisibility": ".types",
201
+ "ContainersListRequestExpand": ".resources",
202
+ "ContainersRetrieveRequestExpand": ".resources",
203
+ "DataPassthroughRequest": ".types",
204
+ "DataPassthroughRequestMethod": ".types",
205
+ "DataPassthroughRequestRequestFormat": ".types",
206
+ "DebugModeLog": ".types",
207
+ "DebugModelLogSummary": ".types",
208
+ "EnabledActionsEnum": ".types",
209
+ "EncodingEnum": ".types",
210
+ "EndUserDetailsRequestLanguage": ".resources",
211
+ "ErrorValidationProblem": ".types",
212
+ "EventTypeEnum": ".types",
213
+ "ExternalTargetFieldApi": ".types",
214
+ "ExternalTargetFieldApiResponse": ".types",
215
+ "FieldMappingApiInstance": ".types",
216
+ "FieldMappingApiInstanceRemoteField": ".types",
217
+ "FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo": ".types",
218
+ "FieldMappingApiInstanceResponse": ".types",
219
+ "FieldMappingApiInstanceTargetField": ".types",
220
+ "FieldMappingInstanceResponse": ".types",
221
+ "FieldPermissionDeserializer": ".types",
222
+ "FieldPermissionDeserializerRequest": ".types",
223
+ "Group": ".types",
224
+ "GroupParentGroup": ".types",
225
+ "GroupUsersItem": ".types",
226
+ "GroupsListRequestExpand": ".resources",
227
+ "GroupsRetrieveRequestExpand": ".resources",
228
+ "IndividualCommonModelScopeDeserializer": ".types",
229
+ "IndividualCommonModelScopeDeserializerRequest": ".types",
230
+ "Issue": ".types",
231
+ "IssueStatus": ".types",
232
+ "IssueStatusEnum": ".types",
233
+ "IssuesListRequestStatus": ".resources",
234
+ "LanguageEnum": ".types",
235
+ "LastSyncResultEnum": ".types",
236
+ "LinkToken": ".types",
237
+ "LinkedAccountsListRequestCategory": ".resources",
238
+ "MethodEnum": ".types",
239
+ "ModelOperation": ".types",
240
+ "ModelPermissionDeserializer": ".types",
241
+ "ModelPermissionDeserializerRequest": ".types",
242
+ "MultipartFormFieldRequest": ".types",
243
+ "MultipartFormFieldRequestEncoding": ".types",
244
+ "PaginatedAccountDetailsAndActionsList": ".types",
245
+ "PaginatedArticleList": ".types",
246
+ "PaginatedAttachmentList": ".types",
247
+ "PaginatedAuditLogEventList": ".types",
248
+ "PaginatedContainerList": ".types",
249
+ "PaginatedGroupList": ".types",
250
+ "PaginatedIssueList": ".types",
251
+ "PaginatedSyncStatusList": ".types",
252
+ "PaginatedUserList": ".types",
253
+ "Permission": ".types",
254
+ "PermissionGroup": ".types",
255
+ "PermissionType": ".types",
256
+ "PermissionTypeEnum": ".types",
257
+ "PermissionUser": ".types",
258
+ "RemoteData": ".types",
259
+ "RemoteEndpointInfo": ".types",
260
+ "RemoteFieldApi": ".types",
261
+ "RemoteFieldApiAdvancedMetadata": ".types",
262
+ "RemoteFieldApiCoverage": ".types",
263
+ "RemoteFieldApiResponse": ".types",
264
+ "RemoteKey": ".types",
265
+ "RemoteResponse": ".types",
266
+ "RemoteResponseResponseType": ".types",
267
+ "RequestFormatEnum": ".types",
268
+ "ResponseTypeEnum": ".types",
269
+ "RoleEnum": ".types",
270
+ "RolesEnum": ".types",
271
+ "SelectiveSyncConfigurationsUsageEnum": ".types",
272
+ "Status3C6Enum": ".types",
273
+ "StatusFd5Enum": ".types",
274
+ "SyncStatus": ".types",
275
+ "SyncStatusLastSyncResult": ".types",
276
+ "SyncStatusStatus": ".types",
277
+ "User": ".types",
278
+ "ValidationProblemSource": ".types",
279
+ "VisibilityEnum": ".types",
280
+ "WarningValidationProblem": ".types",
281
+ "WebhookReceiver": ".types",
282
+ "account_details": ".resources",
283
+ "account_token": ".resources",
284
+ "articles": ".resources",
285
+ "async_passthrough": ".resources",
286
+ "attachments": ".resources",
287
+ "audit_trail": ".resources",
288
+ "available_actions": ".resources",
289
+ "containers": ".resources",
290
+ "delete_account": ".resources",
291
+ "field_mapping": ".resources",
292
+ "force_resync": ".resources",
293
+ "generate_key": ".resources",
294
+ "groups": ".resources",
295
+ "issues": ".resources",
296
+ "link_token": ".resources",
297
+ "linked_accounts": ".resources",
298
+ "passthrough": ".resources",
299
+ "regenerate_key": ".resources",
300
+ "scopes": ".resources",
301
+ "sync_status": ".resources",
302
+ "users": ".resources",
303
+ "webhook_receivers": ".resources",
304
+ }
305
+
306
+
307
+ def __getattr__(attr_name: str) -> typing.Any:
308
+ module_name = _dynamic_imports.get(attr_name)
309
+ if module_name is None:
310
+ raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
311
+ try:
312
+ module = import_module(module_name, __package__)
313
+ result = getattr(module, attr_name)
314
+ return result
315
+ except ImportError as e:
316
+ raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
317
+ except AttributeError as e:
318
+ raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e
319
+
320
+
321
+ def __dir__():
322
+ lazy_attrs = list(_dynamic_imports.keys())
323
+ return sorted(lazy_attrs)
324
+
325
+
326
+ __all__ = [
327
+ "AccountDetails",
328
+ "AccountDetailsAndActions",
329
+ "AccountDetailsAndActionsCategory",
330
+ "AccountDetailsAndActionsIntegration",
331
+ "AccountDetailsAndActionsStatus",
332
+ "AccountDetailsAndActionsStatusEnum",
333
+ "AccountDetailsCategory",
334
+ "AccountIntegration",
335
+ "AccountToken",
336
+ "AdvancedMetadata",
337
+ "Article",
338
+ "ArticleAttachmentsItem",
339
+ "ArticleAuthor",
340
+ "ArticleLastEditedBy",
341
+ "ArticleParentArticle",
342
+ "ArticleParentContainer",
343
+ "ArticlePermissionsItem",
344
+ "ArticleRootContainer",
345
+ "ArticleStatus",
346
+ "ArticleType",
347
+ "ArticleTypeEnum",
348
+ "ArticleVisibility",
349
+ "ArticlesListRequestExpand",
350
+ "ArticlesRetrieveRequestExpand",
351
+ "AsyncPassthroughReciept",
352
+ "AsyncPassthroughRetrieveResponse",
353
+ "Attachment",
354
+ "AuditLogEvent",
355
+ "AuditLogEventEventType",
356
+ "AuditLogEventRole",
357
+ "AvailableActions",
358
+ "CategoriesEnum",
359
+ "CategoryEnum",
360
+ "CommonModelScopeApi",
361
+ "CommonModelScopesBodyRequest",
362
+ "CompletedAccountInitialScreenEnum",
363
+ "Container",
364
+ "ContainerPermissionsItem",
365
+ "ContainerStatus",
366
+ "ContainerType",
367
+ "ContainerTypeEnum",
368
+ "ContainerVisibility",
369
+ "ContainersListRequestExpand",
370
+ "ContainersRetrieveRequestExpand",
371
+ "DataPassthroughRequest",
372
+ "DataPassthroughRequestMethod",
373
+ "DataPassthroughRequestRequestFormat",
374
+ "DebugModeLog",
375
+ "DebugModelLogSummary",
376
+ "EnabledActionsEnum",
377
+ "EncodingEnum",
378
+ "EndUserDetailsRequestLanguage",
379
+ "ErrorValidationProblem",
380
+ "EventTypeEnum",
381
+ "ExternalTargetFieldApi",
382
+ "ExternalTargetFieldApiResponse",
383
+ "FieldMappingApiInstance",
384
+ "FieldMappingApiInstanceRemoteField",
385
+ "FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo",
386
+ "FieldMappingApiInstanceResponse",
387
+ "FieldMappingApiInstanceTargetField",
388
+ "FieldMappingInstanceResponse",
389
+ "FieldPermissionDeserializer",
390
+ "FieldPermissionDeserializerRequest",
391
+ "Group",
392
+ "GroupParentGroup",
393
+ "GroupUsersItem",
394
+ "GroupsListRequestExpand",
395
+ "GroupsRetrieveRequestExpand",
396
+ "IndividualCommonModelScopeDeserializer",
397
+ "IndividualCommonModelScopeDeserializerRequest",
398
+ "Issue",
399
+ "IssueStatus",
400
+ "IssueStatusEnum",
401
+ "IssuesListRequestStatus",
402
+ "LanguageEnum",
403
+ "LastSyncResultEnum",
404
+ "LinkToken",
405
+ "LinkedAccountsListRequestCategory",
406
+ "MethodEnum",
407
+ "ModelOperation",
408
+ "ModelPermissionDeserializer",
409
+ "ModelPermissionDeserializerRequest",
410
+ "MultipartFormFieldRequest",
411
+ "MultipartFormFieldRequestEncoding",
412
+ "PaginatedAccountDetailsAndActionsList",
413
+ "PaginatedArticleList",
414
+ "PaginatedAttachmentList",
415
+ "PaginatedAuditLogEventList",
416
+ "PaginatedContainerList",
417
+ "PaginatedGroupList",
418
+ "PaginatedIssueList",
419
+ "PaginatedSyncStatusList",
420
+ "PaginatedUserList",
421
+ "Permission",
422
+ "PermissionGroup",
423
+ "PermissionType",
424
+ "PermissionTypeEnum",
425
+ "PermissionUser",
426
+ "RemoteData",
427
+ "RemoteEndpointInfo",
428
+ "RemoteFieldApi",
429
+ "RemoteFieldApiAdvancedMetadata",
430
+ "RemoteFieldApiCoverage",
431
+ "RemoteFieldApiResponse",
432
+ "RemoteKey",
433
+ "RemoteResponse",
434
+ "RemoteResponseResponseType",
435
+ "RequestFormatEnum",
436
+ "ResponseTypeEnum",
437
+ "RoleEnum",
438
+ "RolesEnum",
439
+ "SelectiveSyncConfigurationsUsageEnum",
440
+ "Status3C6Enum",
441
+ "StatusFd5Enum",
442
+ "SyncStatus",
443
+ "SyncStatusLastSyncResult",
444
+ "SyncStatusStatus",
445
+ "User",
446
+ "ValidationProblemSource",
447
+ "VisibilityEnum",
448
+ "WarningValidationProblem",
449
+ "WebhookReceiver",
450
+ "account_details",
451
+ "account_token",
452
+ "articles",
453
+ "async_passthrough",
454
+ "attachments",
455
+ "audit_trail",
456
+ "available_actions",
457
+ "containers",
458
+ "delete_account",
459
+ "field_mapping",
460
+ "force_resync",
461
+ "generate_key",
462
+ "groups",
463
+ "issues",
464
+ "link_token",
465
+ "linked_accounts",
466
+ "passthrough",
467
+ "regenerate_key",
468
+ "scopes",
469
+ "sync_status",
470
+ "users",
471
+ "webhook_receivers",
472
+ ]