@pidgeon-ai/sdk 1.28.0 → 1.29.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,15 @@ 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.29.0 — The signed-sender records
11
+
12
+ Every domain's DNS records (`domainsGet`, `domainsCreate`, `domainsVerify`)
13
+ gain two optional ones: `signing`, a TXT at `_post`, and `signing_host`, a
14
+ CNAME at `post`. With both connected, mail from the domain carries a
15
+ signature receivers can check against the domain's published keys. Every
16
+ record gains `optional`, true for these two; they have their own `status`
17
+ and never count towards whether the domain is configured. Additive.
18
+
10
19
  ## 1.28.0 — DNS hosts for subdomains, and why a record is waiting
11
20
 
12
21
  Every DNS record (`domainsGet`, `domainsCreate`, `domainsVerify`) gains
package/dist/index.d.cts CHANGED
@@ -1302,7 +1302,7 @@ type DomainDetail = {
1302
1302
  priority: number | null;
1303
1303
  status: 'connected' | 'waiting' | 'incorrect' | 'not_required';
1304
1304
  /**
1305
- * Why `status` is what it is. `published`: correct in public DNS, waiting on the mail provider to confirm (DKIM; usually under an hour). `wrong_name`: our value is at `found_at` instead, often the zone typed twice. Null before the first check.
1305
+ * Why `status` is what it is. `published`: correct in public DNS, waiting on the mail provider to confirm (DKIM; usually under an hour), or on its certificate (`signing_host`; usually ten minutes). `wrong_name`: our value is at `found_at` instead, often the zone typed twice. Null before the first check.
1306
1306
  */
1307
1307
  state: 'connected' | 'published' | 'missing' | 'wrong_value' | 'wrong_name' | 'not_required' | null;
1308
1308
  found: string | null;
@@ -1310,6 +1310,10 @@ type DomainDetail = {
1310
1310
  * Where `found` was read, when that was not `fqdn`.
1311
1311
  */
1312
1312
  found_at: string | null;
1313
+ /**
1314
+ * Not needed for mail: `signing` and `signing_host`, which let receivers check a signed sender from this domain. Its own `status`; never counted towards whether the domain is configured.
1315
+ */
1316
+ optional: boolean;
1313
1317
  description: string;
1314
1318
  checked_at: string | null;
1315
1319
  }>;
@@ -1338,7 +1342,7 @@ type DnsRecord = {
1338
1342
  priority: number | null;
1339
1343
  status: 'connected' | 'waiting' | 'incorrect' | 'not_required';
1340
1344
  /**
1341
- * Why `status` is what it is. `published`: correct in public DNS, waiting on the mail provider to confirm (DKIM; usually under an hour). `wrong_name`: our value is at `found_at` instead, often the zone typed twice. Null before the first check.
1345
+ * Why `status` is what it is. `published`: correct in public DNS, waiting on the mail provider to confirm (DKIM; usually under an hour), or on its certificate (`signing_host`; usually ten minutes). `wrong_name`: our value is at `found_at` instead, often the zone typed twice. Null before the first check.
1342
1346
  */
1343
1347
  state: 'connected' | 'published' | 'missing' | 'wrong_value' | 'wrong_name' | 'not_required' | null;
1344
1348
  found: string | null;
@@ -1346,6 +1350,10 @@ type DnsRecord = {
1346
1350
  * Where `found` was read, when that was not `fqdn`.
1347
1351
  */
1348
1352
  found_at: string | null;
1353
+ /**
1354
+ * Not needed for mail: `signing` and `signing_host`, which let receivers check a signed sender from this domain. Its own `status`; never counted towards whether the domain is configured.
1355
+ */
1356
+ optional: boolean;
1349
1357
  description: string;
1350
1358
  checked_at: string | null;
1351
1359
  };
@@ -1376,7 +1384,7 @@ type Verification = {
1376
1384
  priority: number | null;
1377
1385
  status: 'connected' | 'waiting' | 'incorrect' | 'not_required';
1378
1386
  /**
1379
- * Why `status` is what it is. `published`: correct in public DNS, waiting on the mail provider to confirm (DKIM; usually under an hour). `wrong_name`: our value is at `found_at` instead, often the zone typed twice. Null before the first check.
1387
+ * Why `status` is what it is. `published`: correct in public DNS, waiting on the mail provider to confirm (DKIM; usually under an hour), or on its certificate (`signing_host`; usually ten minutes). `wrong_name`: our value is at `found_at` instead, often the zone typed twice. Null before the first check.
1380
1388
  */
1381
1389
  state: 'connected' | 'published' | 'missing' | 'wrong_value' | 'wrong_name' | 'not_required' | null;
1382
1390
  found: string | null;
@@ -1384,6 +1392,10 @@ type Verification = {
1384
1392
  * Where `found` was read, when that was not `fqdn`.
1385
1393
  */
1386
1394
  found_at: string | null;
1395
+ /**
1396
+ * Not needed for mail: `signing` and `signing_host`, which let receivers check a signed sender from this domain. Its own `status`; never counted towards whether the domain is configured.
1397
+ */
1398
+ optional: boolean;
1387
1399
  description: string;
1388
1400
  checked_at: string | null;
1389
1401
  }>;
package/dist/index.d.ts CHANGED
@@ -1302,7 +1302,7 @@ type DomainDetail = {
1302
1302
  priority: number | null;
1303
1303
  status: 'connected' | 'waiting' | 'incorrect' | 'not_required';
1304
1304
  /**
1305
- * Why `status` is what it is. `published`: correct in public DNS, waiting on the mail provider to confirm (DKIM; usually under an hour). `wrong_name`: our value is at `found_at` instead, often the zone typed twice. Null before the first check.
1305
+ * Why `status` is what it is. `published`: correct in public DNS, waiting on the mail provider to confirm (DKIM; usually under an hour), or on its certificate (`signing_host`; usually ten minutes). `wrong_name`: our value is at `found_at` instead, often the zone typed twice. Null before the first check.
1306
1306
  */
1307
1307
  state: 'connected' | 'published' | 'missing' | 'wrong_value' | 'wrong_name' | 'not_required' | null;
1308
1308
  found: string | null;
@@ -1310,6 +1310,10 @@ type DomainDetail = {
1310
1310
  * Where `found` was read, when that was not `fqdn`.
1311
1311
  */
1312
1312
  found_at: string | null;
1313
+ /**
1314
+ * Not needed for mail: `signing` and `signing_host`, which let receivers check a signed sender from this domain. Its own `status`; never counted towards whether the domain is configured.
1315
+ */
1316
+ optional: boolean;
1313
1317
  description: string;
1314
1318
  checked_at: string | null;
1315
1319
  }>;
@@ -1338,7 +1342,7 @@ type DnsRecord = {
1338
1342
  priority: number | null;
1339
1343
  status: 'connected' | 'waiting' | 'incorrect' | 'not_required';
1340
1344
  /**
1341
- * Why `status` is what it is. `published`: correct in public DNS, waiting on the mail provider to confirm (DKIM; usually under an hour). `wrong_name`: our value is at `found_at` instead, often the zone typed twice. Null before the first check.
1345
+ * Why `status` is what it is. `published`: correct in public DNS, waiting on the mail provider to confirm (DKIM; usually under an hour), or on its certificate (`signing_host`; usually ten minutes). `wrong_name`: our value is at `found_at` instead, often the zone typed twice. Null before the first check.
1342
1346
  */
1343
1347
  state: 'connected' | 'published' | 'missing' | 'wrong_value' | 'wrong_name' | 'not_required' | null;
1344
1348
  found: string | null;
@@ -1346,6 +1350,10 @@ type DnsRecord = {
1346
1350
  * Where `found` was read, when that was not `fqdn`.
1347
1351
  */
1348
1352
  found_at: string | null;
1353
+ /**
1354
+ * Not needed for mail: `signing` and `signing_host`, which let receivers check a signed sender from this domain. Its own `status`; never counted towards whether the domain is configured.
1355
+ */
1356
+ optional: boolean;
1349
1357
  description: string;
1350
1358
  checked_at: string | null;
1351
1359
  };
@@ -1376,7 +1384,7 @@ type Verification = {
1376
1384
  priority: number | null;
1377
1385
  status: 'connected' | 'waiting' | 'incorrect' | 'not_required';
1378
1386
  /**
1379
- * Why `status` is what it is. `published`: correct in public DNS, waiting on the mail provider to confirm (DKIM; usually under an hour). `wrong_name`: our value is at `found_at` instead, often the zone typed twice. Null before the first check.
1387
+ * Why `status` is what it is. `published`: correct in public DNS, waiting on the mail provider to confirm (DKIM; usually under an hour), or on its certificate (`signing_host`; usually ten minutes). `wrong_name`: our value is at `found_at` instead, often the zone typed twice. Null before the first check.
1380
1388
  */
1381
1389
  state: 'connected' | 'published' | 'missing' | 'wrong_value' | 'wrong_name' | 'not_required' | null;
1382
1390
  found: string | null;
@@ -1384,6 +1392,10 @@ type Verification = {
1384
1392
  * Where `found` was read, when that was not `fqdn`.
1385
1393
  */
1386
1394
  found_at: string | null;
1395
+ /**
1396
+ * Not needed for mail: `signing` and `signing_host`, which let receivers check a signed sender from this domain. Its own `status`; never counted towards whether the domain is configured.
1397
+ */
1398
+ optional: boolean;
1387
1399
  description: string;
1388
1400
  checked_at: string | null;
1389
1401
  }>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pidgeon-ai/sdk",
3
- "version": "1.28.0",
3
+ "version": "1.29.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",