@agenticprimitives/agent-naming 1.0.0-alpha.46 → 1.0.0-alpha.48

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/dist/dns.d.ts CHANGED
@@ -18,13 +18,35 @@
18
18
  * already has. Folding the type into the label instead of dropping it keeps two properties the dotted form
19
19
  * had: the type is legible in the host, and the projection stays REVERSIBLE — `alice.me` and `alice.org`
20
20
  * would both want `alice.<zone>` if the type were simply dropped, forcing an inbound host to guess which
21
- * root it meant. Persons and legacy roots keep the bare `<label>.<zone>` form, so a label ending in
22
- * `-<agent-type>` is refused for them at claim time (`validateTypedClaim`) — the ambiguity is removed by
23
- * construction rather than resolved by precedence.
21
+ * root it meant.
22
+ *
23
+ * THE PROJECTION IS INJECTIVE, AND THIS IS THE WHOLE RULE (spec 445, audit NAME-8). Two shapes share one zone —
24
+ * typed `<label>-<type>.<zone>` and bare `<label>.<zone>` (persons and untyped roots) — so three things hold, each
25
+ * enforced where the host is MADE and where it is READ, not only at claim time:
26
+ *
27
+ * 1. a bare label that ends in `-<type>` HAS NO HOST. `foo-org` under a person or legacy root would be
28
+ * `foo-org.<zone>`, the host of the typed `foo.org`; the forward functions refuse it (throw / null) and the
29
+ * claim helpers refuse to register it (`labelClaimViolation`). It is refused for LEGACY roots as well as
30
+ * persons — before 2026-11-10 only `validateTypedClaim` knew the rule, and only for persons.
31
+ * 2. a type suffix is one hyphen-free word (`registerVerticalAgentTypes` refuses a hyphen), so a typed label
32
+ * splits exactly one way: the type is the segment after the last hyphen (`typeSuffixOfLabel`).
33
+ * 3. a reserved label (`www`, `api`, `mtls`, `edge`, `well-known`, the type words) has no host and reads back
34
+ * as no name.
35
+ *
36
+ * So for one zone and ONE bare root, no two distinct names share a host and host → name is a function. An estate
37
+ * that serves SEVERAL bare roots (mid-migration: `alice.me` and `alice.agent` are both `alice.<zone>`) is the one
38
+ * place two names share a host by configuration; `confirmDnsHost` reports it unless both resolve to one agent.
39
+ *
40
+ * WHAT THIS FILE CANNOT DO: stop a name being registered. The chain enforces charset and length only, so a label
41
+ * this SDK refuses can exist on chain (registered before the rule, or by a direct contract call). Every inverse
42
+ * here is therefore a HINT about which name a host means — routing confirms it against the chain
43
+ * (`confirmDnsHost`: every reading is resolved, and two readings held by different agents is an explicit
44
+ * `ambiguous` result the router refuses, never a precedence pick).
24
45
  *
25
46
  * The type in DNS is still a fixed projection of the suffix and is NEVER parsed as authority.
26
47
  */
27
48
  import { type ParsedAgentName } from './grammar.js';
49
+ import type { Address } from '@agenticprimitives/types';
28
50
  /** A2A JSON-RPC path (must equal `@agenticprimitives/a2a` `A2A_JSONRPC_PATH` — golden-vector tested, no import edge). */
29
51
  export declare const A2A_JSONRPC_PATH: "/api/a2a";
30
52
  /** A2A agent-card discovery path (origin-scoped — why every agent gets its own host). */
@@ -37,12 +59,21 @@ export interface DnsHostOptions {
37
59
  /** The person owns the real `.me` domain matching the handle — the host IS the handle. */
38
60
  ownsDomain?: boolean;
39
61
  }
40
- /** Project a handle onto a DNS host per the §5 table. Root / type-node / legacy names have no host. */
62
+ /**
63
+ * Project a handle onto a DNS host per the §5 table. Root / type-node / legacy names have no host — and neither
64
+ * does a hosted person whose label ends in `-<type>` (rule 1: throws `label_reads_as_type`, never the colliding
65
+ * host). A person on their OWN domain (`ownsDomain`) is not on a shared zone and is not affected.
66
+ */
41
67
  export declare function dnsHostForHandle(name: string | ParsedAgentName, opts: DnsHostOptions): string;
42
68
  /**
43
69
  * The inverse of `dnsHostForHandle` for a hosted zone: `<label>-<type>.<zone>` → `<label>.<type>`, and a
44
- * bare `<label>.<zone>` → null (a person/legacy label, whose root the deployment decides from its ordered
45
- * root list). Pure; never guesses a type that is not in the closed suffix set.
70
+ * bare `<label>.<zone>` → null (a person/legacy label, whose root the deployment decides from its root list).
71
+ * Pure and single-valued: exactly one handle or null — the split is unique (rule 2), a reserved or malformed
72
+ * label reads as nothing (rule 3), and no bare name projects onto a typed host (rule 1).
73
+ *
74
+ * A HINT, NOT AN ANSWER. It says which name this SDK would have projected here; it cannot know that the chain
75
+ * also holds a bare-root name with the same label. Confirm with `confirmDnsHost` (or resolve the name and check
76
+ * its records) before routing — resolution is by records, never by parsing a subdomain.
46
77
  */
47
78
  export declare function handleForDnsHost(host: string, zone: string): {
48
79
  label: string;
@@ -69,7 +100,12 @@ export declare function typedNameForLabel(rest: string): string | null;
69
100
  * The DNS label is returned RAW as `label`: a label may read BOTH ways (`alice-home-church` is `alice-home.church`
70
101
  * and also the legacy `alice-home-church.<legacyParent>`), so the choice belongs to the caller, which resolves an
71
102
  * ORDERED candidate set against the chain — one mechanism, ordered candidates, not a fallback (ADR-0013).
72
- * Apex, deeper nesting, an unknown type level → null.
103
+ * Apex, deeper nesting, an unknown type level, a reserved label (`www`, `api`, … — rule 3) → null.
104
+ *
105
+ * `name` IS THE TYPED READING WHEN THERE IS ONE, AND THAT IS A HINT (spec 445 / NAME-8). This function is pure; it
106
+ * cannot see that the legacy `<label>.<legacyParent>` is ALSO registered. A router that takes `name` and stops has
107
+ * let a later typed claim take an existing legacy name's host. Route through `confirmDnsHost`, which resolves
108
+ * every reading and refuses when two agents hold one host.
73
109
  */
74
110
  export declare function parseTypedAgentHost(hostname: string | undefined, zone: string, legacyParent: string): {
75
111
  label: string;
@@ -80,8 +116,67 @@ export declare function parseTypedAgentHost(hostname: string | undefined, zone:
80
116
  * `legacyParents` (the ordered person / legacy roots an estate serves — a list, because an estate mid-migration
81
117
  * serves several) → `<label>.<zone>`; `<label>.<tld>` for any other agent type → `<label>-<tld>.<zone>`. Deeper or
82
118
  * untyped → null (no host to publish at). A projection of the name, never authority.
119
+ *
120
+ * NULL ALSO MEANS "this name has no host on a shared zone" (spec 445 / NAME-8): a malformed or reserved label
121
+ * (`www.me` is not `www.<zone>`), and a bare-root label ending in `-<type>` (`foo-org.agent` is NOT
122
+ * `foo-org.<zone>` — that is `foo.org`'s host). Never the colliding host.
83
123
  */
84
124
  export declare function hostForName(name: string, zone: string, legacyParents: readonly string[]): string | null;
125
+ /** One reading of a host: a name it could mean. `projectable` — would `hostForName` put that name at this host? */
126
+ export interface DnsHostReading {
127
+ name: string;
128
+ projectable: boolean;
129
+ }
130
+ /**
131
+ * EVERY name a single-label host under `zone` could mean, in a fixed order: the typed reading (`<label>-<type>`
132
+ * → `<label>.<type>`), then `<label>.<root>` for each bare root. The bare readings of a label that ends in
133
+ * `-<type>` are included with `projectable: false`: this SDK gives them no host, but the chain may hold one
134
+ * (registered before the rule, or by a direct call), and a router has to know to look. Pure. Apex, nesting,
135
+ * a foreign host, a reserved or malformed label → `[]`.
136
+ */
137
+ export declare function dnsHostReadings(hostname: string | undefined, zone: string, bareRoots: readonly string[]): DnsHostReading[];
138
+ /** The read `confirmDnsHost` needs — one `readContract` per name (ADR-0012). `AgentNamingClient` satisfies it. */
139
+ export interface DnsHostReads {
140
+ resolveName(name: string): Promise<Address | null>;
141
+ }
142
+ export type DnsHostConfirmation =
143
+ /** No reading of this host is registered (or the host is not an agent host at all). */
144
+ {
145
+ status: 'none';
146
+ }
147
+ /** Exactly one AGENT holds this host. `names` are the readings that resolve to it (several when one agent
148
+ * holds `alice.me` and `alice.agent`); `name` is the first in reading order; `projectable` is false when the
149
+ * host answers only for a grandfathered bare name the SDK no longer projects. */
150
+ | {
151
+ status: 'confirmed';
152
+ address: Address;
153
+ name: string;
154
+ names: string[];
155
+ projectable: boolean;
156
+ }
157
+ /** Two or more DIFFERENT agents hold names that read as this host. The router refuses; it does not pick. */
158
+ | {
159
+ status: 'ambiguous';
160
+ candidates: Array<{
161
+ name: string;
162
+ address: Address;
163
+ projectable: boolean;
164
+ }>;
165
+ };
166
+ /**
167
+ * Host → agent, CONFIRMED BY RECORDS (spec 445 / NAME-8). Resolves EVERY reading of the host on chain — one
168
+ * mechanism over the whole candidate set, not a first-hit walk (ADR-0013) — and answers:
169
+ * - none registered → `none`
170
+ * - all registered readings resolve to one agent → `confirmed`
171
+ * - two agents → `ambiguous` — a typed claim made after a legacy name of the same host existed
172
+ * (or the reverse) lands here; the existing holder's host stops answering rather than answering as the
173
+ * claimant. That is a denial an operator can see and settle, where a precedence pick was an impersonation.
174
+ * A read that throws propagates: "could not read" is not "not registered".
175
+ */
176
+ export declare function confirmDnsHost(hostname: string | undefined, zone: string, ports: {
177
+ bareRoots: readonly string[];
178
+ reads: DnsHostReads;
179
+ }): Promise<DnsHostConfirmation>;
85
180
  /**
86
181
  * The on-chain name for an explicit handle (an edge path `POST /api/a2a/<handle>`, an injected subdomain header).
87
182
  * A bare label is `<label>.<legacyParent>`; a typed handle (`x.t`, `x.t@c.u`, `c.u/x.t`) or a legacy dotted name
package/dist/dns.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dns.d.ts","sourceRoot":"","sources":["../src/dns.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAIpE,yHAAyH;AACzH,eAAO,MAAM,gBAAgB,EAAG,UAAmB,CAAC;AACpD,yFAAyF;AACzF,eAAO,MAAM,mBAAmB,EAAG,8BAAuC,CAAC;AAE3E,MAAM,WAAW,cAAc;IAC7B,uGAAuG;IACvG,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0FAA0F;IAC1F,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAUD,uGAAuG;AACvG,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE,IAAI,EAAE,cAAc,GAAG,MAAM,CAoB7F;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAehH;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,mHAAmH;AACnH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,MAAM,CAM7F;AAQD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,SAAS,MAAM,EAAO,GAAG,MAAM,GAAG,IAAI,CAQ9H;AAED;kGACkG;AAClG,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM7D;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAU5I;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAOvG;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWtF"}
1
+ {"version":3,"file":"dns.d.ts","sourceRoot":"","sources":["../src/dns.ts"],"names":[],"mappings":"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"}
package/dist/dns.js CHANGED
@@ -18,14 +18,36 @@
18
18
  * already has. Folding the type into the label instead of dropping it keeps two properties the dotted form
19
19
  * had: the type is legible in the host, and the projection stays REVERSIBLE — `alice.me` and `alice.org`
20
20
  * would both want `alice.<zone>` if the type were simply dropped, forcing an inbound host to guess which
21
- * root it meant. Persons and legacy roots keep the bare `<label>.<zone>` form, so a label ending in
22
- * `-<agent-type>` is refused for them at claim time (`validateTypedClaim`) — the ambiguity is removed by
23
- * construction rather than resolved by precedence.
21
+ * root it meant.
22
+ *
23
+ * THE PROJECTION IS INJECTIVE, AND THIS IS THE WHOLE RULE (spec 445, audit NAME-8). Two shapes share one zone —
24
+ * typed `<label>-<type>.<zone>` and bare `<label>.<zone>` (persons and untyped roots) — so three things hold, each
25
+ * enforced where the host is MADE and where it is READ, not only at claim time:
26
+ *
27
+ * 1. a bare label that ends in `-<type>` HAS NO HOST. `foo-org` under a person or legacy root would be
28
+ * `foo-org.<zone>`, the host of the typed `foo.org`; the forward functions refuse it (throw / null) and the
29
+ * claim helpers refuse to register it (`labelClaimViolation`). It is refused for LEGACY roots as well as
30
+ * persons — before 2026-11-10 only `validateTypedClaim` knew the rule, and only for persons.
31
+ * 2. a type suffix is one hyphen-free word (`registerVerticalAgentTypes` refuses a hyphen), so a typed label
32
+ * splits exactly one way: the type is the segment after the last hyphen (`typeSuffixOfLabel`).
33
+ * 3. a reserved label (`www`, `api`, `mtls`, `edge`, `well-known`, the type words) has no host and reads back
34
+ * as no name.
35
+ *
36
+ * So for one zone and ONE bare root, no two distinct names share a host and host → name is a function. An estate
37
+ * that serves SEVERAL bare roots (mid-migration: `alice.me` and `alice.agent` are both `alice.<zone>`) is the one
38
+ * place two names share a host by configuration; `confirmDnsHost` reports it unless both resolve to one agent.
39
+ *
40
+ * WHAT THIS FILE CANNOT DO: stop a name being registered. The chain enforces charset and length only, so a label
41
+ * this SDK refuses can exist on chain (registered before the rule, or by a direct contract call). Every inverse
42
+ * here is therefore a HINT about which name a host means — routing confirms it against the chain
43
+ * (`confirmDnsHost`: every reading is resolved, and two readings held by different agents is an explicit
44
+ * `ambiguous` result the router refuses, never a precedence pick).
24
45
  *
25
46
  * The type in DNS is still a fixed projection of the suffix and is NEVER parsed as authority.
26
47
  */
27
48
  import { parseAgentName } from './grammar.js';
28
- import { allAgentTlds, derivedTypeForTld, isAgentTld } from './constants.js';
49
+ import { isAgentTld, isReservedLabel, typeSuffixOfLabel } from './constants.js';
50
+ import { normalizeLabel } from './label.js';
29
51
  import { InvalidNameError } from './errors.js';
30
52
  /** A2A JSON-RPC path (must equal `@agenticprimitives/a2a` `A2A_JSONRPC_PATH` — golden-vector tested, no import edge). */
31
53
  export const A2A_JSONRPC_PATH = '/api/a2a';
@@ -38,7 +60,31 @@ function assertZone(zone, what) {
38
60
  throw new InvalidNameError(zone, `${what} must be a DNS zone (got "${zone}")`);
39
61
  return z;
40
62
  }
41
- /** Project a handle onto a DNS host per the §5 table. Root / type-node / legacy names have no host. */
63
+ /** `<label>-<type>` split the one way it can be (rule 2), with a label that could be registered — else null. */
64
+ function splitTypedLabel(rest) {
65
+ const tld = typeSuffixOfLabel(rest);
66
+ if (!tld)
67
+ return null;
68
+ const label = rest.slice(0, -tld.length - 1);
69
+ if (!isPlainLabel(label) || isReservedLabel(label))
70
+ return null;
71
+ return { label, tld };
72
+ }
73
+ function isPlainLabel(label) {
74
+ try {
75
+ return normalizeLabel(label) === label;
76
+ }
77
+ catch (e) {
78
+ if (e instanceof InvalidNameError)
79
+ return false;
80
+ throw e;
81
+ }
82
+ }
83
+ /**
84
+ * Project a handle onto a DNS host per the §5 table. Root / type-node / legacy names have no host — and neither
85
+ * does a hosted person whose label ends in `-<type>` (rule 1: throws `label_reads_as_type`, never the colliding
86
+ * host). A person on their OWN domain (`ownsDomain`) is not on a shared zone and is not affected.
87
+ */
42
88
  export function dnsHostForHandle(name, opts) {
43
89
  const p = typeof name === 'string' ? parseAgentName(name) : name;
44
90
  const zone = assertZone(opts.zone, 'zone');
@@ -47,25 +93,36 @@ export function dnsHostForHandle(name, opts) {
47
93
  }
48
94
  const { label, tld } = p.handle;
49
95
  const type = p.derivedType;
96
+ const bare = (z) => {
97
+ const reads = typeSuffixOfLabel(label);
98
+ if (reads)
99
+ throw new InvalidNameError(p.normalized, `label_reads_as_type: "${label}.${z}" is the host of "${label.slice(0, -reads.length - 1)}.${reads}" — a label ending in "-${reads}" has no host on a shared zone`);
100
+ return `${label}.${z}`;
101
+ };
50
102
  if (p.kind === 'canonical') {
51
103
  if (type === 'org')
52
104
  return zone;
53
105
  if (type === 'person') {
54
106
  if (opts.ownsDomain)
55
107
  return `${label}.${tld}`;
56
- return `${label}.${assertZone(opts.homeZone ?? opts.zone, 'homeZone')}`;
108
+ return bare(assertZone(opts.homeZone ?? opts.zone, 'homeZone'));
57
109
  }
58
110
  return `${label}-${tld}.${zone}`;
59
111
  }
60
112
  // scoped / contextual
61
113
  if (type === 'person')
62
- return `${label}.${zone}`;
114
+ return bare(zone);
63
115
  return `${label}-${tld}.${zone}`;
64
116
  }
65
117
  /**
66
118
  * The inverse of `dnsHostForHandle` for a hosted zone: `<label>-<type>.<zone>` → `<label>.<type>`, and a
67
- * bare `<label>.<zone>` → null (a person/legacy label, whose root the deployment decides from its ordered
68
- * root list). Pure; never guesses a type that is not in the closed suffix set.
119
+ * bare `<label>.<zone>` → null (a person/legacy label, whose root the deployment decides from its root list).
120
+ * Pure and single-valued: exactly one handle or null — the split is unique (rule 2), a reserved or malformed
121
+ * label reads as nothing (rule 3), and no bare name projects onto a typed host (rule 1).
122
+ *
123
+ * A HINT, NOT AN ANSWER. It says which name this SDK would have projected here; it cannot know that the chain
124
+ * also holds a bare-root name with the same label. Confirm with `confirmDnsHost` (or resolve the name and check
125
+ * its records) before routing — resolution is by records, never by parsing a subdomain.
69
126
  */
70
127
  export function handleForDnsHost(host, zone) {
71
128
  const h = host.trim().toLowerCase().replace(/\.$/, '');
@@ -75,15 +132,8 @@ export function handleForDnsHost(host, zone) {
75
132
  const rest = h.slice(0, h.length - z.length - 1);
76
133
  if (!rest || rest.includes('.'))
77
134
  return null;
78
- for (const tld of allAgentTlds()) {
79
- const suffix = `-${tld}`;
80
- if (rest.endsWith(suffix) && rest.length > suffix.length) {
81
- const label = rest.slice(0, -suffix.length);
82
- const canonical = derivedTypeForTld(tld) === null ? tld : tld;
83
- return { label, tld: canonical, name: `${label}.${canonical}` };
84
- }
85
- }
86
- return null;
135
+ const t = splitTypedLabel(rest);
136
+ return t ? { label: t.label, tld: t.tld, name: `${t.label}.${t.tld}` } : null;
87
137
  }
88
138
  export function agentCardUrlForHost(host) {
89
139
  return `https://${assertZone(host, 'host')}${A2A_AGENT_CARD_PATH}`;
@@ -123,12 +173,8 @@ export function parseSubdomainLabel(hostname, zone, exclude = []) {
123
173
  /** `<label>-<type>` → the typed name it projects (`alice-home-church` → `alice-home.church`), or null when the
124
174
  * label carries no known type suffix. A CANDIDATE — the caller resolves it against the chain. */
125
175
  export function typedNameForLabel(rest) {
126
- for (const tld of allAgentTlds()) {
127
- const suffix = `-${tld}`;
128
- if (rest.endsWith(suffix) && rest.length > suffix.length)
129
- return `${rest.slice(0, -suffix.length)}.${tld}`;
130
- }
131
- return null;
176
+ const t = splitTypedLabel(rest);
177
+ return t ? `${t.label}.${t.tld}` : null;
132
178
  }
133
179
  /**
134
180
  * The inbound host → the name it projects, for the two shapes ONE base zone serves:
@@ -138,7 +184,12 @@ export function typedNameForLabel(rest) {
138
184
  * The DNS label is returned RAW as `label`: a label may read BOTH ways (`alice-home-church` is `alice-home.church`
139
185
  * and also the legacy `alice-home-church.<legacyParent>`), so the choice belongs to the caller, which resolves an
140
186
  * ORDERED candidate set against the chain — one mechanism, ordered candidates, not a fallback (ADR-0013).
141
- * Apex, deeper nesting, an unknown type level → null.
187
+ * Apex, deeper nesting, an unknown type level, a reserved label (`www`, `api`, … — rule 3) → null.
188
+ *
189
+ * `name` IS THE TYPED READING WHEN THERE IS ONE, AND THAT IS A HINT (spec 445 / NAME-8). This function is pure; it
190
+ * cannot see that the legacy `<label>.<legacyParent>` is ALSO registered. A router that takes `name` and stops has
191
+ * let a later typed claim take an existing legacy name's host. Route through `confirmDnsHost`, which resolves
192
+ * every reading and refuses when two agents hold one host.
142
193
  */
143
194
  export function parseTypedAgentHost(hostname, zone, legacyParent) {
144
195
  if (!hostname)
@@ -149,9 +200,12 @@ export function parseTypedAgentHost(hostname, zone, legacyParent) {
149
200
  return null;
150
201
  const rest = host.slice(0, host.length - base.length - 1);
151
202
  const parts = rest.split('.');
152
- if (parts.length === 1 && parts[0])
203
+ if (parts.length === 1 && parts[0]) {
204
+ if (!isPlainLabel(parts[0]) || isReservedLabel(parts[0]))
205
+ return null;
153
206
  return { label: parts[0], name: typedNameForLabel(parts[0]) ?? `${parts[0]}.${legacyParent}` };
154
- if (parts.length === 2 && parts[0] && isAgentTld(parts[1]))
207
+ }
208
+ if (parts.length === 2 && parts[0] && isAgentTld(parts[1]) && isPlainLabel(parts[0]) && !isReservedLabel(parts[0]))
155
209
  return { label: `${parts[0]}.${parts[1]}`, name: `${parts[0]}.${parts[1]}` };
156
210
  return null;
157
211
  }
@@ -160,18 +214,64 @@ export function parseTypedAgentHost(hostname, zone, legacyParent) {
160
214
  * `legacyParents` (the ordered person / legacy roots an estate serves — a list, because an estate mid-migration
161
215
  * serves several) → `<label>.<zone>`; `<label>.<tld>` for any other agent type → `<label>-<tld>.<zone>`. Deeper or
162
216
  * untyped → null (no host to publish at). A projection of the name, never authority.
217
+ *
218
+ * NULL ALSO MEANS "this name has no host on a shared zone" (spec 445 / NAME-8): a malformed or reserved label
219
+ * (`www.me` is not `www.<zone>`), and a bare-root label ending in `-<type>` (`foo-org.agent` is NOT
220
+ * `foo-org.<zone>` — that is `foo.org`'s host). Never the colliding host.
163
221
  */
164
222
  export function hostForName(name, zone, legacyParents) {
165
223
  const parts = name.trim().toLowerCase().split('.');
166
224
  if (parts.length !== 2 || !parts[0] || !parts[1])
167
225
  return null;
168
226
  const [label, tld] = parts;
227
+ if (!isPlainLabel(label) || isReservedLabel(label))
228
+ return null;
169
229
  if (legacyParents.includes(tld))
170
- return `${label}.${zone}`;
230
+ return typeSuffixOfLabel(label) ? null : `${label}.${zone}`;
171
231
  if (isAgentTld(tld))
172
232
  return `${label}-${tld}.${zone}`;
173
233
  return null;
174
234
  }
235
+ /**
236
+ * EVERY name a single-label host under `zone` could mean, in a fixed order: the typed reading (`<label>-<type>`
237
+ * → `<label>.<type>`), then `<label>.<root>` for each bare root. The bare readings of a label that ends in
238
+ * `-<type>` are included with `projectable: false`: this SDK gives them no host, but the chain may hold one
239
+ * (registered before the rule, or by a direct call), and a router has to know to look. Pure. Apex, nesting,
240
+ * a foreign host, a reserved or malformed label → `[]`.
241
+ */
242
+ export function dnsHostReadings(hostname, zone, bareRoots) {
243
+ const label = parseSubdomainLabel(hostname, zone);
244
+ if (!label || !isPlainLabel(label) || isReservedLabel(label))
245
+ return [];
246
+ const typed = typedNameForLabel(label);
247
+ const out = typed ? [{ name: typed, projectable: true }] : [];
248
+ for (const root of bareRoots)
249
+ out.push({ name: `${label}.${root}`, projectable: typed === null });
250
+ return out;
251
+ }
252
+ /**
253
+ * Host → agent, CONFIRMED BY RECORDS (spec 445 / NAME-8). Resolves EVERY reading of the host on chain — one
254
+ * mechanism over the whole candidate set, not a first-hit walk (ADR-0013) — and answers:
255
+ * - none registered → `none`
256
+ * - all registered readings resolve to one agent → `confirmed`
257
+ * - two agents → `ambiguous` — a typed claim made after a legacy name of the same host existed
258
+ * (or the reverse) lands here; the existing holder's host stops answering rather than answering as the
259
+ * claimant. That is a denial an operator can see and settle, where a precedence pick was an impersonation.
260
+ * A read that throws propagates: "could not read" is not "not registered".
261
+ */
262
+ export async function confirmDnsHost(hostname, zone, ports) {
263
+ const readings = dnsHostReadings(hostname, zone, ports.bareRoots);
264
+ if (readings.length === 0)
265
+ return { status: 'none' };
266
+ const resolved = await Promise.all(readings.map(async (r) => ({ ...r, address: await ports.reads.resolveName(r.name) })));
267
+ const held = resolved.filter((r) => !!r.address);
268
+ if (held.length === 0)
269
+ return { status: 'none' };
270
+ const agents = new Set(held.map((r) => r.address.toLowerCase()));
271
+ if (agents.size > 1)
272
+ return { status: 'ambiguous', candidates: held.map(({ name, address, projectable }) => ({ name, address, projectable })) };
273
+ return { status: 'confirmed', address: held[0].address, name: held[0].name, names: held.map((r) => r.name), projectable: held.some((r) => r.projectable) };
274
+ }
175
275
  /**
176
276
  * The on-chain name for an explicit handle (an edge path `POST /api/a2a/<handle>`, an injected subdomain header).
177
277
  * A bare label is `<label>.<legacyParent>`; a typed handle (`x.t`, `x.t@c.u`, `c.u/x.t`) or a legacy dotted name
package/dist/dns.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dns.js","sourceRoot":"","sources":["../src/dns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dns.js","sourceRoot":"","sources":["../src/dns.ts"],"names":[],"mappings":"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"}
package/dist/grammar.d.ts CHANGED
@@ -9,7 +9,7 @@
9
9
  * dotted := x.t.c.u the on-chain form of x.t@c.u
10
10
  * type-node := t.c.u the intermediate node an issuing context owns
11
11
  * root := tld | legacy-tld a bare root node (namehash('me'), namehash('agent'))
12
- * legacy := <anything>.impact | <anything>.agent untyped, never validated (spec 346 §3.5)
12
+ * legacy := <anything>.agent untyped, never validated (spec 346 §3.5)
13
13
  *
14
14
  * The derived type of ANY name is the tld of the part before the first `@`. The context (after `@`)
15
15
  * MUST be an org / team / workspace handle. v1: one level of context.
package/dist/grammar.js CHANGED
@@ -1,4 +1,4 @@
1
- import { AGENT_TLD_ALIASES, RESERVED_LABELS, canonicalTld, derivedTypeForTld, subtypeForTld, isLegacyTld, } from './constants.js';
1
+ import { AGENT_TLD_ALIASES, isReservedLabel, canonicalTld, derivedTypeForTld, subtypeForTld, isLegacyTld, } from './constants.js';
2
2
  import { InvalidNameError } from './errors.js';
3
3
  import { nodeOfLabels } from './hash.js';
4
4
  import { normalizeLabel } from './label.js';
@@ -25,7 +25,7 @@ function labelsOf(full, part) {
25
25
  });
26
26
  }
27
27
  function assertTypedLabel(full, label, where) {
28
- if (RESERVED_LABELS.includes(label) || canonicalTld(label) !== null) {
28
+ if (isReservedLabel(label)) {
29
29
  throw new InvalidNameError(full, `reserved_label: "${label}" cannot be a ${where} label`);
30
30
  }
31
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"grammar.js","sourceRoot":"","sources":["../src/grammar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grammar.js","sourceRoot":"","sources":["../src/grammar.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,16 +1,16 @@
1
- export { AGENT_TLDS, AGENT_TLD_ALIASES, LEGACY_TLDS, RESERVED_LABELS, ROOT_KIND_AGENT, isAgentTld, isLegacyTld, canonicalTld, derivedTypeForTld, tldForDerivedType, rootClassForDerivedType, rootClassForTld, rootKindForTld, isKnownAgentTld, subtypeForTld, allAgentTlds, type AgentTld, type AnyAgentTld, type LegacyTld, } from './constants.js';
1
+ export { AGENT_TLDS, AGENT_TLD_ALIASES, LEGACY_TLDS, RESERVED_LABELS, CHAIN_SEEDED_RESERVED_LABELS, ROOT_KIND_AGENT, isAgentTld, isLegacyTld, canonicalTld, derivedTypeForTld, tldForDerivedType, rootClassForDerivedType, rootClassForTld, rootKindForTld, isKnownAgentTld, isReservedLabel, typeSuffixOfLabel, subtypeForTld, allAgentTlds, type AgentTld, type AnyAgentTld, type LegacyTld, } from './constants.js';
2
2
  export { federatedAgentName, displayAgentName, sameFederatedName, caip2ForChainId, chainIdOfCaip2, type FederatedAgentNameV1, type Caip2Chain, type DisplayAgentNameOptions, } from './federated.js';
3
3
  export { registerVerticalAgentTypes, clearVerticalAgentTypes, verticalAgentTypeForTld, verticalAgentTypeForSubtype, verticalAgentTlds, verticalRootKindForTld, type VerticalAgentTypeDefinition, type VerticalAgentType, } from './vertical.js';
4
4
  export { normalizeAgentName, normalizeLabel, isValidAgentName } from './normalize.js';
5
5
  export { parseAgentName, formatAgentName, onChainNameOf, MIN_ROOT_LABEL_LENGTH, type ParsedAgentName, type ParsedAgentNameKind, type AgentNameForm, } from './grammar.js';
6
- export { A2A_JSONRPC_PATH, A2A_AGENT_CARD_PATH, dnsHostForHandle, parseSubdomainLabel, typedNameForLabel, parseTypedAgentHost, hostForName, agentNameForHandle, agentCardUrlForHost, a2aEndpointForHost, edgeA2aPathForHandle, type DnsHostOptions, } from './dns.js';
7
- export { findUniqueLabel, childNodeOf, validateTypedClaim, ROLE_TYPED, type UniqueLabelReads, type TypedClaimViolation, type TypedClaimSubject, } from './claim.js';
6
+ export { A2A_JSONRPC_PATH, A2A_AGENT_CARD_PATH, dnsHostForHandle, handleForDnsHost, dnsHostReadings, confirmDnsHost, parseSubdomainLabel, typedNameForLabel, parseTypedAgentHost, hostForName, agentNameForHandle, agentCardUrlForHost, a2aEndpointForHost, edgeA2aPathForHandle, type DnsHostOptions, type DnsHostReading, type DnsHostReads, type DnsHostConfirmation, } from './dns.js';
7
+ export { findUniqueLabel, childNodeOf, validateTypedClaim, labelClaimViolation, assertClaimableLabel, rootTakesBareHost, knownRootOfNode, ROLE_TYPED, type UniqueLabelReads, type TypedClaimViolation, type TypedClaimSubject, type LabelClaimViolation, } from './claim.js';
8
8
  export { CONTEXT_VAULT_RESOURCES, validateContextualIssuance, issuanceBody, isAnchoredOnChain, isIssuanceActiveAt, type ContextualNameIssuanceV1, type ContextualNameIssuanceBody, type ContextualIssuanceBasis, type ContextualIssuanceKind, type ContextualIssuanceStatus, type ContextualNameListing, type IssuanceShapeViolation, } from './issuance.js';
9
9
  export { labelhash, namehash, ZERO_NODE } from './namehash.js';
10
10
  export { InvalidNameError, NameNotFoundError, UnauthorizedNameOwnerError, } from './errors.js';
11
11
  export type { AgentKind, ConnectionKind, AgentNameRecords, RegisterSubnameInput, SetPrimaryNameInput, SetAgentRecordsInput, SetSubregistryInput, AgentNamingClientOpts, DerivedTypeRecord, TypedNameRecord, TypedNameCheck, } from './types.js';
12
12
  export { AgentNamingClient, type WriteContext } from './client.js';
13
- export { buildRegisterSubnameCall, buildRotateNameOwnerCall, buildRotateNameResolverCall, buildSetSubregistryCall, buildSetPrimaryNameCall, buildSetStringAttributeCall, buildSetStringArrayAttributeCall, buildSetAddressAttributeCall, buildSetBytes32AttributeCall, buildRecordCalls, buildSubregistryRegisterCall, buildDeclareAgentTypeCalls, buildTypedClaimCalls, type ContractCall, } from './custody.js';
13
+ export { buildRegisterSubnameCall, buildRotateNameOwnerCall, buildRotateNameResolverCall, buildSetSubregistryCall, buildSetPrimaryNameCall, buildSetStringAttributeCall, buildSetStringArrayAttributeCall, buildSetAddressAttributeCall, buildSetBytes32AttributeCall, buildRecordCalls, buildSubregistryRegisterCall, buildSubregistryCommitCall, subregistryCommitment, generateClaimSecret, SUBREGISTRY_MIN_COMMIT_AGE_SECONDS, SUBREGISTRY_MAX_COMMIT_AGE_SECONDS, buildRenewNameCall, buildDeclareAgentTypeCalls, buildTypedClaimCalls, type ContractCall, } from './custody.js';
14
14
  export { agentNameRegistryAbi, agentNameAttributeResolverAbi, agentNameUniversalResolverAbi, ontologyTermRegistryAbi, shapeRegistryAbi, permissionlessSubregistryAbi, pricedSubregistryAbi, agentProfileResolverTypeAbi, } from './abis.js';
15
15
  export { PREDICATE_ID, AGENT_KIND_ID, CONNECTION_KIND_ID, CLASS_AGENT_NAME, AGENT_KIND_ENUM, CONNECTION_KIND_ENUM, AGENT_TYPE_ID, AGENT_TYPE_ENUM, encodeAgentType, decodeAgentType, decodeAgentKind, CAIP10_NAMESPACE_ALLOWLIST, encodeRecords, decodeRecords, type PredicateName, type EncodedRecord, type DecodeInput, } from './records.js';
16
16
  export { NAME_PRICE_BASE, NAME_PRICE_MULTIPLIERS_X10, NAME_PRICE_CAP, NAME_PRICE_MIN_LABEL, priceOf, toCoinUnits, CLAIM_TICKET_TYPES, claimTicketDomain, buildPricedClaimCalls, type ClaimTicketV1, } from './price.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@
5
5
  // - CLAUDE.md — doctrine
6
6
  // - specs/215-agent-naming.md — the contract
7
7
  // Typed TLD registry (ADR-0061 / spec 346 §4).
8
- export { AGENT_TLDS, AGENT_TLD_ALIASES, LEGACY_TLDS, RESERVED_LABELS, ROOT_KIND_AGENT, isAgentTld, isLegacyTld, canonicalTld, derivedTypeForTld, tldForDerivedType, rootClassForDerivedType, rootClassForTld, rootKindForTld, isKnownAgentTld, subtypeForTld, allAgentTlds, } from './constants.js';
8
+ export { AGENT_TLDS, AGENT_TLD_ALIASES, LEGACY_TLDS, RESERVED_LABELS, CHAIN_SEEDED_RESERVED_LABELS, ROOT_KIND_AGENT, isAgentTld, isLegacyTld, canonicalTld, derivedTypeForTld, tldForDerivedType, rootClassForDerivedType, rootClassForTld, rootKindForTld, isKnownAgentTld, isReservedLabel, typeSuffixOfLabel, subtypeForTld, allAgentTlds, } from './constants.js';
9
9
  // The federated reference — the pair { name, chain } that crosses a town, and the never-bare display rule
10
10
  // (spec 346 §3.7; ap-federation spec 440 §C). The chain is a record beside the name, never a component of it.
11
11
  export { federatedAgentName, displayAgentName, sameFederatedName, caip2ForChainId, chainIdOfCaip2, } from './federated.js';
@@ -13,15 +13,17 @@ export { federatedAgentName, displayAgentName, sameFederatedName, caip2ForChainI
13
13
  export { registerVerticalAgentTypes, clearVerticalAgentTypes, verticalAgentTypeForTld, verticalAgentTypeForSubtype, verticalAgentTlds, verticalRootKindForTld, } from './vertical.js';
14
14
  export { normalizeAgentName, normalizeLabel, isValidAgentName } from './normalize.js';
15
15
  export { parseAgentName, formatAgentName, onChainNameOf, MIN_ROOT_LABEL_LENGTH, } from './grammar.js';
16
- export { A2A_JSONRPC_PATH, A2A_AGENT_CARD_PATH, dnsHostForHandle, parseSubdomainLabel, typedNameForLabel, parseTypedAgentHost, hostForName, agentNameForHandle, agentCardUrlForHost, a2aEndpointForHost, edgeA2aPathForHandle, } from './dns.js';
17
- export { findUniqueLabel, childNodeOf, validateTypedClaim, ROLE_TYPED, } from './claim.js';
16
+ export { A2A_JSONRPC_PATH, A2A_AGENT_CARD_PATH, dnsHostForHandle, handleForDnsHost, dnsHostReadings, confirmDnsHost, parseSubdomainLabel, typedNameForLabel, parseTypedAgentHost, hostForName, agentNameForHandle, agentCardUrlForHost, a2aEndpointForHost, edgeA2aPathForHandle, } from './dns.js';
17
+ export { findUniqueLabel, childNodeOf, validateTypedClaim, labelClaimViolation, assertClaimableLabel, rootTakesBareHost, knownRootOfNode, ROLE_TYPED, } from './claim.js';
18
18
  export { CONTEXT_VAULT_RESOURCES, validateContextualIssuance, issuanceBody, isAnchoredOnChain, isIssuanceActiveAt, } from './issuance.js';
19
19
  export { labelhash, namehash, ZERO_NODE } from './namehash.js';
20
20
  export { InvalidNameError, NameNotFoundError, UnauthorizedNameOwnerError, } from './errors.js';
21
21
  export { AgentNamingClient } from './client.js';
22
22
  // Phase 4 pure call builders (subpath `@agenticprimitives/agent-naming/custody`
23
23
  // re-exported from top-level for convenience).
24
- export { buildRegisterSubnameCall, buildRotateNameOwnerCall, buildRotateNameResolverCall, buildSetSubregistryCall, buildSetPrimaryNameCall, buildSetStringAttributeCall, buildSetStringArrayAttributeCall, buildSetAddressAttributeCall, buildSetBytes32AttributeCall, buildRecordCalls, buildSubregistryRegisterCall, buildDeclareAgentTypeCalls, buildTypedClaimCalls, } from './custody.js';
24
+ export { buildRegisterSubnameCall, buildRotateNameOwnerCall, buildRotateNameResolverCall, buildSetSubregistryCall, buildSetPrimaryNameCall, buildSetStringAttributeCall, buildSetStringArrayAttributeCall, buildSetAddressAttributeCall, buildSetBytes32AttributeCall, buildRecordCalls, buildSubregistryRegisterCall,
25
+ // Spec 445 / generation 4 / B2 (REG-5, REG-6) — commit-reveal claim + parent-authority renew.
26
+ buildSubregistryCommitCall, subregistryCommitment, generateClaimSecret, SUBREGISTRY_MIN_COMMIT_AGE_SECONDS, SUBREGISTRY_MAX_COMMIT_AGE_SECONDS, buildRenewNameCall, buildDeclareAgentTypeCalls, buildTypedClaimCalls, } from './custody.js';
25
27
  // Phase 3 contract ABIs (live at deployed addresses recorded in
26
28
  // packages/contracts/deployments-<network>.json). ADR-0009 pivot: the
27
29
  // resolver inherits the shared `AttributeStorage` + ontology stack.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export { normalizeLabel } from './label.js';
6
6
  * - `.ws` rewritten to `.workspace`.
7
7
  * - Scoped / contextual names return the `@` form (`vault.svc@richcanvas.org`), whichever accepted
8
8
  * rendering was given (`@`, `c.u/x.t`, or dotted `x.t.c.u`).
9
- * - Root, type-node and legacy (`.impact` / `.agent`) names return their dotted form.
9
+ * - Root, type-node and legacy (`.agent`) names return their dotted form.
10
10
  *
11
11
  * Throws `InvalidNameError` on any rule violation. `namehash` hashes the on-chain form of the same
12
12
  * parse, so two inputs that normalize identically hash identically.