agentmail 0.5.28 → 0.5.30

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 (116) hide show
  1. package/dist/cjs/BaseClient.js +2 -2
  2. package/dist/cjs/api/resources/attachments/types/AttachmentResponse.d.ts +4 -2
  3. package/dist/cjs/api/resources/inboxes/resources/metrics/client/Client.d.ts +28 -0
  4. package/dist/cjs/api/resources/inboxes/resources/metrics/client/Client.js +98 -0
  5. package/dist/cjs/api/resources/inboxes/resources/metrics/client/requests/QueryRatesRequest.d.ts +14 -0
  6. package/dist/cjs/api/resources/inboxes/resources/metrics/client/requests/QueryRatesRequest.js +3 -0
  7. package/dist/cjs/api/resources/inboxes/resources/metrics/client/requests/index.d.ts +1 -0
  8. package/dist/cjs/api/resources/messages/types/RawMessageResponse.d.ts +2 -2
  9. package/dist/cjs/api/resources/metrics/client/Client.d.ts +28 -0
  10. package/dist/cjs/api/resources/metrics/client/Client.js +98 -0
  11. package/dist/cjs/api/resources/metrics/client/requests/QueryRatesRequest.d.ts +14 -0
  12. package/dist/cjs/api/resources/metrics/client/requests/QueryRatesRequest.js +3 -0
  13. package/dist/cjs/api/resources/metrics/client/requests/index.d.ts +1 -0
  14. package/dist/cjs/api/resources/metrics/types/QueryRatesResponse.d.ts +5 -0
  15. package/dist/cjs/api/resources/metrics/types/QueryRatesResponse.js +3 -0
  16. package/dist/cjs/api/resources/metrics/types/RatePeriod.d.ts +5 -0
  17. package/dist/cjs/api/resources/metrics/types/RatePeriod.js +3 -0
  18. package/dist/cjs/api/resources/metrics/types/RatePoint.d.ts +12 -0
  19. package/dist/cjs/api/resources/metrics/types/RatePoint.js +3 -0
  20. package/dist/cjs/api/resources/metrics/types/RateType.d.ts +10 -0
  21. package/dist/cjs/api/resources/metrics/types/RateType.js +13 -0
  22. package/dist/cjs/api/resources/metrics/types/RateTypes.d.ts +5 -0
  23. package/dist/cjs/api/resources/metrics/types/RateTypes.js +3 -0
  24. package/dist/cjs/api/resources/metrics/types/Window.d.ts +6 -0
  25. package/dist/cjs/api/resources/metrics/types/Window.js +3 -0
  26. package/dist/cjs/api/resources/metrics/types/index.d.ts +6 -0
  27. package/dist/cjs/api/resources/metrics/types/index.js +6 -0
  28. package/dist/cjs/api/resources/pods/resources/metrics/client/Client.d.ts +28 -0
  29. package/dist/cjs/api/resources/pods/resources/metrics/client/Client.js +98 -0
  30. package/dist/cjs/api/resources/pods/resources/metrics/client/requests/QueryRatesRequest.d.ts +14 -0
  31. package/dist/cjs/api/resources/pods/resources/metrics/client/requests/QueryRatesRequest.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/webhooks/types/UpdateInboxWebhookRequest.d.ts +10 -1
  34. package/dist/cjs/api/resources/webhooks/types/UpdatePodWebhookRequest.d.ts +2 -2
  35. package/dist/cjs/api/resources/webhooks/types/Webhook.d.ts +11 -0
  36. package/dist/cjs/serialization/resources/attachments/types/AttachmentResponse.d.ts +1 -0
  37. package/dist/cjs/serialization/resources/attachments/types/AttachmentResponse.js +1 -0
  38. package/dist/cjs/serialization/resources/metrics/types/QueryRatesResponse.d.ts +9 -0
  39. package/dist/cjs/serialization/resources/metrics/types/QueryRatesResponse.js +41 -0
  40. package/dist/cjs/serialization/resources/metrics/types/RatePeriod.d.ts +7 -0
  41. package/dist/cjs/serialization/resources/metrics/types/RatePeriod.js +39 -0
  42. package/dist/cjs/serialization/resources/metrics/types/RatePoint.d.ts +11 -0
  43. package/dist/cjs/serialization/resources/metrics/types/RatePoint.js +43 -0
  44. package/dist/cjs/serialization/resources/metrics/types/RateType.d.ts +7 -0
  45. package/dist/cjs/serialization/resources/metrics/types/RateType.js +39 -0
  46. package/dist/cjs/serialization/resources/metrics/types/RateTypes.d.ts +8 -0
  47. package/dist/cjs/serialization/resources/metrics/types/RateTypes.js +40 -0
  48. package/dist/cjs/serialization/resources/metrics/types/Window.d.ts +7 -0
  49. package/dist/cjs/serialization/resources/metrics/types/Window.js +39 -0
  50. package/dist/cjs/serialization/resources/metrics/types/index.d.ts +6 -0
  51. package/dist/cjs/serialization/resources/metrics/types/index.js +6 -0
  52. package/dist/cjs/serialization/resources/webhooks/types/UpdateInboxWebhookRequest.d.ts +1 -0
  53. package/dist/cjs/serialization/resources/webhooks/types/UpdateInboxWebhookRequest.js +1 -0
  54. package/dist/cjs/serialization/resources/webhooks/types/Webhook.d.ts +2 -0
  55. package/dist/cjs/serialization/resources/webhooks/types/Webhook.js +2 -0
  56. package/dist/cjs/version.d.ts +1 -1
  57. package/dist/cjs/version.js +1 -1
  58. package/dist/esm/BaseClient.mjs +2 -2
  59. package/dist/esm/api/resources/attachments/types/AttachmentResponse.d.mts +4 -2
  60. package/dist/esm/api/resources/inboxes/resources/metrics/client/Client.d.mts +28 -0
  61. package/dist/esm/api/resources/inboxes/resources/metrics/client/Client.mjs +98 -0
  62. package/dist/esm/api/resources/inboxes/resources/metrics/client/requests/QueryRatesRequest.d.mts +14 -0
  63. package/dist/esm/api/resources/inboxes/resources/metrics/client/requests/QueryRatesRequest.mjs +2 -0
  64. package/dist/esm/api/resources/inboxes/resources/metrics/client/requests/index.d.mts +1 -0
  65. package/dist/esm/api/resources/messages/types/RawMessageResponse.d.mts +2 -2
  66. package/dist/esm/api/resources/metrics/client/Client.d.mts +28 -0
  67. package/dist/esm/api/resources/metrics/client/Client.mjs +98 -0
  68. package/dist/esm/api/resources/metrics/client/requests/QueryRatesRequest.d.mts +14 -0
  69. package/dist/esm/api/resources/metrics/client/requests/QueryRatesRequest.mjs +2 -0
  70. package/dist/esm/api/resources/metrics/client/requests/index.d.mts +1 -0
  71. package/dist/esm/api/resources/metrics/types/QueryRatesResponse.d.mts +5 -0
  72. package/dist/esm/api/resources/metrics/types/QueryRatesResponse.mjs +2 -0
  73. package/dist/esm/api/resources/metrics/types/RatePeriod.d.mts +5 -0
  74. package/dist/esm/api/resources/metrics/types/RatePeriod.mjs +2 -0
  75. package/dist/esm/api/resources/metrics/types/RatePoint.d.mts +12 -0
  76. package/dist/esm/api/resources/metrics/types/RatePoint.mjs +2 -0
  77. package/dist/esm/api/resources/metrics/types/RateType.d.mts +10 -0
  78. package/dist/esm/api/resources/metrics/types/RateType.mjs +10 -0
  79. package/dist/esm/api/resources/metrics/types/RateTypes.d.mts +5 -0
  80. package/dist/esm/api/resources/metrics/types/RateTypes.mjs +2 -0
  81. package/dist/esm/api/resources/metrics/types/Window.d.mts +6 -0
  82. package/dist/esm/api/resources/metrics/types/Window.mjs +2 -0
  83. package/dist/esm/api/resources/metrics/types/index.d.mts +6 -0
  84. package/dist/esm/api/resources/metrics/types/index.mjs +6 -0
  85. package/dist/esm/api/resources/pods/resources/metrics/client/Client.d.mts +28 -0
  86. package/dist/esm/api/resources/pods/resources/metrics/client/Client.mjs +98 -0
  87. package/dist/esm/api/resources/pods/resources/metrics/client/requests/QueryRatesRequest.d.mts +14 -0
  88. package/dist/esm/api/resources/pods/resources/metrics/client/requests/QueryRatesRequest.mjs +2 -0
  89. package/dist/esm/api/resources/pods/resources/metrics/client/requests/index.d.mts +1 -0
  90. package/dist/esm/api/resources/webhooks/types/UpdateInboxWebhookRequest.d.mts +10 -1
  91. package/dist/esm/api/resources/webhooks/types/UpdatePodWebhookRequest.d.mts +2 -2
  92. package/dist/esm/api/resources/webhooks/types/Webhook.d.mts +11 -0
  93. package/dist/esm/serialization/resources/attachments/types/AttachmentResponse.d.mts +1 -0
  94. package/dist/esm/serialization/resources/attachments/types/AttachmentResponse.mjs +1 -0
  95. package/dist/esm/serialization/resources/metrics/types/QueryRatesResponse.d.mts +9 -0
  96. package/dist/esm/serialization/resources/metrics/types/QueryRatesResponse.mjs +5 -0
  97. package/dist/esm/serialization/resources/metrics/types/RatePeriod.d.mts +7 -0
  98. package/dist/esm/serialization/resources/metrics/types/RatePeriod.mjs +3 -0
  99. package/dist/esm/serialization/resources/metrics/types/RatePoint.d.mts +11 -0
  100. package/dist/esm/serialization/resources/metrics/types/RatePoint.mjs +7 -0
  101. package/dist/esm/serialization/resources/metrics/types/RateType.d.mts +7 -0
  102. package/dist/esm/serialization/resources/metrics/types/RateType.mjs +3 -0
  103. package/dist/esm/serialization/resources/metrics/types/RateTypes.d.mts +8 -0
  104. package/dist/esm/serialization/resources/metrics/types/RateTypes.mjs +4 -0
  105. package/dist/esm/serialization/resources/metrics/types/Window.d.mts +7 -0
  106. package/dist/esm/serialization/resources/metrics/types/Window.mjs +3 -0
  107. package/dist/esm/serialization/resources/metrics/types/index.d.mts +6 -0
  108. package/dist/esm/serialization/resources/metrics/types/index.mjs +6 -0
  109. package/dist/esm/serialization/resources/webhooks/types/UpdateInboxWebhookRequest.d.mts +1 -0
  110. package/dist/esm/serialization/resources/webhooks/types/UpdateInboxWebhookRequest.mjs +1 -0
  111. package/dist/esm/serialization/resources/webhooks/types/Webhook.d.mts +2 -0
  112. package/dist/esm/serialization/resources/webhooks/types/Webhook.mjs +2 -0
  113. package/dist/esm/version.d.mts +1 -1
  114. package/dist/esm/version.mjs +1 -1
  115. package/package.json +1 -1
  116. package/reference.md +248 -0
@@ -0,0 +1,14 @@
1
+ import type * as AgentMail from "../../../../../../index.js";
2
+ /**
3
+ * @example
4
+ * {}
5
+ */
6
+ export interface QueryRatesRequest {
7
+ rateTypes?: AgentMail.RateTypes;
8
+ start?: AgentMail.Start;
9
+ end?: AgentMail.End;
10
+ period?: AgentMail.RatePeriod;
11
+ window?: AgentMail.Window;
12
+ limit?: AgentMail.MetricLimit;
13
+ descending?: AgentMail.Descending;
14
+ }
@@ -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,2 +1,3 @@
1
1
  export type { QueryEventsRequest } from "./QueryEventsRequest.js";
2
+ export type { QueryRatesRequest } from "./QueryRatesRequest.js";
2
3
  export type { QueryUsageRequest } from "./QueryUsageRequest.js";
@@ -1,7 +1,16 @@
1
1
  import type * as AgentMail from "../../../index.js";
2
2
  /**
3
- * Update an inbox-scoped webhook. It is fixed to its inbox, so only `event_types` can change.
3
+ * Update an inbox-scoped webhook. It is fixed to its inbox, so only `event_types` and `enabled` can
4
+ * change.
4
5
  */
5
6
  export interface UpdateInboxWebhookRequest {
6
7
  eventTypes?: AgentMail.webhooks.UpdateWebhookEventTypes;
8
+ /**
9
+ * Set to true to re-enable a webhook that was disabled after repeated failed deliveries, or false
10
+ * to disable it. Events that occurred while the webhook was disabled are not redelivered.
11
+ * Re-enabling a webhook subscribed to `message.received.spam`, `message.received.blocked`, or
12
+ * `message.received.unauthenticated` (or to every event type, with no filter) requires the
13
+ * matching label permissions on the API key.
14
+ */
15
+ enabled?: boolean;
7
16
  }
@@ -1,7 +1,7 @@
1
1
  import type * as AgentMail from "../../../index.js";
2
2
  /**
3
- * Update a pod-scoped webhook. You can adjust which inboxes within the pod it listens to and replace
4
- * its `event_types`, but not the pod scope itself.
3
+ * Update a pod-scoped webhook. You can adjust which inboxes within the pod it listens to, replace
4
+ * its `event_types`, and set `enabled`, but not change the pod scope itself.
5
5
  */
6
6
  export interface UpdatePodWebhookRequest extends AgentMail.webhooks.UpdateInboxWebhookRequest {
7
7
  /**
@@ -5,6 +5,17 @@ export interface Webhook {
5
5
  eventTypes?: AgentMail.EventTypes;
6
6
  podIds?: AgentMail.PodIds;
7
7
  inboxIds?: AgentMail.InboxIds;
8
+ /**
9
+ * ID of the pod the webhook belongs to: the pod it was created in, or the pod of the inbox it
10
+ * belongs to. Absent for an organization webhook and on some inbox webhooks. This is not the
11
+ * list of pods it receives events for; see `pod_ids`.
12
+ */
13
+ podId?: string;
14
+ /**
15
+ * ID of the inbox the webhook belongs to, if it was created for an inbox. This is not the list
16
+ * of inboxes it receives events for; see `inbox_ids`.
17
+ */
18
+ inboxId?: string;
8
19
  /** Secret for webhook signature verification. */
9
20
  secret: string;
10
21
  /** Webhook is enabled. */
@@ -17,6 +17,7 @@ export declare namespace AttachmentResponse {
17
17
  content_disposition?: AttachmentContentDisposition.Raw | null;
18
18
  content_id?: AttachmentContentId.Raw | null;
19
19
  download_url: string;
20
+ text_url?: string | null;
20
21
  expires_at: string;
21
22
  }
22
23
  }
@@ -50,5 +50,6 @@ exports.AttachmentResponse = core.serialization.object({
50
50
  contentDisposition: core.serialization.property("content_disposition", AttachmentContentDisposition_js_1.AttachmentContentDisposition.optional()),
51
51
  contentId: core.serialization.property("content_id", AttachmentContentId_js_1.AttachmentContentId.optional()),
52
52
  downloadUrl: core.serialization.property("download_url", core.serialization.string()),
53
+ textUrl: core.serialization.property("text_url", core.serialization.string().optional()),
53
54
  expiresAt: core.serialization.property("expires_at", core.serialization.date()),
54
55
  });
@@ -0,0 +1,9 @@
1
+ import type * as AgentMail from "../../../../api/index.js";
2
+ import * as core from "../../../../core/index.js";
3
+ import type * as serializers from "../../../index.js";
4
+ import { RatePoint } from "./RatePoint.js";
5
+ import { RateType } from "./RateType.js";
6
+ export declare const QueryRatesResponse: core.serialization.Schema<serializers.QueryRatesResponse.Raw, AgentMail.QueryRatesResponse>;
7
+ export declare namespace QueryRatesResponse {
8
+ type Raw = Record<RateType.Raw, RatePoint.Raw[] | null | undefined>;
9
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.QueryRatesResponse = void 0;
38
+ const core = __importStar(require("../../../../core/index.js"));
39
+ const RatePoint_js_1 = require("./RatePoint.js");
40
+ const RateType_js_1 = require("./RateType.js");
41
+ exports.QueryRatesResponse = core.serialization.partialRecord(RateType_js_1.RateType, core.serialization.list(RatePoint_js_1.RatePoint).optional());
@@ -0,0 +1,7 @@
1
+ import type * as AgentMail from "../../../../api/index.js";
2
+ import * as core from "../../../../core/index.js";
3
+ import type * as serializers from "../../../index.js";
4
+ export declare const RatePeriod: core.serialization.Schema<serializers.RatePeriod.Raw, AgentMail.RatePeriod>;
5
+ export declare namespace RatePeriod {
6
+ type Raw = number;
7
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.RatePeriod = void 0;
38
+ const core = __importStar(require("../../../../core/index.js"));
39
+ exports.RatePeriod = core.serialization.number();
@@ -0,0 +1,11 @@
1
+ import type * as AgentMail from "../../../../api/index.js";
2
+ import * as core from "../../../../core/index.js";
3
+ import type * as serializers from "../../../index.js";
4
+ export declare const RatePoint: core.serialization.ObjectSchema<serializers.RatePoint.Raw, AgentMail.RatePoint>;
5
+ export declare namespace RatePoint {
6
+ interface Raw {
7
+ timestamp: string;
8
+ rate?: number | null;
9
+ sent: number;
10
+ }
11
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.RatePoint = void 0;
38
+ const core = __importStar(require("../../../../core/index.js"));
39
+ exports.RatePoint = core.serialization.object({
40
+ timestamp: core.serialization.date(),
41
+ rate: core.serialization.number().optional(),
42
+ sent: core.serialization.number(),
43
+ });
@@ -0,0 +1,7 @@
1
+ import type * as AgentMail from "../../../../api/index.js";
2
+ import * as core from "../../../../core/index.js";
3
+ import type * as serializers from "../../../index.js";
4
+ export declare const RateType: core.serialization.Schema<serializers.RateType.Raw, AgentMail.RateType>;
5
+ export declare namespace RateType {
6
+ type Raw = "bounce" | "complaint";
7
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.RateType = void 0;
38
+ const core = __importStar(require("../../../../core/index.js"));
39
+ exports.RateType = core.serialization.enum_(["bounce", "complaint"]);
@@ -0,0 +1,8 @@
1
+ import type * as AgentMail from "../../../../api/index.js";
2
+ import * as core from "../../../../core/index.js";
3
+ import type * as serializers from "../../../index.js";
4
+ import { RateType } from "./RateType.js";
5
+ export declare const RateTypes: core.serialization.Schema<serializers.RateTypes.Raw, AgentMail.RateTypes>;
6
+ export declare namespace RateTypes {
7
+ type Raw = RateType.Raw[];
8
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.RateTypes = void 0;
38
+ const core = __importStar(require("../../../../core/index.js"));
39
+ const RateType_js_1 = require("./RateType.js");
40
+ exports.RateTypes = core.serialization.list(RateType_js_1.RateType);
@@ -0,0 +1,7 @@
1
+ import type * as AgentMail from "../../../../api/index.js";
2
+ import * as core from "../../../../core/index.js";
3
+ import type * as serializers from "../../../index.js";
4
+ export declare const Window: core.serialization.Schema<serializers.Window.Raw, AgentMail.Window>;
5
+ export declare namespace Window {
6
+ type Raw = number;
7
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.Window = void 0;
38
+ const core = __importStar(require("../../../../core/index.js"));
39
+ exports.Window = core.serialization.number();
@@ -6,8 +6,14 @@ export * from "./MetricEventTypes.js";
6
6
  export * from "./MetricLimit.js";
7
7
  export * from "./Period.js";
8
8
  export * from "./QueryMetricsResponse.js";
9
+ export * from "./QueryRatesResponse.js";
9
10
  export * from "./QueryUsageResponse.js";
11
+ export * from "./RatePeriod.js";
12
+ export * from "./RatePoint.js";
13
+ export * from "./RateType.js";
14
+ export * from "./RateTypes.js";
10
15
  export * from "./Start.js";
11
16
  export * from "./UsagePoint.js";
12
17
  export * from "./UsageType.js";
13
18
  export * from "./UsageTypes.js";
19
+ export * from "./Window.js";
@@ -22,8 +22,14 @@ __exportStar(require("./MetricEventTypes.js"), exports);
22
22
  __exportStar(require("./MetricLimit.js"), exports);
23
23
  __exportStar(require("./Period.js"), exports);
24
24
  __exportStar(require("./QueryMetricsResponse.js"), exports);
25
+ __exportStar(require("./QueryRatesResponse.js"), exports);
25
26
  __exportStar(require("./QueryUsageResponse.js"), exports);
27
+ __exportStar(require("./RatePeriod.js"), exports);
28
+ __exportStar(require("./RatePoint.js"), exports);
29
+ __exportStar(require("./RateType.js"), exports);
30
+ __exportStar(require("./RateTypes.js"), exports);
26
31
  __exportStar(require("./Start.js"), exports);
27
32
  __exportStar(require("./UsagePoint.js"), exports);
28
33
  __exportStar(require("./UsageType.js"), exports);
29
34
  __exportStar(require("./UsageTypes.js"), exports);
35
+ __exportStar(require("./Window.js"), exports);
@@ -6,5 +6,6 @@ export declare const UpdateInboxWebhookRequest: core.serialization.ObjectSchema<
6
6
  export declare namespace UpdateInboxWebhookRequest {
7
7
  interface Raw {
8
8
  event_types?: UpdateWebhookEventTypes.Raw | null;
9
+ enabled?: boolean | null;
9
10
  }
10
11
  }
@@ -39,4 +39,5 @@ const core = __importStar(require("../../../../core/index.js"));
39
39
  const UpdateWebhookEventTypes_js_1 = require("./UpdateWebhookEventTypes.js");
40
40
  exports.UpdateInboxWebhookRequest = core.serialization.object({
41
41
  eventTypes: core.serialization.property("event_types", UpdateWebhookEventTypes_js_1.UpdateWebhookEventTypes.optional()),
42
+ enabled: core.serialization.boolean().optional(),
42
43
  });
@@ -15,6 +15,8 @@ export declare namespace Webhook {
15
15
  event_types?: EventTypes.Raw | null;
16
16
  pod_ids?: PodIds.Raw | null;
17
17
  inbox_ids?: InboxIds.Raw | null;
18
+ pod_id?: string | null;
19
+ inbox_id?: string | null;
18
20
  secret: string;
19
21
  enabled: boolean;
20
22
  updated_at: string;
@@ -48,6 +48,8 @@ exports.Webhook = core.serialization.object({
48
48
  eventTypes: core.serialization.property("event_types", EventTypes_js_1.EventTypes.optional()),
49
49
  podIds: core.serialization.property("pod_ids", PodIds_js_1.PodIds.optional()),
50
50
  inboxIds: core.serialization.property("inbox_ids", InboxIds_js_1.InboxIds.optional()),
51
+ podId: core.serialization.property("pod_id", core.serialization.string().optional()),
52
+ inboxId: core.serialization.property("inbox_id", core.serialization.string().optional()),
51
53
  secret: core.serialization.string(),
52
54
  enabled: core.serialization.boolean(),
53
55
  updatedAt: core.serialization.property("updated_at", core.serialization.date()),
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "0.5.28";
1
+ export declare const SDK_VERSION = "0.5.30";
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SDK_VERSION = void 0;
4
- exports.SDK_VERSION = "0.5.28";
4
+ exports.SDK_VERSION = "0.5.30";
@@ -6,8 +6,8 @@ export function normalizeClientOptions(options) {
6
6
  const headers = mergeHeaders({
7
7
  "X-Fern-Language": "JavaScript",
8
8
  "X-Fern-SDK-Name": "agentmail",
9
- "X-Fern-SDK-Version": "0.5.28",
10
- "User-Agent": "agentmail/0.5.28",
9
+ "X-Fern-SDK-Version": "0.5.30",
10
+ "User-Agent": "agentmail/0.5.30",
11
11
  "X-Fern-Runtime": core.RUNTIME.type,
12
12
  "X-Fern-Runtime-Version": core.RUNTIME.version,
13
13
  }, options === null || options === void 0 ? void 0 : options.headers);
@@ -6,8 +6,10 @@ export interface AttachmentResponse {
6
6
  contentType?: AgentMail.AttachmentContentType;
7
7
  contentDisposition?: AgentMail.AttachmentContentDisposition;
8
8
  contentId?: AgentMail.AttachmentContentId;
9
- /** URL to download the attachment. */
9
+ /** Signed HTTPS CDN URL to download the attachment bytes. Retrieve a fresh URL when needed rather than storing it permanently. */
10
10
  downloadUrl: string;
11
- /** Time at which the download URL expires. */
11
+ /** Signed HTTPS CDN URL to download extracted plain text, when available. Omitted when no extracted text is available. Expires at the same time as download_url. */
12
+ textUrl?: string;
13
+ /** Time at which download_url and text_url (when present) expire. Retrieve the attachment again to obtain fresh URLs. */
12
14
  expiresAt: Date;
13
15
  }
@@ -53,4 +53,32 @@ export declare class MetricsClient {
53
53
  */
54
54
  queryUsage(inbox_id: AgentMail.inboxes.InboxId, request?: AgentMail.inboxes.QueryUsageRequest, requestOptions?: MetricsClient.RequestOptions): core.HttpResponsePromise<AgentMail.QueryUsageResponse>;
55
55
  private __queryUsage;
56
+ /**
57
+ * Rolling bounce and complaint rates for the inbox. At each `period`
58
+ * grid point, the bounced (or complained) messages over the preceding
59
+ * `window` divided by the messages sent over the same window, with the
60
+ * send count alongside. Account moderation evaluates the organization-wide
61
+ * rate, so use the organization endpoint to see the number it acts on;
62
+ * the inbox view shows which inboxes contribute. Defaults to the rolling
63
+ * 24-hour rate sampled hourly over the last day; `start` must be within
64
+ * the last 90 days, `window` must be a whole multiple of `period`, and
65
+ * the range plus window divided by `period` must not exceed 1000
66
+ * buckets.
67
+ *
68
+ * **CLI:**
69
+ * ```bash
70
+ * agentmail inboxes metrics query-rates --inbox-id <inbox_id>
71
+ * ```
72
+ *
73
+ * @param {AgentMail.inboxes.InboxId} inbox_id
74
+ * @param {AgentMail.inboxes.QueryRatesRequest} request
75
+ * @param {MetricsClient.RequestOptions} requestOptions - Request-specific configuration.
76
+ *
77
+ * @throws {@link AgentMail.ValidationError}
78
+ *
79
+ * @example
80
+ * await client.inboxes.metrics.queryRates("inbox_id")
81
+ */
82
+ queryRates(inbox_id: AgentMail.inboxes.InboxId, request?: AgentMail.inboxes.QueryRatesRequest, requestOptions?: MetricsClient.RequestOptions): core.HttpResponsePromise<AgentMail.QueryRatesResponse>;
83
+ private __queryRates;
56
84
  }
@@ -202,4 +202,102 @@ export class MetricsClient {
202
202
  return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v0/inboxes/{inbox_id}/metrics/usage");
203
203
  });
204
204
  }
205
+ /**
206
+ * Rolling bounce and complaint rates for the inbox. At each `period`
207
+ * grid point, the bounced (or complained) messages over the preceding
208
+ * `window` divided by the messages sent over the same window, with the
209
+ * send count alongside. Account moderation evaluates the organization-wide
210
+ * rate, so use the organization endpoint to see the number it acts on;
211
+ * the inbox view shows which inboxes contribute. Defaults to the rolling
212
+ * 24-hour rate sampled hourly over the last day; `start` must be within
213
+ * the last 90 days, `window` must be a whole multiple of `period`, and
214
+ * the range plus window divided by `period` must not exceed 1000
215
+ * buckets.
216
+ *
217
+ * **CLI:**
218
+ * ```bash
219
+ * agentmail inboxes metrics query-rates --inbox-id <inbox_id>
220
+ * ```
221
+ *
222
+ * @param {AgentMail.inboxes.InboxId} inbox_id
223
+ * @param {AgentMail.inboxes.QueryRatesRequest} request
224
+ * @param {MetricsClient.RequestOptions} requestOptions - Request-specific configuration.
225
+ *
226
+ * @throws {@link AgentMail.ValidationError}
227
+ *
228
+ * @example
229
+ * await client.inboxes.metrics.queryRates("inbox_id")
230
+ */
231
+ queryRates(inbox_id, request = {}, requestOptions) {
232
+ return core.HttpResponsePromise.fromPromise(this.__queryRates(inbox_id, request, requestOptions));
233
+ }
234
+ __queryRates(inbox_id_1) {
235
+ return __awaiter(this, arguments, void 0, function* (inbox_id, request = {}, requestOptions) {
236
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
237
+ const { rateTypes, start, end, period, window, limit, descending } = request;
238
+ const _queryParams = {
239
+ rate_types: rateTypes != null
240
+ ? toJson(serializers.RateTypes.jsonOrThrow(rateTypes, {
241
+ unrecognizedObjectKeys: "strip",
242
+ omitUndefined: true,
243
+ }))
244
+ : undefined,
245
+ start: start != null
246
+ ? serializers.Start.jsonOrThrow(start, { unrecognizedObjectKeys: "strip", omitUndefined: true })
247
+ : undefined,
248
+ end: end != null
249
+ ? serializers.End.jsonOrThrow(end, { unrecognizedObjectKeys: "strip", omitUndefined: true })
250
+ : undefined,
251
+ period,
252
+ window,
253
+ limit,
254
+ descending,
255
+ };
256
+ const _authRequest = yield this._options.authProvider.getAuthRequest();
257
+ 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);
258
+ const _response = yield core.fetcher({
259
+ 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)
260
+ .http, `/v0/inboxes/${core.url.encodePathParam(serializers.inboxes.InboxId.jsonOrThrow(inbox_id, { omitUndefined: true }))}/metrics/rates`),
261
+ method: "GET",
262
+ headers: _headers,
263
+ queryParameters: Object.assign(Object.assign({}, _queryParams), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams),
264
+ 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,
265
+ 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,
266
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
267
+ fetchFn: (_j = this._options) === null || _j === void 0 ? void 0 : _j.fetch,
268
+ logging: this._options.logging,
269
+ });
270
+ if (_response.ok) {
271
+ return {
272
+ data: serializers.QueryRatesResponse.parseOrThrow(_response.body, {
273
+ unrecognizedObjectKeys: "passthrough",
274
+ allowUnrecognizedUnionMembers: true,
275
+ allowUnrecognizedEnumValues: true,
276
+ skipValidation: true,
277
+ breadcrumbsPrefix: ["response"],
278
+ }),
279
+ rawResponse: _response.rawResponse,
280
+ };
281
+ }
282
+ if (_response.error.reason === "status-code") {
283
+ switch (_response.error.statusCode) {
284
+ case 400:
285
+ throw new AgentMail.ValidationError(serializers.ValidationErrorResponse.parseOrThrow(_response.error.body, {
286
+ unrecognizedObjectKeys: "passthrough",
287
+ allowUnrecognizedUnionMembers: true,
288
+ allowUnrecognizedEnumValues: true,
289
+ skipValidation: true,
290
+ breadcrumbsPrefix: ["response"],
291
+ }), _response.rawResponse);
292
+ default:
293
+ throw new errors.AgentMailError({
294
+ statusCode: _response.error.statusCode,
295
+ body: _response.error.body,
296
+ rawResponse: _response.rawResponse,
297
+ });
298
+ }
299
+ }
300
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v0/inboxes/{inbox_id}/metrics/rates");
301
+ });
302
+ }
205
303
  }