agentmail 0.0.58 → 0.0.66

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 (224) hide show
  1. package/dist/cjs/Client.d.ts +2 -2
  2. package/dist/cjs/Client.js +2 -2
  3. package/dist/cjs/api/resources/domains/client/Client.d.ts +7 -7
  4. package/dist/cjs/api/resources/domains/client/Client.js +69 -58
  5. package/dist/cjs/api/resources/drafts/client/Client.d.ts +3 -4
  6. package/dist/cjs/api/resources/drafts/client/Client.js +84 -71
  7. package/dist/cjs/api/resources/inboxes/client/Client.d.ts +14 -4
  8. package/dist/cjs/api/resources/inboxes/client/Client.js +127 -54
  9. package/dist/cjs/api/resources/inboxes/resources/drafts/client/Client.d.ts +3 -4
  10. package/dist/cjs/api/resources/inboxes/resources/drafts/client/Client.js +87 -74
  11. package/dist/cjs/api/resources/inboxes/resources/messages/client/Client.d.ts +3 -4
  12. package/dist/cjs/api/resources/inboxes/resources/messages/client/Client.js +89 -76
  13. package/dist/cjs/api/resources/inboxes/resources/metrics/client/Client.d.ts +2 -2
  14. package/dist/cjs/api/resources/inboxes/resources/metrics/client/Client.js +1 -1
  15. package/dist/cjs/api/resources/inboxes/resources/threads/client/Client.d.ts +15 -4
  16. package/dist/cjs/api/resources/inboxes/resources/threads/client/Client.js +138 -61
  17. package/dist/cjs/api/resources/messages/types/Message.d.ts +5 -8
  18. package/dist/cjs/api/resources/messages/types/MessageCreatedAt.d.ts +7 -0
  19. package/dist/cjs/api/resources/messages/types/MessageCreatedAt.js +5 -0
  20. package/dist/cjs/api/resources/messages/types/MessageInReplyTo.d.ts +7 -0
  21. package/dist/cjs/api/resources/messages/types/MessageInReplyTo.js +5 -0
  22. package/dist/cjs/api/resources/messages/types/MessageItem.d.ts +5 -0
  23. package/dist/cjs/api/resources/messages/types/MessageReferences.d.ts +7 -0
  24. package/dist/cjs/api/resources/messages/types/MessageReferences.js +5 -0
  25. package/dist/cjs/api/resources/messages/types/MessageReplyTo.d.ts +7 -0
  26. package/dist/cjs/api/resources/messages/types/MessageReplyTo.js +5 -0
  27. package/dist/cjs/api/resources/messages/types/MessageSize.d.ts +7 -0
  28. package/dist/cjs/api/resources/messages/types/MessageSize.js +5 -0
  29. package/dist/cjs/api/resources/messages/types/MessageUpdatedAt.d.ts +7 -0
  30. package/dist/cjs/api/resources/messages/types/MessageUpdatedAt.js +5 -0
  31. package/dist/cjs/api/resources/messages/types/index.d.ts +6 -0
  32. package/dist/cjs/api/resources/messages/types/index.js +6 -0
  33. package/dist/cjs/api/resources/metrics/client/Client.d.ts +2 -2
  34. package/dist/cjs/api/resources/metrics/client/Client.js +1 -1
  35. package/dist/cjs/api/resources/threads/client/Client.d.ts +14 -4
  36. package/dist/cjs/api/resources/threads/client/Client.js +136 -60
  37. package/dist/cjs/api/resources/threads/types/Thread.d.ts +6 -4
  38. package/dist/cjs/api/resources/threads/types/ThreadCreatedAt.d.ts +7 -0
  39. package/dist/cjs/api/resources/threads/types/ThreadCreatedAt.js +5 -0
  40. package/dist/cjs/api/resources/threads/types/ThreadItem.d.ts +6 -0
  41. package/dist/cjs/api/resources/threads/types/ThreadLastMessageId.d.ts +7 -0
  42. package/dist/cjs/api/resources/threads/types/ThreadLastMessageId.js +5 -0
  43. package/dist/cjs/api/resources/threads/types/ThreadReceivedTimestamp.d.ts +7 -0
  44. package/dist/cjs/api/resources/threads/types/ThreadReceivedTimestamp.js +5 -0
  45. package/dist/cjs/api/resources/threads/types/ThreadSentTimestamp.d.ts +7 -0
  46. package/dist/cjs/api/resources/threads/types/ThreadSentTimestamp.js +5 -0
  47. package/dist/cjs/api/resources/threads/types/ThreadSize.d.ts +7 -0
  48. package/dist/cjs/api/resources/threads/types/ThreadSize.js +5 -0
  49. package/dist/cjs/api/resources/threads/types/ThreadTimestamp.d.ts +1 -1
  50. package/dist/cjs/api/resources/threads/types/ThreadUpdatedAt.d.ts +7 -0
  51. package/dist/cjs/api/resources/threads/types/ThreadUpdatedAt.js +5 -0
  52. package/dist/cjs/api/resources/threads/types/index.d.ts +6 -0
  53. package/dist/cjs/api/resources/threads/types/index.js +6 -0
  54. package/dist/cjs/api/resources/webhooks/client/Client.d.ts +3 -4
  55. package/dist/cjs/api/resources/webhooks/client/Client.js +65 -55
  56. package/dist/cjs/api/resources/websockets/client/Client.d.ts +1 -1
  57. package/dist/cjs/api/resources/websockets/client/Client.js +2 -1
  58. package/dist/cjs/core/fetcher/Fetcher.d.ts +1 -1
  59. package/dist/cjs/core/fetcher/requestWithRetries.js +44 -8
  60. package/dist/cjs/core/headers.d.ts +2 -2
  61. package/dist/cjs/core/index.d.ts +2 -0
  62. package/dist/cjs/core/index.js +2 -0
  63. package/dist/cjs/core/pagination/Page.d.ts +32 -0
  64. package/dist/cjs/core/pagination/Page.js +100 -0
  65. package/dist/cjs/core/pagination/Pageable.d.ts +14 -0
  66. package/dist/cjs/core/pagination/Pageable.js +10 -0
  67. package/dist/cjs/core/pagination/index.d.ts +2 -0
  68. package/dist/cjs/core/pagination/index.js +7 -0
  69. package/dist/cjs/core/utils/index.d.ts +1 -0
  70. package/dist/cjs/core/utils/index.js +5 -0
  71. package/dist/cjs/core/utils/setObjectProperty.d.ts +11 -0
  72. package/dist/cjs/core/utils/setObjectProperty.js +42 -0
  73. package/dist/cjs/core/websocket/ws.d.ts +1 -1
  74. package/dist/cjs/serialization/resources/messages/types/Message.d.ts +10 -4
  75. package/dist/cjs/serialization/resources/messages/types/Message.js +10 -4
  76. package/dist/cjs/serialization/resources/messages/types/MessageCreatedAt.d.ts +10 -0
  77. package/dist/cjs/serialization/resources/messages/types/MessageCreatedAt.js +41 -0
  78. package/dist/cjs/serialization/resources/messages/types/MessageInReplyTo.d.ts +10 -0
  79. package/dist/cjs/serialization/resources/messages/types/MessageInReplyTo.js +41 -0
  80. package/dist/cjs/serialization/resources/messages/types/MessageItem.d.ts +10 -0
  81. package/dist/cjs/serialization/resources/messages/types/MessageItem.js +10 -0
  82. package/dist/cjs/serialization/resources/messages/types/MessageReferences.d.ts +10 -0
  83. package/dist/cjs/serialization/resources/messages/types/MessageReferences.js +41 -0
  84. package/dist/cjs/serialization/resources/messages/types/MessageReplyTo.d.ts +10 -0
  85. package/dist/cjs/serialization/resources/messages/types/MessageReplyTo.js +41 -0
  86. package/dist/cjs/serialization/resources/messages/types/MessageSize.d.ts +10 -0
  87. package/dist/cjs/serialization/resources/messages/types/MessageSize.js +41 -0
  88. package/dist/cjs/serialization/resources/messages/types/MessageUpdatedAt.d.ts +10 -0
  89. package/dist/cjs/serialization/resources/messages/types/MessageUpdatedAt.js +41 -0
  90. package/dist/cjs/serialization/resources/messages/types/index.d.ts +6 -0
  91. package/dist/cjs/serialization/resources/messages/types/index.js +6 -0
  92. package/dist/cjs/serialization/resources/threads/types/Thread.d.ts +12 -2
  93. package/dist/cjs/serialization/resources/threads/types/Thread.js +12 -2
  94. package/dist/cjs/serialization/resources/threads/types/ThreadCreatedAt.d.ts +10 -0
  95. package/dist/cjs/serialization/resources/threads/types/ThreadCreatedAt.js +41 -0
  96. package/dist/cjs/serialization/resources/threads/types/ThreadItem.d.ts +12 -0
  97. package/dist/cjs/serialization/resources/threads/types/ThreadItem.js +12 -0
  98. package/dist/cjs/serialization/resources/threads/types/ThreadLastMessageId.d.ts +10 -0
  99. package/dist/cjs/serialization/resources/threads/types/ThreadLastMessageId.js +41 -0
  100. package/dist/cjs/serialization/resources/threads/types/ThreadReceivedTimestamp.d.ts +10 -0
  101. package/dist/cjs/serialization/resources/threads/types/ThreadReceivedTimestamp.js +41 -0
  102. package/dist/cjs/serialization/resources/threads/types/ThreadSentTimestamp.d.ts +10 -0
  103. package/dist/cjs/serialization/resources/threads/types/ThreadSentTimestamp.js +41 -0
  104. package/dist/cjs/serialization/resources/threads/types/ThreadSize.d.ts +10 -0
  105. package/dist/cjs/serialization/resources/threads/types/ThreadSize.js +41 -0
  106. package/dist/cjs/serialization/resources/threads/types/ThreadUpdatedAt.d.ts +10 -0
  107. package/dist/cjs/serialization/resources/threads/types/ThreadUpdatedAt.js +41 -0
  108. package/dist/cjs/serialization/resources/threads/types/index.d.ts +6 -0
  109. package/dist/cjs/serialization/resources/threads/types/index.js +6 -0
  110. package/dist/cjs/version.d.ts +1 -1
  111. package/dist/cjs/version.js +1 -1
  112. package/dist/esm/Client.d.mts +2 -2
  113. package/dist/esm/Client.mjs +2 -2
  114. package/dist/esm/api/resources/domains/client/Client.d.mts +7 -7
  115. package/dist/esm/api/resources/domains/client/Client.mjs +69 -58
  116. package/dist/esm/api/resources/drafts/client/Client.d.mts +3 -4
  117. package/dist/esm/api/resources/drafts/client/Client.mjs +84 -71
  118. package/dist/esm/api/resources/inboxes/client/Client.d.mts +14 -4
  119. package/dist/esm/api/resources/inboxes/client/Client.mjs +127 -54
  120. package/dist/esm/api/resources/inboxes/resources/drafts/client/Client.d.mts +3 -4
  121. package/dist/esm/api/resources/inboxes/resources/drafts/client/Client.mjs +87 -74
  122. package/dist/esm/api/resources/inboxes/resources/messages/client/Client.d.mts +3 -4
  123. package/dist/esm/api/resources/inboxes/resources/messages/client/Client.mjs +89 -76
  124. package/dist/esm/api/resources/inboxes/resources/metrics/client/Client.d.mts +2 -2
  125. package/dist/esm/api/resources/inboxes/resources/metrics/client/Client.mjs +1 -1
  126. package/dist/esm/api/resources/inboxes/resources/threads/client/Client.d.mts +15 -4
  127. package/dist/esm/api/resources/inboxes/resources/threads/client/Client.mjs +138 -61
  128. package/dist/esm/api/resources/messages/types/Message.d.mts +5 -8
  129. package/dist/esm/api/resources/messages/types/MessageCreatedAt.d.mts +7 -0
  130. package/dist/esm/api/resources/messages/types/MessageCreatedAt.mjs +4 -0
  131. package/dist/esm/api/resources/messages/types/MessageInReplyTo.d.mts +7 -0
  132. package/dist/esm/api/resources/messages/types/MessageInReplyTo.mjs +4 -0
  133. package/dist/esm/api/resources/messages/types/MessageItem.d.mts +5 -0
  134. package/dist/esm/api/resources/messages/types/MessageReferences.d.mts +7 -0
  135. package/dist/esm/api/resources/messages/types/MessageReferences.mjs +4 -0
  136. package/dist/esm/api/resources/messages/types/MessageReplyTo.d.mts +7 -0
  137. package/dist/esm/api/resources/messages/types/MessageReplyTo.mjs +4 -0
  138. package/dist/esm/api/resources/messages/types/MessageSize.d.mts +7 -0
  139. package/dist/esm/api/resources/messages/types/MessageSize.mjs +4 -0
  140. package/dist/esm/api/resources/messages/types/MessageUpdatedAt.d.mts +7 -0
  141. package/dist/esm/api/resources/messages/types/MessageUpdatedAt.mjs +4 -0
  142. package/dist/esm/api/resources/messages/types/index.d.mts +6 -0
  143. package/dist/esm/api/resources/messages/types/index.mjs +6 -0
  144. package/dist/esm/api/resources/metrics/client/Client.d.mts +2 -2
  145. package/dist/esm/api/resources/metrics/client/Client.mjs +1 -1
  146. package/dist/esm/api/resources/threads/client/Client.d.mts +14 -4
  147. package/dist/esm/api/resources/threads/client/Client.mjs +136 -60
  148. package/dist/esm/api/resources/threads/types/Thread.d.mts +6 -4
  149. package/dist/esm/api/resources/threads/types/ThreadCreatedAt.d.mts +7 -0
  150. package/dist/esm/api/resources/threads/types/ThreadCreatedAt.mjs +4 -0
  151. package/dist/esm/api/resources/threads/types/ThreadItem.d.mts +6 -0
  152. package/dist/esm/api/resources/threads/types/ThreadLastMessageId.d.mts +7 -0
  153. package/dist/esm/api/resources/threads/types/ThreadLastMessageId.mjs +4 -0
  154. package/dist/esm/api/resources/threads/types/ThreadReceivedTimestamp.d.mts +7 -0
  155. package/dist/esm/api/resources/threads/types/ThreadReceivedTimestamp.mjs +4 -0
  156. package/dist/esm/api/resources/threads/types/ThreadSentTimestamp.d.mts +7 -0
  157. package/dist/esm/api/resources/threads/types/ThreadSentTimestamp.mjs +4 -0
  158. package/dist/esm/api/resources/threads/types/ThreadSize.d.mts +7 -0
  159. package/dist/esm/api/resources/threads/types/ThreadSize.mjs +4 -0
  160. package/dist/esm/api/resources/threads/types/ThreadTimestamp.d.mts +1 -1
  161. package/dist/esm/api/resources/threads/types/ThreadUpdatedAt.d.mts +7 -0
  162. package/dist/esm/api/resources/threads/types/ThreadUpdatedAt.mjs +4 -0
  163. package/dist/esm/api/resources/threads/types/index.d.mts +6 -0
  164. package/dist/esm/api/resources/threads/types/index.mjs +6 -0
  165. package/dist/esm/api/resources/webhooks/client/Client.d.mts +3 -4
  166. package/dist/esm/api/resources/webhooks/client/Client.mjs +65 -55
  167. package/dist/esm/api/resources/websockets/client/Client.d.mts +1 -1
  168. package/dist/esm/api/resources/websockets/client/Client.mjs +2 -1
  169. package/dist/esm/core/fetcher/Fetcher.d.mts +1 -1
  170. package/dist/esm/core/fetcher/requestWithRetries.mjs +44 -8
  171. package/dist/esm/core/headers.d.mts +2 -2
  172. package/dist/esm/core/index.d.mts +2 -0
  173. package/dist/esm/core/index.mjs +2 -0
  174. package/dist/esm/core/pagination/Page.d.mts +32 -0
  175. package/dist/esm/core/pagination/Page.mjs +96 -0
  176. package/dist/esm/core/pagination/Pageable.d.mts +14 -0
  177. package/dist/esm/core/pagination/Pageable.mjs +6 -0
  178. package/dist/esm/core/pagination/index.d.mts +2 -0
  179. package/dist/esm/core/pagination/index.mjs +2 -0
  180. package/dist/esm/core/utils/index.d.mts +1 -0
  181. package/dist/esm/core/utils/index.mjs +1 -0
  182. package/dist/esm/core/utils/setObjectProperty.d.mts +11 -0
  183. package/dist/esm/core/utils/setObjectProperty.mjs +39 -0
  184. package/dist/esm/core/websocket/ws.d.mts +1 -1
  185. package/dist/esm/serialization/resources/messages/types/Message.d.mts +10 -4
  186. package/dist/esm/serialization/resources/messages/types/Message.mjs +10 -4
  187. package/dist/esm/serialization/resources/messages/types/MessageCreatedAt.d.mts +10 -0
  188. package/dist/esm/serialization/resources/messages/types/MessageCreatedAt.mjs +5 -0
  189. package/dist/esm/serialization/resources/messages/types/MessageInReplyTo.d.mts +10 -0
  190. package/dist/esm/serialization/resources/messages/types/MessageInReplyTo.mjs +5 -0
  191. package/dist/esm/serialization/resources/messages/types/MessageItem.d.mts +10 -0
  192. package/dist/esm/serialization/resources/messages/types/MessageItem.mjs +10 -0
  193. package/dist/esm/serialization/resources/messages/types/MessageReferences.d.mts +10 -0
  194. package/dist/esm/serialization/resources/messages/types/MessageReferences.mjs +5 -0
  195. package/dist/esm/serialization/resources/messages/types/MessageReplyTo.d.mts +10 -0
  196. package/dist/esm/serialization/resources/messages/types/MessageReplyTo.mjs +5 -0
  197. package/dist/esm/serialization/resources/messages/types/MessageSize.d.mts +10 -0
  198. package/dist/esm/serialization/resources/messages/types/MessageSize.mjs +5 -0
  199. package/dist/esm/serialization/resources/messages/types/MessageUpdatedAt.d.mts +10 -0
  200. package/dist/esm/serialization/resources/messages/types/MessageUpdatedAt.mjs +5 -0
  201. package/dist/esm/serialization/resources/messages/types/index.d.mts +6 -0
  202. package/dist/esm/serialization/resources/messages/types/index.mjs +6 -0
  203. package/dist/esm/serialization/resources/threads/types/Thread.d.mts +12 -2
  204. package/dist/esm/serialization/resources/threads/types/Thread.mjs +12 -2
  205. package/dist/esm/serialization/resources/threads/types/ThreadCreatedAt.d.mts +10 -0
  206. package/dist/esm/serialization/resources/threads/types/ThreadCreatedAt.mjs +5 -0
  207. package/dist/esm/serialization/resources/threads/types/ThreadItem.d.mts +12 -0
  208. package/dist/esm/serialization/resources/threads/types/ThreadItem.mjs +12 -0
  209. package/dist/esm/serialization/resources/threads/types/ThreadLastMessageId.d.mts +10 -0
  210. package/dist/esm/serialization/resources/threads/types/ThreadLastMessageId.mjs +5 -0
  211. package/dist/esm/serialization/resources/threads/types/ThreadReceivedTimestamp.d.mts +10 -0
  212. package/dist/esm/serialization/resources/threads/types/ThreadReceivedTimestamp.mjs +5 -0
  213. package/dist/esm/serialization/resources/threads/types/ThreadSentTimestamp.d.mts +10 -0
  214. package/dist/esm/serialization/resources/threads/types/ThreadSentTimestamp.mjs +5 -0
  215. package/dist/esm/serialization/resources/threads/types/ThreadSize.d.mts +10 -0
  216. package/dist/esm/serialization/resources/threads/types/ThreadSize.mjs +5 -0
  217. package/dist/esm/serialization/resources/threads/types/ThreadUpdatedAt.d.mts +10 -0
  218. package/dist/esm/serialization/resources/threads/types/ThreadUpdatedAt.mjs +5 -0
  219. package/dist/esm/serialization/resources/threads/types/index.d.mts +6 -0
  220. package/dist/esm/serialization/resources/threads/types/index.mjs +6 -0
  221. package/dist/esm/version.d.mts +1 -1
  222. package/dist/esm/version.mjs +1 -1
  223. package/package.json +1 -1
  224. package/reference.md +404 -11
@@ -1,12 +1,18 @@
1
1
  export * from "./ThreadId.js";
2
2
  export * from "./ThreadLabels.js";
3
3
  export * from "./ThreadTimestamp.js";
4
+ export * from "./ThreadReceivedTimestamp.js";
5
+ export * from "./ThreadSentTimestamp.js";
4
6
  export * from "./ThreadSenders.js";
5
7
  export * from "./ThreadRecipients.js";
6
8
  export * from "./ThreadSubject.js";
7
9
  export * from "./ThreadPreview.js";
8
10
  export * from "./ThreadAttachments.js";
11
+ export * from "./ThreadLastMessageId.js";
9
12
  export * from "./ThreadMessageCount.js";
13
+ export * from "./ThreadSize.js";
14
+ export * from "./ThreadUpdatedAt.js";
15
+ export * from "./ThreadCreatedAt.js";
10
16
  export * from "./ThreadItem.js";
11
17
  export * from "./Thread.js";
12
18
  export * from "./ListThreadsResponse.js";
@@ -17,12 +17,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./ThreadId.js"), exports);
18
18
  __exportStar(require("./ThreadLabels.js"), exports);
19
19
  __exportStar(require("./ThreadTimestamp.js"), exports);
20
+ __exportStar(require("./ThreadReceivedTimestamp.js"), exports);
21
+ __exportStar(require("./ThreadSentTimestamp.js"), exports);
20
22
  __exportStar(require("./ThreadSenders.js"), exports);
21
23
  __exportStar(require("./ThreadRecipients.js"), exports);
22
24
  __exportStar(require("./ThreadSubject.js"), exports);
23
25
  __exportStar(require("./ThreadPreview.js"), exports);
24
26
  __exportStar(require("./ThreadAttachments.js"), exports);
27
+ __exportStar(require("./ThreadLastMessageId.js"), exports);
25
28
  __exportStar(require("./ThreadMessageCount.js"), exports);
29
+ __exportStar(require("./ThreadSize.js"), exports);
30
+ __exportStar(require("./ThreadUpdatedAt.js"), exports);
31
+ __exportStar(require("./ThreadCreatedAt.js"), exports);
26
32
  __exportStar(require("./ThreadItem.js"), exports);
27
33
  __exportStar(require("./Thread.js"), exports);
28
34
  __exportStar(require("./ListThreadsResponse.js"), exports);
@@ -11,7 +11,7 @@ export declare namespace Webhooks {
11
11
  baseUrl?: core.Supplier<string>;
12
12
  apiKey?: core.Supplier<core.BearerToken | undefined>;
13
13
  /** Additional headers to include in requests. */
14
- headers?: Record<string, string | core.Supplier<string | undefined> | undefined>;
14
+ headers?: Record<string, string | core.Supplier<string | null | undefined> | null | undefined>;
15
15
  }
16
16
  interface RequestOptions {
17
17
  /** The maximum time to wait for a response in seconds. */
@@ -23,7 +23,7 @@ export declare namespace Webhooks {
23
23
  /** Additional query string parameters to include in the request. */
24
24
  queryParams?: Record<string, unknown>;
25
25
  /** Additional headers to include in the request. */
26
- headers?: Record<string, string | core.Supplier<string | undefined> | undefined>;
26
+ headers?: Record<string, string | core.Supplier<string | null | undefined> | null | undefined>;
27
27
  }
28
28
  }
29
29
  export declare class Webhooks {
@@ -36,8 +36,7 @@ export declare class Webhooks {
36
36
  * @example
37
37
  * await client.webhooks.list()
38
38
  */
39
- list(request?: AgentMail.webhooks.ListWebhooksRequest, requestOptions?: Webhooks.RequestOptions): core.HttpResponsePromise<AgentMail.webhooks.ListWebhooksResponse>;
40
- private __list;
39
+ list(request?: AgentMail.webhooks.ListWebhooksRequest, requestOptions?: Webhooks.RequestOptions): Promise<core.Page<AgentMail.webhooks.Webhook>>;
41
40
  /**
42
41
  * @param {AgentMail.webhooks.WebhookId} webhookId
43
42
  * @param {Webhooks.RequestOptions} requestOptions - Request-specific configuration.
@@ -63,64 +63,74 @@ class Webhooks {
63
63
  * @example
64
64
  * await client.webhooks.list()
65
65
  */
66
- list(request = {}, requestOptions) {
67
- return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions));
68
- }
69
- __list() {
66
+ list() {
70
67
  return __awaiter(this, arguments, void 0, function* (request = {}, requestOptions) {
71
- var _a, _b, _c;
72
- const { limit, pageToken } = request;
73
- const _queryParams = {};
74
- if (limit != null) {
75
- _queryParams["limit"] = limit.toString();
76
- }
77
- if (pageToken != null) {
78
- _queryParams["page_token"] = pageToken;
79
- }
80
- var _headers = (0, headers_js_1.mergeHeaders)((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, (0, headers_js_1.mergeOnlyDefinedHeaders)({ Authorization: yield this._getAuthorizationHeader() }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
81
- const _response = yield core.fetcher({
82
- url: core.url.join((_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : ((_c = (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.AgentMailEnvironment.Production).http, "/v0/webhooks"),
83
- method: "GET",
84
- headers: _headers,
85
- queryParameters: Object.assign(Object.assign({}, _queryParams), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams),
86
- timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
87
- maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
88
- abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
89
- });
90
- if (_response.ok) {
91
- return {
92
- data: serializers.webhooks.ListWebhooksResponse.parseOrThrow(_response.body, {
93
- unrecognizedObjectKeys: "passthrough",
94
- allowUnrecognizedUnionMembers: true,
95
- allowUnrecognizedEnumValues: true,
96
- skipValidation: true,
97
- breadcrumbsPrefix: ["response"],
98
- }),
99
- rawResponse: _response.rawResponse,
100
- };
101
- }
102
- if (_response.error.reason === "status-code") {
103
- throw new errors.AgentMailError({
104
- statusCode: _response.error.statusCode,
105
- body: _response.error.body,
106
- rawResponse: _response.rawResponse,
68
+ const list = core.HttpResponsePromise.interceptFunction((request) => __awaiter(this, void 0, void 0, function* () {
69
+ var _a, _b, _c;
70
+ const { limit, pageToken } = request;
71
+ const _queryParams = {};
72
+ if (limit != null) {
73
+ _queryParams["limit"] = limit.toString();
74
+ }
75
+ if (pageToken != null) {
76
+ _queryParams["page_token"] = pageToken;
77
+ }
78
+ let _headers = (0, headers_js_1.mergeHeaders)((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, (0, headers_js_1.mergeOnlyDefinedHeaders)({ Authorization: yield this._getAuthorizationHeader() }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
79
+ const _response = yield core.fetcher({
80
+ url: core.url.join((_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : ((_c = (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.AgentMailEnvironment.Production).http, "/v0/webhooks"),
81
+ method: "GET",
82
+ headers: _headers,
83
+ queryParameters: Object.assign(Object.assign({}, _queryParams), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams),
84
+ timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
85
+ maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
86
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
107
87
  });
108
- }
109
- switch (_response.error.reason) {
110
- case "non-json":
111
- throw new errors.AgentMailError({
112
- statusCode: _response.error.statusCode,
113
- body: _response.error.rawBody,
88
+ if (_response.ok) {
89
+ return {
90
+ data: serializers.webhooks.ListWebhooksResponse.parseOrThrow(_response.body, {
91
+ unrecognizedObjectKeys: "passthrough",
92
+ allowUnrecognizedUnionMembers: true,
93
+ allowUnrecognizedEnumValues: true,
94
+ skipValidation: true,
95
+ breadcrumbsPrefix: ["response"],
96
+ }),
114
97
  rawResponse: _response.rawResponse,
115
- });
116
- case "timeout":
117
- throw new errors.AgentMailTimeoutError("Timeout exceeded when calling GET /v0/webhooks.");
118
- case "unknown":
98
+ };
99
+ }
100
+ if (_response.error.reason === "status-code") {
119
101
  throw new errors.AgentMailError({
120
- message: _response.error.errorMessage,
102
+ statusCode: _response.error.statusCode,
103
+ body: _response.error.body,
121
104
  rawResponse: _response.rawResponse,
122
105
  });
123
- }
106
+ }
107
+ switch (_response.error.reason) {
108
+ case "non-json":
109
+ throw new errors.AgentMailError({
110
+ statusCode: _response.error.statusCode,
111
+ body: _response.error.rawBody,
112
+ rawResponse: _response.rawResponse,
113
+ });
114
+ case "timeout":
115
+ throw new errors.AgentMailTimeoutError("Timeout exceeded when calling GET /v0/webhooks.");
116
+ case "unknown":
117
+ throw new errors.AgentMailError({
118
+ message: _response.error.errorMessage,
119
+ rawResponse: _response.rawResponse,
120
+ });
121
+ }
122
+ }));
123
+ const dataWithRawResponse = yield list(request).withRawResponse();
124
+ return new core.Pageable({
125
+ response: dataWithRawResponse.data,
126
+ rawResponse: dataWithRawResponse.rawResponse,
127
+ hasNextPage: (response) => (response === null || response === void 0 ? void 0 : response.nextPageToken) != null &&
128
+ !(typeof (response === null || response === void 0 ? void 0 : response.nextPageToken) === "string" && (response === null || response === void 0 ? void 0 : response.nextPageToken) === ""),
129
+ getItems: (response) => { var _a; return (_a = response === null || response === void 0 ? void 0 : response.webhooks) !== null && _a !== void 0 ? _a : []; },
130
+ loadPage: (response) => {
131
+ return list(core.setObjectProperty(request, "pageToken", response === null || response === void 0 ? void 0 : response.nextPageToken));
132
+ },
133
+ });
124
134
  });
125
135
  }
126
136
  /**
@@ -138,7 +148,7 @@ class Webhooks {
138
148
  __get(webhookId, requestOptions) {
139
149
  return __awaiter(this, void 0, void 0, function* () {
140
150
  var _a, _b, _c;
141
- var _headers = (0, headers_js_1.mergeHeaders)((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, (0, headers_js_1.mergeOnlyDefinedHeaders)({ Authorization: yield this._getAuthorizationHeader() }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
151
+ let _headers = (0, headers_js_1.mergeHeaders)((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, (0, headers_js_1.mergeOnlyDefinedHeaders)({ Authorization: yield this._getAuthorizationHeader() }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
142
152
  const _response = yield core.fetcher({
143
153
  url: core.url.join((_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : ((_c = (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.AgentMailEnvironment.Production).http, `/v0/webhooks/${encodeURIComponent(serializers.webhooks.WebhookId.jsonOrThrow(webhookId, { omitUndefined: true }))}`),
144
154
  method: "GET",
@@ -215,7 +225,7 @@ class Webhooks {
215
225
  __create(request, requestOptions) {
216
226
  return __awaiter(this, void 0, void 0, function* () {
217
227
  var _a, _b, _c;
218
- var _headers = (0, headers_js_1.mergeHeaders)((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, (0, headers_js_1.mergeOnlyDefinedHeaders)({ Authorization: yield this._getAuthorizationHeader() }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
228
+ let _headers = (0, headers_js_1.mergeHeaders)((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, (0, headers_js_1.mergeOnlyDefinedHeaders)({ Authorization: yield this._getAuthorizationHeader() }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
219
229
  const _response = yield core.fetcher({
220
230
  url: core.url.join((_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : ((_c = (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.AgentMailEnvironment.Production).http, "/v0/webhooks"),
221
231
  method: "POST",
@@ -293,7 +303,7 @@ class Webhooks {
293
303
  __delete(webhookId, requestOptions) {
294
304
  return __awaiter(this, void 0, void 0, function* () {
295
305
  var _a, _b, _c;
296
- var _headers = (0, headers_js_1.mergeHeaders)((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, (0, headers_js_1.mergeOnlyDefinedHeaders)({ Authorization: yield this._getAuthorizationHeader() }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
306
+ let _headers = (0, headers_js_1.mergeHeaders)((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, (0, headers_js_1.mergeOnlyDefinedHeaders)({ Authorization: yield this._getAuthorizationHeader() }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
297
307
  const _response = yield core.fetcher({
298
308
  url: core.url.join((_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : ((_c = (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.AgentMailEnvironment.Production).http, `/v0/webhooks/${encodeURIComponent(serializers.webhooks.WebhookId.jsonOrThrow(webhookId, { omitUndefined: true }))}`),
299
309
  method: "DELETE",
@@ -11,7 +11,7 @@ export declare namespace Websockets {
11
11
  baseUrl?: core.Supplier<string>;
12
12
  apiKey?: core.Supplier<core.BearerToken | undefined>;
13
13
  /** Additional headers to include in requests. */
14
- headers?: Record<string, string | core.Supplier<string | undefined> | undefined>;
14
+ headers?: Record<string, string | core.Supplier<string | null | undefined> | null | undefined>;
15
15
  }
16
16
  interface ConnectArgs {
17
17
  authToken?: string | undefined;
@@ -48,6 +48,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
48
48
  exports.Websockets = void 0;
49
49
  const environments = __importStar(require("../../../../environments.js"));
50
50
  const core = __importStar(require("../../../../core/index.js"));
51
+ const headers_js_1 = require("../../../../core/headers.js");
51
52
  const Socket_js_1 = require("./Socket.js");
52
53
  const errors = __importStar(require("../../../../errors/index.js"));
53
54
  class Websockets {
@@ -62,7 +63,7 @@ class Websockets {
62
63
  if (authToken != null) {
63
64
  _queryParams["auth_token"] = authToken;
64
65
  }
65
- let _headers = Object.assign({}, headers);
66
+ let _headers = (0, headers_js_1.mergeHeaders)((0, headers_js_1.mergeOnlyDefinedHeaders)({ Authorization: yield this._getAuthorizationHeader() }), headers);
66
67
  const socket = new core.ReconnectingWebSocket({
67
68
  url: core.url.join((_a = (yield core.Supplier.get(this._options["baseUrl"]))) !== null && _a !== void 0 ? _a : ((_b = (yield core.Supplier.get(this._options["environment"]))) !== null && _b !== void 0 ? _b : environments.AgentMailEnvironment.Production).websockets, "/v0"),
68
69
  protocols: [],
@@ -6,7 +6,7 @@ export declare namespace Fetcher {
6
6
  url: string;
7
7
  method: string;
8
8
  contentType?: string;
9
- headers?: Record<string, string | Supplier<string | undefined> | undefined>;
9
+ headers?: Record<string, string | Supplier<string | null | undefined> | null | undefined>;
10
10
  queryParameters?: Record<string, unknown>;
11
11
  body?: unknown;
12
12
  timeoutMs?: number;
@@ -14,21 +14,57 @@ const INITIAL_RETRY_DELAY = 1000; // in milliseconds
14
14
  const MAX_RETRY_DELAY = 60000; // in milliseconds
15
15
  const DEFAULT_MAX_RETRIES = 2;
16
16
  const JITTER_FACTOR = 0.2; // 20% random jitter
17
- function addJitter(delay) {
18
- // Generate a random value between -JITTER_FACTOR and +JITTER_FACTOR
19
- const jitterMultiplier = 1 + (Math.random() * 2 - 1) * JITTER_FACTOR;
17
+ function addPositiveJitter(delay) {
18
+ // Generate a random value between 0 and +JITTER_FACTOR
19
+ const jitterMultiplier = 1 + Math.random() * JITTER_FACTOR;
20
20
  return delay * jitterMultiplier;
21
21
  }
22
+ function addSymmetricJitter(delay) {
23
+ // Generate a random value in a JITTER_FACTOR-sized percentage range around delay
24
+ const jitterMultiplier = 1 + (Math.random() - 0.5) * JITTER_FACTOR;
25
+ return delay * jitterMultiplier;
26
+ }
27
+ function getRetryDelayFromHeaders(response, retryAttempt) {
28
+ // Check for Retry-After header first (RFC 7231), with no jitter
29
+ const retryAfter = response.headers.get("Retry-After");
30
+ if (retryAfter) {
31
+ // Parse as number of seconds...
32
+ const retryAfterSeconds = parseInt(retryAfter, 10);
33
+ if (!isNaN(retryAfterSeconds) && retryAfterSeconds > 0) {
34
+ return Math.min(retryAfterSeconds * 1000, MAX_RETRY_DELAY);
35
+ }
36
+ // ...or as an HTTP date; both are valid
37
+ const retryAfterDate = new Date(retryAfter);
38
+ if (!isNaN(retryAfterDate.getTime())) {
39
+ const delay = retryAfterDate.getTime() - Date.now();
40
+ if (delay > 0) {
41
+ return Math.min(Math.max(delay, 0), MAX_RETRY_DELAY);
42
+ }
43
+ }
44
+ }
45
+ // Then check for industry-standard X-RateLimit-Reset header, with positive jitter
46
+ const rateLimitReset = response.headers.get("X-RateLimit-Reset");
47
+ if (rateLimitReset) {
48
+ const resetTime = parseInt(rateLimitReset, 10);
49
+ if (!isNaN(resetTime)) {
50
+ // Assume Unix timestamp in epoch seconds
51
+ const delay = resetTime * 1000 - Date.now();
52
+ if (delay > 0) {
53
+ return addPositiveJitter(Math.min(delay, MAX_RETRY_DELAY));
54
+ }
55
+ }
56
+ }
57
+ // Fall back to exponential backoff, with symmetric jitter
58
+ return addSymmetricJitter(Math.min(INITIAL_RETRY_DELAY * Math.pow(2, retryAttempt), MAX_RETRY_DELAY));
59
+ }
22
60
  function requestWithRetries(requestFn_1) {
23
61
  return __awaiter(this, arguments, void 0, function* (requestFn, maxRetries = DEFAULT_MAX_RETRIES) {
24
62
  let response = yield requestFn();
25
63
  for (let i = 0; i < maxRetries; ++i) {
26
64
  if ([408, 429].includes(response.status) || response.status >= 500) {
27
- // Calculate base delay using exponential backoff (in milliseconds)
28
- const baseDelay = Math.min(INITIAL_RETRY_DELAY * Math.pow(2, i), MAX_RETRY_DELAY);
29
- // Add jitter to the delay
30
- const delayWithJitter = addJitter(baseDelay);
31
- yield new Promise((resolve) => setTimeout(resolve, delayWithJitter));
65
+ // Get delay with appropriate jitter applied
66
+ const delay = getRetryDelayFromHeaders(response, i);
67
+ yield new Promise((resolve) => setTimeout(resolve, delay));
32
68
  response = yield requestFn();
33
69
  }
34
70
  else {
@@ -1,3 +1,3 @@
1
1
  import * as core from "./index.js";
2
- export declare function mergeHeaders(...headersArray: (Record<string, string | core.Supplier<string | undefined> | undefined> | undefined)[]): Record<string, string | core.Supplier<string | undefined>>;
3
- export declare function mergeOnlyDefinedHeaders(...headersArray: (Record<string, string | core.Supplier<string | undefined> | undefined> | undefined)[]): Record<string, string | core.Supplier<string | undefined>>;
2
+ export declare function mergeHeaders(...headersArray: (Record<string, string | core.Supplier<string | null | undefined> | null | undefined> | null | undefined)[]): Record<string, string | core.Supplier<string | null | undefined>>;
3
+ export declare function mergeOnlyDefinedHeaders(...headersArray: (Record<string, string | core.Supplier<string | null | undefined> | null | undefined> | null | undefined)[]): Record<string, string | core.Supplier<string | null | undefined>>;
@@ -5,3 +5,5 @@ export * as serialization from "./schemas/index.js";
5
5
  export * from "./websocket/index.js";
6
6
  export * from "./auth/index.js";
7
7
  export * from "./base64.js";
8
+ export * from "./utils/index.js";
9
+ export * from "./pagination/index.js";
@@ -44,3 +44,5 @@ exports.serialization = __importStar(require("./schemas/index.js"));
44
44
  __exportStar(require("./websocket/index.js"), exports);
45
45
  __exportStar(require("./auth/index.js"), exports);
46
46
  __exportStar(require("./base64.js"), exports);
47
+ __exportStar(require("./utils/index.js"), exports);
48
+ __exportStar(require("./pagination/index.js"), exports);
@@ -0,0 +1,32 @@
1
+ import { HttpResponsePromise, RawResponse } from "../fetcher/index.js";
2
+ /**
3
+ * A page of results from a paginated API.
4
+ *
5
+ * @template T The type of the items in the page.
6
+ */
7
+ export declare class Page<T> implements AsyncIterable<T> {
8
+ data: T[];
9
+ rawResponse: RawResponse;
10
+ private response;
11
+ private _hasNextPage;
12
+ private getItems;
13
+ private loadNextPage;
14
+ constructor({ response, rawResponse, hasNextPage, getItems, loadPage, }: {
15
+ response: unknown;
16
+ rawResponse: RawResponse;
17
+ hasNextPage: (response: unknown) => boolean;
18
+ getItems: (response: unknown) => T[];
19
+ loadPage: (response: unknown) => HttpResponsePromise<any>;
20
+ });
21
+ /**
22
+ * Retrieves the next page
23
+ * @returns this
24
+ */
25
+ getNextPage(): Promise<this>;
26
+ /**
27
+ * @returns whether there is a next page to load
28
+ */
29
+ hasNextPage(): boolean;
30
+ private iterMessages;
31
+ [Symbol.asyncIterator](): AsyncIterator<T, void, any>;
32
+ }
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
12
+ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
13
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
14
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
15
+ return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
16
+ function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
17
+ function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
18
+ function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
19
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
20
+ function fulfill(value) { resume("next", value); }
21
+ function reject(value) { resume("throw", value); }
22
+ function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
23
+ };
24
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
25
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
26
+ var m = o[Symbol.asyncIterator], i;
27
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
28
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
29
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
30
+ };
31
+ Object.defineProperty(exports, "__esModule", { value: true });
32
+ exports.Page = void 0;
33
+ /**
34
+ * A page of results from a paginated API.
35
+ *
36
+ * @template T The type of the items in the page.
37
+ */
38
+ class Page {
39
+ constructor({ response, rawResponse, hasNextPage, getItems, loadPage, }) {
40
+ this.response = response;
41
+ this.rawResponse = rawResponse;
42
+ this.data = getItems(response);
43
+ this._hasNextPage = hasNextPage;
44
+ this.getItems = getItems;
45
+ this.loadNextPage = loadPage;
46
+ }
47
+ /**
48
+ * Retrieves the next page
49
+ * @returns this
50
+ */
51
+ getNextPage() {
52
+ return __awaiter(this, void 0, void 0, function* () {
53
+ const { data, rawResponse } = yield this.loadNextPage(this.response).withRawResponse();
54
+ this.response = data;
55
+ this.rawResponse = rawResponse;
56
+ this.data = this.getItems(this.response);
57
+ return this;
58
+ });
59
+ }
60
+ /**
61
+ * @returns whether there is a next page to load
62
+ */
63
+ hasNextPage() {
64
+ return this._hasNextPage(this.response);
65
+ }
66
+ iterMessages() {
67
+ return __asyncGenerator(this, arguments, function* iterMessages_1() {
68
+ for (const item of this.data) {
69
+ yield yield __await(item);
70
+ }
71
+ while (this.hasNextPage()) {
72
+ yield __await(this.getNextPage());
73
+ for (const item of this.data) {
74
+ yield yield __await(item);
75
+ }
76
+ }
77
+ });
78
+ }
79
+ [Symbol.asyncIterator]() {
80
+ return __asyncGenerator(this, arguments, function* _a() {
81
+ var _b, e_1, _c, _d;
82
+ try {
83
+ for (var _e = true, _f = __asyncValues(this.iterMessages()), _g; _g = yield __await(_f.next()), _b = _g.done, !_b; _e = true) {
84
+ _d = _g.value;
85
+ _e = false;
86
+ const message = _d;
87
+ yield yield __await(message);
88
+ }
89
+ }
90
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
91
+ finally {
92
+ try {
93
+ if (!_e && !_b && (_c = _f.return)) yield __await(_c.call(_f));
94
+ }
95
+ finally { if (e_1) throw e_1.error; }
96
+ }
97
+ });
98
+ }
99
+ }
100
+ exports.Page = Page;
@@ -0,0 +1,14 @@
1
+ import { RawResponse } from "../fetcher/index.js";
2
+ import { Page } from "./Page.js";
3
+ export declare namespace Pageable {
4
+ interface Args<Response, Item> {
5
+ response: Response;
6
+ rawResponse: RawResponse;
7
+ hasNextPage: (response: Response) => boolean;
8
+ getItems: (response: Response) => Item[];
9
+ loadPage: (response: Response) => Promise<Response>;
10
+ }
11
+ }
12
+ export declare class Pageable<R, T> extends Page<T> {
13
+ constructor(args: Pageable.Args<R, T>);
14
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Pageable = void 0;
4
+ const Page_js_1 = require("./Page.js");
5
+ class Pageable extends Page_js_1.Page {
6
+ constructor(args) {
7
+ super(args);
8
+ }
9
+ }
10
+ exports.Pageable = Pageable;
@@ -0,0 +1,2 @@
1
+ export { Page } from "./Page.js";
2
+ export { Pageable } from "./Pageable.js";
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Pageable = exports.Page = void 0;
4
+ var Page_js_1 = require("./Page.js");
5
+ Object.defineProperty(exports, "Page", { enumerable: true, get: function () { return Page_js_1.Page; } });
6
+ var Pageable_js_1 = require("./Pageable.js");
7
+ Object.defineProperty(exports, "Pageable", { enumerable: true, get: function () { return Pageable_js_1.Pageable; } });
@@ -0,0 +1 @@
1
+ export { setObjectProperty } from "./setObjectProperty.js";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setObjectProperty = void 0;
4
+ var setObjectProperty_js_1 = require("./setObjectProperty.js");
5
+ Object.defineProperty(exports, "setObjectProperty", { enumerable: true, get: function () { return setObjectProperty_js_1.setObjectProperty; } });
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Sets the value at path of object. If a portion of path doesn’t exist it’s created. This is
3
+ * inspired by Lodash's set function, but is simplified to accommodate our use case.
4
+ * For more details, see https://lodash.com/docs/4.17.15#set.
5
+ *
6
+ * @param object The object to modify.
7
+ * @param path The path of the property to set.
8
+ * @param value The value to set.
9
+ * @return Returns object.
10
+ */
11
+ export declare function setObjectProperty<T extends object>(object: T, path: string, value: any): T;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setObjectProperty = setObjectProperty;
4
+ /**
5
+ * Sets the value at path of object. If a portion of path doesn’t exist it’s created. This is
6
+ * inspired by Lodash's set function, but is simplified to accommodate our use case.
7
+ * For more details, see https://lodash.com/docs/4.17.15#set.
8
+ *
9
+ * @param object The object to modify.
10
+ * @param path The path of the property to set.
11
+ * @param value The value to set.
12
+ * @return Returns object.
13
+ */
14
+ function setObjectProperty(object, path, value) {
15
+ if (object == null) {
16
+ return object;
17
+ }
18
+ const keys = path.split(".");
19
+ if (keys.length === 0) {
20
+ // Invalid path; do nothing.
21
+ return object;
22
+ }
23
+ let current = object;
24
+ for (let i = 0; i < keys.length - 1; i++) {
25
+ const key = keys[i];
26
+ if (key == null) {
27
+ // Unreachable.
28
+ continue;
29
+ }
30
+ if (!current[key] || typeof current[key] !== "object") {
31
+ current[key] = {};
32
+ }
33
+ current = current[key];
34
+ }
35
+ const lastKey = keys[keys.length - 1];
36
+ if (lastKey == null) {
37
+ // Unreachable.
38
+ return object;
39
+ }
40
+ current[lastKey] = value;
41
+ return object;
42
+ }
@@ -7,7 +7,7 @@ export declare namespace ReconnectingWebSocket {
7
7
  url: string;
8
8
  protocols?: string | string[];
9
9
  options?: ReconnectingWebSocket.Options;
10
- headers?: Record<string, string>;
10
+ headers?: Record<string, unknown>;
11
11
  queryParameters?: Record<string, string | string[] | object | object[] | null | undefined>;
12
12
  }
13
13
  type Options = {
@@ -18,6 +18,11 @@ import { MessagePreview } from "./MessagePreview.js";
18
18
  import { MessageText } from "./MessageText.js";
19
19
  import { MessageHtml } from "./MessageHtml.js";
20
20
  import { MessageAttachments } from "./MessageAttachments.js";
21
+ import { MessageInReplyTo } from "./MessageInReplyTo.js";
22
+ import { MessageReferences } from "./MessageReferences.js";
23
+ import { MessageSize } from "./MessageSize.js";
24
+ import { MessageUpdatedAt } from "./MessageUpdatedAt.js";
25
+ import { MessageCreatedAt } from "./MessageCreatedAt.js";
21
26
  export declare const Message: core.serialization.ObjectSchema<serializers.Message.Raw, AgentMail.Message>;
22
27
  export declare namespace Message {
23
28
  interface Raw {
@@ -36,9 +41,10 @@ export declare namespace Message {
36
41
  text?: MessageText.Raw | null;
37
42
  html?: MessageHtml.Raw | null;
38
43
  attachments?: MessageAttachments.Raw | null;
39
- in_reply_to?: string | null;
40
- references?: string[] | null;
41
- updated_at: string;
42
- created_at: string;
44
+ in_reply_to?: MessageInReplyTo.Raw | null;
45
+ references?: MessageReferences.Raw | null;
46
+ size: MessageSize.Raw;
47
+ updated_at: MessageUpdatedAt.Raw;
48
+ created_at: MessageCreatedAt.Raw;
43
49
  }
44
50
  }