agentmail 0.4.1 → 0.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/dist/cjs/BaseClient.js +2 -2
  2. package/dist/cjs/api/resources/inboxes/resources/metrics/client/Client.d.ts +4 -8
  3. package/dist/cjs/api/resources/inboxes/resources/metrics/client/Client.js +17 -28
  4. package/dist/cjs/api/resources/inboxes/resources/metrics/client/requests/QueryMetricsRequest.d.ts +13 -0
  5. package/dist/cjs/api/resources/inboxes/resources/metrics/client/requests/index.d.ts +1 -1
  6. package/dist/cjs/api/resources/inboxes/resources/threads/client/Client.d.ts +4 -1
  7. package/dist/cjs/api/resources/inboxes/resources/threads/client/Client.js +12 -5
  8. package/dist/cjs/api/resources/inboxes/resources/threads/client/requests/DeleteThreadRequest.d.ts +8 -0
  9. package/dist/cjs/api/resources/inboxes/resources/threads/client/requests/index.d.ts +1 -0
  10. package/dist/cjs/api/resources/metrics/client/Client.d.ts +5 -8
  11. package/dist/cjs/api/resources/metrics/client/Client.js +20 -22
  12. package/dist/cjs/api/resources/metrics/client/requests/QueryMetricsRequest.d.ts +13 -0
  13. package/dist/cjs/api/resources/metrics/client/requests/index.d.ts +1 -1
  14. package/dist/cjs/api/resources/metrics/types/Descending.d.ts +4 -0
  15. package/dist/cjs/api/resources/metrics/types/End.d.ts +4 -0
  16. package/dist/cjs/api/resources/metrics/types/MetricBucket.d.ts +6 -0
  17. package/dist/cjs/api/resources/metrics/types/MetricEventTypes.d.ts +1 -1
  18. package/dist/cjs/api/resources/metrics/types/MetricLimit.d.ts +4 -0
  19. package/dist/cjs/api/resources/metrics/types/Period.d.ts +4 -0
  20. package/dist/cjs/api/resources/metrics/types/Period.js +3 -0
  21. package/dist/cjs/api/resources/metrics/types/QueryMetricsResponse.d.ts +5 -0
  22. package/dist/cjs/api/resources/metrics/types/QueryMetricsResponse.js +3 -0
  23. package/dist/cjs/api/resources/metrics/types/Start.d.ts +4 -0
  24. package/dist/cjs/api/resources/metrics/types/Start.js +3 -0
  25. package/dist/cjs/api/resources/metrics/types/index.d.ts +7 -5
  26. package/dist/cjs/api/resources/metrics/types/index.js +7 -5
  27. package/dist/cjs/api/resources/pods/client/Client.d.ts +3 -0
  28. package/dist/cjs/api/resources/pods/client/Client.js +7 -2
  29. package/dist/cjs/api/resources/pods/resources/index.d.ts +2 -0
  30. package/dist/cjs/api/resources/pods/resources/index.js +3 -1
  31. package/dist/cjs/api/resources/pods/resources/metrics/client/Client.d.ts +25 -0
  32. package/dist/cjs/api/resources/pods/resources/metrics/client/Client.js +142 -0
  33. package/dist/cjs/api/resources/pods/resources/metrics/client/index.d.ts +1 -0
  34. package/dist/cjs/api/resources/pods/resources/metrics/client/index.js +17 -0
  35. package/dist/cjs/api/resources/pods/resources/metrics/client/requests/QueryMetricsRequest.d.ts +13 -0
  36. package/dist/cjs/api/resources/pods/resources/metrics/client/requests/QueryMetricsRequest.js +3 -0
  37. package/dist/cjs/api/resources/pods/resources/metrics/client/requests/index.d.ts +1 -0
  38. package/dist/cjs/api/resources/pods/resources/metrics/client/requests/index.js +2 -0
  39. package/dist/cjs/api/resources/pods/resources/metrics/index.d.ts +1 -0
  40. package/dist/cjs/api/resources/pods/resources/metrics/index.js +17 -0
  41. package/dist/cjs/api/resources/threads/client/Client.js +2 -1
  42. package/dist/cjs/api/resources/threads/client/requests/ListThreadsRequest.d.ts +1 -0
  43. package/dist/cjs/serialization/resources/metrics/types/Descending.d.ts +7 -0
  44. package/dist/cjs/serialization/resources/metrics/types/{MetricTimestamp.js → Descending.js} +2 -2
  45. package/dist/cjs/serialization/resources/metrics/types/{MetricTimestamp.d.ts → End.d.ts} +2 -2
  46. package/dist/cjs/serialization/resources/metrics/types/{MetricEndTimestamp.js → End.js} +2 -2
  47. package/dist/cjs/serialization/resources/metrics/types/MetricBucket.d.ts +10 -0
  48. package/dist/cjs/serialization/resources/metrics/types/{ListMetricsResponse.js → MetricBucket.js} +4 -4
  49. package/dist/cjs/serialization/resources/metrics/types/MetricLimit.d.ts +7 -0
  50. package/dist/cjs/serialization/resources/metrics/types/{MetricStartTimestamp.js → MetricLimit.js} +2 -2
  51. package/dist/cjs/serialization/resources/metrics/types/{MetricEndTimestamp.d.ts → Period.d.ts} +2 -2
  52. package/dist/cjs/serialization/resources/metrics/types/Period.js +39 -0
  53. package/dist/cjs/serialization/resources/metrics/types/QueryMetricsResponse.d.ts +9 -0
  54. package/dist/cjs/serialization/resources/metrics/types/QueryMetricsResponse.js +41 -0
  55. package/dist/cjs/serialization/resources/metrics/types/{MetricStartTimestamp.d.ts → Start.d.ts} +2 -2
  56. package/dist/cjs/serialization/resources/metrics/types/Start.js +39 -0
  57. package/dist/cjs/serialization/resources/metrics/types/index.d.ts +7 -5
  58. package/dist/cjs/serialization/resources/metrics/types/index.js +7 -5
  59. package/dist/cjs/version.d.ts +1 -1
  60. package/dist/cjs/version.js +1 -1
  61. package/dist/esm/BaseClient.mjs +2 -2
  62. package/dist/esm/api/resources/inboxes/resources/metrics/client/Client.d.mts +4 -8
  63. package/dist/esm/api/resources/inboxes/resources/metrics/client/Client.mjs +17 -28
  64. package/dist/esm/api/resources/inboxes/resources/metrics/client/requests/QueryMetricsRequest.d.mts +13 -0
  65. package/dist/esm/api/resources/inboxes/resources/metrics/client/requests/index.d.mts +1 -1
  66. package/dist/esm/api/resources/inboxes/resources/threads/client/Client.d.mts +4 -1
  67. package/dist/esm/api/resources/inboxes/resources/threads/client/Client.mjs +12 -5
  68. package/dist/esm/api/resources/inboxes/resources/threads/client/requests/DeleteThreadRequest.d.mts +8 -0
  69. package/dist/esm/api/resources/inboxes/resources/threads/client/requests/index.d.mts +1 -0
  70. package/dist/esm/api/resources/metrics/client/Client.d.mts +5 -8
  71. package/dist/esm/api/resources/metrics/client/Client.mjs +20 -22
  72. package/dist/esm/api/resources/metrics/client/requests/QueryMetricsRequest.d.mts +13 -0
  73. package/dist/esm/api/resources/metrics/client/requests/index.d.mts +1 -1
  74. package/dist/esm/api/resources/metrics/types/Descending.d.mts +4 -0
  75. package/dist/esm/api/resources/metrics/types/End.d.mts +4 -0
  76. package/dist/esm/api/resources/metrics/types/MetricBucket.d.mts +6 -0
  77. package/dist/esm/api/resources/metrics/types/MetricEventTypes.d.mts +1 -1
  78. package/dist/esm/api/resources/metrics/types/MetricLimit.d.mts +4 -0
  79. package/dist/esm/api/resources/metrics/types/Period.d.mts +4 -0
  80. package/dist/esm/api/resources/metrics/types/Period.mjs +2 -0
  81. package/dist/esm/api/resources/metrics/types/QueryMetricsResponse.d.mts +5 -0
  82. package/dist/esm/api/resources/metrics/types/QueryMetricsResponse.mjs +2 -0
  83. package/dist/esm/api/resources/metrics/types/Start.d.mts +4 -0
  84. package/dist/esm/api/resources/metrics/types/Start.mjs +2 -0
  85. package/dist/esm/api/resources/metrics/types/index.d.mts +7 -5
  86. package/dist/esm/api/resources/metrics/types/index.mjs +7 -5
  87. package/dist/esm/api/resources/pods/client/Client.d.mts +3 -0
  88. package/dist/esm/api/resources/pods/client/Client.mjs +5 -0
  89. package/dist/esm/api/resources/pods/resources/index.d.mts +2 -0
  90. package/dist/esm/api/resources/pods/resources/index.mjs +2 -0
  91. package/dist/esm/api/resources/pods/resources/metrics/client/Client.d.mts +25 -0
  92. package/dist/esm/api/resources/pods/resources/metrics/client/Client.mjs +105 -0
  93. package/dist/esm/api/resources/pods/resources/metrics/client/index.d.mts +1 -0
  94. package/dist/esm/api/resources/pods/resources/metrics/client/index.mjs +1 -0
  95. package/dist/esm/api/resources/pods/resources/metrics/client/requests/QueryMetricsRequest.d.mts +13 -0
  96. package/dist/esm/api/resources/pods/resources/metrics/client/requests/QueryMetricsRequest.mjs +2 -0
  97. package/dist/esm/api/resources/pods/resources/metrics/client/requests/index.d.mts +1 -0
  98. package/dist/esm/api/resources/pods/resources/metrics/client/requests/index.mjs +1 -0
  99. package/dist/esm/api/resources/pods/resources/metrics/index.d.mts +1 -0
  100. package/dist/esm/api/resources/pods/resources/metrics/index.mjs +1 -0
  101. package/dist/esm/api/resources/threads/client/Client.mjs +2 -1
  102. package/dist/esm/api/resources/threads/client/requests/ListThreadsRequest.d.mts +1 -0
  103. package/dist/esm/serialization/resources/metrics/types/Descending.d.mts +7 -0
  104. package/dist/esm/serialization/resources/metrics/types/{MetricTimestamp.mjs → Descending.mjs} +1 -1
  105. package/dist/esm/serialization/resources/metrics/types/{MetricTimestamp.d.mts → End.d.mts} +2 -2
  106. package/dist/esm/serialization/resources/metrics/types/{MetricEndTimestamp.mjs → End.mjs} +1 -1
  107. package/dist/esm/serialization/resources/metrics/types/MetricBucket.d.mts +10 -0
  108. package/dist/esm/serialization/resources/metrics/types/MetricBucket.mjs +6 -0
  109. package/dist/esm/serialization/resources/metrics/types/MetricLimit.d.mts +7 -0
  110. package/dist/esm/serialization/resources/metrics/types/{MetricStartTimestamp.mjs → MetricLimit.mjs} +1 -1
  111. package/dist/esm/serialization/resources/metrics/types/{MetricEndTimestamp.d.mts → Period.d.mts} +2 -2
  112. package/dist/esm/serialization/resources/metrics/types/Period.mjs +3 -0
  113. package/dist/esm/serialization/resources/metrics/types/QueryMetricsResponse.d.mts +9 -0
  114. package/dist/esm/serialization/resources/metrics/types/QueryMetricsResponse.mjs +5 -0
  115. package/dist/esm/serialization/resources/metrics/types/{MetricStartTimestamp.d.mts → Start.d.mts} +2 -2
  116. package/dist/esm/serialization/resources/metrics/types/Start.mjs +3 -0
  117. package/dist/esm/serialization/resources/metrics/types/index.d.mts +7 -5
  118. package/dist/esm/serialization/resources/metrics/types/index.mjs +7 -5
  119. package/dist/esm/version.d.mts +1 -1
  120. package/dist/esm/version.mjs +1 -1
  121. package/dist/llms-full.txt +856 -32
  122. package/dist/llms.txt +3 -0
  123. package/package.json +1 -1
  124. package/reference.md +87 -13
  125. package/dist/cjs/api/resources/inboxes/resources/metrics/client/requests/ListInboxMetricsRequest.d.ts +0 -13
  126. package/dist/cjs/api/resources/metrics/client/requests/ListMetricsRequest.d.ts +0 -13
  127. package/dist/cjs/api/resources/metrics/types/ListMetricsResponse.d.ts +0 -5
  128. package/dist/cjs/api/resources/metrics/types/MessageMetrics.d.ts +0 -17
  129. package/dist/cjs/api/resources/metrics/types/MetricEndTimestamp.d.ts +0 -4
  130. package/dist/cjs/api/resources/metrics/types/MetricStartTimestamp.d.ts +0 -4
  131. package/dist/cjs/api/resources/metrics/types/MetricTimestamp.d.ts +0 -4
  132. package/dist/cjs/serialization/resources/metrics/types/ListMetricsResponse.d.ts +0 -10
  133. package/dist/cjs/serialization/resources/metrics/types/MessageMetrics.d.ts +0 -16
  134. package/dist/cjs/serialization/resources/metrics/types/MessageMetrics.js +0 -48
  135. package/dist/esm/api/resources/inboxes/resources/metrics/client/requests/ListInboxMetricsRequest.d.mts +0 -13
  136. package/dist/esm/api/resources/metrics/client/requests/ListMetricsRequest.d.mts +0 -13
  137. package/dist/esm/api/resources/metrics/types/ListMetricsResponse.d.mts +0 -5
  138. package/dist/esm/api/resources/metrics/types/MessageMetrics.d.mts +0 -17
  139. package/dist/esm/api/resources/metrics/types/MetricEndTimestamp.d.mts +0 -4
  140. package/dist/esm/api/resources/metrics/types/MetricStartTimestamp.d.mts +0 -4
  141. package/dist/esm/api/resources/metrics/types/MetricTimestamp.d.mts +0 -4
  142. package/dist/esm/serialization/resources/metrics/types/ListMetricsResponse.d.mts +0 -10
  143. package/dist/esm/serialization/resources/metrics/types/ListMetricsResponse.mjs +0 -6
  144. package/dist/esm/serialization/resources/metrics/types/MessageMetrics.d.mts +0 -16
  145. package/dist/esm/serialization/resources/metrics/types/MessageMetrics.mjs +0 -12
  146. /package/dist/cjs/api/resources/inboxes/resources/metrics/client/requests/{ListInboxMetricsRequest.js → QueryMetricsRequest.js} +0 -0
  147. /package/dist/cjs/api/resources/{metrics/client/requests/ListMetricsRequest.js → inboxes/resources/threads/client/requests/DeleteThreadRequest.js} +0 -0
  148. /package/dist/cjs/api/resources/metrics/{types/ListMetricsResponse.js → client/requests/QueryMetricsRequest.js} +0 -0
  149. /package/dist/cjs/api/resources/metrics/types/{MessageMetrics.js → Descending.js} +0 -0
  150. /package/dist/cjs/api/resources/metrics/types/{MetricEndTimestamp.js → End.js} +0 -0
  151. /package/dist/cjs/api/resources/metrics/types/{MetricStartTimestamp.js → MetricBucket.js} +0 -0
  152. /package/dist/cjs/api/resources/metrics/types/{MetricTimestamp.js → MetricLimit.js} +0 -0
  153. /package/dist/esm/api/resources/inboxes/resources/metrics/client/requests/{ListInboxMetricsRequest.mjs → QueryMetricsRequest.mjs} +0 -0
  154. /package/dist/esm/api/resources/{metrics/client/requests/ListMetricsRequest.mjs → inboxes/resources/threads/client/requests/DeleteThreadRequest.mjs} +0 -0
  155. /package/dist/esm/api/resources/metrics/{types/ListMetricsResponse.mjs → client/requests/QueryMetricsRequest.mjs} +0 -0
  156. /package/dist/esm/api/resources/metrics/types/{MessageMetrics.mjs → Descending.mjs} +0 -0
  157. /package/dist/esm/api/resources/metrics/types/{MetricEndTimestamp.mjs → End.mjs} +0 -0
  158. /package/dist/esm/api/resources/metrics/types/{MetricStartTimestamp.mjs → MetricBucket.mjs} +0 -0
  159. /package/dist/esm/api/resources/metrics/types/{MetricTimestamp.mjs → MetricLimit.mjs} +0 -0
@@ -23,25 +23,21 @@ export class MetricsClient {
23
23
  }
24
24
  /**
25
25
  * @param {AgentMail.inboxes.InboxId} inbox_id
26
- * @param {AgentMail.inboxes.ListInboxMetricsRequest} request
26
+ * @param {AgentMail.inboxes.QueryMetricsRequest} request
27
27
  * @param {MetricsClient.RequestOptions} requestOptions - Request-specific configuration.
28
28
  *
29
- * @throws {@link AgentMail.NotFoundError}
30
29
  * @throws {@link AgentMail.ValidationError}
31
30
  *
32
31
  * @example
33
- * await client.inboxes.metrics.get("inbox_id", {
34
- * startTimestamp: new Date("2024-01-15T09:30:00.000Z"),
35
- * endTimestamp: new Date("2024-01-15T09:30:00.000Z")
36
- * })
32
+ * await client.inboxes.metrics.query("inbox_id")
37
33
  */
38
- get(inbox_id, request, requestOptions) {
39
- return core.HttpResponsePromise.fromPromise(this.__get(inbox_id, request, requestOptions));
34
+ query(inbox_id, request = {}, requestOptions) {
35
+ return core.HttpResponsePromise.fromPromise(this.__query(inbox_id, request, requestOptions));
40
36
  }
41
- __get(inbox_id, request, requestOptions) {
42
- return __awaiter(this, void 0, void 0, function* () {
37
+ __query(inbox_id_1) {
38
+ return __awaiter(this, arguments, void 0, function* (inbox_id, request = {}, requestOptions) {
43
39
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
44
- const { eventTypes, startTimestamp, endTimestamp } = request;
40
+ const { eventTypes, start, end, period, limit, descending } = request;
45
41
  const _queryParams = {
46
42
  event_types: eventTypes != null
47
43
  ? toJson(serializers.MetricEventTypes.jsonOrThrow(eventTypes, {
@@ -49,14 +45,15 @@ export class MetricsClient {
49
45
  omitUndefined: true,
50
46
  }))
51
47
  : undefined,
52
- start_timestamp: serializers.MetricStartTimestamp.jsonOrThrow(startTimestamp, {
53
- unrecognizedObjectKeys: "strip",
54
- omitUndefined: true,
55
- }),
56
- end_timestamp: serializers.MetricEndTimestamp.jsonOrThrow(endTimestamp, {
57
- unrecognizedObjectKeys: "strip",
58
- omitUndefined: true,
59
- }),
48
+ start: start != null
49
+ ? serializers.Start.jsonOrThrow(start, { unrecognizedObjectKeys: "strip", omitUndefined: true })
50
+ : undefined,
51
+ end: end != null
52
+ ? serializers.End.jsonOrThrow(end, { unrecognizedObjectKeys: "strip", omitUndefined: true })
53
+ : undefined,
54
+ period,
55
+ limit,
56
+ descending,
60
57
  };
61
58
  const _authRequest = yield this._options.authProvider.getAuthRequest();
62
59
  const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
@@ -74,7 +71,7 @@ export class MetricsClient {
74
71
  });
75
72
  if (_response.ok) {
76
73
  return {
77
- data: serializers.ListMetricsResponse.parseOrThrow(_response.body, {
74
+ data: serializers.QueryMetricsResponse.parseOrThrow(_response.body, {
78
75
  unrecognizedObjectKeys: "passthrough",
79
76
  allowUnrecognizedUnionMembers: true,
80
77
  allowUnrecognizedEnumValues: true,
@@ -86,14 +83,6 @@ export class MetricsClient {
86
83
  }
87
84
  if (_response.error.reason === "status-code") {
88
85
  switch (_response.error.statusCode) {
89
- case 404:
90
- throw new AgentMail.NotFoundError(serializers.ErrorResponse.parseOrThrow(_response.error.body, {
91
- unrecognizedObjectKeys: "passthrough",
92
- allowUnrecognizedUnionMembers: true,
93
- allowUnrecognizedEnumValues: true,
94
- skipValidation: true,
95
- breadcrumbsPrefix: ["response"],
96
- }), _response.rawResponse);
97
86
  case 400:
98
87
  throw new AgentMail.ValidationError(serializers.ValidationErrorResponse.parseOrThrow(_response.error.body, {
99
88
  unrecognizedObjectKeys: "passthrough",
@@ -0,0 +1,13 @@
1
+ import type * as AgentMail from "../../../../../../index.mjs";
2
+ /**
3
+ * @example
4
+ * {}
5
+ */
6
+ export interface QueryMetricsRequest {
7
+ eventTypes?: AgentMail.MetricEventTypes;
8
+ start?: AgentMail.Start;
9
+ end?: AgentMail.End;
10
+ period?: AgentMail.Period;
11
+ limit?: AgentMail.MetricLimit;
12
+ descending?: AgentMail.Descending;
13
+ }
@@ -1 +1 @@
1
- export type { ListInboxMetricsRequest } from "./ListInboxMetricsRequest.mjs";
1
+ export type { QueryMetricsRequest } from "./QueryMetricsRequest.mjs";
@@ -48,8 +48,11 @@ export declare class ThreadsClient {
48
48
  getAttachment(inbox_id: AgentMail.inboxes.InboxId, thread_id: AgentMail.ThreadId, attachment_id: AgentMail.AttachmentId, requestOptions?: ThreadsClient.RequestOptions): core.HttpResponsePromise<AgentMail.AttachmentResponse>;
49
49
  private __getAttachment;
50
50
  /**
51
+ * Moves the thread to trash by adding a trash label to all messages. If the thread is already in trash, it will be permanently deleted. Use `permanent=true` to force permanent deletion.
52
+ *
51
53
  * @param {AgentMail.inboxes.InboxId} inbox_id
52
54
  * @param {AgentMail.ThreadId} thread_id
55
+ * @param {AgentMail.inboxes.DeleteThreadRequest} request
53
56
  * @param {ThreadsClient.RequestOptions} requestOptions - Request-specific configuration.
54
57
  *
55
58
  * @throws {@link AgentMail.NotFoundError}
@@ -57,6 +60,6 @@ export declare class ThreadsClient {
57
60
  * @example
58
61
  * await client.inboxes.threads.delete("inbox_id", "thread_id")
59
62
  */
60
- delete(inbox_id: AgentMail.inboxes.InboxId, thread_id: AgentMail.ThreadId, requestOptions?: ThreadsClient.RequestOptions): core.HttpResponsePromise<void>;
63
+ delete(inbox_id: AgentMail.inboxes.InboxId, thread_id: AgentMail.ThreadId, request?: AgentMail.inboxes.DeleteThreadRequest, requestOptions?: ThreadsClient.RequestOptions): core.HttpResponsePromise<void>;
61
64
  private __delete;
62
65
  }
@@ -233,8 +233,11 @@ export class ThreadsClient {
233
233
  });
234
234
  }
235
235
  /**
236
+ * Moves the thread to trash by adding a trash label to all messages. If the thread is already in trash, it will be permanently deleted. Use `permanent=true` to force permanent deletion.
237
+ *
236
238
  * @param {AgentMail.inboxes.InboxId} inbox_id
237
239
  * @param {AgentMail.ThreadId} thread_id
240
+ * @param {AgentMail.inboxes.DeleteThreadRequest} request
238
241
  * @param {ThreadsClient.RequestOptions} requestOptions - Request-specific configuration.
239
242
  *
240
243
  * @throws {@link AgentMail.NotFoundError}
@@ -242,12 +245,16 @@ export class ThreadsClient {
242
245
  * @example
243
246
  * await client.inboxes.threads.delete("inbox_id", "thread_id")
244
247
  */
245
- delete(inbox_id, thread_id, requestOptions) {
246
- return core.HttpResponsePromise.fromPromise(this.__delete(inbox_id, thread_id, requestOptions));
248
+ delete(inbox_id, thread_id, request = {}, requestOptions) {
249
+ return core.HttpResponsePromise.fromPromise(this.__delete(inbox_id, thread_id, request, requestOptions));
247
250
  }
248
- __delete(inbox_id, thread_id, requestOptions) {
249
- return __awaiter(this, void 0, void 0, function* () {
251
+ __delete(inbox_id_1, thread_id_1) {
252
+ return __awaiter(this, arguments, void 0, function* (inbox_id, thread_id, request = {}, requestOptions) {
250
253
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
254
+ const { permanent } = request;
255
+ const _queryParams = {
256
+ permanent,
257
+ };
251
258
  const _authRequest = yield this._options.authProvider.getAuthRequest();
252
259
  const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
253
260
  const _response = yield core.fetcher({
@@ -255,7 +262,7 @@ export class ThreadsClient {
255
262
  .http, `/v0/inboxes/${core.url.encodePathParam(serializers.inboxes.InboxId.jsonOrThrow(inbox_id, { omitUndefined: true }))}/threads/${core.url.encodePathParam(serializers.ThreadId.jsonOrThrow(thread_id, { omitUndefined: true }))}`),
256
263
  method: "DELETE",
257
264
  headers: _headers,
258
- queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
265
+ queryParameters: Object.assign(Object.assign({}, _queryParams), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams),
259
266
  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,
260
267
  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,
261
268
  abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @example
3
+ * {}
4
+ */
5
+ export interface DeleteThreadRequest {
6
+ /** If true, permanently delete the thread instead of moving to trash. */
7
+ permanent?: boolean;
8
+ }
@@ -1 +1,2 @@
1
+ export type { DeleteThreadRequest } from "./DeleteThreadRequest.mjs";
1
2
  export type { ListThreadsRequest } from "./ListThreadsRequest.mjs";
@@ -11,17 +11,14 @@ export declare class MetricsClient {
11
11
  protected readonly _options: NormalizedClientOptionsWithAuth<MetricsClient.Options>;
12
12
  constructor(options?: MetricsClient.Options);
13
13
  /**
14
- * @param {AgentMail.ListMetricsRequest} request
14
+ * @param {AgentMail.QueryMetricsRequest} request
15
15
  * @param {MetricsClient.RequestOptions} requestOptions - Request-specific configuration.
16
16
  *
17
- * @throws {@link AgentMail.NotFoundError}
17
+ * @throws {@link AgentMail.ValidationError}
18
18
  *
19
19
  * @example
20
- * await client.metrics.list({
21
- * startTimestamp: new Date("2024-01-15T09:30:00.000Z"),
22
- * endTimestamp: new Date("2024-01-15T09:30:00.000Z")
23
- * })
20
+ * await client.metrics.query()
24
21
  */
25
- list(request: AgentMail.ListMetricsRequest, requestOptions?: MetricsClient.RequestOptions): core.HttpResponsePromise<AgentMail.ListMetricsResponse>;
26
- private __list;
22
+ query(request?: AgentMail.QueryMetricsRequest, requestOptions?: MetricsClient.RequestOptions): core.HttpResponsePromise<AgentMail.QueryMetricsResponse>;
23
+ private __query;
27
24
  }
@@ -22,24 +22,21 @@ export class MetricsClient {
22
22
  this._options = normalizeClientOptionsWithAuth(options);
23
23
  }
24
24
  /**
25
- * @param {AgentMail.ListMetricsRequest} request
25
+ * @param {AgentMail.QueryMetricsRequest} request
26
26
  * @param {MetricsClient.RequestOptions} requestOptions - Request-specific configuration.
27
27
  *
28
- * @throws {@link AgentMail.NotFoundError}
28
+ * @throws {@link AgentMail.ValidationError}
29
29
  *
30
30
  * @example
31
- * await client.metrics.list({
32
- * startTimestamp: new Date("2024-01-15T09:30:00.000Z"),
33
- * endTimestamp: new Date("2024-01-15T09:30:00.000Z")
34
- * })
31
+ * await client.metrics.query()
35
32
  */
36
- list(request, requestOptions) {
37
- return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions));
33
+ query(request = {}, requestOptions) {
34
+ return core.HttpResponsePromise.fromPromise(this.__query(request, requestOptions));
38
35
  }
39
- __list(request, requestOptions) {
40
- return __awaiter(this, void 0, void 0, function* () {
36
+ __query() {
37
+ return __awaiter(this, arguments, void 0, function* (request = {}, requestOptions) {
41
38
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
42
- const { eventTypes, startTimestamp, endTimestamp } = request;
39
+ const { eventTypes, start, end, period, limit, descending } = request;
43
40
  const _queryParams = {
44
41
  event_types: eventTypes != null
45
42
  ? toJson(serializers.MetricEventTypes.jsonOrThrow(eventTypes, {
@@ -47,14 +44,15 @@ export class MetricsClient {
47
44
  omitUndefined: true,
48
45
  }))
49
46
  : undefined,
50
- start_timestamp: serializers.MetricStartTimestamp.jsonOrThrow(startTimestamp, {
51
- unrecognizedObjectKeys: "strip",
52
- omitUndefined: true,
53
- }),
54
- end_timestamp: serializers.MetricEndTimestamp.jsonOrThrow(endTimestamp, {
55
- unrecognizedObjectKeys: "strip",
56
- omitUndefined: true,
57
- }),
47
+ start: start != null
48
+ ? serializers.Start.jsonOrThrow(start, { unrecognizedObjectKeys: "strip", omitUndefined: true })
49
+ : undefined,
50
+ end: end != null
51
+ ? serializers.End.jsonOrThrow(end, { unrecognizedObjectKeys: "strip", omitUndefined: true })
52
+ : undefined,
53
+ period,
54
+ limit,
55
+ descending,
58
56
  };
59
57
  const _authRequest = yield this._options.authProvider.getAuthRequest();
60
58
  const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
@@ -72,7 +70,7 @@ export class MetricsClient {
72
70
  });
73
71
  if (_response.ok) {
74
72
  return {
75
- data: serializers.ListMetricsResponse.parseOrThrow(_response.body, {
73
+ data: serializers.QueryMetricsResponse.parseOrThrow(_response.body, {
76
74
  unrecognizedObjectKeys: "passthrough",
77
75
  allowUnrecognizedUnionMembers: true,
78
76
  allowUnrecognizedEnumValues: true,
@@ -84,8 +82,8 @@ export class MetricsClient {
84
82
  }
85
83
  if (_response.error.reason === "status-code") {
86
84
  switch (_response.error.statusCode) {
87
- case 404:
88
- throw new AgentMail.NotFoundError(serializers.ErrorResponse.parseOrThrow(_response.error.body, {
85
+ case 400:
86
+ throw new AgentMail.ValidationError(serializers.ValidationErrorResponse.parseOrThrow(_response.error.body, {
89
87
  unrecognizedObjectKeys: "passthrough",
90
88
  allowUnrecognizedUnionMembers: true,
91
89
  allowUnrecognizedEnumValues: true,
@@ -0,0 +1,13 @@
1
+ import type * as AgentMail from "../../../../index.mjs";
2
+ /**
3
+ * @example
4
+ * {}
5
+ */
6
+ export interface QueryMetricsRequest {
7
+ eventTypes?: AgentMail.MetricEventTypes;
8
+ start?: AgentMail.Start;
9
+ end?: AgentMail.End;
10
+ period?: AgentMail.Period;
11
+ limit?: AgentMail.MetricLimit;
12
+ descending?: AgentMail.Descending;
13
+ }
@@ -1 +1 @@
1
- export type { ListMetricsRequest } from "./ListMetricsRequest.mjs";
1
+ export type { QueryMetricsRequest } from "./QueryMetricsRequest.mjs";
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Sort in descending order.
3
+ */
4
+ export type Descending = boolean;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * End timestamp for the query.
3
+ */
4
+ export type End = Date;
@@ -0,0 +1,6 @@
1
+ export interface MetricBucket {
2
+ /** Timestamp of the bucket. */
3
+ timestamp: Date;
4
+ /** Count of events in the bucket. */
5
+ count: number;
6
+ }
@@ -1,5 +1,5 @@
1
1
  import type * as AgentMail from "../../../index.mjs";
2
2
  /**
3
- * List of metric event types to filter by.
3
+ * List of metric event types to query.
4
4
  */
5
5
  export type MetricEventTypes = AgentMail.MetricEventType[];
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Limit on number of buckets to return.
3
+ */
4
+ export type MetricLimit = number;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Period in number of seconds for the query.
3
+ */
4
+ export type Period = string;
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,5 @@
1
+ import type * as AgentMail from "../../../index.mjs";
2
+ /**
3
+ * Metrics grouped by event type.
4
+ */
5
+ export type QueryMetricsResponse = Record<AgentMail.MetricEventType, AgentMail.MetricBucket[] | undefined>;
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Start timestamp for the query.
3
+ */
4
+ export type Start = Date;
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -1,7 +1,9 @@
1
- export * from "./ListMetricsResponse.mjs";
2
- export * from "./MessageMetrics.mjs";
3
- export * from "./MetricEndTimestamp.mjs";
1
+ export * from "./Descending.mjs";
2
+ export * from "./End.mjs";
3
+ export * from "./MetricBucket.mjs";
4
4
  export * from "./MetricEventType.mjs";
5
5
  export * from "./MetricEventTypes.mjs";
6
- export * from "./MetricStartTimestamp.mjs";
7
- export * from "./MetricTimestamp.mjs";
6
+ export * from "./MetricLimit.mjs";
7
+ export * from "./Period.mjs";
8
+ export * from "./QueryMetricsResponse.mjs";
9
+ export * from "./Start.mjs";
@@ -1,7 +1,9 @@
1
- export * from "./ListMetricsResponse.mjs";
2
- export * from "./MessageMetrics.mjs";
3
- export * from "./MetricEndTimestamp.mjs";
1
+ export * from "./Descending.mjs";
2
+ export * from "./End.mjs";
3
+ export * from "./MetricBucket.mjs";
4
4
  export * from "./MetricEventType.mjs";
5
5
  export * from "./MetricEventTypes.mjs";
6
- export * from "./MetricStartTimestamp.mjs";
7
- export * from "./MetricTimestamp.mjs";
6
+ export * from "./MetricLimit.mjs";
7
+ export * from "./Period.mjs";
8
+ export * from "./QueryMetricsResponse.mjs";
9
+ export * from "./Start.mjs";
@@ -7,6 +7,7 @@ import { DomainsClient } from "../resources/domains/client/Client.mjs";
7
7
  import { DraftsClient } from "../resources/drafts/client/Client.mjs";
8
8
  import { InboxesClient } from "../resources/inboxes/client/Client.mjs";
9
9
  import { ListsClient } from "../resources/lists/client/Client.mjs";
10
+ import { MetricsClient } from "../resources/metrics/client/Client.mjs";
10
11
  import { ThreadsClient } from "../resources/threads/client/Client.mjs";
11
12
  export declare namespace PodsClient {
12
13
  type Options = BaseClientOptions;
@@ -21,6 +22,7 @@ export declare class PodsClient {
21
22
  protected _domains: DomainsClient | undefined;
22
23
  protected _lists: ListsClient | undefined;
23
24
  protected _apiKeys: ApiKeysClient | undefined;
25
+ protected _metrics: MetricsClient | undefined;
24
26
  constructor(options?: PodsClient.Options);
25
27
  get inboxes(): InboxesClient;
26
28
  get threads(): ThreadsClient;
@@ -28,6 +30,7 @@ export declare class PodsClient {
28
30
  get domains(): DomainsClient;
29
31
  get lists(): ListsClient;
30
32
  get apiKeys(): ApiKeysClient;
33
+ get metrics(): MetricsClient;
31
34
  /**
32
35
  * @param {AgentMail.pods.ListPodsRequest} request
33
36
  * @param {PodsClient.RequestOptions} requestOptions - Request-specific configuration.
@@ -21,6 +21,7 @@ import { DomainsClient } from "../resources/domains/client/Client.mjs";
21
21
  import { DraftsClient } from "../resources/drafts/client/Client.mjs";
22
22
  import { InboxesClient } from "../resources/inboxes/client/Client.mjs";
23
23
  import { ListsClient } from "../resources/lists/client/Client.mjs";
24
+ import { MetricsClient } from "../resources/metrics/client/Client.mjs";
24
25
  import { ThreadsClient } from "../resources/threads/client/Client.mjs";
25
26
  export class PodsClient {
26
27
  constructor(options = {}) {
@@ -50,6 +51,10 @@ export class PodsClient {
50
51
  var _a;
51
52
  return ((_a = this._apiKeys) !== null && _a !== void 0 ? _a : (this._apiKeys = new ApiKeysClient(this._options)));
52
53
  }
54
+ get metrics() {
55
+ var _a;
56
+ return ((_a = this._metrics) !== null && _a !== void 0 ? _a : (this._metrics = new MetricsClient(this._options)));
57
+ }
53
58
  /**
54
59
  * @param {AgentMail.pods.ListPodsRequest} request
55
60
  * @param {PodsClient.RequestOptions} requestOptions - Request-specific configuration.
@@ -8,5 +8,7 @@ export * from "./inboxes/client/requests/index.mjs";
8
8
  export * as inboxes from "./inboxes/index.mjs";
9
9
  export * from "./lists/client/requests/index.mjs";
10
10
  export * as lists from "./lists/index.mjs";
11
+ export * from "./metrics/client/requests/index.mjs";
12
+ export * as metrics from "./metrics/index.mjs";
11
13
  export * from "./threads/client/requests/index.mjs";
12
14
  export * as threads from "./threads/index.mjs";
@@ -8,5 +8,7 @@ export * from "./inboxes/client/requests/index.mjs";
8
8
  export * as inboxes from "./inboxes/index.mjs";
9
9
  export * from "./lists/client/requests/index.mjs";
10
10
  export * as lists from "./lists/index.mjs";
11
+ export * from "./metrics/client/requests/index.mjs";
12
+ export * as metrics from "./metrics/index.mjs";
11
13
  export * from "./threads/client/requests/index.mjs";
12
14
  export * as threads from "./threads/index.mjs";
@@ -0,0 +1,25 @@
1
+ import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.mjs";
2
+ import { type NormalizedClientOptionsWithAuth } from "../../../../../../BaseClient.mjs";
3
+ import * as core from "../../../../../../core/index.mjs";
4
+ import * as AgentMail from "../../../../../index.mjs";
5
+ export declare namespace MetricsClient {
6
+ type Options = BaseClientOptions;
7
+ interface RequestOptions extends BaseRequestOptions {
8
+ }
9
+ }
10
+ export declare class MetricsClient {
11
+ protected readonly _options: NormalizedClientOptionsWithAuth<MetricsClient.Options>;
12
+ constructor(options?: MetricsClient.Options);
13
+ /**
14
+ * @param {AgentMail.pods.PodId} pod_id
15
+ * @param {AgentMail.pods.QueryMetricsRequest} request
16
+ * @param {MetricsClient.RequestOptions} requestOptions - Request-specific configuration.
17
+ *
18
+ * @throws {@link AgentMail.ValidationError}
19
+ *
20
+ * @example
21
+ * await client.pods.metrics.query("pod_id")
22
+ */
23
+ query(pod_id: AgentMail.pods.PodId, request?: AgentMail.pods.QueryMetricsRequest, requestOptions?: MetricsClient.RequestOptions): core.HttpResponsePromise<AgentMail.QueryMetricsResponse>;
24
+ private __query;
25
+ }
@@ -0,0 +1,105 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ import { normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.mjs";
12
+ import { mergeHeaders } from "../../../../../../core/headers.mjs";
13
+ import * as core from "../../../../../../core/index.mjs";
14
+ import { toJson } from "../../../../../../core/json.mjs";
15
+ import * as environments from "../../../../../../environments.mjs";
16
+ import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.mjs";
17
+ import * as errors from "../../../../../../errors/index.mjs";
18
+ import * as serializers from "../../../../../../serialization/index.mjs";
19
+ import * as AgentMail from "../../../../../index.mjs";
20
+ export class MetricsClient {
21
+ constructor(options = {}) {
22
+ this._options = normalizeClientOptionsWithAuth(options);
23
+ }
24
+ /**
25
+ * @param {AgentMail.pods.PodId} pod_id
26
+ * @param {AgentMail.pods.QueryMetricsRequest} request
27
+ * @param {MetricsClient.RequestOptions} requestOptions - Request-specific configuration.
28
+ *
29
+ * @throws {@link AgentMail.ValidationError}
30
+ *
31
+ * @example
32
+ * await client.pods.metrics.query("pod_id")
33
+ */
34
+ query(pod_id, request = {}, requestOptions) {
35
+ return core.HttpResponsePromise.fromPromise(this.__query(pod_id, request, requestOptions));
36
+ }
37
+ __query(pod_id_1) {
38
+ return __awaiter(this, arguments, void 0, function* (pod_id, request = {}, requestOptions) {
39
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
40
+ const { eventTypes, start, end, period, limit, descending } = request;
41
+ const _queryParams = {
42
+ event_types: eventTypes != null
43
+ ? toJson(serializers.MetricEventTypes.jsonOrThrow(eventTypes, {
44
+ unrecognizedObjectKeys: "strip",
45
+ omitUndefined: true,
46
+ }))
47
+ : undefined,
48
+ start: start != null
49
+ ? serializers.Start.jsonOrThrow(start, { unrecognizedObjectKeys: "strip", omitUndefined: true })
50
+ : undefined,
51
+ end: end != null
52
+ ? serializers.End.jsonOrThrow(end, { unrecognizedObjectKeys: "strip", omitUndefined: true })
53
+ : undefined,
54
+ period,
55
+ limit,
56
+ descending,
57
+ };
58
+ const _authRequest = yield this._options.authProvider.getAuthRequest();
59
+ const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
60
+ const _response = yield core.fetcher({
61
+ 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)
62
+ .http, `/v0/pods/${core.url.encodePathParam(serializers.pods.PodId.jsonOrThrow(pod_id, { omitUndefined: true }))}/metrics`),
63
+ method: "GET",
64
+ headers: _headers,
65
+ queryParameters: Object.assign(Object.assign({}, _queryParams), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams),
66
+ 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,
67
+ 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,
68
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
69
+ fetchFn: (_j = this._options) === null || _j === void 0 ? void 0 : _j.fetch,
70
+ logging: this._options.logging,
71
+ });
72
+ if (_response.ok) {
73
+ return {
74
+ data: serializers.QueryMetricsResponse.parseOrThrow(_response.body, {
75
+ unrecognizedObjectKeys: "passthrough",
76
+ allowUnrecognizedUnionMembers: true,
77
+ allowUnrecognizedEnumValues: true,
78
+ skipValidation: true,
79
+ breadcrumbsPrefix: ["response"],
80
+ }),
81
+ rawResponse: _response.rawResponse,
82
+ };
83
+ }
84
+ if (_response.error.reason === "status-code") {
85
+ switch (_response.error.statusCode) {
86
+ case 400:
87
+ throw new AgentMail.ValidationError(serializers.ValidationErrorResponse.parseOrThrow(_response.error.body, {
88
+ unrecognizedObjectKeys: "passthrough",
89
+ allowUnrecognizedUnionMembers: true,
90
+ allowUnrecognizedEnumValues: true,
91
+ skipValidation: true,
92
+ breadcrumbsPrefix: ["response"],
93
+ }), _response.rawResponse);
94
+ default:
95
+ throw new errors.AgentMailError({
96
+ statusCode: _response.error.statusCode,
97
+ body: _response.error.body,
98
+ rawResponse: _response.rawResponse,
99
+ });
100
+ }
101
+ }
102
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v0/pods/{pod_id}/metrics");
103
+ });
104
+ }
105
+ }
@@ -0,0 +1 @@
1
+ export * from "./requests/index.mjs";
@@ -0,0 +1 @@
1
+ export * from "./requests/index.mjs";
@@ -0,0 +1,13 @@
1
+ import type * as AgentMail from "../../../../../../index.mjs";
2
+ /**
3
+ * @example
4
+ * {}
5
+ */
6
+ export interface QueryMetricsRequest {
7
+ eventTypes?: AgentMail.MetricEventTypes;
8
+ start?: AgentMail.Start;
9
+ end?: AgentMail.End;
10
+ period?: AgentMail.Period;
11
+ limit?: AgentMail.MetricLimit;
12
+ descending?: AgentMail.Descending;
13
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1 @@
1
+ export type { QueryMetricsRequest } from "./QueryMetricsRequest.mjs";
@@ -0,0 +1 @@
1
+ export * from "./client/index.mjs";
@@ -0,0 +1 @@
1
+ export * from "./client/index.mjs";