resend 6.32.1-preview-inboxes.4 → 6.32.1-preview-inboxes.5

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.
package/dist/index.cjs CHANGED
@@ -64,7 +64,7 @@ const INBOX_LABEL_COLORS = [
64
64
  ];
65
65
  //#endregion
66
66
  //#region package.json
67
- var version = "6.32.1-preview-inboxes.4";
67
+ var version = "6.32.1-preview-inboxes.5";
68
68
  //#endregion
69
69
  //#region src/common/utils/build-pagination-query.ts
70
70
  function buildPaginationUrl(base, options) {
@@ -1039,14 +1039,10 @@ var InboxAgent = class {
1039
1039
  //#region src/inboxes/build-inbox-cursor-query.ts
1040
1040
  function buildInboxCursorUrl(base, options = {}) {
1041
1041
  const searchParams = new URLSearchParams();
1042
- if (options.folder !== void 0) searchParams.set("folder", options.folder);
1043
- if (options.query !== void 0) searchParams.set("query", options.query);
1044
- if (options.from !== void 0) searchParams.set("from", options.from);
1045
- if (options.limit !== void 0) searchParams.set("limit", String(options.limit));
1046
- if (options.after !== void 0) searchParams.set("after", options.after);
1047
- if (options.before !== void 0) searchParams.set("before", options.before);
1048
- const labels = options.label === void 0 ? [] : Array.isArray(options.label) ? options.label : [options.label];
1049
- for (const label of labels) searchParams.append("label", label);
1042
+ for (const [key, value] of Object.entries(options)) {
1043
+ if (value === void 0) continue;
1044
+ searchParams.set(key, Array.isArray(value) ? value.join(",") : String(value));
1045
+ }
1050
1046
  const queryString = searchParams.toString();
1051
1047
  return queryString ? `${base}?${queryString}` : base;
1052
1048
  }
@@ -1164,8 +1160,35 @@ var InboxThreads = class {
1164
1160
  this.emails = new InboxThreadEmails(resend);
1165
1161
  }
1166
1162
  async list(options, requestOptions = {}) {
1167
- const { inboxId, ...query } = options;
1168
- const url = buildInboxCursorUrl(`/inboxes/${inboxId}/threads`, query);
1163
+ const { inboxId, folders, labels, read, limit, after, before } = options;
1164
+ const url = buildInboxCursorUrl(`/inboxes/${inboxId}/threads`, {
1165
+ folders,
1166
+ labels,
1167
+ read,
1168
+ limit,
1169
+ after,
1170
+ before
1171
+ });
1172
+ return this.resend.get(url, requestOptions);
1173
+ }
1174
+ async search(options, requestOptions = {}) {
1175
+ const { inboxId, folders, labels, read, query, from, to, cc, bcc, hasAttachment, startDate, endDate, limit, after, before } = options;
1176
+ const url = buildInboxCursorUrl(`/inboxes/${inboxId}/threads/search`, {
1177
+ folders,
1178
+ labels,
1179
+ read,
1180
+ query,
1181
+ from,
1182
+ to,
1183
+ cc,
1184
+ bcc,
1185
+ has_attachment: hasAttachment,
1186
+ start_date: startDate,
1187
+ end_date: endDate,
1188
+ limit,
1189
+ after,
1190
+ before
1191
+ });
1169
1192
  return this.resend.get(url, requestOptions);
1170
1193
  }
1171
1194
  async get(options, requestOptions = {}) {
package/dist/index.d.cts CHANGED
@@ -1791,6 +1791,31 @@ interface UpdateInboxAgentResponseSuccess {
1791
1791
  }
1792
1792
  type UpdateInboxAgentResponse = Response<UpdateInboxAgentResponseSuccess>;
1793
1793
  //#endregion
1794
+ //#region src/inboxes/drafts/interfaces/create-inbox-draft.interface.d.ts
1795
+ type CreateInboxDraftContent = RequireAtLeastOne<{
1796
+ to?: string | string[];
1797
+ cc?: string | string[];
1798
+ bcc?: string | string[];
1799
+ subject?: string | null;
1800
+ text?: string | null;
1801
+ html?: string | null;
1802
+ }>;
1803
+ type CreateInboxDraftOptions = {
1804
+ inboxId: string;
1805
+ } & CreateInboxDraftContent & ({
1806
+ threadId: string;
1807
+ replyToEmailId: string;
1808
+ } | {
1809
+ threadId?: never;
1810
+ replyToEmailId?: never;
1811
+ });
1812
+ interface CreateInboxDraftRequestOptions extends PostOptions {}
1813
+ interface CreateInboxDraftResponseSuccess {
1814
+ object: 'inbox_draft';
1815
+ id: string;
1816
+ }
1817
+ type CreateInboxDraftResponse = Response<CreateInboxDraftResponseSuccess>;
1818
+ //#endregion
1794
1819
  //#region src/inboxes/drafts/interfaces/draft.d.ts
1795
1820
  type InboxDraftType = 'standalone' | 'reply';
1796
1821
  interface InboxDraft {
@@ -1822,28 +1847,6 @@ interface InboxDraftListItem {
1822
1847
  updated_at: string;
1823
1848
  }
1824
1849
  //#endregion
1825
- //#region src/inboxes/drafts/interfaces/create-inbox-draft.interface.d.ts
1826
- type CreateInboxDraftContent = RequireAtLeastOne<{
1827
- to?: string | string[];
1828
- cc?: string | string[];
1829
- bcc?: string | string[];
1830
- subject?: string | null;
1831
- text?: string | null;
1832
- html?: string | null;
1833
- }>;
1834
- type CreateInboxDraftOptions = {
1835
- inboxId: string;
1836
- } & CreateInboxDraftContent & ({
1837
- threadId: string;
1838
- replyToEmailId: string;
1839
- } | {
1840
- threadId?: never;
1841
- replyToEmailId?: never;
1842
- });
1843
- interface CreateInboxDraftRequestOptions extends PostOptions {}
1844
- type CreateInboxDraftResponseSuccess = InboxDraft;
1845
- type CreateInboxDraftResponse = Response<CreateInboxDraftResponseSuccess>;
1846
- //#endregion
1847
1850
  //#region src/inboxes/drafts/interfaces/get-inbox-draft.interface.d.ts
1848
1851
  interface GetInboxDraftOptions {
1849
1852
  inboxId: string;
@@ -1930,9 +1933,6 @@ interface CreateInboxLabelRequestOptions extends PostOptions {}
1930
1933
  interface CreateInboxLabelResponseSuccess {
1931
1934
  object: 'inbox_label';
1932
1935
  id: string;
1933
- name: string;
1934
- color: InboxLabelColor;
1935
- created_at: string;
1936
1936
  }
1937
1937
  type CreateInboxLabelResponse = Response<CreateInboxLabelResponseSuccess>;
1938
1938
  //#endregion
@@ -1998,6 +1998,7 @@ interface InboxThread {
1998
1998
  has_draft: boolean;
1999
1999
  read: boolean;
2000
2000
  received_at: string;
2001
+ folder: InboxMessageFolder;
2001
2002
  }
2002
2003
  interface InboxThreadSummary {
2003
2004
  object: 'inbox_thread';
@@ -2098,9 +2099,9 @@ type ListInboxThreadEmailsResponse = Response<ListInboxThreadEmailsResponseSucce
2098
2099
  //#region src/inboxes/threads/interfaces/list-inbox-threads.interface.d.ts
2099
2100
  type ListInboxThreadsOptions = {
2100
2101
  inboxId: string;
2101
- folder?: InboxMessageFolder;
2102
- query?: string;
2103
- label?: string | string[];
2102
+ folders?: InboxMessageFolder[];
2103
+ labels?: string[];
2104
+ read?: boolean;
2104
2105
  } & PaginationOptions;
2105
2106
  interface ListInboxThreadsResponseSuccess {
2106
2107
  object: 'list';
@@ -2121,6 +2122,29 @@ interface RemoveInboxThreadResponseSuccess {
2121
2122
  }
2122
2123
  type RemoveInboxThreadResponse = Response<RemoveInboxThreadResponseSuccess>;
2123
2124
  //#endregion
2125
+ //#region src/inboxes/threads/interfaces/search-inbox-threads.interface.d.ts
2126
+ type SearchInboxThreadsOptions = ListInboxThreadsOptions & {
2127
+ query?: string;
2128
+ from?: string[];
2129
+ to?: string[];
2130
+ cc?: string[];
2131
+ bcc?: string[];
2132
+ hasAttachment?: boolean;
2133
+ startDate?: string;
2134
+ endDate?: string;
2135
+ };
2136
+ type InboxThreadSearchHighlightKey = 'subject' | 'body' | 'from' | 'to' | 'cc' | 'bcc' | 'attachments';
2137
+ interface InboxThreadSearchResult extends InboxThread {
2138
+ matched_email_id: string | null;
2139
+ highlights: Partial<Record<InboxThreadSearchHighlightKey, string[]>>;
2140
+ }
2141
+ interface SearchInboxThreadsResponseSuccess {
2142
+ object: 'list';
2143
+ has_more: boolean;
2144
+ data: InboxThreadSearchResult[];
2145
+ }
2146
+ type SearchInboxThreadsResponse = Response<SearchInboxThreadsResponseSuccess>;
2147
+ //#endregion
2124
2148
  //#region src/inboxes/threads/interfaces/update-inbox-thread.interface.d.ts
2125
2149
  type UpdateInboxThreadOptions = {
2126
2150
  inboxId: string;
@@ -2134,6 +2158,20 @@ type UpdateInboxThreadOptions = {
2134
2158
  type UpdateInboxThreadResponseSuccess = InboxThreadSummary;
2135
2159
  type UpdateInboxThreadResponse = Response<UpdateInboxThreadResponseSuccess>;
2136
2160
  //#endregion
2161
+ //#region src/inboxes/interfaces/create-inbox.interface.d.ts
2162
+ interface CreateInboxOptions {
2163
+ emailAddress: string;
2164
+ name?: string;
2165
+ forwarding?: boolean;
2166
+ fromName?: string;
2167
+ }
2168
+ interface CreateInboxRequestOptions extends PostOptions {}
2169
+ interface CreateInboxResponseSuccess {
2170
+ object: 'inbox';
2171
+ id: string;
2172
+ }
2173
+ type CreateInboxResponse = Response<CreateInboxResponseSuccess>;
2174
+ //#endregion
2137
2175
  //#region src/inboxes/interfaces/get-inbox.interface.d.ts
2138
2176
  interface GetInboxResponseSuccess {
2139
2177
  object: 'inbox';
@@ -2150,17 +2188,6 @@ interface GetInboxResponseSuccess {
2150
2188
  }
2151
2189
  type GetInboxResponse = Response<GetInboxResponseSuccess>;
2152
2190
  //#endregion
2153
- //#region src/inboxes/interfaces/create-inbox.interface.d.ts
2154
- interface CreateInboxOptions {
2155
- emailAddress: string;
2156
- name?: string;
2157
- forwarding?: boolean;
2158
- fromName?: string;
2159
- }
2160
- interface CreateInboxRequestOptions extends PostOptions {}
2161
- type CreateInboxResponseSuccess = GetInboxResponseSuccess;
2162
- type CreateInboxResponse = Response<CreateInboxResponseSuccess>;
2163
- //#endregion
2164
2191
  //#region src/inboxes/interfaces/list-inboxes.interface.d.ts
2165
2192
  type ListInboxesOptions = PaginationOptions;
2166
2193
  interface ListInboxesResponseSuccess {
@@ -2484,6 +2511,7 @@ declare class InboxThreads {
2484
2511
  readonly emails: InboxThreadEmails;
2485
2512
  constructor(resend: Resend);
2486
2513
  list(options: ListInboxThreadsOptions, requestOptions?: RequestOptions): Promise<ListInboxThreadsResponse>;
2514
+ search(options: SearchInboxThreadsOptions, requestOptions?: RequestOptions): Promise<SearchInboxThreadsResponse>;
2487
2515
  get(options: GetInboxThreadOptions, requestOptions?: RequestOptions): Promise<GetInboxThreadResponse>;
2488
2516
  update(options: UpdateInboxThreadOptions, requestOptions?: RequestOptions): Promise<UpdateInboxThreadResponse>;
2489
2517
  remove(options: RemoveInboxThreadOptions, requestOptions?: RequestOptions): Promise<RemoveInboxThreadResponse>;
@@ -3440,4 +3468,4 @@ export declare class Resend {
3440
3468
  delete<T>(path: string, query?: unknown, options?: DeleteOptions): Promise<Response<T>>;
3441
3469
  }
3442
3470
  //#endregion
3443
- export type { ContactCreatedEvent, ContactDeletedEvent, ContactTopicsUpdatedEvent, ContactUpdatedEvent, CreateInboxDraftOptions, CreateInboxDraftRequestOptions, CreateInboxDraftResponse, CreateInboxDraftResponseSuccess, CreateInboxLabelOptions, CreateInboxLabelRequestOptions, CreateInboxLabelResponse, CreateInboxLabelResponseSuccess, CreateInboxOptions, CreateInboxRequestOptions, CreateInboxResponse, CreateInboxResponseSuccess, CreateWebhookOptions, CreateWebhookRequestOptions, CreateWebhookResponse, CreateWebhookResponseSuccess, DomainCreatedEvent, DomainDeletedEvent, DomainUpdatedEvent, EmailBouncedEvent, EmailClickedEvent, EmailComplainedEvent, EmailDeliveredEvent, EmailDeliveryDelayedEvent, EmailFailedEvent, EmailOpenedEvent, EmailReceivedEvent, EmailScheduledEvent, EmailSentEvent, EmailSuppressedEvent, ErrorResponse, ForwardInboxThreadEmailOptions, ForwardInboxThreadEmailRequestOptions, ForwardInboxThreadEmailResponse, ForwardInboxThreadEmailResponseSuccess, GetAttachmentOptions, GetAttachmentResponse, GetAttachmentResponseSuccess, GetInboxAgentOptions, GetInboxAgentResponse, GetInboxAgentResponseSuccess, GetInboxDraftOptions, GetInboxDraftResponse, GetInboxDraftResponseSuccess, GetInboxResponse, GetInboxResponseSuccess, GetInboxThreadEmailOptions, GetInboxThreadEmailResponse, GetInboxThreadEmailResponseSuccess, GetInboxThreadOptions, GetInboxThreadResponse, GetInboxThreadResponseSuccess, GetWebhookEventOptions, GetWebhookEventResponse, GetWebhookEventResponseSuccess, GetWebhookResponse, GetWebhookResponseSuccess, Inbox, InboxAgentAction, InboxAgentSettings, InboxCreatedEvent, InboxDeletedEvent, InboxDraft, InboxDraftCreatedEvent, InboxDraftDeletedEvent, InboxDraftListItem, InboxDraftSentEvent, InboxDraftType, InboxDraftUpdatedEvent, InboxEmailReceivedEvent, InboxEmailSentEvent, InboxLabel, InboxLabelColor, InboxMessage, InboxMessageAttachment, InboxMessageFolder, InboxThread, InboxThreadAssignedEvent, InboxThreadCreatedEvent, InboxThreadFolderUpdatedEvent, InboxThreadLabel, InboxThreadLabelsUpdatedEvent, InboxThreadSummary, InboxThreadUnassignedEvent, InboxUpdatedEvent, ListAttachmentsOptions, ListAttachmentsResponse, ListAttachmentsResponseSuccess, ListInboxDraftsOptions, ListInboxDraftsResponse, ListInboxDraftsResponseSuccess, ListInboxLabelsOptions, ListInboxLabelsResponse, ListInboxLabelsResponseSuccess, ListInboxThreadEmailsOptions, ListInboxThreadEmailsResponse, ListInboxThreadEmailsResponseSuccess, ListInboxThreadsOptions, ListInboxThreadsResponse, ListInboxThreadsResponseSuccess, ListInboxesOptions, ListInboxesResponse, ListInboxesResponseSuccess, ListOAuthGrantsOptions, ListOAuthGrantsResponse, ListOAuthGrantsResponseSuccess, ListWebhookEventAttemptsOptions, ListWebhookEventAttemptsResponse, ListWebhookEventAttemptsResponseSuccess, ListWebhookEventsOptions, ListWebhookEventsResponse, ListWebhookEventsResponseSuccess, ListWebhooksOptions, ListWebhooksResponse, ListWebhooksResponseSuccess, MoveThreadFolder, OAuthGrant, RemoveInboxDraftOptions, RemoveInboxDraftResponse, RemoveInboxDraftResponseSuccess, RemoveInboxLabelOptions, RemoveInboxLabelResponse, RemoveInboxLabelResponseSuccess, RemoveInboxResponse, RemoveInboxResponseSuccess, RemoveInboxThreadOptions, RemoveInboxThreadResponse, RemoveInboxThreadResponseSuccess, RemoveWebhookResponse, RemoveWebhookResponseSuccess, ReplayWebhookEventOptions, ReplayWebhookEventResponse, ReplayWebhookEventResponseSuccess, ReplyInboxThreadEmailOptions, ReplyInboxThreadEmailRequestOptions, ReplyInboxThreadEmailResponse, ReplyInboxThreadEmailResponseSuccess, ResendOptions, Response, RevokeOAuthGrantResponse, RevokeOAuthGrantResponseSuccess, RotateWebhookSigningSecretResponse, RotateWebhookSigningSecretResponseSuccess, SendInboxDraftOptions, SendInboxDraftRequestOptions, SendInboxDraftResponse, SendInboxDraftResponseSuccess, SuppressionAddedEvent, SuppressionRemovedEvent, TopicCreatedEvent, TopicDeletedEvent, TopicUpdatedEvent, UpdateInboxAgentOptions, UpdateInboxAgentResponse, UpdateInboxAgentResponseSuccess, UpdateInboxDraftOptions, UpdateInboxDraftResponse, UpdateInboxDraftResponseSuccess, UpdateInboxLabelOptions, UpdateInboxLabelResponse, UpdateInboxLabelResponseSuccess, UpdateInboxOptions, UpdateInboxResponse, UpdateInboxResponseSuccess, UpdateInboxThreadOptions, UpdateInboxThreadResponse, UpdateInboxThreadResponseSuccess, UpdateWebhookOptions, UpdateWebhookResponse, UpdateWebhookResponseSuccess, Webhook, WebhookEvent, WebhookEventAttempt, WebhookEventLog, WebhookEventLogStatus, WebhookEventPayload };
3471
+ export type { ContactCreatedEvent, ContactDeletedEvent, ContactTopicsUpdatedEvent, ContactUpdatedEvent, CreateInboxDraftOptions, CreateInboxDraftRequestOptions, CreateInboxDraftResponse, CreateInboxDraftResponseSuccess, CreateInboxLabelOptions, CreateInboxLabelRequestOptions, CreateInboxLabelResponse, CreateInboxLabelResponseSuccess, CreateInboxOptions, CreateInboxRequestOptions, CreateInboxResponse, CreateInboxResponseSuccess, CreateWebhookOptions, CreateWebhookRequestOptions, CreateWebhookResponse, CreateWebhookResponseSuccess, DomainCreatedEvent, DomainDeletedEvent, DomainUpdatedEvent, EmailBouncedEvent, EmailClickedEvent, EmailComplainedEvent, EmailDeliveredEvent, EmailDeliveryDelayedEvent, EmailFailedEvent, EmailOpenedEvent, EmailReceivedEvent, EmailScheduledEvent, EmailSentEvent, EmailSuppressedEvent, ErrorResponse, ForwardInboxThreadEmailOptions, ForwardInboxThreadEmailRequestOptions, ForwardInboxThreadEmailResponse, ForwardInboxThreadEmailResponseSuccess, GetAttachmentOptions, GetAttachmentResponse, GetAttachmentResponseSuccess, GetInboxAgentOptions, GetInboxAgentResponse, GetInboxAgentResponseSuccess, GetInboxDraftOptions, GetInboxDraftResponse, GetInboxDraftResponseSuccess, GetInboxResponse, GetInboxResponseSuccess, GetInboxThreadEmailOptions, GetInboxThreadEmailResponse, GetInboxThreadEmailResponseSuccess, GetInboxThreadOptions, GetInboxThreadResponse, GetInboxThreadResponseSuccess, GetWebhookEventOptions, GetWebhookEventResponse, GetWebhookEventResponseSuccess, GetWebhookResponse, GetWebhookResponseSuccess, Inbox, InboxAgentAction, InboxAgentSettings, InboxCreatedEvent, InboxDeletedEvent, InboxDraft, InboxDraftCreatedEvent, InboxDraftDeletedEvent, InboxDraftListItem, InboxDraftSentEvent, InboxDraftType, InboxDraftUpdatedEvent, InboxEmailReceivedEvent, InboxEmailSentEvent, InboxLabel, InboxLabelColor, InboxMessage, InboxMessageAttachment, InboxMessageFolder, InboxThread, InboxThreadAssignedEvent, InboxThreadCreatedEvent, InboxThreadFolderUpdatedEvent, InboxThreadLabel, InboxThreadLabelsUpdatedEvent, InboxThreadSearchHighlightKey, InboxThreadSearchResult, InboxThreadSummary, InboxThreadUnassignedEvent, InboxUpdatedEvent, ListAttachmentsOptions, ListAttachmentsResponse, ListAttachmentsResponseSuccess, ListInboxDraftsOptions, ListInboxDraftsResponse, ListInboxDraftsResponseSuccess, ListInboxLabelsOptions, ListInboxLabelsResponse, ListInboxLabelsResponseSuccess, ListInboxThreadEmailsOptions, ListInboxThreadEmailsResponse, ListInboxThreadEmailsResponseSuccess, ListInboxThreadsOptions, ListInboxThreadsResponse, ListInboxThreadsResponseSuccess, ListInboxesOptions, ListInboxesResponse, ListInboxesResponseSuccess, ListOAuthGrantsOptions, ListOAuthGrantsResponse, ListOAuthGrantsResponseSuccess, ListWebhookEventAttemptsOptions, ListWebhookEventAttemptsResponse, ListWebhookEventAttemptsResponseSuccess, ListWebhookEventsOptions, ListWebhookEventsResponse, ListWebhookEventsResponseSuccess, ListWebhooksOptions, ListWebhooksResponse, ListWebhooksResponseSuccess, MoveThreadFolder, OAuthGrant, RemoveInboxDraftOptions, RemoveInboxDraftResponse, RemoveInboxDraftResponseSuccess, RemoveInboxLabelOptions, RemoveInboxLabelResponse, RemoveInboxLabelResponseSuccess, RemoveInboxResponse, RemoveInboxResponseSuccess, RemoveInboxThreadOptions, RemoveInboxThreadResponse, RemoveInboxThreadResponseSuccess, RemoveWebhookResponse, RemoveWebhookResponseSuccess, ReplayWebhookEventOptions, ReplayWebhookEventResponse, ReplayWebhookEventResponseSuccess, ReplyInboxThreadEmailOptions, ReplyInboxThreadEmailRequestOptions, ReplyInboxThreadEmailResponse, ReplyInboxThreadEmailResponseSuccess, ResendOptions, Response, RevokeOAuthGrantResponse, RevokeOAuthGrantResponseSuccess, RotateWebhookSigningSecretResponse, RotateWebhookSigningSecretResponseSuccess, SearchInboxThreadsOptions, SearchInboxThreadsResponse, SearchInboxThreadsResponseSuccess, SendInboxDraftOptions, SendInboxDraftRequestOptions, SendInboxDraftResponse, SendInboxDraftResponseSuccess, SuppressionAddedEvent, SuppressionRemovedEvent, TopicCreatedEvent, TopicDeletedEvent, TopicUpdatedEvent, UpdateInboxAgentOptions, UpdateInboxAgentResponse, UpdateInboxAgentResponseSuccess, UpdateInboxDraftOptions, UpdateInboxDraftResponse, UpdateInboxDraftResponseSuccess, UpdateInboxLabelOptions, UpdateInboxLabelResponse, UpdateInboxLabelResponseSuccess, UpdateInboxOptions, UpdateInboxResponse, UpdateInboxResponseSuccess, UpdateInboxThreadOptions, UpdateInboxThreadResponse, UpdateInboxThreadResponseSuccess, UpdateWebhookOptions, UpdateWebhookResponse, UpdateWebhookResponseSuccess, Webhook, WebhookEvent, WebhookEventAttempt, WebhookEventLog, WebhookEventLogStatus, WebhookEventPayload };
package/dist/index.d.mts CHANGED
@@ -1791,6 +1791,31 @@ interface UpdateInboxAgentResponseSuccess {
1791
1791
  }
1792
1792
  type UpdateInboxAgentResponse = Response<UpdateInboxAgentResponseSuccess>;
1793
1793
  //#endregion
1794
+ //#region src/inboxes/drafts/interfaces/create-inbox-draft.interface.d.ts
1795
+ type CreateInboxDraftContent = RequireAtLeastOne<{
1796
+ to?: string | string[];
1797
+ cc?: string | string[];
1798
+ bcc?: string | string[];
1799
+ subject?: string | null;
1800
+ text?: string | null;
1801
+ html?: string | null;
1802
+ }>;
1803
+ type CreateInboxDraftOptions = {
1804
+ inboxId: string;
1805
+ } & CreateInboxDraftContent & ({
1806
+ threadId: string;
1807
+ replyToEmailId: string;
1808
+ } | {
1809
+ threadId?: never;
1810
+ replyToEmailId?: never;
1811
+ });
1812
+ interface CreateInboxDraftRequestOptions extends PostOptions {}
1813
+ interface CreateInboxDraftResponseSuccess {
1814
+ object: 'inbox_draft';
1815
+ id: string;
1816
+ }
1817
+ type CreateInboxDraftResponse = Response<CreateInboxDraftResponseSuccess>;
1818
+ //#endregion
1794
1819
  //#region src/inboxes/drafts/interfaces/draft.d.ts
1795
1820
  type InboxDraftType = 'standalone' | 'reply';
1796
1821
  interface InboxDraft {
@@ -1822,28 +1847,6 @@ interface InboxDraftListItem {
1822
1847
  updated_at: string;
1823
1848
  }
1824
1849
  //#endregion
1825
- //#region src/inboxes/drafts/interfaces/create-inbox-draft.interface.d.ts
1826
- type CreateInboxDraftContent = RequireAtLeastOne<{
1827
- to?: string | string[];
1828
- cc?: string | string[];
1829
- bcc?: string | string[];
1830
- subject?: string | null;
1831
- text?: string | null;
1832
- html?: string | null;
1833
- }>;
1834
- type CreateInboxDraftOptions = {
1835
- inboxId: string;
1836
- } & CreateInboxDraftContent & ({
1837
- threadId: string;
1838
- replyToEmailId: string;
1839
- } | {
1840
- threadId?: never;
1841
- replyToEmailId?: never;
1842
- });
1843
- interface CreateInboxDraftRequestOptions extends PostOptions {}
1844
- type CreateInboxDraftResponseSuccess = InboxDraft;
1845
- type CreateInboxDraftResponse = Response<CreateInboxDraftResponseSuccess>;
1846
- //#endregion
1847
1850
  //#region src/inboxes/drafts/interfaces/get-inbox-draft.interface.d.ts
1848
1851
  interface GetInboxDraftOptions {
1849
1852
  inboxId: string;
@@ -1930,9 +1933,6 @@ interface CreateInboxLabelRequestOptions extends PostOptions {}
1930
1933
  interface CreateInboxLabelResponseSuccess {
1931
1934
  object: 'inbox_label';
1932
1935
  id: string;
1933
- name: string;
1934
- color: InboxLabelColor;
1935
- created_at: string;
1936
1936
  }
1937
1937
  type CreateInboxLabelResponse = Response<CreateInboxLabelResponseSuccess>;
1938
1938
  //#endregion
@@ -1998,6 +1998,7 @@ interface InboxThread {
1998
1998
  has_draft: boolean;
1999
1999
  read: boolean;
2000
2000
  received_at: string;
2001
+ folder: InboxMessageFolder;
2001
2002
  }
2002
2003
  interface InboxThreadSummary {
2003
2004
  object: 'inbox_thread';
@@ -2098,9 +2099,9 @@ type ListInboxThreadEmailsResponse = Response<ListInboxThreadEmailsResponseSucce
2098
2099
  //#region src/inboxes/threads/interfaces/list-inbox-threads.interface.d.ts
2099
2100
  type ListInboxThreadsOptions = {
2100
2101
  inboxId: string;
2101
- folder?: InboxMessageFolder;
2102
- query?: string;
2103
- label?: string | string[];
2102
+ folders?: InboxMessageFolder[];
2103
+ labels?: string[];
2104
+ read?: boolean;
2104
2105
  } & PaginationOptions;
2105
2106
  interface ListInboxThreadsResponseSuccess {
2106
2107
  object: 'list';
@@ -2121,6 +2122,29 @@ interface RemoveInboxThreadResponseSuccess {
2121
2122
  }
2122
2123
  type RemoveInboxThreadResponse = Response<RemoveInboxThreadResponseSuccess>;
2123
2124
  //#endregion
2125
+ //#region src/inboxes/threads/interfaces/search-inbox-threads.interface.d.ts
2126
+ type SearchInboxThreadsOptions = ListInboxThreadsOptions & {
2127
+ query?: string;
2128
+ from?: string[];
2129
+ to?: string[];
2130
+ cc?: string[];
2131
+ bcc?: string[];
2132
+ hasAttachment?: boolean;
2133
+ startDate?: string;
2134
+ endDate?: string;
2135
+ };
2136
+ type InboxThreadSearchHighlightKey = 'subject' | 'body' | 'from' | 'to' | 'cc' | 'bcc' | 'attachments';
2137
+ interface InboxThreadSearchResult extends InboxThread {
2138
+ matched_email_id: string | null;
2139
+ highlights: Partial<Record<InboxThreadSearchHighlightKey, string[]>>;
2140
+ }
2141
+ interface SearchInboxThreadsResponseSuccess {
2142
+ object: 'list';
2143
+ has_more: boolean;
2144
+ data: InboxThreadSearchResult[];
2145
+ }
2146
+ type SearchInboxThreadsResponse = Response<SearchInboxThreadsResponseSuccess>;
2147
+ //#endregion
2124
2148
  //#region src/inboxes/threads/interfaces/update-inbox-thread.interface.d.ts
2125
2149
  type UpdateInboxThreadOptions = {
2126
2150
  inboxId: string;
@@ -2134,6 +2158,20 @@ type UpdateInboxThreadOptions = {
2134
2158
  type UpdateInboxThreadResponseSuccess = InboxThreadSummary;
2135
2159
  type UpdateInboxThreadResponse = Response<UpdateInboxThreadResponseSuccess>;
2136
2160
  //#endregion
2161
+ //#region src/inboxes/interfaces/create-inbox.interface.d.ts
2162
+ interface CreateInboxOptions {
2163
+ emailAddress: string;
2164
+ name?: string;
2165
+ forwarding?: boolean;
2166
+ fromName?: string;
2167
+ }
2168
+ interface CreateInboxRequestOptions extends PostOptions {}
2169
+ interface CreateInboxResponseSuccess {
2170
+ object: 'inbox';
2171
+ id: string;
2172
+ }
2173
+ type CreateInboxResponse = Response<CreateInboxResponseSuccess>;
2174
+ //#endregion
2137
2175
  //#region src/inboxes/interfaces/get-inbox.interface.d.ts
2138
2176
  interface GetInboxResponseSuccess {
2139
2177
  object: 'inbox';
@@ -2150,17 +2188,6 @@ interface GetInboxResponseSuccess {
2150
2188
  }
2151
2189
  type GetInboxResponse = Response<GetInboxResponseSuccess>;
2152
2190
  //#endregion
2153
- //#region src/inboxes/interfaces/create-inbox.interface.d.ts
2154
- interface CreateInboxOptions {
2155
- emailAddress: string;
2156
- name?: string;
2157
- forwarding?: boolean;
2158
- fromName?: string;
2159
- }
2160
- interface CreateInboxRequestOptions extends PostOptions {}
2161
- type CreateInboxResponseSuccess = GetInboxResponseSuccess;
2162
- type CreateInboxResponse = Response<CreateInboxResponseSuccess>;
2163
- //#endregion
2164
2191
  //#region src/inboxes/interfaces/list-inboxes.interface.d.ts
2165
2192
  type ListInboxesOptions = PaginationOptions;
2166
2193
  interface ListInboxesResponseSuccess {
@@ -2484,6 +2511,7 @@ declare class InboxThreads {
2484
2511
  readonly emails: InboxThreadEmails;
2485
2512
  constructor(resend: Resend);
2486
2513
  list(options: ListInboxThreadsOptions, requestOptions?: RequestOptions): Promise<ListInboxThreadsResponse>;
2514
+ search(options: SearchInboxThreadsOptions, requestOptions?: RequestOptions): Promise<SearchInboxThreadsResponse>;
2487
2515
  get(options: GetInboxThreadOptions, requestOptions?: RequestOptions): Promise<GetInboxThreadResponse>;
2488
2516
  update(options: UpdateInboxThreadOptions, requestOptions?: RequestOptions): Promise<UpdateInboxThreadResponse>;
2489
2517
  remove(options: RemoveInboxThreadOptions, requestOptions?: RequestOptions): Promise<RemoveInboxThreadResponse>;
@@ -3440,4 +3468,4 @@ export declare class Resend {
3440
3468
  delete<T>(path: string, query?: unknown, options?: DeleteOptions): Promise<Response<T>>;
3441
3469
  }
3442
3470
  //#endregion
3443
- export type { ContactCreatedEvent, ContactDeletedEvent, ContactTopicsUpdatedEvent, ContactUpdatedEvent, CreateInboxDraftOptions, CreateInboxDraftRequestOptions, CreateInboxDraftResponse, CreateInboxDraftResponseSuccess, CreateInboxLabelOptions, CreateInboxLabelRequestOptions, CreateInboxLabelResponse, CreateInboxLabelResponseSuccess, CreateInboxOptions, CreateInboxRequestOptions, CreateInboxResponse, CreateInboxResponseSuccess, CreateWebhookOptions, CreateWebhookRequestOptions, CreateWebhookResponse, CreateWebhookResponseSuccess, DomainCreatedEvent, DomainDeletedEvent, DomainUpdatedEvent, EmailBouncedEvent, EmailClickedEvent, EmailComplainedEvent, EmailDeliveredEvent, EmailDeliveryDelayedEvent, EmailFailedEvent, EmailOpenedEvent, EmailReceivedEvent, EmailScheduledEvent, EmailSentEvent, EmailSuppressedEvent, ErrorResponse, ForwardInboxThreadEmailOptions, ForwardInboxThreadEmailRequestOptions, ForwardInboxThreadEmailResponse, ForwardInboxThreadEmailResponseSuccess, GetAttachmentOptions, GetAttachmentResponse, GetAttachmentResponseSuccess, GetInboxAgentOptions, GetInboxAgentResponse, GetInboxAgentResponseSuccess, GetInboxDraftOptions, GetInboxDraftResponse, GetInboxDraftResponseSuccess, GetInboxResponse, GetInboxResponseSuccess, GetInboxThreadEmailOptions, GetInboxThreadEmailResponse, GetInboxThreadEmailResponseSuccess, GetInboxThreadOptions, GetInboxThreadResponse, GetInboxThreadResponseSuccess, GetWebhookEventOptions, GetWebhookEventResponse, GetWebhookEventResponseSuccess, GetWebhookResponse, GetWebhookResponseSuccess, Inbox, InboxAgentAction, InboxAgentSettings, InboxCreatedEvent, InboxDeletedEvent, InboxDraft, InboxDraftCreatedEvent, InboxDraftDeletedEvent, InboxDraftListItem, InboxDraftSentEvent, InboxDraftType, InboxDraftUpdatedEvent, InboxEmailReceivedEvent, InboxEmailSentEvent, InboxLabel, InboxLabelColor, InboxMessage, InboxMessageAttachment, InboxMessageFolder, InboxThread, InboxThreadAssignedEvent, InboxThreadCreatedEvent, InboxThreadFolderUpdatedEvent, InboxThreadLabel, InboxThreadLabelsUpdatedEvent, InboxThreadSummary, InboxThreadUnassignedEvent, InboxUpdatedEvent, ListAttachmentsOptions, ListAttachmentsResponse, ListAttachmentsResponseSuccess, ListInboxDraftsOptions, ListInboxDraftsResponse, ListInboxDraftsResponseSuccess, ListInboxLabelsOptions, ListInboxLabelsResponse, ListInboxLabelsResponseSuccess, ListInboxThreadEmailsOptions, ListInboxThreadEmailsResponse, ListInboxThreadEmailsResponseSuccess, ListInboxThreadsOptions, ListInboxThreadsResponse, ListInboxThreadsResponseSuccess, ListInboxesOptions, ListInboxesResponse, ListInboxesResponseSuccess, ListOAuthGrantsOptions, ListOAuthGrantsResponse, ListOAuthGrantsResponseSuccess, ListWebhookEventAttemptsOptions, ListWebhookEventAttemptsResponse, ListWebhookEventAttemptsResponseSuccess, ListWebhookEventsOptions, ListWebhookEventsResponse, ListWebhookEventsResponseSuccess, ListWebhooksOptions, ListWebhooksResponse, ListWebhooksResponseSuccess, MoveThreadFolder, OAuthGrant, RemoveInboxDraftOptions, RemoveInboxDraftResponse, RemoveInboxDraftResponseSuccess, RemoveInboxLabelOptions, RemoveInboxLabelResponse, RemoveInboxLabelResponseSuccess, RemoveInboxResponse, RemoveInboxResponseSuccess, RemoveInboxThreadOptions, RemoveInboxThreadResponse, RemoveInboxThreadResponseSuccess, RemoveWebhookResponse, RemoveWebhookResponseSuccess, ReplayWebhookEventOptions, ReplayWebhookEventResponse, ReplayWebhookEventResponseSuccess, ReplyInboxThreadEmailOptions, ReplyInboxThreadEmailRequestOptions, ReplyInboxThreadEmailResponse, ReplyInboxThreadEmailResponseSuccess, ResendOptions, Response, RevokeOAuthGrantResponse, RevokeOAuthGrantResponseSuccess, RotateWebhookSigningSecretResponse, RotateWebhookSigningSecretResponseSuccess, SendInboxDraftOptions, SendInboxDraftRequestOptions, SendInboxDraftResponse, SendInboxDraftResponseSuccess, SuppressionAddedEvent, SuppressionRemovedEvent, TopicCreatedEvent, TopicDeletedEvent, TopicUpdatedEvent, UpdateInboxAgentOptions, UpdateInboxAgentResponse, UpdateInboxAgentResponseSuccess, UpdateInboxDraftOptions, UpdateInboxDraftResponse, UpdateInboxDraftResponseSuccess, UpdateInboxLabelOptions, UpdateInboxLabelResponse, UpdateInboxLabelResponseSuccess, UpdateInboxOptions, UpdateInboxResponse, UpdateInboxResponseSuccess, UpdateInboxThreadOptions, UpdateInboxThreadResponse, UpdateInboxThreadResponseSuccess, UpdateWebhookOptions, UpdateWebhookResponse, UpdateWebhookResponseSuccess, Webhook, WebhookEvent, WebhookEventAttempt, WebhookEventLog, WebhookEventLogStatus, WebhookEventPayload };
3471
+ export type { ContactCreatedEvent, ContactDeletedEvent, ContactTopicsUpdatedEvent, ContactUpdatedEvent, CreateInboxDraftOptions, CreateInboxDraftRequestOptions, CreateInboxDraftResponse, CreateInboxDraftResponseSuccess, CreateInboxLabelOptions, CreateInboxLabelRequestOptions, CreateInboxLabelResponse, CreateInboxLabelResponseSuccess, CreateInboxOptions, CreateInboxRequestOptions, CreateInboxResponse, CreateInboxResponseSuccess, CreateWebhookOptions, CreateWebhookRequestOptions, CreateWebhookResponse, CreateWebhookResponseSuccess, DomainCreatedEvent, DomainDeletedEvent, DomainUpdatedEvent, EmailBouncedEvent, EmailClickedEvent, EmailComplainedEvent, EmailDeliveredEvent, EmailDeliveryDelayedEvent, EmailFailedEvent, EmailOpenedEvent, EmailReceivedEvent, EmailScheduledEvent, EmailSentEvent, EmailSuppressedEvent, ErrorResponse, ForwardInboxThreadEmailOptions, ForwardInboxThreadEmailRequestOptions, ForwardInboxThreadEmailResponse, ForwardInboxThreadEmailResponseSuccess, GetAttachmentOptions, GetAttachmentResponse, GetAttachmentResponseSuccess, GetInboxAgentOptions, GetInboxAgentResponse, GetInboxAgentResponseSuccess, GetInboxDraftOptions, GetInboxDraftResponse, GetInboxDraftResponseSuccess, GetInboxResponse, GetInboxResponseSuccess, GetInboxThreadEmailOptions, GetInboxThreadEmailResponse, GetInboxThreadEmailResponseSuccess, GetInboxThreadOptions, GetInboxThreadResponse, GetInboxThreadResponseSuccess, GetWebhookEventOptions, GetWebhookEventResponse, GetWebhookEventResponseSuccess, GetWebhookResponse, GetWebhookResponseSuccess, Inbox, InboxAgentAction, InboxAgentSettings, InboxCreatedEvent, InboxDeletedEvent, InboxDraft, InboxDraftCreatedEvent, InboxDraftDeletedEvent, InboxDraftListItem, InboxDraftSentEvent, InboxDraftType, InboxDraftUpdatedEvent, InboxEmailReceivedEvent, InboxEmailSentEvent, InboxLabel, InboxLabelColor, InboxMessage, InboxMessageAttachment, InboxMessageFolder, InboxThread, InboxThreadAssignedEvent, InboxThreadCreatedEvent, InboxThreadFolderUpdatedEvent, InboxThreadLabel, InboxThreadLabelsUpdatedEvent, InboxThreadSearchHighlightKey, InboxThreadSearchResult, InboxThreadSummary, InboxThreadUnassignedEvent, InboxUpdatedEvent, ListAttachmentsOptions, ListAttachmentsResponse, ListAttachmentsResponseSuccess, ListInboxDraftsOptions, ListInboxDraftsResponse, ListInboxDraftsResponseSuccess, ListInboxLabelsOptions, ListInboxLabelsResponse, ListInboxLabelsResponseSuccess, ListInboxThreadEmailsOptions, ListInboxThreadEmailsResponse, ListInboxThreadEmailsResponseSuccess, ListInboxThreadsOptions, ListInboxThreadsResponse, ListInboxThreadsResponseSuccess, ListInboxesOptions, ListInboxesResponse, ListInboxesResponseSuccess, ListOAuthGrantsOptions, ListOAuthGrantsResponse, ListOAuthGrantsResponseSuccess, ListWebhookEventAttemptsOptions, ListWebhookEventAttemptsResponse, ListWebhookEventAttemptsResponseSuccess, ListWebhookEventsOptions, ListWebhookEventsResponse, ListWebhookEventsResponseSuccess, ListWebhooksOptions, ListWebhooksResponse, ListWebhooksResponseSuccess, MoveThreadFolder, OAuthGrant, RemoveInboxDraftOptions, RemoveInboxDraftResponse, RemoveInboxDraftResponseSuccess, RemoveInboxLabelOptions, RemoveInboxLabelResponse, RemoveInboxLabelResponseSuccess, RemoveInboxResponse, RemoveInboxResponseSuccess, RemoveInboxThreadOptions, RemoveInboxThreadResponse, RemoveInboxThreadResponseSuccess, RemoveWebhookResponse, RemoveWebhookResponseSuccess, ReplayWebhookEventOptions, ReplayWebhookEventResponse, ReplayWebhookEventResponseSuccess, ReplyInboxThreadEmailOptions, ReplyInboxThreadEmailRequestOptions, ReplyInboxThreadEmailResponse, ReplyInboxThreadEmailResponseSuccess, ResendOptions, Response, RevokeOAuthGrantResponse, RevokeOAuthGrantResponseSuccess, RotateWebhookSigningSecretResponse, RotateWebhookSigningSecretResponseSuccess, SearchInboxThreadsOptions, SearchInboxThreadsResponse, SearchInboxThreadsResponseSuccess, SendInboxDraftOptions, SendInboxDraftRequestOptions, SendInboxDraftResponse, SendInboxDraftResponseSuccess, SuppressionAddedEvent, SuppressionRemovedEvent, TopicCreatedEvent, TopicDeletedEvent, TopicUpdatedEvent, UpdateInboxAgentOptions, UpdateInboxAgentResponse, UpdateInboxAgentResponseSuccess, UpdateInboxDraftOptions, UpdateInboxDraftResponse, UpdateInboxDraftResponseSuccess, UpdateInboxLabelOptions, UpdateInboxLabelResponse, UpdateInboxLabelResponseSuccess, UpdateInboxOptions, UpdateInboxResponse, UpdateInboxResponseSuccess, UpdateInboxThreadOptions, UpdateInboxThreadResponse, UpdateInboxThreadResponseSuccess, UpdateWebhookOptions, UpdateWebhookResponse, UpdateWebhookResponseSuccess, Webhook, WebhookEvent, WebhookEventAttempt, WebhookEventLog, WebhookEventLogStatus, WebhookEventPayload };
package/dist/index.mjs CHANGED
@@ -40,7 +40,7 @@ const INBOX_LABEL_COLORS = [
40
40
  ];
41
41
  //#endregion
42
42
  //#region package.json
43
- var version = "6.32.1-preview-inboxes.4";
43
+ var version = "6.32.1-preview-inboxes.5";
44
44
  //#endregion
45
45
  //#region src/common/utils/build-pagination-query.ts
46
46
  function buildPaginationUrl(base, options) {
@@ -1015,14 +1015,10 @@ var InboxAgent = class {
1015
1015
  //#region src/inboxes/build-inbox-cursor-query.ts
1016
1016
  function buildInboxCursorUrl(base, options = {}) {
1017
1017
  const searchParams = new URLSearchParams();
1018
- if (options.folder !== void 0) searchParams.set("folder", options.folder);
1019
- if (options.query !== void 0) searchParams.set("query", options.query);
1020
- if (options.from !== void 0) searchParams.set("from", options.from);
1021
- if (options.limit !== void 0) searchParams.set("limit", String(options.limit));
1022
- if (options.after !== void 0) searchParams.set("after", options.after);
1023
- if (options.before !== void 0) searchParams.set("before", options.before);
1024
- const labels = options.label === void 0 ? [] : Array.isArray(options.label) ? options.label : [options.label];
1025
- for (const label of labels) searchParams.append("label", label);
1018
+ for (const [key, value] of Object.entries(options)) {
1019
+ if (value === void 0) continue;
1020
+ searchParams.set(key, Array.isArray(value) ? value.join(",") : String(value));
1021
+ }
1026
1022
  const queryString = searchParams.toString();
1027
1023
  return queryString ? `${base}?${queryString}` : base;
1028
1024
  }
@@ -1140,8 +1136,35 @@ var InboxThreads = class {
1140
1136
  this.emails = new InboxThreadEmails(resend);
1141
1137
  }
1142
1138
  async list(options, requestOptions = {}) {
1143
- const { inboxId, ...query } = options;
1144
- const url = buildInboxCursorUrl(`/inboxes/${inboxId}/threads`, query);
1139
+ const { inboxId, folders, labels, read, limit, after, before } = options;
1140
+ const url = buildInboxCursorUrl(`/inboxes/${inboxId}/threads`, {
1141
+ folders,
1142
+ labels,
1143
+ read,
1144
+ limit,
1145
+ after,
1146
+ before
1147
+ });
1148
+ return this.resend.get(url, requestOptions);
1149
+ }
1150
+ async search(options, requestOptions = {}) {
1151
+ const { inboxId, folders, labels, read, query, from, to, cc, bcc, hasAttachment, startDate, endDate, limit, after, before } = options;
1152
+ const url = buildInboxCursorUrl(`/inboxes/${inboxId}/threads/search`, {
1153
+ folders,
1154
+ labels,
1155
+ read,
1156
+ query,
1157
+ from,
1158
+ to,
1159
+ cc,
1160
+ bcc,
1161
+ has_attachment: hasAttachment,
1162
+ start_date: startDate,
1163
+ end_date: endDate,
1164
+ limit,
1165
+ after,
1166
+ before
1167
+ });
1145
1168
  return this.resend.get(url, requestOptions);
1146
1169
  }
1147
1170
  async get(options, requestOptions = {}) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "resend",
3
- "version": "6.32.1-preview-inboxes.4",
3
+ "version": "6.32.1-preview-inboxes.5",
4
4
  "description": "Node.js library for the Resend API",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",
package/readme.md CHANGED
@@ -186,7 +186,7 @@ const { data: inbox } = await resend.inboxes.create({
186
186
 
187
187
  const { data: threads } = await resend.inboxes.threads.list({
188
188
  inboxId: inbox.id,
189
- folder: 'inbox',
189
+ folders: ['inbox'],
190
190
  });
191
191
  ```
192
192