@agenticprimitives/agent-naming 1.0.0-alpha.22 → 1.0.0-alpha.24

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.
Files changed (66) hide show
  1. package/CLAUDE.md +34 -50
  2. package/README.md +7 -0
  3. package/dist/abis.d.ts +99 -0
  4. package/dist/abis.d.ts.map +1 -1
  5. package/dist/abis.js +40 -0
  6. package/dist/abis.js.map +1 -1
  7. package/dist/claim.d.ts +71 -0
  8. package/dist/claim.d.ts.map +1 -0
  9. package/dist/claim.js +73 -0
  10. package/dist/claim.js.map +1 -0
  11. package/dist/client.d.ts +24 -1
  12. package/dist/client.d.ts.map +1 -1
  13. package/dist/client.js +133 -3
  14. package/dist/client.js.map +1 -1
  15. package/dist/constants.d.ts +55 -5
  16. package/dist/constants.d.ts.map +1 -1
  17. package/dist/constants.js +128 -4
  18. package/dist/constants.js.map +1 -1
  19. package/dist/custody.d.ts +42 -0
  20. package/dist/custody.d.ts.map +1 -1
  21. package/dist/custody.js +98 -1
  22. package/dist/custody.js.map +1 -1
  23. package/dist/dns.d.ts +91 -0
  24. package/dist/dns.d.ts.map +1 -0
  25. package/dist/dns.js +196 -0
  26. package/dist/dns.js.map +1 -0
  27. package/dist/grammar.d.ts +62 -0
  28. package/dist/grammar.d.ts.map +1 -0
  29. package/dist/grammar.js +165 -0
  30. package/dist/grammar.js.map +1 -0
  31. package/dist/hash.d.ts +14 -0
  32. package/dist/hash.d.ts.map +1 -0
  33. package/dist/hash.js +22 -0
  34. package/dist/hash.js.map +1 -0
  35. package/dist/index.d.ts +10 -5
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +11 -4
  38. package/dist/index.js.map +1 -1
  39. package/dist/issuance.d.ts +70 -0
  40. package/dist/issuance.d.ts.map +1 -0
  41. package/dist/issuance.js +65 -0
  42. package/dist/issuance.js.map +1 -0
  43. package/dist/label.d.ts +10 -0
  44. package/dist/label.d.ts.map +1 -0
  45. package/dist/label.js +39 -0
  46. package/dist/label.js.map +1 -0
  47. package/dist/namehash.d.ts +10 -23
  48. package/dist/namehash.d.ts.map +1 -1
  49. package/dist/namehash.js +11 -35
  50. package/dist/namehash.js.map +1 -1
  51. package/dist/normalize.d.ts +9 -26
  52. package/dist/normalize.d.ts.map +1 -1
  53. package/dist/normalize.js +11 -67
  54. package/dist/normalize.js.map +1 -1
  55. package/dist/records.d.ts +12 -0
  56. package/dist/records.d.ts.map +1 -1
  57. package/dist/records.js +62 -2
  58. package/dist/records.js.map +1 -1
  59. package/dist/types.d.ts +60 -1
  60. package/dist/types.d.ts.map +1 -1
  61. package/dist/vertical.d.ts +43 -0
  62. package/dist/vertical.d.ts.map +1 -0
  63. package/dist/vertical.js +40 -0
  64. package/dist/vertical.js.map +1 -0
  65. package/docs/api.md +13 -1
  66. package/package.json +6 -6
package/dist/client.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { type Address, type Hex, type WalletClient } from 'viem';
2
- import type { AgentNameRecords, AgentNamingClientOpts, ConnectionKind, RegisterSubnameInput, SetAgentRecordsInput, SetPrimaryNameInput, SetSubregistryInput } from './types.js';
2
+ import type { AgentNameRecords, AgentNamingClientOpts, ConnectionKind, DerivedTypeRecord, TypedNameCheck, TypedNameRecord, RegisterSubnameInput, SetAgentRecordsInput, SetPrimaryNameInput, SetSubregistryInput } from './types.js';
3
3
  /**
4
4
  * Optional per-call submission context. When provided, the write
5
5
  * method submits the encoded call via `walletClient.sendTransaction`.
@@ -68,6 +68,29 @@ export declare class AgentNamingClient {
68
68
  address: Address | null;
69
69
  passkeyCredentialDigest: Hex | null;
70
70
  } | null>;
71
+ /** `AgentNameRegistry.recordExists(node)` — the read the forced-unique walk needs. */
72
+ recordExists(node: Hex): Promise<boolean>;
73
+ /** Forced-unique label under `parentName` (a root like `me`, or a type-node like `svc.richcanvas.org`). */
74
+ findUniqueLabel(parentName: string, baseLabel: string, cap?: number): Promise<string>;
75
+ /** The `PermissionlessSubregistry` for a typed (generic or vertical) root, from `opts.subregistries`. Throws when unconfigured. */
76
+ subregistryFor(tld: string): Address;
77
+ /**
78
+ * Read the SA-keyed derived-type record (spec 346 §2.3) from the AgentProfileResolver. Requires
79
+ * `opts.profileResolver`; throws a configuration error otherwise (no silent untyped downgrade).
80
+ * An unregistered profile → all `null` (empty is an answer).
81
+ */
82
+ readDerivedType(agent: Address): Promise<DerivedTypeRecord>;
83
+ /**
84
+ * Resolve a typed name and enforce the suffix ↔ derived-type ↔ root invariant (spec 346 §2.3) at read
85
+ * time. `null` when unregistered OR when the records disagree with the suffix (`type_mismatch`,
86
+ * `type_undeclared`, `role_required`, `kind_mismatch`) — a typed name whose records disagree with its
87
+ * suffix is not a valid typed name (ADR-0013: empty is an answer). Use `checkTypedName` for the reason.
88
+ * Legacy names resolve with `legacy: true` and are never suffix-validated.
89
+ */
90
+ resolveTyped(name: string): Promise<TypedNameRecord | null>;
91
+ /** `resolveTyped` with the refusal reason. */
92
+ checkTypedName(name: string): Promise<TypedNameCheck>;
93
+ private _profileResolver;
71
94
  /**
72
95
  * Register `<label>.<parent>` under the parent namespace. The
73
96
  * provided `walletClient`'s account MUST be authorized to register
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,OAAO,EAAE,KAAK,GAAG,EAAqB,KAAK,YAAY,EAAE,MAAM,MAAM,CAAC;AAiB9G,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAIpB;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,iBAAiB;IAGhB,QAAQ,CAAC,IAAI,EAAE,qBAAqB;IAFhD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;gBAEvB,IAAI,EAAE,qBAAqB;IAWhD;;;;;;;OAOG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAaxD;;;;;;;;OAQG;IACG,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAU5D;;;OAGG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgHzD;;;;;;OAMG;IACG,iBAAiB,CACrB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;QAAE,IAAI,EAAE,cAAc,CAAC;QAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;QAAC,uBAAuB,EAAE,GAAG,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IAYzG;;;;;;;;;;;;;OAaG;IACG,eAAe,CAAC,KAAK,EAAE,oBAAoB,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IAwBnF;;;;;OAKG;IACG,cAAc,CAAC,KAAK,EAAE,mBAAmB,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IAMjF;;;;;;OAMG;IACG,eAAe,CAAC,KAAK,EAAE,oBAAoB,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAsBrF;;;;OAIG;IACG,cAAc,CAAC,KAAK,EAAE,mBAAmB,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IAUjF;;;;OAIG;YACW,OAAO;CAkCtB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,OAAO,EAAE,KAAK,GAAG,EAAqB,KAAK,YAAY,EAAE,MAAM,MAAM,CAAC;AAwB9G,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAIpB;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,iBAAiB;IAGhB,QAAQ,CAAC,IAAI,EAAE,qBAAqB;IAFhD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;gBAEvB,IAAI,EAAE,qBAAqB;IAWhD;;;;;;;OAOG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAaxD;;;;;;;;OAQG;IACG,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAU5D;;;OAGG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAyHzD;;;;;;OAMG;IACG,iBAAiB,CACrB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;QAAE,IAAI,EAAE,cAAc,CAAC;QAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;QAAC,uBAAuB,EAAE,GAAG,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IAYzG,sFAAsF;IAChF,YAAY,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAS/C,2GAA2G;IACrG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI3F,mIAAmI;IACnI,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAMpC;;;;OAIG;IACG,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmCjE;;;;;;OAMG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAKjE,8CAA8C;IACxC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAuC3D,OAAO,CAAC,gBAAgB;IASxB;;;;;;;;;;;;;OAaG;IACG,eAAe,CAAC,KAAK,EAAE,oBAAoB,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IAwBnF;;;;;OAKG;IACG,cAAc,CAAC,KAAK,EAAE,mBAAmB,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IAMjF;;;;;;OAMG;IACG,eAAe,CAAC,KAAK,EAAE,oBAAoB,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAsBrF;;;;OAIG;IACG,cAAc,CAAC,KAAK,EAAE,mBAAmB,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IAUjF;;;;OAIG;YACW,OAAO;CAkCtB"}
package/dist/client.js CHANGED
@@ -1,6 +1,10 @@
1
1
  import { createPublicClient, http } from 'viem';
2
- import { agentNameAttributeResolverAbi, agentNameRegistryAbi, agentNameUniversalResolverAbi, } from './abis.js';
3
- import { PREDICATE_ID, decodeRecords, } from './records.js';
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';
4
8
  import { buildRegisterSubnameCall, buildRecordCalls, buildSetPrimaryNameCall, buildSetSubregistryCall, } from './custody.js';
5
9
  import { namehash, ZERO_NODE } from './namehash.js';
6
10
  import { normalizeLabel } from './normalize.js';
@@ -107,6 +111,7 @@ export class AgentNamingClient {
107
111
  PREDICATE_ID.description,
108
112
  PREDICATE_ID.metadataUri,
109
113
  PREDICATE_ID.nativeId,
114
+ PREDICATE_ID.cardUri,
110
115
  ];
111
116
  const stringValues = await this.publicClient.readContract({
112
117
  address: this.opts.universalResolver,
@@ -137,7 +142,7 @@ export class AgentNamingClient {
137
142
  args: [node, PREDICATE_ID.connectionAddress],
138
143
  }),
139
144
  ]);
140
- const [agentKind, metadataHash, passkeyDigest, connectionKind] = await Promise.all([
145
+ const [agentKind, metadataHash, passkeyDigest, connectionKind, cardDigest] = await Promise.all([
141
146
  this.publicClient.readContract({
142
147
  address: resolverAddr,
143
148
  abi: agentNameAttributeResolverAbi,
@@ -162,6 +167,12 @@ export class AgentNamingClient {
162
167
  functionName: 'getBytes32',
163
168
  args: [node, PREDICATE_ID.connectionKind],
164
169
  }),
170
+ this.publicClient.readContract({
171
+ address: resolverAddr,
172
+ abi: agentNameAttributeResolverAbi,
173
+ functionName: 'getBytes32',
174
+ args: [node, PREDICATE_ID.cardDigest],
175
+ }),
165
176
  ]);
166
177
  const input = { strings: {}, addresses: {}, bytes32s: {} };
167
178
  input.strings[PREDICATE_ID.displayName] = stringValues[0];
@@ -174,6 +185,7 @@ export class AgentNamingClient {
174
185
  input.strings[PREDICATE_ID.description] = stringValues[7];
175
186
  input.strings[PREDICATE_ID.metadataUri] = stringValues[8];
176
187
  input.strings[PREDICATE_ID.nativeId] = stringValues[9];
188
+ input.strings[PREDICATE_ID.cardUri] = stringValues[10];
177
189
  if (addr !== '0x0000000000000000000000000000000000000000') {
178
190
  input.addresses[PREDICATE_ID.addr] = addr;
179
191
  }
@@ -184,6 +196,8 @@ export class AgentNamingClient {
184
196
  input.bytes32s[PREDICATE_ID.agentKind] = agentKind;
185
197
  if (metadataHash !== ZERO_NODE)
186
198
  input.bytes32s[PREDICATE_ID.metadataHash] = metadataHash;
199
+ if (cardDigest !== ZERO_NODE)
200
+ input.bytes32s[PREDICATE_ID.cardDigest] = cardDigest;
187
201
  if (passkeyDigest !== ZERO_NODE)
188
202
  input.bytes32s[PREDICATE_ID.passkeyCredentialDigest] = passkeyDigest;
189
203
  if (connectionKind !== ZERO_NODE)
@@ -210,6 +224,122 @@ export class AgentNamingClient {
210
224
  passkeyCredentialDigest: r.passkeyCredentialDigest ?? null,
211
225
  };
212
226
  }
227
+ // ─── Typed naming (spec 346) ─────────────────────────────────────
228
+ /** `AgentNameRegistry.recordExists(node)` — the read the forced-unique walk needs. */
229
+ async recordExists(node) {
230
+ return (await this.publicClient.readContract({
231
+ address: this.opts.registry,
232
+ abi: agentNameRegistryAbi,
233
+ functionName: 'recordExists',
234
+ args: [node],
235
+ }));
236
+ }
237
+ /** Forced-unique label under `parentName` (a root like `me`, or a type-node like `svc.richcanvas.org`). */
238
+ async findUniqueLabel(parentName, baseLabel, cap) {
239
+ return findUniqueLabel(this, namehash(parentName), baseLabel, cap);
240
+ }
241
+ /** The `PermissionlessSubregistry` for a typed (generic or vertical) root, from `opts.subregistries`. Throws when unconfigured. */
242
+ subregistryFor(tld) {
243
+ const a = this.opts.subregistries?.[tld];
244
+ if (!a)
245
+ throw new Error(`[agent-naming] no PermissionlessSubregistry configured for ".${tld}"`);
246
+ return a;
247
+ }
248
+ /**
249
+ * Read the SA-keyed derived-type record (spec 346 §2.3) from the AgentProfileResolver. Requires
250
+ * `opts.profileResolver`; throws a configuration error otherwise (no silent untyped downgrade).
251
+ * An unregistered profile → all `null` (empty is an answer).
252
+ */
253
+ async readDerivedType(agent) {
254
+ const profileResolver = this._profileResolver();
255
+ const registered = (await this.publicClient.readContract({
256
+ address: profileResolver,
257
+ abi: agentProfileResolverTypeAbi,
258
+ functionName: 'isRegistered',
259
+ args: [agent],
260
+ }));
261
+ if (!registered)
262
+ return { agentType: null, serviceRole: null, agentKind: null, agentSubtype: null };
263
+ const [typeId, role, kindId, subtype] = await Promise.all([
264
+ this.publicClient.readContract({
265
+ address: profileResolver, abi: agentProfileResolverTypeAbi, functionName: 'getBytes32Property',
266
+ args: [agent, PREDICATE_ID.agentType],
267
+ }),
268
+ this.publicClient.readContract({
269
+ address: profileResolver, abi: agentProfileResolverTypeAbi, functionName: 'getStringProperty',
270
+ args: [agent, PREDICATE_ID.serviceRole],
271
+ }),
272
+ this.publicClient.readContract({
273
+ address: profileResolver, abi: agentProfileResolverTypeAbi, functionName: 'getBytes32Property',
274
+ args: [agent, PREDICATE_ID.agentKind],
275
+ }),
276
+ this.publicClient.readContract({
277
+ address: profileResolver, abi: agentProfileResolverTypeAbi, functionName: 'getStringProperty',
278
+ args: [agent, PREDICATE_ID.agentSubtype],
279
+ }),
280
+ ]);
281
+ return {
282
+ agentType: typeId === ZERO_NODE ? null : (decodeAgentType(typeId) ?? null),
283
+ serviceRole: role && role.length > 0 ? role : null,
284
+ agentKind: kindId === ZERO_NODE ? null : (decodeAgentKind(kindId) ?? null),
285
+ agentSubtype: subtype && subtype.length > 0 ? subtype : null,
286
+ };
287
+ }
288
+ /**
289
+ * Resolve a typed name and enforce the suffix ↔ derived-type ↔ root invariant (spec 346 §2.3) at read
290
+ * time. `null` when unregistered OR when the records disagree with the suffix (`type_mismatch`,
291
+ * `type_undeclared`, `role_required`, `kind_mismatch`) — a typed name whose records disagree with its
292
+ * suffix is not a valid typed name (ADR-0013: empty is an answer). Use `checkTypedName` for the reason.
293
+ * Legacy names resolve with `legacy: true` and are never suffix-validated.
294
+ */
295
+ async resolveTyped(name) {
296
+ const r = await this.checkTypedName(name);
297
+ return r.ok ? r.record : null;
298
+ }
299
+ /** `resolveTyped` with the refusal reason. */
300
+ async checkTypedName(name) {
301
+ const p = parseAgentName(name);
302
+ if (p.kind === 'root' || p.kind === 'type-node') {
303
+ return { ok: false, reason: 'not_typed', detail: `a ${p.kind} name has no subject` };
304
+ }
305
+ const address = await this.resolveName(p.onChainName);
306
+ if (!address)
307
+ return { ok: false, reason: 'unregistered' };
308
+ const declared = await this.readDerivedType(address);
309
+ const context = p.context ? { name: `${p.context.label}.${p.context.tld}`, derivedType: p.context.derivedType } : undefined;
310
+ if (p.legacy) {
311
+ const record = {
312
+ name: p.normalized, onChainName: p.onChainName, node: p.node, address, tld: p.tld,
313
+ derivedType: declared.agentType, subtype: declared.agentSubtype, root: declared.agentType ? rootClassForDerivedType(declared.agentType) : declared.agentKind,
314
+ serviceRole: declared.serviceRole, legacy: true, typeConsistent: false,
315
+ };
316
+ return { ok: true, record };
317
+ }
318
+ const nodeKind = (await this.getRecords(p.onChainName)).agentKind ?? null;
319
+ const violations = validateTypedClaim({
320
+ name: p,
321
+ subject: { agentType: declared.agentType, serviceRole: declared.serviceRole, nameKind: nodeKind, agentSubtype: declared.agentSubtype },
322
+ });
323
+ if (violations.length > 0) {
324
+ const v = violations[0];
325
+ return { ok: false, reason: v.code, detail: 'detail' in v ? v.detail : `${v.code}: expected ${v.expected}, got ${v.actual}` };
326
+ }
327
+ const derivedType = derivedTypeForTld(p.handle.tld);
328
+ return {
329
+ ok: true,
330
+ record: {
331
+ name: p.normalized, onChainName: p.onChainName, node: p.node, address, tld: p.tld, derivedType,
332
+ subtype: p.subtype ?? null, root: rootClassForDerivedType(derivedType), serviceRole: declared.serviceRole, legacy: false,
333
+ typeConsistent: true, ...(context ? { context } : {}),
334
+ },
335
+ };
336
+ }
337
+ _profileResolver() {
338
+ if (!this.opts.profileResolver) {
339
+ throw new Error('[agent-naming] profileResolver address required for typed resolution (spec 346 §2.3)');
340
+ }
341
+ return this.opts.profileResolver;
342
+ }
213
343
  // ─── Writes (Phase 4 — live) ─────────────────────────────────────
214
344
  /**
215
345
  * Register `<label>.<parent>` under the parent namespace. The
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
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,EAC7B,2BAA2B,GAC5B,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EACL,YAAY,EACZ,aAAa,EACb,eAAe,EACf,eAAe,GAEhB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAatB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAahD;;;;;;;;;;;;;;;;;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,UAAU;YACvB,YAAY,CAAC,OAAO;YACpB,YAAY,CAAC,UAAU;YACvB,YAAY,CAAC,OAAO;YACpB,YAAY,CAAC,WAAW;YACxB,YAAY,CAAC,WAAW;YACxB,YAAY,CAAC,QAAQ;YACrB,YAAY,CAAC,OAAO;SACrB,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,EAAE,iBAAiB,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,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;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,iBAAiB,CAAC;aAC7C,CAAC;SACH,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC7F,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;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,cAAc,CAAC;aAC1C,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,UAAU,CAAC;aACtC,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,UAAU,CAAC,GAAG,YAAY,CAAC,CAAC,CAAE,CAAC;QAC1D,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC,CAAE,CAAC;QACvD,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC,CAAC,CAAE,CAAC;QAC1D,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC,CAAE,CAAC;QACvD,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,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,GAAO,YAAY,CAAC,EAAE,CAAE,CAAC;QAC5D,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,UAAU,KAAK,SAAS;YAAE,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,UAAiB,CAAC;QAC1F,IAAI,aAAa,KAAK,SAAS;YAAE,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,uBAAuB,CAAC,GAAG,aAAoB,CAAC;QAC7G,IAAI,cAAc,KAAK,SAAS;YAAE,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG,cAAqB,CAAC;QACtG,IAAI,iBAAiB,KAAK,4CAA4C,EAAE,CAAC;YACvE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,iBAAiB,CAAC,GAAG,iBAAkC,CAAC;QACvF,CAAC;QAED,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,iBAAiB,CACrB,IAAY;QAEZ,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QACnC,OAAO;YACL,IAAI,EAAE,CAAC,CAAC,cAAc;YACtB,OAAO,EAAE,CAAC,CAAC,iBAAiB,IAAI,IAAI;YACpC,uBAAuB,EAAE,CAAC,CAAC,uBAAuB,IAAI,IAAI;SAC3D,CAAC;IACJ,CAAC;IAED,oEAAoE;IAEpE,sFAAsF;IACtF,KAAK,CAAC,YAAY,CAAC,IAAS;QAC1B,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YAC3C,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC3B,GAAG,EAAE,oBAAoB;YACzB,YAAY,EAAE,cAAc;YAC5B,IAAI,EAAE,CAAC,IAAI,CAAC;SACb,CAAC,CAAY,CAAC;IACjB,CAAC;IAED,2GAA2G;IAC3G,KAAK,CAAC,eAAe,CAAC,UAAkB,EAAE,SAAiB,EAAE,GAAY;QACvE,OAAO,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IACrE,CAAC;IAED,mIAAmI;IACnI,cAAc,CAAC,GAAW;QACxB,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,gEAAgE,GAAG,GAAG,CAAC,CAAC;QAChG,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,KAAc;QAClC,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YACvD,OAAO,EAAE,eAAe;YACxB,GAAG,EAAE,2BAA2B;YAChC,YAAY,EAAE,cAAc;YAC5B,IAAI,EAAE,CAAC,KAAK,CAAC;SACd,CAAC,CAAY,CAAC;QACf,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QACpG,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACxD,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;gBAC7B,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,2BAA2B,EAAE,YAAY,EAAE,oBAAoB;gBAC9F,IAAI,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,SAAS,CAAC;aACtC,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;gBAC7B,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,2BAA2B,EAAE,YAAY,EAAE,mBAAmB;gBAC7F,IAAI,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,WAAW,CAAC;aACxC,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;gBAC7B,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,2BAA2B,EAAE,YAAY,EAAE,oBAAoB;gBAC9F,IAAI,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,SAAS,CAAC;aACtC,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;gBAC7B,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,2BAA2B,EAAE,YAAY,EAAE,mBAAmB;gBAC7F,IAAI,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,YAAY,CAAC;aACzC,CAAC;SACH,CAAC,CAAC;QACH,OAAO;YACL,SAAS,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAa,CAAC,IAAI,IAAI,CAAC;YACjF,WAAW,EAAE,IAAI,IAAK,IAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,IAAe,CAAC,CAAC,CAAC,IAAI;YAC1E,SAAS,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAa,CAAC,IAAI,IAAI,CAAC;YACjF,YAAY,EAAE,OAAO,IAAK,OAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,OAAkB,CAAC,CAAC,CAAC,IAAI;SACrF,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,CAAC,IAAY;QAC7B,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAChC,CAAC;IAED,8CAA8C;IAC9C,KAAK,CAAC,cAAc,CAAC,IAAY;QAC/B,MAAM,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAChD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,IAAI,sBAAsB,EAAE,CAAC;QACvF,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAE5H,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,MAAM,GAAoB;gBAC9B,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG;gBACjF,WAAW,EAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS;gBAC5J,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK;aACvE,CAAC;YACF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC9B,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC;QAC1E,MAAM,UAAU,GAAG,kBAAkB,CAAC;YACpC,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE;SACvI,CAAC,CAAC;QACH,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC;YACzB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,QAAQ,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QAChI,CAAC;QACD,MAAM,WAAW,GAAG,iBAAiB,CAAC,CAAC,CAAC,MAAO,CAAC,GAAG,CAAC,CAAC;QACrD,OAAO;YACL,EAAE,EAAE,IAAI;YACR,MAAM,EAAE;gBACN,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW;gBAC9F,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,EAAE,IAAI,EAAE,uBAAuB,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK;gBACxH,cAAc,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtD;SACF,CAAC;IACJ,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,sFAAsF,CAAC,CAAC;QAC1G,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;IACnC,CAAC;IAED,oEAAoE;IAEpE;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,eAAe,CAAC,KAA2B,EAAE,GAAiB;QAClE,2FAA2F;QAC3F,sEAAsE;QACtE,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1C,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;YACL,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,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACvD,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,8 +1,58 @@
1
1
  /**
2
- * The TLD for Smart Agent names. Phase 1 ships `.agent` only; the
3
- * underlying registry contract is multi-root, but the package surface
4
- * restricts to `.agent` until additional TLDs are spec'd.
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
- export declare const AGENT_TLD: "agent";
7
- export type AgentTld = typeof AGENT_TLD;
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
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAG,OAAgB,CAAC;AAC1C,MAAM,MAAM,QAAQ,GAAG,OAAO,SAAS,CAAC"}
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
- * The TLD for Smart Agent names. Phase 1 ships `.agent` only; the
3
- * underlying registry contract is multi-root, but the package surface
4
- * restricts to `.agent` until additional TLDs are spec'd.
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
- export const AGENT_TLD = 'agent';
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
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,OAAgB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
package/dist/custody.d.ts CHANGED
@@ -17,6 +17,8 @@
17
17
  */
18
18
  import type { Address, Hex } from '@agenticprimitives/types';
19
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;
@@ -123,6 +125,46 @@ export declare function buildSubregistryRegisterCall(args: {
123
125
  label: string;
124
126
  newOwner: Address;
125
127
  }): ContractCall;
128
+ /**
129
+ * Step 1b of the bootstrap (spec 346 §3.6): declare the SA's derived type on its OWN profile subject.
130
+ * `msg.sender` MUST be the SA (`AgentProfileResolver.onlyAgent`) — compose these into the SA's execute
131
+ * batch. Registers the profile mirror first when `registered` is false (the typed setters require it),
132
+ * writing the ROOT kind there; then `atl:agentType` (+ `atl:serviceRole` when given, REQUIRED and equal
133
+ * to the type name for `workspace` and `registry`).
134
+ */
135
+ export declare function buildDeclareAgentTypeCalls(args: {
136
+ profileResolver: Address;
137
+ agent: Address;
138
+ agentType: DerivedAgentType;
139
+ serviceRole?: string;
140
+ /** Vertical subtype (spec 346 §2.4) — written to `atl:agentSubtype`; REQUIRED for a vertical suffix claim. */
141
+ subtype?: string;
142
+ /** Whether `AgentProfileResolver.isRegistered(agent)` is already true. */
143
+ registered: boolean;
144
+ /** Used only when registering the profile mirror. */
145
+ displayName?: string;
146
+ }): ContractCall[];
147
+ /**
148
+ * Steps 2–3 of the bootstrap for a CANONICAL (root-level) typed name (spec 346 §3.3): claim
149
+ * `<label>.<tld>` through that root's `PermissionlessSubregistry`, write the root kind + optional records
150
+ * on the new node, and set the primary name. The caller MUST have run `validateTypedClaim` (or
151
+ * `AgentNamingClient.checkTypedName`) — this builder only refuses a suffix/type disagreement it can see
152
+ * locally. `setPrimaryName` requires `msg.sender == owner`; the subregistry claim may be sent by anyone.
153
+ */
154
+ export declare function buildTypedClaimCalls(args: {
155
+ name: string;
156
+ owner: Address;
157
+ registry: Address;
158
+ resolver: Address;
159
+ subregistries: Partial<Record<string, Address>>;
160
+ agentType: DerivedAgentType;
161
+ records?: Omit<AgentNameRecords, 'agentKind' | 'addr'>;
162
+ }): {
163
+ claim: ContractCall;
164
+ records: ContractCall[];
165
+ primaryName: ContractCall;
166
+ node: Hex;
167
+ };
126
168
  /**
127
169
  * Convenience: re-export the encoded-record shape from records.ts so
128
170
  * downstream callers can pick whichever level of abstraction fits
@@ -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;AAO7D,OAAO,EAA+B,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAG/E,qEAAqE;AACrE,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,GAAG,CAAC;CACX;AAID;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,GAAG,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,YAAY,CAkBf;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,GAAG,CAAC;IACV,QAAQ,EAAE,OAAO,CAAC;CACnB,GAAG,YAAY,CAUf;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IAChD,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,GAAG,CAAC;IACV,WAAW,EAAE,OAAO,CAAC;CACtB,GAAG,YAAY,CAUf;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,GAAG,CAAC;IACV,WAAW,EAAE,OAAO,CAAC;CACtB,GAAG,YAAY,CAUf;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,GAAG,CAAC;CACX,GAAG,YAAY,CAUf;AAID,uEAAuE;AACvE,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IAChD,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,GAAG,CAAC;IACV,SAAS,EAAE,GAAG,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,YAAY,CAUf;AAED,wEAAwE;AACxE,wBAAgB,4BAA4B,CAAC,IAAI,EAAE;IACjD,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,GAAG,CAAC;IACV,SAAS,EAAE,GAAG,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;CAChB,GAAG,YAAY,CAUf;AAED,wEAAwE;AACxE,wBAAgB,4BAA4B,CAAC,IAAI,EAAE;IACjD,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,GAAG,CAAC;IACV,SAAS,EAAE,GAAG,CAAC;IACf,KAAK,EAAE,GAAG,CAAC;CACZ,GAAG,YAAY,CAUf;AAID;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,OAAO,YAAY,EAAE,gBAAgB,CAAC;CAChD,GAAG,YAAY,EAAE,CAqDjB;AAID;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE;IACjD,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CACnB,GAAG,YAAY,CAYf;AAED;;;;;GAKG;AACH,YAAY,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"custody.d.ts","sourceRoot":"","sources":["../src/custody.ts"],"names":[],"mappings":"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"}