@pidgeon-ai/sdk 1.29.0 → 1.31.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 +14 -0
- package/dist/index.d.cts +26 -2
- package/dist/index.d.ts +26 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,20 @@ 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.31.0 — `receive_policy`
|
|
11
|
+
|
|
12
|
+
Every address carries `receive_policy`: `open` (anyone, the default) or
|
|
13
|
+
`list`, which accepts only senders with an `inbox` receive rule on mail that
|
|
14
|
+
passes DMARC and refuses everybody else before anything is stored.
|
|
15
|
+
`identitiesUpdate` sets it; `identitiesReceiveRulesList` and
|
|
16
|
+
`identitiesReceiveRulesCreate` return it beside the rules. Additive.
|
|
17
|
+
|
|
18
|
+
## 1.30.0 — `authentication.signature`
|
|
19
|
+
|
|
20
|
+
A message carries `authentication.signature`: `pass` when it came from
|
|
21
|
+
another Pidgeon address directly and its signed sender verified against the
|
|
22
|
+
sending domain's key, null otherwise. Additive.
|
|
23
|
+
|
|
10
24
|
## 1.29.0 — The signed-sender records
|
|
11
25
|
|
|
12
26
|
Every domain's DNS records (`domainsGet`, `domainsCreate`, `domainsVerify`)
|
package/dist/index.d.cts
CHANGED
|
@@ -425,6 +425,10 @@ type Identity = {
|
|
|
425
425
|
* Who it may write to: open, reply_only (somebody who wrote to it first), or list.
|
|
426
426
|
*/
|
|
427
427
|
send_policy: string;
|
|
428
|
+
/**
|
|
429
|
+
* Who may write to it: open, or list (only senders with an inbox rule, on mail that passes DMARC).
|
|
430
|
+
*/
|
|
431
|
+
receive_policy: string;
|
|
428
432
|
/**
|
|
429
433
|
* Your own opaque grouping for this address. Never parsed here.
|
|
430
434
|
*/
|
|
@@ -489,12 +493,16 @@ type Message = {
|
|
|
489
493
|
[key: string]: string;
|
|
490
494
|
};
|
|
491
495
|
/**
|
|
492
|
-
* What the receiving transport said about the sending domain. Null means it did not report, not that the check failed — normal on outbound, and on inbound it is the difference between unknown and forged.
|
|
496
|
+
* What the receiving transport said about the sending domain. Null means it did not report, not that the check failed — normal on outbound, and on inbound it is the difference between unknown and forged. A `From:` is the sending domain's own word when `dmarc` or `signature` is `pass`.
|
|
493
497
|
*/
|
|
494
498
|
authentication: {
|
|
495
499
|
spf: string | null;
|
|
496
500
|
dkim: string | null;
|
|
497
501
|
dmarc: string | null;
|
|
502
|
+
/**
|
|
503
|
+
* `pass` when the message came from another Pidgeon address directly, and its signed sender verified against the sending domain's published key. Null on mail that came through SMTP, which DMARC speaks for instead.
|
|
504
|
+
*/
|
|
505
|
+
signature: string | null;
|
|
498
506
|
};
|
|
499
507
|
/**
|
|
500
508
|
* Who this message says it is from. A Pidgeon sender declares it on every message it sends; mail from ordinary email has only the address.
|
|
@@ -705,12 +713,16 @@ type AwaitedMessage = {
|
|
|
705
713
|
[key: string]: string;
|
|
706
714
|
};
|
|
707
715
|
/**
|
|
708
|
-
* What the receiving transport said about the sending domain. Null means it did not report, not that the check failed — normal on outbound, and on inbound it is the difference between unknown and forged.
|
|
716
|
+
* What the receiving transport said about the sending domain. Null means it did not report, not that the check failed — normal on outbound, and on inbound it is the difference between unknown and forged. A `From:` is the sending domain's own word when `dmarc` or `signature` is `pass`.
|
|
709
717
|
*/
|
|
710
718
|
authentication: {
|
|
711
719
|
spf: string | null;
|
|
712
720
|
dkim: string | null;
|
|
713
721
|
dmarc: string | null;
|
|
722
|
+
/**
|
|
723
|
+
* `pass` when the message came from another Pidgeon address directly, and its signed sender verified against the sending domain's published key. Null on mail that came through SMTP, which DMARC speaks for instead.
|
|
724
|
+
*/
|
|
725
|
+
signature: string | null;
|
|
714
726
|
};
|
|
715
727
|
/**
|
|
716
728
|
* Who this message says it is from. A Pidgeon sender declares it on every message it sends; mail from ordinary email has only the address.
|
|
@@ -1710,6 +1722,10 @@ type TenantSuspended = {
|
|
|
1710
1722
|
};
|
|
1711
1723
|
type ReceiveRules = {
|
|
1712
1724
|
identity_id: string;
|
|
1725
|
+
/**
|
|
1726
|
+
* open, or list: only senders with an inbox rule, on mail that passes DMARC.
|
|
1727
|
+
*/
|
|
1728
|
+
receive_policy: string;
|
|
1713
1729
|
rules: Array<{
|
|
1714
1730
|
id: string;
|
|
1715
1731
|
/**
|
|
@@ -1885,6 +1901,10 @@ type PodCreated = {
|
|
|
1885
1901
|
* Who it may write to: open, reply_only (somebody who wrote to it first), or list.
|
|
1886
1902
|
*/
|
|
1887
1903
|
send_policy: string;
|
|
1904
|
+
/**
|
|
1905
|
+
* Who may write to it: open, or list (only senders with an inbox rule, on mail that passes DMARC).
|
|
1906
|
+
*/
|
|
1907
|
+
receive_policy: string;
|
|
1888
1908
|
/**
|
|
1889
1909
|
* Your own opaque grouping for this address. Never parsed here.
|
|
1890
1910
|
*/
|
|
@@ -2504,6 +2524,10 @@ type IdentitiesUpdateData = {
|
|
|
2504
2524
|
* Who it may write to. `reply_only` makes an address structurally unable to start a conversation with a stranger.
|
|
2505
2525
|
*/
|
|
2506
2526
|
send_policy?: 'open' | 'reply_only' | 'list';
|
|
2527
|
+
/**
|
|
2528
|
+
* Who may write to it. `list` accepts only senders with an `inbox` receive rule whose mail passes DMARC, and refuses everybody else before anything is stored. A key with admin on the address may tighten it; loosening needs its owner.
|
|
2529
|
+
*/
|
|
2530
|
+
receive_policy?: 'open' | 'list';
|
|
2507
2531
|
/**
|
|
2508
2532
|
* Your own opaque grouping — a customer id, whatever your side calls it. Never parsed here.
|
|
2509
2533
|
*/
|
package/dist/index.d.ts
CHANGED
|
@@ -425,6 +425,10 @@ type Identity = {
|
|
|
425
425
|
* Who it may write to: open, reply_only (somebody who wrote to it first), or list.
|
|
426
426
|
*/
|
|
427
427
|
send_policy: string;
|
|
428
|
+
/**
|
|
429
|
+
* Who may write to it: open, or list (only senders with an inbox rule, on mail that passes DMARC).
|
|
430
|
+
*/
|
|
431
|
+
receive_policy: string;
|
|
428
432
|
/**
|
|
429
433
|
* Your own opaque grouping for this address. Never parsed here.
|
|
430
434
|
*/
|
|
@@ -489,12 +493,16 @@ type Message = {
|
|
|
489
493
|
[key: string]: string;
|
|
490
494
|
};
|
|
491
495
|
/**
|
|
492
|
-
* What the receiving transport said about the sending domain. Null means it did not report, not that the check failed — normal on outbound, and on inbound it is the difference between unknown and forged.
|
|
496
|
+
* What the receiving transport said about the sending domain. Null means it did not report, not that the check failed — normal on outbound, and on inbound it is the difference between unknown and forged. A `From:` is the sending domain's own word when `dmarc` or `signature` is `pass`.
|
|
493
497
|
*/
|
|
494
498
|
authentication: {
|
|
495
499
|
spf: string | null;
|
|
496
500
|
dkim: string | null;
|
|
497
501
|
dmarc: string | null;
|
|
502
|
+
/**
|
|
503
|
+
* `pass` when the message came from another Pidgeon address directly, and its signed sender verified against the sending domain's published key. Null on mail that came through SMTP, which DMARC speaks for instead.
|
|
504
|
+
*/
|
|
505
|
+
signature: string | null;
|
|
498
506
|
};
|
|
499
507
|
/**
|
|
500
508
|
* Who this message says it is from. A Pidgeon sender declares it on every message it sends; mail from ordinary email has only the address.
|
|
@@ -705,12 +713,16 @@ type AwaitedMessage = {
|
|
|
705
713
|
[key: string]: string;
|
|
706
714
|
};
|
|
707
715
|
/**
|
|
708
|
-
* What the receiving transport said about the sending domain. Null means it did not report, not that the check failed — normal on outbound, and on inbound it is the difference between unknown and forged.
|
|
716
|
+
* What the receiving transport said about the sending domain. Null means it did not report, not that the check failed — normal on outbound, and on inbound it is the difference between unknown and forged. A `From:` is the sending domain's own word when `dmarc` or `signature` is `pass`.
|
|
709
717
|
*/
|
|
710
718
|
authentication: {
|
|
711
719
|
spf: string | null;
|
|
712
720
|
dkim: string | null;
|
|
713
721
|
dmarc: string | null;
|
|
722
|
+
/**
|
|
723
|
+
* `pass` when the message came from another Pidgeon address directly, and its signed sender verified against the sending domain's published key. Null on mail that came through SMTP, which DMARC speaks for instead.
|
|
724
|
+
*/
|
|
725
|
+
signature: string | null;
|
|
714
726
|
};
|
|
715
727
|
/**
|
|
716
728
|
* Who this message says it is from. A Pidgeon sender declares it on every message it sends; mail from ordinary email has only the address.
|
|
@@ -1710,6 +1722,10 @@ type TenantSuspended = {
|
|
|
1710
1722
|
};
|
|
1711
1723
|
type ReceiveRules = {
|
|
1712
1724
|
identity_id: string;
|
|
1725
|
+
/**
|
|
1726
|
+
* open, or list: only senders with an inbox rule, on mail that passes DMARC.
|
|
1727
|
+
*/
|
|
1728
|
+
receive_policy: string;
|
|
1713
1729
|
rules: Array<{
|
|
1714
1730
|
id: string;
|
|
1715
1731
|
/**
|
|
@@ -1885,6 +1901,10 @@ type PodCreated = {
|
|
|
1885
1901
|
* Who it may write to: open, reply_only (somebody who wrote to it first), or list.
|
|
1886
1902
|
*/
|
|
1887
1903
|
send_policy: string;
|
|
1904
|
+
/**
|
|
1905
|
+
* Who may write to it: open, or list (only senders with an inbox rule, on mail that passes DMARC).
|
|
1906
|
+
*/
|
|
1907
|
+
receive_policy: string;
|
|
1888
1908
|
/**
|
|
1889
1909
|
* Your own opaque grouping for this address. Never parsed here.
|
|
1890
1910
|
*/
|
|
@@ -2504,6 +2524,10 @@ type IdentitiesUpdateData = {
|
|
|
2504
2524
|
* Who it may write to. `reply_only` makes an address structurally unable to start a conversation with a stranger.
|
|
2505
2525
|
*/
|
|
2506
2526
|
send_policy?: 'open' | 'reply_only' | 'list';
|
|
2527
|
+
/**
|
|
2528
|
+
* Who may write to it. `list` accepts only senders with an `inbox` receive rule whose mail passes DMARC, and refuses everybody else before anything is stored. A key with admin on the address may tighten it; loosening needs its owner.
|
|
2529
|
+
*/
|
|
2530
|
+
receive_policy?: 'open' | 'list';
|
|
2507
2531
|
/**
|
|
2508
2532
|
* Your own opaque grouping — a customer id, whatever your side calls it. Never parsed here.
|
|
2509
2533
|
*/
|