agentmail 0.5.10 → 0.5.12

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 (142) hide show
  1. package/dist/cjs/BaseClient.js +2 -2
  2. package/dist/cjs/api/resources/inboxes/resources/messages/client/Client.d.ts +26 -0
  3. package/dist/cjs/api/resources/inboxes/resources/messages/client/Client.js +83 -0
  4. package/dist/cjs/api/resources/inboxes/resources/metrics/client/Client.d.ts +30 -4
  5. package/dist/cjs/api/resources/inboxes/resources/metrics/client/Client.js +102 -7
  6. package/dist/cjs/api/resources/inboxes/resources/metrics/client/requests/{QueryMetricsRequest.d.ts → QueryEventsRequest.d.ts} +1 -1
  7. package/dist/cjs/api/resources/inboxes/resources/metrics/client/requests/QueryUsageRequest.d.ts +13 -0
  8. package/dist/cjs/api/resources/inboxes/resources/metrics/client/requests/index.d.ts +2 -1
  9. package/dist/cjs/api/resources/messages/types/BatchUpdateMessagesMessageIds.d.ts +8 -0
  10. package/dist/cjs/api/resources/messages/types/BatchUpdateMessagesRequest.d.ts +8 -0
  11. package/dist/cjs/api/resources/messages/types/BatchUpdateMessagesRequest.js +3 -0
  12. package/dist/cjs/api/resources/messages/types/BatchUpdateMessagesResponse.d.ts +11 -0
  13. package/dist/cjs/api/resources/messages/types/BatchUpdateMessagesResponse.js +3 -0
  14. package/dist/cjs/api/resources/messages/types/index.d.ts +3 -0
  15. package/dist/cjs/api/resources/messages/types/index.js +3 -0
  16. package/dist/cjs/api/resources/metrics/client/Client.d.ts +27 -4
  17. package/dist/cjs/api/resources/metrics/client/Client.js +99 -7
  18. package/dist/cjs/api/resources/metrics/client/requests/{QueryMetricsRequest.d.ts → QueryEventsRequest.d.ts} +1 -1
  19. package/dist/cjs/api/resources/metrics/client/requests/QueryEventsRequest.js +3 -0
  20. package/dist/cjs/api/resources/metrics/client/requests/QueryUsageRequest.d.ts +13 -0
  21. package/dist/cjs/api/resources/metrics/client/requests/QueryUsageRequest.js +3 -0
  22. package/dist/cjs/api/resources/metrics/client/requests/index.d.ts +2 -1
  23. package/dist/cjs/api/resources/metrics/types/MetricEventType.d.ts +6 -3
  24. package/dist/cjs/api/resources/metrics/types/MetricEventType.js +6 -3
  25. package/dist/cjs/api/resources/metrics/types/Period.d.ts +2 -2
  26. package/dist/cjs/api/resources/metrics/types/QueryUsageResponse.d.ts +5 -0
  27. package/dist/cjs/api/resources/metrics/types/QueryUsageResponse.js +3 -0
  28. package/dist/cjs/api/resources/metrics/types/UsagePoint.d.ts +6 -0
  29. package/dist/cjs/api/resources/metrics/types/UsagePoint.js +3 -0
  30. package/dist/cjs/api/resources/metrics/types/UsageType.d.ts +14 -0
  31. package/dist/cjs/api/resources/metrics/types/UsageType.js +17 -0
  32. package/dist/cjs/api/resources/metrics/types/UsageTypes.d.ts +5 -0
  33. package/dist/cjs/api/resources/metrics/types/UsageTypes.js +3 -0
  34. package/dist/cjs/api/resources/metrics/types/index.d.ts +4 -0
  35. package/dist/cjs/api/resources/metrics/types/index.js +4 -0
  36. package/dist/cjs/api/resources/pods/resources/metrics/client/Client.d.ts +30 -4
  37. package/dist/cjs/api/resources/pods/resources/metrics/client/Client.js +102 -7
  38. package/dist/cjs/api/resources/pods/resources/metrics/client/requests/{QueryMetricsRequest.d.ts → QueryEventsRequest.d.ts} +1 -1
  39. package/dist/cjs/api/resources/pods/resources/metrics/client/requests/QueryEventsRequest.js +3 -0
  40. package/dist/cjs/api/resources/pods/resources/metrics/client/requests/QueryUsageRequest.d.ts +13 -0
  41. package/dist/cjs/api/resources/pods/resources/metrics/client/requests/QueryUsageRequest.js +3 -0
  42. package/dist/cjs/api/resources/pods/resources/metrics/client/requests/index.d.ts +2 -1
  43. package/dist/cjs/serialization/resources/messages/types/BatchUpdateMessagesMessageIds.d.ts +8 -0
  44. package/dist/cjs/serialization/resources/messages/types/BatchUpdateMessagesMessageIds.js +40 -0
  45. package/dist/cjs/serialization/resources/messages/types/BatchUpdateMessagesRequest.d.ts +13 -0
  46. package/dist/cjs/serialization/resources/messages/types/BatchUpdateMessagesRequest.js +45 -0
  47. package/dist/cjs/serialization/resources/messages/types/BatchUpdateMessagesResponse.d.ts +14 -0
  48. package/dist/cjs/serialization/resources/messages/types/BatchUpdateMessagesResponse.js +46 -0
  49. package/dist/cjs/serialization/resources/messages/types/index.d.ts +3 -0
  50. package/dist/cjs/serialization/resources/messages/types/index.js +3 -0
  51. package/dist/cjs/serialization/resources/metrics/types/MetricEventType.d.ts +1 -1
  52. package/dist/cjs/serialization/resources/metrics/types/MetricEventType.js +6 -3
  53. package/dist/cjs/serialization/resources/metrics/types/Period.d.ts +1 -1
  54. package/dist/cjs/serialization/resources/metrics/types/Period.js +1 -1
  55. package/dist/cjs/serialization/resources/metrics/types/QueryUsageResponse.d.ts +9 -0
  56. package/dist/cjs/serialization/resources/metrics/types/QueryUsageResponse.js +41 -0
  57. package/dist/cjs/serialization/resources/metrics/types/UsagePoint.d.ts +10 -0
  58. package/dist/cjs/serialization/resources/metrics/types/UsagePoint.js +42 -0
  59. package/dist/cjs/serialization/resources/metrics/types/UsageType.d.ts +7 -0
  60. package/dist/cjs/serialization/resources/metrics/types/UsageType.js +46 -0
  61. package/dist/cjs/serialization/resources/metrics/types/UsageTypes.d.ts +8 -0
  62. package/dist/cjs/serialization/resources/metrics/types/UsageTypes.js +40 -0
  63. package/dist/cjs/serialization/resources/metrics/types/index.d.ts +4 -0
  64. package/dist/cjs/serialization/resources/metrics/types/index.js +4 -0
  65. package/dist/cjs/version.d.ts +1 -1
  66. package/dist/cjs/version.js +1 -1
  67. package/dist/esm/BaseClient.mjs +2 -2
  68. package/dist/esm/api/resources/inboxes/resources/messages/client/Client.d.mts +26 -0
  69. package/dist/esm/api/resources/inboxes/resources/messages/client/Client.mjs +83 -0
  70. package/dist/esm/api/resources/inboxes/resources/metrics/client/Client.d.mts +30 -4
  71. package/dist/esm/api/resources/inboxes/resources/metrics/client/Client.mjs +102 -7
  72. package/dist/esm/api/resources/{pods/resources/metrics/client/requests/QueryMetricsRequest.d.mts → inboxes/resources/metrics/client/requests/QueryEventsRequest.d.mts} +1 -1
  73. package/dist/esm/api/resources/inboxes/resources/metrics/client/requests/QueryUsageRequest.d.mts +13 -0
  74. package/dist/esm/api/resources/inboxes/resources/metrics/client/requests/index.d.mts +2 -1
  75. package/dist/esm/api/resources/messages/types/BatchUpdateMessagesMessageIds.d.mts +8 -0
  76. package/dist/esm/api/resources/messages/types/BatchUpdateMessagesRequest.d.mts +8 -0
  77. package/dist/esm/api/resources/messages/types/BatchUpdateMessagesRequest.mjs +2 -0
  78. package/dist/esm/api/resources/messages/types/BatchUpdateMessagesResponse.d.mts +11 -0
  79. package/dist/esm/api/resources/messages/types/BatchUpdateMessagesResponse.mjs +2 -0
  80. package/dist/esm/api/resources/messages/types/index.d.mts +3 -0
  81. package/dist/esm/api/resources/messages/types/index.mjs +3 -0
  82. package/dist/esm/api/resources/metrics/client/Client.d.mts +27 -4
  83. package/dist/esm/api/resources/metrics/client/Client.mjs +99 -7
  84. package/dist/esm/api/resources/metrics/client/requests/{QueryMetricsRequest.d.mts → QueryEventsRequest.d.mts} +1 -1
  85. package/dist/esm/api/resources/metrics/client/requests/QueryEventsRequest.mjs +2 -0
  86. package/dist/esm/api/resources/metrics/client/requests/QueryUsageRequest.d.mts +13 -0
  87. package/dist/esm/api/resources/metrics/client/requests/QueryUsageRequest.mjs +2 -0
  88. package/dist/esm/api/resources/metrics/client/requests/index.d.mts +2 -1
  89. package/dist/esm/api/resources/metrics/types/MetricEventType.d.mts +6 -3
  90. package/dist/esm/api/resources/metrics/types/MetricEventType.mjs +6 -3
  91. package/dist/esm/api/resources/metrics/types/Period.d.mts +2 -2
  92. package/dist/esm/api/resources/metrics/types/QueryUsageResponse.d.mts +5 -0
  93. package/dist/esm/api/resources/metrics/types/QueryUsageResponse.mjs +2 -0
  94. package/dist/esm/api/resources/metrics/types/UsagePoint.d.mts +6 -0
  95. package/dist/esm/api/resources/metrics/types/UsagePoint.mjs +2 -0
  96. package/dist/esm/api/resources/metrics/types/UsageType.d.mts +14 -0
  97. package/dist/esm/api/resources/metrics/types/UsageType.mjs +14 -0
  98. package/dist/esm/api/resources/metrics/types/UsageTypes.d.mts +5 -0
  99. package/dist/esm/api/resources/metrics/types/UsageTypes.mjs +2 -0
  100. package/dist/esm/api/resources/metrics/types/index.d.mts +4 -0
  101. package/dist/esm/api/resources/metrics/types/index.mjs +4 -0
  102. package/dist/esm/api/resources/pods/resources/metrics/client/Client.d.mts +30 -4
  103. package/dist/esm/api/resources/pods/resources/metrics/client/Client.mjs +102 -7
  104. package/dist/esm/api/resources/{inboxes/resources/metrics/client/requests/QueryMetricsRequest.d.mts → pods/resources/metrics/client/requests/QueryEventsRequest.d.mts} +1 -1
  105. package/dist/esm/api/resources/pods/resources/metrics/client/requests/QueryEventsRequest.mjs +2 -0
  106. package/dist/esm/api/resources/pods/resources/metrics/client/requests/QueryUsageRequest.d.mts +13 -0
  107. package/dist/esm/api/resources/pods/resources/metrics/client/requests/QueryUsageRequest.mjs +2 -0
  108. package/dist/esm/api/resources/pods/resources/metrics/client/requests/index.d.mts +2 -1
  109. package/dist/esm/serialization/resources/messages/types/BatchUpdateMessagesMessageIds.d.mts +8 -0
  110. package/dist/esm/serialization/resources/messages/types/BatchUpdateMessagesMessageIds.mjs +4 -0
  111. package/dist/esm/serialization/resources/messages/types/BatchUpdateMessagesRequest.d.mts +13 -0
  112. package/dist/esm/serialization/resources/messages/types/BatchUpdateMessagesRequest.mjs +9 -0
  113. package/dist/esm/serialization/resources/messages/types/BatchUpdateMessagesResponse.d.mts +14 -0
  114. package/dist/esm/serialization/resources/messages/types/BatchUpdateMessagesResponse.mjs +10 -0
  115. package/dist/esm/serialization/resources/messages/types/index.d.mts +3 -0
  116. package/dist/esm/serialization/resources/messages/types/index.mjs +3 -0
  117. package/dist/esm/serialization/resources/metrics/types/MetricEventType.d.mts +1 -1
  118. package/dist/esm/serialization/resources/metrics/types/MetricEventType.mjs +6 -3
  119. package/dist/esm/serialization/resources/metrics/types/Period.d.mts +1 -1
  120. package/dist/esm/serialization/resources/metrics/types/Period.mjs +1 -1
  121. package/dist/esm/serialization/resources/metrics/types/QueryUsageResponse.d.mts +9 -0
  122. package/dist/esm/serialization/resources/metrics/types/QueryUsageResponse.mjs +5 -0
  123. package/dist/esm/serialization/resources/metrics/types/UsagePoint.d.mts +10 -0
  124. package/dist/esm/serialization/resources/metrics/types/UsagePoint.mjs +6 -0
  125. package/dist/esm/serialization/resources/metrics/types/UsageType.d.mts +7 -0
  126. package/dist/esm/serialization/resources/metrics/types/UsageType.mjs +10 -0
  127. package/dist/esm/serialization/resources/metrics/types/UsageTypes.d.mts +8 -0
  128. package/dist/esm/serialization/resources/metrics/types/UsageTypes.mjs +4 -0
  129. package/dist/esm/serialization/resources/metrics/types/index.d.mts +4 -0
  130. package/dist/esm/serialization/resources/metrics/types/index.mjs +4 -0
  131. package/dist/esm/version.d.mts +1 -1
  132. package/dist/esm/version.mjs +1 -1
  133. package/dist/llms-full.txt +1 -57014
  134. package/dist/llms.txt +0 -1
  135. package/package.json +1 -1
  136. package/reference.md +331 -9
  137. /package/dist/cjs/api/resources/inboxes/resources/metrics/client/requests/{QueryMetricsRequest.js → QueryEventsRequest.js} +0 -0
  138. /package/dist/cjs/api/resources/{metrics/client/requests/QueryMetricsRequest.js → inboxes/resources/metrics/client/requests/QueryUsageRequest.js} +0 -0
  139. /package/dist/cjs/api/resources/{pods/resources/metrics/client/requests/QueryMetricsRequest.js → messages/types/BatchUpdateMessagesMessageIds.js} +0 -0
  140. /package/dist/esm/api/resources/inboxes/resources/metrics/client/requests/{QueryMetricsRequest.mjs → QueryEventsRequest.mjs} +0 -0
  141. /package/dist/esm/api/resources/{metrics/client/requests/QueryMetricsRequest.mjs → inboxes/resources/metrics/client/requests/QueryUsageRequest.mjs} +0 -0
  142. /package/dist/esm/api/resources/{pods/resources/metrics/client/requests/QueryMetricsRequest.mjs → messages/types/BatchUpdateMessagesMessageIds.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.5.10",
47
- "User-Agent": "agentmail/0.5.10",
46
+ "X-Fern-SDK-Version": "0.5.12",
47
+ "User-Agent": "agentmail/0.5.12",
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);
@@ -93,6 +93,32 @@ export declare class MessagesClient {
93
93
  */
94
94
  batchGet(inbox_id: AgentMail.inboxes.InboxId, request: AgentMail.BatchGetMessagesRequest, requestOptions?: MessagesClient.RequestOptions): core.HttpResponsePromise<AgentMail.BatchGetMessagesResponse>;
95
95
  private __batchGet;
96
+ /**
97
+ * Apply one label change to up to 50 messages in a single request. The
98
+ * same add_labels and remove_labels apply to every message id, and at
99
+ * least one of them must be provided. The update is atomic: either all
100
+ * resolved messages are updated or none are. Missing or restricted ids
101
+ * are silently excluded; compare `count` against `limit` to detect
102
+ * exclusions.
103
+ *
104
+ * **CLI:**
105
+ * ```bash
106
+ * agentmail inboxes:messages batch-update --inbox-id <inbox_id> --message-id <id1> --message-id <id2> --add-label read --remove-label unread
107
+ * ```
108
+ *
109
+ * @param {AgentMail.inboxes.InboxId} inbox_id
110
+ * @param {AgentMail.BatchUpdateMessagesRequest} request
111
+ * @param {MessagesClient.RequestOptions} requestOptions - Request-specific configuration.
112
+ *
113
+ * @throws {@link AgentMail.ValidationError}
114
+ *
115
+ * @example
116
+ * await client.inboxes.messages.batchUpdate("inbox_id", {
117
+ * messageIds: ["message_ids", "message_ids"]
118
+ * })
119
+ */
120
+ batchUpdate(inbox_id: AgentMail.inboxes.InboxId, request: AgentMail.BatchUpdateMessagesRequest, requestOptions?: MessagesClient.RequestOptions): core.HttpResponsePromise<AgentMail.BatchUpdateMessagesResponse>;
121
+ private __batchUpdate;
96
122
  /**
97
123
  * **CLI:**
98
124
  * ```bash
@@ -395,6 +395,89 @@ class MessagesClient {
395
395
  return (0, handleNonStatusCodeError_js_1.handleNonStatusCodeError)(_response.error, _response.rawResponse, "POST", "/v0/inboxes/{inbox_id}/messages/batch-get");
396
396
  });
397
397
  }
398
+ /**
399
+ * Apply one label change to up to 50 messages in a single request. The
400
+ * same add_labels and remove_labels apply to every message id, and at
401
+ * least one of them must be provided. The update is atomic: either all
402
+ * resolved messages are updated or none are. Missing or restricted ids
403
+ * are silently excluded; compare `count` against `limit` to detect
404
+ * exclusions.
405
+ *
406
+ * **CLI:**
407
+ * ```bash
408
+ * agentmail inboxes:messages batch-update --inbox-id <inbox_id> --message-id <id1> --message-id <id2> --add-label read --remove-label unread
409
+ * ```
410
+ *
411
+ * @param {AgentMail.inboxes.InboxId} inbox_id
412
+ * @param {AgentMail.BatchUpdateMessagesRequest} request
413
+ * @param {MessagesClient.RequestOptions} requestOptions - Request-specific configuration.
414
+ *
415
+ * @throws {@link AgentMail.ValidationError}
416
+ *
417
+ * @example
418
+ * await client.inboxes.messages.batchUpdate("inbox_id", {
419
+ * messageIds: ["message_ids", "message_ids"]
420
+ * })
421
+ */
422
+ batchUpdate(inbox_id, request, requestOptions) {
423
+ return core.HttpResponsePromise.fromPromise(this.__batchUpdate(inbox_id, request, requestOptions));
424
+ }
425
+ __batchUpdate(inbox_id, request, requestOptions) {
426
+ return __awaiter(this, void 0, void 0, function* () {
427
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
428
+ const _authRequest = yield this._options.authProvider.getAuthRequest();
429
+ 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);
430
+ const _response = yield core.fetcher({
431
+ 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)
432
+ .http, `/v0/inboxes/${core.url.encodePathParam(serializers.inboxes.InboxId.jsonOrThrow(inbox_id, { omitUndefined: true }))}/messages/batch-update`),
433
+ method: "POST",
434
+ headers: _headers,
435
+ contentType: "application/json",
436
+ queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
437
+ requestType: "json",
438
+ body: serializers.BatchUpdateMessagesRequest.jsonOrThrow(request, {
439
+ unrecognizedObjectKeys: "strip",
440
+ omitUndefined: true,
441
+ }),
442
+ 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,
443
+ 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,
444
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
445
+ fetchFn: (_j = this._options) === null || _j === void 0 ? void 0 : _j.fetch,
446
+ logging: this._options.logging,
447
+ });
448
+ if (_response.ok) {
449
+ return {
450
+ data: serializers.BatchUpdateMessagesResponse.parseOrThrow(_response.body, {
451
+ unrecognizedObjectKeys: "passthrough",
452
+ allowUnrecognizedUnionMembers: true,
453
+ allowUnrecognizedEnumValues: true,
454
+ skipValidation: true,
455
+ breadcrumbsPrefix: ["response"],
456
+ }),
457
+ rawResponse: _response.rawResponse,
458
+ };
459
+ }
460
+ if (_response.error.reason === "status-code") {
461
+ switch (_response.error.statusCode) {
462
+ case 400:
463
+ throw new AgentMail.ValidationError(serializers.ValidationErrorResponse.parseOrThrow(_response.error.body, {
464
+ unrecognizedObjectKeys: "passthrough",
465
+ allowUnrecognizedUnionMembers: true,
466
+ allowUnrecognizedEnumValues: true,
467
+ skipValidation: true,
468
+ breadcrumbsPrefix: ["response"],
469
+ }), _response.rawResponse);
470
+ default:
471
+ throw new errors.AgentMailError({
472
+ statusCode: _response.error.statusCode,
473
+ body: _response.error.body,
474
+ rawResponse: _response.rawResponse,
475
+ });
476
+ }
477
+ }
478
+ return (0, handleNonStatusCodeError_js_1.handleNonStatusCodeError)(_response.error, _response.rawResponse, "POST", "/v0/inboxes/{inbox_id}/messages/batch-update");
479
+ });
480
+ }
398
481
  /**
399
482
  * **CLI:**
400
483
  * ```bash
@@ -11,20 +11,46 @@ export declare class MetricsClient {
11
11
  protected readonly _options: NormalizedClientOptionsWithAuth<MetricsClient.Options>;
12
12
  constructor(options?: MetricsClient.Options);
13
13
  /**
14
+ * Counts of email events (sent, delivered, bounced, etc.) over time for
15
+ * the inbox. Defaults to the last 24 hours; `start` must be within the
16
+ * last 90 days, and a future `end` is clamped to now. Omit `period` for
17
+ * individual event counts, or set it to sum counts into buckets of that
18
+ * many seconds.
19
+ *
14
20
  * **CLI:**
15
21
  * ```bash
16
22
  * agentmail inboxes:metrics query --inbox-id <inbox_id>
17
23
  * ```
18
24
  *
19
25
  * @param {AgentMail.inboxes.InboxId} inbox_id
20
- * @param {AgentMail.inboxes.QueryMetricsRequest} request
26
+ * @param {AgentMail.inboxes.QueryEventsRequest} request
27
+ * @param {MetricsClient.RequestOptions} requestOptions - Request-specific configuration.
28
+ *
29
+ * @throws {@link AgentMail.ValidationError}
30
+ *
31
+ * @example
32
+ * await client.inboxes.metrics.queryEvents("inbox_id")
33
+ */
34
+ queryEvents(inbox_id: AgentMail.inboxes.InboxId, request?: AgentMail.inboxes.QueryEventsRequest, requestOptions?: MetricsClient.RequestOptions): core.HttpResponsePromise<AgentMail.QueryMetricsResponse>;
35
+ private __queryEvents;
36
+ /**
37
+ * Cumulative usage series for the inbox. Each point is the running total
38
+ * of the usage type at that timestamp, not the change within the bucket.
39
+ * Inbox-scoped queries carry `storage_bytes`, `message_count`, and
40
+ * `thread_count`; requested types that don't apply to the scope are
41
+ * ignored. Defaults to the last 24 hours; `start` must be within the
42
+ * last 90 days, and a future `end` is clamped to now. The range divided
43
+ * by `period` must not exceed 1000 buckets.
44
+ *
45
+ * @param {AgentMail.inboxes.InboxId} inbox_id
46
+ * @param {AgentMail.inboxes.QueryUsageRequest} request
21
47
  * @param {MetricsClient.RequestOptions} requestOptions - Request-specific configuration.
22
48
  *
23
49
  * @throws {@link AgentMail.ValidationError}
24
50
  *
25
51
  * @example
26
- * await client.inboxes.metrics.query("inbox_id")
52
+ * await client.inboxes.metrics.queryUsage("inbox_id")
27
53
  */
28
- query(inbox_id: AgentMail.inboxes.InboxId, request?: AgentMail.inboxes.QueryMetricsRequest, requestOptions?: MetricsClient.RequestOptions): core.HttpResponsePromise<AgentMail.QueryMetricsResponse>;
29
- private __query;
54
+ queryUsage(inbox_id: AgentMail.inboxes.InboxId, request?: AgentMail.inboxes.QueryUsageRequest, requestOptions?: MetricsClient.RequestOptions): core.HttpResponsePromise<AgentMail.QueryUsageResponse>;
55
+ private __queryUsage;
30
56
  }
@@ -58,24 +58,30 @@ class MetricsClient {
58
58
  this._options = (0, BaseClient_js_1.normalizeClientOptionsWithAuth)(options);
59
59
  }
60
60
  /**
61
+ * Counts of email events (sent, delivered, bounced, etc.) over time for
62
+ * the inbox. Defaults to the last 24 hours; `start` must be within the
63
+ * last 90 days, and a future `end` is clamped to now. Omit `period` for
64
+ * individual event counts, or set it to sum counts into buckets of that
65
+ * many seconds.
66
+ *
61
67
  * **CLI:**
62
68
  * ```bash
63
69
  * agentmail inboxes:metrics query --inbox-id <inbox_id>
64
70
  * ```
65
71
  *
66
72
  * @param {AgentMail.inboxes.InboxId} inbox_id
67
- * @param {AgentMail.inboxes.QueryMetricsRequest} request
73
+ * @param {AgentMail.inboxes.QueryEventsRequest} request
68
74
  * @param {MetricsClient.RequestOptions} requestOptions - Request-specific configuration.
69
75
  *
70
76
  * @throws {@link AgentMail.ValidationError}
71
77
  *
72
78
  * @example
73
- * await client.inboxes.metrics.query("inbox_id")
79
+ * await client.inboxes.metrics.queryEvents("inbox_id")
74
80
  */
75
- query(inbox_id, request = {}, requestOptions) {
76
- return core.HttpResponsePromise.fromPromise(this.__query(inbox_id, request, requestOptions));
81
+ queryEvents(inbox_id, request = {}, requestOptions) {
82
+ return core.HttpResponsePromise.fromPromise(this.__queryEvents(inbox_id, request, requestOptions));
77
83
  }
78
- __query(inbox_id_1) {
84
+ __queryEvents(inbox_id_1) {
79
85
  return __awaiter(this, arguments, void 0, function* (inbox_id, request = {}, requestOptions) {
80
86
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
81
87
  const { eventTypes, start, end, period, limit, descending } = request;
@@ -100,7 +106,7 @@ class MetricsClient {
100
106
  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);
101
107
  const _response = yield core.fetcher({
102
108
  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)
103
- .http, `/v0/inboxes/${core.url.encodePathParam(serializers.inboxes.InboxId.jsonOrThrow(inbox_id, { omitUndefined: true }))}/metrics`),
109
+ .http, `/v0/inboxes/${core.url.encodePathParam(serializers.inboxes.InboxId.jsonOrThrow(inbox_id, { omitUndefined: true }))}/metrics/events`),
104
110
  method: "GET",
105
111
  headers: _headers,
106
112
  queryParameters: Object.assign(Object.assign({}, _queryParams), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams),
@@ -140,7 +146,96 @@ class MetricsClient {
140
146
  });
141
147
  }
142
148
  }
143
- return (0, handleNonStatusCodeError_js_1.handleNonStatusCodeError)(_response.error, _response.rawResponse, "GET", "/v0/inboxes/{inbox_id}/metrics");
149
+ return (0, handleNonStatusCodeError_js_1.handleNonStatusCodeError)(_response.error, _response.rawResponse, "GET", "/v0/inboxes/{inbox_id}/metrics/events");
150
+ });
151
+ }
152
+ /**
153
+ * Cumulative usage series for the inbox. Each point is the running total
154
+ * of the usage type at that timestamp, not the change within the bucket.
155
+ * Inbox-scoped queries carry `storage_bytes`, `message_count`, and
156
+ * `thread_count`; requested types that don't apply to the scope are
157
+ * ignored. Defaults to the last 24 hours; `start` must be within the
158
+ * last 90 days, and a future `end` is clamped to now. The range divided
159
+ * by `period` must not exceed 1000 buckets.
160
+ *
161
+ * @param {AgentMail.inboxes.InboxId} inbox_id
162
+ * @param {AgentMail.inboxes.QueryUsageRequest} request
163
+ * @param {MetricsClient.RequestOptions} requestOptions - Request-specific configuration.
164
+ *
165
+ * @throws {@link AgentMail.ValidationError}
166
+ *
167
+ * @example
168
+ * await client.inboxes.metrics.queryUsage("inbox_id")
169
+ */
170
+ queryUsage(inbox_id, request = {}, requestOptions) {
171
+ return core.HttpResponsePromise.fromPromise(this.__queryUsage(inbox_id, request, requestOptions));
172
+ }
173
+ __queryUsage(inbox_id_1) {
174
+ return __awaiter(this, arguments, void 0, function* (inbox_id, request = {}, requestOptions) {
175
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
176
+ const { usageTypes, start, end, period, limit, descending } = request;
177
+ const _queryParams = {
178
+ usage_types: usageTypes != null
179
+ ? (0, json_js_1.toJson)(serializers.UsageTypes.jsonOrThrow(usageTypes, {
180
+ unrecognizedObjectKeys: "strip",
181
+ omitUndefined: true,
182
+ }))
183
+ : undefined,
184
+ start: start != null
185
+ ? serializers.Start.jsonOrThrow(start, { unrecognizedObjectKeys: "strip", omitUndefined: true })
186
+ : undefined,
187
+ end: end != null
188
+ ? serializers.End.jsonOrThrow(end, { unrecognizedObjectKeys: "strip", omitUndefined: true })
189
+ : undefined,
190
+ period,
191
+ limit,
192
+ descending,
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 }))}/metrics/usage`),
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.QueryUsageResponse.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
+ default:
231
+ throw new errors.AgentMailError({
232
+ statusCode: _response.error.statusCode,
233
+ body: _response.error.body,
234
+ rawResponse: _response.rawResponse,
235
+ });
236
+ }
237
+ }
238
+ return (0, handleNonStatusCodeError_js_1.handleNonStatusCodeError)(_response.error, _response.rawResponse, "GET", "/v0/inboxes/{inbox_id}/metrics/usage");
144
239
  });
145
240
  }
146
241
  }
@@ -3,7 +3,7 @@ import type * as AgentMail from "../../../../../../index.js";
3
3
  * @example
4
4
  * {}
5
5
  */
6
- export interface QueryMetricsRequest {
6
+ export interface QueryEventsRequest {
7
7
  eventTypes?: AgentMail.MetricEventTypes;
8
8
  start?: AgentMail.Start;
9
9
  end?: AgentMail.End;
@@ -0,0 +1,13 @@
1
+ import type * as AgentMail from "../../../../../../index.js";
2
+ /**
3
+ * @example
4
+ * {}
5
+ */
6
+ export interface QueryUsageRequest {
7
+ usageTypes?: AgentMail.UsageTypes;
8
+ start?: AgentMail.Start;
9
+ end?: AgentMail.End;
10
+ period?: AgentMail.Period;
11
+ limit?: AgentMail.MetricLimit;
12
+ descending?: AgentMail.Descending;
13
+ }
@@ -1 +1,2 @@
1
- export type { QueryMetricsRequest } from "./QueryMetricsRequest.js";
1
+ export type { QueryEventsRequest } from "./QueryEventsRequest.js";
2
+ export type { QueryUsageRequest } from "./QueryUsageRequest.js";
@@ -0,0 +1,8 @@
1
+ import type * as AgentMail from "../../../index.js";
2
+ /**
3
+ * IDs of messages to update. Maximum 50 ids per request. Duplicates are
4
+ * rejected with a validation error. IDs not found in the inbox (including
5
+ * cross-inbox or permission-restricted) are silently excluded from the
6
+ * update; callers detect exclusions by comparing `count` against `limit`.
7
+ */
8
+ export type BatchUpdateMessagesMessageIds = AgentMail.MessageId[];
@@ -0,0 +1,8 @@
1
+ import type * as AgentMail from "../../../index.js";
2
+ export interface BatchUpdateMessagesRequest {
3
+ messageIds: AgentMail.BatchUpdateMessagesMessageIds;
4
+ /** Label or labels to add to every message. */
5
+ addLabels?: AgentMail.UpdateMessageLabels;
6
+ /** Label or labels to remove from every message. */
7
+ removeLabels?: AgentMail.UpdateMessageLabels;
8
+ }
@@ -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,11 @@
1
+ import type * as AgentMail from "../../../index.js";
2
+ export interface BatchUpdateMessagesResponse {
3
+ limit: AgentMail.Limit;
4
+ count: AgentMail.Count;
5
+ /**
6
+ * Updated messages with their new labels. Order matches `message_ids`
7
+ * in the request. Excluded ids are omitted, so `count` may be less than
8
+ * `limit`.
9
+ */
10
+ updates: AgentMail.UpdateMessageResponse[];
11
+ }
@@ -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 });
@@ -2,6 +2,9 @@ export * from "./Addresses.js";
2
2
  export * from "./BatchGetMessagesMessageIds.js";
3
3
  export * from "./BatchGetMessagesRequest.js";
4
4
  export * from "./BatchGetMessagesResponse.js";
5
+ export * from "./BatchUpdateMessagesMessageIds.js";
6
+ export * from "./BatchUpdateMessagesRequest.js";
7
+ export * from "./BatchUpdateMessagesResponse.js";
5
8
  export * from "./ListMessagesResponse.js";
6
9
  export * from "./Message.js";
7
10
  export * from "./MessageAttachments.js";
@@ -18,6 +18,9 @@ __exportStar(require("./Addresses.js"), exports);
18
18
  __exportStar(require("./BatchGetMessagesMessageIds.js"), exports);
19
19
  __exportStar(require("./BatchGetMessagesRequest.js"), exports);
20
20
  __exportStar(require("./BatchGetMessagesResponse.js"), exports);
21
+ __exportStar(require("./BatchUpdateMessagesMessageIds.js"), exports);
22
+ __exportStar(require("./BatchUpdateMessagesRequest.js"), exports);
23
+ __exportStar(require("./BatchUpdateMessagesResponse.js"), exports);
21
24
  __exportStar(require("./ListMessagesResponse.js"), exports);
22
25
  __exportStar(require("./Message.js"), exports);
23
26
  __exportStar(require("./MessageAttachments.js"), exports);
@@ -11,19 +11,42 @@ export declare class MetricsClient {
11
11
  protected readonly _options: NormalizedClientOptionsWithAuth<MetricsClient.Options>;
12
12
  constructor(options?: MetricsClient.Options);
13
13
  /**
14
+ * Counts of email events (sent, delivered, bounced, etc.) over time for
15
+ * the organization. Defaults to the last 24 hours; `start` must be within
16
+ * the last 90 days, and a future `end` is clamped to now. Omit `period`
17
+ * for individual event counts, or set it to sum counts into buckets of
18
+ * that many seconds.
19
+ *
14
20
  * **CLI:**
15
21
  * ```bash
16
22
  * agentmail metrics list
17
23
  * ```
18
24
  *
19
- * @param {AgentMail.QueryMetricsRequest} request
25
+ * @param {AgentMail.QueryEventsRequest} request
26
+ * @param {MetricsClient.RequestOptions} requestOptions - Request-specific configuration.
27
+ *
28
+ * @throws {@link AgentMail.ValidationError}
29
+ *
30
+ * @example
31
+ * await client.metrics.queryEvents()
32
+ */
33
+ queryEvents(request?: AgentMail.QueryEventsRequest, requestOptions?: MetricsClient.RequestOptions): core.HttpResponsePromise<AgentMail.QueryMetricsResponse>;
34
+ private __queryEvents;
35
+ /**
36
+ * Cumulative usage series for the organization. Each point is the running
37
+ * total of the usage type at that timestamp, not the change within the
38
+ * bucket. Defaults to the last 24 hours; `start` must be within the last
39
+ * 90 days, and a future `end` is clamped to now. The range divided by
40
+ * `period` must not exceed 1000 buckets.
41
+ *
42
+ * @param {AgentMail.QueryUsageRequest} request
20
43
  * @param {MetricsClient.RequestOptions} requestOptions - Request-specific configuration.
21
44
  *
22
45
  * @throws {@link AgentMail.ValidationError}
23
46
  *
24
47
  * @example
25
- * await client.metrics.query()
48
+ * await client.metrics.queryUsage()
26
49
  */
27
- query(request?: AgentMail.QueryMetricsRequest, requestOptions?: MetricsClient.RequestOptions): core.HttpResponsePromise<AgentMail.QueryMetricsResponse>;
28
- private __query;
50
+ queryUsage(request?: AgentMail.QueryUsageRequest, requestOptions?: MetricsClient.RequestOptions): core.HttpResponsePromise<AgentMail.QueryUsageResponse>;
51
+ private __queryUsage;
29
52
  }
@@ -58,23 +58,29 @@ class MetricsClient {
58
58
  this._options = (0, BaseClient_js_1.normalizeClientOptionsWithAuth)(options);
59
59
  }
60
60
  /**
61
+ * Counts of email events (sent, delivered, bounced, etc.) over time for
62
+ * the organization. Defaults to the last 24 hours; `start` must be within
63
+ * the last 90 days, and a future `end` is clamped to now. Omit `period`
64
+ * for individual event counts, or set it to sum counts into buckets of
65
+ * that many seconds.
66
+ *
61
67
  * **CLI:**
62
68
  * ```bash
63
69
  * agentmail metrics list
64
70
  * ```
65
71
  *
66
- * @param {AgentMail.QueryMetricsRequest} request
72
+ * @param {AgentMail.QueryEventsRequest} request
67
73
  * @param {MetricsClient.RequestOptions} requestOptions - Request-specific configuration.
68
74
  *
69
75
  * @throws {@link AgentMail.ValidationError}
70
76
  *
71
77
  * @example
72
- * await client.metrics.query()
78
+ * await client.metrics.queryEvents()
73
79
  */
74
- query(request = {}, requestOptions) {
75
- return core.HttpResponsePromise.fromPromise(this.__query(request, requestOptions));
80
+ queryEvents(request = {}, requestOptions) {
81
+ return core.HttpResponsePromise.fromPromise(this.__queryEvents(request, requestOptions));
76
82
  }
77
- __query() {
83
+ __queryEvents() {
78
84
  return __awaiter(this, arguments, void 0, function* (request = {}, requestOptions) {
79
85
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
80
86
  const { eventTypes, start, end, period, limit, descending } = request;
@@ -99,7 +105,7 @@ class MetricsClient {
99
105
  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);
100
106
  const _response = yield core.fetcher({
101
107
  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)
102
- .http, "/v0/metrics"),
108
+ .http, "/v0/metrics/events"),
103
109
  method: "GET",
104
110
  headers: _headers,
105
111
  queryParameters: Object.assign(Object.assign({}, _queryParams), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams),
@@ -139,7 +145,93 @@ class MetricsClient {
139
145
  });
140
146
  }
141
147
  }
142
- return (0, handleNonStatusCodeError_js_1.handleNonStatusCodeError)(_response.error, _response.rawResponse, "GET", "/v0/metrics");
148
+ return (0, handleNonStatusCodeError_js_1.handleNonStatusCodeError)(_response.error, _response.rawResponse, "GET", "/v0/metrics/events");
149
+ });
150
+ }
151
+ /**
152
+ * Cumulative usage series for the organization. Each point is the running
153
+ * total of the usage type at that timestamp, not the change within the
154
+ * bucket. Defaults to the last 24 hours; `start` must be within the last
155
+ * 90 days, and a future `end` is clamped to now. The range divided by
156
+ * `period` must not exceed 1000 buckets.
157
+ *
158
+ * @param {AgentMail.QueryUsageRequest} request
159
+ * @param {MetricsClient.RequestOptions} requestOptions - Request-specific configuration.
160
+ *
161
+ * @throws {@link AgentMail.ValidationError}
162
+ *
163
+ * @example
164
+ * await client.metrics.queryUsage()
165
+ */
166
+ queryUsage(request = {}, requestOptions) {
167
+ return core.HttpResponsePromise.fromPromise(this.__queryUsage(request, requestOptions));
168
+ }
169
+ __queryUsage() {
170
+ return __awaiter(this, arguments, void 0, function* (request = {}, requestOptions) {
171
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
172
+ const { usageTypes, start, end, period, limit, descending } = request;
173
+ const _queryParams = {
174
+ usage_types: usageTypes != null
175
+ ? (0, json_js_1.toJson)(serializers.UsageTypes.jsonOrThrow(usageTypes, {
176
+ unrecognizedObjectKeys: "strip",
177
+ omitUndefined: true,
178
+ }))
179
+ : undefined,
180
+ start: start != null
181
+ ? serializers.Start.jsonOrThrow(start, { unrecognizedObjectKeys: "strip", omitUndefined: true })
182
+ : undefined,
183
+ end: end != null
184
+ ? serializers.End.jsonOrThrow(end, { unrecognizedObjectKeys: "strip", omitUndefined: true })
185
+ : undefined,
186
+ period,
187
+ limit,
188
+ descending,
189
+ };
190
+ const _authRequest = yield this._options.authProvider.getAuthRequest();
191
+ 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);
192
+ const _response = yield core.fetcher({
193
+ 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)
194
+ .http, "/v0/metrics/usage"),
195
+ method: "GET",
196
+ headers: _headers,
197
+ queryParameters: Object.assign(Object.assign({}, _queryParams), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams),
198
+ 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,
199
+ 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,
200
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
201
+ fetchFn: (_j = this._options) === null || _j === void 0 ? void 0 : _j.fetch,
202
+ logging: this._options.logging,
203
+ });
204
+ if (_response.ok) {
205
+ return {
206
+ data: serializers.QueryUsageResponse.parseOrThrow(_response.body, {
207
+ unrecognizedObjectKeys: "passthrough",
208
+ allowUnrecognizedUnionMembers: true,
209
+ allowUnrecognizedEnumValues: true,
210
+ skipValidation: true,
211
+ breadcrumbsPrefix: ["response"],
212
+ }),
213
+ rawResponse: _response.rawResponse,
214
+ };
215
+ }
216
+ if (_response.error.reason === "status-code") {
217
+ switch (_response.error.statusCode) {
218
+ case 400:
219
+ throw new AgentMail.ValidationError(serializers.ValidationErrorResponse.parseOrThrow(_response.error.body, {
220
+ unrecognizedObjectKeys: "passthrough",
221
+ allowUnrecognizedUnionMembers: true,
222
+ allowUnrecognizedEnumValues: true,
223
+ skipValidation: true,
224
+ breadcrumbsPrefix: ["response"],
225
+ }), _response.rawResponse);
226
+ default:
227
+ throw new errors.AgentMailError({
228
+ statusCode: _response.error.statusCode,
229
+ body: _response.error.body,
230
+ rawResponse: _response.rawResponse,
231
+ });
232
+ }
233
+ }
234
+ return (0, handleNonStatusCodeError_js_1.handleNonStatusCodeError)(_response.error, _response.rawResponse, "GET", "/v0/metrics/usage");
143
235
  });
144
236
  }
145
237
  }
@@ -3,7 +3,7 @@ import type * as AgentMail from "../../../../index.js";
3
3
  * @example
4
4
  * {}
5
5
  */
6
- export interface QueryMetricsRequest {
6
+ export interface QueryEventsRequest {
7
7
  eventTypes?: AgentMail.MetricEventTypes;
8
8
  start?: AgentMail.Start;
9
9
  end?: AgentMail.End;
@@ -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,13 @@
1
+ import type * as AgentMail from "../../../../index.js";
2
+ /**
3
+ * @example
4
+ * {}
5
+ */
6
+ export interface QueryUsageRequest {
7
+ usageTypes?: AgentMail.UsageTypes;
8
+ start?: AgentMail.Start;
9
+ end?: AgentMail.End;
10
+ period?: AgentMail.Period;
11
+ limit?: AgentMail.MetricLimit;
12
+ descending?: AgentMail.Descending;
13
+ }
@@ -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 });