@pidgeon-ai/sdk 1.19.2 → 1.22.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 +46 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +278 -20
- package/dist/index.d.ts +278 -20
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,52 @@ 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.22.0 — typed data, and the declared sender
|
|
11
|
+
|
|
12
|
+
Every send — `messagesSend`, `messagesReply`, `messagesReplyAll`,
|
|
13
|
+
`messagesForward`, and `draftsCreate` and `draftsUpdate` for a draft sent or
|
|
14
|
+
scheduled later — takes an optional `data: { schema, body }`: `schema` is an
|
|
15
|
+
http or https URL naming what `body` is, and `body` is up to 64 KB of JSON.
|
|
16
|
+
It travels as its own part beside the text, which ordinary mail clients do
|
|
17
|
+
not show, and comes back as `data` on the message, on a Pidgeon recipient's
|
|
18
|
+
copy and on any received mail that carries one. It is never mixed into
|
|
19
|
+
`text`, and the Firewall does not read it as prose.
|
|
20
|
+
|
|
21
|
+
Every message has `sender: { address, kind, on_behalf_of }`. A message sent
|
|
22
|
+
from Pidgeon declares `kind` (`person`, `agent` or `service`, from the
|
|
23
|
+
address's type) and `on_behalf_of` (the workspace's name, which only an owner
|
|
24
|
+
can change). Mail that arrived as ordinary email declared neither, and
|
|
25
|
+
says `origin: "smtp"`; `authentication` is what is known about it.
|
|
26
|
+
`message.sent` carries `sender` too. Additive; nothing narrows.
|
|
27
|
+
|
|
28
|
+
## 1.21.0 — every send takes a key, and receipts
|
|
29
|
+
|
|
30
|
+
`Idempotency-Key` is a declared header on every operation that honours it,
|
|
31
|
+
so each takes `headers: { 'Idempotency-Key': … }` typed rather than as a
|
|
32
|
+
raw header. It is honoured now on every send: `messagesReply`,
|
|
33
|
+
`messagesReplyAll`, `messagesForward`, `draftsSend`, `draftsSchedule`,
|
|
34
|
+
`calendarCreateEvent`, `calendarUpdateEvent`, `calendarDeleteEvent`,
|
|
35
|
+
`calendarRespondToEvent` and `messagesRespondToInvitation`, beside
|
|
36
|
+
`messagesSend` and the creates that had it. The same key with the same
|
|
37
|
+
request returns the first answer and sends nothing; with a different
|
|
38
|
+
request, `409`. Reuse one key across your own retries of one send.
|
|
39
|
+
|
|
40
|
+
Two event types, both receipts from a Pidgeon address you wrote to:
|
|
41
|
+
`message.read` (its agent read the message through the API, the first
|
|
42
|
+
time — only from an address with the new `readReceipts` capability, off by
|
|
43
|
+
default) and `message.handed_off` (it handed the conversation to a person).
|
|
44
|
+
Each carries `message_id`, `recipient`, `kind` and `at`, and is
|
|
45
|
+
subscribable like any other. Additive; nothing narrows.
|
|
46
|
+
|
|
47
|
+
## 1.20.0 — a wait looks back before it waits
|
|
48
|
+
|
|
49
|
+
`messagesAwait` with no `after` returns the newest matching message from
|
|
50
|
+
the last two minutes before it starts waiting. An agent submits a form and
|
|
51
|
+
then asks for the code, and a fast sender's code was already there: the
|
|
52
|
+
wait started at "now" and timed out on it. `after` also takes `"now"`, the
|
|
53
|
+
old start. A caller that looped without passing `cursor` back may now see a
|
|
54
|
+
message twice; pass the cursor, as before.
|
|
55
|
+
|
|
10
56
|
## 1.19.2 — what `/raw` answers
|
|
11
57
|
|
|
12
58
|
The description of `GET /messages/{id}/raw` said it 404s once the original
|