agentmail 0.5.8 → 0.5.9
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/cjs/BaseClient.js +2 -2
- package/dist/cjs/api/resources/inboxes/resources/messages/client/Client.d.ts +26 -0
- package/dist/cjs/api/resources/inboxes/resources/messages/client/Client.js +101 -1
- package/dist/cjs/api/resources/inboxes/resources/messages/client/requests/ListMessagesRequest.d.ts +6 -0
- package/dist/cjs/api/resources/inboxes/resources/messages/client/requests/SearchMessagesRequest.d.ts +14 -0
- package/dist/cjs/api/resources/inboxes/resources/messages/client/requests/SearchMessagesRequest.js +3 -0
- package/dist/cjs/api/resources/inboxes/resources/messages/client/requests/index.d.ts +1 -0
- package/dist/cjs/api/resources/inboxes/resources/threads/client/Client.d.ts +25 -0
- package/dist/cjs/api/resources/inboxes/resources/threads/client/Client.js +100 -1
- package/dist/cjs/api/resources/inboxes/resources/threads/client/requests/ListThreadsRequest.d.ts +6 -0
- package/dist/cjs/api/resources/inboxes/resources/threads/client/requests/SearchThreadsRequest.d.ts +14 -0
- package/dist/cjs/api/resources/inboxes/resources/threads/client/requests/SearchThreadsRequest.js +3 -0
- package/dist/cjs/api/resources/inboxes/resources/threads/client/requests/index.d.ts +1 -0
- package/dist/cjs/api/resources/messages/types/SearchMessageHighlights.d.ts +15 -0
- package/dist/cjs/api/resources/messages/types/SearchMessageHighlights.js +3 -0
- package/dist/cjs/api/resources/messages/types/SearchMessageItem.d.ts +5 -0
- package/dist/cjs/api/resources/messages/types/SearchMessageItem.js +3 -0
- package/dist/cjs/api/resources/messages/types/SearchMessagesResponse.d.ts +8 -0
- package/dist/cjs/api/resources/messages/types/SearchMessagesResponse.js +3 -0
- package/dist/cjs/api/resources/messages/types/index.d.ts +3 -0
- package/dist/cjs/api/resources/messages/types/index.js +3 -0
- package/dist/cjs/api/resources/pods/resources/threads/client/Client.d.ts +25 -0
- package/dist/cjs/api/resources/pods/resources/threads/client/Client.js +100 -1
- package/dist/cjs/api/resources/pods/resources/threads/client/requests/ListThreadsRequest.d.ts +6 -0
- package/dist/cjs/api/resources/pods/resources/threads/client/requests/SearchThreadsRequest.d.ts +14 -0
- package/dist/cjs/api/resources/pods/resources/threads/client/requests/SearchThreadsRequest.js +3 -0
- package/dist/cjs/api/resources/pods/resources/threads/client/requests/index.d.ts +1 -0
- package/dist/cjs/api/resources/threads/client/Client.d.ts +26 -0
- package/dist/cjs/api/resources/threads/client/Client.js +101 -1
- package/dist/cjs/api/resources/threads/client/requests/ListThreadsRequest.d.ts +6 -0
- package/dist/cjs/api/resources/threads/client/requests/SearchThreadsRequest.d.ts +14 -0
- package/dist/cjs/api/resources/threads/client/requests/SearchThreadsRequest.js +3 -0
- package/dist/cjs/api/resources/threads/client/requests/index.d.ts +1 -0
- package/dist/cjs/api/resources/threads/types/SearchThreadHighlights.d.ts +15 -0
- package/dist/cjs/api/resources/threads/types/SearchThreadHighlights.js +3 -0
- package/dist/cjs/api/resources/threads/types/SearchThreadItem.d.ts +5 -0
- package/dist/cjs/api/resources/threads/types/SearchThreadItem.js +3 -0
- package/dist/cjs/api/resources/threads/types/SearchThreadsResponse.d.ts +8 -0
- package/dist/cjs/api/resources/threads/types/SearchThreadsResponse.js +3 -0
- package/dist/cjs/api/resources/threads/types/index.d.ts +3 -0
- package/dist/cjs/api/resources/threads/types/index.js +3 -0
- package/dist/cjs/api/types/Query.d.ts +5 -0
- package/dist/cjs/api/types/Query.js +3 -0
- package/dist/cjs/api/types/index.d.ts +1 -0
- package/dist/cjs/api/types/index.js +1 -0
- package/dist/cjs/serialization/resources/messages/types/SearchMessageHighlights.d.ts +12 -0
- package/dist/cjs/serialization/resources/messages/types/SearchMessageHighlights.js +44 -0
- package/dist/cjs/serialization/resources/messages/types/SearchMessageItem.d.ts +11 -0
- package/dist/cjs/serialization/resources/messages/types/SearchMessageItem.js +45 -0
- package/dist/cjs/serialization/resources/messages/types/SearchMessagesResponse.d.ts +16 -0
- package/dist/cjs/serialization/resources/messages/types/SearchMessagesResponse.js +48 -0
- package/dist/cjs/serialization/resources/messages/types/index.d.ts +3 -0
- package/dist/cjs/serialization/resources/messages/types/index.js +3 -0
- package/dist/cjs/serialization/resources/threads/types/SearchThreadHighlights.d.ts +12 -0
- package/dist/cjs/serialization/resources/threads/types/SearchThreadHighlights.js +44 -0
- package/dist/cjs/serialization/resources/threads/types/SearchThreadItem.d.ts +11 -0
- package/dist/cjs/serialization/resources/threads/types/SearchThreadItem.js +45 -0
- package/dist/cjs/serialization/resources/threads/types/SearchThreadsResponse.d.ts +16 -0
- package/dist/cjs/serialization/resources/threads/types/SearchThreadsResponse.js +48 -0
- package/dist/cjs/serialization/resources/threads/types/index.d.ts +3 -0
- package/dist/cjs/serialization/resources/threads/types/index.js +3 -0
- package/dist/cjs/serialization/types/Query.d.ts +7 -0
- package/dist/cjs/serialization/types/Query.js +39 -0
- package/dist/cjs/serialization/types/index.d.ts +1 -0
- package/dist/cjs/serialization/types/index.js +1 -0
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/BaseClient.mjs +2 -2
- package/dist/esm/api/resources/inboxes/resources/messages/client/Client.d.mts +26 -0
- package/dist/esm/api/resources/inboxes/resources/messages/client/Client.mjs +101 -1
- package/dist/esm/api/resources/inboxes/resources/messages/client/requests/ListMessagesRequest.d.mts +6 -0
- package/dist/esm/api/resources/inboxes/resources/messages/client/requests/SearchMessagesRequest.d.mts +14 -0
- package/dist/esm/api/resources/inboxes/resources/messages/client/requests/SearchMessagesRequest.mjs +2 -0
- package/dist/esm/api/resources/inboxes/resources/messages/client/requests/index.d.mts +1 -0
- package/dist/esm/api/resources/inboxes/resources/threads/client/Client.d.mts +25 -0
- package/dist/esm/api/resources/inboxes/resources/threads/client/Client.mjs +100 -1
- package/dist/esm/api/resources/inboxes/resources/threads/client/requests/ListThreadsRequest.d.mts +6 -0
- package/dist/esm/api/resources/inboxes/resources/threads/client/requests/SearchThreadsRequest.d.mts +14 -0
- package/dist/esm/api/resources/inboxes/resources/threads/client/requests/SearchThreadsRequest.mjs +2 -0
- package/dist/esm/api/resources/inboxes/resources/threads/client/requests/index.d.mts +1 -0
- package/dist/esm/api/resources/messages/types/SearchMessageHighlights.d.mts +15 -0
- package/dist/esm/api/resources/messages/types/SearchMessageHighlights.mjs +2 -0
- package/dist/esm/api/resources/messages/types/SearchMessageItem.d.mts +5 -0
- package/dist/esm/api/resources/messages/types/SearchMessageItem.mjs +2 -0
- package/dist/esm/api/resources/messages/types/SearchMessagesResponse.d.mts +8 -0
- package/dist/esm/api/resources/messages/types/SearchMessagesResponse.mjs +2 -0
- package/dist/esm/api/resources/messages/types/index.d.mts +3 -0
- package/dist/esm/api/resources/messages/types/index.mjs +3 -0
- package/dist/esm/api/resources/pods/resources/threads/client/Client.d.mts +25 -0
- package/dist/esm/api/resources/pods/resources/threads/client/Client.mjs +100 -1
- package/dist/esm/api/resources/pods/resources/threads/client/requests/ListThreadsRequest.d.mts +6 -0
- package/dist/esm/api/resources/pods/resources/threads/client/requests/SearchThreadsRequest.d.mts +14 -0
- package/dist/esm/api/resources/pods/resources/threads/client/requests/SearchThreadsRequest.mjs +2 -0
- package/dist/esm/api/resources/pods/resources/threads/client/requests/index.d.mts +1 -0
- package/dist/esm/api/resources/threads/client/Client.d.mts +26 -0
- package/dist/esm/api/resources/threads/client/Client.mjs +101 -1
- package/dist/esm/api/resources/threads/client/requests/ListThreadsRequest.d.mts +6 -0
- package/dist/esm/api/resources/threads/client/requests/SearchThreadsRequest.d.mts +14 -0
- package/dist/esm/api/resources/threads/client/requests/SearchThreadsRequest.mjs +2 -0
- package/dist/esm/api/resources/threads/client/requests/index.d.mts +1 -0
- package/dist/esm/api/resources/threads/types/SearchThreadHighlights.d.mts +15 -0
- package/dist/esm/api/resources/threads/types/SearchThreadHighlights.mjs +2 -0
- package/dist/esm/api/resources/threads/types/SearchThreadItem.d.mts +5 -0
- package/dist/esm/api/resources/threads/types/SearchThreadItem.mjs +2 -0
- package/dist/esm/api/resources/threads/types/SearchThreadsResponse.d.mts +8 -0
- package/dist/esm/api/resources/threads/types/SearchThreadsResponse.mjs +2 -0
- package/dist/esm/api/resources/threads/types/index.d.mts +3 -0
- package/dist/esm/api/resources/threads/types/index.mjs +3 -0
- package/dist/esm/api/types/Query.d.mts +5 -0
- package/dist/esm/api/types/Query.mjs +2 -0
- package/dist/esm/api/types/index.d.mts +1 -0
- package/dist/esm/api/types/index.mjs +1 -0
- package/dist/esm/serialization/resources/messages/types/SearchMessageHighlights.d.mts +12 -0
- package/dist/esm/serialization/resources/messages/types/SearchMessageHighlights.mjs +8 -0
- package/dist/esm/serialization/resources/messages/types/SearchMessageItem.d.mts +11 -0
- package/dist/esm/serialization/resources/messages/types/SearchMessageItem.mjs +9 -0
- package/dist/esm/serialization/resources/messages/types/SearchMessagesResponse.d.mts +16 -0
- package/dist/esm/serialization/resources/messages/types/SearchMessagesResponse.mjs +12 -0
- package/dist/esm/serialization/resources/messages/types/index.d.mts +3 -0
- package/dist/esm/serialization/resources/messages/types/index.mjs +3 -0
- package/dist/esm/serialization/resources/threads/types/SearchThreadHighlights.d.mts +12 -0
- package/dist/esm/serialization/resources/threads/types/SearchThreadHighlights.mjs +8 -0
- package/dist/esm/serialization/resources/threads/types/SearchThreadItem.d.mts +11 -0
- package/dist/esm/serialization/resources/threads/types/SearchThreadItem.mjs +9 -0
- package/dist/esm/serialization/resources/threads/types/SearchThreadsResponse.d.mts +16 -0
- package/dist/esm/serialization/resources/threads/types/SearchThreadsResponse.mjs +12 -0
- package/dist/esm/serialization/resources/threads/types/index.d.mts +3 -0
- package/dist/esm/serialization/resources/threads/types/index.mjs +3 -0
- package/dist/esm/serialization/types/Query.d.mts +7 -0
- package/dist/esm/serialization/types/Query.mjs +3 -0
- package/dist/esm/serialization/types/index.d.mts +1 -0
- package/dist/esm/serialization/types/index.mjs +1 -0
- package/dist/esm/version.d.mts +1 -1
- package/dist/esm/version.mjs +1 -1
- package/package.json +1 -1
- package/reference.md +319 -0
|
@@ -58,6 +58,11 @@ class ThreadsClient {
|
|
|
58
58
|
this._options = (0, BaseClient_js_1.normalizeClientOptionsWithAuth)(options);
|
|
59
59
|
}
|
|
60
60
|
/**
|
|
61
|
+
* Lists threads in the pod, most recent first. Pass `senders`,
|
|
62
|
+
* `recipients`, or `subject` to filter by substring. Filtered requests are
|
|
63
|
+
* served by search, which caps `limit` at 100. For relevance-ranked
|
|
64
|
+
* full-text search, use `Search Threads`.
|
|
65
|
+
*
|
|
61
66
|
* **CLI:**
|
|
62
67
|
* ```bash
|
|
63
68
|
* agentmail pods:threads list --pod-id <pod_id>
|
|
@@ -78,7 +83,7 @@ class ThreadsClient {
|
|
|
78
83
|
__list(pod_id_1) {
|
|
79
84
|
return __awaiter(this, arguments, void 0, function* (pod_id, request = {}, requestOptions) {
|
|
80
85
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
81
|
-
const { limit, pageToken, labels, before, after, ascending, includeSpam, includeBlocked, includeUnauthenticated, includeTrash, } = request;
|
|
86
|
+
const { limit, pageToken, labels, before, after, ascending, includeSpam, includeBlocked, includeUnauthenticated, includeTrash, senders, recipients, subject, } = request;
|
|
82
87
|
const _queryParams = {
|
|
83
88
|
limit,
|
|
84
89
|
page_token: pageToken,
|
|
@@ -99,6 +104,9 @@ class ThreadsClient {
|
|
|
99
104
|
include_blocked: includeBlocked,
|
|
100
105
|
include_unauthenticated: includeUnauthenticated,
|
|
101
106
|
include_trash: includeTrash,
|
|
107
|
+
senders: senders != null ? (0, json_js_1.toJson)(senders) : undefined,
|
|
108
|
+
recipients: recipients != null ? (0, json_js_1.toJson)(recipients) : undefined,
|
|
109
|
+
subject: subject != null ? (0, json_js_1.toJson)(subject) : undefined,
|
|
102
110
|
};
|
|
103
111
|
const _authRequest = yield this._options.authProvider.getAuthRequest();
|
|
104
112
|
const _headers = (0, headers_js_1.mergeHeaders)(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
|
|
@@ -147,6 +155,97 @@ class ThreadsClient {
|
|
|
147
155
|
return (0, handleNonStatusCodeError_js_1.handleNonStatusCodeError)(_response.error, _response.rawResponse, "GET", "/v0/pods/{pod_id}/threads");
|
|
148
156
|
});
|
|
149
157
|
}
|
|
158
|
+
/**
|
|
159
|
+
* Full-text search across threads in the pod, ranked by relevance. The
|
|
160
|
+
* query is matched against senders, recipients, and subject (substring)
|
|
161
|
+
* and the message body (tokenized full text). Spam, trash, blocked, and
|
|
162
|
+
* unauthenticated threads are always excluded. `limit` cannot exceed 100.
|
|
163
|
+
*
|
|
164
|
+
* @param {AgentMail.pods.PodId} pod_id
|
|
165
|
+
* @param {AgentMail.pods.SearchThreadsRequest} request
|
|
166
|
+
* @param {ThreadsClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
167
|
+
*
|
|
168
|
+
* @throws {@link AgentMail.ValidationError}
|
|
169
|
+
* @throws {@link AgentMail.NotFoundError}
|
|
170
|
+
*
|
|
171
|
+
* @example
|
|
172
|
+
* await client.pods.threads.search("pod_id", {
|
|
173
|
+
* q: "q"
|
|
174
|
+
* })
|
|
175
|
+
*/
|
|
176
|
+
search(pod_id, request, requestOptions) {
|
|
177
|
+
return core.HttpResponsePromise.fromPromise(this.__search(pod_id, request, requestOptions));
|
|
178
|
+
}
|
|
179
|
+
__search(pod_id, request, requestOptions) {
|
|
180
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
181
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
182
|
+
const { q, limit, pageToken, before, after } = request;
|
|
183
|
+
const _queryParams = {
|
|
184
|
+
q,
|
|
185
|
+
limit,
|
|
186
|
+
page_token: pageToken,
|
|
187
|
+
before: before != null
|
|
188
|
+
? serializers.Before.jsonOrThrow(before, { unrecognizedObjectKeys: "strip", omitUndefined: true })
|
|
189
|
+
: undefined,
|
|
190
|
+
after: after != null
|
|
191
|
+
? serializers.After.jsonOrThrow(after, { unrecognizedObjectKeys: "strip", omitUndefined: true })
|
|
192
|
+
: undefined,
|
|
193
|
+
};
|
|
194
|
+
const _authRequest = yield this._options.authProvider.getAuthRequest();
|
|
195
|
+
const _headers = (0, headers_js_1.mergeHeaders)(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
|
|
196
|
+
const _response = yield core.fetcher({
|
|
197
|
+
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.Prod)
|
|
198
|
+
.http, `/v0/pods/${core.url.encodePathParam(serializers.pods.PodId.jsonOrThrow(pod_id, { omitUndefined: true }))}/threads/search`),
|
|
199
|
+
method: "GET",
|
|
200
|
+
headers: _headers,
|
|
201
|
+
queryParameters: Object.assign(Object.assign({}, _queryParams), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams),
|
|
202
|
+
timeoutMs: ((_f = (_d = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _d !== void 0 ? _d : (_e = this._options) === null || _e === void 0 ? void 0 : _e.timeoutInSeconds) !== null && _f !== void 0 ? _f : 60) * 1000,
|
|
203
|
+
maxRetries: (_g = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _g !== void 0 ? _g : (_h = this._options) === null || _h === void 0 ? void 0 : _h.maxRetries,
|
|
204
|
+
abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
|
|
205
|
+
fetchFn: (_j = this._options) === null || _j === void 0 ? void 0 : _j.fetch,
|
|
206
|
+
logging: this._options.logging,
|
|
207
|
+
});
|
|
208
|
+
if (_response.ok) {
|
|
209
|
+
return {
|
|
210
|
+
data: serializers.SearchThreadsResponse.parseOrThrow(_response.body, {
|
|
211
|
+
unrecognizedObjectKeys: "passthrough",
|
|
212
|
+
allowUnrecognizedUnionMembers: true,
|
|
213
|
+
allowUnrecognizedEnumValues: true,
|
|
214
|
+
skipValidation: true,
|
|
215
|
+
breadcrumbsPrefix: ["response"],
|
|
216
|
+
}),
|
|
217
|
+
rawResponse: _response.rawResponse,
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
if (_response.error.reason === "status-code") {
|
|
221
|
+
switch (_response.error.statusCode) {
|
|
222
|
+
case 400:
|
|
223
|
+
throw new AgentMail.ValidationError(serializers.ValidationErrorResponse.parseOrThrow(_response.error.body, {
|
|
224
|
+
unrecognizedObjectKeys: "passthrough",
|
|
225
|
+
allowUnrecognizedUnionMembers: true,
|
|
226
|
+
allowUnrecognizedEnumValues: true,
|
|
227
|
+
skipValidation: true,
|
|
228
|
+
breadcrumbsPrefix: ["response"],
|
|
229
|
+
}), _response.rawResponse);
|
|
230
|
+
case 404:
|
|
231
|
+
throw new AgentMail.NotFoundError(serializers.ErrorResponse.parseOrThrow(_response.error.body, {
|
|
232
|
+
unrecognizedObjectKeys: "passthrough",
|
|
233
|
+
allowUnrecognizedUnionMembers: true,
|
|
234
|
+
allowUnrecognizedEnumValues: true,
|
|
235
|
+
skipValidation: true,
|
|
236
|
+
breadcrumbsPrefix: ["response"],
|
|
237
|
+
}), _response.rawResponse);
|
|
238
|
+
default:
|
|
239
|
+
throw new errors.AgentMailError({
|
|
240
|
+
statusCode: _response.error.statusCode,
|
|
241
|
+
body: _response.error.body,
|
|
242
|
+
rawResponse: _response.rawResponse,
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
return (0, handleNonStatusCodeError_js_1.handleNonStatusCodeError)(_response.error, _response.rawResponse, "GET", "/v0/pods/{pod_id}/threads/search");
|
|
247
|
+
});
|
|
248
|
+
}
|
|
150
249
|
/**
|
|
151
250
|
* **CLI:**
|
|
152
251
|
* ```bash
|
package/dist/cjs/api/resources/pods/resources/threads/client/requests/ListThreadsRequest.d.ts
CHANGED
|
@@ -14,4 +14,10 @@ export interface ListThreadsRequest {
|
|
|
14
14
|
includeBlocked?: AgentMail.IncludeBlocked;
|
|
15
15
|
includeUnauthenticated?: AgentMail.IncludeUnauthenticated;
|
|
16
16
|
includeTrash?: AgentMail.IncludeTrash;
|
|
17
|
+
/** Filter to threads whose senders contain this value (substring match). Repeatable; all values must match. */
|
|
18
|
+
senders?: string[];
|
|
19
|
+
/** Filter to threads whose recipients contain this value (substring match). Repeatable; all values must match. */
|
|
20
|
+
recipients?: string[];
|
|
21
|
+
/** Filter to threads whose subject contains this value (substring match). Repeatable; all values must match. */
|
|
22
|
+
subject?: string[];
|
|
17
23
|
}
|
package/dist/cjs/api/resources/pods/resources/threads/client/requests/SearchThreadsRequest.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type * as AgentMail from "../../../../../../index.js";
|
|
2
|
+
/**
|
|
3
|
+
* @example
|
|
4
|
+
* {
|
|
5
|
+
* q: "q"
|
|
6
|
+
* }
|
|
7
|
+
*/
|
|
8
|
+
export interface SearchThreadsRequest {
|
|
9
|
+
q: AgentMail.Query;
|
|
10
|
+
limit?: AgentMail.Limit;
|
|
11
|
+
pageToken?: AgentMail.PageToken;
|
|
12
|
+
before?: AgentMail.Before;
|
|
13
|
+
after?: AgentMail.After;
|
|
14
|
+
}
|
|
@@ -11,6 +11,12 @@ export declare class ThreadsClient {
|
|
|
11
11
|
protected readonly _options: NormalizedClientOptionsWithAuth<ThreadsClient.Options>;
|
|
12
12
|
constructor(options?: ThreadsClient.Options);
|
|
13
13
|
/**
|
|
14
|
+
* Lists threads, most recent first. Pass `senders`, `recipients`, or
|
|
15
|
+
* `subject` to filter by substring. Filtered requests are served by
|
|
16
|
+
* search, which caps `limit` at 100. For relevance-ranked full-text
|
|
17
|
+
* search across senders, recipients, subject, and message body, use
|
|
18
|
+
* `Search Threads`.
|
|
19
|
+
*
|
|
14
20
|
* **CLI:**
|
|
15
21
|
* ```bash
|
|
16
22
|
* agentmail threads list
|
|
@@ -26,6 +32,26 @@ export declare class ThreadsClient {
|
|
|
26
32
|
*/
|
|
27
33
|
list(request?: AgentMail.ListThreadsRequest, requestOptions?: ThreadsClient.RequestOptions): core.HttpResponsePromise<AgentMail.ListThreadsResponse>;
|
|
28
34
|
private __list;
|
|
35
|
+
/**
|
|
36
|
+
* Full-text search across threads in the organization, ranked by
|
|
37
|
+
* relevance. The query is matched against senders, recipients, and
|
|
38
|
+
* subject (substring) and the message body (tokenized full text). Spam,
|
|
39
|
+
* trash, blocked, and unauthenticated threads are always excluded.
|
|
40
|
+
* `limit` cannot exceed 100.
|
|
41
|
+
*
|
|
42
|
+
* @param {AgentMail.SearchThreadsRequest} request
|
|
43
|
+
* @param {ThreadsClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
44
|
+
*
|
|
45
|
+
* @throws {@link AgentMail.ValidationError}
|
|
46
|
+
* @throws {@link AgentMail.NotFoundError}
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* await client.threads.search({
|
|
50
|
+
* q: "q"
|
|
51
|
+
* })
|
|
52
|
+
*/
|
|
53
|
+
search(request: AgentMail.SearchThreadsRequest, requestOptions?: ThreadsClient.RequestOptions): core.HttpResponsePromise<AgentMail.SearchThreadsResponse>;
|
|
54
|
+
private __search;
|
|
29
55
|
/**
|
|
30
56
|
* **CLI:**
|
|
31
57
|
* ```bash
|
|
@@ -58,6 +58,12 @@ class ThreadsClient {
|
|
|
58
58
|
this._options = (0, BaseClient_js_1.normalizeClientOptionsWithAuth)(options);
|
|
59
59
|
}
|
|
60
60
|
/**
|
|
61
|
+
* Lists threads, most recent first. Pass `senders`, `recipients`, or
|
|
62
|
+
* `subject` to filter by substring. Filtered requests are served by
|
|
63
|
+
* search, which caps `limit` at 100. For relevance-ranked full-text
|
|
64
|
+
* search across senders, recipients, subject, and message body, use
|
|
65
|
+
* `Search Threads`.
|
|
66
|
+
*
|
|
61
67
|
* **CLI:**
|
|
62
68
|
* ```bash
|
|
63
69
|
* agentmail threads list
|
|
@@ -77,7 +83,7 @@ class ThreadsClient {
|
|
|
77
83
|
__list() {
|
|
78
84
|
return __awaiter(this, arguments, void 0, function* (request = {}, requestOptions) {
|
|
79
85
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
80
|
-
const { limit, pageToken, labels, before, after, ascending, includeSpam, includeBlocked, includeUnauthenticated, includeTrash, } = request;
|
|
86
|
+
const { limit, pageToken, labels, before, after, ascending, includeSpam, includeBlocked, includeUnauthenticated, includeTrash, senders, recipients, subject, } = request;
|
|
81
87
|
const _queryParams = {
|
|
82
88
|
limit,
|
|
83
89
|
page_token: pageToken,
|
|
@@ -98,6 +104,9 @@ class ThreadsClient {
|
|
|
98
104
|
include_blocked: includeBlocked,
|
|
99
105
|
include_unauthenticated: includeUnauthenticated,
|
|
100
106
|
include_trash: includeTrash,
|
|
107
|
+
senders: senders != null ? (0, json_js_1.toJson)(senders) : undefined,
|
|
108
|
+
recipients: recipients != null ? (0, json_js_1.toJson)(recipients) : undefined,
|
|
109
|
+
subject: subject != null ? (0, json_js_1.toJson)(subject) : undefined,
|
|
101
110
|
};
|
|
102
111
|
const _authRequest = yield this._options.authProvider.getAuthRequest();
|
|
103
112
|
const _headers = (0, headers_js_1.mergeHeaders)(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
|
|
@@ -146,6 +155,97 @@ class ThreadsClient {
|
|
|
146
155
|
return (0, handleNonStatusCodeError_js_1.handleNonStatusCodeError)(_response.error, _response.rawResponse, "GET", "/v0/threads");
|
|
147
156
|
});
|
|
148
157
|
}
|
|
158
|
+
/**
|
|
159
|
+
* Full-text search across threads in the organization, ranked by
|
|
160
|
+
* relevance. The query is matched against senders, recipients, and
|
|
161
|
+
* subject (substring) and the message body (tokenized full text). Spam,
|
|
162
|
+
* trash, blocked, and unauthenticated threads are always excluded.
|
|
163
|
+
* `limit` cannot exceed 100.
|
|
164
|
+
*
|
|
165
|
+
* @param {AgentMail.SearchThreadsRequest} request
|
|
166
|
+
* @param {ThreadsClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
167
|
+
*
|
|
168
|
+
* @throws {@link AgentMail.ValidationError}
|
|
169
|
+
* @throws {@link AgentMail.NotFoundError}
|
|
170
|
+
*
|
|
171
|
+
* @example
|
|
172
|
+
* await client.threads.search({
|
|
173
|
+
* q: "q"
|
|
174
|
+
* })
|
|
175
|
+
*/
|
|
176
|
+
search(request, requestOptions) {
|
|
177
|
+
return core.HttpResponsePromise.fromPromise(this.__search(request, requestOptions));
|
|
178
|
+
}
|
|
179
|
+
__search(request, requestOptions) {
|
|
180
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
181
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
182
|
+
const { q, limit, pageToken, before, after } = request;
|
|
183
|
+
const _queryParams = {
|
|
184
|
+
q,
|
|
185
|
+
limit,
|
|
186
|
+
page_token: pageToken,
|
|
187
|
+
before: before != null
|
|
188
|
+
? serializers.Before.jsonOrThrow(before, { unrecognizedObjectKeys: "strip", omitUndefined: true })
|
|
189
|
+
: undefined,
|
|
190
|
+
after: after != null
|
|
191
|
+
? serializers.After.jsonOrThrow(after, { unrecognizedObjectKeys: "strip", omitUndefined: true })
|
|
192
|
+
: undefined,
|
|
193
|
+
};
|
|
194
|
+
const _authRequest = yield this._options.authProvider.getAuthRequest();
|
|
195
|
+
const _headers = (0, headers_js_1.mergeHeaders)(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
|
|
196
|
+
const _response = yield core.fetcher({
|
|
197
|
+
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.Prod)
|
|
198
|
+
.http, "/v0/threads/search"),
|
|
199
|
+
method: "GET",
|
|
200
|
+
headers: _headers,
|
|
201
|
+
queryParameters: Object.assign(Object.assign({}, _queryParams), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams),
|
|
202
|
+
timeoutMs: ((_f = (_d = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _d !== void 0 ? _d : (_e = this._options) === null || _e === void 0 ? void 0 : _e.timeoutInSeconds) !== null && _f !== void 0 ? _f : 60) * 1000,
|
|
203
|
+
maxRetries: (_g = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _g !== void 0 ? _g : (_h = this._options) === null || _h === void 0 ? void 0 : _h.maxRetries,
|
|
204
|
+
abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
|
|
205
|
+
fetchFn: (_j = this._options) === null || _j === void 0 ? void 0 : _j.fetch,
|
|
206
|
+
logging: this._options.logging,
|
|
207
|
+
});
|
|
208
|
+
if (_response.ok) {
|
|
209
|
+
return {
|
|
210
|
+
data: serializers.SearchThreadsResponse.parseOrThrow(_response.body, {
|
|
211
|
+
unrecognizedObjectKeys: "passthrough",
|
|
212
|
+
allowUnrecognizedUnionMembers: true,
|
|
213
|
+
allowUnrecognizedEnumValues: true,
|
|
214
|
+
skipValidation: true,
|
|
215
|
+
breadcrumbsPrefix: ["response"],
|
|
216
|
+
}),
|
|
217
|
+
rawResponse: _response.rawResponse,
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
if (_response.error.reason === "status-code") {
|
|
221
|
+
switch (_response.error.statusCode) {
|
|
222
|
+
case 400:
|
|
223
|
+
throw new AgentMail.ValidationError(serializers.ValidationErrorResponse.parseOrThrow(_response.error.body, {
|
|
224
|
+
unrecognizedObjectKeys: "passthrough",
|
|
225
|
+
allowUnrecognizedUnionMembers: true,
|
|
226
|
+
allowUnrecognizedEnumValues: true,
|
|
227
|
+
skipValidation: true,
|
|
228
|
+
breadcrumbsPrefix: ["response"],
|
|
229
|
+
}), _response.rawResponse);
|
|
230
|
+
case 404:
|
|
231
|
+
throw new AgentMail.NotFoundError(serializers.ErrorResponse.parseOrThrow(_response.error.body, {
|
|
232
|
+
unrecognizedObjectKeys: "passthrough",
|
|
233
|
+
allowUnrecognizedUnionMembers: true,
|
|
234
|
+
allowUnrecognizedEnumValues: true,
|
|
235
|
+
skipValidation: true,
|
|
236
|
+
breadcrumbsPrefix: ["response"],
|
|
237
|
+
}), _response.rawResponse);
|
|
238
|
+
default:
|
|
239
|
+
throw new errors.AgentMailError({
|
|
240
|
+
statusCode: _response.error.statusCode,
|
|
241
|
+
body: _response.error.body,
|
|
242
|
+
rawResponse: _response.rawResponse,
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
return (0, handleNonStatusCodeError_js_1.handleNonStatusCodeError)(_response.error, _response.rawResponse, "GET", "/v0/threads/search");
|
|
247
|
+
});
|
|
248
|
+
}
|
|
149
249
|
/**
|
|
150
250
|
* **CLI:**
|
|
151
251
|
* ```bash
|
|
@@ -14,4 +14,10 @@ export interface ListThreadsRequest {
|
|
|
14
14
|
includeBlocked?: AgentMail.IncludeBlocked;
|
|
15
15
|
includeUnauthenticated?: AgentMail.IncludeUnauthenticated;
|
|
16
16
|
includeTrash?: AgentMail.IncludeTrash;
|
|
17
|
+
/** Filter to threads whose senders contain this value (substring match). Repeatable; all values must match. */
|
|
18
|
+
senders?: string[];
|
|
19
|
+
/** Filter to threads whose recipients contain this value (substring match). Repeatable; all values must match. */
|
|
20
|
+
recipients?: string[];
|
|
21
|
+
/** Filter to threads whose subject contains this value (substring match). Repeatable; all values must match. */
|
|
22
|
+
subject?: string[];
|
|
17
23
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type * as AgentMail from "../../../../index.js";
|
|
2
|
+
/**
|
|
3
|
+
* @example
|
|
4
|
+
* {
|
|
5
|
+
* q: "q"
|
|
6
|
+
* }
|
|
7
|
+
*/
|
|
8
|
+
export interface SearchThreadsRequest {
|
|
9
|
+
q: AgentMail.Query;
|
|
10
|
+
limit?: AgentMail.Limit;
|
|
11
|
+
pageToken?: AgentMail.PageToken;
|
|
12
|
+
before?: AgentMail.Before;
|
|
13
|
+
after?: AgentMail.After;
|
|
14
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Matched fragments per field on a thread search result, with matched terms
|
|
3
|
+
* wrapped in `**`. A field key is present only when the query matched that
|
|
4
|
+
* field, so the present keys also tell you which fields produced the hit.
|
|
5
|
+
*/
|
|
6
|
+
export interface SearchThreadHighlights {
|
|
7
|
+
/** Matched fragments from a sender address in the thread. */
|
|
8
|
+
from?: string[];
|
|
9
|
+
/** Matched fragments from a recipient address in the thread (to, cc, or bcc). */
|
|
10
|
+
recipients?: string[];
|
|
11
|
+
/** Matched fragments from the subject. */
|
|
12
|
+
subject?: string[];
|
|
13
|
+
/** Matched fragments from a message body in the thread. */
|
|
14
|
+
text?: string[];
|
|
15
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type * as AgentMail from "../../../index.js";
|
|
2
|
+
export interface SearchThreadsResponse {
|
|
3
|
+
count: AgentMail.Count;
|
|
4
|
+
limit?: AgentMail.Limit;
|
|
5
|
+
nextPageToken?: AgentMail.PageToken;
|
|
6
|
+
/** Ordered by relevance, best match first. */
|
|
7
|
+
threads: AgentMail.SearchThreadItem[];
|
|
8
|
+
}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export * from "./ListThreadsResponse.js";
|
|
2
|
+
export * from "./SearchThreadHighlights.js";
|
|
3
|
+
export * from "./SearchThreadItem.js";
|
|
4
|
+
export * from "./SearchThreadsResponse.js";
|
|
2
5
|
export * from "./Thread.js";
|
|
3
6
|
export * from "./ThreadAttachments.js";
|
|
4
7
|
export * from "./ThreadCreatedAt.js";
|
|
@@ -15,6 +15,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./ListThreadsResponse.js"), exports);
|
|
18
|
+
__exportStar(require("./SearchThreadHighlights.js"), exports);
|
|
19
|
+
__exportStar(require("./SearchThreadItem.js"), exports);
|
|
20
|
+
__exportStar(require("./SearchThreadsResponse.js"), exports);
|
|
18
21
|
__exportStar(require("./Thread.js"), exports);
|
|
19
22
|
__exportStar(require("./ThreadAttachments.js"), exports);
|
|
20
23
|
__exportStar(require("./ThreadCreatedAt.js"), exports);
|
|
@@ -29,4 +29,5 @@ __exportStar(require("./Labels.js"), exports);
|
|
|
29
29
|
__exportStar(require("./Limit.js"), exports);
|
|
30
30
|
__exportStar(require("./OrganizationId.js"), exports);
|
|
31
31
|
__exportStar(require("./PageToken.js"), exports);
|
|
32
|
+
__exportStar(require("./Query.js"), exports);
|
|
32
33
|
__exportStar(require("./ValidationErrorResponse.js"), exports);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type * as AgentMail from "../../../../api/index.js";
|
|
2
|
+
import * as core from "../../../../core/index.js";
|
|
3
|
+
import type * as serializers from "../../../index.js";
|
|
4
|
+
export declare const SearchMessageHighlights: core.serialization.ObjectSchema<serializers.SearchMessageHighlights.Raw, AgentMail.SearchMessageHighlights>;
|
|
5
|
+
export declare namespace SearchMessageHighlights {
|
|
6
|
+
interface Raw {
|
|
7
|
+
from?: string[] | null;
|
|
8
|
+
recipients?: string[] | null;
|
|
9
|
+
subject?: string[] | null;
|
|
10
|
+
text?: string[] | null;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// This file was auto-generated by Fern from our API Definition.
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
+
var ownKeys = function(o) {
|
|
21
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
+
var ar = [];
|
|
23
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
+
return ar;
|
|
25
|
+
};
|
|
26
|
+
return ownKeys(o);
|
|
27
|
+
};
|
|
28
|
+
return function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
})();
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.SearchMessageHighlights = void 0;
|
|
38
|
+
const core = __importStar(require("../../../../core/index.js"));
|
|
39
|
+
exports.SearchMessageHighlights = core.serialization.object({
|
|
40
|
+
from: core.serialization.list(core.serialization.string()).optional(),
|
|
41
|
+
recipients: core.serialization.list(core.serialization.string()).optional(),
|
|
42
|
+
subject: core.serialization.list(core.serialization.string()).optional(),
|
|
43
|
+
text: core.serialization.list(core.serialization.string()).optional(),
|
|
44
|
+
});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type * as AgentMail from "../../../../api/index.js";
|
|
2
|
+
import * as core from "../../../../core/index.js";
|
|
3
|
+
import type * as serializers from "../../../index.js";
|
|
4
|
+
import { MessageItem } from "./MessageItem.js";
|
|
5
|
+
import { SearchMessageHighlights } from "./SearchMessageHighlights.js";
|
|
6
|
+
export declare const SearchMessageItem: core.serialization.ObjectSchema<serializers.SearchMessageItem.Raw, AgentMail.SearchMessageItem>;
|
|
7
|
+
export declare namespace SearchMessageItem {
|
|
8
|
+
interface Raw extends MessageItem.Raw {
|
|
9
|
+
highlights?: SearchMessageHighlights.Raw | null;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// This file was auto-generated by Fern from our API Definition.
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
+
var ownKeys = function(o) {
|
|
21
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
+
var ar = [];
|
|
23
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
+
return ar;
|
|
25
|
+
};
|
|
26
|
+
return ownKeys(o);
|
|
27
|
+
};
|
|
28
|
+
return function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
})();
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.SearchMessageItem = void 0;
|
|
38
|
+
const core = __importStar(require("../../../../core/index.js"));
|
|
39
|
+
const MessageItem_js_1 = require("./MessageItem.js");
|
|
40
|
+
const SearchMessageHighlights_js_1 = require("./SearchMessageHighlights.js");
|
|
41
|
+
exports.SearchMessageItem = core.serialization
|
|
42
|
+
.object({
|
|
43
|
+
highlights: SearchMessageHighlights_js_1.SearchMessageHighlights.optional(),
|
|
44
|
+
})
|
|
45
|
+
.extend(MessageItem_js_1.MessageItem);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type * as AgentMail from "../../../../api/index.js";
|
|
2
|
+
import * as core from "../../../../core/index.js";
|
|
3
|
+
import type * as serializers from "../../../index.js";
|
|
4
|
+
import { Count } from "../../../types/Count.js";
|
|
5
|
+
import { Limit } from "../../../types/Limit.js";
|
|
6
|
+
import { PageToken } from "../../../types/PageToken.js";
|
|
7
|
+
import { SearchMessageItem } from "./SearchMessageItem.js";
|
|
8
|
+
export declare const SearchMessagesResponse: core.serialization.ObjectSchema<serializers.SearchMessagesResponse.Raw, AgentMail.SearchMessagesResponse>;
|
|
9
|
+
export declare namespace SearchMessagesResponse {
|
|
10
|
+
interface Raw {
|
|
11
|
+
count: Count.Raw;
|
|
12
|
+
limit?: Limit.Raw | null;
|
|
13
|
+
next_page_token?: PageToken.Raw | null;
|
|
14
|
+
messages: SearchMessageItem.Raw[];
|
|
15
|
+
}
|
|
16
|
+
}
|