Skip to content

TypeScript: @dnsid-ai/registry

Registry control-plane client and TXT publishing helpers for DNSid TypeScript packages.

This package owns the current DNSid registry API surface and registry-shaped lifecycle/status behavior. It intentionally keeps registry-specific states separate from protocol-strict @dnsid-ai/protocol agent status types.

Terminal window
npm install @dnsid-ai/registry @dnsid-ai/protocol
import { RegistryClient, publishClientControlledRecord } from '@dnsid-ai/registry';
import { createRegistryClientFromEnvironment } from '@dnsid-ai/sdk/node';
// Local by default: http://127.0.0.1:7755 from `dnsid local up`, no credential.
// Hosted: set DNSID_REGISTRY_URL and DNSID_API_KEY from the console.
const registryClient = await createRegistryClientFromEnvironment();
// Or explicitly: new RegistryClient({ baseUrl, token }). HTTPS required except on loopback.
await publishClientControlledRecord({
config,
entityKeyProvider,
registryClient,
});

Registry workflow status is kept separate from protocol AgentStatus. Client-controlled identities publish with publishClientControlledRecord(); registry-managed identities use awaitRegistryManagedPublication(), which requires an observed and verified DNS record before succeeding. publishToRegistry() remains as a deprecated compatibility alias.

The client supports self-managed, zone-explicit, and Live registration workflows, authenticated/custom requests, verification/challenge helpers, typed preparation of C2SP issuance and key rotation, record signing, revoke, cancel, unregister, and retire helpers. registerLiveAgent() sets tier: "live" and managed: true internally, requires a separate idempotency key, and returns a distinct proof challenge rather than a normal registration. While challenge_pending, the response includes the assigned domain and validated challenge transcript. Sign the exact bytes decoded from the latest challengeMessage; a reissued challenge supersedes every earlier challenge and message. Preparation returns untrusted exact bytes and their bound log reference; it does not submit or append them. Registry-managed lifecycle operations are single-owner workflows: callers submit through the registry and must not append a duplicate local lifecycle event.

Registration retries (breaking API change)

Section titled “Registration retries (breaking API change)”

registerAgent(), registerSelfManagedAgent(), and registerInZone() now require input.idempotencyKey. Generate and persist the key and registration input before the first attempt, then reuse both for reconciliation. Do not generate a fresh key on each retry: the POST may have created an agent even when its response or the subsequent status GET fails. Matching ordinary registration replays still require HTTP 201.

Request/response failures throw RegistrationError with idempotencyKey, the original cause, and domain when the creation response supplied it. If the domain is known, call getRegistration(error.domain) to recover status without another POST; otherwise replay the original registration with the same key and input. An error does not prove creation succeeded or failed. No automatic retries are performed; resolve permanent request errors rather than blindly retrying them. Replay safety depends on the registry’s idempotency retention policy; reconcile with the registry before retrying beyond that window.

Key-rotation preparation requires owner credentials: a session cookie or organization API key. An agent bearer token is not accepted.

Registry status semantics are still expected to align with ongoing registry server status work before this API is considered stable.

registerAgent() takes either domain, for a name you control (self-managed), or zoneId, for a registry-assigned name in a delegated zone (managed). The two are mutually exclusive, and managed requires zoneId. environment may be left unset. Private JWK members are rejected before any request is sent. Client-controlled publication validates every known TXT tag against the effective publication configuration. config.maxKeyAge controls the ka tag; when omitted, the helper expects ka to be omitted. Legacy callers may pass effectiveMaxKeyAge as an explicit override. Callers must configure the effective gi, ek, ku, lr, su, fl, and cu values exactly.

submitPreparedEvent() throws PreparedEventSubmissionError for structured product errors. Only TLOG_SUBMISSION_BUSY and TLOG_SUBMISSION_INDETERMINATE are marked retryable; callers must retain and retry the same idempotency key and exact entry bytes when retryWithSameBytes is true.

Registry control-plane client and TXT publishing helpers for DNSid.

@dnsid-ai/registry owns the DNSid registry API surface: RegistryClient (agent registration, verification, lifecycle, prepared C2SP transparency-log events, record signing) plus publication workflows — publishClientControlledRecord for client-controlled identity records signed with the entity key, and awaitRegistryManagedPublication for registry-managed publication verified against observed DNS. Registry workflow status is kept separate from the protocol-strict agent status types in @dnsid-ai/protocol.

Defined in: packages/registry/src/index.ts:255

Structured product error from exact-byte C2SP submission.

retryWithSameBytes is deliberately true only when retrying the same idempotency key and byte sequence is safe and required for reconciliation.

  • Error

new PreparedEventSubmissionError(options): PreparedEventSubmissionError;

Defined in: packages/registry/src/index.ts:262

string

number

string

boolean

boolean

PreparedEventSubmissionErrorState

PreparedEventSubmissionError

Error.constructor

optional cause?: unknown;

Defined in: node_modules/typescript/lib/lib.es2022.error.d.ts:24

Error.cause

readonly code: string;

Defined in: packages/registry/src/index.ts:256

readonly httpStatus: number;

Defined in: packages/registry/src/index.ts:257

message: string;

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1075

Error.message

name: string;

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1074

Error.name

readonly retryable: boolean;

Defined in: packages/registry/src/index.ts:259

readonly retryWithSameBytes: boolean;

Defined in: packages/registry/src/index.ts:260

optional stack?: string;

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1076

Error.stack

readonly state: PreparedEventSubmissionErrorState;

Defined in: packages/registry/src/index.ts:258

static stackTraceLimit: number;

Defined in: node_modules/@types/node/globals.d.ts:67

The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).

The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.

If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

Error.stackTraceLimit

static captureStackTrace(targetObject, constructorOpt?): void;

Defined in: node_modules/@types/node/globals.d.ts:51

Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.

const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack; // Similar to `new Error().stack`

The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.

The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.

The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:

function a() {
b();
}
function b() {
c();
}
function c() {
// Create an error without stack trace to avoid calculating the stack trace twice.
const { stackTraceLimit } = Error;
Error.stackTraceLimit = 0;
const error = new Error();
Error.stackTraceLimit = stackTraceLimit;
// Capture the stack trace above function b
Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
throw error;
}
a();

object

Function

void

Error.captureStackTrace

static prepareStackTrace(err, stackTraces): any;

Defined in: node_modules/@types/node/globals.d.ts:55

Error

CallSite[]

any

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Error.prepareStackTrace

Defined in: packages/registry/src/index.ts:57

Registration may have succeeded; reconcile rather than retrying with a new key.

  • Error

new RegistrationError(
idempotencyKey,
domain,
cause
): RegistrationError;

Defined in: packages/registry/src/index.ts:58

string

string | undefined

Assigned domain, when the creation response was successfully parsed.

unknown

RegistrationError

Error.constructor

optional cause?: unknown;

Defined in: node_modules/typescript/lib/lib.es2022.error.d.ts:24

Error.cause

readonly domain: string | undefined;

Defined in: packages/registry/src/index.ts:61

Assigned domain, when the creation response was successfully parsed.

readonly idempotencyKey: string;

Defined in: packages/registry/src/index.ts:59

message: string;

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1075

Error.message

name: string;

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1074

Error.name

optional stack?: string;

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1076

Error.stack

static stackTraceLimit: number;

Defined in: node_modules/@types/node/globals.d.ts:67

The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).

The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.

If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

Error.stackTraceLimit

static captureStackTrace(targetObject, constructorOpt?): void;

Defined in: node_modules/@types/node/globals.d.ts:51

Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.

const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack; // Similar to `new Error().stack`

The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.

The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.

The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:

function a() {
b();
}
function b() {
c();
}
function c() {
// Create an error without stack trace to avoid calculating the stack trace twice.
const { stackTraceLimit } = Error;
Error.stackTraceLimit = 0;
const error = new Error();
Error.stackTraceLimit = stackTraceLimit;
// Capture the stack trace above function b
Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
throw error;
}
a();

object

Function

void

Error.captureStackTrace

static prepareStackTrace(err, stackTraces): any;

Defined in: node_modules/@types/node/globals.d.ts:55

Error

CallSite[]

any

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Error.prepareStackTrace

Defined in: packages/registry/src/index.ts:286

new RegistryClient(options?): RegistryClient;

Defined in: packages/registry/src/index.ts:293

RegistryClientOptions = {}

RegistryClient

cancelAgent(domain): Promise<LifecycleResult>;

Defined in: packages/registry/src/index.ts:633

string

Promise<LifecycleResult>

canonicalRecordContent(domain, signingKid): Promise<CanonicalRecordContentResponse>;

Defined in: packages/registry/src/index.ts:500

string

string

Promise<CanonicalRecordContentResponse>

getAgent(domain): Promise<AgentRegistration | undefined>;

Defined in: packages/registry/src/index.ts:433

string

Promise<AgentRegistration | undefined>

getAgentStatus(domain): Promise<AgentRegistration | undefined>;

Defined in: packages/registry/src/index.ts:536

string

Promise<AgentRegistration | undefined>

Use getRegistration().

getIdentityRecordToSign(
domain,
agentFQDN?,
signingKid?
): Promise<IdentityRecordToSign>;

Defined in: packages/registry/src/index.ts:470

string

string = domain

string

Promise<IdentityRecordToSign>

getRegistration(domain): Promise<AgentRegistration | undefined>;

Defined in: packages/registry/src/index.ts:513

string

Promise<AgentRegistration | undefined>

prepareIssuance(domain, idempotencyKey): Promise<PreparedRegistryEvent>;

Defined in: packages/registry/src/index.ts:540

string

string

Promise<PreparedRegistryEvent>

prepareKeyRotation(
domain,
request,
idempotencyKey
): Promise<PreparedRegistryEvent>;

Defined in: packages/registry/src/index.ts:554

Requires owner credentials (session or API key); an agent bearer token is not accepted.

string

KeyRotationPreparationRequest

string

Promise<PreparedRegistryEvent>

publishTxtRecordWithSigner(
domain,
sign,
validation
): Promise<PublishedRecord>;

Defined in: packages/registry/src/index.ts:455

string

(canonical) => Promise<string | Uint8Array<ArrayBufferLike>>

PublishTxtRecordValidationOptions

Promise<PublishedRecord>

registerAgent(input): Promise<AgentRegistration>;

Defined in: packages/registry/src/index.ts:301

AgentRegistrationInput

Promise<AgentRegistration>

registerInZone(input): Promise<AgentRegistration>;

Defined in: packages/registry/src/index.ts:364

Omit<AgentRegistrationInput, "domain" | "managed"> & object

Promise<AgentRegistration>

registerLiveAgent(input, idempotencyKey): Promise<LiveProvisioningResponse>;

Defined in: packages/registry/src/index.ts:329

LiveAgentRegistrationInput

string

Promise<LiveProvisioningResponse>

registerSelfManagedAgent(input): Promise<AgentRegistration>;

Defined in: packages/registry/src/index.ts:360

Omit<AgentRegistrationInput, "managed" | "zoneId"> & object

Promise<AgentRegistration>

reissueLiveProof(
domain,
requestId,
publicKeyJwk
): Promise<LiveProofReissueResponse>;

Defined in: packages/registry/src/index.ts:408

string

string

DnsIdJWK

Promise<LiveProofReissueResponse>

retireAgent(domain, agentId): Promise<LifecycleResult>;

Defined in: packages/registry/src/index.ts:627

string

string

Promise<LifecycleResult>

revokeAgent(
domain,
agentId,
reason
): Promise<LifecycleResult>;

Defined in: packages/registry/src/index.ts:613

string

string

RegistryRevocationReason

Promise<LifecycleResult>

submitChallengeSignature(domain, input): Promise<LifecycleResult>;

Defined in: packages/registry/src/index.ts:379

string

ChallengeSignatureInput

Promise<LifecycleResult>

submitIdentityRecordSignature(domain, input): Promise<PublishedRecord>;

Defined in: packages/registry/src/index.ts:505

string

SubmitIdentityRecordSignatureInput

Promise<PublishedRecord>

submitLiveProof(domain, input): Promise<LiveProofResponse>;

Defined in: packages/registry/src/index.ts:387

string

LiveProofInput

Promise<LiveProofResponse>

submitPreparedEvent(
domain,
entryBytes,
idempotencyKey
): Promise<SubmissionResult>;

Defined in: packages/registry/src/index.ts:571

string

Uint8Array

string

Promise<SubmissionResult>

triggerVerification(domain): Promise<AgentRegistration>;

Defined in: packages/registry/src/index.ts:372

string

Promise<AgentRegistration>

unregisterAgent(domain): Promise<void>;

Defined in: packages/registry/src/index.ts:639

Best-effort unregister; unsupported and already-absent agents are successful no-ops.

string

Promise<void>

verifyAgent(domain): Promise<AgentRegistration>;

Defined in: packages/registry/src/index.ts:368

string

Promise<AgentRegistration>

waitForStatus(
domain,
predicate,
options?
): Promise<AgentRegistration>;

Defined in: packages/registry/src/index.ts:437

string

(status) => boolean

number

number

Promise<AgentRegistration>


Defined in: packages/registry/src/index.ts:748

  • Error

new RegistryWorkflowError(message, registration): RegistryWorkflowError;

Defined in: packages/registry/src/index.ts:751

string

AgentRegistration

RegistryWorkflowError

Error.constructor

optional cause?: unknown;

Defined in: node_modules/typescript/lib/lib.es2022.error.d.ts:24

Error.cause

message: string;

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1075

Error.message

name: string;

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1074

Error.name

readonly registration: AgentRegistration;

Defined in: packages/registry/src/index.ts:749

optional stack?: string;

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1076

Error.stack

static stackTraceLimit: number;

Defined in: node_modules/@types/node/globals.d.ts:67

The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).

The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.

If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

Error.stackTraceLimit

static captureStackTrace(targetObject, constructorOpt?): void;

Defined in: node_modules/@types/node/globals.d.ts:51

Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.

const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack; // Similar to `new Error().stack`

The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.

The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.

The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:

function a() {
b();
}
function b() {
c();
}
function c() {
// Create an error without stack trace to avoid calculating the stack trace twice.
const { stackTraceLimit } = Error;
Error.stackTraceLimit = 0;
const error = new Error();
Error.stackTraceLimit = stackTraceLimit;
// Capture the stack trace above function b
Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
throw error;
}
a();

object

Function

void

Error.captureStackTrace

static prepareStackTrace(err, stackTraces): any;

Defined in: node_modules/@types/node/globals.d.ts:55

Error

CallSite[]

any

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Error.prepareStackTrace

Defined in: packages/registry/src/index.ts:189

optional dnsPublished?: boolean;

Defined in: packages/registry/src/index.ts:194

domain: string;

Defined in: packages/registry/src/index.ts:191

id: string;

Defined in: packages/registry/src/index.ts:190

optional oidcIssuerUrl?: string;

Defined in: packages/registry/src/index.ts:197

optional protocolStatus?: AgentStatus;

Defined in: packages/registry/src/index.ts:195

publicationAuthority: PublicationAuthority;

Defined in: packages/registry/src/index.ts:192

optional publicationConfig?: PublicationConfig;

Defined in: packages/registry/src/index.ts:198

optional raw?: unknown;

Defined in: packages/registry/src/index.ts:199

registryStatus: string;

Defined in: packages/registry/src/index.ts:193

registryUrl: string;

Defined in: packages/registry/src/index.ts:196


Defined in: packages/registry/src/index.ts:39

optional capabilitiesUrl?: string;

Defined in: packages/registry/src/index.ts:51

optional domain?: string;

Defined in: packages/registry/src/index.ts:40

optional environment?: "production" | "sandbox";

Defined in: packages/registry/src/index.ts:47

Registry environment. Defaults to production.

idempotencyKey: string;

Defined in: packages/registry/src/index.ts:53

Persist before registration; reuse with the same input when reconciling a failed attempt.

optional managed?: boolean;

Defined in: packages/registry/src/index.ts:49

Registry-managed publication. Requires zoneId.

optional metadata?: Record<string, unknown>;

Defined in: packages/registry/src/index.ts:44

The product registry has no arbitrary registration metadata field.

optional name?: string;

Defined in: packages/registry/src/index.ts:42

Optional product display name. Not published in the DNSid record.

optional publicKeyJwk?: DnsIdJWK;

Defined in: packages/registry/src/index.ts:45

optional zoneId?: string;

Defined in: packages/registry/src/index.ts:50


Defined in: packages/registry/src/index.ts:738

domain: string;

Defined in: packages/registry/src/index.ts:739

identityManager: IdentityManager;

Defined in: packages/registry/src/index.ts:742

The local identity’s manager; its protocol evidence (not acceptance) confirms publication.

optional intervalMs?: number;

Defined in: packages/registry/src/index.ts:744

optional publishProfile?: string;

Defined in: packages/registry/src/index.ts:743

registryClient: RegistryClient;

Defined in: packages/registry/src/index.ts:740

optional timeoutMs?: number;

Defined in: packages/registry/src/index.ts:745


Defined in: packages/registry/src/index.ts:138

canonical: string;

Defined in: packages/registry/src/index.ts:139

signingKid: string;

Defined in: packages/registry/src/index.ts:140


Defined in: packages/registry/src/index.ts:156

nonce: string;

Defined in: packages/registry/src/index.ts:157

signature: string | Uint8Array<ArrayBufferLike>;

Defined in: packages/registry/src/index.ts:158


Defined in: packages/registry/src/index.ts:143

canonicalContent: string;

Defined in: packages/registry/src/index.ts:145

domain: string;

Defined in: packages/registry/src/index.ts:144

optional expiresAt?: Date;

Defined in: packages/registry/src/index.ts:148

optional raw?: unknown;

Defined in: packages/registry/src/index.ts:149

signingKid: string;

Defined in: packages/registry/src/index.ts:146

optional tags?: Record<string, string>;

Defined in: packages/registry/src/index.ts:147


Defined in: packages/registry/src/index.ts:229

previousKeyId: string;

Defined in: packages/registry/src/index.ts:230

publicKey: DnsIdJWK;

Defined in: packages/registry/src/index.ts:231


Defined in: packages/registry/src/index.ts:182

id: string;

Defined in: packages/registry/src/index.ts:183

optional raw?: unknown;

Defined in: packages/registry/src/index.ts:186

registryStatus: string;

Defined in: packages/registry/src/index.ts:184

optional statusNote?: string;

Defined in: packages/registry/src/index.ts:185


Defined in: packages/registry/src/index.ts:69

optional capabilitiesUrl?: string;

Defined in: packages/registry/src/index.ts:73

optional environment?: "production";

Defined in: packages/registry/src/index.ts:71

optional name?: string;

Defined in: packages/registry/src/index.ts:72

publicKeyJwk: DnsIdJWK;

Defined in: packages/registry/src/index.ts:70


Defined in: packages/registry/src/index.ts:76

agentId: string;

Defined in: packages/registry/src/index.ts:79

expiresAt: Date;

Defined in: packages/registry/src/index.ts:83

fqdn: string;

Defined in: packages/registry/src/index.ts:80

keyId: string;

Defined in: packages/registry/src/index.ts:81

nonce: string;

Defined in: packages/registry/src/index.ts:82

orgId: string;

Defined in: packages/registry/src/index.ts:78

protocol: "dnsid-live-provisioning-pop/v1";

Defined in: packages/registry/src/index.ts:77


Defined in: packages/registry/src/index.ts:161

challenge: string;

Defined in: packages/registry/src/index.ts:163

publicKeyJwk: DnsIdJWK;

Defined in: packages/registry/src/index.ts:164

requestId: string;

Defined in: packages/registry/src/index.ts:162

signature: string | Uint8Array<ArrayBufferLike>;

Defined in: packages/registry/src/index.ts:165


Defined in: packages/registry/src/index.ts:175

agentId: string;

Defined in: packages/registry/src/index.ts:170

LiveProofResponse.agentId

challenge: string;

Defined in: packages/registry/src/index.ts:176

challengeMessage: string;

Defined in: packages/registry/src/index.ts:177

challengeTranscript: LiveChallengeTranscript;

Defined in: packages/registry/src/index.ts:179

domain: string;

Defined in: packages/registry/src/index.ts:178

optional raw?: unknown;

Defined in: packages/registry/src/index.ts:172

LiveProofResponse.raw

requestId: string;

Defined in: packages/registry/src/index.ts:169

LiveProofResponse.requestId

status: string;

Defined in: packages/registry/src/index.ts:171

LiveProofResponse.status


Defined in: packages/registry/src/index.ts:168

agentId: string;

Defined in: packages/registry/src/index.ts:170

optional raw?: unknown;

Defined in: packages/registry/src/index.ts:172

requestId: string;

Defined in: packages/registry/src/index.ts:169

status: string;

Defined in: packages/registry/src/index.ts:171


Defined in: packages/registry/src/index.ts:86

agentId: string;

Defined in: packages/registry/src/index.ts:88

challenge: string;

Defined in: packages/registry/src/index.ts:90

challengeMessage: string;

Defined in: packages/registry/src/index.ts:91

optional challengeTranscript?: LiveChallengeTranscript;

Defined in: packages/registry/src/index.ts:94

optional domain?: string;

Defined in: packages/registry/src/index.ts:93

Assigned domain, derived from a validated challenge transcript while challenge_pending.

optional raw?: unknown;

Defined in: packages/registry/src/index.ts:95

requestId: string;

Defined in: packages/registry/src/index.ts:87

status: string;

Defined in: packages/registry/src/index.ts:89


Defined in: packages/registry/src/index.ts:224

entryBytes: Uint8Array;

Defined in: packages/registry/src/index.ts:225

logReference: string;

Defined in: packages/registry/src/index.ts:226


Defined in: packages/registry/src/index.ts:203

Authoritative profile-known values used by the registry to prepare an identity record.

optional capabilitiesUrl?: string;

Defined in: packages/registry/src/index.ts:210

ekUrl: string;

Defined in: packages/registry/src/index.ts:207

governanceId: string;

Defined in: packages/registry/src/index.ts:205

kuUrl: string;

Defined in: packages/registry/src/index.ts:206

logRef: string;

Defined in: packages/registry/src/index.ts:208

optional maxKeyAge?: MaxKeyAge;

Defined in: packages/registry/src/index.ts:211

publishProfile: string;

Defined in: packages/registry/src/index.ts:204

statusUrl: string;

Defined in: packages/registry/src/index.ts:209


Defined in: packages/registry/src/index.ts:713

config: IdentityConfig;

Defined in: packages/registry/src/index.ts:714

optional effectiveMaxKeyAge?: MaxKeyAge | null;

Defined in: packages/registry/src/index.ts:718

Explicit legacy ka override. No value is inferred when the authoritative config omits maxKeyAge.

entityKeyProvider: KeyProvider;

Defined in: packages/registry/src/index.ts:715

registryClient: RegistryClient;

Defined in: packages/registry/src/index.ts:716


Defined in: packages/registry/src/index.ts:214

domain: string;

Defined in: packages/registry/src/index.ts:215

ownerName: string;

Defined in: packages/registry/src/index.ts:216

optional protocolStatus?: AgentStatus;

Defined in: packages/registry/src/index.ts:220

publicationStatus: string;

Defined in: packages/registry/src/index.ts:219

optional raw?: unknown;

Defined in: packages/registry/src/index.ts:221

ttl: number;

Defined in: packages/registry/src/index.ts:218

txtRecord: string;

Defined in: packages/registry/src/index.ts:217


Defined in: packages/registry/src/index.ts:280

optional agentFQDN?: string;

Defined in: packages/registry/src/index.ts:282

expectedCanonicalContent: string;

Defined in: packages/registry/src/index.ts:281

signingKid: string;

Defined in: packages/registry/src/index.ts:283


Defined in: packages/registry/src/index.ts:105

optional baseUrl?: string;

Defined in: packages/registry/src/index.ts:107

Registry API base URL: HTTPS, or HTTP on loopback. Defaults to DEFAULT_REGISTRY_URL.

optional credentials?: RequestCredentials;

Defined in: packages/registry/src/index.ts:111

optional fetch?: {
(input, init?): Promise<Response>;
(input, init?): Promise<Response>;
};

Defined in: packages/registry/src/index.ts:112

(input, init?): Promise<Response>;

MDN Reference

URL | RequestInfo

RequestInit

Promise<Response>

(input, init?): Promise<Response>;

MDN Reference

string | URL | Request

RequestInit

Promise<Response>

optional headers?: HeadersInit;

Defined in: packages/registry/src/index.ts:110

optional token?: string;

Defined in: packages/registry/src/index.ts:109

Owner API key or session token, sent as Authorization: Bearer.


Defined in: packages/registry/src/index.ts:237

entryHash: string;

Defined in: packages/registry/src/index.ts:239

optional errorCode?: string;

Defined in: packages/registry/src/index.ts:242

optional index?: number;

Defined in: packages/registry/src/index.ts:240

optional keyId?: string;

Defined in: packages/registry/src/index.ts:243

optional logRef?: string;

Defined in: packages/registry/src/index.ts:241

optional raw?: unknown;

Defined in: packages/registry/src/index.ts:244

state: "rejected" | "pending" | "accepted";

Defined in: packages/registry/src/index.ts:238


Defined in: packages/registry/src/index.ts:152

signature: string | Uint8Array<ArrayBufferLike>;

Defined in: packages/registry/src/index.ts:153

type IdentitySignatureAlgorithm = "EdDSA" | "ES256";

Defined in: packages/registry/src/index.ts:136


type PreparedEventSubmissionErrorState = "pending" | "rejected" | "indeterminate";

Defined in: packages/registry/src/index.ts:247


type PublicationAuthority = "client" | "registry";

Defined in: packages/registry/src/index.ts:37


type PublishToRegistryOptions = PublishClientControlledRecordOptions;

Defined in: packages/registry/src/index.ts:722

Use PublishClientControlledRecordOptions.


type RegistryRevocationReason = "owner_request" | "key_compromise";

Defined in: packages/registry/src/index.ts:235

Owner-authorized reason codes accepted by the registry revoke API.

const DEFAULT_REGISTRY_URL: "http://127.0.0.1:7755" = 'http://127.0.0.1:7755';

Defined in: packages/registry/src/index.ts:103

Default registry base URL: the local registry started by dnsid local up. Hosted use requires an explicit baseUrl (see createRegistryClientFromEnvironment() in @dnsid-ai/sdk/node, which reads DNSID_REGISTRY_URL).

function awaitRegistryManagedPublication(options): Promise<PublishedRecord>;

Defined in: packages/registry/src/index.ts:794

AwaitRegistryManagedPublicationOptions

Promise<PublishedRecord>


function publishClientControlledRecord(opts): Promise<PublishedRecord>;

Defined in: packages/registry/src/index.ts:758

PublishClientControlledRecordOptions

Promise<PublishedRecord>


function publishToRegistry(opts): Promise<PublishedRecord>;

Defined in: packages/registry/src/index.ts:790

PublishClientControlledRecordOptions

Promise<PublishedRecord>

Use publishClientControlledRecord().


function required(name, values): string;

Defined in: packages/registry/src/index.ts:987

string

Record<string, string | undefined>

string


function requiredInt(name, values): number;

Defined in: packages/registry/src/index.ts:992

string

Record<string, string | undefined>

number