@mailkite/mcp 0.3.0 → 0.5.0
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.
- package/package.json +2 -2
- package/spec/api.json +284 -42
- package/spec/cases.json +648 -108
- package/spec/schemas/decrypt-request.json +19 -0
- package/spec/schemas/encrypt-request.json +19 -0
- package/spec/schemas/send-request.json +3 -3
- package/spec/schemas/upload-attachment-request.json +18 -0
- package/spec/schemas/upload-attachment-response.json +14 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "decrypt-request",
|
|
4
|
+
"title": "Decrypt request",
|
|
5
|
+
"description": "Inputs to decrypt — a local hybrid-envelope decryption, no API call.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": ["envelope", "privateKey"],
|
|
8
|
+
"additionalProperties": false,
|
|
9
|
+
"properties": {
|
|
10
|
+
"envelope": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"description": "The at-rest envelope JSON string ({v,keyAlg,fp,enc,iv,wrappedKey,ciphertext}) from MailKite."
|
|
13
|
+
},
|
|
14
|
+
"privateKey": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"description": "Your RSA private key in PKCS8/PEM form (-----BEGIN PRIVATE KEY-----) — the match to the public key the envelope was wrapped to."
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "encrypt-request",
|
|
4
|
+
"title": "Encrypt request",
|
|
5
|
+
"description": "Inputs to encrypt — a local hybrid-envelope encryption, no API call.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": ["plaintext", "publicKey"],
|
|
8
|
+
"additionalProperties": false,
|
|
9
|
+
"properties": {
|
|
10
|
+
"plaintext": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"description": "The UTF-8 string to encrypt (e.g. a message body you're about to store)."
|
|
13
|
+
},
|
|
14
|
+
"publicKey": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"description": "The recipient domain's RSA public key in SPKI/PEM form (-----BEGIN PUBLIC KEY-----), ≥2048-bit."
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -37,9 +37,9 @@
|
|
|
37
37
|
"required": ["filename"],
|
|
38
38
|
"properties": {
|
|
39
39
|
"filename": { "type": "string" },
|
|
40
|
-
"url": { "type": "string" },
|
|
41
|
-
"content": { "type": "string" },
|
|
42
|
-
"contentType": { "type": "string" }
|
|
40
|
+
"url": { "type": "string", "description": "Fetch the file from this URL at send time and attach it. Any URL works; an uploadAttachment() URL is the secure, recommended choice. Prefer this over `content` for large files." },
|
|
41
|
+
"content": { "type": "string", "description": "Inline file bytes as base64. Simple for tiny files, but re-uploaded on every send — use `url` (see uploadAttachment) for anything large." },
|
|
42
|
+
"contentType": { "type": "string", "description": "MIME type; defaults to application/octet-stream." }
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "upload-attachment-request",
|
|
4
|
+
"title": "Upload attachment request body",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": ["filename", "content"],
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"properties": {
|
|
9
|
+
"filename": { "type": "string", "description": "The file's name, e.g. \"invoice.pdf\". Shown to recipients on download." },
|
|
10
|
+
"content": { "type": "string", "description": "The file bytes, base64-encoded." },
|
|
11
|
+
"contentType": { "type": "string", "description": "MIME type, e.g. \"application/pdf\". Defaults to application/octet-stream." },
|
|
12
|
+
"retentionDays": {
|
|
13
|
+
"type": "integer",
|
|
14
|
+
"enum": [7, 30, 90, 365],
|
|
15
|
+
"description": "How long the file (and its signed URL) stays valid. One of 7, 30, 90, 365. Defaults to 7."
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "upload-attachment-response",
|
|
4
|
+
"title": "Upload attachment response",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"id": { "type": "string", "description": "Storage key for the uploaded file." },
|
|
8
|
+
"url": { "type": "string", "description": "Secure, time-limited URL. Pass it as an attachment's `url` in send(), or link it inline in your HTML." },
|
|
9
|
+
"filename": { "type": "string" },
|
|
10
|
+
"contentType": { "type": "string" },
|
|
11
|
+
"size": { "type": "integer", "description": "Stored size in bytes." },
|
|
12
|
+
"expiresAt": { "type": "string", "description": "ISO-8601 timestamp when the file and URL expire." }
|
|
13
|
+
}
|
|
14
|
+
}
|