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
@@ -43,8 +43,8 @@ function normalizeClientOptions(options) {
43
43
  const headers = (0, headers_js_1.mergeHeaders)({
44
44
  "X-Fern-Language": "JavaScript",
45
45
  "X-Fern-SDK-Name": "agentmail",
46
- "X-Fern-SDK-Version": "0.4.1",
47
- "User-Agent": "agentmail/0.4.1",
46
+ "X-Fern-SDK-Version": "0.4.3",
47
+ "User-Agent": "agentmail/0.4.3",
48
48
  "X-Fern-Runtime": core.RUNTIME.type,
49
49
  "X-Fern-Runtime-Version": core.RUNTIME.version,
50
50
  }, options === null || options === void 0 ? void 0 : options.headers);
@@ -12,18 +12,14 @@ export declare class MetricsClient {
12
12
  constructor(options?: MetricsClient.Options);
13
13
  /**
14
14
  * @param {AgentMail.inboxes.InboxId} inbox_id
15
- * @param {AgentMail.inboxes.ListInboxMetricsRequest} request
15
+ * @param {AgentMail.inboxes.QueryMetricsRequest} request
16
16
  * @param {MetricsClient.RequestOptions} requestOptions - Request-specific configuration.
17
17
  *
18
- * @throws {@link AgentMail.NotFoundError}
19
18
  * @throws {@link AgentMail.ValidationError}
20
19
  *
21
20
  * @example
22
- * await client.inboxes.metrics.get("inbox_id", {
23
- * startTimestamp: new Date("2024-01-15T09:30:00.000Z"),
24
- * endTimestamp: new Date("2024-01-15T09:30:00.000Z")
25
- * })
21
+ * await client.inboxes.metrics.query("inbox_id")
26
22
  */
27
- get(inbox_id: AgentMail.inboxes.InboxId, request: AgentMail.inboxes.ListInboxMetricsRequest, requestOptions?: MetricsClient.RequestOptions): core.HttpResponsePromise<AgentMail.ListMetricsResponse>;
28
- private __get;
23
+ query(inbox_id: AgentMail.inboxes.InboxId, request?: AgentMail.inboxes.QueryMetricsRequest, requestOptions?: MetricsClient.RequestOptions): core.HttpResponsePromise<AgentMail.QueryMetricsResponse>;
24
+ private __query;
29
25
  }
@@ -59,25 +59,21 @@ class MetricsClient {
59
59
  }
60
60
  /**
61
61
  * @param {AgentMail.inboxes.InboxId} inbox_id
62
- * @param {AgentMail.inboxes.ListInboxMetricsRequest} request
62
+ * @param {AgentMail.inboxes.QueryMetricsRequest} request
63
63
  * @param {MetricsClient.RequestOptions} requestOptions - Request-specific configuration.
64
64
  *
65
- * @throws {@link AgentMail.NotFoundError}
66
65
  * @throws {@link AgentMail.ValidationError}
67
66
  *
68
67
  * @example
69
- * await client.inboxes.metrics.get("inbox_id", {
70
- * startTimestamp: new Date("2024-01-15T09:30:00.000Z"),
71
- * endTimestamp: new Date("2024-01-15T09:30:00.000Z")
72
- * })
68
+ * await client.inboxes.metrics.query("inbox_id")
73
69
  */
74
- get(inbox_id, request, requestOptions) {
75
- return core.HttpResponsePromise.fromPromise(this.__get(inbox_id, request, requestOptions));
70
+ query(inbox_id, request = {}, requestOptions) {
71
+ return core.HttpResponsePromise.fromPromise(this.__query(inbox_id, request, requestOptions));
76
72
  }
77
- __get(inbox_id, request, requestOptions) {
78
- return __awaiter(this, void 0, void 0, function* () {
73
+ __query(inbox_id_1) {
74
+ return __awaiter(this, arguments, void 0, function* (inbox_id, request = {}, requestOptions) {
79
75
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
80
- const { eventTypes, startTimestamp, endTimestamp } = request;
76
+ const { eventTypes, start, end, period, limit, descending } = request;
81
77
  const _queryParams = {
82
78
  event_types: eventTypes != null
83
79
  ? (0, json_js_1.toJson)(serializers.MetricEventTypes.jsonOrThrow(eventTypes, {
@@ -85,14 +81,15 @@ class MetricsClient {
85
81
  omitUndefined: true,
86
82
  }))
87
83
  : undefined,
88
- start_timestamp: serializers.MetricStartTimestamp.jsonOrThrow(startTimestamp, {
89
- unrecognizedObjectKeys: "strip",
90
- omitUndefined: true,
91
- }),
92
- end_timestamp: serializers.MetricEndTimestamp.jsonOrThrow(endTimestamp, {
93
- unrecognizedObjectKeys: "strip",
94
- omitUndefined: true,
95
- }),
84
+ start: start != null
85
+ ? serializers.Start.jsonOrThrow(start, { unrecognizedObjectKeys: "strip", omitUndefined: true })
86
+ : undefined,
87
+ end: end != null
88
+ ? serializers.End.jsonOrThrow(end, { unrecognizedObjectKeys: "strip", omitUndefined: true })
89
+ : undefined,
90
+ period,
91
+ limit,
92
+ descending,
96
93
  };
97
94
  const _authRequest = yield this._options.authProvider.getAuthRequest();
98
95
  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);
@@ -110,7 +107,7 @@ class MetricsClient {
110
107
  });
111
108
  if (_response.ok) {
112
109
  return {
113
- data: serializers.ListMetricsResponse.parseOrThrow(_response.body, {
110
+ data: serializers.QueryMetricsResponse.parseOrThrow(_response.body, {
114
111
  unrecognizedObjectKeys: "passthrough",
115
112
  allowUnrecognizedUnionMembers: true,
116
113
  allowUnrecognizedEnumValues: true,
@@ -122,14 +119,6 @@ class MetricsClient {
122
119
  }
123
120
  if (_response.error.reason === "status-code") {
124
121
  switch (_response.error.statusCode) {
125
- case 404:
126
- throw new AgentMail.NotFoundError(serializers.ErrorResponse.parseOrThrow(_response.error.body, {
127
- unrecognizedObjectKeys: "passthrough",
128
- allowUnrecognizedUnionMembers: true,
129
- allowUnrecognizedEnumValues: true,
130
- skipValidation: true,
131
- breadcrumbsPrefix: ["response"],
132
- }), _response.rawResponse);
133
122
  case 400:
134
123
  throw new AgentMail.ValidationError(serializers.ValidationErrorResponse.parseOrThrow(_response.error.body, {
135
124
  unrecognizedObjectKeys: "passthrough",
@@ -0,0 +1,13 @@
1
+ import type * as AgentMail from "../../../../../../index.js";
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.js";
1
+ export type { QueryMetricsRequest } from "./QueryMetricsRequest.js";
@@ -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
  }
@@ -269,8 +269,11 @@ class ThreadsClient {
269
269
  });
270
270
  }
271
271
  /**
272
+ * 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.
273
+ *
272
274
  * @param {AgentMail.inboxes.InboxId} inbox_id
273
275
  * @param {AgentMail.ThreadId} thread_id
276
+ * @param {AgentMail.inboxes.DeleteThreadRequest} request
274
277
  * @param {ThreadsClient.RequestOptions} requestOptions - Request-specific configuration.
275
278
  *
276
279
  * @throws {@link AgentMail.NotFoundError}
@@ -278,12 +281,16 @@ class ThreadsClient {
278
281
  * @example
279
282
  * await client.inboxes.threads.delete("inbox_id", "thread_id")
280
283
  */
281
- delete(inbox_id, thread_id, requestOptions) {
282
- return core.HttpResponsePromise.fromPromise(this.__delete(inbox_id, thread_id, requestOptions));
284
+ delete(inbox_id, thread_id, request = {}, requestOptions) {
285
+ return core.HttpResponsePromise.fromPromise(this.__delete(inbox_id, thread_id, request, requestOptions));
283
286
  }
284
- __delete(inbox_id, thread_id, requestOptions) {
285
- return __awaiter(this, void 0, void 0, function* () {
287
+ __delete(inbox_id_1, thread_id_1) {
288
+ return __awaiter(this, arguments, void 0, function* (inbox_id, thread_id, request = {}, requestOptions) {
286
289
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
290
+ const { permanent } = request;
291
+ const _queryParams = {
292
+ permanent,
293
+ };
287
294
  const _authRequest = yield this._options.authProvider.getAuthRequest();
288
295
  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);
289
296
  const _response = yield core.fetcher({
@@ -291,7 +298,7 @@ class ThreadsClient {
291
298
  .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 }))}`),
292
299
  method: "DELETE",
293
300
  headers: _headers,
294
- queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
301
+ queryParameters: Object.assign(Object.assign({}, _queryParams), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams),
295
302
  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,
296
303
  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,
297
304
  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.js";
1
2
  export type { ListThreadsRequest } from "./ListThreadsRequest.js";
@@ -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
  }
@@ -58,24 +58,21 @@ class MetricsClient {
58
58
  this._options = (0, BaseClient_js_1.normalizeClientOptionsWithAuth)(options);
59
59
  }
60
60
  /**
61
- * @param {AgentMail.ListMetricsRequest} request
61
+ * @param {AgentMail.QueryMetricsRequest} request
62
62
  * @param {MetricsClient.RequestOptions} requestOptions - Request-specific configuration.
63
63
  *
64
- * @throws {@link AgentMail.NotFoundError}
64
+ * @throws {@link AgentMail.ValidationError}
65
65
  *
66
66
  * @example
67
- * await client.metrics.list({
68
- * startTimestamp: new Date("2024-01-15T09:30:00.000Z"),
69
- * endTimestamp: new Date("2024-01-15T09:30:00.000Z")
70
- * })
67
+ * await client.metrics.query()
71
68
  */
72
- list(request, requestOptions) {
73
- return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions));
69
+ query(request = {}, requestOptions) {
70
+ return core.HttpResponsePromise.fromPromise(this.__query(request, requestOptions));
74
71
  }
75
- __list(request, requestOptions) {
76
- return __awaiter(this, void 0, void 0, function* () {
72
+ __query() {
73
+ return __awaiter(this, arguments, void 0, function* (request = {}, requestOptions) {
77
74
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
78
- const { eventTypes, startTimestamp, endTimestamp } = request;
75
+ const { eventTypes, start, end, period, limit, descending } = request;
79
76
  const _queryParams = {
80
77
  event_types: eventTypes != null
81
78
  ? (0, json_js_1.toJson)(serializers.MetricEventTypes.jsonOrThrow(eventTypes, {
@@ -83,14 +80,15 @@ class MetricsClient {
83
80
  omitUndefined: true,
84
81
  }))
85
82
  : undefined,
86
- start_timestamp: serializers.MetricStartTimestamp.jsonOrThrow(startTimestamp, {
87
- unrecognizedObjectKeys: "strip",
88
- omitUndefined: true,
89
- }),
90
- end_timestamp: serializers.MetricEndTimestamp.jsonOrThrow(endTimestamp, {
91
- unrecognizedObjectKeys: "strip",
92
- omitUndefined: true,
93
- }),
83
+ start: start != null
84
+ ? serializers.Start.jsonOrThrow(start, { unrecognizedObjectKeys: "strip", omitUndefined: true })
85
+ : undefined,
86
+ end: end != null
87
+ ? serializers.End.jsonOrThrow(end, { unrecognizedObjectKeys: "strip", omitUndefined: true })
88
+ : undefined,
89
+ period,
90
+ limit,
91
+ descending,
94
92
  };
95
93
  const _authRequest = yield this._options.authProvider.getAuthRequest();
96
94
  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);
@@ -108,7 +106,7 @@ class MetricsClient {
108
106
  });
109
107
  if (_response.ok) {
110
108
  return {
111
- data: serializers.ListMetricsResponse.parseOrThrow(_response.body, {
109
+ data: serializers.QueryMetricsResponse.parseOrThrow(_response.body, {
112
110
  unrecognizedObjectKeys: "passthrough",
113
111
  allowUnrecognizedUnionMembers: true,
114
112
  allowUnrecognizedEnumValues: true,
@@ -120,8 +118,8 @@ class MetricsClient {
120
118
  }
121
119
  if (_response.error.reason === "status-code") {
122
120
  switch (_response.error.statusCode) {
123
- case 404:
124
- throw new AgentMail.NotFoundError(serializers.ErrorResponse.parseOrThrow(_response.error.body, {
121
+ case 400:
122
+ throw new AgentMail.ValidationError(serializers.ValidationErrorResponse.parseOrThrow(_response.error.body, {
125
123
  unrecognizedObjectKeys: "passthrough",
126
124
  allowUnrecognizedUnionMembers: true,
127
125
  allowUnrecognizedEnumValues: true,
@@ -0,0 +1,13 @@
1
+ import type * as AgentMail from "../../../../index.js";
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.js";
1
+ export type { QueryMetricsRequest } from "./QueryMetricsRequest.js";
@@ -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.js";
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,3 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,5 @@
1
+ import type * as AgentMail from "../../../index.js";
2
+ /**
3
+ * Metrics grouped by event type.
4
+ */
5
+ export type QueryMetricsResponse = Record<AgentMail.MetricEventType, AgentMail.MetricBucket[] | undefined>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Start timestamp for the query.
3
+ */
4
+ export type Start = Date;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,7 +1,9 @@
1
- export * from "./ListMetricsResponse.js";
2
- export * from "./MessageMetrics.js";
3
- export * from "./MetricEndTimestamp.js";
1
+ export * from "./Descending.js";
2
+ export * from "./End.js";
3
+ export * from "./MetricBucket.js";
4
4
  export * from "./MetricEventType.js";
5
5
  export * from "./MetricEventTypes.js";
6
- export * from "./MetricStartTimestamp.js";
7
- export * from "./MetricTimestamp.js";
6
+ export * from "./MetricLimit.js";
7
+ export * from "./Period.js";
8
+ export * from "./QueryMetricsResponse.js";
9
+ export * from "./Start.js";
@@ -14,10 +14,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./ListMetricsResponse.js"), exports);
18
- __exportStar(require("./MessageMetrics.js"), exports);
19
- __exportStar(require("./MetricEndTimestamp.js"), exports);
17
+ __exportStar(require("./Descending.js"), exports);
18
+ __exportStar(require("./End.js"), exports);
19
+ __exportStar(require("./MetricBucket.js"), exports);
20
20
  __exportStar(require("./MetricEventType.js"), exports);
21
21
  __exportStar(require("./MetricEventTypes.js"), exports);
22
- __exportStar(require("./MetricStartTimestamp.js"), exports);
23
- __exportStar(require("./MetricTimestamp.js"), exports);
22
+ __exportStar(require("./MetricLimit.js"), exports);
23
+ __exportStar(require("./Period.js"), exports);
24
+ __exportStar(require("./QueryMetricsResponse.js"), exports);
25
+ __exportStar(require("./Start.js"), exports);
@@ -7,6 +7,7 @@ import { DomainsClient } from "../resources/domains/client/Client.js";
7
7
  import { DraftsClient } from "../resources/drafts/client/Client.js";
8
8
  import { InboxesClient } from "../resources/inboxes/client/Client.js";
9
9
  import { ListsClient } from "../resources/lists/client/Client.js";
10
+ import { MetricsClient } from "../resources/metrics/client/Client.js";
10
11
  import { ThreadsClient } from "../resources/threads/client/Client.js";
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.
@@ -57,7 +57,8 @@ const Client_js_2 = require("../resources/domains/client/Client.js");
57
57
  const Client_js_3 = require("../resources/drafts/client/Client.js");
58
58
  const Client_js_4 = require("../resources/inboxes/client/Client.js");
59
59
  const Client_js_5 = require("../resources/lists/client/Client.js");
60
- const Client_js_6 = require("../resources/threads/client/Client.js");
60
+ const Client_js_6 = require("../resources/metrics/client/Client.js");
61
+ const Client_js_7 = require("../resources/threads/client/Client.js");
61
62
  class PodsClient {
62
63
  constructor(options = {}) {
63
64
  this._options = (0, BaseClient_js_1.normalizeClientOptionsWithAuth)(options);
@@ -68,7 +69,7 @@ class PodsClient {
68
69
  }
69
70
  get threads() {
70
71
  var _a;
71
- return ((_a = this._threads) !== null && _a !== void 0 ? _a : (this._threads = new Client_js_6.ThreadsClient(this._options)));
72
+ return ((_a = this._threads) !== null && _a !== void 0 ? _a : (this._threads = new Client_js_7.ThreadsClient(this._options)));
72
73
  }
73
74
  get drafts() {
74
75
  var _a;
@@ -86,6 +87,10 @@ class PodsClient {
86
87
  var _a;
87
88
  return ((_a = this._apiKeys) !== null && _a !== void 0 ? _a : (this._apiKeys = new Client_js_1.ApiKeysClient(this._options)));
88
89
  }
90
+ get metrics() {
91
+ var _a;
92
+ return ((_a = this._metrics) !== null && _a !== void 0 ? _a : (this._metrics = new Client_js_6.MetricsClient(this._options)));
93
+ }
89
94
  /**
90
95
  * @param {AgentMail.pods.ListPodsRequest} request
91
96
  * @param {PodsClient.RequestOptions} requestOptions - Request-specific configuration.
@@ -8,5 +8,7 @@ export * from "./inboxes/client/requests/index.js";
8
8
  export * as inboxes from "./inboxes/index.js";
9
9
  export * from "./lists/client/requests/index.js";
10
10
  export * as lists from "./lists/index.js";
11
+ export * from "./metrics/client/requests/index.js";
12
+ export * as metrics from "./metrics/index.js";
11
13
  export * from "./threads/client/requests/index.js";
12
14
  export * as threads from "./threads/index.js";
@@ -36,7 +36,7 @@ var __importStar = (this && this.__importStar) || (function () {
36
36
  };
37
37
  })();
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.threads = exports.lists = exports.inboxes = exports.drafts = exports.domains = exports.apiKeys = void 0;
39
+ exports.threads = exports.metrics = exports.lists = exports.inboxes = exports.drafts = exports.domains = exports.apiKeys = void 0;
40
40
  __exportStar(require("./apiKeys/client/requests/index.js"), exports);
41
41
  exports.apiKeys = __importStar(require("./apiKeys/index.js"));
42
42
  __exportStar(require("./domains/client/requests/index.js"), exports);
@@ -47,5 +47,7 @@ __exportStar(require("./inboxes/client/requests/index.js"), exports);
47
47
  exports.inboxes = __importStar(require("./inboxes/index.js"));
48
48
  __exportStar(require("./lists/client/requests/index.js"), exports);
49
49
  exports.lists = __importStar(require("./lists/index.js"));
50
+ __exportStar(require("./metrics/client/requests/index.js"), exports);
51
+ exports.metrics = __importStar(require("./metrics/index.js"));
50
52
  __exportStar(require("./threads/client/requests/index.js"), exports);
51
53
  exports.threads = __importStar(require("./threads/index.js"));
@@ -0,0 +1,25 @@
1
+ import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js";
2
+ import { type NormalizedClientOptionsWithAuth } from "../../../../../../BaseClient.js";
3
+ import * as core from "../../../../../../core/index.js";
4
+ import * as AgentMail from "../../../../../index.js";
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
+ }