@agenticprimitives/agent-naming 1.0.0-alpha.4 → 1.0.0-alpha.40
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/AUDIT.md +15 -4
- package/CLAUDE.md +40 -53
- package/README.md +57 -54
- package/dist/abis.d.ts +641 -0
- package/dist/abis.d.ts.map +1 -1
- package/dist/abis.js +96 -0
- package/dist/abis.js.map +1 -1
- package/dist/claim.d.ts +71 -0
- package/dist/claim.d.ts.map +1 -0
- package/dist/claim.js +73 -0
- package/dist/claim.js.map +1 -0
- package/dist/client.d.ts +36 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +197 -10
- package/dist/client.js.map +1 -1
- package/dist/constants.d.ts +55 -5
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +128 -4
- package/dist/constants.js.map +1 -1
- package/dist/custody.d.ts +54 -2
- package/dist/custody.d.ts.map +1 -1
- package/dist/custody.js +140 -4
- package/dist/custody.js.map +1 -1
- package/dist/dns.d.ts +91 -0
- package/dist/dns.d.ts.map +1 -0
- package/dist/dns.js +196 -0
- package/dist/dns.js.map +1 -0
- package/dist/federated.d.ts +31 -0
- package/dist/federated.d.ts.map +1 -0
- package/dist/federated.js +54 -0
- package/dist/federated.js.map +1 -0
- package/dist/grammar.d.ts +62 -0
- package/dist/grammar.d.ts.map +1 -0
- package/dist/grammar.js +165 -0
- package/dist/grammar.js.map +1 -0
- package/dist/hash.d.ts +14 -0
- package/dist/hash.d.ts.map +1 -0
- package/dist/hash.js +22 -0
- package/dist/hash.js.map +1 -0
- package/dist/index.d.ts +17 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -8
- package/dist/index.js.map +1 -1
- package/dist/issuance.d.ts +70 -0
- package/dist/issuance.d.ts.map +1 -0
- package/dist/issuance.js +65 -0
- package/dist/issuance.js.map +1 -0
- package/dist/label.d.ts +10 -0
- package/dist/label.d.ts.map +1 -0
- package/dist/label.js +39 -0
- package/dist/label.js.map +1 -0
- package/dist/namehash.d.ts +12 -24
- package/dist/namehash.d.ts.map +1 -1
- package/dist/namehash.js +13 -36
- package/dist/namehash.js.map +1 -1
- package/dist/normalize.d.ts +9 -17
- package/dist/normalize.d.ts.map +1 -1
- package/dist/normalize.js +11 -48
- package/dist/normalize.js.map +1 -1
- package/dist/price.d.ts +74 -0
- package/dist/price.d.ts.map +1 -0
- package/dist/price.js +58 -0
- package/dist/price.js.map +1 -0
- package/dist/records.d.ts +44 -3
- package/dist/records.d.ts.map +1 -1
- package/dist/records.js +203 -4
- package/dist/records.js.map +1 -1
- package/dist/types.d.ts +108 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/vertical.d.ts +43 -0
- package/dist/vertical.d.ts.map +1 -0
- package/dist/vertical.js +40 -0
- package/dist/vertical.js.map +1 -0
- package/docs/api.md +15 -3
- package/docs/concepts.md +1 -1
- package/docs/migration.md +1 -1
- package/package.json +24 -15
package/dist/client.js
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { createPublicClient, http } from 'viem';
|
|
2
|
-
import { agentNameAttributeResolverAbi, agentNameRegistryAbi, agentNameUniversalResolverAbi, } from './abis';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { agentNameAttributeResolverAbi, agentNameRegistryAbi, agentNameUniversalResolverAbi, agentProfileResolverTypeAbi, } from './abis.js';
|
|
3
|
+
import { rootClassForDerivedType } from '@agenticprimitives/types';
|
|
4
|
+
import { derivedTypeForTld } from './constants.js';
|
|
5
|
+
import { parseAgentName } from './grammar.js';
|
|
6
|
+
import { findUniqueLabel, validateTypedClaim } from './claim.js';
|
|
7
|
+
import { PREDICATE_ID, decodeRecords, decodeAgentKind, decodeAgentType, } from './records.js';
|
|
8
|
+
import { buildRegisterSubnameCall, buildRecordCalls, buildSetPrimaryNameCall, buildSetSubregistryCall, } from './custody.js';
|
|
9
|
+
import { namehash, ZERO_NODE } from './namehash.js';
|
|
10
|
+
import { normalizeLabel } from './normalize.js';
|
|
6
11
|
/**
|
|
7
12
|
* Read + write client for the Agent Naming Service.
|
|
8
13
|
*
|
|
@@ -99,8 +104,14 @@ export class AgentNamingClient {
|
|
|
99
104
|
PREDICATE_ID.displayName,
|
|
100
105
|
PREDICATE_ID.a2aEndpoint,
|
|
101
106
|
PREDICATE_ID.mcpEndpoint,
|
|
107
|
+
PREDICATE_ID.appContext,
|
|
108
|
+
PREDICATE_ID.orgRole,
|
|
109
|
+
PREDICATE_ID.serviceUrl,
|
|
110
|
+
PREDICATE_ID.siteUrl,
|
|
111
|
+
PREDICATE_ID.description,
|
|
102
112
|
PREDICATE_ID.metadataUri,
|
|
103
113
|
PREDICATE_ID.nativeId,
|
|
114
|
+
PREDICATE_ID.cardUri,
|
|
104
115
|
];
|
|
105
116
|
const stringValues = await this.publicClient.readContract({
|
|
106
117
|
address: this.opts.universalResolver,
|
|
@@ -111,7 +122,7 @@ export class AgentNamingClient {
|
|
|
111
122
|
// Address + bytes32 predicates — direct getter calls against the
|
|
112
123
|
// resolver (no batch path on chain yet; per-call is cheap for the
|
|
113
124
|
// small constant set we have).
|
|
114
|
-
const [addr, custodyPolicy] = await Promise.all([
|
|
125
|
+
const [addr, custodyPolicy, connectionAddress] = await Promise.all([
|
|
115
126
|
this.publicClient.readContract({
|
|
116
127
|
address: resolverAddr,
|
|
117
128
|
abi: agentNameAttributeResolverAbi,
|
|
@@ -124,8 +135,14 @@ export class AgentNamingClient {
|
|
|
124
135
|
functionName: 'getAddress',
|
|
125
136
|
args: [node, PREDICATE_ID.custodyPolicy],
|
|
126
137
|
}),
|
|
138
|
+
this.publicClient.readContract({
|
|
139
|
+
address: resolverAddr,
|
|
140
|
+
abi: agentNameAttributeResolverAbi,
|
|
141
|
+
functionName: 'getAddress',
|
|
142
|
+
args: [node, PREDICATE_ID.connectionAddress],
|
|
143
|
+
}),
|
|
127
144
|
]);
|
|
128
|
-
const [agentKind, metadataHash, passkeyDigest] = await Promise.all([
|
|
145
|
+
const [agentKind, metadataHash, passkeyDigest, connectionKind, cardDigest] = await Promise.all([
|
|
129
146
|
this.publicClient.readContract({
|
|
130
147
|
address: resolverAddr,
|
|
131
148
|
abi: agentNameAttributeResolverAbi,
|
|
@@ -144,13 +161,40 @@ export class AgentNamingClient {
|
|
|
144
161
|
functionName: 'getBytes32',
|
|
145
162
|
args: [node, PREDICATE_ID.passkeyCredentialDigest],
|
|
146
163
|
}),
|
|
164
|
+
this.publicClient.readContract({
|
|
165
|
+
address: resolverAddr,
|
|
166
|
+
abi: agentNameAttributeResolverAbi,
|
|
167
|
+
functionName: 'getBytes32',
|
|
168
|
+
args: [node, PREDICATE_ID.connectionKind],
|
|
169
|
+
}),
|
|
170
|
+
this.publicClient.readContract({
|
|
171
|
+
address: resolverAddr,
|
|
172
|
+
abi: agentNameAttributeResolverAbi,
|
|
173
|
+
functionName: 'getBytes32',
|
|
174
|
+
args: [node, PREDICATE_ID.cardDigest],
|
|
175
|
+
}),
|
|
147
176
|
]);
|
|
148
177
|
const input = { strings: {}, addresses: {}, bytes32s: {} };
|
|
178
|
+
// Accounts by chain (spec 346 §3.8) — the one string[] record; read on the attribute resolver.
|
|
179
|
+
const accountsArr = (await this.publicClient.readContract({
|
|
180
|
+
address: resolverAddr,
|
|
181
|
+
abi: agentNameAttributeResolverAbi,
|
|
182
|
+
functionName: 'getStringArr',
|
|
183
|
+
args: [node, PREDICATE_ID.accounts],
|
|
184
|
+
}));
|
|
185
|
+
if (accountsArr.length)
|
|
186
|
+
input.stringArrs = { [PREDICATE_ID.accounts]: [...accountsArr] };
|
|
149
187
|
input.strings[PREDICATE_ID.displayName] = stringValues[0];
|
|
150
188
|
input.strings[PREDICATE_ID.a2aEndpoint] = stringValues[1];
|
|
151
189
|
input.strings[PREDICATE_ID.mcpEndpoint] = stringValues[2];
|
|
152
|
-
input.strings[PREDICATE_ID.
|
|
153
|
-
input.strings[PREDICATE_ID.
|
|
190
|
+
input.strings[PREDICATE_ID.appContext] = stringValues[3];
|
|
191
|
+
input.strings[PREDICATE_ID.orgRole] = stringValues[4];
|
|
192
|
+
input.strings[PREDICATE_ID.serviceUrl] = stringValues[5];
|
|
193
|
+
input.strings[PREDICATE_ID.siteUrl] = stringValues[6];
|
|
194
|
+
input.strings[PREDICATE_ID.description] = stringValues[7];
|
|
195
|
+
input.strings[PREDICATE_ID.metadataUri] = stringValues[8];
|
|
196
|
+
input.strings[PREDICATE_ID.nativeId] = stringValues[9];
|
|
197
|
+
input.strings[PREDICATE_ID.cardUri] = stringValues[10];
|
|
154
198
|
if (addr !== '0x0000000000000000000000000000000000000000') {
|
|
155
199
|
input.addresses[PREDICATE_ID.addr] = addr;
|
|
156
200
|
}
|
|
@@ -161,10 +205,150 @@ export class AgentNamingClient {
|
|
|
161
205
|
input.bytes32s[PREDICATE_ID.agentKind] = agentKind;
|
|
162
206
|
if (metadataHash !== ZERO_NODE)
|
|
163
207
|
input.bytes32s[PREDICATE_ID.metadataHash] = metadataHash;
|
|
208
|
+
if (cardDigest !== ZERO_NODE)
|
|
209
|
+
input.bytes32s[PREDICATE_ID.cardDigest] = cardDigest;
|
|
164
210
|
if (passkeyDigest !== ZERO_NODE)
|
|
165
211
|
input.bytes32s[PREDICATE_ID.passkeyCredentialDigest] = passkeyDigest;
|
|
212
|
+
if (connectionKind !== ZERO_NODE)
|
|
213
|
+
input.bytes32s[PREDICATE_ID.connectionKind] = connectionKind;
|
|
214
|
+
if (connectionAddress !== '0x0000000000000000000000000000000000000000') {
|
|
215
|
+
input.addresses[PREDICATE_ID.connectionAddress] = connectionAddress;
|
|
216
|
+
}
|
|
166
217
|
return decodeRecords(input);
|
|
167
218
|
}
|
|
219
|
+
/**
|
|
220
|
+
* Connection-bootstrap lookup (spec 280): the PUBLIC `name → how-to-connect`
|
|
221
|
+
* read a returning person uses on a fresh device. Returns the opt-in,
|
|
222
|
+
* owner-published connection KIND (+ optional pre-select identifier), or null
|
|
223
|
+
* when none is set (absence is an answer — ADR-0013; the UI then shows all
|
|
224
|
+
* available credential buttons). The address is a pre-select hint only.
|
|
225
|
+
*/
|
|
226
|
+
async getConnectionInfo(name) {
|
|
227
|
+
const r = await this.getRecords(name);
|
|
228
|
+
if (!r.connectionKind)
|
|
229
|
+
return null;
|
|
230
|
+
return {
|
|
231
|
+
kind: r.connectionKind,
|
|
232
|
+
address: r.connectionAddress ?? null,
|
|
233
|
+
passkeyCredentialDigest: r.passkeyCredentialDigest ?? null,
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
// ─── Typed naming (spec 346) ─────────────────────────────────────
|
|
237
|
+
/** `AgentNameRegistry.recordExists(node)` — the read the forced-unique walk needs. */
|
|
238
|
+
async recordExists(node) {
|
|
239
|
+
return (await this.publicClient.readContract({
|
|
240
|
+
address: this.opts.registry,
|
|
241
|
+
abi: agentNameRegistryAbi,
|
|
242
|
+
functionName: 'recordExists',
|
|
243
|
+
args: [node],
|
|
244
|
+
}));
|
|
245
|
+
}
|
|
246
|
+
/** Forced-unique label under `parentName` (a root like `me`, or a type-node like `svc.richcanvas.org`). */
|
|
247
|
+
async findUniqueLabel(parentName, baseLabel, cap) {
|
|
248
|
+
return findUniqueLabel(this, namehash(parentName), baseLabel, cap);
|
|
249
|
+
}
|
|
250
|
+
/** The `PermissionlessSubregistry` for a typed (generic or vertical) root, from `opts.subregistries`. Throws when unconfigured. */
|
|
251
|
+
subregistryFor(tld) {
|
|
252
|
+
const a = this.opts.subregistries?.[tld];
|
|
253
|
+
if (!a)
|
|
254
|
+
throw new Error(`[agent-naming] no PermissionlessSubregistry configured for ".${tld}"`);
|
|
255
|
+
return a;
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Read the SA-keyed derived-type record (spec 346 §2.3) from the AgentProfileResolver. Requires
|
|
259
|
+
* `opts.profileResolver`; throws a configuration error otherwise (no silent untyped downgrade).
|
|
260
|
+
* An unregistered profile → all `null` (empty is an answer).
|
|
261
|
+
*/
|
|
262
|
+
async readDerivedType(agent) {
|
|
263
|
+
const profileResolver = this._profileResolver();
|
|
264
|
+
const registered = (await this.publicClient.readContract({
|
|
265
|
+
address: profileResolver,
|
|
266
|
+
abi: agentProfileResolverTypeAbi,
|
|
267
|
+
functionName: 'isRegistered',
|
|
268
|
+
args: [agent],
|
|
269
|
+
}));
|
|
270
|
+
if (!registered)
|
|
271
|
+
return { agentType: null, serviceRole: null, agentKind: null, agentSubtype: null };
|
|
272
|
+
const [typeId, role, kindId, subtype] = await Promise.all([
|
|
273
|
+
this.publicClient.readContract({
|
|
274
|
+
address: profileResolver, abi: agentProfileResolverTypeAbi, functionName: 'getBytes32Property',
|
|
275
|
+
args: [agent, PREDICATE_ID.agentType],
|
|
276
|
+
}),
|
|
277
|
+
this.publicClient.readContract({
|
|
278
|
+
address: profileResolver, abi: agentProfileResolverTypeAbi, functionName: 'getStringProperty',
|
|
279
|
+
args: [agent, PREDICATE_ID.serviceRole],
|
|
280
|
+
}),
|
|
281
|
+
this.publicClient.readContract({
|
|
282
|
+
address: profileResolver, abi: agentProfileResolverTypeAbi, functionName: 'getBytes32Property',
|
|
283
|
+
args: [agent, PREDICATE_ID.agentKind],
|
|
284
|
+
}),
|
|
285
|
+
this.publicClient.readContract({
|
|
286
|
+
address: profileResolver, abi: agentProfileResolverTypeAbi, functionName: 'getStringProperty',
|
|
287
|
+
args: [agent, PREDICATE_ID.agentSubtype],
|
|
288
|
+
}),
|
|
289
|
+
]);
|
|
290
|
+
return {
|
|
291
|
+
agentType: typeId === ZERO_NODE ? null : (decodeAgentType(typeId) ?? null),
|
|
292
|
+
serviceRole: role && role.length > 0 ? role : null,
|
|
293
|
+
agentKind: kindId === ZERO_NODE ? null : (decodeAgentKind(kindId) ?? null),
|
|
294
|
+
agentSubtype: subtype && subtype.length > 0 ? subtype : null,
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Resolve a typed name and enforce the suffix ↔ derived-type ↔ root invariant (spec 346 §2.3) at read
|
|
299
|
+
* time. `null` when unregistered OR when the records disagree with the suffix (`type_mismatch`,
|
|
300
|
+
* `type_undeclared`, `role_required`, `kind_mismatch`) — a typed name whose records disagree with its
|
|
301
|
+
* suffix is not a valid typed name (ADR-0013: empty is an answer). Use `checkTypedName` for the reason.
|
|
302
|
+
* Legacy names resolve with `legacy: true` and are never suffix-validated.
|
|
303
|
+
*/
|
|
304
|
+
async resolveTyped(name) {
|
|
305
|
+
const r = await this.checkTypedName(name);
|
|
306
|
+
return r.ok ? r.record : null;
|
|
307
|
+
}
|
|
308
|
+
/** `resolveTyped` with the refusal reason. */
|
|
309
|
+
async checkTypedName(name) {
|
|
310
|
+
const p = parseAgentName(name);
|
|
311
|
+
if (p.kind === 'root' || p.kind === 'type-node') {
|
|
312
|
+
return { ok: false, reason: 'not_typed', detail: `a ${p.kind} name has no subject` };
|
|
313
|
+
}
|
|
314
|
+
const address = await this.resolveName(p.onChainName);
|
|
315
|
+
if (!address)
|
|
316
|
+
return { ok: false, reason: 'unregistered' };
|
|
317
|
+
const declared = await this.readDerivedType(address);
|
|
318
|
+
const context = p.context ? { name: `${p.context.label}.${p.context.tld}`, derivedType: p.context.derivedType } : undefined;
|
|
319
|
+
if (p.legacy) {
|
|
320
|
+
const record = {
|
|
321
|
+
name: p.normalized, onChainName: p.onChainName, node: p.node, address, tld: p.tld,
|
|
322
|
+
derivedType: declared.agentType, subtype: declared.agentSubtype, root: declared.agentType ? rootClassForDerivedType(declared.agentType) : declared.agentKind,
|
|
323
|
+
serviceRole: declared.serviceRole, legacy: true, typeConsistent: false,
|
|
324
|
+
};
|
|
325
|
+
return { ok: true, record };
|
|
326
|
+
}
|
|
327
|
+
const nodeKind = (await this.getRecords(p.onChainName)).agentKind ?? null;
|
|
328
|
+
const violations = validateTypedClaim({
|
|
329
|
+
name: p,
|
|
330
|
+
subject: { agentType: declared.agentType, serviceRole: declared.serviceRole, nameKind: nodeKind, agentSubtype: declared.agentSubtype },
|
|
331
|
+
});
|
|
332
|
+
if (violations.length > 0) {
|
|
333
|
+
const v = violations[0];
|
|
334
|
+
return { ok: false, reason: v.code, detail: 'detail' in v ? v.detail : `${v.code}: expected ${v.expected}, got ${v.actual}` };
|
|
335
|
+
}
|
|
336
|
+
const derivedType = derivedTypeForTld(p.handle.tld);
|
|
337
|
+
return {
|
|
338
|
+
ok: true,
|
|
339
|
+
record: {
|
|
340
|
+
name: p.normalized, onChainName: p.onChainName, node: p.node, address, tld: p.tld, derivedType,
|
|
341
|
+
subtype: p.subtype ?? null, root: rootClassForDerivedType(derivedType), serviceRole: declared.serviceRole, legacy: false,
|
|
342
|
+
typeConsistent: true, ...(context ? { context } : {}),
|
|
343
|
+
},
|
|
344
|
+
};
|
|
345
|
+
}
|
|
346
|
+
_profileResolver() {
|
|
347
|
+
if (!this.opts.profileResolver) {
|
|
348
|
+
throw new Error('[agent-naming] profileResolver address required for typed resolution (spec 346 §2.3)');
|
|
349
|
+
}
|
|
350
|
+
return this.opts.profileResolver;
|
|
351
|
+
}
|
|
168
352
|
// ─── Writes (Phase 4 — live) ─────────────────────────────────────
|
|
169
353
|
/**
|
|
170
354
|
* Register `<label>.<parent>` under the parent namespace. The
|
|
@@ -181,11 +365,14 @@ export class AgentNamingClient {
|
|
|
181
365
|
* AgentAccount.execute / CustodyPolicy ceremony instead.
|
|
182
366
|
*/
|
|
183
367
|
async registerSubname(input, ctx) {
|
|
368
|
+
// AN-1: normalize + reject at the client boundary so the on-chain label, the derived child
|
|
369
|
+
// node, and any record writes all reference the same canonical label.
|
|
370
|
+
const label = normalizeLabel(input.label);
|
|
184
371
|
const parentNode = namehash(input.parent);
|
|
185
372
|
const call = buildRegisterSubnameCall({
|
|
186
373
|
registry: this.opts.registry,
|
|
187
374
|
parentNode,
|
|
188
|
-
label
|
|
375
|
+
label,
|
|
189
376
|
newOwner: input.owner,
|
|
190
377
|
resolver: input.resolver,
|
|
191
378
|
});
|
|
@@ -193,7 +380,7 @@ export class AgentNamingClient {
|
|
|
193
380
|
if (input.initialRecords) {
|
|
194
381
|
// Compute the new child node off-chain so we don't have to
|
|
195
382
|
// re-read against a possibly-lagging RPC.
|
|
196
|
-
const childNode = namehash(`${
|
|
383
|
+
const childNode = namehash(`${label}.${input.parent}`);
|
|
197
384
|
const resolver = input.resolver ?? this.opts.universalResolver; // best-effort default
|
|
198
385
|
const calls = buildRecordCalls({ resolver, node: childNode, records: input.initialRecords });
|
|
199
386
|
for (const c of calls)
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAgE,MAAM,MAAM,CAAC;AAC9G,OAAO,EACL,6BAA6B,EAC7B,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,YAAY,EACZ,aAAa,GAEd,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,WAAW,CAAC;AASnB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAajD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,iBAAiB;IAGP;IAFJ,YAAY,CAAe;IAE5C,YAAqB,IAA2B;QAA3B,SAAI,GAAJ,IAAI,CAAuB;QAC9C,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAChF,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,mEAAmE;IAEnE;;;;;;;OAOG;IACH,KAAK,CAAC,WAAW,CAAC,IAAY;QAC5B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YAChD,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB;YACpC,GAAG,EAAE,6BAA6B;YAClC,YAAY,EAAE,aAAa;YAC3B,IAAI,EAAE,CAAC,IAAI,CAAC;SACb,CAAC,CAAC;QACH,IAAI,IAAI,KAAK,4CAA4C;YAAE,OAAO,IAAI,CAAC;QACvE,OAAO,IAAe,CAAC;IACzB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,cAAc,CAAC,KAAc;QACjC,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YACrD,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB;YACpC,GAAG,EAAE,6BAA6B;YAClC,YAAY,EAAE,sBAAsB;YACpC,IAAI,EAAE,CAAC,KAAK,CAAC;SACd,CAAC,CAAW,CAAC;QACd,OAAO,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CAAC,IAAY;QAC3B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QAElC,sEAAsE;QACtE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YACxD,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC3B,GAAG,EAAE,oBAAoB;YACzB,YAAY,EAAE,UAAU;YACxB,IAAI,EAAE,CAAC,IAAI,CAAC;SACb,CAAC,CAAC;QACH,IAAI,YAAY,KAAK,4CAA4C;YAAE,OAAO,EAAE,CAAC;QAE7E,2DAA2D;QAC3D,8DAA8D;QAC9D,MAAM,WAAW,GAAU;YACzB,YAAY,CAAC,WAAW;YACxB,YAAY,CAAC,WAAW;YACxB,YAAY,CAAC,WAAW;YACxB,YAAY,CAAC,WAAW;YACxB,YAAY,CAAC,QAAQ;SACtB,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YACxD,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB;YACpC,GAAG,EAAE,6BAA6B;YAClC,YAAY,EAAE,oBAAoB;YAClC,IAAI,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;SAC1B,CAAC,CAAC;QAEH,iEAAiE;QACjE,kEAAkE;QAClE,+BAA+B;QAC/B,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC9C,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;gBAC7B,OAAO,EAAE,YAAuB;gBAChC,GAAG,EAAE,6BAA6B;gBAClC,YAAY,EAAE,YAAY;gBAC1B,IAAI,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC;aAChC,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;gBAC7B,OAAO,EAAE,YAAuB;gBAChC,GAAG,EAAE,6BAA6B;gBAClC,YAAY,EAAE,YAAY;gBAC1B,IAAI,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,aAAa,CAAC;aACzC,CAAC;SACH,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACjE,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;gBAC7B,OAAO,EAAE,YAAuB;gBAChC,GAAG,EAAE,6BAA6B;gBAClC,YAAY,EAAE,YAAY;gBAC1B,IAAI,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC;aACrC,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;gBAC7B,OAAO,EAAE,YAAuB;gBAChC,GAAG,EAAE,6BAA6B;gBAClC,YAAY,EAAE,YAAY;gBAC1B,IAAI,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,YAAY,CAAC;aACxC,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;gBAC7B,OAAO,EAAE,YAAuB;gBAChC,GAAG,EAAE,6BAA6B;gBAClC,YAAY,EAAE,YAAY;gBAC1B,IAAI,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,uBAAuB,CAAC;aACnD,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,KAAK,GAAgB,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACxE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC,CAAC,CAAE,CAAC;QAC3D,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC,CAAC,CAAE,CAAC;QAC3D,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC,CAAC,CAAE,CAAC;QAC3D,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC,CAAC,CAAE,CAAC;QAC3D,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAM,YAAY,CAAC,CAAC,CAAE,CAAC;QAC3D,IAAI,IAAI,KAAK,4CAA4C,EAAE,CAAC;YAC1D,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,IAAqB,CAAC;QAC7D,CAAC;QACD,IAAI,aAAa,KAAK,4CAA4C,EAAE,CAAC;YACnE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,aAA8B,CAAC;QAC/E,CAAC;QACD,IAAI,SAAS,KAAK,SAAS;YAAE,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,SAAgB,CAAC;QACvF,IAAI,YAAY,KAAK,SAAS;YAAE,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,YAAmB,CAAC;QAChG,IAAI,aAAa,KAAK,SAAS;YAAE,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,uBAAuB,CAAC,GAAG,aAAoB,CAAC;QAE7G,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,oEAAoE;IAEpE;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,eAAe,CAAC,KAA2B,EAAE,GAAiB;QAClE,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,wBAAwB,CAAC;YACpC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,UAAU;YACV,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,KAAK,CAAC,KAAK;YACrB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACzB,2DAA2D;YAC3D,0CAA0C;YAC1C,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,sBAAsB;YACtF,MAAM,KAAK,GAAG,gBAAgB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;YAC7F,KAAK,MAAM,CAAC,IAAI,KAAK;gBAAE,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAAC,KAA0B,EAAE,GAAiB;QAChE,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,uBAAuB,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7E,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,eAAe,CAAC,KAA2B,EAAE,GAAiB;QAClE,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,+DAA+D;QAC/D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YACxD,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC3B,GAAG,EAAE,oBAAoB;YACzB,YAAY,EAAE,UAAU;YACxB,IAAI,EAAE,CAAC,IAAI,CAAC;SACb,CAAC,CAAC;QACH,IAAI,YAAY,KAAK,4CAA4C,EAAE,CAAC;YAClE,MAAM,IAAI,KAAK,CAAC,uCAAuC,KAAK,CAAC,IAAI,sCAAsC,CAAC,CAAC;QAC3G,CAAC;QACD,MAAM,KAAK,GAAG,gBAAgB,CAAC;YAC7B,QAAQ,EAAE,YAAuB;YACjC,IAAI;YACJ,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;QACH,MAAM,MAAM,GAAU,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,KAA0B,EAAE,GAAiB;QAChE,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,uBAAuB,CAAC;YACnC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,IAAI;YACJ,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,OAAO,CAAC,GAAiB,EAAE,IAA+C;QACtF,MAAM,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC;QAC7B,MAAM,OAAO,GAAI,YAAmD,CAAC,OAAO,CAAC;QAC7E,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAC5F,IAAI,OAAgB,CAAC;QACrB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;YAC7C,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;oBACxD,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,QAAQ,EAAE,SAAS;iBACpB,CAAC,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,eAAe,CAAC;oBAC9C,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,KAAK;oBACL,OAAO,EAAE,YAAY,CAAC,OAAQ;oBAC9B,KAAK,EAAE,YAAY,CAAC,KAAK,IAAI,IAAI;iBAClC,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5D,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,GAAG,GAAG,CAAC;gBACd,MAAM,GAAG,GAAI,GAAa,CAAC,OAAO,IAAI,EAAE,CAAC;gBACzC,IAAI,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC/D,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;oBAC9C,SAAS;gBACX,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QACD,MAAM,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IACnG,CAAC;CAEF"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -1,8 +1,58 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* Typed TLD registry (ADR-0061 / spec 346 §3–§4).
|
|
3
|
+
*
|
|
4
|
+
* Every canonical suffix names a DERIVED agent type; resolution maps suffix → derived type → root.
|
|
5
|
+
* The name string never encodes hierarchy, a role, or a technology. The suffix is a CLAIM — the
|
|
6
|
+
* on-chain `atl:agentType` record on the SA subject is the authority (spec 346 §2.3).
|
|
7
|
+
*
|
|
8
|
+
* `.ws` is a package-level alias normalizing to `workspace`; it is not an on-chain root.
|
|
9
|
+
* `.impact` / `.agent` are UNTYPED LEGACY roots: they resolve, they are not validated, and they close to
|
|
10
|
+
* new claims once the owning apps migrate (spec 346 §3.5).
|
|
5
11
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
12
|
+
import { type Hex } from 'viem';
|
|
13
|
+
import type { AgentType, DerivedAgentType } from '@agenticprimitives/types';
|
|
14
|
+
import { rootClassForDerivedType } from '@agenticprimitives/types';
|
|
15
|
+
/** The ten registry-canonical suffixes, in canonical order (`.registry` names the Service Agent that OPERATES a registry;
|
|
16
|
+
* `.church` / `.circle` are organization-class kinds — ADR-0061 amendment 2026-08-30; `.household` the family's own
|
|
17
|
+
* organization-class agent — amendment 2026-09-07, spec 368). */
|
|
18
|
+
export declare const AGENT_TLDS: readonly ["me", "org", "team", "svc", "workspace", "treasury", "registry", "church", "circle", "household"];
|
|
19
|
+
export type AgentTld = (typeof AGENT_TLDS)[number];
|
|
20
|
+
/** Package-level aliases applied during normalization (never on-chain roots). */
|
|
21
|
+
export declare const AGENT_TLD_ALIASES: Readonly<Record<string, AgentTld>>;
|
|
22
|
+
/** Untyped legacy roots — resolvable, never suffix-validated, closed to new claims after app adoption. */
|
|
23
|
+
export declare const LEGACY_TLDS: readonly ["impact", "agent"];
|
|
24
|
+
export type LegacyTld = (typeof LEGACY_TLDS)[number];
|
|
25
|
+
/**
|
|
26
|
+
* Labels that MUST NOT be claimed under any root or inside any context: the type words (they would
|
|
27
|
+
* collide with the DNS type level `<label>.<type>.<zone>`, spec 346 §5), the alias, and the fixed
|
|
28
|
+
* infrastructure hosts (`mtls.<host>` is ADR-0057's hostname).
|
|
29
|
+
*/
|
|
30
|
+
export declare const RESERVED_LABELS: readonly string[];
|
|
31
|
+
export declare function isAgentTld(v: string): v is AgentTld;
|
|
32
|
+
/** A generic suffix OR an app-registered vertical suffix (spec 346 §2.4). */
|
|
33
|
+
export type AnyAgentTld = AgentTld | (string & {});
|
|
34
|
+
export declare function isKnownAgentTld(v: string): v is AnyAgentTld;
|
|
35
|
+
export declare function isLegacyTld(v: string): v is LegacyTld;
|
|
36
|
+
/** Resolve an alias (`ws`) to its canonical suffix; canonical and registered vertical suffixes pass through; others null. */
|
|
37
|
+
export declare function canonicalTld(v: string): AnyAgentTld | null;
|
|
38
|
+
/** `me → person`, `org → org`, `team → team`, `svc → service`, `workspace → workspace`, `treasury → treasury`,
|
|
39
|
+
* `registry → registry`; a vertical suffix → the GENERIC derived type it refines (its subtype is `subtypeForTld`). */
|
|
40
|
+
export declare function derivedTypeForTld(tld: AnyAgentTld): DerivedAgentType;
|
|
41
|
+
/** The vertical subtype a suffix names (`null` for the seven generic suffixes). */
|
|
42
|
+
export declare function subtypeForTld(tld: AnyAgentTld): string | null;
|
|
43
|
+
/** Every suffix this process knows: the seven generic + registered vertical ones. */
|
|
44
|
+
export declare function allAgentTlds(): readonly string[];
|
|
45
|
+
export declare function tldForDerivedType(t: DerivedAgentType): AgentTld;
|
|
46
|
+
/** Re-exported for callers that only import agent-naming: derived type → closed root (ADR-0046). */
|
|
47
|
+
export { rootClassForDerivedType };
|
|
48
|
+
/** Root class a suffix resolves to (`suffix → derived type → root`). */
|
|
49
|
+
export declare function rootClassForTld(tld: AnyAgentTld): AgentType;
|
|
50
|
+
/**
|
|
51
|
+
* The per-root `rootKind` tag written by `AgentNameRegistry.initializeRoot` for a typed root:
|
|
52
|
+
* `keccak256("namespace:<DerivedType>")`. Opaque on chain; mirrored here so deploy scripts and the SDK
|
|
53
|
+
* agree (golden-vector tested). The legacy roots carry `keccak256("namespace:Agent")` (`KIND_AGENT`).
|
|
54
|
+
*/
|
|
55
|
+
export declare function rootKindForTld(tld: AnyAgentTld): Hex;
|
|
56
|
+
/** `KIND_AGENT` — the `rootKind` of the untyped legacy roots. */
|
|
57
|
+
export declare const ROOT_KIND_AGENT: Hex;
|
|
8
58
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAoB,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAGnE;;kEAEkE;AAClE,eAAO,MAAM,UAAU,6GAA8G,CAAC;AACtI,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,iFAAiF;AACjF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAsC,CAAC;AAExG,0GAA0G;AAC1G,eAAO,MAAM,WAAW,8BAA+B,CAAC;AACxD,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAQ3C,CAAC;AA0CH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,IAAI,QAAQ,CAEnD;AAED,6EAA6E;AAC7E,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AACnD,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,IAAI,WAAW,CAE3D;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,IAAI,SAAS,CAErD;AAED,6HAA6H;AAC7H,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAK1D;AAED;uHACuH;AACvH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,WAAW,GAAG,gBAAgB,CAKpE;AAED,mFAAmF;AACnF,wBAAgB,aAAa,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAE7D;AAED,qFAAqF;AACrF,wBAAgB,YAAY,IAAI,SAAS,MAAM,EAAE,CAEhD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,gBAAgB,GAAG,QAAQ,CAE/D;AAED,oGAAoG;AACpG,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAEnC,wEAAwE;AACxE,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,SAAS,CAE3D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,GAAG,CAGpD;AAED,iEAAiE;AACjE,eAAO,MAAM,eAAe,EAAE,GAAyC,CAAC"}
|
package/dist/constants.js
CHANGED
|
@@ -1,7 +1,131 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* Typed TLD registry (ADR-0061 / spec 346 §3–§4).
|
|
3
|
+
*
|
|
4
|
+
* Every canonical suffix names a DERIVED agent type; resolution maps suffix → derived type → root.
|
|
5
|
+
* The name string never encodes hierarchy, a role, or a technology. The suffix is a CLAIM — the
|
|
6
|
+
* on-chain `atl:agentType` record on the SA subject is the authority (spec 346 §2.3).
|
|
7
|
+
*
|
|
8
|
+
* `.ws` is a package-level alias normalizing to `workspace`; it is not an on-chain root.
|
|
9
|
+
* `.impact` / `.agent` are UNTYPED LEGACY roots: they resolve, they are not validated, and they close to
|
|
10
|
+
* new claims once the owning apps migrate (spec 346 §3.5).
|
|
5
11
|
*/
|
|
6
|
-
|
|
12
|
+
import { keccak256, toHex } from 'viem';
|
|
13
|
+
import { rootClassForDerivedType } from '@agenticprimitives/types';
|
|
14
|
+
import { verticalAgentTypeForTld, verticalAgentTlds, verticalRootKindForTld } from './vertical.js';
|
|
15
|
+
/** The ten registry-canonical suffixes, in canonical order (`.registry` names the Service Agent that OPERATES a registry;
|
|
16
|
+
* `.church` / `.circle` are organization-class kinds — ADR-0061 amendment 2026-08-30; `.household` the family's own
|
|
17
|
+
* organization-class agent — amendment 2026-09-07, spec 368). */
|
|
18
|
+
export const AGENT_TLDS = ['me', 'org', 'team', 'svc', 'workspace', 'treasury', 'registry', 'church', 'circle', 'household'];
|
|
19
|
+
/** Package-level aliases applied during normalization (never on-chain roots). */
|
|
20
|
+
export const AGENT_TLD_ALIASES = Object.freeze({ ws: 'workspace' });
|
|
21
|
+
/** Untyped legacy roots — resolvable, never suffix-validated, closed to new claims after app adoption. */
|
|
22
|
+
export const LEGACY_TLDS = ['impact', 'agent'];
|
|
23
|
+
/**
|
|
24
|
+
* Labels that MUST NOT be claimed under any root or inside any context: the type words (they would
|
|
25
|
+
* collide with the DNS type level `<label>.<type>.<zone>`, spec 346 §5), the alias, and the fixed
|
|
26
|
+
* infrastructure hosts (`mtls.<host>` is ADR-0057's hostname).
|
|
27
|
+
*/
|
|
28
|
+
export const RESERVED_LABELS = Object.freeze([
|
|
29
|
+
...AGENT_TLDS,
|
|
30
|
+
'ws',
|
|
31
|
+
'www',
|
|
32
|
+
'mtls',
|
|
33
|
+
'edge',
|
|
34
|
+
'api',
|
|
35
|
+
'well-known',
|
|
36
|
+
]);
|
|
37
|
+
const TLD_TO_DERIVED = Object.freeze({
|
|
38
|
+
me: 'person',
|
|
39
|
+
org: 'org',
|
|
40
|
+
team: 'team',
|
|
41
|
+
svc: 'service',
|
|
42
|
+
workspace: 'workspace',
|
|
43
|
+
treasury: 'treasury',
|
|
44
|
+
registry: 'registry',
|
|
45
|
+
church: 'church',
|
|
46
|
+
circle: 'circle',
|
|
47
|
+
household: 'household',
|
|
48
|
+
});
|
|
49
|
+
const DERIVED_TO_TLD = Object.freeze({
|
|
50
|
+
person: 'me',
|
|
51
|
+
org: 'org',
|
|
52
|
+
team: 'team',
|
|
53
|
+
service: 'svc',
|
|
54
|
+
workspace: 'workspace',
|
|
55
|
+
treasury: 'treasury',
|
|
56
|
+
registry: 'registry',
|
|
57
|
+
church: 'church',
|
|
58
|
+
circle: 'circle',
|
|
59
|
+
household: 'household',
|
|
60
|
+
});
|
|
61
|
+
/** Derived-type CURIE-style names used for the per-root `rootKind` tag (`namespace:<Type>`). */
|
|
62
|
+
const DERIVED_ROOT_KIND_NAME = Object.freeze({
|
|
63
|
+
person: 'namespace:Person',
|
|
64
|
+
org: 'namespace:Organization',
|
|
65
|
+
team: 'namespace:Team',
|
|
66
|
+
service: 'namespace:Service',
|
|
67
|
+
workspace: 'namespace:Workspace',
|
|
68
|
+
treasury: 'namespace:Treasury',
|
|
69
|
+
registry: 'namespace:Registry',
|
|
70
|
+
church: 'namespace:Church',
|
|
71
|
+
circle: 'namespace:Circle',
|
|
72
|
+
household: 'namespace:Household',
|
|
73
|
+
});
|
|
74
|
+
export function isAgentTld(v) {
|
|
75
|
+
return AGENT_TLDS.includes(v);
|
|
76
|
+
}
|
|
77
|
+
export function isKnownAgentTld(v) {
|
|
78
|
+
return isAgentTld(v) || verticalAgentTypeForTld(v) !== null;
|
|
79
|
+
}
|
|
80
|
+
export function isLegacyTld(v) {
|
|
81
|
+
return LEGACY_TLDS.includes(v);
|
|
82
|
+
}
|
|
83
|
+
/** Resolve an alias (`ws`) to its canonical suffix; canonical and registered vertical suffixes pass through; others null. */
|
|
84
|
+
export function canonicalTld(v) {
|
|
85
|
+
if (isAgentTld(v))
|
|
86
|
+
return v;
|
|
87
|
+
const a = AGENT_TLD_ALIASES[v];
|
|
88
|
+
if (a)
|
|
89
|
+
return a;
|
|
90
|
+
return verticalAgentTypeForTld(v) ? v : null;
|
|
91
|
+
}
|
|
92
|
+
/** `me → person`, `org → org`, `team → team`, `svc → service`, `workspace → workspace`, `treasury → treasury`,
|
|
93
|
+
* `registry → registry`; a vertical suffix → the GENERIC derived type it refines (its subtype is `subtypeForTld`). */
|
|
94
|
+
export function derivedTypeForTld(tld) {
|
|
95
|
+
if (isAgentTld(tld))
|
|
96
|
+
return TLD_TO_DERIVED[tld];
|
|
97
|
+
const v = verticalAgentTypeForTld(tld);
|
|
98
|
+
if (!v)
|
|
99
|
+
throw new Error(`[agent-naming] unknown tld "${tld}"`);
|
|
100
|
+
return v.derivedType;
|
|
101
|
+
}
|
|
102
|
+
/** The vertical subtype a suffix names (`null` for the seven generic suffixes). */
|
|
103
|
+
export function subtypeForTld(tld) {
|
|
104
|
+
return isAgentTld(tld) ? null : (verticalAgentTypeForTld(tld)?.subtype ?? null);
|
|
105
|
+
}
|
|
106
|
+
/** Every suffix this process knows: the seven generic + registered vertical ones. */
|
|
107
|
+
export function allAgentTlds() {
|
|
108
|
+
return [...AGENT_TLDS, ...verticalAgentTlds()];
|
|
109
|
+
}
|
|
110
|
+
export function tldForDerivedType(t) {
|
|
111
|
+
return DERIVED_TO_TLD[t];
|
|
112
|
+
}
|
|
113
|
+
/** Re-exported for callers that only import agent-naming: derived type → closed root (ADR-0046). */
|
|
114
|
+
export { rootClassForDerivedType };
|
|
115
|
+
/** Root class a suffix resolves to (`suffix → derived type → root`). */
|
|
116
|
+
export function rootClassForTld(tld) {
|
|
117
|
+
return rootClassForDerivedType(derivedTypeForTld(tld));
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* The per-root `rootKind` tag written by `AgentNameRegistry.initializeRoot` for a typed root:
|
|
121
|
+
* `keccak256("namespace:<DerivedType>")`. Opaque on chain; mirrored here so deploy scripts and the SDK
|
|
122
|
+
* agree (golden-vector tested). The legacy roots carry `keccak256("namespace:Agent")` (`KIND_AGENT`).
|
|
123
|
+
*/
|
|
124
|
+
export function rootKindForTld(tld) {
|
|
125
|
+
if (!isAgentTld(tld))
|
|
126
|
+
return verticalRootKindForTld(tld);
|
|
127
|
+
return keccak256(toHex(DERIVED_ROOT_KIND_NAME[derivedTypeForTld(tld)]));
|
|
128
|
+
}
|
|
129
|
+
/** `KIND_AGENT` — the `rootKind` of the untyped legacy roots. */
|
|
130
|
+
export const ROOT_KIND_AGENT = keccak256(toHex('namespace:Agent'));
|
|
7
131
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
package/dist/custody.d.ts
CHANGED
|
@@ -16,7 +16,9 @@
|
|
|
16
16
|
* walletClient submission on top.
|
|
17
17
|
*/
|
|
18
18
|
import type { Address, Hex } from '@agenticprimitives/types';
|
|
19
|
-
import { type EncodedRecord } from './records';
|
|
19
|
+
import { type EncodedRecord } from './records.js';
|
|
20
|
+
import { type DerivedAgentType } from '@agenticprimitives/types';
|
|
21
|
+
import type { AgentNameRecords } from './types.js';
|
|
20
22
|
/** Minimal call-shape: the standard `{ to, value, data }` triple. */
|
|
21
23
|
export interface ContractCall {
|
|
22
24
|
to: Address;
|
|
@@ -82,6 +84,16 @@ export declare function buildSetStringAttributeCall(args: {
|
|
|
82
84
|
value: string;
|
|
83
85
|
}): ContractCall;
|
|
84
86
|
/** Build a typed `setAddressAttribute(node, predicate, value)` call. */
|
|
87
|
+
/**
|
|
88
|
+
* `string[]` attribute write (`atl:accounts` — spec 346 §3.8 / ap-federation spec 440 §C). The resolver validates the
|
|
89
|
+
* predicate's datatype on chain; the caller validates the VALUES with `encodeAccounts` first, as `buildRecordCalls` does.
|
|
90
|
+
*/
|
|
91
|
+
export declare function buildSetStringArrayAttributeCall(args: {
|
|
92
|
+
resolver: Address;
|
|
93
|
+
node: Hex;
|
|
94
|
+
predicate: Hex;
|
|
95
|
+
values: readonly string[];
|
|
96
|
+
}): ContractCall;
|
|
85
97
|
export declare function buildSetAddressAttributeCall(args: {
|
|
86
98
|
resolver: Address;
|
|
87
99
|
node: Hex;
|
|
@@ -106,7 +118,7 @@ export declare function buildSetBytes32AttributeCall(args: {
|
|
|
106
118
|
export declare function buildRecordCalls(args: {
|
|
107
119
|
resolver: Address;
|
|
108
120
|
node: Hex;
|
|
109
|
-
records: import('./types').AgentNameRecords;
|
|
121
|
+
records: import('./types.js').AgentNameRecords;
|
|
110
122
|
}): ContractCall[];
|
|
111
123
|
/**
|
|
112
124
|
* Build a call to claim `<label>.<parent>` through a deployed
|
|
@@ -123,6 +135,46 @@ export declare function buildSubregistryRegisterCall(args: {
|
|
|
123
135
|
label: string;
|
|
124
136
|
newOwner: Address;
|
|
125
137
|
}): ContractCall;
|
|
138
|
+
/**
|
|
139
|
+
* Step 1b of the bootstrap (spec 346 §3.6): declare the SA's derived type on its OWN profile subject.
|
|
140
|
+
* `msg.sender` MUST be the SA (`AgentProfileResolver.onlyAgent`) — compose these into the SA's execute
|
|
141
|
+
* batch. Registers the profile mirror first when `registered` is false (the typed setters require it),
|
|
142
|
+
* writing the ROOT kind there; then `atl:agentType` (+ `atl:serviceRole` when given, REQUIRED and equal
|
|
143
|
+
* to the type name for `workspace` and `registry`).
|
|
144
|
+
*/
|
|
145
|
+
export declare function buildDeclareAgentTypeCalls(args: {
|
|
146
|
+
profileResolver: Address;
|
|
147
|
+
agent: Address;
|
|
148
|
+
agentType: DerivedAgentType;
|
|
149
|
+
serviceRole?: string;
|
|
150
|
+
/** Vertical subtype (spec 346 §2.4) — written to `atl:agentSubtype`; REQUIRED for a vertical suffix claim. */
|
|
151
|
+
subtype?: string;
|
|
152
|
+
/** Whether `AgentProfileResolver.isRegistered(agent)` is already true. */
|
|
153
|
+
registered: boolean;
|
|
154
|
+
/** Used only when registering the profile mirror. */
|
|
155
|
+
displayName?: string;
|
|
156
|
+
}): ContractCall[];
|
|
157
|
+
/**
|
|
158
|
+
* Steps 2–3 of the bootstrap for a CANONICAL (root-level) typed name (spec 346 §3.3): claim
|
|
159
|
+
* `<label>.<tld>` through that root's `PermissionlessSubregistry`, write the root kind + optional records
|
|
160
|
+
* on the new node, and set the primary name. The caller MUST have run `validateTypedClaim` (or
|
|
161
|
+
* `AgentNamingClient.checkTypedName`) — this builder only refuses a suffix/type disagreement it can see
|
|
162
|
+
* locally. `setPrimaryName` requires `msg.sender == owner`; the subregistry claim may be sent by anyone.
|
|
163
|
+
*/
|
|
164
|
+
export declare function buildTypedClaimCalls(args: {
|
|
165
|
+
name: string;
|
|
166
|
+
owner: Address;
|
|
167
|
+
registry: Address;
|
|
168
|
+
resolver: Address;
|
|
169
|
+
subregistries: Partial<Record<string, Address>>;
|
|
170
|
+
agentType: DerivedAgentType;
|
|
171
|
+
records?: Omit<AgentNameRecords, 'agentKind' | 'addr'>;
|
|
172
|
+
}): {
|
|
173
|
+
claim: ContractCall;
|
|
174
|
+
records: ContractCall[];
|
|
175
|
+
primaryName: ContractCall;
|
|
176
|
+
node: Hex;
|
|
177
|
+
};
|
|
126
178
|
/**
|
|
127
179
|
* Convenience: re-export the encoded-record shape from records.ts so
|
|
128
180
|
* downstream callers can pick whichever level of abstraction fits
|
package/dist/custody.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custody.d.ts","sourceRoot":"","sources":["../src/custody.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"custody.d.ts","sourceRoot":"","sources":["../src/custody.ts"],"names":[],"mappings":"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"}
|