@pidgeon-ai/sdk 1.30.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 CHANGED
@@ -7,6 +7,14 @@ 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
+
10
18
  ## 1.30.0 — `authentication.signature`
11
19
 
12
20
  A message carries `authentication.signature`: `pass` when it came from
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
  */
@@ -1718,6 +1722,10 @@ type TenantSuspended = {
1718
1722
  };
1719
1723
  type ReceiveRules = {
1720
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;
1721
1729
  rules: Array<{
1722
1730
  id: string;
1723
1731
  /**
@@ -1893,6 +1901,10 @@ type PodCreated = {
1893
1901
  * Who it may write to: open, reply_only (somebody who wrote to it first), or list.
1894
1902
  */
1895
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;
1896
1908
  /**
1897
1909
  * Your own opaque grouping for this address. Never parsed here.
1898
1910
  */
@@ -2512,6 +2524,10 @@ type IdentitiesUpdateData = {
2512
2524
  * Who it may write to. `reply_only` makes an address structurally unable to start a conversation with a stranger.
2513
2525
  */
2514
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';
2515
2531
  /**
2516
2532
  * Your own opaque grouping — a customer id, whatever your side calls it. Never parsed here.
2517
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
  */
@@ -1718,6 +1722,10 @@ type TenantSuspended = {
1718
1722
  };
1719
1723
  type ReceiveRules = {
1720
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;
1721
1729
  rules: Array<{
1722
1730
  id: string;
1723
1731
  /**
@@ -1893,6 +1901,10 @@ type PodCreated = {
1893
1901
  * Who it may write to: open, reply_only (somebody who wrote to it first), or list.
1894
1902
  */
1895
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;
1896
1908
  /**
1897
1909
  * Your own opaque grouping for this address. Never parsed here.
1898
1910
  */
@@ -2512,6 +2524,10 @@ type IdentitiesUpdateData = {
2512
2524
  * Who it may write to. `reply_only` makes an address structurally unable to start a conversation with a stranger.
2513
2525
  */
2514
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';
2515
2531
  /**
2516
2532
  * Your own opaque grouping — a customer id, whatever your side calls it. Never parsed here.
2517
2533
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pidgeon-ai/sdk",
3
- "version": "1.30.0",
3
+ "version": "1.31.0",
4
4
  "description": "Email inboxes for AI agents — TypeScript SDK for Pidgeon: create addresses, send, receive and reply.",
5
5
  "keywords": [
6
6
  "email",