agentmail 0.5.7 → 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/Client.d.ts +3 -0
- package/dist/cjs/Client.js +25 -20
- package/dist/cjs/api/resources/auth/client/Client.d.ts +28 -0
- package/dist/cjs/api/resources/auth/client/Client.js +114 -0
- package/dist/cjs/api/resources/auth/client/index.d.ts +1 -0
- package/dist/cjs/api/resources/auth/client/index.js +2 -0
- package/dist/cjs/api/resources/auth/exports.d.ts +2 -0
- package/dist/cjs/api/resources/auth/exports.js +21 -0
- package/dist/cjs/api/resources/auth/index.d.ts +2 -0
- package/dist/cjs/api/resources/auth/index.js +18 -0
- package/dist/cjs/api/resources/auth/types/Identity.d.ts +19 -0
- package/dist/cjs/api/resources/auth/types/Identity.js +3 -0
- package/dist/cjs/api/resources/auth/types/ScopeType.d.ts +7 -0
- package/dist/cjs/api/resources/auth/types/ScopeType.js +10 -0
- package/dist/cjs/api/resources/auth/types/index.d.ts +2 -0
- package/dist/cjs/api/resources/auth/types/index.js +18 -0
- 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/index.d.ts +2 -0
- package/dist/cjs/api/resources/index.js +3 -1
- 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/auth/index.d.ts +1 -0
- package/dist/cjs/serialization/resources/auth/index.js +17 -0
- package/dist/cjs/serialization/resources/auth/types/Identity.d.ts +16 -0
- package/dist/cjs/serialization/resources/auth/types/Identity.js +48 -0
- package/dist/cjs/serialization/resources/auth/types/ScopeType.d.ts +7 -0
- package/dist/cjs/serialization/resources/auth/types/ScopeType.js +39 -0
- package/dist/cjs/serialization/resources/auth/types/index.d.ts +2 -0
- package/dist/cjs/serialization/resources/auth/types/index.js +18 -0
- package/dist/cjs/serialization/resources/index.d.ts +2 -0
- package/dist/cjs/serialization/resources/index.js +3 -1
- 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/Client.d.mts +3 -0
- package/dist/esm/Client.mjs +5 -0
- package/dist/esm/api/resources/auth/client/Client.d.mts +28 -0
- package/dist/esm/api/resources/auth/client/Client.mjs +77 -0
- package/dist/esm/api/resources/auth/client/index.d.mts +1 -0
- package/dist/esm/api/resources/auth/client/index.mjs +1 -0
- package/dist/esm/api/resources/auth/exports.d.mts +2 -0
- package/dist/esm/api/resources/auth/exports.mjs +3 -0
- package/dist/esm/api/resources/auth/index.d.mts +2 -0
- package/dist/esm/api/resources/auth/index.mjs +2 -0
- package/dist/esm/api/resources/auth/types/Identity.d.mts +19 -0
- package/dist/esm/api/resources/auth/types/Identity.mjs +2 -0
- package/dist/esm/api/resources/auth/types/ScopeType.d.mts +7 -0
- package/dist/esm/api/resources/auth/types/ScopeType.mjs +7 -0
- package/dist/esm/api/resources/auth/types/index.d.mts +2 -0
- package/dist/esm/api/resources/auth/types/index.mjs +2 -0
- 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/index.d.mts +2 -0
- package/dist/esm/api/resources/index.mjs +2 -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/auth/index.d.mts +1 -0
- package/dist/esm/serialization/resources/auth/index.mjs +1 -0
- package/dist/esm/serialization/resources/auth/types/Identity.d.mts +16 -0
- package/dist/esm/serialization/resources/auth/types/Identity.mjs +12 -0
- package/dist/esm/serialization/resources/auth/types/ScopeType.d.mts +7 -0
- package/dist/esm/serialization/resources/auth/types/ScopeType.mjs +3 -0
- package/dist/esm/serialization/resources/auth/types/index.d.mts +2 -0
- package/dist/esm/serialization/resources/auth/types/index.mjs +2 -0
- package/dist/esm/serialization/resources/index.d.mts +2 -0
- package/dist/esm/serialization/resources/index.mjs +2 -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 +12 -1
- package/reference.md +380 -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 inbox, 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 inboxes:threads list --inbox-id <inbox_id>
|
|
@@ -78,7 +83,7 @@ class ThreadsClient {
|
|
|
78
83
|
__list(inbox_id_1) {
|
|
79
84
|
return __awaiter(this, arguments, void 0, function* (inbox_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/inboxes/{inbox_id}/threads");
|
|
148
156
|
});
|
|
149
157
|
}
|
|
158
|
+
/**
|
|
159
|
+
* Full-text search across threads in the inbox, 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.inboxes.InboxId} inbox_id
|
|
165
|
+
* @param {AgentMail.inboxes.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.inboxes.threads.search("inbox_id", {
|
|
173
|
+
* q: "q"
|
|
174
|
+
* })
|
|
175
|
+
*/
|
|
176
|
+
search(inbox_id, request, requestOptions) {
|
|
177
|
+
return core.HttpResponsePromise.fromPromise(this.__search(inbox_id, request, requestOptions));
|
|
178
|
+
}
|
|
179
|
+
__search(inbox_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/inboxes/${core.url.encodePathParam(serializers.inboxes.InboxId.jsonOrThrow(inbox_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/inboxes/{inbox_id}/threads/search");
|
|
247
|
+
});
|
|
248
|
+
}
|
|
150
249
|
/**
|
|
151
250
|
* **CLI:**
|
|
152
251
|
* ```bash
|
package/dist/cjs/api/resources/inboxes/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/inboxes/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
|
+
}
|
|
@@ -5,6 +5,8 @@ export * as apiKeys from "./apiKeys/index.js";
|
|
|
5
5
|
export * from "./apiKeys/types/index.js";
|
|
6
6
|
export * as attachments from "./attachments/index.js";
|
|
7
7
|
export * from "./attachments/types/index.js";
|
|
8
|
+
export * as auth from "./auth/index.js";
|
|
9
|
+
export * from "./auth/types/index.js";
|
|
8
10
|
export * from "./domains/client/requests/index.js";
|
|
9
11
|
export * as domains from "./domains/index.js";
|
|
10
12
|
export * from "./domains/types/index.js";
|
|
@@ -36,7 +36,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
36
36
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.websockets = exports.webhooks = exports.threads = exports.pods = exports.organizations = exports.metrics = exports.messages = exports.lists = exports.inboxes = exports.inboxEvents = exports.events = exports.drafts = exports.domains = exports.attachments = exports.apiKeys = exports.agent = void 0;
|
|
39
|
+
exports.websockets = exports.webhooks = exports.threads = exports.pods = exports.organizations = exports.metrics = exports.messages = exports.lists = exports.inboxes = exports.inboxEvents = exports.events = exports.drafts = exports.domains = exports.auth = exports.attachments = exports.apiKeys = exports.agent = void 0;
|
|
40
40
|
exports.agent = __importStar(require("./agent/index.js"));
|
|
41
41
|
__exportStar(require("./agent/types/index.js"), exports);
|
|
42
42
|
__exportStar(require("./apiKeys/client/requests/index.js"), exports);
|
|
@@ -44,6 +44,8 @@ exports.apiKeys = __importStar(require("./apiKeys/index.js"));
|
|
|
44
44
|
__exportStar(require("./apiKeys/types/index.js"), exports);
|
|
45
45
|
exports.attachments = __importStar(require("./attachments/index.js"));
|
|
46
46
|
__exportStar(require("./attachments/types/index.js"), exports);
|
|
47
|
+
exports.auth = __importStar(require("./auth/index.js"));
|
|
48
|
+
__exportStar(require("./auth/types/index.js"), exports);
|
|
47
49
|
__exportStar(require("./domains/client/requests/index.js"), exports);
|
|
48
50
|
exports.domains = __importStar(require("./domains/index.js"));
|
|
49
51
|
__exportStar(require("./domains/types/index.js"), exports);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Matched fragments per field on a message 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 SearchMessageHighlights {
|
|
7
|
+
/** Matched fragments from the sender address. */
|
|
8
|
+
from?: string[];
|
|
9
|
+
/** Matched fragments from the recipient addresses (to, cc, or bcc). */
|
|
10
|
+
recipients?: string[];
|
|
11
|
+
/** Matched fragments from the subject. */
|
|
12
|
+
subject?: string[];
|
|
13
|
+
/** Matched fragments from the message body. */
|
|
14
|
+
text?: string[];
|
|
15
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type * as AgentMail from "../../../index.js";
|
|
2
|
+
export interface SearchMessagesResponse {
|
|
3
|
+
count: AgentMail.Count;
|
|
4
|
+
limit?: AgentMail.Limit;
|
|
5
|
+
nextPageToken?: AgentMail.PageToken;
|
|
6
|
+
/** Ordered by relevance, best match first. */
|
|
7
|
+
messages: AgentMail.SearchMessageItem[];
|
|
8
|
+
}
|
|
@@ -28,6 +28,9 @@ export * from "./RawMessageResponse.js";
|
|
|
28
28
|
export * from "./ReplyAll.js";
|
|
29
29
|
export * from "./ReplyAllMessageRequest.js";
|
|
30
30
|
export * from "./ReplyToMessageRequest.js";
|
|
31
|
+
export * from "./SearchMessageHighlights.js";
|
|
32
|
+
export * from "./SearchMessageItem.js";
|
|
33
|
+
export * from "./SearchMessagesResponse.js";
|
|
31
34
|
export * from "./SendMessageAttachments.js";
|
|
32
35
|
export * from "./SendMessageBcc.js";
|
|
33
36
|
export * from "./SendMessageCc.js";
|
|
@@ -44,6 +44,9 @@ __exportStar(require("./RawMessageResponse.js"), exports);
|
|
|
44
44
|
__exportStar(require("./ReplyAll.js"), exports);
|
|
45
45
|
__exportStar(require("./ReplyAllMessageRequest.js"), exports);
|
|
46
46
|
__exportStar(require("./ReplyToMessageRequest.js"), exports);
|
|
47
|
+
__exportStar(require("./SearchMessageHighlights.js"), exports);
|
|
48
|
+
__exportStar(require("./SearchMessageItem.js"), exports);
|
|
49
|
+
__exportStar(require("./SearchMessagesResponse.js"), exports);
|
|
47
50
|
__exportStar(require("./SendMessageAttachments.js"), exports);
|
|
48
51
|
__exportStar(require("./SendMessageBcc.js"), exports);
|
|
49
52
|
__exportStar(require("./SendMessageCc.js"), exports);
|
|
@@ -11,6 +11,11 @@ export declare class ThreadsClient {
|
|
|
11
11
|
protected readonly _options: NormalizedClientOptionsWithAuth<ThreadsClient.Options>;
|
|
12
12
|
constructor(options?: ThreadsClient.Options);
|
|
13
13
|
/**
|
|
14
|
+
* Lists threads in the pod, most recent first. Pass `senders`,
|
|
15
|
+
* `recipients`, or `subject` to filter by substring. Filtered requests are
|
|
16
|
+
* served by search, which caps `limit` at 100. For relevance-ranked
|
|
17
|
+
* full-text search, use `Search Threads`.
|
|
18
|
+
*
|
|
14
19
|
* **CLI:**
|
|
15
20
|
* ```bash
|
|
16
21
|
* agentmail pods:threads list --pod-id <pod_id>
|
|
@@ -27,6 +32,26 @@ export declare class ThreadsClient {
|
|
|
27
32
|
*/
|
|
28
33
|
list(pod_id: AgentMail.pods.PodId, request?: AgentMail.pods.ListThreadsRequest, requestOptions?: ThreadsClient.RequestOptions): core.HttpResponsePromise<AgentMail.ListThreadsResponse>;
|
|
29
34
|
private __list;
|
|
35
|
+
/**
|
|
36
|
+
* Full-text search across threads in the pod, ranked by relevance. The
|
|
37
|
+
* query is matched against senders, recipients, and subject (substring)
|
|
38
|
+
* and the message body (tokenized full text). Spam, trash, blocked, and
|
|
39
|
+
* unauthenticated threads are always excluded. `limit` cannot exceed 100.
|
|
40
|
+
*
|
|
41
|
+
* @param {AgentMail.pods.PodId} pod_id
|
|
42
|
+
* @param {AgentMail.pods.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.pods.threads.search("pod_id", {
|
|
50
|
+
* q: "q"
|
|
51
|
+
* })
|
|
52
|
+
*/
|
|
53
|
+
search(pod_id: AgentMail.pods.PodId, request: AgentMail.pods.SearchThreadsRequest, requestOptions?: ThreadsClient.RequestOptions): core.HttpResponsePromise<AgentMail.SearchThreadsResponse>;
|
|
54
|
+
private __search;
|
|
30
55
|
/**
|
|
31
56
|
* **CLI:**
|
|
32
57
|
* ```bash
|
|
@@ -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
|