agentmail 0.4.16 → 0.4.18

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 (52) hide show
  1. package/dist/cjs/BaseClient.js +2 -2
  2. package/dist/cjs/api/resources/events/types/EventType.d.ts +2 -0
  3. package/dist/cjs/api/resources/events/types/EventType.js +2 -0
  4. package/dist/cjs/api/resources/events/types/MessageReceivedBlockedEvent.d.ts +11 -0
  5. package/dist/cjs/api/resources/events/types/MessageReceivedBlockedEvent.js +3 -0
  6. package/dist/cjs/api/resources/events/types/MessageReceivedSpamEvent.d.ts +11 -0
  7. package/dist/cjs/api/resources/events/types/MessageReceivedSpamEvent.js +3 -0
  8. package/dist/cjs/api/resources/events/types/index.d.ts +2 -0
  9. package/dist/cjs/api/resources/events/types/index.js +2 -0
  10. package/dist/cjs/api/resources/inboxes/resources/messages/client/Client.d.ts +19 -0
  11. package/dist/cjs/api/resources/inboxes/resources/messages/client/Client.js +61 -0
  12. package/dist/cjs/api/resources/websockets/client/Socket.d.ts +1 -1
  13. package/dist/cjs/serialization/resources/events/types/EventType.d.ts +1 -1
  14. package/dist/cjs/serialization/resources/events/types/EventType.js +2 -0
  15. package/dist/cjs/serialization/resources/events/types/MessageReceivedBlockedEvent.d.ts +16 -0
  16. package/dist/cjs/serialization/resources/events/types/MessageReceivedBlockedEvent.js +48 -0
  17. package/dist/cjs/serialization/resources/events/types/MessageReceivedSpamEvent.d.ts +16 -0
  18. package/dist/cjs/serialization/resources/events/types/MessageReceivedSpamEvent.js +48 -0
  19. package/dist/cjs/serialization/resources/events/types/index.d.ts +2 -0
  20. package/dist/cjs/serialization/resources/events/types/index.js +2 -0
  21. package/dist/cjs/serialization/resources/websockets/client/socket/WebsocketsSocketResponse.d.ts +4 -2
  22. package/dist/cjs/serialization/resources/websockets/client/socket/WebsocketsSocketResponse.js +4 -0
  23. package/dist/cjs/version.d.ts +1 -1
  24. package/dist/cjs/version.js +1 -1
  25. package/dist/esm/BaseClient.mjs +2 -2
  26. package/dist/esm/api/resources/events/types/EventType.d.mts +2 -0
  27. package/dist/esm/api/resources/events/types/EventType.mjs +2 -0
  28. package/dist/esm/api/resources/events/types/MessageReceivedBlockedEvent.d.mts +11 -0
  29. package/dist/esm/api/resources/events/types/MessageReceivedBlockedEvent.mjs +2 -0
  30. package/dist/esm/api/resources/events/types/MessageReceivedSpamEvent.d.mts +11 -0
  31. package/dist/esm/api/resources/events/types/MessageReceivedSpamEvent.mjs +2 -0
  32. package/dist/esm/api/resources/events/types/index.d.mts +2 -0
  33. package/dist/esm/api/resources/events/types/index.mjs +2 -0
  34. package/dist/esm/api/resources/inboxes/resources/messages/client/Client.d.mts +19 -0
  35. package/dist/esm/api/resources/inboxes/resources/messages/client/Client.mjs +61 -0
  36. package/dist/esm/api/resources/websockets/client/Socket.d.mts +1 -1
  37. package/dist/esm/serialization/resources/events/types/EventType.d.mts +1 -1
  38. package/dist/esm/serialization/resources/events/types/EventType.mjs +2 -0
  39. package/dist/esm/serialization/resources/events/types/MessageReceivedBlockedEvent.d.mts +16 -0
  40. package/dist/esm/serialization/resources/events/types/MessageReceivedBlockedEvent.mjs +12 -0
  41. package/dist/esm/serialization/resources/events/types/MessageReceivedSpamEvent.d.mts +16 -0
  42. package/dist/esm/serialization/resources/events/types/MessageReceivedSpamEvent.mjs +12 -0
  43. package/dist/esm/serialization/resources/events/types/index.d.mts +2 -0
  44. package/dist/esm/serialization/resources/events/types/index.mjs +2 -0
  45. package/dist/esm/serialization/resources/websockets/client/socket/WebsocketsSocketResponse.d.mts +4 -2
  46. package/dist/esm/serialization/resources/websockets/client/socket/WebsocketsSocketResponse.mjs +4 -0
  47. package/dist/esm/version.d.mts +1 -1
  48. package/dist/esm/version.mjs +1 -1
  49. package/dist/llms-full.txt +606 -77
  50. package/dist/llms.txt +2 -0
  51. package/package.json +1 -1
  52. package/reference.md +76 -0
@@ -43,8 +43,8 @@ function normalizeClientOptions(options) {
43
43
  const headers = (0, headers_js_1.mergeHeaders)({
44
44
  "X-Fern-Language": "JavaScript",
45
45
  "X-Fern-SDK-Name": "agentmail",
46
- "X-Fern-SDK-Version": "0.4.16",
47
- "User-Agent": "agentmail/0.4.16",
46
+ "X-Fern-SDK-Version": "0.4.18",
47
+ "User-Agent": "agentmail/0.4.18",
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);
@@ -1,5 +1,7 @@
1
1
  export declare const EventType: {
2
2
  readonly MessageReceived: "message.received";
3
+ readonly MessageReceivedSpam: "message.received.spam";
4
+ readonly MessageReceivedBlocked: "message.received.blocked";
3
5
  readonly MessageSent: "message.sent";
4
6
  readonly MessageDelivered: "message.delivered";
5
7
  readonly MessageBounced: "message.bounced";
@@ -4,6 +4,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.EventType = void 0;
5
5
  exports.EventType = {
6
6
  MessageReceived: "message.received",
7
+ MessageReceivedSpam: "message.received.spam",
8
+ MessageReceivedBlocked: "message.received.blocked",
7
9
  MessageSent: "message.sent",
8
10
  MessageDelivered: "message.delivered",
9
11
  MessageBounced: "message.bounced",
@@ -0,0 +1,11 @@
1
+ import type * as AgentMail from "../../../index.js";
2
+ /**
3
+ * A message was received and matched a block list entry. Requires `label_blocked_read` permission.
4
+ */
5
+ export interface MessageReceivedBlockedEvent {
6
+ type: "event";
7
+ eventType: "message.received.blocked";
8
+ eventId: AgentMail.EventId;
9
+ message: AgentMail.Message;
10
+ thread: AgentMail.ThreadItem;
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 });
@@ -0,0 +1,11 @@
1
+ import type * as AgentMail from "../../../index.js";
2
+ /**
3
+ * A message was received and classified as spam. Requires `label_spam_read` permission.
4
+ */
5
+ export interface MessageReceivedSpamEvent {
6
+ type: "event";
7
+ eventType: "message.received.spam";
8
+ eventId: AgentMail.EventId;
9
+ message: AgentMail.Message;
10
+ thread: AgentMail.ThreadItem;
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 });
@@ -9,7 +9,9 @@ export * from "./InboxIds.js";
9
9
  export * from "./MessageBouncedEvent.js";
10
10
  export * from "./MessageComplainedEvent.js";
11
11
  export * from "./MessageDeliveredEvent.js";
12
+ export * from "./MessageReceivedBlockedEvent.js";
12
13
  export * from "./MessageReceivedEvent.js";
14
+ export * from "./MessageReceivedSpamEvent.js";
13
15
  export * from "./MessageRejectedEvent.js";
14
16
  export * from "./MessageSentEvent.js";
15
17
  export * from "./PodIds.js";
@@ -25,7 +25,9 @@ __exportStar(require("./InboxIds.js"), exports);
25
25
  __exportStar(require("./MessageBouncedEvent.js"), exports);
26
26
  __exportStar(require("./MessageComplainedEvent.js"), exports);
27
27
  __exportStar(require("./MessageDeliveredEvent.js"), exports);
28
+ __exportStar(require("./MessageReceivedBlockedEvent.js"), exports);
28
29
  __exportStar(require("./MessageReceivedEvent.js"), exports);
30
+ __exportStar(require("./MessageReceivedSpamEvent.js"), exports);
29
31
  __exportStar(require("./MessageRejectedEvent.js"), exports);
30
32
  __exportStar(require("./MessageSentEvent.js"), exports);
31
33
  __exportStar(require("./PodIds.js"), exports);
@@ -98,6 +98,25 @@ export declare class MessagesClient {
98
98
  */
99
99
  update(inbox_id: AgentMail.inboxes.InboxId, message_id: AgentMail.MessageId, request: AgentMail.UpdateMessageRequest, requestOptions?: MessagesClient.RequestOptions): core.HttpResponsePromise<AgentMail.UpdateMessageResponse>;
100
100
  private __update;
101
+ /**
102
+ * Permanently deletes a message.
103
+ *
104
+ * **CLI:**
105
+ * ```bash
106
+ * agentmail inboxes:messages delete --inbox-id <inbox_id> --message-id <message_id>
107
+ * ```
108
+ *
109
+ * @param {AgentMail.inboxes.InboxId} inbox_id
110
+ * @param {AgentMail.MessageId} message_id
111
+ * @param {MessagesClient.RequestOptions} requestOptions - Request-specific configuration.
112
+ *
113
+ * @throws {@link AgentMail.NotFoundError}
114
+ *
115
+ * @example
116
+ * await client.inboxes.messages.delete("inbox_id", "message_id")
117
+ */
118
+ delete(inbox_id: AgentMail.inboxes.InboxId, message_id: AgentMail.MessageId, requestOptions?: MessagesClient.RequestOptions): core.HttpResponsePromise<void>;
119
+ private __delete;
101
120
  /**
102
121
  * **CLI:**
103
122
  * ```bash
@@ -435,6 +435,67 @@ class MessagesClient {
435
435
  return (0, handleNonStatusCodeError_js_1.handleNonStatusCodeError)(_response.error, _response.rawResponse, "PATCH", "/v0/inboxes/{inbox_id}/messages/{message_id}");
436
436
  });
437
437
  }
438
+ /**
439
+ * Permanently deletes a message.
440
+ *
441
+ * **CLI:**
442
+ * ```bash
443
+ * agentmail inboxes:messages delete --inbox-id <inbox_id> --message-id <message_id>
444
+ * ```
445
+ *
446
+ * @param {AgentMail.inboxes.InboxId} inbox_id
447
+ * @param {AgentMail.MessageId} message_id
448
+ * @param {MessagesClient.RequestOptions} requestOptions - Request-specific configuration.
449
+ *
450
+ * @throws {@link AgentMail.NotFoundError}
451
+ *
452
+ * @example
453
+ * await client.inboxes.messages.delete("inbox_id", "message_id")
454
+ */
455
+ delete(inbox_id, message_id, requestOptions) {
456
+ return core.HttpResponsePromise.fromPromise(this.__delete(inbox_id, message_id, requestOptions));
457
+ }
458
+ __delete(inbox_id, message_id, requestOptions) {
459
+ return __awaiter(this, void 0, void 0, function* () {
460
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
461
+ const _authRequest = yield this._options.authProvider.getAuthRequest();
462
+ 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);
463
+ const _response = yield core.fetcher({
464
+ 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)
465
+ .http, `/v0/inboxes/${core.url.encodePathParam(serializers.inboxes.InboxId.jsonOrThrow(inbox_id, { omitUndefined: true }))}/messages/${core.url.encodePathParam(serializers.MessageId.jsonOrThrow(message_id, { omitUndefined: true }))}`),
466
+ method: "DELETE",
467
+ headers: _headers,
468
+ queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
469
+ 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,
470
+ 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,
471
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
472
+ fetchFn: (_j = this._options) === null || _j === void 0 ? void 0 : _j.fetch,
473
+ logging: this._options.logging,
474
+ });
475
+ if (_response.ok) {
476
+ return { data: undefined, rawResponse: _response.rawResponse };
477
+ }
478
+ if (_response.error.reason === "status-code") {
479
+ switch (_response.error.statusCode) {
480
+ case 404:
481
+ throw new AgentMail.NotFoundError(serializers.ErrorResponse.parseOrThrow(_response.error.body, {
482
+ unrecognizedObjectKeys: "passthrough",
483
+ allowUnrecognizedUnionMembers: true,
484
+ allowUnrecognizedEnumValues: true,
485
+ skipValidation: true,
486
+ breadcrumbsPrefix: ["response"],
487
+ }), _response.rawResponse);
488
+ default:
489
+ throw new errors.AgentMailError({
490
+ statusCode: _response.error.statusCode,
491
+ body: _response.error.body,
492
+ rawResponse: _response.rawResponse,
493
+ });
494
+ }
495
+ }
496
+ return (0, handleNonStatusCodeError_js_1.handleNonStatusCodeError)(_response.error, _response.rawResponse, "DELETE", "/v0/inboxes/{inbox_id}/messages/{message_id}");
497
+ });
498
+ }
438
499
  /**
439
500
  * **CLI:**
440
501
  * ```bash
@@ -4,7 +4,7 @@ export declare namespace WebsocketsSocket {
4
4
  interface Args {
5
5
  socket: core.ReconnectingWebSocket;
6
6
  }
7
- type Response = AgentMail.Subscribed | AgentMail.MessageReceivedEvent | AgentMail.MessageSentEvent | AgentMail.MessageDeliveredEvent | AgentMail.MessageBouncedEvent | AgentMail.MessageComplainedEvent | AgentMail.MessageRejectedEvent | AgentMail.DomainVerifiedEvent | AgentMail.Error_;
7
+ type Response = AgentMail.Subscribed | AgentMail.MessageReceivedEvent | AgentMail.MessageReceivedSpamEvent | AgentMail.MessageReceivedBlockedEvent | AgentMail.MessageSentEvent | AgentMail.MessageDeliveredEvent | AgentMail.MessageBouncedEvent | AgentMail.MessageComplainedEvent | AgentMail.MessageRejectedEvent | AgentMail.DomainVerifiedEvent | AgentMail.Error_;
8
8
  type EventHandlers = {
9
9
  open?: () => void;
10
10
  message?: (message: Response) => void;
@@ -3,5 +3,5 @@ import * as core from "../../../../core/index.js";
3
3
  import type * as serializers from "../../../index.js";
4
4
  export declare const EventType: core.serialization.Schema<serializers.EventType.Raw, AgentMail.EventType>;
5
5
  export declare namespace EventType {
6
- type Raw = "message.received" | "message.sent" | "message.delivered" | "message.bounced" | "message.complained" | "message.rejected" | "domain.verified";
6
+ type Raw = "message.received" | "message.received.spam" | "message.received.blocked" | "message.sent" | "message.delivered" | "message.bounced" | "message.complained" | "message.rejected" | "domain.verified";
7
7
  }
@@ -38,6 +38,8 @@ exports.EventType = void 0;
38
38
  const core = __importStar(require("../../../../core/index.js"));
39
39
  exports.EventType = core.serialization.enum_([
40
40
  "message.received",
41
+ "message.received.spam",
42
+ "message.received.blocked",
41
43
  "message.sent",
42
44
  "message.delivered",
43
45
  "message.bounced",
@@ -0,0 +1,16 @@
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 { Message } from "../../messages/types/Message.js";
5
+ import { ThreadItem } from "../../threads/types/ThreadItem.js";
6
+ import { EventId } from "./EventId.js";
7
+ export declare const MessageReceivedBlockedEvent: core.serialization.ObjectSchema<serializers.MessageReceivedBlockedEvent.Raw, AgentMail.MessageReceivedBlockedEvent>;
8
+ export declare namespace MessageReceivedBlockedEvent {
9
+ interface Raw {
10
+ type: "event";
11
+ event_type: "message.received.blocked";
12
+ event_id: EventId.Raw;
13
+ message: Message.Raw;
14
+ thread: ThreadItem.Raw;
15
+ }
16
+ }
@@ -0,0 +1,48 @@
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.MessageReceivedBlockedEvent = void 0;
38
+ const core = __importStar(require("../../../../core/index.js"));
39
+ const Message_js_1 = require("../../messages/types/Message.js");
40
+ const ThreadItem_js_1 = require("../../threads/types/ThreadItem.js");
41
+ const EventId_js_1 = require("./EventId.js");
42
+ exports.MessageReceivedBlockedEvent = core.serialization.object({
43
+ type: core.serialization.stringLiteral("event"),
44
+ eventType: core.serialization.property("event_type", core.serialization.stringLiteral("message.received.blocked")),
45
+ eventId: core.serialization.property("event_id", EventId_js_1.EventId),
46
+ message: Message_js_1.Message,
47
+ thread: ThreadItem_js_1.ThreadItem,
48
+ });
@@ -0,0 +1,16 @@
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 { Message } from "../../messages/types/Message.js";
5
+ import { ThreadItem } from "../../threads/types/ThreadItem.js";
6
+ import { EventId } from "./EventId.js";
7
+ export declare const MessageReceivedSpamEvent: core.serialization.ObjectSchema<serializers.MessageReceivedSpamEvent.Raw, AgentMail.MessageReceivedSpamEvent>;
8
+ export declare namespace MessageReceivedSpamEvent {
9
+ interface Raw {
10
+ type: "event";
11
+ event_type: "message.received.spam";
12
+ event_id: EventId.Raw;
13
+ message: Message.Raw;
14
+ thread: ThreadItem.Raw;
15
+ }
16
+ }
@@ -0,0 +1,48 @@
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.MessageReceivedSpamEvent = void 0;
38
+ const core = __importStar(require("../../../../core/index.js"));
39
+ const Message_js_1 = require("../../messages/types/Message.js");
40
+ const ThreadItem_js_1 = require("../../threads/types/ThreadItem.js");
41
+ const EventId_js_1 = require("./EventId.js");
42
+ exports.MessageReceivedSpamEvent = core.serialization.object({
43
+ type: core.serialization.stringLiteral("event"),
44
+ eventType: core.serialization.property("event_type", core.serialization.stringLiteral("message.received.spam")),
45
+ eventId: core.serialization.property("event_id", EventId_js_1.EventId),
46
+ message: Message_js_1.Message,
47
+ thread: ThreadItem_js_1.ThreadItem,
48
+ });
@@ -9,7 +9,9 @@ export * from "./InboxIds.js";
9
9
  export * from "./MessageBouncedEvent.js";
10
10
  export * from "./MessageComplainedEvent.js";
11
11
  export * from "./MessageDeliveredEvent.js";
12
+ export * from "./MessageReceivedBlockedEvent.js";
12
13
  export * from "./MessageReceivedEvent.js";
14
+ export * from "./MessageReceivedSpamEvent.js";
13
15
  export * from "./MessageRejectedEvent.js";
14
16
  export * from "./MessageSentEvent.js";
15
17
  export * from "./PodIds.js";
@@ -25,7 +25,9 @@ __exportStar(require("./InboxIds.js"), exports);
25
25
  __exportStar(require("./MessageBouncedEvent.js"), exports);
26
26
  __exportStar(require("./MessageComplainedEvent.js"), exports);
27
27
  __exportStar(require("./MessageDeliveredEvent.js"), exports);
28
+ __exportStar(require("./MessageReceivedBlockedEvent.js"), exports);
28
29
  __exportStar(require("./MessageReceivedEvent.js"), exports);
30
+ __exportStar(require("./MessageReceivedSpamEvent.js"), exports);
29
31
  __exportStar(require("./MessageRejectedEvent.js"), exports);
30
32
  __exportStar(require("./MessageSentEvent.js"), exports);
31
33
  __exportStar(require("./PodIds.js"), exports);
@@ -5,12 +5,14 @@ import { DomainVerifiedEvent } from "../../../events/types/DomainVerifiedEvent.j
5
5
  import { MessageBouncedEvent } from "../../../events/types/MessageBouncedEvent.js";
6
6
  import { MessageComplainedEvent } from "../../../events/types/MessageComplainedEvent.js";
7
7
  import { MessageDeliveredEvent } from "../../../events/types/MessageDeliveredEvent.js";
8
+ import { MessageReceivedBlockedEvent } from "../../../events/types/MessageReceivedBlockedEvent.js";
8
9
  import { MessageReceivedEvent } from "../../../events/types/MessageReceivedEvent.js";
10
+ import { MessageReceivedSpamEvent } from "../../../events/types/MessageReceivedSpamEvent.js";
9
11
  import { MessageRejectedEvent } from "../../../events/types/MessageRejectedEvent.js";
10
12
  import { MessageSentEvent } from "../../../events/types/MessageSentEvent.js";
11
13
  import { Error_ } from "../../types/Error_.js";
12
14
  import { Subscribed } from "../../types/Subscribed.js";
13
- export declare const WebsocketsSocketResponse: core.serialization.Schema<serializers.WebsocketsSocketResponse.Raw, AgentMail.Subscribed | AgentMail.MessageReceivedEvent | AgentMail.MessageSentEvent | AgentMail.MessageDeliveredEvent | AgentMail.MessageBouncedEvent | AgentMail.MessageComplainedEvent | AgentMail.MessageRejectedEvent | AgentMail.DomainVerifiedEvent | AgentMail.Error_>;
15
+ export declare const WebsocketsSocketResponse: core.serialization.Schema<serializers.WebsocketsSocketResponse.Raw, AgentMail.Subscribed | AgentMail.MessageReceivedEvent | AgentMail.MessageReceivedSpamEvent | AgentMail.MessageReceivedBlockedEvent | AgentMail.MessageSentEvent | AgentMail.MessageDeliveredEvent | AgentMail.MessageBouncedEvent | AgentMail.MessageComplainedEvent | AgentMail.MessageRejectedEvent | AgentMail.DomainVerifiedEvent | AgentMail.Error_>;
14
16
  export declare namespace WebsocketsSocketResponse {
15
- type Raw = Subscribed.Raw | MessageReceivedEvent.Raw | MessageSentEvent.Raw | MessageDeliveredEvent.Raw | MessageBouncedEvent.Raw | MessageComplainedEvent.Raw | MessageRejectedEvent.Raw | DomainVerifiedEvent.Raw | Error_.Raw;
17
+ type Raw = Subscribed.Raw | MessageReceivedEvent.Raw | MessageReceivedSpamEvent.Raw | MessageReceivedBlockedEvent.Raw | MessageSentEvent.Raw | MessageDeliveredEvent.Raw | MessageBouncedEvent.Raw | MessageComplainedEvent.Raw | MessageRejectedEvent.Raw | DomainVerifiedEvent.Raw | Error_.Raw;
16
18
  }
@@ -40,7 +40,9 @@ const DomainVerifiedEvent_js_1 = require("../../../events/types/DomainVerifiedEv
40
40
  const MessageBouncedEvent_js_1 = require("../../../events/types/MessageBouncedEvent.js");
41
41
  const MessageComplainedEvent_js_1 = require("../../../events/types/MessageComplainedEvent.js");
42
42
  const MessageDeliveredEvent_js_1 = require("../../../events/types/MessageDeliveredEvent.js");
43
+ const MessageReceivedBlockedEvent_js_1 = require("../../../events/types/MessageReceivedBlockedEvent.js");
43
44
  const MessageReceivedEvent_js_1 = require("../../../events/types/MessageReceivedEvent.js");
45
+ const MessageReceivedSpamEvent_js_1 = require("../../../events/types/MessageReceivedSpamEvent.js");
44
46
  const MessageRejectedEvent_js_1 = require("../../../events/types/MessageRejectedEvent.js");
45
47
  const MessageSentEvent_js_1 = require("../../../events/types/MessageSentEvent.js");
46
48
  const Error__js_1 = require("../../types/Error_.js");
@@ -48,6 +50,8 @@ const Subscribed_js_1 = require("../../types/Subscribed.js");
48
50
  exports.WebsocketsSocketResponse = core.serialization.undiscriminatedUnion([
49
51
  Subscribed_js_1.Subscribed,
50
52
  MessageReceivedEvent_js_1.MessageReceivedEvent,
53
+ MessageReceivedSpamEvent_js_1.MessageReceivedSpamEvent,
54
+ MessageReceivedBlockedEvent_js_1.MessageReceivedBlockedEvent,
51
55
  MessageSentEvent_js_1.MessageSentEvent,
52
56
  MessageDeliveredEvent_js_1.MessageDeliveredEvent,
53
57
  MessageBouncedEvent_js_1.MessageBouncedEvent,
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "0.4.16";
1
+ export declare const SDK_VERSION = "0.4.18";
@@ -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.4.16";
4
+ exports.SDK_VERSION = "0.4.18";
@@ -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.4.16",
10
- "User-Agent": "agentmail/0.4.16",
9
+ "X-Fern-SDK-Version": "0.4.18",
10
+ "User-Agent": "agentmail/0.4.18",
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);
@@ -1,5 +1,7 @@
1
1
  export declare const EventType: {
2
2
  readonly MessageReceived: "message.received";
3
+ readonly MessageReceivedSpam: "message.received.spam";
4
+ readonly MessageReceivedBlocked: "message.received.blocked";
3
5
  readonly MessageSent: "message.sent";
4
6
  readonly MessageDelivered: "message.delivered";
5
7
  readonly MessageBounced: "message.bounced";
@@ -1,6 +1,8 @@
1
1
  // This file was auto-generated by Fern from our API Definition.
2
2
  export const EventType = {
3
3
  MessageReceived: "message.received",
4
+ MessageReceivedSpam: "message.received.spam",
5
+ MessageReceivedBlocked: "message.received.blocked",
4
6
  MessageSent: "message.sent",
5
7
  MessageDelivered: "message.delivered",
6
8
  MessageBounced: "message.bounced",
@@ -0,0 +1,11 @@
1
+ import type * as AgentMail from "../../../index.mjs";
2
+ /**
3
+ * A message was received and matched a block list entry. Requires `label_blocked_read` permission.
4
+ */
5
+ export interface MessageReceivedBlockedEvent {
6
+ type: "event";
7
+ eventType: "message.received.blocked";
8
+ eventId: AgentMail.EventId;
9
+ message: AgentMail.Message;
10
+ thread: AgentMail.ThreadItem;
11
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,11 @@
1
+ import type * as AgentMail from "../../../index.mjs";
2
+ /**
3
+ * A message was received and classified as spam. Requires `label_spam_read` permission.
4
+ */
5
+ export interface MessageReceivedSpamEvent {
6
+ type: "event";
7
+ eventType: "message.received.spam";
8
+ eventId: AgentMail.EventId;
9
+ message: AgentMail.Message;
10
+ thread: AgentMail.ThreadItem;
11
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -9,7 +9,9 @@ export * from "./InboxIds.mjs";
9
9
  export * from "./MessageBouncedEvent.mjs";
10
10
  export * from "./MessageComplainedEvent.mjs";
11
11
  export * from "./MessageDeliveredEvent.mjs";
12
+ export * from "./MessageReceivedBlockedEvent.mjs";
12
13
  export * from "./MessageReceivedEvent.mjs";
14
+ export * from "./MessageReceivedSpamEvent.mjs";
13
15
  export * from "./MessageRejectedEvent.mjs";
14
16
  export * from "./MessageSentEvent.mjs";
15
17
  export * from "./PodIds.mjs";
@@ -9,7 +9,9 @@ export * from "./InboxIds.mjs";
9
9
  export * from "./MessageBouncedEvent.mjs";
10
10
  export * from "./MessageComplainedEvent.mjs";
11
11
  export * from "./MessageDeliveredEvent.mjs";
12
+ export * from "./MessageReceivedBlockedEvent.mjs";
12
13
  export * from "./MessageReceivedEvent.mjs";
14
+ export * from "./MessageReceivedSpamEvent.mjs";
13
15
  export * from "./MessageRejectedEvent.mjs";
14
16
  export * from "./MessageSentEvent.mjs";
15
17
  export * from "./PodIds.mjs";
@@ -98,6 +98,25 @@ export declare class MessagesClient {
98
98
  */
99
99
  update(inbox_id: AgentMail.inboxes.InboxId, message_id: AgentMail.MessageId, request: AgentMail.UpdateMessageRequest, requestOptions?: MessagesClient.RequestOptions): core.HttpResponsePromise<AgentMail.UpdateMessageResponse>;
100
100
  private __update;
101
+ /**
102
+ * Permanently deletes a message.
103
+ *
104
+ * **CLI:**
105
+ * ```bash
106
+ * agentmail inboxes:messages delete --inbox-id <inbox_id> --message-id <message_id>
107
+ * ```
108
+ *
109
+ * @param {AgentMail.inboxes.InboxId} inbox_id
110
+ * @param {AgentMail.MessageId} message_id
111
+ * @param {MessagesClient.RequestOptions} requestOptions - Request-specific configuration.
112
+ *
113
+ * @throws {@link AgentMail.NotFoundError}
114
+ *
115
+ * @example
116
+ * await client.inboxes.messages.delete("inbox_id", "message_id")
117
+ */
118
+ delete(inbox_id: AgentMail.inboxes.InboxId, message_id: AgentMail.MessageId, requestOptions?: MessagesClient.RequestOptions): core.HttpResponsePromise<void>;
119
+ private __delete;
101
120
  /**
102
121
  * **CLI:**
103
122
  * ```bash
@@ -399,6 +399,67 @@ export class MessagesClient {
399
399
  return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/v0/inboxes/{inbox_id}/messages/{message_id}");
400
400
  });
401
401
  }
402
+ /**
403
+ * Permanently deletes a message.
404
+ *
405
+ * **CLI:**
406
+ * ```bash
407
+ * agentmail inboxes:messages delete --inbox-id <inbox_id> --message-id <message_id>
408
+ * ```
409
+ *
410
+ * @param {AgentMail.inboxes.InboxId} inbox_id
411
+ * @param {AgentMail.MessageId} message_id
412
+ * @param {MessagesClient.RequestOptions} requestOptions - Request-specific configuration.
413
+ *
414
+ * @throws {@link AgentMail.NotFoundError}
415
+ *
416
+ * @example
417
+ * await client.inboxes.messages.delete("inbox_id", "message_id")
418
+ */
419
+ delete(inbox_id, message_id, requestOptions) {
420
+ return core.HttpResponsePromise.fromPromise(this.__delete(inbox_id, message_id, requestOptions));
421
+ }
422
+ __delete(inbox_id, message_id, requestOptions) {
423
+ return __awaiter(this, void 0, void 0, function* () {
424
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
425
+ const _authRequest = yield this._options.authProvider.getAuthRequest();
426
+ 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);
427
+ const _response = yield core.fetcher({
428
+ 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)
429
+ .http, `/v0/inboxes/${core.url.encodePathParam(serializers.inboxes.InboxId.jsonOrThrow(inbox_id, { omitUndefined: true }))}/messages/${core.url.encodePathParam(serializers.MessageId.jsonOrThrow(message_id, { omitUndefined: true }))}`),
430
+ method: "DELETE",
431
+ headers: _headers,
432
+ queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
433
+ 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,
434
+ 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,
435
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
436
+ fetchFn: (_j = this._options) === null || _j === void 0 ? void 0 : _j.fetch,
437
+ logging: this._options.logging,
438
+ });
439
+ if (_response.ok) {
440
+ return { data: undefined, rawResponse: _response.rawResponse };
441
+ }
442
+ if (_response.error.reason === "status-code") {
443
+ switch (_response.error.statusCode) {
444
+ case 404:
445
+ throw new AgentMail.NotFoundError(serializers.ErrorResponse.parseOrThrow(_response.error.body, {
446
+ unrecognizedObjectKeys: "passthrough",
447
+ allowUnrecognizedUnionMembers: true,
448
+ allowUnrecognizedEnumValues: true,
449
+ skipValidation: true,
450
+ breadcrumbsPrefix: ["response"],
451
+ }), _response.rawResponse);
452
+ default:
453
+ throw new errors.AgentMailError({
454
+ statusCode: _response.error.statusCode,
455
+ body: _response.error.body,
456
+ rawResponse: _response.rawResponse,
457
+ });
458
+ }
459
+ }
460
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/v0/inboxes/{inbox_id}/messages/{message_id}");
461
+ });
462
+ }
402
463
  /**
403
464
  * **CLI:**
404
465
  * ```bash
@@ -4,7 +4,7 @@ export declare namespace WebsocketsSocket {
4
4
  interface Args {
5
5
  socket: core.ReconnectingWebSocket;
6
6
  }
7
- type Response = AgentMail.Subscribed | AgentMail.MessageReceivedEvent | AgentMail.MessageSentEvent | AgentMail.MessageDeliveredEvent | AgentMail.MessageBouncedEvent | AgentMail.MessageComplainedEvent | AgentMail.MessageRejectedEvent | AgentMail.DomainVerifiedEvent | AgentMail.Error_;
7
+ type Response = AgentMail.Subscribed | AgentMail.MessageReceivedEvent | AgentMail.MessageReceivedSpamEvent | AgentMail.MessageReceivedBlockedEvent | AgentMail.MessageSentEvent | AgentMail.MessageDeliveredEvent | AgentMail.MessageBouncedEvent | AgentMail.MessageComplainedEvent | AgentMail.MessageRejectedEvent | AgentMail.DomainVerifiedEvent | AgentMail.Error_;
8
8
  type EventHandlers = {
9
9
  open?: () => void;
10
10
  message?: (message: Response) => void;
@@ -3,5 +3,5 @@ import * as core from "../../../../core/index.mjs";
3
3
  import type * as serializers from "../../../index.mjs";
4
4
  export declare const EventType: core.serialization.Schema<serializers.EventType.Raw, AgentMail.EventType>;
5
5
  export declare namespace EventType {
6
- type Raw = "message.received" | "message.sent" | "message.delivered" | "message.bounced" | "message.complained" | "message.rejected" | "domain.verified";
6
+ type Raw = "message.received" | "message.received.spam" | "message.received.blocked" | "message.sent" | "message.delivered" | "message.bounced" | "message.complained" | "message.rejected" | "domain.verified";
7
7
  }