agentmail 0.4.2 → 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 (143) 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/metrics/client/Client.d.ts +5 -8
  7. package/dist/cjs/api/resources/metrics/client/Client.js +20 -22
  8. package/dist/cjs/api/resources/metrics/client/requests/QueryMetricsRequest.d.ts +13 -0
  9. package/dist/cjs/api/resources/metrics/client/requests/index.d.ts +1 -1
  10. package/dist/cjs/api/resources/metrics/types/Descending.d.ts +4 -0
  11. package/dist/cjs/api/resources/metrics/types/End.d.ts +4 -0
  12. package/dist/cjs/api/resources/metrics/types/MetricBucket.d.ts +6 -0
  13. package/dist/cjs/api/resources/metrics/types/MetricEventTypes.d.ts +1 -1
  14. package/dist/cjs/api/resources/metrics/types/MetricLimit.d.ts +4 -0
  15. package/dist/cjs/api/resources/metrics/types/Period.d.ts +4 -0
  16. package/dist/cjs/api/resources/metrics/types/QueryMetricsResponse.d.ts +5 -0
  17. package/dist/cjs/api/resources/metrics/types/QueryMetricsResponse.js +3 -0
  18. package/dist/cjs/api/resources/metrics/types/Start.d.ts +4 -0
  19. package/dist/cjs/api/resources/metrics/types/Start.js +3 -0
  20. package/dist/cjs/api/resources/metrics/types/index.d.ts +7 -5
  21. package/dist/cjs/api/resources/metrics/types/index.js +7 -5
  22. package/dist/cjs/api/resources/pods/client/Client.d.ts +3 -0
  23. package/dist/cjs/api/resources/pods/client/Client.js +7 -2
  24. package/dist/cjs/api/resources/pods/resources/index.d.ts +2 -0
  25. package/dist/cjs/api/resources/pods/resources/index.js +3 -1
  26. package/dist/cjs/api/resources/pods/resources/metrics/client/Client.d.ts +25 -0
  27. package/dist/cjs/api/resources/pods/resources/metrics/client/Client.js +142 -0
  28. package/dist/cjs/api/resources/pods/resources/metrics/client/index.d.ts +1 -0
  29. package/dist/cjs/api/resources/pods/resources/metrics/client/index.js +17 -0
  30. package/dist/cjs/api/resources/pods/resources/metrics/client/requests/QueryMetricsRequest.d.ts +13 -0
  31. package/dist/cjs/api/resources/pods/resources/metrics/client/requests/QueryMetricsRequest.js +3 -0
  32. package/dist/cjs/api/resources/pods/resources/metrics/client/requests/index.d.ts +1 -0
  33. package/dist/cjs/api/resources/pods/resources/metrics/client/requests/index.js +2 -0
  34. package/dist/cjs/api/resources/pods/resources/metrics/index.d.ts +1 -0
  35. package/dist/cjs/api/resources/pods/resources/metrics/index.js +17 -0
  36. package/dist/cjs/serialization/resources/metrics/types/Descending.d.ts +7 -0
  37. package/dist/cjs/serialization/resources/metrics/types/{MetricTimestamp.js → Descending.js} +2 -2
  38. package/dist/cjs/serialization/resources/metrics/types/{MetricTimestamp.d.ts → End.d.ts} +2 -2
  39. package/dist/cjs/serialization/resources/metrics/types/{MetricEndTimestamp.js → End.js} +2 -2
  40. package/dist/cjs/serialization/resources/metrics/types/MetricBucket.d.ts +10 -0
  41. package/dist/cjs/serialization/resources/metrics/types/{ListMetricsResponse.js → MetricBucket.js} +4 -4
  42. package/dist/cjs/serialization/resources/metrics/types/MetricLimit.d.ts +7 -0
  43. package/dist/cjs/serialization/resources/metrics/types/{MetricStartTimestamp.js → MetricLimit.js} +2 -2
  44. package/dist/cjs/serialization/resources/metrics/types/{MetricEndTimestamp.d.ts → Period.d.ts} +2 -2
  45. package/dist/cjs/serialization/resources/metrics/types/Period.js +39 -0
  46. package/dist/cjs/serialization/resources/metrics/types/QueryMetricsResponse.d.ts +9 -0
  47. package/dist/cjs/serialization/resources/metrics/types/QueryMetricsResponse.js +41 -0
  48. package/dist/cjs/serialization/resources/metrics/types/{MetricStartTimestamp.d.ts → Start.d.ts} +2 -2
  49. package/dist/cjs/serialization/resources/metrics/types/Start.js +39 -0
  50. package/dist/cjs/serialization/resources/metrics/types/index.d.ts +7 -5
  51. package/dist/cjs/serialization/resources/metrics/types/index.js +7 -5
  52. package/dist/cjs/version.d.ts +1 -1
  53. package/dist/cjs/version.js +1 -1
  54. package/dist/esm/BaseClient.mjs +2 -2
  55. package/dist/esm/api/resources/inboxes/resources/metrics/client/Client.d.mts +4 -8
  56. package/dist/esm/api/resources/inboxes/resources/metrics/client/Client.mjs +17 -28
  57. package/dist/esm/api/resources/inboxes/resources/metrics/client/requests/QueryMetricsRequest.d.mts +13 -0
  58. package/dist/esm/api/resources/inboxes/resources/metrics/client/requests/index.d.mts +1 -1
  59. package/dist/esm/api/resources/metrics/client/Client.d.mts +5 -8
  60. package/dist/esm/api/resources/metrics/client/Client.mjs +20 -22
  61. package/dist/esm/api/resources/metrics/client/requests/QueryMetricsRequest.d.mts +13 -0
  62. package/dist/esm/api/resources/metrics/client/requests/index.d.mts +1 -1
  63. package/dist/esm/api/resources/metrics/types/Descending.d.mts +4 -0
  64. package/dist/esm/api/resources/metrics/types/End.d.mts +4 -0
  65. package/dist/esm/api/resources/metrics/types/MetricBucket.d.mts +6 -0
  66. package/dist/esm/api/resources/metrics/types/MetricEventTypes.d.mts +1 -1
  67. package/dist/esm/api/resources/metrics/types/MetricLimit.d.mts +4 -0
  68. package/dist/esm/api/resources/metrics/types/Period.d.mts +4 -0
  69. package/dist/esm/api/resources/metrics/types/QueryMetricsResponse.d.mts +5 -0
  70. package/dist/esm/api/resources/metrics/types/QueryMetricsResponse.mjs +2 -0
  71. package/dist/esm/api/resources/metrics/types/Start.d.mts +4 -0
  72. package/dist/esm/api/resources/metrics/types/Start.mjs +2 -0
  73. package/dist/esm/api/resources/metrics/types/index.d.mts +7 -5
  74. package/dist/esm/api/resources/metrics/types/index.mjs +7 -5
  75. package/dist/esm/api/resources/pods/client/Client.d.mts +3 -0
  76. package/dist/esm/api/resources/pods/client/Client.mjs +5 -0
  77. package/dist/esm/api/resources/pods/resources/index.d.mts +2 -0
  78. package/dist/esm/api/resources/pods/resources/index.mjs +2 -0
  79. package/dist/esm/api/resources/pods/resources/metrics/client/Client.d.mts +25 -0
  80. package/dist/esm/api/resources/pods/resources/metrics/client/Client.mjs +105 -0
  81. package/dist/esm/api/resources/pods/resources/metrics/client/index.d.mts +1 -0
  82. package/dist/esm/api/resources/pods/resources/metrics/client/index.mjs +1 -0
  83. package/dist/esm/api/resources/pods/resources/metrics/client/requests/QueryMetricsRequest.d.mts +13 -0
  84. package/dist/esm/api/resources/pods/resources/metrics/client/requests/QueryMetricsRequest.mjs +2 -0
  85. package/dist/esm/api/resources/pods/resources/metrics/client/requests/index.d.mts +1 -0
  86. package/dist/esm/api/resources/pods/resources/metrics/client/requests/index.mjs +1 -0
  87. package/dist/esm/api/resources/pods/resources/metrics/index.d.mts +1 -0
  88. package/dist/esm/api/resources/pods/resources/metrics/index.mjs +1 -0
  89. package/dist/esm/serialization/resources/metrics/types/Descending.d.mts +7 -0
  90. package/dist/esm/serialization/resources/metrics/types/{MetricTimestamp.mjs → Descending.mjs} +1 -1
  91. package/dist/esm/serialization/resources/metrics/types/{MetricTimestamp.d.mts → End.d.mts} +2 -2
  92. package/dist/esm/serialization/resources/metrics/types/{MetricEndTimestamp.mjs → End.mjs} +1 -1
  93. package/dist/esm/serialization/resources/metrics/types/MetricBucket.d.mts +10 -0
  94. package/dist/esm/serialization/resources/metrics/types/MetricBucket.mjs +6 -0
  95. package/dist/esm/serialization/resources/metrics/types/MetricLimit.d.mts +7 -0
  96. package/dist/esm/serialization/resources/metrics/types/{MetricStartTimestamp.mjs → MetricLimit.mjs} +1 -1
  97. package/dist/esm/serialization/resources/metrics/types/{MetricEndTimestamp.d.mts → Period.d.mts} +2 -2
  98. package/dist/esm/serialization/resources/metrics/types/Period.mjs +3 -0
  99. package/dist/esm/serialization/resources/metrics/types/QueryMetricsResponse.d.mts +9 -0
  100. package/dist/esm/serialization/resources/metrics/types/QueryMetricsResponse.mjs +5 -0
  101. package/dist/esm/serialization/resources/metrics/types/{MetricStartTimestamp.d.mts → Start.d.mts} +2 -2
  102. package/dist/esm/serialization/resources/metrics/types/Start.mjs +3 -0
  103. package/dist/esm/serialization/resources/metrics/types/index.d.mts +7 -5
  104. package/dist/esm/serialization/resources/metrics/types/index.mjs +7 -5
  105. package/dist/esm/version.d.mts +1 -1
  106. package/dist/esm/version.mjs +1 -1
  107. package/package.json +1 -1
  108. package/reference.md +64 -12
  109. package/dist/cjs/api/resources/inboxes/resources/metrics/client/requests/ListInboxMetricsRequest.d.ts +0 -13
  110. package/dist/cjs/api/resources/metrics/client/requests/ListMetricsRequest.d.ts +0 -13
  111. package/dist/cjs/api/resources/metrics/types/ListMetricsResponse.d.ts +0 -5
  112. package/dist/cjs/api/resources/metrics/types/MessageMetrics.d.ts +0 -17
  113. package/dist/cjs/api/resources/metrics/types/MetricEndTimestamp.d.ts +0 -4
  114. package/dist/cjs/api/resources/metrics/types/MetricStartTimestamp.d.ts +0 -4
  115. package/dist/cjs/api/resources/metrics/types/MetricTimestamp.d.ts +0 -4
  116. package/dist/cjs/serialization/resources/metrics/types/ListMetricsResponse.d.ts +0 -10
  117. package/dist/cjs/serialization/resources/metrics/types/MessageMetrics.d.ts +0 -16
  118. package/dist/cjs/serialization/resources/metrics/types/MessageMetrics.js +0 -48
  119. package/dist/esm/api/resources/inboxes/resources/metrics/client/requests/ListInboxMetricsRequest.d.mts +0 -13
  120. package/dist/esm/api/resources/metrics/client/requests/ListMetricsRequest.d.mts +0 -13
  121. package/dist/esm/api/resources/metrics/types/ListMetricsResponse.d.mts +0 -5
  122. package/dist/esm/api/resources/metrics/types/MessageMetrics.d.mts +0 -17
  123. package/dist/esm/api/resources/metrics/types/MetricEndTimestamp.d.mts +0 -4
  124. package/dist/esm/api/resources/metrics/types/MetricStartTimestamp.d.mts +0 -4
  125. package/dist/esm/api/resources/metrics/types/MetricTimestamp.d.mts +0 -4
  126. package/dist/esm/serialization/resources/metrics/types/ListMetricsResponse.d.mts +0 -10
  127. package/dist/esm/serialization/resources/metrics/types/ListMetricsResponse.mjs +0 -6
  128. package/dist/esm/serialization/resources/metrics/types/MessageMetrics.d.mts +0 -16
  129. package/dist/esm/serialization/resources/metrics/types/MessageMetrics.mjs +0 -12
  130. /package/dist/cjs/api/resources/inboxes/resources/metrics/client/requests/{ListInboxMetricsRequest.js → QueryMetricsRequest.js} +0 -0
  131. /package/dist/cjs/api/resources/metrics/client/requests/{ListMetricsRequest.js → QueryMetricsRequest.js} +0 -0
  132. /package/dist/cjs/api/resources/metrics/types/{ListMetricsResponse.js → Descending.js} +0 -0
  133. /package/dist/cjs/api/resources/metrics/types/{MessageMetrics.js → End.js} +0 -0
  134. /package/dist/cjs/api/resources/metrics/types/{MetricEndTimestamp.js → MetricBucket.js} +0 -0
  135. /package/dist/cjs/api/resources/metrics/types/{MetricStartTimestamp.js → MetricLimit.js} +0 -0
  136. /package/dist/cjs/api/resources/metrics/types/{MetricTimestamp.js → Period.js} +0 -0
  137. /package/dist/esm/api/resources/inboxes/resources/metrics/client/requests/{ListInboxMetricsRequest.mjs → QueryMetricsRequest.mjs} +0 -0
  138. /package/dist/esm/api/resources/metrics/client/requests/{ListMetricsRequest.mjs → QueryMetricsRequest.mjs} +0 -0
  139. /package/dist/esm/api/resources/metrics/types/{ListMetricsResponse.mjs → Descending.mjs} +0 -0
  140. /package/dist/esm/api/resources/metrics/types/{MessageMetrics.mjs → End.mjs} +0 -0
  141. /package/dist/esm/api/resources/metrics/types/{MetricEndTimestamp.mjs → MetricBucket.mjs} +0 -0
  142. /package/dist/esm/api/resources/metrics/types/{MetricStartTimestamp.mjs → MetricLimit.mjs} +0 -0
  143. /package/dist/esm/api/resources/metrics/types/{MetricTimestamp.mjs → Period.mjs} +0 -0
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Period in number of seconds for the query.
3
+ */
4
+ export type Period = string;
@@ -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";
@@ -0,0 +1,7 @@
1
+ import type * as AgentMail from "../../../../api/index.mjs";
2
+ import * as core from "../../../../core/index.mjs";
3
+ import type * as serializers from "../../../index.mjs";
4
+ export declare const Descending: core.serialization.Schema<serializers.Descending.Raw, AgentMail.Descending>;
5
+ export declare namespace Descending {
6
+ type Raw = boolean;
7
+ }
@@ -1,3 +1,3 @@
1
1
  // This file was auto-generated by Fern from our API Definition.
2
2
  import * as core from "../../../../core/index.mjs";
3
- export const MetricTimestamp = core.serialization.date();
3
+ export const Descending = core.serialization.boolean();
@@ -1,7 +1,7 @@
1
1
  import type * as AgentMail from "../../../../api/index.mjs";
2
2
  import * as core from "../../../../core/index.mjs";
3
3
  import type * as serializers from "../../../index.mjs";
4
- export declare const MetricTimestamp: core.serialization.Schema<serializers.MetricTimestamp.Raw, AgentMail.MetricTimestamp>;
5
- export declare namespace MetricTimestamp {
4
+ export declare const End: core.serialization.Schema<serializers.End.Raw, AgentMail.End>;
5
+ export declare namespace End {
6
6
  type Raw = string;
7
7
  }
@@ -1,3 +1,3 @@
1
1
  // This file was auto-generated by Fern from our API Definition.
2
2
  import * as core from "../../../../core/index.mjs";
3
- export const MetricEndTimestamp = core.serialization.date();
3
+ export const End = core.serialization.date();
@@ -0,0 +1,10 @@
1
+ import type * as AgentMail from "../../../../api/index.mjs";
2
+ import * as core from "../../../../core/index.mjs";
3
+ import type * as serializers from "../../../index.mjs";
4
+ export declare const MetricBucket: core.serialization.ObjectSchema<serializers.MetricBucket.Raw, AgentMail.MetricBucket>;
5
+ export declare namespace MetricBucket {
6
+ interface Raw {
7
+ timestamp: string;
8
+ count: number;
9
+ }
10
+ }
@@ -0,0 +1,6 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ import * as core from "../../../../core/index.mjs";
3
+ export const MetricBucket = core.serialization.object({
4
+ timestamp: core.serialization.date(),
5
+ count: core.serialization.number(),
6
+ });
@@ -0,0 +1,7 @@
1
+ import type * as AgentMail from "../../../../api/index.mjs";
2
+ import * as core from "../../../../core/index.mjs";
3
+ import type * as serializers from "../../../index.mjs";
4
+ export declare const MetricLimit: core.serialization.Schema<serializers.MetricLimit.Raw, AgentMail.MetricLimit>;
5
+ export declare namespace MetricLimit {
6
+ type Raw = number;
7
+ }
@@ -1,3 +1,3 @@
1
1
  // This file was auto-generated by Fern from our API Definition.
2
2
  import * as core from "../../../../core/index.mjs";
3
- export const MetricStartTimestamp = core.serialization.date();
3
+ export const MetricLimit = core.serialization.number();
@@ -1,7 +1,7 @@
1
1
  import type * as AgentMail from "../../../../api/index.mjs";
2
2
  import * as core from "../../../../core/index.mjs";
3
3
  import type * as serializers from "../../../index.mjs";
4
- export declare const MetricEndTimestamp: core.serialization.Schema<serializers.MetricEndTimestamp.Raw, AgentMail.MetricEndTimestamp>;
5
- export declare namespace MetricEndTimestamp {
4
+ export declare const Period: core.serialization.Schema<serializers.Period.Raw, AgentMail.Period>;
5
+ export declare namespace Period {
6
6
  type Raw = string;
7
7
  }
@@ -0,0 +1,3 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ import * as core from "../../../../core/index.mjs";
3
+ export const Period = core.serialization.string();
@@ -0,0 +1,9 @@
1
+ import type * as AgentMail from "../../../../api/index.mjs";
2
+ import * as core from "../../../../core/index.mjs";
3
+ import type * as serializers from "../../../index.mjs";
4
+ import { MetricBucket } from "./MetricBucket.mjs";
5
+ import { MetricEventType } from "./MetricEventType.mjs";
6
+ export declare const QueryMetricsResponse: core.serialization.Schema<serializers.QueryMetricsResponse.Raw, AgentMail.QueryMetricsResponse>;
7
+ export declare namespace QueryMetricsResponse {
8
+ type Raw = Record<MetricEventType.Raw, MetricBucket.Raw[] | null | undefined>;
9
+ }
@@ -0,0 +1,5 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ import * as core from "../../../../core/index.mjs";
3
+ import { MetricBucket } from "./MetricBucket.mjs";
4
+ import { MetricEventType } from "./MetricEventType.mjs";
5
+ export const QueryMetricsResponse = core.serialization.record(MetricEventType, core.serialization.list(MetricBucket).optional());
@@ -1,7 +1,7 @@
1
1
  import type * as AgentMail from "../../../../api/index.mjs";
2
2
  import * as core from "../../../../core/index.mjs";
3
3
  import type * as serializers from "../../../index.mjs";
4
- export declare const MetricStartTimestamp: core.serialization.Schema<serializers.MetricStartTimestamp.Raw, AgentMail.MetricStartTimestamp>;
5
- export declare namespace MetricStartTimestamp {
4
+ export declare const Start: core.serialization.Schema<serializers.Start.Raw, AgentMail.Start>;
5
+ export declare namespace Start {
6
6
  type Raw = string;
7
7
  }
@@ -0,0 +1,3 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ import * as core from "../../../../core/index.mjs";
3
+ export const Start = core.serialization.date();
@@ -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";
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "0.4.2";
1
+ export declare const SDK_VERSION = "0.4.3";
@@ -1 +1 @@
1
- export const SDK_VERSION = "0.4.2";
1
+ export const SDK_VERSION = "0.4.3";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentmail",
3
- "version": "0.4.2",
3
+ "version": "0.4.3",
4
4
  "private": false,
5
5
  "repository": {
6
6
  "type": "git",
package/reference.md CHANGED
@@ -2292,7 +2292,7 @@ await client.inboxes.messages.update("inbox_id", "message_id", {});
2292
2292
  </details>
2293
2293
 
2294
2294
  ## Inboxes Metrics
2295
- <details><summary><code>client.inboxes.metrics.<a href="/src/api/resources/inboxes/resources/metrics/client/Client.ts">get</a>(inbox_id, { ...params }) -> AgentMail.ListMetricsResponse</code></summary>
2295
+ <details><summary><code>client.inboxes.metrics.<a href="/src/api/resources/inboxes/resources/metrics/client/Client.ts">query</a>(inbox_id, { ...params }) -> AgentMail.QueryMetricsResponse</code></summary>
2296
2296
  <dl>
2297
2297
  <dd>
2298
2298
 
@@ -2305,10 +2305,7 @@ await client.inboxes.messages.update("inbox_id", "message_id", {});
2305
2305
  <dd>
2306
2306
 
2307
2307
  ```typescript
2308
- await client.inboxes.metrics.get("inbox_id", {
2309
- startTimestamp: new Date("2024-01-15T09:30:00.000Z"),
2310
- endTimestamp: new Date("2024-01-15T09:30:00.000Z")
2311
- });
2308
+ await client.inboxes.metrics.query("inbox_id");
2312
2309
 
2313
2310
  ```
2314
2311
  </dd>
@@ -2332,7 +2329,7 @@ await client.inboxes.metrics.get("inbox_id", {
2332
2329
  <dl>
2333
2330
  <dd>
2334
2331
 
2335
- **request:** `AgentMail.inboxes.ListInboxMetricsRequest`
2332
+ **request:** `AgentMail.inboxes.QueryMetricsRequest`
2336
2333
 
2337
2334
  </dd>
2338
2335
  </dl>
@@ -2875,7 +2872,7 @@ await client.lists.delete("send", "allow", "entry");
2875
2872
  </details>
2876
2873
 
2877
2874
  ## Metrics
2878
- <details><summary><code>client.metrics.<a href="/src/api/resources/metrics/client/Client.ts">list</a>({ ...params }) -> AgentMail.ListMetricsResponse</code></summary>
2875
+ <details><summary><code>client.metrics.<a href="/src/api/resources/metrics/client/Client.ts">query</a>({ ...params }) -> AgentMail.QueryMetricsResponse</code></summary>
2879
2876
  <dl>
2880
2877
  <dd>
2881
2878
 
@@ -2888,10 +2885,7 @@ await client.lists.delete("send", "allow", "entry");
2888
2885
  <dd>
2889
2886
 
2890
2887
  ```typescript
2891
- await client.metrics.list({
2892
- startTimestamp: new Date("2024-01-15T09:30:00.000Z"),
2893
- endTimestamp: new Date("2024-01-15T09:30:00.000Z")
2894
- });
2888
+ await client.metrics.query();
2895
2889
 
2896
2890
  ```
2897
2891
  </dd>
@@ -2907,7 +2901,7 @@ await client.metrics.list({
2907
2901
  <dl>
2908
2902
  <dd>
2909
2903
 
2910
- **request:** `AgentMail.ListMetricsRequest`
2904
+ **request:** `AgentMail.QueryMetricsRequest`
2911
2905
 
2912
2906
  </dd>
2913
2907
  </dl>
@@ -4089,6 +4083,64 @@ await client.pods.lists.delete("pod_id", "send", "allow", "entry");
4089
4083
  </dl>
4090
4084
 
4091
4085
 
4086
+ </dd>
4087
+ </dl>
4088
+ </details>
4089
+
4090
+ ## Pods Metrics
4091
+ <details><summary><code>client.pods.metrics.<a href="/src/api/resources/pods/resources/metrics/client/Client.ts">query</a>(pod_id, { ...params }) -> AgentMail.QueryMetricsResponse</code></summary>
4092
+ <dl>
4093
+ <dd>
4094
+
4095
+ #### 🔌 Usage
4096
+
4097
+ <dl>
4098
+ <dd>
4099
+
4100
+ <dl>
4101
+ <dd>
4102
+
4103
+ ```typescript
4104
+ await client.pods.metrics.query("pod_id");
4105
+
4106
+ ```
4107
+ </dd>
4108
+ </dl>
4109
+ </dd>
4110
+ </dl>
4111
+
4112
+ #### ⚙️ Parameters
4113
+
4114
+ <dl>
4115
+ <dd>
4116
+
4117
+ <dl>
4118
+ <dd>
4119
+
4120
+ **pod_id:** `AgentMail.PodId`
4121
+
4122
+ </dd>
4123
+ </dl>
4124
+
4125
+ <dl>
4126
+ <dd>
4127
+
4128
+ **request:** `AgentMail.pods.QueryMetricsRequest`
4129
+
4130
+ </dd>
4131
+ </dl>
4132
+
4133
+ <dl>
4134
+ <dd>
4135
+
4136
+ **requestOptions:** `MetricsClient.RequestOptions`
4137
+
4138
+ </dd>
4139
+ </dl>
4140
+ </dd>
4141
+ </dl>
4142
+
4143
+
4092
4144
  </dd>
4093
4145
  </dl>
4094
4146
  </details>
@@ -1,13 +0,0 @@
1
- import type * as AgentMail from "../../../../../../index.js";
2
- /**
3
- * @example
4
- * {
5
- * startTimestamp: new Date("2024-01-15T09:30:00.000Z"),
6
- * endTimestamp: new Date("2024-01-15T09:30:00.000Z")
7
- * }
8
- */
9
- export interface ListInboxMetricsRequest {
10
- eventTypes?: AgentMail.MetricEventTypes;
11
- startTimestamp: AgentMail.MetricStartTimestamp;
12
- endTimestamp: AgentMail.MetricEndTimestamp;
13
- }
@@ -1,13 +0,0 @@
1
- import type * as AgentMail from "../../../../index.js";
2
- /**
3
- * @example
4
- * {
5
- * startTimestamp: new Date("2024-01-15T09:30:00.000Z"),
6
- * endTimestamp: new Date("2024-01-15T09:30:00.000Z")
7
- * }
8
- */
9
- export interface ListMetricsRequest {
10
- eventTypes?: AgentMail.MetricEventTypes;
11
- startTimestamp: AgentMail.MetricStartTimestamp;
12
- endTimestamp: AgentMail.MetricEndTimestamp;
13
- }
@@ -1,5 +0,0 @@
1
- import type * as AgentMail from "../../../index.js";
2
- export interface ListMetricsResponse {
3
- /** Message metrics grouped by event type. */
4
- message?: AgentMail.MessageMetrics;
5
- }