@pidgeon-ai/sdk 1.27.0 → 1.28.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,17 @@ 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.28.0 — DNS hosts for subdomains, and why a record is waiting
11
+
12
+ Every DNS record (`domainsGet`, `domainsCreate`, `domainsVerify`) gains
13
+ `zone`, `fqdn` and `host_relative`: for `agents.example.com` the DMARC record
14
+ is `_dmarc.agents` in `example.com`, which is what Squarespace, GoDaddy and
15
+ Namecheap ask for. `name` is unchanged. `state` says why `status` is what it
16
+ is — `published` (correct in DNS, waiting on Amazon), `missing`,
17
+ `wrong_value` or `wrong_name` — and `found_at` is where a misplaced record was
18
+ found. For DKIM, `found` is now the CNAME read from DNS rather than Amazon's
19
+ status word. Additive.
20
+
10
21
  ## 1.27.0 — a key that drafts and never sends
11
22
 
12
23
  `keysCreate` takes `access: 'draft'`, between `read` and `send`: the key
package/dist/index.d.cts CHANGED
@@ -1282,11 +1282,34 @@ type DomainDetail = {
1282
1282
  dns_records: Array<{
1283
1283
  type: string;
1284
1284
  record_type: string;
1285
+ /**
1286
+ * Relative to the domain: `@` is the domain itself. Kept as it was; see `host_relative`.
1287
+ */
1285
1288
  name: string;
1289
+ /**
1290
+ * The registrable domain the record is published in, from the Public Suffix List: `example.com` for `agents.example.com`.
1291
+ */
1292
+ zone: string;
1293
+ /**
1294
+ * The full name, no trailing dot: `_dmarc.agents.example.com`.
1295
+ */
1296
+ fqdn: string;
1297
+ /**
1298
+ * The name relative to `zone`, which is what most DNS panels ask for: `_dmarc.agents`, or `@` for the zone itself.
1299
+ */
1300
+ host_relative: string;
1286
1301
  value: string;
1287
1302
  priority: number | null;
1288
1303
  status: 'connected' | 'waiting' | 'incorrect' | 'not_required';
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.
1306
+ */
1307
+ state: 'connected' | 'published' | 'missing' | 'wrong_value' | 'wrong_name' | 'not_required' | null;
1289
1308
  found: string | null;
1309
+ /**
1310
+ * Where `found` was read, when that was not `fqdn`.
1311
+ */
1312
+ found_at: string | null;
1290
1313
  description: string;
1291
1314
  checked_at: string | null;
1292
1315
  }>;
@@ -1295,11 +1318,34 @@ type DomainDetail = {
1295
1318
  type DnsRecord = {
1296
1319
  type: string;
1297
1320
  record_type: string;
1321
+ /**
1322
+ * Relative to the domain: `@` is the domain itself. Kept as it was; see `host_relative`.
1323
+ */
1298
1324
  name: string;
1325
+ /**
1326
+ * The registrable domain the record is published in, from the Public Suffix List: `example.com` for `agents.example.com`.
1327
+ */
1328
+ zone: string;
1329
+ /**
1330
+ * The full name, no trailing dot: `_dmarc.agents.example.com`.
1331
+ */
1332
+ fqdn: string;
1333
+ /**
1334
+ * The name relative to `zone`, which is what most DNS panels ask for: `_dmarc.agents`, or `@` for the zone itself.
1335
+ */
1336
+ host_relative: string;
1299
1337
  value: string;
1300
1338
  priority: number | null;
1301
1339
  status: 'connected' | 'waiting' | 'incorrect' | 'not_required';
1340
+ /**
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.
1342
+ */
1343
+ state: 'connected' | 'published' | 'missing' | 'wrong_value' | 'wrong_name' | 'not_required' | null;
1302
1344
  found: string | null;
1345
+ /**
1346
+ * Where `found` was read, when that was not `fqdn`.
1347
+ */
1348
+ found_at: string | null;
1303
1349
  description: string;
1304
1350
  checked_at: string | null;
1305
1351
  };
@@ -1310,11 +1356,34 @@ type Verification = {
1310
1356
  dns_records: Array<{
1311
1357
  type: string;
1312
1358
  record_type: string;
1359
+ /**
1360
+ * Relative to the domain: `@` is the domain itself. Kept as it was; see `host_relative`.
1361
+ */
1313
1362
  name: string;
1363
+ /**
1364
+ * The registrable domain the record is published in, from the Public Suffix List: `example.com` for `agents.example.com`.
1365
+ */
1366
+ zone: string;
1367
+ /**
1368
+ * The full name, no trailing dot: `_dmarc.agents.example.com`.
1369
+ */
1370
+ fqdn: string;
1371
+ /**
1372
+ * The name relative to `zone`, which is what most DNS panels ask for: `_dmarc.agents`, or `@` for the zone itself.
1373
+ */
1374
+ host_relative: string;
1314
1375
  value: string;
1315
1376
  priority: number | null;
1316
1377
  status: 'connected' | 'waiting' | 'incorrect' | 'not_required';
1378
+ /**
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.
1380
+ */
1381
+ state: 'connected' | 'published' | 'missing' | 'wrong_value' | 'wrong_name' | 'not_required' | null;
1317
1382
  found: string | null;
1383
+ /**
1384
+ * Where `found` was read, when that was not `fqdn`.
1385
+ */
1386
+ found_at: string | null;
1318
1387
  description: string;
1319
1388
  checked_at: string | null;
1320
1389
  }>;
package/dist/index.d.ts CHANGED
@@ -1282,11 +1282,34 @@ type DomainDetail = {
1282
1282
  dns_records: Array<{
1283
1283
  type: string;
1284
1284
  record_type: string;
1285
+ /**
1286
+ * Relative to the domain: `@` is the domain itself. Kept as it was; see `host_relative`.
1287
+ */
1285
1288
  name: string;
1289
+ /**
1290
+ * The registrable domain the record is published in, from the Public Suffix List: `example.com` for `agents.example.com`.
1291
+ */
1292
+ zone: string;
1293
+ /**
1294
+ * The full name, no trailing dot: `_dmarc.agents.example.com`.
1295
+ */
1296
+ fqdn: string;
1297
+ /**
1298
+ * The name relative to `zone`, which is what most DNS panels ask for: `_dmarc.agents`, or `@` for the zone itself.
1299
+ */
1300
+ host_relative: string;
1286
1301
  value: string;
1287
1302
  priority: number | null;
1288
1303
  status: 'connected' | 'waiting' | 'incorrect' | 'not_required';
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.
1306
+ */
1307
+ state: 'connected' | 'published' | 'missing' | 'wrong_value' | 'wrong_name' | 'not_required' | null;
1289
1308
  found: string | null;
1309
+ /**
1310
+ * Where `found` was read, when that was not `fqdn`.
1311
+ */
1312
+ found_at: string | null;
1290
1313
  description: string;
1291
1314
  checked_at: string | null;
1292
1315
  }>;
@@ -1295,11 +1318,34 @@ type DomainDetail = {
1295
1318
  type DnsRecord = {
1296
1319
  type: string;
1297
1320
  record_type: string;
1321
+ /**
1322
+ * Relative to the domain: `@` is the domain itself. Kept as it was; see `host_relative`.
1323
+ */
1298
1324
  name: string;
1325
+ /**
1326
+ * The registrable domain the record is published in, from the Public Suffix List: `example.com` for `agents.example.com`.
1327
+ */
1328
+ zone: string;
1329
+ /**
1330
+ * The full name, no trailing dot: `_dmarc.agents.example.com`.
1331
+ */
1332
+ fqdn: string;
1333
+ /**
1334
+ * The name relative to `zone`, which is what most DNS panels ask for: `_dmarc.agents`, or `@` for the zone itself.
1335
+ */
1336
+ host_relative: string;
1299
1337
  value: string;
1300
1338
  priority: number | null;
1301
1339
  status: 'connected' | 'waiting' | 'incorrect' | 'not_required';
1340
+ /**
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.
1342
+ */
1343
+ state: 'connected' | 'published' | 'missing' | 'wrong_value' | 'wrong_name' | 'not_required' | null;
1302
1344
  found: string | null;
1345
+ /**
1346
+ * Where `found` was read, when that was not `fqdn`.
1347
+ */
1348
+ found_at: string | null;
1303
1349
  description: string;
1304
1350
  checked_at: string | null;
1305
1351
  };
@@ -1310,11 +1356,34 @@ type Verification = {
1310
1356
  dns_records: Array<{
1311
1357
  type: string;
1312
1358
  record_type: string;
1359
+ /**
1360
+ * Relative to the domain: `@` is the domain itself. Kept as it was; see `host_relative`.
1361
+ */
1313
1362
  name: string;
1363
+ /**
1364
+ * The registrable domain the record is published in, from the Public Suffix List: `example.com` for `agents.example.com`.
1365
+ */
1366
+ zone: string;
1367
+ /**
1368
+ * The full name, no trailing dot: `_dmarc.agents.example.com`.
1369
+ */
1370
+ fqdn: string;
1371
+ /**
1372
+ * The name relative to `zone`, which is what most DNS panels ask for: `_dmarc.agents`, or `@` for the zone itself.
1373
+ */
1374
+ host_relative: string;
1314
1375
  value: string;
1315
1376
  priority: number | null;
1316
1377
  status: 'connected' | 'waiting' | 'incorrect' | 'not_required';
1378
+ /**
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.
1380
+ */
1381
+ state: 'connected' | 'published' | 'missing' | 'wrong_value' | 'wrong_name' | 'not_required' | null;
1317
1382
  found: string | null;
1383
+ /**
1384
+ * Where `found` was read, when that was not `fqdn`.
1385
+ */
1386
+ found_at: string | null;
1318
1387
  description: string;
1319
1388
  checked_at: string | null;
1320
1389
  }>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pidgeon-ai/sdk",
3
- "version": "1.27.0",
3
+ "version": "1.28.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",