@crvouga/mockingbird-service-resend 2.1.0 → 2.3.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/CHANGELOG.md CHANGED
@@ -1,5 +1,39 @@
1
1
  # Changelog — @crvouga/mockingbird-service-resend
2
2
 
3
+ ## 2.3.0 (2026-10-05)
4
+
5
+ ### Features
6
+
7
+ - compose mock admin APIs ([952bd1f](https://github.com/crvouga/mockingbird/commit/952bd1f679bd442c9a5348a0d9c4d40ad0ac165c))
8
+ - add Fargate task acceptance mock ([f65fc3f](https://github.com/crvouga/mockingbird/commit/f65fc3f293b2fdb41fd45dd1693a5420c6a5109a))
9
+ - keep resource views live ([82c80e1](https://github.com/crvouga/mockingbird/commit/82c80e110b4aa551a17d0ee451c5d08167755267))
10
+ - add LocalStack free tier mocks ([84b7d0c](https://github.com/crvouga/mockingbird/commit/84b7d0ccf4acc7257bb3c3b466a38e30d5b4ab33))
11
+ - implement github reference semantics ([10143e8](https://github.com/crvouga/mockingbird/commit/10143e8364905d77ccfa188d8b6573b1f1003c56))
12
+ - implement docker attach upgrade handshake ([39ad1a3](https://github.com/crvouga/mockingbird/commit/39ad1a39b47aeb423b11bc96230d59f1f5985fa0))
13
+ - preserve accepted docker mutations across response loss ([c2b2d7d](https://github.com/crvouga/mockingbird/commit/c2b2d7dafffe653b3ae9667ec5019d342a68e802))
14
+
15
+ ### Fixes and improvements
16
+
17
+ - reconcile combined PR integration ([124d5be](https://github.com/crvouga/mockingbird/commit/124d5bed7576535ff481ce6da7d2369957799665))
18
+ - preserve inferred form headers ([02bdd28](https://github.com/crvouga/mockingbird/commit/02bdd2806a9a934607ecd7ffd0cfbe4f6ba80c91))
19
+
20
+ ### Dependencies
21
+
22
+ - `@crvouga/mockingbird-service-sqlite`
23
+
24
+ ## 2.2.0 (2026-10-04)
25
+
26
+ ### Features
27
+
28
+ - add scripted local API mock ([4a76a11](https://github.com/crvouga/mockingbird/commit/4a76a114e2efad45934e0a93cf29576fd418e15c))
29
+ - add email collection pagination ([c75ffb9](https://github.com/crvouga/mockingbird/commit/c75ffb9db5a04eff4965de8f378b931d56cd8d60))
30
+ - add email collection pagination ([ae926d0](https://github.com/crvouga/mockingbird/commit/ae926d0e91a283e7ad834711bf8e279916f79684))
31
+
32
+ ### Fixes and improvements
33
+
34
+ - support embedded route parameters ([127cad9](https://github.com/crvouga/mockingbird/commit/127cad997ef106950c1b866070eea191ba54403f))
35
+ - preserve namespace URLs after main sync ([62a15ce](https://github.com/crvouga/mockingbird/commit/62a15ce9bd453069bde69e3a30c91efc01f8871b))
36
+
3
37
  ## 2.1.0 (2026-10-04)
4
38
 
5
39
  ### Features
@@ -12,10 +46,6 @@
12
46
  - fill the embedded viewport ([c1a35a4](https://github.com/crvouga/mockingbird/commit/c1a35a4789389ee9cd06c286d09bd47c4d06c71e))
13
47
  - make dialog cleanup immediate ([0c1a3c5](https://github.com/crvouga/mockingbird/commit/0c1a3c5b12584d50c19dcae595b951b8e5417b9c))
14
48
 
15
- ### Dependencies
16
-
17
- - `@crvouga/mockingbird-service-sqlite`
18
-
19
49
  ## 2.0.0 (2026-10-04)
20
50
 
21
51
  ### ⚠️ Breaking changes
package/README.md CHANGED
@@ -77,6 +77,8 @@ await mock.close()
77
77
  | --- | --- |
78
78
  | `POST /emails` | `{from, to, subject, html?, text?, cc?, bcc?, reply_to?, headers?, tags?, attachments?, scheduled_at?}` → `{id}` (a UUID). The SDK renders `react` to HTML before sending, so the mock sees HTML. Violations answer Resend's body `{statusCode, name, message}`: 422 `missing_required_field` (`Missing \`to\` field.`, or no `html`/`text`), 422 `validation_error` for a malformed address (`Invalid \`from\` field. The email address needs to follow …`), a tag outside `[A-Za-z0-9_-]`, or any other contract violation. `Idempotency-Key`: the same key and payload replay the first 200 byte for byte (`idempotent-replayed: true`); another payload is 409 `invalid_idempotent_request`; a key still in flight is 409 `concurrent_idempotent_requests`; a key outside 1–256 characters is 400 `invalid_idempotency_key`. Only 200s are remembered. |
79
79
  | `GET /emails/{id}` | `emails.get`: `{object: "email", id, to, from, created_at, subject, html, text, cc, bcc, reply_to, last_event: "delivered" \| "scheduled", scheduled_at, headers, tags}`. `headers` keeps the names and values from the send; `to` keeps the original address form and order. |
80
+ | `GET /emails` | Newest-first sent email metadata, `{object: "list", has_more, data}`. `limit` defaults to 20 (1–100); `after`/`before` use email IDs and exclude the cursor. Content is available from the detail endpoint. |
81
+ | `GET /emails/receiving` | Newest-first received email metadata with the same envelope and ID cursors. Without `limit`, returns every received email; an explicit limit must be 1–100. Includes attachment metadata and size. |
80
82
  | `GET /emails/receiving/{id}` | A received email: `{object: "email", id, to, from, cc, bcc, reply_to, created_at, subject, html, text, headers, message_id, attachments[{id, filename, content_type, content_disposition, content_id}]}`. |
81
83
  | `GET /emails/receiving/{id}/attachments` | `{object: "list", has_more: false, data: [{id, filename, content_type, content_disposition, content_id, size, download_url, expires_at}]}`. |
82
84
  | `GET /downloads/inbound/{attachment_id}` | The `download_url`: unauthenticated, the bytes with `content-type` and `content-length`. In a non-default namespace the URL carries `/__admin/ns/<name>`. |
package/SUPPORT.md CHANGED
@@ -2,14 +2,16 @@
2
2
 
3
3
  Generated from `openapi.yaml`; do not edit by hand.
4
4
 
5
- - operations in spec: **5**
6
- - supported by the mock: **5**
7
- - parity enabled: **5**
5
+ - operations in spec: **7**
6
+ - supported by the mock: **7**
7
+ - parity enabled: **7**
8
8
 
9
9
  | operationId | route | mock | parity | notes |
10
10
  | --- | --- | --- | --- | --- |
11
+ | `ListEmails` | `GET /emails` | ✅ supported | ✅ | |
11
12
  | `SendEmail` | `POST /emails` | ✅ supported | ⚠️ unsafe (opt-in) | |
12
13
  | `GetEmail` | `GET /emails/{email_id}` | ✅ supported | ✅ | |
14
+ | `ListReceivedEmails` | `GET /emails/receiving` | ✅ supported | ✅ | |
13
15
  | `GetReceivedEmail` | `GET /emails/receiving/{email_id}` | ✅ supported | ✅ | |
14
16
  | `ListReceivedEmailAttachments` | `GET /emails/receiving/{email_id}/attachments` | ✅ supported | ✅ | |
15
17
  | `DownloadReceivedAttachment` | `GET /downloads/inbound/{attachment_id}` | ✅ supported | ✅ | |
@@ -3,7 +3,7 @@ import {
3
3
  createRuntime,
4
4
  parseDuration,
5
5
  resolveAdminPrefix
6
- } from "./chunk-JNTBSBDY.js";
6
+ } from "./chunk-7JT35SJS.js";
7
7
 
8
8
  // ../../adapters/node/dist/cli.js
9
9
  import { readFile as readFile2 } from "node:fs/promises";
@@ -858,4 +858,4 @@ export {
858
858
  createServer2 as createServer,
859
859
  serveTarget
860
860
  };
861
- //# sourceMappingURL=chunk-FT6SKLHQ.js.map
861
+ //# sourceMappingURL=chunk-45EAUQ3N.js.map