@agenticprimitives/agent-naming 1.0.0-alpha.4 → 1.0.0-alpha.41
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/records.js
CHANGED
|
@@ -16,8 +16,9 @@
|
|
|
16
16
|
* - `agentKind`, `metadataHash`,
|
|
17
17
|
* `passkeyCredentialDigest` → on-chain `bytes32`
|
|
18
18
|
* - `displayName`, `a2aEndpoint`,
|
|
19
|
-
* `mcpEndpoint`, `
|
|
20
|
-
* `
|
|
19
|
+
* `mcpEndpoint`, `appContext`, `orgRole`,
|
|
20
|
+
* `serviceUrl`, `siteUrl`, `description`,
|
|
21
|
+
* `metadataUri`, `nativeId` → on-chain `string`
|
|
21
22
|
*
|
|
22
23
|
* The encoder routes each predicate to its typed setter; the decoder
|
|
23
24
|
* routes each predicate to its typed getter. Unknown predicates are
|
|
@@ -25,6 +26,7 @@
|
|
|
25
26
|
* predicates (fail-loud on write).
|
|
26
27
|
*/
|
|
27
28
|
import { keccak256, toHex } from 'viem';
|
|
29
|
+
import { DERIVED_AGENT_TYPES } from '@agenticprimitives/types';
|
|
28
30
|
// ─── Predicate ids (mirror AgentNamePredicates.sol) ─────────────────
|
|
29
31
|
/**
|
|
30
32
|
* keccak256 of the `atl:*` CURIE. Computed at module load. These
|
|
@@ -40,11 +42,33 @@ export const PREDICATE_ID = {
|
|
|
40
42
|
displayName: _predId('atl:displayName'),
|
|
41
43
|
a2aEndpoint: _predId('atl:a2aEndpoint'),
|
|
42
44
|
mcpEndpoint: _predId('atl:mcpEndpoint'),
|
|
45
|
+
appContext: _predId('atl:appContext'),
|
|
46
|
+
orgRole: _predId('atl:orgRole'),
|
|
47
|
+
serviceUrl: _predId('atl:serviceUrl'),
|
|
48
|
+
siteUrl: _predId('atl:siteUrl'),
|
|
49
|
+
description: _predId('atl:description'),
|
|
43
50
|
metadataUri: _predId('atl:metadataURI'),
|
|
44
51
|
metadataHash: _predId('atl:metadataHash'),
|
|
45
52
|
passkeyCredentialDigest: _predId('atl:passkeyCredentialDigest'),
|
|
46
53
|
custodyPolicy: _predId('atl:custodyPolicy'),
|
|
47
54
|
nativeId: _predId('atl:nativeId'),
|
|
55
|
+
// Connection bootstrap (spec 280) — opt-in, owner-set, public.
|
|
56
|
+
connectionKind: _predId('atl:connectionKind'),
|
|
57
|
+
connectionAddress: _predId('atl:connectionAddress'),
|
|
58
|
+
// Derived type (spec 346 §2.3) — SA-KEYED on the AgentProfileResolver subject, NOT a name-node
|
|
59
|
+
// record (spec 346 §14.3). Listed here because this module is the canonical `atl:*` id mirror.
|
|
60
|
+
agentType: _predId('atl:agentType'),
|
|
61
|
+
serviceRole: _predId('atl:serviceRole'),
|
|
62
|
+
// Vertical subtype (spec 346 §2.4) — SA-keyed string; the app layer defines the vocabulary.
|
|
63
|
+
agentSubtype: _predId('atl:agentSubtype'),
|
|
64
|
+
// Released A2A Agent Card publication (spec 347 §8.3) — name-node records, bytes32 + string.
|
|
65
|
+
cardDigest: _predId('atl:cardDigest'),
|
|
66
|
+
cardUri: _predId('atl:cardUri'),
|
|
67
|
+
// Accounts by chain (ap-federation spec 440 §C; spec 346 §3.8) — string[] of CAIP-10 ids, one per chain.
|
|
68
|
+
accounts: _predId('atl:accounts'),
|
|
69
|
+
// Client keys (spec 442 §3) — SA-KEYED string record on the AgentProfileResolver subject (agent-profile
|
|
70
|
+
// `CLIENT_KEYS`): the public half of every live ClientKeyBindingV1. Mirrored here as the canonical id table.
|
|
71
|
+
clientKeys: _predId('atl:clientKeys'),
|
|
48
72
|
};
|
|
49
73
|
// ─── Enum value ids (mirror AgentNamePredicates.sol AGENT_KIND_*) ──
|
|
50
74
|
export const AGENT_KIND_ID = {
|
|
@@ -57,11 +81,70 @@ const KNOWN_AGENT_KINDS = new Set([
|
|
|
57
81
|
'org',
|
|
58
82
|
'service',
|
|
59
83
|
]);
|
|
84
|
+
// ─── Derived-type enum ids (spec 346; mirror AgentNamePredicates.sol AGENT_TYPE_*) ──
|
|
85
|
+
export const AGENT_TYPE_ID = {
|
|
86
|
+
person: _predId('person'),
|
|
87
|
+
org: _predId('org'),
|
|
88
|
+
team: _predId('team'),
|
|
89
|
+
service: _predId('service'),
|
|
90
|
+
workspace: _predId('workspace'),
|
|
91
|
+
treasury: _predId('treasury'),
|
|
92
|
+
registry: _predId('registry'),
|
|
93
|
+
church: _predId('church'),
|
|
94
|
+
circle: _predId('circle'),
|
|
95
|
+
household: _predId('household'),
|
|
96
|
+
};
|
|
97
|
+
const KNOWN_DERIVED_TYPES = new Set(DERIVED_AGENT_TYPES);
|
|
98
|
+
export function encodeAgentType(value) {
|
|
99
|
+
if (!KNOWN_DERIVED_TYPES.has(value)) {
|
|
100
|
+
throw new Error(`[agent-naming/records] agent-type must be one of ${DERIVED_AGENT_TYPES.join('|')} (got "${value}")`);
|
|
101
|
+
}
|
|
102
|
+
return AGENT_TYPE_ID[value];
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Encodings a chain already carries for a type since RENAMED. `.workspace` agents declared before
|
|
106
|
+
* 2026-08-31 hold `keccak256("workspace-coordinator")`; decoding must honour that or a correctly typed
|
|
107
|
+
* agent reads as untyped. `encodeAgentType` never consults this — writes only ever use the current
|
|
108
|
+
* name. Append only.
|
|
109
|
+
*/
|
|
110
|
+
const LEGACY_AGENT_TYPE_ID = Object.freeze({
|
|
111
|
+
[_predId('workspace-coordinator').toLowerCase()]: 'workspace',
|
|
112
|
+
});
|
|
113
|
+
export function decodeAgentType(id) {
|
|
114
|
+
for (const [name, value] of Object.entries(AGENT_TYPE_ID)) {
|
|
115
|
+
if (value.toLowerCase() === id.toLowerCase())
|
|
116
|
+
return name;
|
|
117
|
+
}
|
|
118
|
+
return LEGACY_AGENT_TYPE_ID[id.toLowerCase()];
|
|
119
|
+
}
|
|
120
|
+
// ─── Connection-kind enum ids (spec 280; mirror AgentNamePredicates.sol) ──
|
|
121
|
+
export const CONNECTION_KIND_ID = {
|
|
122
|
+
wallet: _predId('wallet'),
|
|
123
|
+
google: _predId('google'),
|
|
124
|
+
youversion: _predId('youversion'),
|
|
125
|
+
passkey: _predId('passkey'),
|
|
126
|
+
multi: _predId('multi'),
|
|
127
|
+
email: _predId('email'), // spec 319
|
|
128
|
+
phone: _predId('phone'), // spec 320
|
|
129
|
+
};
|
|
130
|
+
const KNOWN_CONNECTION_KINDS = new Set([
|
|
131
|
+
'wallet',
|
|
132
|
+
'google',
|
|
133
|
+
'youversion',
|
|
134
|
+
'passkey',
|
|
135
|
+
'multi',
|
|
136
|
+
'email',
|
|
137
|
+
'phone',
|
|
138
|
+
]);
|
|
60
139
|
// ─── Class + enum-set ids ──────────────────────────────────────────
|
|
61
140
|
/** `keccak256("atl:AgentName")` — the ShapeRegistry class id. */
|
|
62
141
|
export const CLASS_AGENT_NAME = _predId('atl:AgentName');
|
|
63
142
|
/** `keccak256("atl:AgentKindEnum")` — the enum-set id bound to `atl:agentKind`. */
|
|
64
143
|
export const AGENT_KIND_ENUM = _predId('atl:AgentKindEnum');
|
|
144
|
+
/** `keccak256("atl:ConnectionKindEnum")` — the enum-set id bound to `atl:connectionKind`. */
|
|
145
|
+
export const CONNECTION_KIND_ENUM = _predId('atl:ConnectionKindEnum');
|
|
146
|
+
/** `keccak256("atl:AgentTypeEnum")` — the enum-set id bound to `atl:agentType` (spec 346). */
|
|
147
|
+
export const AGENT_TYPE_ENUM = _predId('atl:AgentTypeEnum');
|
|
65
148
|
// ─── CAIP-10 namespace allowlist (ADR-0008) ────────────────────────
|
|
66
149
|
/**
|
|
67
150
|
* Phase 1 CAIP-10 namespace allowlist for `nativeId`. Strict on
|
|
@@ -95,12 +178,33 @@ export function encodeRecords(records) {
|
|
|
95
178
|
if (records.mcpEndpoint !== undefined) {
|
|
96
179
|
out.push({ predicate: PREDICATE_ID.mcpEndpoint, datatype: 'string', value: records.mcpEndpoint });
|
|
97
180
|
}
|
|
181
|
+
if (records.appContext !== undefined) {
|
|
182
|
+
out.push({ predicate: PREDICATE_ID.appContext, datatype: 'string', value: records.appContext });
|
|
183
|
+
}
|
|
184
|
+
if (records.orgRole !== undefined) {
|
|
185
|
+
out.push({ predicate: PREDICATE_ID.orgRole, datatype: 'string', value: records.orgRole });
|
|
186
|
+
}
|
|
187
|
+
if (records.serviceUrl !== undefined) {
|
|
188
|
+
out.push({ predicate: PREDICATE_ID.serviceUrl, datatype: 'string', value: records.serviceUrl });
|
|
189
|
+
}
|
|
190
|
+
if (records.siteUrl !== undefined) {
|
|
191
|
+
out.push({ predicate: PREDICATE_ID.siteUrl, datatype: 'string', value: records.siteUrl });
|
|
192
|
+
}
|
|
193
|
+
if (records.description !== undefined) {
|
|
194
|
+
out.push({ predicate: PREDICATE_ID.description, datatype: 'string', value: records.description });
|
|
195
|
+
}
|
|
98
196
|
if (records.metadataUri !== undefined) {
|
|
99
197
|
out.push({ predicate: PREDICATE_ID.metadataUri, datatype: 'string', value: records.metadataUri });
|
|
100
198
|
}
|
|
101
199
|
if (records.metadataHash !== undefined) {
|
|
102
200
|
out.push({ predicate: PREDICATE_ID.metadataHash, datatype: 'bytes32', value: _validateBytes32(records.metadataHash) });
|
|
103
201
|
}
|
|
202
|
+
if (records.cardDigest !== undefined) {
|
|
203
|
+
out.push({ predicate: PREDICATE_ID.cardDigest, datatype: 'bytes32', value: _validateBytes32(records.cardDigest) });
|
|
204
|
+
}
|
|
205
|
+
if (records.cardUri !== undefined) {
|
|
206
|
+
out.push({ predicate: PREDICATE_ID.cardUri, datatype: 'string', value: records.cardUri });
|
|
207
|
+
}
|
|
104
208
|
if (records.passkeyCredentialDigest !== undefined) {
|
|
105
209
|
out.push({ predicate: PREDICATE_ID.passkeyCredentialDigest, datatype: 'bytes32', value: _validateBytes32(records.passkeyCredentialDigest) });
|
|
106
210
|
}
|
|
@@ -110,6 +214,15 @@ export function encodeRecords(records) {
|
|
|
110
214
|
if (records.nativeId !== undefined) {
|
|
111
215
|
out.push({ predicate: PREDICATE_ID.nativeId, datatype: 'string', value: _encodeNativeId(records.nativeId) });
|
|
112
216
|
}
|
|
217
|
+
if (records.connectionKind !== undefined) {
|
|
218
|
+
out.push({ predicate: PREDICATE_ID.connectionKind, datatype: 'bytes32', value: _encodeConnectionKind(records.connectionKind) });
|
|
219
|
+
}
|
|
220
|
+
if (records.connectionAddress !== undefined) {
|
|
221
|
+
out.push({ predicate: PREDICATE_ID.connectionAddress, datatype: 'address', value: _validateAddress(records.connectionAddress) });
|
|
222
|
+
}
|
|
223
|
+
if (records.accounts !== undefined) {
|
|
224
|
+
out.push({ predicate: PREDICATE_ID.accounts, datatype: 'string[]', value: encodeAccounts(records.accounts) });
|
|
225
|
+
}
|
|
113
226
|
return out;
|
|
114
227
|
}
|
|
115
228
|
export function decodeRecords(input) {
|
|
@@ -119,7 +232,7 @@ export function decodeRecords(input) {
|
|
|
119
232
|
out.addr = addr;
|
|
120
233
|
const kind = input.bytes32s[PREDICATE_ID.agentKind];
|
|
121
234
|
if (kind) {
|
|
122
|
-
const k =
|
|
235
|
+
const k = decodeAgentKind(kind);
|
|
123
236
|
if (k)
|
|
124
237
|
out.agentKind = k;
|
|
125
238
|
}
|
|
@@ -132,12 +245,33 @@ export function decodeRecords(input) {
|
|
|
132
245
|
const mcpEndpoint = input.strings[PREDICATE_ID.mcpEndpoint];
|
|
133
246
|
if (mcpEndpoint)
|
|
134
247
|
out.mcpEndpoint = mcpEndpoint;
|
|
248
|
+
const appContext = input.strings[PREDICATE_ID.appContext];
|
|
249
|
+
if (appContext)
|
|
250
|
+
out.appContext = appContext;
|
|
251
|
+
const orgRole = input.strings[PREDICATE_ID.orgRole];
|
|
252
|
+
if (orgRole)
|
|
253
|
+
out.orgRole = orgRole;
|
|
254
|
+
const serviceUrl = input.strings[PREDICATE_ID.serviceUrl];
|
|
255
|
+
if (serviceUrl)
|
|
256
|
+
out.serviceUrl = serviceUrl;
|
|
257
|
+
const siteUrl = input.strings[PREDICATE_ID.siteUrl];
|
|
258
|
+
if (siteUrl)
|
|
259
|
+
out.siteUrl = siteUrl;
|
|
260
|
+
const description = input.strings[PREDICATE_ID.description];
|
|
261
|
+
if (description)
|
|
262
|
+
out.description = description;
|
|
135
263
|
const metadataUri = input.strings[PREDICATE_ID.metadataUri];
|
|
136
264
|
if (metadataUri)
|
|
137
265
|
out.metadataUri = metadataUri;
|
|
138
266
|
const metadataHash = input.bytes32s[PREDICATE_ID.metadataHash];
|
|
139
267
|
if (metadataHash)
|
|
140
268
|
out.metadataHash = metadataHash;
|
|
269
|
+
const cardDigest = input.bytes32s[PREDICATE_ID.cardDigest];
|
|
270
|
+
if (cardDigest)
|
|
271
|
+
out.cardDigest = cardDigest;
|
|
272
|
+
const cardUri = input.strings[PREDICATE_ID.cardUri];
|
|
273
|
+
if (cardUri)
|
|
274
|
+
out.cardUri = cardUri;
|
|
141
275
|
const digest = input.bytes32s[PREDICATE_ID.passkeyCredentialDigest];
|
|
142
276
|
if (digest)
|
|
143
277
|
out.passkeyCredentialDigest = digest;
|
|
@@ -147,6 +281,18 @@ export function decodeRecords(input) {
|
|
|
147
281
|
const nativeId = input.strings[PREDICATE_ID.nativeId];
|
|
148
282
|
if (nativeId)
|
|
149
283
|
out.nativeId = nativeId;
|
|
284
|
+
const connectionKind = input.bytes32s[PREDICATE_ID.connectionKind];
|
|
285
|
+
if (connectionKind) {
|
|
286
|
+
const ck = _decodeConnectionKind(connectionKind);
|
|
287
|
+
if (ck)
|
|
288
|
+
out.connectionKind = ck;
|
|
289
|
+
}
|
|
290
|
+
const connectionAddress = input.addresses[PREDICATE_ID.connectionAddress];
|
|
291
|
+
if (connectionAddress)
|
|
292
|
+
out.connectionAddress = connectionAddress;
|
|
293
|
+
const accounts = input.stringArrs?.[PREDICATE_ID.accounts];
|
|
294
|
+
if (accounts && accounts.length)
|
|
295
|
+
out.accounts = decodeAccounts(accounts);
|
|
150
296
|
return out;
|
|
151
297
|
}
|
|
152
298
|
// ─── Internal validators ───────────────────────────────────────────
|
|
@@ -168,13 +314,26 @@ function _encodeAgentKind(value) {
|
|
|
168
314
|
}
|
|
169
315
|
return AGENT_KIND_ID[value];
|
|
170
316
|
}
|
|
171
|
-
function
|
|
317
|
+
export function decodeAgentKind(id) {
|
|
172
318
|
for (const [name, value] of Object.entries(AGENT_KIND_ID)) {
|
|
173
319
|
if (value.toLowerCase() === id.toLowerCase())
|
|
174
320
|
return name;
|
|
175
321
|
}
|
|
176
322
|
return undefined;
|
|
177
323
|
}
|
|
324
|
+
function _encodeConnectionKind(value) {
|
|
325
|
+
if (!KNOWN_CONNECTION_KINDS.has(value)) {
|
|
326
|
+
throw new Error(`[agent-naming/records] connection-kind must be one of wallet|google|youversion|passkey|multi (got "${value}")`);
|
|
327
|
+
}
|
|
328
|
+
return CONNECTION_KIND_ID[value];
|
|
329
|
+
}
|
|
330
|
+
function _decodeConnectionKind(id) {
|
|
331
|
+
for (const [name, value] of Object.entries(CONNECTION_KIND_ID)) {
|
|
332
|
+
if (value.toLowerCase() === id.toLowerCase())
|
|
333
|
+
return name;
|
|
334
|
+
}
|
|
335
|
+
return undefined;
|
|
336
|
+
}
|
|
178
337
|
function _encodeNativeId(value) {
|
|
179
338
|
const m = CAIP10_GRAMMAR.exec(value);
|
|
180
339
|
if (!m) {
|
|
@@ -190,4 +349,44 @@ function _encodeNativeId(value) {
|
|
|
190
349
|
}
|
|
191
350
|
return value;
|
|
192
351
|
}
|
|
352
|
+
// ─── Accounts by chain (ap-federation spec 440 §C; spec 346 §3.8) ──
|
|
353
|
+
/**
|
|
354
|
+
* Validate-at-write for `atl:accounts`: every entry a CAIP-10 id under the allowlist (ADR-0008), at most ONE
|
|
355
|
+
* per CAIP-2 chain (a name has one account per chain, as ENSIP-9 has one address per coin type), eip155
|
|
356
|
+
* addresses lower-cased, the list sorted by chain so two owners writing the same set write the same bytes.
|
|
357
|
+
*/
|
|
358
|
+
export function encodeAccounts(accounts) {
|
|
359
|
+
const byChain = new Map();
|
|
360
|
+
for (const raw of accounts) {
|
|
361
|
+
const value = raw.trim();
|
|
362
|
+
const m = CAIP10_GRAMMAR.exec(value);
|
|
363
|
+
if (!m)
|
|
364
|
+
throw new Error(`[agent-naming/records] accounts: "${raw}" is not a CAIP-10 account id`);
|
|
365
|
+
const [, ns, ref, addr] = m;
|
|
366
|
+
if (!CAIP10_NAMESPACE_ALLOWLIST.has(ns))
|
|
367
|
+
throw new Error(`[agent-naming/records] accounts: namespace "${ns}" is not allow-listed`);
|
|
368
|
+
const chain = `${ns}:${ref}`;
|
|
369
|
+
const account = ns === 'eip155' ? `${chain}:${_validateAddress(addr)}` : value;
|
|
370
|
+
if (byChain.has(chain))
|
|
371
|
+
throw new Error(`[agent-naming/records] accounts: two entries for chain ${chain} — a name has one account per chain`);
|
|
372
|
+
byChain.set(chain, account);
|
|
373
|
+
}
|
|
374
|
+
return [...byChain.entries()].sort(([a], [b]) => a.localeCompare(b)).map(([, v]) => v);
|
|
375
|
+
}
|
|
376
|
+
/** Permissive on decode (forward-compat): keep well-formed entries, drop the rest. */
|
|
377
|
+
export function decodeAccounts(values) {
|
|
378
|
+
return values.filter((v) => CAIP10_GRAMMAR.test(v));
|
|
379
|
+
}
|
|
380
|
+
/** The account a name resolves to on one chain (`eip155:8453`), or null when the name has none there. */
|
|
381
|
+
export function accountForChain(records, chain) {
|
|
382
|
+
const want = chain.trim().toLowerCase();
|
|
383
|
+
for (const a of records.accounts ?? []) {
|
|
384
|
+
if (a.toLowerCase().startsWith(`${want}:`))
|
|
385
|
+
return a;
|
|
386
|
+
}
|
|
387
|
+
// The home account is an account too: a reader asking for the chain `nativeId` names gets it.
|
|
388
|
+
if (records.nativeId && records.nativeId.toLowerCase().startsWith(`${want}:`))
|
|
389
|
+
return records.nativeId;
|
|
390
|
+
return null;
|
|
391
|
+
}
|
|
193
392
|
//# sourceMappingURL=records.js.map
|
package/dist/records.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"records.js","sourceRoot":"","sources":["../src/records.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"records.js","sourceRoot":"","sources":["../src/records.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { Address, Hex } from '@agenticprimitives/types';
|
|
1
|
+
import type { Address, Hex, AgentType, DerivedAgentType } from '@agenticprimitives/types';
|
|
2
|
+
import type { AgentTld, LegacyTld } from './constants.js';
|
|
2
3
|
/**
|
|
3
4
|
* Discriminator for the KIND of Smart Agent a name points to. Three kinds only
|
|
4
5
|
* — mirrors `@agenticprimitives/types` `AgentType` and the on-chain
|
|
@@ -9,6 +10,17 @@ import type { Address, Hex } from '@agenticprimitives/types';
|
|
|
9
10
|
* forensics can filter "all events involving a service agent."
|
|
10
11
|
*/
|
|
11
12
|
export type AgentKind = 'person' | 'org' | 'service';
|
|
13
|
+
/**
|
|
14
|
+
* How a Smart Agent is connectable — the credential KIND a returning person
|
|
15
|
+
* presents to bootstrap a connection by name (spec 280). `multi` = more than
|
|
16
|
+
* one connectable credential is published. Distinct from {@link AgentKind}
|
|
17
|
+
* (what the agent IS) — this is HOW you authenticate to it.
|
|
18
|
+
*/
|
|
19
|
+
export type ConnectionKind = 'wallet' | 'google' | 'youversion' | 'passkey' | 'multi' | 'email' | 'phone';
|
|
20
|
+
/** Public app-level discovery context. Not authority; consumers still verify grants/delegations. */
|
|
21
|
+
export type AppContext = 'uupg' | (string & {});
|
|
22
|
+
/** Public organization role within an app context. */
|
|
23
|
+
export type OrgRole = 'organization' | 'alliance' | (string & {});
|
|
12
24
|
/**
|
|
13
25
|
* The typed bag of records a resolver may hold for a name. Every
|
|
14
26
|
* field is optional; an unresolved record is `undefined`. Encoders
|
|
@@ -29,8 +41,26 @@ export interface AgentNameRecords {
|
|
|
29
41
|
a2aEndpoint?: string;
|
|
30
42
|
/** MCP service endpoint URL. */
|
|
31
43
|
mcpEndpoint?: string;
|
|
44
|
+
/** Public app/discovery context, e.g. `uupg`. */
|
|
45
|
+
appContext?: AppContext;
|
|
46
|
+
/** Public role within the app context, e.g. `alliance` or `organization`. */
|
|
47
|
+
orgRole?: OrgRole;
|
|
48
|
+
/** Public service URL for the agent's app-specific surface. */
|
|
49
|
+
serviceUrl?: string;
|
|
50
|
+
/** Public website URL for the agent. */
|
|
51
|
+
siteUrl?: string;
|
|
52
|
+
/** Public description for search/discovery. */
|
|
53
|
+
description?: string;
|
|
32
54
|
/** Off-chain JSON manifest URL. */
|
|
33
55
|
metadataUri?: string;
|
|
56
|
+
/**
|
|
57
|
+
* sha256 of the RELEASED A2A Agent Card this name currently publishes (spec 347 §8.3), as bytes32.
|
|
58
|
+
* Content-addresses the card served at the a2aEndpoint host's `/.well-known/agent-card.json`
|
|
59
|
+
* (or at `cardUri`). Evidence for verifiers, never authority.
|
|
60
|
+
*/
|
|
61
|
+
cardDigest?: Hex;
|
|
62
|
+
/** Explicit released-card URI when it is not at the default well-known path (spec 347 §8.3). */
|
|
63
|
+
cardUri?: string;
|
|
34
64
|
/**
|
|
35
65
|
* Public-safe identifier for the controlling passkey
|
|
36
66
|
* (`keccak256(credentialId)` — NEVER raw credentialId).
|
|
@@ -40,6 +70,31 @@ export interface AgentNameRecords {
|
|
|
40
70
|
passkeyCredentialDigest?: Hex;
|
|
41
71
|
/** Address of the CustodyPolicy governing the owner Smart Agent. */
|
|
42
72
|
custodyPolicy?: Address;
|
|
73
|
+
/**
|
|
74
|
+
* The name's accounts BY CHAIN (ap-federation spec 440 §C; spec 346 §3.8; the ENSIP-9 pattern): CAIP-10 ids,
|
|
75
|
+
* at most one per CAIP-2 chain, sorted by chain. `addr` stays the root-chain forward record and `nativeId`
|
|
76
|
+
* the home account; this lists home and satellites so a reader on another chain finds the account that
|
|
77
|
+
* stands there. A reverse claim on that chain is honoured only when the entry here agrees. Evidence, never
|
|
78
|
+
* authority.
|
|
79
|
+
*/
|
|
80
|
+
accounts?: string[];
|
|
81
|
+
/**
|
|
82
|
+
* Connection-bootstrap KIND (spec 280) — `wallet|google|youversion|passkey|multi`.
|
|
83
|
+
* OPT-IN, owner-set, PUBLIC: advertises which credential flow a returning person
|
|
84
|
+
* should use to connect to this SA by name. Never set automatically. Distinct from
|
|
85
|
+
* `agentKind` (what the agent is) — this is how you authenticate to it.
|
|
86
|
+
*/
|
|
87
|
+
connectionKind?: ConnectionKind;
|
|
88
|
+
/**
|
|
89
|
+
* Connection-bootstrap ADDRESS (spec 280) — the controlling EOA (wallet/SIWE) or the
|
|
90
|
+
* social control address (the per-subject C_sub) — published ONLY as an explicit,
|
|
91
|
+
* owner-set, PUBLIC convenience so the wallet picker can pre-select. That EOA is already
|
|
92
|
+
* public on-chain (it appears in the account's control-credential add log); this is a
|
|
93
|
+
* deliberate, opt-in name→credential index (ADR-0040 amendment). NOT required to connect
|
|
94
|
+
* (on-chain control validation + discoverable-passkey/OIDC re-derive already work) —
|
|
95
|
+
* purely a pre-select hint. NEVER set automatically.
|
|
96
|
+
*/
|
|
97
|
+
connectionAddress?: Address;
|
|
43
98
|
/**
|
|
44
99
|
* Off-chain JSON profile content-hash
|
|
45
100
|
* (matches `agent-profile.profileContentHash(profile)`). Stored
|
|
@@ -51,8 +106,8 @@ export interface AgentNameRecords {
|
|
|
51
106
|
/**
|
|
52
107
|
* CAIP-10 chain-agnostic account identifier (e.g.
|
|
53
108
|
* `eip155:84532:0xabc...`). Per ADR-0008, this enables low-cost
|
|
54
|
-
*
|
|
55
|
-
*
|
|
109
|
+
* external resolver/card/registry projections without us generating
|
|
110
|
+
* protocol-specific IDs. Consumers MAY derive external IDs locally
|
|
56
111
|
* by canonical-JSON-hashing this with their own context.
|
|
57
112
|
*/
|
|
58
113
|
nativeId?: string;
|
|
@@ -113,5 +168,55 @@ export interface AgentNamingClientOpts {
|
|
|
113
168
|
registry: Address;
|
|
114
169
|
/** AgentNameUniversalResolver contract address for this chain. */
|
|
115
170
|
universalResolver: Address;
|
|
171
|
+
/**
|
|
172
|
+
* AgentProfileResolver address — where the SA-keyed `atl:agentType` / `atl:serviceRole` records live
|
|
173
|
+
* (spec 346 §2.3). Required by `resolveTyped` / `readDerivedType`; those throw a configuration error
|
|
174
|
+
* when it is absent (never a silent downgrade to an untyped read — ADR-0013).
|
|
175
|
+
*/
|
|
176
|
+
profileResolver?: Address;
|
|
177
|
+
/** Per-suffix `PermissionlessSubregistry` addresses (deployment JSON `permissionlessSubregistries`), generic + vertical. */
|
|
178
|
+
subregistries?: Partial<Record<string, Address>>;
|
|
179
|
+
}
|
|
180
|
+
/** The SA-keyed derived-type declaration (spec 346 §2.3). */
|
|
181
|
+
export interface DerivedTypeRecord {
|
|
182
|
+
agentType: DerivedAgentType | null;
|
|
183
|
+
serviceRole: string | null;
|
|
184
|
+
/** `atl:agentSubtype` — the vertical subtype (spec 346 §2.4), when declared. */
|
|
185
|
+
agentSubtype: string | null;
|
|
186
|
+
/** `atl:agentKind` on the profile subject (root), when set. */
|
|
187
|
+
agentKind: AgentKind | null;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Result of `AgentNamingClient.resolveTyped`: a name whose suffix, on-chain derived-type record and root
|
|
191
|
+
* kind all agree (`typeConsistent: true`). Legacy names carry `legacy: true` and whatever derived type the
|
|
192
|
+
* record declares (possibly `null`) — they are never suffix-validated (spec 346 §3.5).
|
|
193
|
+
*/
|
|
194
|
+
export interface TypedNameRecord {
|
|
195
|
+
/** Canonical display form (`x.t` / `x.t@c.u`). */
|
|
196
|
+
name: string;
|
|
197
|
+
onChainName: string;
|
|
198
|
+
node: Hex;
|
|
199
|
+
address: Address;
|
|
200
|
+
tld: AgentTld | LegacyTld | (string & {}) | null;
|
|
201
|
+
derivedType: DerivedAgentType | null;
|
|
202
|
+
/** Vertical subtype named by the suffix (spec 346 §2.4), when any. */
|
|
203
|
+
subtype: string | null;
|
|
204
|
+
root: AgentType | null;
|
|
205
|
+
serviceRole: string | null;
|
|
206
|
+
legacy: boolean;
|
|
207
|
+
typeConsistent: boolean;
|
|
208
|
+
/** Present for scoped / contextual names. */
|
|
209
|
+
context?: {
|
|
210
|
+
name: string;
|
|
211
|
+
derivedType: DerivedAgentType;
|
|
212
|
+
};
|
|
116
213
|
}
|
|
214
|
+
export type TypedNameCheck = {
|
|
215
|
+
ok: true;
|
|
216
|
+
record: TypedNameRecord;
|
|
217
|
+
} | {
|
|
218
|
+
ok: false;
|
|
219
|
+
reason: 'unregistered' | 'type_mismatch' | 'type_undeclared' | 'kind_mismatch' | 'role_required' | 'subtype_mismatch' | 'not_typed' | 'label_reads_as_type';
|
|
220
|
+
detail?: string;
|
|
221
|
+
};
|
|
117
222
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC1F,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE1D;;;;;;;;GAQG;AACH,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;AAErD;;;;;GAKG;AAKH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAE1G,oGAAoG;AACpG,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEhD,sDAAsD;AACtD,MAAM,MAAM,OAAO,GAAG,cAAc,GAAG,UAAU,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElE;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+EAA+E;IAC/E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,4CAA4C;IAC5C,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,gGAAgG;IAChG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,GAAG,CAAC;IAC9B,oEAAoE;IACpE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,KAAK,EAAE,OAAO,CAAC;IACf,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oEAAoE;IACpE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sCAAsC;IACtC,cAAc,CAAC,EAAE,gBAAgB,CAAC;CACnC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,oDAAoD;AACpD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,4CAA4C;AAC5C,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,QAAQ,EAAE,OAAO,CAAC;IAClB,kEAAkE;IAClE,iBAAiB,EAAE,OAAO,CAAC;IAK3B;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,4HAA4H;IAC5H,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAClD;AAED,6DAA6D;AAC7D,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gFAAgF;IAChF,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,+DAA+D;IAC/D,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;CAC7B;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,QAAQ,GAAG,SAAS,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;IACjD,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,sEAAsE;IACtE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,OAAO,CAAC;IACxB,6CAA6C;IAC7C,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,gBAAgB,CAAA;KAAE,CAAC;CAC3D;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,GACrC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,cAAc,GAAG,eAAe,GAAG,iBAAiB,GAAG,eAAe,GAAG,eAAe,GAAG,kBAAkB,GAAG,WAAW,GAAG,qBAAqB,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vertical (app-registered) agent types — spec 346 §2.4.
|
|
3
|
+
*
|
|
4
|
+
* Ring 0 ships the seven GENERIC derived types (`AGENT_TLDS`). A vertical deployment may need finer,
|
|
5
|
+
* domain-specific kinds ("a gathered-community-shaped organization", "a small-group-shaped organization"). Those
|
|
6
|
+
* are SUBTYPES of a generic derived type, registered by the APP layer's white-label config (ADR-0021: no
|
|
7
|
+
* vertical vocabulary in packages), and the naming plane treats them uniformly:
|
|
8
|
+
*
|
|
9
|
+
* - the suffix names the vertical subtype (`<label>.<tld>`)
|
|
10
|
+
* - the on-chain derived-type record stays the GENERIC type (`atl:agentType` = the parent, e.g. `org`)
|
|
11
|
+
* - the vertical refinement is its own SA-keyed record (`atl:agentSubtype` = the subtype slug)
|
|
12
|
+
* - claim/resolution validate suffix ↔ subtype ↔ generic type ↔ root, fail-closed
|
|
13
|
+
*
|
|
14
|
+
* Every consumer typed with `DerivedAgentType` keeps working (it sees the generic parent); consumers that
|
|
15
|
+
* care about the vertical read `subtype`. Registration is process-global and idempotent by tld; a conflicting
|
|
16
|
+
* re-registration throws (a tld names exactly one subtype).
|
|
17
|
+
*/
|
|
18
|
+
import type { DerivedAgentType, Hex } from '@agenticprimitives/types';
|
|
19
|
+
export interface VerticalAgentTypeDefinition {
|
|
20
|
+
/** The suffix (a normalized label: `[a-z0-9-]`, 2–63 chars). Must not collide with a generic suffix or alias. */
|
|
21
|
+
tld: string;
|
|
22
|
+
/** The subtype slug stored under `atl:agentSubtype` (defaults to `tld`). */
|
|
23
|
+
subtype?: string;
|
|
24
|
+
/** The GENERIC derived type this vertical refines (what `atl:agentType` stores). */
|
|
25
|
+
derivedType: DerivedAgentType;
|
|
26
|
+
/** Human label for UI grouping (never authority). */
|
|
27
|
+
label?: string;
|
|
28
|
+
}
|
|
29
|
+
export interface VerticalAgentType extends Required<Pick<VerticalAgentTypeDefinition, 'tld' | 'subtype' | 'derivedType'>> {
|
|
30
|
+
label?: string;
|
|
31
|
+
}
|
|
32
|
+
/** Register vertical agent types (app startup / white-label config). Idempotent per identical definition. */
|
|
33
|
+
export declare function registerVerticalAgentTypes(defs: readonly VerticalAgentTypeDefinition[], guards: {
|
|
34
|
+
reserved: readonly string[];
|
|
35
|
+
}): void;
|
|
36
|
+
/** Test/dev only — drop every registered vertical type. */
|
|
37
|
+
export declare function clearVerticalAgentTypes(): void;
|
|
38
|
+
export declare function verticalAgentTypeForTld(tld: string): VerticalAgentType | null;
|
|
39
|
+
export declare function verticalAgentTypeForSubtype(subtype: string): VerticalAgentType | null;
|
|
40
|
+
export declare function verticalAgentTlds(): readonly string[];
|
|
41
|
+
/** The per-root `rootKind` tag for a vertical root: `keccak256("namespace:vertical:<tld>")` (mirrors AddVerticalRoots.s.sol). */
|
|
42
|
+
export declare function verticalRootKindForTld(tld: string): Hex;
|
|
43
|
+
//# sourceMappingURL=vertical.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vertical.d.ts","sourceRoot":"","sources":["../src/vertical.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAGtE,MAAM,WAAW,2BAA2B;IAC1C,iHAAiH;IACjH,GAAG,EAAE,MAAM,CAAC;IACZ,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oFAAoF;IACpF,WAAW,EAAE,gBAAgB,CAAC;IAC9B,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ,CAAC,IAAI,CAAC,2BAA2B,EAAE,KAAK,GAAG,SAAS,GAAG,aAAa,CAAC,CAAC;IACvH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAKD,6GAA6G;AAC7G,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,SAAS,2BAA2B,EAAE,EAAE,MAAM,EAAE;IAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAYtI;AAED,2DAA2D;AAC3D,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAE7E;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAGrF;AAED,wBAAgB,iBAAiB,IAAI,SAAS,MAAM,EAAE,CAErD;AAED,iIAAiI;AACjI,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAEvD"}
|
package/dist/vertical.js
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { keccak256, toHex } from 'viem';
|
|
2
|
+
const REGISTRY = new Map();
|
|
3
|
+
const TLD_RE = /^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/;
|
|
4
|
+
/** Register vertical agent types (app startup / white-label config). Idempotent per identical definition. */
|
|
5
|
+
export function registerVerticalAgentTypes(defs, guards) {
|
|
6
|
+
for (const d of defs) {
|
|
7
|
+
const tld = d.tld.trim().toLowerCase();
|
|
8
|
+
if (!TLD_RE.test(tld) || tld.length < 2)
|
|
9
|
+
throw new Error(`[agent-naming] vertical tld "${d.tld}" is not a valid label`);
|
|
10
|
+
if (guards.reserved.includes(tld))
|
|
11
|
+
throw new Error(`[agent-naming] vertical tld "${tld}" collides with a generic suffix, alias or reserved label`);
|
|
12
|
+
const v = { tld, subtype: (d.subtype ?? tld).trim().toLowerCase(), derivedType: d.derivedType, ...(d.label ? { label: d.label } : {}) };
|
|
13
|
+
const prev = REGISTRY.get(tld);
|
|
14
|
+
if (prev && (prev.subtype !== v.subtype || prev.derivedType !== v.derivedType)) {
|
|
15
|
+
throw new Error(`[agent-naming] vertical tld "${tld}" already registered as ${prev.subtype} ⊑ ${prev.derivedType}`);
|
|
16
|
+
}
|
|
17
|
+
REGISTRY.set(tld, v);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/** Test/dev only — drop every registered vertical type. */
|
|
21
|
+
export function clearVerticalAgentTypes() {
|
|
22
|
+
REGISTRY.clear();
|
|
23
|
+
}
|
|
24
|
+
export function verticalAgentTypeForTld(tld) {
|
|
25
|
+
return REGISTRY.get(tld) ?? null;
|
|
26
|
+
}
|
|
27
|
+
export function verticalAgentTypeForSubtype(subtype) {
|
|
28
|
+
for (const v of REGISTRY.values())
|
|
29
|
+
if (v.subtype === subtype)
|
|
30
|
+
return v;
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
export function verticalAgentTlds() {
|
|
34
|
+
return [...REGISTRY.keys()];
|
|
35
|
+
}
|
|
36
|
+
/** The per-root `rootKind` tag for a vertical root: `keccak256("namespace:vertical:<tld>")` (mirrors AddVerticalRoots.s.sol). */
|
|
37
|
+
export function verticalRootKindForTld(tld) {
|
|
38
|
+
return keccak256(toHex(`namespace:vertical:${tld}`));
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=vertical.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vertical.js","sourceRoot":"","sources":["../src/vertical.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAiBxC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAC;AACtD,MAAM,MAAM,GAAG,sCAAsC,CAAC;AAEtD,6GAA6G;AAC7G,MAAM,UAAU,0BAA0B,CAAC,IAA4C,EAAE,MAAuC;IAC9H,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,GAAG,wBAAwB,CAAC,CAAC;QACxH,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,2DAA2D,CAAC,CAAC;QACnJ,MAAM,CAAC,GAAsB,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3J,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/E,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,2BAA2B,IAAI,CAAC,OAAO,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACtH,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,uBAAuB;IACrC,QAAQ,CAAC,KAAK,EAAE,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,GAAW;IACjD,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,OAAe;IACzD,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE;QAAE,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO;YAAE,OAAO,CAAC,CAAC;IACvE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,iIAAiI;AACjI,MAAM,UAAU,sBAAsB,CAAC,GAAW;IAChD,OAAO,SAAS,CAAC,KAAK,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC,CAAC;AACvD,CAAC"}
|
package/docs/api.md
CHANGED
|
@@ -3,11 +3,23 @@
|
|
|
3
3
|
This is the human-readable guide to the public exports in
|
|
4
4
|
`capability.manifest.json`. Keep it in sync with `src/index.ts`.
|
|
5
5
|
|
|
6
|
+
## Typed naming (spec 346)
|
|
7
|
+
|
|
8
|
+
| Export | Purpose |
|
|
9
|
+
| --- | --- |
|
|
10
|
+
| `AGENT_TLDS`, `AGENT_TLD_ALIASES`, `LEGACY_TLDS`, `RESERVED_LABELS` | The six canonical suffixes (`me org team svc workspace treasury registry church circle`), the `ws → workspace` alias, the untyped legacy roots, the labels no one may claim. |
|
|
11
|
+
| `derivedTypeForTld`, `tldForDerivedType`, `rootClassForTld`, `rootClassForDerivedType`, `rootKindForTld` | suffix → derived type → root; the per-root `rootKind` tag (`keccak256("namespace:<Type>")`). |
|
|
12
|
+
| `parseAgentName`, `formatAgentName`, `onChainNameOf`, `normalizeAgentName` | The grammar: `x.t`, `x.t@c.u`, `c.u/x.t`, dotted `x.t.c.u`, type-nodes, roots, legacy. |
|
|
13
|
+
| `dnsHostForHandle`, `agentCardUrlForHost`, `a2aEndpointForHost`, `edgeA2aPathForHandle` | The §5 deployment-binding projection; the zone is always caller-supplied. |
|
|
14
|
+
| `findUniqueLabel`, `childNodeOf`, `validateTypedClaim` | Forced-unique labels (spec 220 §5) and the suffix ↔ `atl:agentType` ↔ root invariant. |
|
|
15
|
+
| `buildDeclareAgentTypeCalls`, `buildTypedClaimCalls` | Pure call builders for bootstrap steps 1b and 2–3 (compose into the SA's execute batch). |
|
|
16
|
+
| `AgentNamingClient.resolveTyped` / `checkTypedName` / `readDerivedType` / `findUniqueLabel` / `subregistryFor` | Typed reads; require `opts.profileResolver` (+ `opts.subregistries` for claims). |
|
|
17
|
+
|
|
6
18
|
## Constants
|
|
7
19
|
|
|
8
|
-
- `
|
|
20
|
+
- `AGENT_TLDS`: the six typed suffixes (`me org team svc workspace treasury registry church circle`); `LEGACY_TLDS` = `impact`, `agent` (untyped, resolvable, closed to new claims after app adoption).
|
|
9
21
|
- `AgentTld`: type of the canonical top-level label.
|
|
10
|
-
- `ZERO_NODE`: the all-zero
|
|
22
|
+
- `ZERO_NODE`: the all-zero root node.
|
|
11
23
|
|
|
12
24
|
## Name Helpers
|
|
13
25
|
|
|
@@ -15,7 +27,7 @@ This is the human-readable guide to the public exports in
|
|
|
15
27
|
throws `InvalidNameError`.
|
|
16
28
|
- `isValidAgentName(name)`: boolean wrapper around `normalizeAgentName`.
|
|
17
29
|
- `labelhash(label)`: keccak256 hash of a single label.
|
|
18
|
-
- `namehash(name)`:
|
|
30
|
+
- `namehash(name)`: recursive namehash (`keccak256(parentNode || labelhash)`) of a normalized name.
|
|
19
31
|
|
|
20
32
|
## Client
|
|
21
33
|
|