@pidgeon-ai/sdk 1.18.0 → 1.19.1

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
@@ -7,6 +7,32 @@ the two would publish a release for every unrelated product deploy.
7
7
  Semver applies to **this package's own surface** — the exported names, the
8
8
  call shapes, the result shape — not to the API behind it.
9
9
 
10
+ ## 1.19.1 — the default wait is under a minute
11
+
12
+ `GET /messages/await` waits 50 seconds when no `timeout` is given, down
13
+ from 60. Clients that give up on a request at 60 seconds — the TypeScript
14
+ Agents SDK, Claude Code's MCP client — failed the default wait exactly when
15
+ no message came. An explicit `timeout` up to 280 behaves as before.
16
+
17
+ ## 1.19.0 — every status is declared, and Python raises
18
+
19
+ The contract declares every status a route can answer with, read off the
20
+ code rather than written from memory: `400`, `403`, `409`, `500` and `503`
21
+ on every operation beside the `401`, `404` and `429` it had, `402` where a
22
+ plan can say no, and `410` on calendar events and `mailboxesChanges`. In
23
+ this package that widens each operation's error type; no request or success
24
+ shape changes, and `error` held every failure already.
25
+
26
+ **The Python client raises.** A status from 400 up raises
27
+ `pidgeon.errors.PidgeonError`, carrying `status_code`, `code`, `message`,
28
+ `field` and `retry_after`, instead of returning `Error` for a declared status
29
+ and `None` for any other. A call returns its success model or raises, so a
30
+ refused send can no longer pass for a sent one. Code that checked
31
+ `isinstance(result, Error)` sees the exception instead.
32
+
33
+ **The CLI** (1.8.4) exits 1 on a refusal and prints `403 abuse_blocked: …`;
34
+ it exited 2 with the sentence alone, as if the flags were wrong.
35
+
10
36
  ## 1.18.0 — the key you mint comes back with its token
11
37
 
12
38
  `POST /api-keys` is typed as `ApiKeyCreated`: the key plus its `token`,