agentmail 0.4.8 → 0.4.9

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 (50) hide show
  1. package/dist/cjs/BaseClient.js +2 -2
  2. package/dist/cjs/api/resources/apiKeys/types/ApiKey.d.ts +2 -0
  3. package/dist/cjs/api/resources/apiKeys/types/CreateApiKeyResponse.d.ts +2 -0
  4. package/dist/cjs/api/resources/inboxes/client/Client.d.ts +3 -0
  5. package/dist/cjs/api/resources/inboxes/client/Client.js +15 -10
  6. package/dist/cjs/api/resources/inboxes/resources/apiKeys/client/Client.d.ts +52 -0
  7. package/dist/cjs/api/resources/inboxes/resources/apiKeys/client/Client.js +262 -0
  8. package/dist/cjs/api/resources/inboxes/resources/apiKeys/client/index.d.ts +1 -0
  9. package/dist/cjs/api/resources/inboxes/resources/apiKeys/client/index.js +17 -0
  10. package/dist/cjs/api/resources/inboxes/resources/apiKeys/client/requests/ListApiKeysRequest.d.ts +9 -0
  11. package/dist/cjs/api/resources/inboxes/resources/apiKeys/client/requests/ListApiKeysRequest.js +3 -0
  12. package/dist/cjs/api/resources/inboxes/resources/apiKeys/client/requests/index.d.ts +1 -0
  13. package/dist/cjs/api/resources/inboxes/resources/apiKeys/client/requests/index.js +2 -0
  14. package/dist/cjs/api/resources/inboxes/resources/apiKeys/index.d.ts +1 -0
  15. package/dist/cjs/api/resources/inboxes/resources/apiKeys/index.js +17 -0
  16. package/dist/cjs/api/resources/inboxes/resources/index.d.ts +2 -0
  17. package/dist/cjs/api/resources/inboxes/resources/index.js +3 -1
  18. package/dist/cjs/serialization/resources/apiKeys/types/ApiKey.d.ts +1 -0
  19. package/dist/cjs/serialization/resources/apiKeys/types/ApiKey.js +1 -0
  20. package/dist/cjs/serialization/resources/apiKeys/types/CreateApiKeyResponse.d.ts +1 -0
  21. package/dist/cjs/serialization/resources/apiKeys/types/CreateApiKeyResponse.js +1 -0
  22. package/dist/cjs/version.d.ts +1 -1
  23. package/dist/cjs/version.js +1 -1
  24. package/dist/esm/BaseClient.mjs +2 -2
  25. package/dist/esm/api/resources/apiKeys/types/ApiKey.d.mts +2 -0
  26. package/dist/esm/api/resources/apiKeys/types/CreateApiKeyResponse.d.mts +2 -0
  27. package/dist/esm/api/resources/inboxes/client/Client.d.mts +3 -0
  28. package/dist/esm/api/resources/inboxes/client/Client.mjs +5 -0
  29. package/dist/esm/api/resources/inboxes/resources/apiKeys/client/Client.d.mts +52 -0
  30. package/dist/esm/api/resources/inboxes/resources/apiKeys/client/Client.mjs +225 -0
  31. package/dist/esm/api/resources/inboxes/resources/apiKeys/client/index.d.mts +1 -0
  32. package/dist/esm/api/resources/inboxes/resources/apiKeys/client/index.mjs +1 -0
  33. package/dist/esm/api/resources/inboxes/resources/apiKeys/client/requests/ListApiKeysRequest.d.mts +9 -0
  34. package/dist/esm/api/resources/inboxes/resources/apiKeys/client/requests/ListApiKeysRequest.mjs +2 -0
  35. package/dist/esm/api/resources/inboxes/resources/apiKeys/client/requests/index.d.mts +1 -0
  36. package/dist/esm/api/resources/inboxes/resources/apiKeys/client/requests/index.mjs +1 -0
  37. package/dist/esm/api/resources/inboxes/resources/apiKeys/index.d.mts +1 -0
  38. package/dist/esm/api/resources/inboxes/resources/apiKeys/index.mjs +1 -0
  39. package/dist/esm/api/resources/inboxes/resources/index.d.mts +2 -0
  40. package/dist/esm/api/resources/inboxes/resources/index.mjs +2 -0
  41. package/dist/esm/serialization/resources/apiKeys/types/ApiKey.d.mts +1 -0
  42. package/dist/esm/serialization/resources/apiKeys/types/ApiKey.mjs +1 -0
  43. package/dist/esm/serialization/resources/apiKeys/types/CreateApiKeyResponse.d.mts +1 -0
  44. package/dist/esm/serialization/resources/apiKeys/types/CreateApiKeyResponse.mjs +1 -0
  45. package/dist/esm/version.d.mts +1 -1
  46. package/dist/esm/version.mjs +1 -1
  47. package/dist/llms-full.txt +21 -25
  48. package/dist/llms.txt +1 -1
  49. package/package.json +1 -1
  50. package/reference.md +174 -0
@@ -0,0 +1,52 @@
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 ApiKeysClient {
6
+ type Options = BaseClientOptions;
7
+ interface RequestOptions extends BaseRequestOptions {
8
+ }
9
+ }
10
+ export declare class ApiKeysClient {
11
+ protected readonly _options: NormalizedClientOptionsWithAuth<ApiKeysClient.Options>;
12
+ constructor(options?: ApiKeysClient.Options);
13
+ /**
14
+ * @param {AgentMail.inboxes.InboxId} inbox_id
15
+ * @param {AgentMail.inboxes.ListApiKeysRequest} request
16
+ * @param {ApiKeysClient.RequestOptions} requestOptions - Request-specific configuration.
17
+ *
18
+ * @throws {@link AgentMail.NotFoundError}
19
+ *
20
+ * @example
21
+ * await client.inboxes.apiKeys.list("inbox_id")
22
+ */
23
+ list(inbox_id: AgentMail.inboxes.InboxId, request?: AgentMail.inboxes.ListApiKeysRequest, requestOptions?: ApiKeysClient.RequestOptions): core.HttpResponsePromise<AgentMail.ListApiKeysResponse>;
24
+ private __list;
25
+ /**
26
+ * @param {AgentMail.inboxes.InboxId} inbox_id
27
+ * @param {AgentMail.CreateApiKeyRequest} request
28
+ * @param {ApiKeysClient.RequestOptions} requestOptions - Request-specific configuration.
29
+ *
30
+ * @throws {@link AgentMail.NotFoundError}
31
+ * @throws {@link AgentMail.ValidationError}
32
+ *
33
+ * @example
34
+ * await client.inboxes.apiKeys.create("inbox_id", {
35
+ * name: "name"
36
+ * })
37
+ */
38
+ create(inbox_id: AgentMail.inboxes.InboxId, request: AgentMail.CreateApiKeyRequest, requestOptions?: ApiKeysClient.RequestOptions): core.HttpResponsePromise<AgentMail.CreateApiKeyResponse>;
39
+ private __create;
40
+ /**
41
+ * @param {AgentMail.inboxes.InboxId} inbox_id
42
+ * @param {AgentMail.ApiKeyId} api_key
43
+ * @param {ApiKeysClient.RequestOptions} requestOptions - Request-specific configuration.
44
+ *
45
+ * @throws {@link AgentMail.NotFoundError}
46
+ *
47
+ * @example
48
+ * await client.inboxes.apiKeys.delete("inbox_id", "api_key")
49
+ */
50
+ delete(inbox_id: AgentMail.inboxes.InboxId, api_key: AgentMail.ApiKeyId, requestOptions?: ApiKeysClient.RequestOptions): core.HttpResponsePromise<void>;
51
+ private __delete;
52
+ }
@@ -0,0 +1,225 @@
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 * as environments from "../../../../../../environments.mjs";
15
+ import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.mjs";
16
+ import * as errors from "../../../../../../errors/index.mjs";
17
+ import * as serializers from "../../../../../../serialization/index.mjs";
18
+ import * as AgentMail from "../../../../../index.mjs";
19
+ export class ApiKeysClient {
20
+ constructor(options = {}) {
21
+ this._options = normalizeClientOptionsWithAuth(options);
22
+ }
23
+ /**
24
+ * @param {AgentMail.inboxes.InboxId} inbox_id
25
+ * @param {AgentMail.inboxes.ListApiKeysRequest} request
26
+ * @param {ApiKeysClient.RequestOptions} requestOptions - Request-specific configuration.
27
+ *
28
+ * @throws {@link AgentMail.NotFoundError}
29
+ *
30
+ * @example
31
+ * await client.inboxes.apiKeys.list("inbox_id")
32
+ */
33
+ list(inbox_id, request = {}, requestOptions) {
34
+ return core.HttpResponsePromise.fromPromise(this.__list(inbox_id, request, requestOptions));
35
+ }
36
+ __list(inbox_id_1) {
37
+ return __awaiter(this, arguments, void 0, function* (inbox_id, request = {}, requestOptions) {
38
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
39
+ const { limit, pageToken } = request;
40
+ const _queryParams = {
41
+ limit,
42
+ page_token: pageToken,
43
+ };
44
+ const _authRequest = yield this._options.authProvider.getAuthRequest();
45
+ 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);
46
+ const _response = yield core.fetcher({
47
+ 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)
48
+ .http, `/v0/inboxes/${core.url.encodePathParam(serializers.inboxes.InboxId.jsonOrThrow(inbox_id, { omitUndefined: true }))}/api-keys`),
49
+ method: "GET",
50
+ headers: _headers,
51
+ queryParameters: Object.assign(Object.assign({}, _queryParams), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams),
52
+ 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,
53
+ 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,
54
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
55
+ fetchFn: (_j = this._options) === null || _j === void 0 ? void 0 : _j.fetch,
56
+ logging: this._options.logging,
57
+ });
58
+ if (_response.ok) {
59
+ return {
60
+ data: serializers.ListApiKeysResponse.parseOrThrow(_response.body, {
61
+ unrecognizedObjectKeys: "passthrough",
62
+ allowUnrecognizedUnionMembers: true,
63
+ allowUnrecognizedEnumValues: true,
64
+ skipValidation: true,
65
+ breadcrumbsPrefix: ["response"],
66
+ }),
67
+ rawResponse: _response.rawResponse,
68
+ };
69
+ }
70
+ if (_response.error.reason === "status-code") {
71
+ switch (_response.error.statusCode) {
72
+ case 404:
73
+ throw new AgentMail.NotFoundError(serializers.ErrorResponse.parseOrThrow(_response.error.body, {
74
+ unrecognizedObjectKeys: "passthrough",
75
+ allowUnrecognizedUnionMembers: true,
76
+ allowUnrecognizedEnumValues: true,
77
+ skipValidation: true,
78
+ breadcrumbsPrefix: ["response"],
79
+ }), _response.rawResponse);
80
+ default:
81
+ throw new errors.AgentMailError({
82
+ statusCode: _response.error.statusCode,
83
+ body: _response.error.body,
84
+ rawResponse: _response.rawResponse,
85
+ });
86
+ }
87
+ }
88
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v0/inboxes/{inbox_id}/api-keys");
89
+ });
90
+ }
91
+ /**
92
+ * @param {AgentMail.inboxes.InboxId} inbox_id
93
+ * @param {AgentMail.CreateApiKeyRequest} request
94
+ * @param {ApiKeysClient.RequestOptions} requestOptions - Request-specific configuration.
95
+ *
96
+ * @throws {@link AgentMail.NotFoundError}
97
+ * @throws {@link AgentMail.ValidationError}
98
+ *
99
+ * @example
100
+ * await client.inboxes.apiKeys.create("inbox_id", {
101
+ * name: "name"
102
+ * })
103
+ */
104
+ create(inbox_id, request, requestOptions) {
105
+ return core.HttpResponsePromise.fromPromise(this.__create(inbox_id, request, requestOptions));
106
+ }
107
+ __create(inbox_id, request, requestOptions) {
108
+ return __awaiter(this, void 0, void 0, function* () {
109
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
110
+ const _authRequest = yield this._options.authProvider.getAuthRequest();
111
+ 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);
112
+ const _response = yield core.fetcher({
113
+ 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)
114
+ .http, `/v0/inboxes/${core.url.encodePathParam(serializers.inboxes.InboxId.jsonOrThrow(inbox_id, { omitUndefined: true }))}/api-keys`),
115
+ method: "POST",
116
+ headers: _headers,
117
+ contentType: "application/json",
118
+ queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
119
+ requestType: "json",
120
+ body: serializers.CreateApiKeyRequest.jsonOrThrow(request, {
121
+ unrecognizedObjectKeys: "strip",
122
+ omitUndefined: true,
123
+ }),
124
+ 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,
125
+ 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,
126
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
127
+ fetchFn: (_j = this._options) === null || _j === void 0 ? void 0 : _j.fetch,
128
+ logging: this._options.logging,
129
+ });
130
+ if (_response.ok) {
131
+ return {
132
+ data: serializers.CreateApiKeyResponse.parseOrThrow(_response.body, {
133
+ unrecognizedObjectKeys: "passthrough",
134
+ allowUnrecognizedUnionMembers: true,
135
+ allowUnrecognizedEnumValues: true,
136
+ skipValidation: true,
137
+ breadcrumbsPrefix: ["response"],
138
+ }),
139
+ rawResponse: _response.rawResponse,
140
+ };
141
+ }
142
+ if (_response.error.reason === "status-code") {
143
+ switch (_response.error.statusCode) {
144
+ case 404:
145
+ throw new AgentMail.NotFoundError(serializers.ErrorResponse.parseOrThrow(_response.error.body, {
146
+ unrecognizedObjectKeys: "passthrough",
147
+ allowUnrecognizedUnionMembers: true,
148
+ allowUnrecognizedEnumValues: true,
149
+ skipValidation: true,
150
+ breadcrumbsPrefix: ["response"],
151
+ }), _response.rawResponse);
152
+ case 400:
153
+ throw new AgentMail.ValidationError(serializers.ValidationErrorResponse.parseOrThrow(_response.error.body, {
154
+ unrecognizedObjectKeys: "passthrough",
155
+ allowUnrecognizedUnionMembers: true,
156
+ allowUnrecognizedEnumValues: true,
157
+ skipValidation: true,
158
+ breadcrumbsPrefix: ["response"],
159
+ }), _response.rawResponse);
160
+ default:
161
+ throw new errors.AgentMailError({
162
+ statusCode: _response.error.statusCode,
163
+ body: _response.error.body,
164
+ rawResponse: _response.rawResponse,
165
+ });
166
+ }
167
+ }
168
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v0/inboxes/{inbox_id}/api-keys");
169
+ });
170
+ }
171
+ /**
172
+ * @param {AgentMail.inboxes.InboxId} inbox_id
173
+ * @param {AgentMail.ApiKeyId} api_key
174
+ * @param {ApiKeysClient.RequestOptions} requestOptions - Request-specific configuration.
175
+ *
176
+ * @throws {@link AgentMail.NotFoundError}
177
+ *
178
+ * @example
179
+ * await client.inboxes.apiKeys.delete("inbox_id", "api_key")
180
+ */
181
+ delete(inbox_id, api_key, requestOptions) {
182
+ return core.HttpResponsePromise.fromPromise(this.__delete(inbox_id, api_key, requestOptions));
183
+ }
184
+ __delete(inbox_id, api_key, requestOptions) {
185
+ return __awaiter(this, void 0, void 0, function* () {
186
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
187
+ const _authRequest = yield this._options.authProvider.getAuthRequest();
188
+ 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);
189
+ const _response = yield core.fetcher({
190
+ 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)
191
+ .http, `/v0/inboxes/${core.url.encodePathParam(serializers.inboxes.InboxId.jsonOrThrow(inbox_id, { omitUndefined: true }))}/api-keys/${core.url.encodePathParam(serializers.ApiKeyId.jsonOrThrow(api_key, { omitUndefined: true }))}`),
192
+ method: "DELETE",
193
+ headers: _headers,
194
+ queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
195
+ 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,
196
+ 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,
197
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
198
+ fetchFn: (_j = this._options) === null || _j === void 0 ? void 0 : _j.fetch,
199
+ logging: this._options.logging,
200
+ });
201
+ if (_response.ok) {
202
+ return { data: undefined, rawResponse: _response.rawResponse };
203
+ }
204
+ if (_response.error.reason === "status-code") {
205
+ switch (_response.error.statusCode) {
206
+ case 404:
207
+ throw new AgentMail.NotFoundError(serializers.ErrorResponse.parseOrThrow(_response.error.body, {
208
+ unrecognizedObjectKeys: "passthrough",
209
+ allowUnrecognizedUnionMembers: true,
210
+ allowUnrecognizedEnumValues: true,
211
+ skipValidation: true,
212
+ breadcrumbsPrefix: ["response"],
213
+ }), _response.rawResponse);
214
+ default:
215
+ throw new errors.AgentMailError({
216
+ statusCode: _response.error.statusCode,
217
+ body: _response.error.body,
218
+ rawResponse: _response.rawResponse,
219
+ });
220
+ }
221
+ }
222
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/v0/inboxes/{inbox_id}/api-keys/{api_key}");
223
+ });
224
+ }
225
+ }
@@ -0,0 +1 @@
1
+ export * from "./requests/index.mjs";
@@ -0,0 +1 @@
1
+ export * from "./requests/index.mjs";
@@ -0,0 +1,9 @@
1
+ import type * as AgentMail from "../../../../../../index.mjs";
2
+ /**
3
+ * @example
4
+ * {}
5
+ */
6
+ export interface ListApiKeysRequest {
7
+ limit?: AgentMail.Limit;
8
+ pageToken?: AgentMail.PageToken;
9
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1 @@
1
+ export type { ListApiKeysRequest } from "./ListApiKeysRequest.mjs";
@@ -0,0 +1 @@
1
+ export * from "./client/index.mjs";
@@ -0,0 +1 @@
1
+ export * from "./client/index.mjs";
@@ -1,3 +1,5 @@
1
+ export * from "./apiKeys/client/requests/index.mjs";
2
+ export * as apiKeys from "./apiKeys/index.mjs";
1
3
  export * from "./drafts/client/requests/index.mjs";
2
4
  export * as drafts from "./drafts/index.mjs";
3
5
  export * from "./lists/client/requests/index.mjs";
@@ -1,3 +1,5 @@
1
+ export * from "./apiKeys/client/requests/index.mjs";
2
+ export * as apiKeys from "./apiKeys/index.mjs";
1
3
  export * from "./drafts/client/requests/index.mjs";
2
4
  export * as drafts from "./drafts/index.mjs";
3
5
  export * from "./lists/client/requests/index.mjs";
@@ -12,6 +12,7 @@ export declare namespace ApiKey {
12
12
  prefix: Prefix.Raw;
13
13
  name: Name.Raw;
14
14
  pod_id?: string | null;
15
+ inbox_id?: string | null;
15
16
  used_at?: string | null;
16
17
  created_at: CreatedAt.Raw;
17
18
  }
@@ -9,6 +9,7 @@ export const ApiKey = core.serialization.object({
9
9
  prefix: Prefix,
10
10
  name: Name,
11
11
  podId: core.serialization.property("pod_id", core.serialization.string().optional()),
12
+ inboxId: core.serialization.property("inbox_id", core.serialization.string().optional()),
12
13
  usedAt: core.serialization.property("used_at", core.serialization.date().optional()),
13
14
  createdAt: core.serialization.property("created_at", CreatedAt),
14
15
  });
@@ -13,6 +13,7 @@ export declare namespace CreateApiKeyResponse {
13
13
  prefix: Prefix.Raw;
14
14
  name: Name.Raw;
15
15
  pod_id?: string | null;
16
+ inbox_id?: string | null;
16
17
  created_at: CreatedAt.Raw;
17
18
  }
18
19
  }
@@ -10,5 +10,6 @@ export const CreateApiKeyResponse = core.serialization.object({
10
10
  prefix: Prefix,
11
11
  name: Name,
12
12
  podId: core.serialization.property("pod_id", core.serialization.string().optional()),
13
+ inboxId: core.serialization.property("inbox_id", core.serialization.string().optional()),
13
14
  createdAt: core.serialization.property("created_at", CreatedAt),
14
15
  });
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "0.4.8";
1
+ export declare const SDK_VERSION = "0.4.9";
@@ -1 +1 @@
1
- export const SDK_VERSION = "0.4.8";
1
+ export const SDK_VERSION = "0.4.9";
@@ -3226,7 +3226,7 @@ The Model Context Protocol (MCP) is an open standard that enables AI application
3226
3226
  Install with:
3227
3227
 
3228
3228
  ```bash
3229
- npx @smithery/cli@latest mcp add agentmail
3229
+ npx add-mcp https://mcp.agentmail.to
3230
3230
  ```
3231
3231
 
3232
3232
  Configure your API key when prompted. Get your key from the [AgentMail Console](https://console.agentmail.to). For more details, visit [mcp.agentmail.to](https://mcp.agentmail.to).
@@ -10879,12 +10879,12 @@ We hope this provides a clear and transparent look into why these DNS records ar
10879
10879
  ***
10880
10880
 
10881
10881
  title: SOC 2 Compliance
10882
- description: AgentMail's SOC 2 Type I achievement and Type II certification progress.
10882
+ description: AgentMail's SOC 2 Type I and Type II compliance.
10883
10883
  sidebar\_position: 40
10884
- lastUpdated: '2025-11-02'
10884
+ lastUpdated: '2026-03-17'
10885
10885
  -------------------------
10886
10886
 
10887
- > AgentMail has **achieved SOC 2 Type I compliance** (July 2025) and is currently working toward **Type II certification** (target: Q1 2026).
10887
+ > AgentMail has achieved **SOC 2 Type I** (July 2025) and **Type II** (Q1 2026) compliance.
10888
10888
 
10889
10889
  ***
10890
10890
 
@@ -10895,19 +10895,19 @@ lastUpdated: '2025-11-02'
10895
10895
  **Completed July 2025** - Controls properly designed and in place
10896
10896
  </Card>
10897
10897
 
10898
- <Card title="Type II In Progress" icon="spinner">
10899
- **Target Q1 2026** - Demonstrating operational effectiveness over time
10898
+ <Card title="Type II Achieved" icon="check-circle">
10899
+ **Completed Q1 2026** - Operational effectiveness validated over time
10900
10900
  </Card>
10901
10901
  </CardGroup>
10902
10902
 
10903
10903
  ### Compliance Timeline
10904
10904
 
10905
- | Phase | Period | Status |
10906
- | ------------------------------ | ------------------- | ----------- |
10907
- | **Type I Preparation** | June 2025 | Completed |
10908
- | **Type I Assessment** | July 2025 | Completed |
10909
- | **Type II Observation Period** | Aug 2025 - Dec 2025 | In Progress |
10910
- | **Type II Certification** | Q1 2026 | Target |
10905
+ | Phase | Period | Status |
10906
+ | ------------------------------ | ------------------- | --------- |
10907
+ | **Type I Preparation** | June 2025 | Completed |
10908
+ | **Type I Assessment** | July 2025 | Completed |
10909
+ | **Type II Observation Period** | Aug 2025 - Dec 2025 | Completed |
10910
+ | **Type II Certification** | Q1 2026 | Completed |
10911
10911
 
10912
10912
  ***
10913
10913
 
@@ -10927,14 +10927,14 @@ lastUpdated: '2025-11-02'
10927
10927
  * **Type II**: Validates that controls **operate effectively** over a period (typically 6–12 months).
10928
10928
 
10929
10929
  <Callout intent="success">
10930
- AgentMail's SOC 2 Type I report confirms that our security infrastructure is properly designed and implemented.
10930
+ AgentMail's SOC 2 Type I and Type II reports confirm that our security infrastructure is properly designed, implemented, and operates effectively over time.
10931
10931
  </Callout>
10932
10932
 
10933
10933
  ***
10934
10934
 
10935
10935
  ## Security Controls Implemented
10936
10936
 
10937
- The following controls have been audited and verified as part of our SOC 2 Type I compliance:
10937
+ The following controls have been audited and verified as part of our SOC 2 Type I & Type II compliance:
10938
10938
 
10939
10939
  ### Access Control
10940
10940
 
@@ -10985,26 +10985,22 @@ See [Email Protocols](https://docs.agentmail.to/email-protocols) for technical d
10985
10985
  | Incident Response | Runbooks, post-mortems, disclosure program | CC7.4–CC7.5 |
10986
10986
  | Workforce Security | Security training, NDAs, background checks | CC5.3–CC5.4 |
10987
10987
 
10988
- > The above mappings reflect our audited Type I controls and are maintained during the Type II observation period.
10988
+ > The above mappings reflect our audited Type I and Type II controls.
10989
10989
 
10990
10990
  ***
10991
10991
 
10992
- ## Type II Certification Progress
10992
+ ## Type II Certification
10993
10993
 
10994
- AgentMail is currently in the **Type II observation period** (August 2025 - December 2025), during which an independent auditor is testing and validating that our security controls operate effectively over time.
10994
+ AgentMail completed the **Type II observation period** (August 2025 - December 2025) and received full **SOC 2 Type II certification** in Q1 2026 from an independent CPA firm.
10995
10995
 
10996
- ### What's Being Tested
10996
+ ### What Was Validated
10997
10997
 
10998
- * **Continuous Operation**: Controls function consistently without gaps
10998
+ * **Continuous Operation**: Controls functioned consistently without gaps
10999
10999
  * **Change Management**: Security maintained through system updates and changes
11000
11000
  * **Evidence Collection**: Logs, tickets, training records, access reviews
11001
- * **Incident Handling**: Real-world response to security events (if any)
11001
+ * **Incident Handling**: Real-world response to security events
11002
11002
 
11003
- ### Expected Completion
11004
-
11005
- **Q1 2026** - Full SOC 2 Type II certification report from independent CPA firm
11006
-
11007
- Type II certification provides the highest level of assurance that AgentMail's security controls are not only well-designed but also operate effectively over time.
11003
+ SOC 2 Type II certification provides the highest level of assurance that AgentMail's security controls are not only well-designed but also operate effectively over time.
11008
11004
 
11009
11005
  ***
11010
11006
 
package/dist/llms.txt CHANGED
@@ -44,7 +44,7 @@
44
44
  - [Join the AgentMail Community](https://docs.agentmail.to/community.mdx): Connect with the AgentMail team and developers, share what you're building, and get support.
45
45
  - [Support](https://docs.agentmail.to/support.mdx): Get help with AgentMail through our support channels.
46
46
  - [Understanding Email Authentication (SPF, DKIM, DMARC)](https://docs.agentmail.to/email-protocols.mdx): Learn why we ask for DNS records and what SPF, DKIM, and DMARC are.
47
- - [SOC 2 Compliance](https://docs.agentmail.to/documentation/resources/security-privacy/soc-2-compliance.mdx): AgentMail's SOC 2 Type I achievement and Type II certification progress.
47
+ - [SOC 2 Compliance](https://docs.agentmail.to/documentation/resources/security-privacy/soc-2-compliance.mdx): AgentMail's SOC 2 Type I and Type II compliance.
48
48
  - [Spam & Virus Detection](https://docs.agentmail.to/spam-virus-detection.mdx): How AgentMail automatically scans incoming emails for spam and viruses.
49
49
  - [API Welcome](https://docs.agentmail.to/api-reference.mdx): Quick overview of the AgentMail SDK
50
50
  - [Knowledge Base](https://docs.agentmail.to/knowledge-base.mdx): A collection of answers to frequently asked questions.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentmail",
3
- "version": "0.4.8",
3
+ "version": "0.4.9",
4
4
  "private": false,
5
5
  "repository": {
6
6
  "type": "git",