@trycourier/courier 6.3.1 → 6.4.0

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 (390) hide show
  1. package/Client.d.ts +84 -109
  2. package/Client.js +118 -148
  3. package/api/client/requests/SendMessageRequest.d.ts +45 -78
  4. package/api/resources/audiences/client/Client.d.ts +16 -16
  5. package/api/resources/audiences/client/Client.js +63 -86
  6. package/api/resources/audiences/client/requests/AudienceMembersListParams.d.ts +1 -3
  7. package/api/resources/audiences/client/requests/AudienceUpdateParams.d.ts +3 -7
  8. package/api/resources/audiences/client/requests/AudiencesListParams.d.ts +1 -3
  9. package/api/resources/audiences/types/ComparisonOperator.d.ts +1 -1
  10. package/api/resources/audiences/types/Filter.d.ts +1 -1
  11. package/api/resources/audiences/types/FilterConfig.d.ts +1 -1
  12. package/api/resources/audiences/types/LogicalOperator.d.ts +1 -1
  13. package/api/resources/audiences/types/Operator.d.ts +1 -1
  14. package/api/resources/auditEvents/client/Client.d.ts +10 -4
  15. package/api/resources/auditEvents/client/Client.js +35 -37
  16. package/api/resources/auditEvents/client/requests/ListAuditEventsRequest.d.ts +1 -3
  17. package/api/resources/authTokens/client/Client.d.ts +11 -3
  18. package/api/resources/authTokens/client/Client.js +28 -25
  19. package/api/resources/authTokens/client/requests/IssueTokenParams.d.ts +2 -2
  20. package/api/resources/automations/client/Client.d.ts +15 -13
  21. package/api/resources/automations/client/Client.js +38 -48
  22. package/api/resources/automations/types/AutomationAddToBatchMaxItemsType.d.ts +1 -1
  23. package/api/resources/automations/types/AutomationAddToBatchRetainType.d.ts +1 -1
  24. package/api/resources/automations/types/AutomationAddToBatchScope.d.ts +1 -1
  25. package/api/resources/automations/types/AutomationFetchDataWebhookMethod.d.ts +1 -1
  26. package/api/resources/automations/types/AutomationStepOption.d.ts +1 -1
  27. package/api/resources/automations/types/AutomationThrottleScope.d.ts +1 -1
  28. package/api/resources/automations/types/MergeAlgorithm.d.ts +1 -1
  29. package/api/resources/automations/types/Profile.d.ts +1 -1
  30. package/api/resources/brands/client/Client.d.ts +22 -58
  31. package/api/resources/brands/client/Client.js +65 -126
  32. package/api/resources/brands/client/requests/BrandUpdateParameters.d.ts +3 -26
  33. package/api/resources/brands/client/requests/ListBrandsRequest.d.ts +1 -3
  34. package/api/resources/bulk/client/Client.d.ts +30 -121
  35. package/api/resources/bulk/client/Client.js +73 -193
  36. package/api/resources/bulk/client/requests/BulkCreateJobParams.d.ts +6 -86
  37. package/api/resources/bulk/client/requests/BulkGetUsersParams.d.ts +1 -3
  38. package/api/resources/bulk/types/BulkJobStatus.d.ts +1 -1
  39. package/api/resources/bulk/types/BulkJobUserStatus.d.ts +1 -1
  40. package/api/resources/bulk/types/InboundBulkMessageV2.d.ts +3 -5
  41. package/api/resources/commons/errors/AlreadyExistsError.js +17 -7
  42. package/api/resources/commons/errors/BadRequestError.js +17 -7
  43. package/api/resources/commons/errors/ConflictError.js +17 -7
  44. package/api/resources/commons/errors/MessageNotFoundError.js +17 -7
  45. package/api/resources/commons/errors/NotFoundError.js +17 -7
  46. package/api/resources/commons/errors/PaymentRequiredError.js +17 -7
  47. package/api/resources/commons/types/ChannelClassification.d.ts +1 -1
  48. package/api/resources/commons/types/NotificationPreferences.d.ts +1 -1
  49. package/api/resources/commons/types/PreferenceStatus.d.ts +1 -1
  50. package/api/resources/inbound/client/Client.d.ts +9 -1
  51. package/api/resources/inbound/client/Client.js +26 -21
  52. package/api/resources/index.js +17 -7
  53. package/api/resources/lists/client/Client.d.ts +31 -34
  54. package/api/resources/lists/client/Client.js +108 -161
  55. package/api/resources/lists/client/requests/AddSubscribersToList.d.ts +5 -5
  56. package/api/resources/lists/client/requests/GetAllListsRequest.d.ts +1 -4
  57. package/api/resources/lists/client/requests/GetSubscriptionForListRequest.d.ts +1 -3
  58. package/api/resources/lists/client/requests/SubscribeUserToListRequest.d.ts +1 -4
  59. package/api/resources/lists/client/requests/SubscribeUsersToListRequest.d.ts +5 -5
  60. package/api/resources/messages/client/Client.d.ts +15 -24
  61. package/api/resources/messages/client/Client.js +65 -104
  62. package/api/resources/messages/client/requests/GetMessageHistoryRequest.d.ts +1 -3
  63. package/api/resources/messages/client/requests/ListMessagesRequest.d.ts +1 -16
  64. package/api/resources/messages/types/MessageDetailsExtended.d.ts +7 -0
  65. package/api/resources/messages/types/MessageDetailsExtended.js +5 -0
  66. package/api/resources/messages/types/MessageStatus.d.ts +25 -5
  67. package/api/resources/messages/types/MessageStatus.js +6 -1
  68. package/api/resources/messages/types/Reason.d.ts +1 -1
  69. package/api/resources/messages/types/index.d.ts +1 -0
  70. package/api/resources/messages/types/index.js +1 -0
  71. package/api/resources/notifications/client/Client.d.ts +20 -11
  72. package/api/resources/notifications/client/Client.js +69 -88
  73. package/api/resources/notifications/client/requests/NotificationListParams.d.ts +1 -4
  74. package/api/resources/notifications/client/requests/SubmissionChecksReplaceParams.d.ts +6 -2
  75. package/api/resources/notifications/types/BlockType.d.ts +1 -1
  76. package/api/resources/notifications/types/CheckStatus.d.ts +1 -1
  77. package/api/resources/notifications/types/MessageRoutingChannel.d.ts +1 -1
  78. package/api/resources/notifications/types/MessageRoutingMethod.d.ts +1 -1
  79. package/api/resources/notifications/types/NotificationContent.d.ts +1 -1
  80. package/api/resources/profiles/client/Client.d.ts +35 -23
  81. package/api/resources/profiles/client/Client.js +95 -125
  82. package/api/resources/profiles/client/requests/GetListSubscriptionsRequest.d.ts +1 -3
  83. package/api/resources/profiles/client/requests/MergeProfileRequest.d.ts +1 -1
  84. package/api/resources/profiles/client/requests/ReplaceProfileRequest.d.ts +1 -1
  85. package/api/resources/profiles/types/DeviceType.d.ts +1 -1
  86. package/api/resources/profiles/types/Discord.d.ts +1 -1
  87. package/api/resources/profiles/types/Expo.d.ts +1 -1
  88. package/api/resources/profiles/types/MsTeams.d.ts +1 -1
  89. package/api/resources/profiles/types/ProfileUpdateRequest.d.ts +8 -0
  90. package/api/resources/profiles/types/ProfileUpdateRequest.js +5 -0
  91. package/api/resources/profiles/types/Slack.d.ts +1 -1
  92. package/api/resources/profiles/types/SnoozeRuleType.d.ts +1 -1
  93. package/api/resources/profiles/types/UserProfileFirebaseToken.d.ts +1 -1
  94. package/api/resources/profiles/types/WebhookAuthMode.d.ts +1 -1
  95. package/api/resources/profiles/types/WebhookMethod.d.ts +1 -1
  96. package/api/resources/profiles/types/WebhookProfileType.d.ts +1 -1
  97. package/api/resources/profiles/types/index.d.ts +1 -0
  98. package/api/resources/profiles/types/index.js +1 -0
  99. package/api/resources/send/types/Attachment.d.ts +1 -1
  100. package/api/resources/send/types/ChannelSource.d.ts +1 -1
  101. package/api/resources/send/types/Content.d.ts +1 -1
  102. package/api/resources/send/types/Criteria.d.ts +1 -1
  103. package/api/resources/send/types/ElementalNode.d.ts +1 -1
  104. package/api/resources/send/types/ExpiresInType.d.ts +1 -1
  105. package/api/resources/send/types/IActionButtonStyle.d.ts +1 -1
  106. package/api/resources/send/types/IAlignment.d.ts +1 -1
  107. package/api/resources/send/types/IPreferences.d.ts +1 -1
  108. package/api/resources/send/types/InAppPlacement.d.ts +1 -1
  109. package/api/resources/send/types/Locales.d.ts +1 -1
  110. package/api/resources/send/types/Message.d.ts +1 -1
  111. package/api/resources/send/types/MessageChannels.d.ts +1 -1
  112. package/api/resources/send/types/MessageData.d.ts +1 -1
  113. package/api/resources/send/types/MessageProviders.d.ts +1 -1
  114. package/api/resources/send/types/MessageRecipient.d.ts +1 -1
  115. package/api/resources/send/types/Recipient.d.ts +1 -1
  116. package/api/resources/send/types/RecipientData.d.ts +1 -1
  117. package/api/resources/send/types/RoutingChannel.d.ts +1 -1
  118. package/api/resources/send/types/RoutingMethod.d.ts +1 -1
  119. package/api/resources/send/types/RuleType.d.ts +1 -1
  120. package/api/resources/send/types/TextAlign.d.ts +1 -1
  121. package/api/resources/send/types/TextStyle.d.ts +1 -1
  122. package/api/resources/templates/client/Client.d.ts +9 -3
  123. package/api/resources/templates/client/Client.js +28 -25
  124. package/api/resources/templates/client/requests/ListTemplatesRequest.d.ts +1 -3
  125. package/api/resources/templates/types/ChannelIdentifier.d.ts +1 -1
  126. package/api/resources/templates/types/RoutingStrategyMethod.d.ts +1 -1
  127. package/api/resources/tenants/client/Client.d.ts +23 -37
  128. package/api/resources/tenants/client/Client.js +80 -127
  129. package/api/resources/tenants/client/requests/ListTenantParams.d.ts +1 -5
  130. package/api/resources/tenants/client/requests/ListUsersForTenantParams.d.ts +1 -4
  131. package/api/resources/tenants/client/requests/TenantCreateOrReplaceParams.d.ts +6 -21
  132. package/api/resources/tenants/types/SubscriptionTopicStatus.d.ts +1 -1
  133. package/api/resources/tenants/types/TemplateProperty.d.ts +1 -1
  134. package/api/resources/translations/client/Client.d.ts +10 -2
  135. package/api/resources/translations/client/Client.js +33 -33
  136. package/api/resources/users/client/Client.d.ts +5 -7
  137. package/api/resources/users/resources/index.js +17 -7
  138. package/api/resources/users/resources/preferences/client/Client.d.ts +13 -9
  139. package/api/resources/users/resources/preferences/client/Client.js +46 -55
  140. package/api/resources/users/resources/preferences/client/requests/UserPreferencesParams.d.ts +1 -3
  141. package/api/resources/users/resources/preferences/client/requests/UserPreferencesTopicParams.d.ts +1 -3
  142. package/api/resources/users/resources/preferences/client/requests/UserPreferencesUpdateParams.d.ts +2 -2
  143. package/api/resources/users/resources/tenants/client/Client.d.ts +23 -21
  144. package/api/resources/users/resources/tenants/client/Client.js +68 -89
  145. package/api/resources/users/resources/tenants/client/requests/AddUserToMultipleTenantsParams.d.ts +9 -8
  146. package/api/resources/users/resources/tenants/client/requests/AddUserToSingleTenantsParams.d.ts +1 -5
  147. package/api/resources/users/resources/tenants/client/requests/ListTenantsForUserParams.d.ts +1 -4
  148. package/api/resources/users/resources/tokens/client/Client.d.ts +27 -29
  149. package/api/resources/users/resources/tokens/client/Client.js +74 -104
  150. package/api/resources/users/resources/tokens/types/ExpiryDate.d.ts +1 -1
  151. package/api/resources/users/resources/tokens/types/GetAllTokensResponse.d.ts +1 -1
  152. package/api/resources/users/resources/tokens/types/PatchOp.d.ts +1 -1
  153. package/api/resources/users/resources/tokens/types/ProviderKey.d.ts +1 -1
  154. package/api/resources/users/resources/tokens/types/TokenStatus.d.ts +1 -1
  155. package/core/auth/BearerToken.d.ts +1 -1
  156. package/core/fetcher/APIResponse.d.ts +1 -1
  157. package/core/fetcher/Fetcher.d.ts +7 -3
  158. package/core/fetcher/Fetcher.js +30 -135
  159. package/core/fetcher/Supplier.d.ts +1 -1
  160. package/core/fetcher/createRequestUrl.d.ts +1 -0
  161. package/core/fetcher/createRequestUrl.js +12 -0
  162. package/core/fetcher/getFetchFn.d.ts +4 -0
  163. package/core/fetcher/getFetchFn.js +68 -0
  164. package/core/fetcher/getHeader.js +1 -2
  165. package/core/fetcher/getRequestBody.d.ts +7 -0
  166. package/core/fetcher/getRequestBody.js +23 -0
  167. package/core/fetcher/getResponseBody.d.ts +1 -0
  168. package/core/fetcher/getResponseBody.js +54 -0
  169. package/core/fetcher/makeRequest.d.ts +1 -0
  170. package/core/fetcher/makeRequest.js +42 -0
  171. package/core/fetcher/requestWithRetries.d.ts +1 -0
  172. package/core/fetcher/requestWithRetries.js +40 -0
  173. package/core/fetcher/signals.d.ts +11 -0
  174. package/core/fetcher/signals.js +36 -0
  175. package/core/fetcher/stream-wrappers/Node18UniversalStreamWrapper.d.ts +30 -0
  176. package/core/fetcher/stream-wrappers/Node18UniversalStreamWrapper.js +247 -0
  177. package/core/fetcher/stream-wrappers/NodePre18StreamWrapper.d.ts +21 -0
  178. package/core/fetcher/stream-wrappers/NodePre18StreamWrapper.js +126 -0
  179. package/core/fetcher/stream-wrappers/UndiciStreamWrapper.d.ts +31 -0
  180. package/core/fetcher/stream-wrappers/UndiciStreamWrapper.js +229 -0
  181. package/core/fetcher/stream-wrappers/chooseStreamWrapper.d.ts +18 -0
  182. package/core/fetcher/stream-wrappers/chooseStreamWrapper.js +59 -0
  183. package/core/json.d.ts +15 -0
  184. package/core/json.js +24 -0
  185. package/core/runtime/runtime.d.ts +2 -1
  186. package/core/runtime/runtime.js +57 -36
  187. package/dist/Client.d.ts +84 -109
  188. package/dist/Client.js +118 -148
  189. package/dist/api/client/requests/SendMessageRequest.d.ts +45 -78
  190. package/dist/api/resources/audiences/client/Client.d.ts +16 -16
  191. package/dist/api/resources/audiences/client/Client.js +63 -86
  192. package/dist/api/resources/audiences/client/requests/AudienceMembersListParams.d.ts +1 -3
  193. package/dist/api/resources/audiences/client/requests/AudienceUpdateParams.d.ts +3 -7
  194. package/dist/api/resources/audiences/client/requests/AudiencesListParams.d.ts +1 -3
  195. package/dist/api/resources/audiences/types/ComparisonOperator.d.ts +1 -1
  196. package/dist/api/resources/audiences/types/Filter.d.ts +1 -1
  197. package/dist/api/resources/audiences/types/FilterConfig.d.ts +1 -1
  198. package/dist/api/resources/audiences/types/LogicalOperator.d.ts +1 -1
  199. package/dist/api/resources/audiences/types/Operator.d.ts +1 -1
  200. package/dist/api/resources/auditEvents/client/Client.d.ts +10 -4
  201. package/dist/api/resources/auditEvents/client/Client.js +35 -37
  202. package/dist/api/resources/auditEvents/client/requests/ListAuditEventsRequest.d.ts +1 -3
  203. package/dist/api/resources/authTokens/client/Client.d.ts +11 -3
  204. package/dist/api/resources/authTokens/client/Client.js +28 -25
  205. package/dist/api/resources/authTokens/client/requests/IssueTokenParams.d.ts +2 -2
  206. package/dist/api/resources/automations/client/Client.d.ts +15 -13
  207. package/dist/api/resources/automations/client/Client.js +38 -48
  208. package/dist/api/resources/automations/types/AutomationAddToBatchMaxItemsType.d.ts +1 -1
  209. package/dist/api/resources/automations/types/AutomationAddToBatchRetainType.d.ts +1 -1
  210. package/dist/api/resources/automations/types/AutomationAddToBatchScope.d.ts +1 -1
  211. package/dist/api/resources/automations/types/AutomationFetchDataWebhookMethod.d.ts +1 -1
  212. package/dist/api/resources/automations/types/AutomationStepOption.d.ts +1 -1
  213. package/dist/api/resources/automations/types/AutomationThrottleScope.d.ts +1 -1
  214. package/dist/api/resources/automations/types/MergeAlgorithm.d.ts +1 -1
  215. package/dist/api/resources/automations/types/Profile.d.ts +1 -1
  216. package/dist/api/resources/brands/client/Client.d.ts +22 -58
  217. package/dist/api/resources/brands/client/Client.js +65 -126
  218. package/dist/api/resources/brands/client/requests/BrandUpdateParameters.d.ts +3 -26
  219. package/dist/api/resources/brands/client/requests/ListBrandsRequest.d.ts +1 -3
  220. package/dist/api/resources/bulk/client/Client.d.ts +30 -121
  221. package/dist/api/resources/bulk/client/Client.js +73 -193
  222. package/dist/api/resources/bulk/client/requests/BulkCreateJobParams.d.ts +6 -86
  223. package/dist/api/resources/bulk/client/requests/BulkGetUsersParams.d.ts +1 -3
  224. package/dist/api/resources/bulk/types/BulkJobStatus.d.ts +1 -1
  225. package/dist/api/resources/bulk/types/BulkJobUserStatus.d.ts +1 -1
  226. package/dist/api/resources/bulk/types/InboundBulkMessageV2.d.ts +3 -5
  227. package/dist/api/resources/commons/errors/AlreadyExistsError.js +17 -7
  228. package/dist/api/resources/commons/errors/BadRequestError.js +17 -7
  229. package/dist/api/resources/commons/errors/ConflictError.js +17 -7
  230. package/dist/api/resources/commons/errors/MessageNotFoundError.js +17 -7
  231. package/dist/api/resources/commons/errors/NotFoundError.js +17 -7
  232. package/dist/api/resources/commons/errors/PaymentRequiredError.js +17 -7
  233. package/dist/api/resources/commons/types/ChannelClassification.d.ts +1 -1
  234. package/dist/api/resources/commons/types/NotificationPreferences.d.ts +1 -1
  235. package/dist/api/resources/commons/types/PreferenceStatus.d.ts +1 -1
  236. package/dist/api/resources/inbound/client/Client.d.ts +9 -1
  237. package/dist/api/resources/inbound/client/Client.js +26 -21
  238. package/dist/api/resources/index.js +17 -7
  239. package/dist/api/resources/lists/client/Client.d.ts +31 -34
  240. package/dist/api/resources/lists/client/Client.js +108 -161
  241. package/dist/api/resources/lists/client/requests/AddSubscribersToList.d.ts +5 -5
  242. package/dist/api/resources/lists/client/requests/GetAllListsRequest.d.ts +1 -4
  243. package/dist/api/resources/lists/client/requests/GetSubscriptionForListRequest.d.ts +1 -3
  244. package/dist/api/resources/lists/client/requests/SubscribeUserToListRequest.d.ts +1 -4
  245. package/dist/api/resources/lists/client/requests/SubscribeUsersToListRequest.d.ts +5 -5
  246. package/dist/api/resources/messages/client/Client.d.ts +15 -24
  247. package/dist/api/resources/messages/client/Client.js +65 -104
  248. package/dist/api/resources/messages/client/requests/GetMessageHistoryRequest.d.ts +1 -3
  249. package/dist/api/resources/messages/client/requests/ListMessagesRequest.d.ts +1 -16
  250. package/dist/api/resources/messages/types/MessageDetailsExtended.d.ts +7 -0
  251. package/dist/api/resources/messages/types/MessageDetailsExtended.js +5 -0
  252. package/dist/api/resources/messages/types/MessageStatus.d.ts +25 -5
  253. package/dist/api/resources/messages/types/MessageStatus.js +6 -1
  254. package/dist/api/resources/messages/types/Reason.d.ts +1 -1
  255. package/dist/api/resources/messages/types/index.d.ts +1 -0
  256. package/dist/api/resources/messages/types/index.js +1 -0
  257. package/dist/api/resources/notifications/client/Client.d.ts +20 -11
  258. package/dist/api/resources/notifications/client/Client.js +69 -88
  259. package/dist/api/resources/notifications/client/requests/NotificationListParams.d.ts +1 -4
  260. package/dist/api/resources/notifications/client/requests/SubmissionChecksReplaceParams.d.ts +6 -2
  261. package/dist/api/resources/notifications/types/BlockType.d.ts +1 -1
  262. package/dist/api/resources/notifications/types/CheckStatus.d.ts +1 -1
  263. package/dist/api/resources/notifications/types/MessageRoutingChannel.d.ts +1 -1
  264. package/dist/api/resources/notifications/types/MessageRoutingMethod.d.ts +1 -1
  265. package/dist/api/resources/notifications/types/NotificationContent.d.ts +1 -1
  266. package/dist/api/resources/profiles/client/Client.d.ts +35 -23
  267. package/dist/api/resources/profiles/client/Client.js +95 -125
  268. package/dist/api/resources/profiles/client/requests/GetListSubscriptionsRequest.d.ts +1 -3
  269. package/dist/api/resources/profiles/client/requests/MergeProfileRequest.d.ts +1 -1
  270. package/dist/api/resources/profiles/client/requests/ReplaceProfileRequest.d.ts +1 -1
  271. package/dist/api/resources/profiles/types/DeviceType.d.ts +1 -1
  272. package/dist/api/resources/profiles/types/Discord.d.ts +1 -1
  273. package/dist/api/resources/profiles/types/Expo.d.ts +1 -1
  274. package/dist/api/resources/profiles/types/MsTeams.d.ts +1 -1
  275. package/dist/api/resources/profiles/types/ProfileUpdateRequest.d.ts +8 -0
  276. package/dist/api/resources/profiles/types/ProfileUpdateRequest.js +5 -0
  277. package/dist/api/resources/profiles/types/Slack.d.ts +1 -1
  278. package/dist/api/resources/profiles/types/SnoozeRuleType.d.ts +1 -1
  279. package/dist/api/resources/profiles/types/UserProfileFirebaseToken.d.ts +1 -1
  280. package/dist/api/resources/profiles/types/WebhookAuthMode.d.ts +1 -1
  281. package/dist/api/resources/profiles/types/WebhookMethod.d.ts +1 -1
  282. package/dist/api/resources/profiles/types/WebhookProfileType.d.ts +1 -1
  283. package/dist/api/resources/profiles/types/index.d.ts +1 -0
  284. package/dist/api/resources/profiles/types/index.js +1 -0
  285. package/dist/api/resources/send/types/Attachment.d.ts +1 -1
  286. package/dist/api/resources/send/types/ChannelSource.d.ts +1 -1
  287. package/dist/api/resources/send/types/Content.d.ts +1 -1
  288. package/dist/api/resources/send/types/Criteria.d.ts +1 -1
  289. package/dist/api/resources/send/types/ElementalNode.d.ts +1 -1
  290. package/dist/api/resources/send/types/ExpiresInType.d.ts +1 -1
  291. package/dist/api/resources/send/types/IActionButtonStyle.d.ts +1 -1
  292. package/dist/api/resources/send/types/IAlignment.d.ts +1 -1
  293. package/dist/api/resources/send/types/IPreferences.d.ts +1 -1
  294. package/dist/api/resources/send/types/InAppPlacement.d.ts +1 -1
  295. package/dist/api/resources/send/types/Locales.d.ts +1 -1
  296. package/dist/api/resources/send/types/Message.d.ts +1 -1
  297. package/dist/api/resources/send/types/MessageChannels.d.ts +1 -1
  298. package/dist/api/resources/send/types/MessageData.d.ts +1 -1
  299. package/dist/api/resources/send/types/MessageProviders.d.ts +1 -1
  300. package/dist/api/resources/send/types/MessageRecipient.d.ts +1 -1
  301. package/dist/api/resources/send/types/Recipient.d.ts +1 -1
  302. package/dist/api/resources/send/types/RecipientData.d.ts +1 -1
  303. package/dist/api/resources/send/types/RoutingChannel.d.ts +1 -1
  304. package/dist/api/resources/send/types/RoutingMethod.d.ts +1 -1
  305. package/dist/api/resources/send/types/RuleType.d.ts +1 -1
  306. package/dist/api/resources/send/types/TextAlign.d.ts +1 -1
  307. package/dist/api/resources/send/types/TextStyle.d.ts +1 -1
  308. package/dist/api/resources/templates/client/Client.d.ts +9 -3
  309. package/dist/api/resources/templates/client/Client.js +28 -25
  310. package/dist/api/resources/templates/client/requests/ListTemplatesRequest.d.ts +1 -3
  311. package/dist/api/resources/templates/types/ChannelIdentifier.d.ts +1 -1
  312. package/dist/api/resources/templates/types/RoutingStrategyMethod.d.ts +1 -1
  313. package/dist/api/resources/tenants/client/Client.d.ts +23 -37
  314. package/dist/api/resources/tenants/client/Client.js +80 -127
  315. package/dist/api/resources/tenants/client/requests/ListTenantParams.d.ts +1 -5
  316. package/dist/api/resources/tenants/client/requests/ListUsersForTenantParams.d.ts +1 -4
  317. package/dist/api/resources/tenants/client/requests/TenantCreateOrReplaceParams.d.ts +6 -21
  318. package/dist/api/resources/tenants/types/SubscriptionTopicStatus.d.ts +1 -1
  319. package/dist/api/resources/tenants/types/TemplateProperty.d.ts +1 -1
  320. package/dist/api/resources/translations/client/Client.d.ts +10 -2
  321. package/dist/api/resources/translations/client/Client.js +33 -33
  322. package/dist/api/resources/users/client/Client.d.ts +5 -7
  323. package/dist/api/resources/users/resources/index.js +17 -7
  324. package/dist/api/resources/users/resources/preferences/client/Client.d.ts +13 -9
  325. package/dist/api/resources/users/resources/preferences/client/Client.js +46 -55
  326. package/dist/api/resources/users/resources/preferences/client/requests/UserPreferencesParams.d.ts +1 -3
  327. package/dist/api/resources/users/resources/preferences/client/requests/UserPreferencesTopicParams.d.ts +1 -3
  328. package/dist/api/resources/users/resources/preferences/client/requests/UserPreferencesUpdateParams.d.ts +2 -2
  329. package/dist/api/resources/users/resources/tenants/client/Client.d.ts +23 -21
  330. package/dist/api/resources/users/resources/tenants/client/Client.js +68 -89
  331. package/dist/api/resources/users/resources/tenants/client/requests/AddUserToMultipleTenantsParams.d.ts +9 -8
  332. package/dist/api/resources/users/resources/tenants/client/requests/AddUserToSingleTenantsParams.d.ts +1 -5
  333. package/dist/api/resources/users/resources/tenants/client/requests/ListTenantsForUserParams.d.ts +1 -4
  334. package/dist/api/resources/users/resources/tokens/client/Client.d.ts +27 -29
  335. package/dist/api/resources/users/resources/tokens/client/Client.js +74 -104
  336. package/dist/api/resources/users/resources/tokens/types/ExpiryDate.d.ts +1 -1
  337. package/dist/api/resources/users/resources/tokens/types/GetAllTokensResponse.d.ts +1 -1
  338. package/dist/api/resources/users/resources/tokens/types/PatchOp.d.ts +1 -1
  339. package/dist/api/resources/users/resources/tokens/types/ProviderKey.d.ts +1 -1
  340. package/dist/api/resources/users/resources/tokens/types/TokenStatus.d.ts +1 -1
  341. package/dist/core/auth/BearerToken.d.ts +1 -1
  342. package/dist/core/fetcher/APIResponse.d.ts +1 -1
  343. package/dist/core/fetcher/Fetcher.d.ts +7 -3
  344. package/dist/core/fetcher/Fetcher.js +30 -135
  345. package/dist/core/fetcher/Supplier.d.ts +1 -1
  346. package/dist/core/fetcher/createRequestUrl.d.ts +1 -0
  347. package/dist/core/fetcher/createRequestUrl.js +12 -0
  348. package/dist/core/fetcher/getFetchFn.d.ts +4 -0
  349. package/dist/core/fetcher/getFetchFn.js +68 -0
  350. package/dist/core/fetcher/getHeader.js +1 -2
  351. package/dist/core/fetcher/getRequestBody.d.ts +7 -0
  352. package/dist/core/fetcher/getRequestBody.js +23 -0
  353. package/dist/core/fetcher/getResponseBody.d.ts +1 -0
  354. package/dist/core/fetcher/getResponseBody.js +54 -0
  355. package/dist/core/fetcher/makeRequest.d.ts +1 -0
  356. package/dist/core/fetcher/makeRequest.js +42 -0
  357. package/dist/core/fetcher/requestWithRetries.d.ts +1 -0
  358. package/dist/core/fetcher/requestWithRetries.js +40 -0
  359. package/dist/core/fetcher/signals.d.ts +11 -0
  360. package/dist/core/fetcher/signals.js +36 -0
  361. package/dist/core/fetcher/stream-wrappers/Node18UniversalStreamWrapper.d.ts +30 -0
  362. package/dist/core/fetcher/stream-wrappers/Node18UniversalStreamWrapper.js +247 -0
  363. package/dist/core/fetcher/stream-wrappers/NodePre18StreamWrapper.d.ts +21 -0
  364. package/dist/core/fetcher/stream-wrappers/NodePre18StreamWrapper.js +126 -0
  365. package/dist/core/fetcher/stream-wrappers/UndiciStreamWrapper.d.ts +31 -0
  366. package/dist/core/fetcher/stream-wrappers/UndiciStreamWrapper.js +229 -0
  367. package/dist/core/fetcher/stream-wrappers/chooseStreamWrapper.d.ts +18 -0
  368. package/dist/core/fetcher/stream-wrappers/chooseStreamWrapper.js +59 -0
  369. package/dist/core/json.d.ts +15 -0
  370. package/dist/core/json.js +24 -0
  371. package/dist/core/runtime/runtime.d.ts +2 -1
  372. package/dist/core/runtime/runtime.js +57 -36
  373. package/dist/environments.d.ts +1 -1
  374. package/dist/errors/CourierError.js +2 -1
  375. package/dist/errors/CourierTimeoutError.d.ts +1 -1
  376. package/dist/errors/CourierTimeoutError.js +2 -2
  377. package/dist/index.js +17 -7
  378. package/dist/version.d.ts +1 -0
  379. package/dist/version.js +4 -0
  380. package/environments.d.ts +1 -1
  381. package/errors/CourierError.js +2 -1
  382. package/errors/CourierTimeoutError.d.ts +1 -1
  383. package/errors/CourierTimeoutError.js +2 -2
  384. package/index.js +17 -7
  385. package/{jest.config.js → jest.config.mjs} +4 -1
  386. package/package.json +23 -14
  387. package/reference.md +5180 -0
  388. package/scripts/rename-to-esm-files.js +115 -0
  389. package/version.d.ts +1 -0
  390. package/version.js +4 -0
@@ -18,13 +18,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
18
18
  }) : function(o, v) {
19
19
  o["default"] = v;
20
20
  });
21
- var __importStar = (this && this.__importStar) || function (mod) {
22
- if (mod && mod.__esModule) return mod;
23
- var result = {};
24
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
- __setModuleDefault(result, mod);
26
- return result;
27
- };
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
28
38
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
29
39
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
30
40
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -57,25 +67,20 @@ class Tokens {
57
67
  * @throws {@link Courier.BadRequestError}
58
68
  *
59
69
  * @example
60
- * await courier.users.tokens.addMultiple("string")
70
+ * await client.users.tokens.addMultiple("user_id")
61
71
  */
62
72
  addMultiple(userId, requestOptions) {
63
- var _a, _b;
64
73
  return __awaiter(this, void 0, void 0, function* () {
74
+ var _a, _b, _c;
65
75
  const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
66
- url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.CourierEnvironment.Production, `/users/${encodeURIComponent(userId)}/tokens`),
76
+ url: (0, url_join_1.default)((_c = (_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.CourierEnvironment.Production, `/users/${encodeURIComponent(userId)}/tokens`),
67
77
  method: "PUT",
68
- headers: {
69
- Authorization: yield this._getAuthorizationHeader(),
70
- "X-Fern-Language": "JavaScript",
71
- "X-Fern-SDK-Name": "@trycourier/courier",
72
- "X-Fern-SDK-Version": "v6.3.1",
73
- "X-Fern-Runtime": core.RUNTIME.type,
74
- "X-Fern-Runtime-Version": core.RUNTIME.version,
75
- },
78
+ headers: Object.assign({ Authorization: yield this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "@trycourier/courier", "X-Fern-SDK-Version": "6.4.0", "User-Agent": "@trycourier/courier/6.4.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
76
79
  contentType: "application/json",
80
+ requestType: "json",
77
81
  timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
78
82
  maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
83
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
79
84
  });
80
85
  if (_response.ok) {
81
86
  return;
@@ -98,7 +103,7 @@ class Tokens {
98
103
  body: _response.error.rawBody,
99
104
  });
100
105
  case "timeout":
101
- throw new errors.CourierTimeoutError();
106
+ throw new errors.CourierTimeoutError("Timeout exceeded when calling PUT /users/{user_id}/tokens.");
102
107
  case "unknown":
103
108
  throw new errors.CourierError({
104
109
  message: _response.error.errorMessage,
@@ -117,47 +122,28 @@ class Tokens {
117
122
  * @throws {@link Courier.BadRequestError}
118
123
  *
119
124
  * @example
120
- * await courier.users.tokens.add("string", "string", {
121
- * token: "string",
122
- * provider_key: Courier.users.ProviderKey.FirebaseFcm,
123
- * expiry_date: "string",
124
- * properties: {
125
- * "key": "value"
126
- * },
127
- * device: {
128
- * app_id: "string",
129
- * ad_id: "string",
130
- * device_id: "string",
131
- * platform: "string",
132
- * manufacturer: "string",
133
- * model: "string"
134
- * },
135
- * tracking: {
136
- * os_version: "string",
137
- * ip: "string",
138
- * lat: "string",
139
- * long: "string"
140
- * }
125
+ * await client.users.tokens.add("user_id", "token", {
126
+ * token: undefined,
127
+ * provider_key: "firebase-fcm",
128
+ * expiry_date: undefined,
129
+ * properties: undefined,
130
+ * device: undefined,
131
+ * tracking: undefined
141
132
  * })
142
133
  */
143
134
  add(userId, token, request, requestOptions) {
144
- var _a, _b;
145
135
  return __awaiter(this, void 0, void 0, function* () {
136
+ var _a, _b, _c;
146
137
  const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
147
- url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.CourierEnvironment.Production, `/users/${encodeURIComponent(userId)}/tokens/${encodeURIComponent(token)}`),
138
+ url: (0, url_join_1.default)((_c = (_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.CourierEnvironment.Production, `/users/${encodeURIComponent(userId)}/tokens/${encodeURIComponent(token)}`),
148
139
  method: "PUT",
149
- headers: {
150
- Authorization: yield this._getAuthorizationHeader(),
151
- "X-Fern-Language": "JavaScript",
152
- "X-Fern-SDK-Name": "@trycourier/courier",
153
- "X-Fern-SDK-Version": "v6.3.1",
154
- "X-Fern-Runtime": core.RUNTIME.type,
155
- "X-Fern-Runtime-Version": core.RUNTIME.version,
156
- },
140
+ headers: Object.assign({ Authorization: yield this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "@trycourier/courier", "X-Fern-SDK-Version": "6.4.0", "User-Agent": "@trycourier/courier/6.4.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
157
141
  contentType: "application/json",
142
+ requestType: "json",
158
143
  body: request,
159
144
  timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
160
145
  maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
146
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
161
147
  });
162
148
  if (_response.ok) {
163
149
  return;
@@ -180,7 +166,7 @@ class Tokens {
180
166
  body: _response.error.rawBody,
181
167
  });
182
168
  case "timeout":
183
- throw new errors.CourierTimeoutError();
169
+ throw new errors.CourierTimeoutError("Timeout exceeded when calling PUT /users/{user_id}/tokens/{token}.");
184
170
  case "unknown":
185
171
  throw new errors.CourierError({
186
172
  message: _response.error.errorMessage,
@@ -199,32 +185,31 @@ class Tokens {
199
185
  * @throws {@link Courier.BadRequestError}
200
186
  *
201
187
  * @example
202
- * await courier.users.tokens.update("string", "string", {
188
+ * await client.users.tokens.update("user_id", "token", {
203
189
  * patch: [{
204
- * op: "string",
205
- * path: "string",
206
- * value: "string"
190
+ * op: "op",
191
+ * path: "path",
192
+ * value: undefined
193
+ * }, {
194
+ * op: "op",
195
+ * path: "path",
196
+ * value: undefined
207
197
  * }]
208
198
  * })
209
199
  */
210
200
  update(userId, token, request, requestOptions) {
211
- var _a, _b;
212
201
  return __awaiter(this, void 0, void 0, function* () {
202
+ var _a, _b, _c;
213
203
  const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
214
- url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.CourierEnvironment.Production, `/users/${encodeURIComponent(userId)}/tokens/${encodeURIComponent(token)}`),
204
+ url: (0, url_join_1.default)((_c = (_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.CourierEnvironment.Production, `/users/${encodeURIComponent(userId)}/tokens/${encodeURIComponent(token)}`),
215
205
  method: "PATCH",
216
- headers: {
217
- Authorization: yield this._getAuthorizationHeader(),
218
- "X-Fern-Language": "JavaScript",
219
- "X-Fern-SDK-Name": "@trycourier/courier",
220
- "X-Fern-SDK-Version": "v6.3.1",
221
- "X-Fern-Runtime": core.RUNTIME.type,
222
- "X-Fern-Runtime-Version": core.RUNTIME.version,
223
- },
206
+ headers: Object.assign({ Authorization: yield this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "@trycourier/courier", "X-Fern-SDK-Version": "6.4.0", "User-Agent": "@trycourier/courier/6.4.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
224
207
  contentType: "application/json",
208
+ requestType: "json",
225
209
  body: request,
226
210
  timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
227
211
  maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
212
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
228
213
  });
229
214
  if (_response.ok) {
230
215
  return;
@@ -247,7 +232,7 @@ class Tokens {
247
232
  body: _response.error.rawBody,
248
233
  });
249
234
  case "timeout":
250
- throw new errors.CourierTimeoutError();
235
+ throw new errors.CourierTimeoutError("Timeout exceeded when calling PATCH /users/{user_id}/tokens/{token}.");
251
236
  case "unknown":
252
237
  throw new errors.CourierError({
253
238
  message: _response.error.errorMessage,
@@ -265,25 +250,20 @@ class Tokens {
265
250
  * @throws {@link Courier.BadRequestError}
266
251
  *
267
252
  * @example
268
- * await courier.users.tokens.get("string", "string")
253
+ * await client.users.tokens.get("user_id", "token")
269
254
  */
270
255
  get(userId, token, requestOptions) {
271
- var _a, _b;
272
256
  return __awaiter(this, void 0, void 0, function* () {
257
+ var _a, _b, _c;
273
258
  const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
274
- url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.CourierEnvironment.Production, `/users/${encodeURIComponent(userId)}/tokens/${encodeURIComponent(token)}`),
259
+ url: (0, url_join_1.default)((_c = (_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.CourierEnvironment.Production, `/users/${encodeURIComponent(userId)}/tokens/${encodeURIComponent(token)}`),
275
260
  method: "GET",
276
- headers: {
277
- Authorization: yield this._getAuthorizationHeader(),
278
- "X-Fern-Language": "JavaScript",
279
- "X-Fern-SDK-Name": "@trycourier/courier",
280
- "X-Fern-SDK-Version": "v6.3.1",
281
- "X-Fern-Runtime": core.RUNTIME.type,
282
- "X-Fern-Runtime-Version": core.RUNTIME.version,
283
- },
261
+ headers: Object.assign({ Authorization: yield this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "@trycourier/courier", "X-Fern-SDK-Version": "6.4.0", "User-Agent": "@trycourier/courier/6.4.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
284
262
  contentType: "application/json",
263
+ requestType: "json",
285
264
  timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
286
265
  maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
266
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
287
267
  });
288
268
  if (_response.ok) {
289
269
  return _response.body;
@@ -306,7 +286,7 @@ class Tokens {
306
286
  body: _response.error.rawBody,
307
287
  });
308
288
  case "timeout":
309
- throw new errors.CourierTimeoutError();
289
+ throw new errors.CourierTimeoutError("Timeout exceeded when calling GET /users/{user_id}/tokens/{token}.");
310
290
  case "unknown":
311
291
  throw new errors.CourierError({
312
292
  message: _response.error.errorMessage,
@@ -323,25 +303,20 @@ class Tokens {
323
303
  * @throws {@link Courier.BadRequestError}
324
304
  *
325
305
  * @example
326
- * await courier.users.tokens.list("string")
306
+ * await client.users.tokens.list("user_id")
327
307
  */
328
308
  list(userId, requestOptions) {
329
- var _a, _b;
330
309
  return __awaiter(this, void 0, void 0, function* () {
310
+ var _a, _b, _c;
331
311
  const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
332
- url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.CourierEnvironment.Production, `/users/${encodeURIComponent(userId)}/tokens`),
312
+ url: (0, url_join_1.default)((_c = (_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.CourierEnvironment.Production, `/users/${encodeURIComponent(userId)}/tokens`),
333
313
  method: "GET",
334
- headers: {
335
- Authorization: yield this._getAuthorizationHeader(),
336
- "X-Fern-Language": "JavaScript",
337
- "X-Fern-SDK-Name": "@trycourier/courier",
338
- "X-Fern-SDK-Version": "v6.3.1",
339
- "X-Fern-Runtime": core.RUNTIME.type,
340
- "X-Fern-Runtime-Version": core.RUNTIME.version,
341
- },
314
+ headers: Object.assign({ Authorization: yield this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "@trycourier/courier", "X-Fern-SDK-Version": "6.4.0", "User-Agent": "@trycourier/courier/6.4.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
342
315
  contentType: "application/json",
316
+ requestType: "json",
343
317
  timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
344
318
  maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
319
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
345
320
  });
346
321
  if (_response.ok) {
347
322
  return _response.body;
@@ -364,7 +339,7 @@ class Tokens {
364
339
  body: _response.error.rawBody,
365
340
  });
366
341
  case "timeout":
367
- throw new errors.CourierTimeoutError();
342
+ throw new errors.CourierTimeoutError("Timeout exceeded when calling GET /users/{user_id}/tokens.");
368
343
  case "unknown":
369
344
  throw new errors.CourierError({
370
345
  message: _response.error.errorMessage,
@@ -378,25 +353,20 @@ class Tokens {
378
353
  * @param {Tokens.RequestOptions} requestOptions - Request-specific configuration.
379
354
  *
380
355
  * @example
381
- * await courier.users.tokens.delete("string", "string")
356
+ * await client.users.tokens.delete("user_id", "token")
382
357
  */
383
358
  delete(userId, token, requestOptions) {
384
- var _a, _b;
385
359
  return __awaiter(this, void 0, void 0, function* () {
360
+ var _a, _b, _c;
386
361
  const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
387
- url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.CourierEnvironment.Production, `/users/${encodeURIComponent(userId)}/tokens/${encodeURIComponent(token)}`),
362
+ url: (0, url_join_1.default)((_c = (_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.CourierEnvironment.Production, `/users/${encodeURIComponent(userId)}/tokens/${encodeURIComponent(token)}`),
388
363
  method: "DELETE",
389
- headers: {
390
- Authorization: yield this._getAuthorizationHeader(),
391
- "X-Fern-Language": "JavaScript",
392
- "X-Fern-SDK-Name": "@trycourier/courier",
393
- "X-Fern-SDK-Version": "v6.3.1",
394
- "X-Fern-Runtime": core.RUNTIME.type,
395
- "X-Fern-Runtime-Version": core.RUNTIME.version,
396
- },
364
+ headers: Object.assign({ Authorization: yield this._getAuthorizationHeader(), "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "@trycourier/courier", "X-Fern-SDK-Version": "6.4.0", "User-Agent": "@trycourier/courier/6.4.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers),
397
365
  contentType: "application/json",
366
+ requestType: "json",
398
367
  timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
399
368
  maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
369
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
400
370
  });
401
371
  if (_response.ok) {
402
372
  return;
@@ -414,7 +384,7 @@ class Tokens {
414
384
  body: _response.error.rawBody,
415
385
  });
416
386
  case "timeout":
417
- throw new errors.CourierTimeoutError();
387
+ throw new errors.CourierTimeoutError("Timeout exceeded when calling DELETE /users/{user_id}/tokens/{token}.");
418
388
  case "unknown":
419
389
  throw new errors.CourierError({
420
390
  message: _response.error.errorMessage,
@@ -423,12 +393,12 @@ class Tokens {
423
393
  });
424
394
  }
425
395
  _getAuthorizationHeader() {
426
- var _a;
427
396
  return __awaiter(this, void 0, void 0, function* () {
397
+ var _a;
428
398
  const bearer = (_a = (yield core.Supplier.get(this._options.authorizationToken))) !== null && _a !== void 0 ? _a : process === null || process === void 0 ? void 0 : process.env["COURIER_AUTH_TOKEN"];
429
399
  if (bearer == null) {
430
400
  throw new errors.CourierError({
431
- message: "Please specify COURIER_AUTH_TOKEN when instantiating the client.",
401
+ message: "Please specify a bearer by either passing it in to the constructor or initializing a COURIER_AUTH_TOKEN environment variable",
432
402
  });
433
403
  }
434
404
  return `Bearer ${bearer}`;
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * This file was auto-generated by Fern from our API Definition.
3
3
  */
4
- export declare type ExpiryDate = string | boolean;
4
+ export type ExpiryDate = string | boolean;
@@ -5,4 +5,4 @@ import * as Courier from "../../../../../index";
5
5
  /**
6
6
  * A list of tokens registered with the user.
7
7
  */
8
- export declare type GetAllTokensResponse = Courier.users.UserToken[];
8
+ export type GetAllTokensResponse = Courier.users.UserToken[];
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * This file was auto-generated by Fern from our API Definition.
3
3
  */
4
- export declare type PatchOp = "replace" | "add" | "remove" | "copy" | "move" | "test";
4
+ export type PatchOp = "replace" | "add" | "remove" | "copy" | "move" | "test";
5
5
  export declare const PatchOp: {
6
6
  readonly Replace: "replace";
7
7
  readonly Add: "add";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * This file was auto-generated by Fern from our API Definition.
3
3
  */
4
- export declare type ProviderKey = "firebase-fcm" | "apn" | "expo" | "onesignal";
4
+ export type ProviderKey = "firebase-fcm" | "apn" | "expo" | "onesignal";
5
5
  export declare const ProviderKey: {
6
6
  readonly FirebaseFcm: "firebase-fcm";
7
7
  readonly Apn: "apn";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * This file was auto-generated by Fern from our API Definition.
3
3
  */
4
- export declare type TokenStatus = "active" | "unknown" | "failed" | "revoked";
4
+ export type TokenStatus = "active" | "unknown" | "failed" | "revoked";
5
5
  export declare const TokenStatus: {
6
6
  readonly Active: "active";
7
7
  readonly Unknown: "unknown";
@@ -1,4 +1,4 @@
1
- export declare type BearerToken = string;
1
+ export type BearerToken = string;
2
2
  export declare const BearerToken: {
3
3
  toAuthorizationHeader: (token: BearerToken | undefined) => string | undefined;
4
4
  fromAuthorizationHeader: (header: string) => BearerToken;
@@ -1,4 +1,4 @@
1
- export declare type APIResponse<Success, Failure> = SuccessfulResponse<Success> | FailedResponse<Failure>;
1
+ export type APIResponse<Success, Failure> = SuccessfulResponse<Success> | FailedResponse<Failure>;
2
2
  export interface SuccessfulResponse<T> {
3
3
  ok: true;
4
4
  body: T;
@@ -1,17 +1,20 @@
1
1
  import { APIResponse } from "./APIResponse";
2
- export declare type FetchFunction = <R = unknown>(args: Fetcher.Args) => Promise<APIResponse<R, Fetcher.Error>>;
2
+ export type FetchFunction = <R = unknown>(args: Fetcher.Args) => Promise<APIResponse<R, Fetcher.Error>>;
3
3
  export declare namespace Fetcher {
4
4
  interface Args {
5
5
  url: string;
6
6
  method: string;
7
7
  contentType?: string;
8
8
  headers?: Record<string, string | undefined>;
9
- queryParameters?: Record<string, string | string[] | object | object[]>;
9
+ queryParameters?: Record<string, string | string[] | object | object[] | null>;
10
10
  body?: unknown;
11
11
  timeoutMs?: number;
12
12
  maxRetries?: number;
13
13
  withCredentials?: boolean;
14
- responseType?: "json" | "blob" | "streaming" | "text";
14
+ abortSignal?: AbortSignal;
15
+ requestType?: "json" | "file" | "bytes";
16
+ responseType?: "json" | "blob" | "sse" | "streaming" | "text" | "arrayBuffer";
17
+ duplex?: "half";
15
18
  }
16
19
  type Error = FailedStatusCodeError | NonJsonError | TimeoutError | UnknownError;
17
20
  interface FailedStatusCodeError {
@@ -32,4 +35,5 @@ export declare namespace Fetcher {
32
35
  errorMessage: string;
33
36
  }
34
37
  }
38
+ export declare function fetcherImpl<R = unknown>(args: Fetcher.Args): Promise<APIResponse<R, Fetcher.Error>>;
35
39
  export declare const fetcher: FetchFunction;
@@ -1,27 +1,4 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -31,18 +8,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
31
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
32
9
  });
33
10
  };
34
- var __importDefault = (this && this.__importDefault) || function (mod) {
35
- return (mod && mod.__esModule) ? mod : { "default": mod };
36
- };
37
11
  Object.defineProperty(exports, "__esModule", { value: true });
38
12
  exports.fetcher = void 0;
39
- const qs_1 = __importDefault(require("qs"));
40
- const runtime_1 = require("../runtime");
41
- const INITIAL_RETRY_DELAY = 1;
42
- const MAX_RETRY_DELAY = 60;
43
- const DEFAULT_MAX_RETRIES = 2;
13
+ exports.fetcherImpl = fetcherImpl;
14
+ const json_1 = require("../json");
15
+ const createRequestUrl_1 = require("./createRequestUrl");
16
+ const getFetchFn_1 = require("./getFetchFn");
17
+ const getRequestBody_1 = require("./getRequestBody");
18
+ const getResponseBody_1 = require("./getResponseBody");
19
+ const makeRequest_1 = require("./makeRequest");
20
+ const requestWithRetries_1 = require("./requestWithRetries");
44
21
  function fetcherImpl(args) {
45
- var _a, _b;
46
22
  return __awaiter(this, void 0, void 0, function* () {
47
23
  const headers = {};
48
24
  if (args.body !== undefined && args.contentType != null) {
@@ -55,111 +31,21 @@ function fetcherImpl(args) {
55
31
  }
56
32
  }
57
33
  }
58
- const url = Object.keys((_a = args.queryParameters) !== null && _a !== void 0 ? _a : {}).length > 0
59
- ? `${args.url}?${qs_1.default.stringify(args.queryParameters, { arrayFormat: "repeat" })}`
60
- : args.url;
61
- let body = undefined;
62
- const maybeStringifyBody = (body) => {
63
- if (body instanceof Uint8Array) {
64
- return body;
65
- }
66
- else {
67
- return JSON.stringify(body);
68
- }
69
- };
70
- if (runtime_1.RUNTIME.type === "node") {
71
- if (args.body instanceof (yield Promise.resolve().then(() => __importStar(require("formdata-node")))).FormData) {
72
- // @ts-expect-error
73
- body = args.body;
74
- }
75
- else {
76
- body = maybeStringifyBody(args.body);
77
- }
78
- }
79
- else {
80
- if (args.body instanceof (yield Promise.resolve().then(() => __importStar(require("form-data")))).default) {
81
- // @ts-expect-error
82
- body = args.body;
83
- }
84
- else {
85
- body = maybeStringifyBody(args.body);
86
- }
87
- }
88
- // In Node.js environments, the SDK always uses`node-fetch`.
89
- // If not in Node.js the SDK uses global fetch if available,
90
- // and falls back to node-fetch.
91
- const fetchFn = runtime_1.RUNTIME.type === "node"
92
- ? // `.default` is required due to this issue:
93
- // https://github.com/node-fetch/node-fetch/issues/450#issuecomment-387045223
94
- (yield Promise.resolve().then(() => __importStar(require("node-fetch")))).default
95
- : typeof fetch == "function"
96
- ? fetch
97
- : (yield Promise.resolve().then(() => __importStar(require("node-fetch")))).default;
98
- const makeRequest = () => __awaiter(this, void 0, void 0, function* () {
99
- const controller = new AbortController();
100
- let abortId = undefined;
101
- if (args.timeoutMs != null) {
102
- abortId = setTimeout(() => controller.abort(), args.timeoutMs);
103
- }
104
- const response = yield fetchFn(url, {
105
- method: args.method,
106
- headers,
107
- body,
108
- signal: controller.signal,
109
- credentials: args.withCredentials ? "include" : undefined,
110
- });
111
- if (abortId != null) {
112
- clearTimeout(abortId);
113
- }
114
- return response;
34
+ const url = (0, createRequestUrl_1.createRequestUrl)(args.url, args.queryParameters);
35
+ const requestBody = yield (0, getRequestBody_1.getRequestBody)({
36
+ body: args.body,
37
+ type: args.requestType === "json" ? "json" : "other",
115
38
  });
39
+ const fetchFn = yield (0, getFetchFn_1.getFetchFn)();
116
40
  try {
117
- let response = yield makeRequest();
118
- for (let i = 0; i < ((_b = args.maxRetries) !== null && _b !== void 0 ? _b : DEFAULT_MAX_RETRIES); ++i) {
119
- if (response.status === 408 ||
120
- response.status === 409 ||
121
- response.status === 429 ||
122
- response.status >= 500) {
123
- const delay = Math.min(INITIAL_RETRY_DELAY * Math.pow(i, 2), MAX_RETRY_DELAY);
124
- yield new Promise((resolve) => setTimeout(resolve, delay));
125
- response = yield makeRequest();
126
- }
127
- else {
128
- break;
129
- }
130
- }
131
- let body;
132
- if (response.body != null && args.responseType === "blob") {
133
- body = yield response.blob();
134
- }
135
- else if (response.body != null && args.responseType === "streaming") {
136
- body = response.body;
137
- }
138
- else if (response.body != null && args.responseType === "text") {
139
- body = yield response.text();
140
- }
141
- else {
142
- const text = yield response.text();
143
- if (text.length > 0) {
144
- try {
145
- body = JSON.parse(text);
146
- }
147
- catch (err) {
148
- return {
149
- ok: false,
150
- error: {
151
- reason: "non-json",
152
- statusCode: response.status,
153
- rawBody: text,
154
- },
155
- };
156
- }
157
- }
158
- }
41
+ const response = yield (0, requestWithRetries_1.requestWithRetries)(() => __awaiter(this, void 0, void 0, function* () {
42
+ return (0, makeRequest_1.makeRequest)(fetchFn, url, args.method, headers, requestBody, args.timeoutMs, args.abortSignal, args.withCredentials, args.duplex);
43
+ }), args.maxRetries);
44
+ const responseBody = yield (0, getResponseBody_1.getResponseBody)(response, args.responseType);
159
45
  if (response.status >= 200 && response.status < 400) {
160
46
  return {
161
47
  ok: true,
162
- body: body,
48
+ body: responseBody,
163
49
  headers: response.headers,
164
50
  };
165
51
  }
@@ -169,13 +55,22 @@ function fetcherImpl(args) {
169
55
  error: {
170
56
  reason: "status-code",
171
57
  statusCode: response.status,
172
- body,
58
+ body: responseBody,
173
59
  },
174
60
  };
175
61
  }
176
62
  }
177
63
  catch (error) {
178
- if (error instanceof Error && error.name === "AbortError") {
64
+ if (args.abortSignal != null && args.abortSignal.aborted) {
65
+ return {
66
+ ok: false,
67
+ error: {
68
+ reason: "unknown",
69
+ errorMessage: "The user aborted a request",
70
+ },
71
+ };
72
+ }
73
+ else if (error instanceof Error && error.name === "AbortError") {
179
74
  return {
180
75
  ok: false,
181
76
  error: {
@@ -196,7 +91,7 @@ function fetcherImpl(args) {
196
91
  ok: false,
197
92
  error: {
198
93
  reason: "unknown",
199
- errorMessage: JSON.stringify(error),
94
+ errorMessage: (0, json_1.toJson)(error),
200
95
  },
201
96
  };
202
97
  }
@@ -1,4 +1,4 @@
1
- export declare type Supplier<T> = T | Promise<T> | (() => T | Promise<T>);
1
+ export type Supplier<T> = T | Promise<T> | (() => T | Promise<T>);
2
2
  export declare const Supplier: {
3
3
  get: <T>(supplier: Supplier<T>) => Promise<T>;
4
4
  };
@@ -0,0 +1 @@
1
+ export declare function createRequestUrl(baseUrl: string, queryParameters?: Record<string, string | string[] | object | object[] | null>): string;