@pidgeon-ai/sdk 1.14.1 → 1.16.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,7 +7,35 @@ 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
- ## Unreleased
10
+ ## 1.16.1 — a refused send says so
11
+
12
+ The contract declares `400` and `403` on every send — `messagesSend`,
13
+ `messagesReply`, `messagesReplyAll`, `messagesForward`, `draftsSend` — and
14
+ `409` on `messagesSend`. No request or success shape changes. The Python
15
+ client returned `None` for a `403` (a sending limit, a rule, the send
16
+ policy) because the status was not in the document; it returns the `Error`
17
+ now, so check for it before treating a send as done.
18
+
19
+ ## 1.16.0 — an attachment as text
20
+
21
+ `attachmentsText` (`GET /attachments/{id}/text`) returns a text attachment —
22
+ CSV, log, JSON, calendar — as text, up to 5 MB and 200,000 characters, with
23
+ a Pidgeon Firewall verdict judged with the message's sender. `body: 'clean'`
24
+ returns the cleaned text. HTML, PDF, Office files and images are refused.
25
+
26
+ ## 1.15.0 — a read says what it held back
27
+
28
+ `GET /messages/await` returns `held_back`: matching messages that arrived
29
+ and were filed as spam, by count and id, so a wait that times out on a code
30
+ from a sender whose authentication failed no longer reads as "nothing came".
31
+ `include_spam=true` returns such a message instead. The inbox page of
32
+ `GET /mailboxes/{folder}` carries `held_back.spam`, the unread messages in
33
+ Spam, because an inbox that looks empty may not be.
34
+
35
+ ## 1.14.2 — the PyPI page is the Python README
36
+
37
+ No change to the API or the exported surface. Released with the Python
38
+ client, whose PyPI page is now its own README rather than a shorter copy.
11
39
 
12
40
  ## 1.14.1 — the README leads with the job
13
41
 
package/dist/index.cjs CHANGED
@@ -29,6 +29,7 @@ __export(index_exports, {
29
29
  appPasswordsList: () => appPasswordsList,
30
30
  appPasswordsRevoke: () => appPasswordsRevoke,
31
31
  attachmentsDownloadUrl: () => attachmentsDownloadUrl,
32
+ attachmentsText: () => attachmentsText,
32
33
  attachmentsUpload: () => attachmentsUpload,
33
34
  calendarCreateEvent: () => calendarCreateEvent,
34
35
  calendarDeleteEvent: () => calendarDeleteEvent,
@@ -1647,6 +1648,11 @@ var attachmentsDownloadUrl = (options) => (options.client ?? client).get({
1647
1648
  url: "/attachments/{id}",
1648
1649
  ...options
1649
1650
  });
1651
+ var attachmentsText = (options) => (options.client ?? client).get({
1652
+ security: [{ scheme: "bearer", type: "http" }],
1653
+ url: "/attachments/{id}/text",
1654
+ ...options
1655
+ });
1650
1656
 
1651
1657
  // src/webhooks.ts
1652
1658
  var SIGNATURE_HEADER = "x-pidgeon-signature";
@@ -1808,6 +1814,7 @@ function sleep(ms, signal) {
1808
1814
  appPasswordsList,
1809
1815
  appPasswordsRevoke,
1810
1816
  attachmentsDownloadUrl,
1817
+ attachmentsText,
1811
1818
  attachmentsUpload,
1812
1819
  calendarCreateEvent,
1813
1820
  calendarDeleteEvent,