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.
Install
Section titled “Install”npm install @dnsid-ai/registry @dnsid-ai/protocolExample
Section titled “Example”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.
Classes
Section titled “Classes”PreparedEventSubmissionError
Section titled “PreparedEventSubmissionError”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.
Extends
Section titled “Extends”Error
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new PreparedEventSubmissionError(options): PreparedEventSubmissionError;Defined in: packages/registry/src/index.ts:262
Parameters
Section titled “Parameters”options
Section titled “options”string
httpStatus
Section titled “httpStatus”number
message
Section titled “message”string
retryable
Section titled “retryable”boolean
retryWithSameBytes
Section titled “retryWithSameBytes”boolean
PreparedEventSubmissionErrorState
Returns
Section titled “Returns”Overrides
Section titled “Overrides”Error.constructorProperties
Section titled “Properties”cause?
Section titled “cause?”optional cause?: unknown;Defined in: node_modules/typescript/lib/lib.es2022.error.d.ts:24
Inherited from
Section titled “Inherited from”Error.causereadonly code: string;Defined in: packages/registry/src/index.ts:256
httpStatus
Section titled “httpStatus”readonly httpStatus: number;Defined in: packages/registry/src/index.ts:257
message
Section titled “message”message: string;Defined in: node_modules/typescript/lib/lib.es5.d.ts:1075
Inherited from
Section titled “Inherited from”Error.messagename: string;Defined in: node_modules/typescript/lib/lib.es5.d.ts:1074
Inherited from
Section titled “Inherited from”Error.nameretryable
Section titled “retryable”readonly retryable: boolean;Defined in: packages/registry/src/index.ts:259
retryWithSameBytes
Section titled “retryWithSameBytes”readonly retryWithSameBytes: boolean;Defined in: packages/registry/src/index.ts:260
stack?
Section titled “stack?”optional stack?: string;Defined in: node_modules/typescript/lib/lib.es5.d.ts:1076
Inherited from
Section titled “Inherited from”Error.stackreadonly state: PreparedEventSubmissionErrorState;Defined in: packages/registry/src/index.ts:258
stackTraceLimit
Section titled “stackTraceLimit”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.
Inherited from
Section titled “Inherited from”Error.stackTraceLimitMethods
Section titled “Methods”captureStackTrace()
Section titled “captureStackTrace()”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();Parameters
Section titled “Parameters”targetObject
Section titled “targetObject”object
constructorOpt?
Section titled “constructorOpt?”Function
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Error.captureStackTraceprepareStackTrace()
Section titled “prepareStackTrace()”static prepareStackTrace(err, stackTraces): any;Defined in: node_modules/@types/node/globals.d.ts:55
Parameters
Section titled “Parameters”Error
stackTraces
Section titled “stackTraces”CallSite[]
Returns
Section titled “Returns”any
https://v8.dev/docs/stack-trace-api#customizing-stack-traces
Inherited from
Section titled “Inherited from”Error.prepareStackTraceRegistrationError
Section titled “RegistrationError”Defined in: packages/registry/src/index.ts:57
Registration may have succeeded; reconcile rather than retrying with a new key.
Extends
Section titled “Extends”Error
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new RegistrationError( idempotencyKey, domain, cause): RegistrationError;Defined in: packages/registry/src/index.ts:58
Parameters
Section titled “Parameters”idempotencyKey
Section titled “idempotencyKey”string
domain
Section titled “domain”string | undefined
Assigned domain, when the creation response was successfully parsed.
unknown
Returns
Section titled “Returns”Overrides
Section titled “Overrides”Error.constructorProperties
Section titled “Properties”cause?
Section titled “cause?”optional cause?: unknown;Defined in: node_modules/typescript/lib/lib.es2022.error.d.ts:24
Inherited from
Section titled “Inherited from”Error.causedomain
Section titled “domain”readonly domain: string | undefined;Defined in: packages/registry/src/index.ts:61
Assigned domain, when the creation response was successfully parsed.
idempotencyKey
Section titled “idempotencyKey”readonly idempotencyKey: string;Defined in: packages/registry/src/index.ts:59
message
Section titled “message”message: string;Defined in: node_modules/typescript/lib/lib.es5.d.ts:1075
Inherited from
Section titled “Inherited from”Error.messagename: string;Defined in: node_modules/typescript/lib/lib.es5.d.ts:1074
Inherited from
Section titled “Inherited from”Error.namestack?
Section titled “stack?”optional stack?: string;Defined in: node_modules/typescript/lib/lib.es5.d.ts:1076
Inherited from
Section titled “Inherited from”Error.stackstackTraceLimit
Section titled “stackTraceLimit”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.
Inherited from
Section titled “Inherited from”Error.stackTraceLimitMethods
Section titled “Methods”captureStackTrace()
Section titled “captureStackTrace()”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();Parameters
Section titled “Parameters”targetObject
Section titled “targetObject”object
constructorOpt?
Section titled “constructorOpt?”Function
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Error.captureStackTraceprepareStackTrace()
Section titled “prepareStackTrace()”static prepareStackTrace(err, stackTraces): any;Defined in: node_modules/@types/node/globals.d.ts:55
Parameters
Section titled “Parameters”Error
stackTraces
Section titled “stackTraces”CallSite[]
Returns
Section titled “Returns”any
https://v8.dev/docs/stack-trace-api#customizing-stack-traces
Inherited from
Section titled “Inherited from”Error.prepareStackTraceRegistryClient
Section titled “RegistryClient”Defined in: packages/registry/src/index.ts:286
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new RegistryClient(options?): RegistryClient;Defined in: packages/registry/src/index.ts:293
Parameters
Section titled “Parameters”options?
Section titled “options?”Returns
Section titled “Returns”Methods
Section titled “Methods”cancelAgent()
Section titled “cancelAgent()”cancelAgent(domain): Promise<LifecycleResult>;Defined in: packages/registry/src/index.ts:633
Parameters
Section titled “Parameters”domain
Section titled “domain”string
Returns
Section titled “Returns”Promise<LifecycleResult>
canonicalRecordContent()
Section titled “canonicalRecordContent()”canonicalRecordContent(domain, signingKid): Promise<CanonicalRecordContentResponse>;Defined in: packages/registry/src/index.ts:500
Parameters
Section titled “Parameters”domain
Section titled “domain”string
signingKid
Section titled “signingKid”string
Returns
Section titled “Returns”Promise<CanonicalRecordContentResponse>
getAgent()
Section titled “getAgent()”getAgent(domain): Promise<AgentRegistration | undefined>;Defined in: packages/registry/src/index.ts:433
Parameters
Section titled “Parameters”domain
Section titled “domain”string
Returns
Section titled “Returns”Promise<AgentRegistration | undefined>
getAgentStatus()
Section titled “getAgentStatus()”getAgentStatus(domain): Promise<AgentRegistration | undefined>;Defined in: packages/registry/src/index.ts:536
Parameters
Section titled “Parameters”domain
Section titled “domain”string
Returns
Section titled “Returns”Promise<AgentRegistration | undefined>
Deprecated
Section titled “Deprecated”Use getRegistration().
getIdentityRecordToSign()
Section titled “getIdentityRecordToSign()”getIdentityRecordToSign( domain, agentFQDN?, signingKid?): Promise<IdentityRecordToSign>;Defined in: packages/registry/src/index.ts:470
Parameters
Section titled “Parameters”domain
Section titled “domain”string
agentFQDN?
Section titled “agentFQDN?”string = domain
signingKid?
Section titled “signingKid?”string
Returns
Section titled “Returns”Promise<IdentityRecordToSign>
getRegistration()
Section titled “getRegistration()”getRegistration(domain): Promise<AgentRegistration | undefined>;Defined in: packages/registry/src/index.ts:513
Parameters
Section titled “Parameters”domain
Section titled “domain”string
Returns
Section titled “Returns”Promise<AgentRegistration | undefined>
prepareIssuance()
Section titled “prepareIssuance()”prepareIssuance(domain, idempotencyKey): Promise<PreparedRegistryEvent>;Defined in: packages/registry/src/index.ts:540
Parameters
Section titled “Parameters”domain
Section titled “domain”string
idempotencyKey
Section titled “idempotencyKey”string
Returns
Section titled “Returns”Promise<PreparedRegistryEvent>
prepareKeyRotation()
Section titled “prepareKeyRotation()”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.
Parameters
Section titled “Parameters”domain
Section titled “domain”string
request
Section titled “request”idempotencyKey
Section titled “idempotencyKey”string
Returns
Section titled “Returns”Promise<PreparedRegistryEvent>
publishTxtRecordWithSigner()
Section titled “publishTxtRecordWithSigner()”publishTxtRecordWithSigner( domain, sign, validation): Promise<PublishedRecord>;Defined in: packages/registry/src/index.ts:455
Parameters
Section titled “Parameters”domain
Section titled “domain”string
(canonical) => Promise<string | Uint8Array<ArrayBufferLike>>
validation
Section titled “validation”PublishTxtRecordValidationOptions
Returns
Section titled “Returns”Promise<PublishedRecord>
registerAgent()
Section titled “registerAgent()”registerAgent(input): Promise<AgentRegistration>;Defined in: packages/registry/src/index.ts:301
Parameters
Section titled “Parameters”Returns
Section titled “Returns”Promise<AgentRegistration>
registerInZone()
Section titled “registerInZone()”registerInZone(input): Promise<AgentRegistration>;Defined in: packages/registry/src/index.ts:364
Parameters
Section titled “Parameters”Omit<AgentRegistrationInput, "domain" | "managed"> & object
Returns
Section titled “Returns”Promise<AgentRegistration>
registerLiveAgent()
Section titled “registerLiveAgent()”registerLiveAgent(input, idempotencyKey): Promise<LiveProvisioningResponse>;Defined in: packages/registry/src/index.ts:329
Parameters
Section titled “Parameters”idempotencyKey
Section titled “idempotencyKey”string
Returns
Section titled “Returns”Promise<LiveProvisioningResponse>
registerSelfManagedAgent()
Section titled “registerSelfManagedAgent()”registerSelfManagedAgent(input): Promise<AgentRegistration>;Defined in: packages/registry/src/index.ts:360
Parameters
Section titled “Parameters”Omit<AgentRegistrationInput, "managed" | "zoneId"> & object
Returns
Section titled “Returns”Promise<AgentRegistration>
reissueLiveProof()
Section titled “reissueLiveProof()”reissueLiveProof( domain, requestId, publicKeyJwk): Promise<LiveProofReissueResponse>;Defined in: packages/registry/src/index.ts:408
Parameters
Section titled “Parameters”domain
Section titled “domain”string
requestId
Section titled “requestId”string
publicKeyJwk
Section titled “publicKeyJwk”Returns
Section titled “Returns”Promise<LiveProofReissueResponse>
retireAgent()
Section titled “retireAgent()”retireAgent(domain, agentId): Promise<LifecycleResult>;Defined in: packages/registry/src/index.ts:627
Parameters
Section titled “Parameters”domain
Section titled “domain”string
agentId
Section titled “agentId”string
Returns
Section titled “Returns”Promise<LifecycleResult>
revokeAgent()
Section titled “revokeAgent()”revokeAgent( domain, agentId, reason): Promise<LifecycleResult>;Defined in: packages/registry/src/index.ts:613
Parameters
Section titled “Parameters”domain
Section titled “domain”string
agentId
Section titled “agentId”string
reason
Section titled “reason”Returns
Section titled “Returns”Promise<LifecycleResult>
submitChallengeSignature()
Section titled “submitChallengeSignature()”submitChallengeSignature(domain, input): Promise<LifecycleResult>;Defined in: packages/registry/src/index.ts:379
Parameters
Section titled “Parameters”domain
Section titled “domain”string
Returns
Section titled “Returns”Promise<LifecycleResult>
submitIdentityRecordSignature()
Section titled “submitIdentityRecordSignature()”submitIdentityRecordSignature(domain, input): Promise<PublishedRecord>;Defined in: packages/registry/src/index.ts:505
Parameters
Section titled “Parameters”domain
Section titled “domain”string
SubmitIdentityRecordSignatureInput
Returns
Section titled “Returns”Promise<PublishedRecord>
submitLiveProof()
Section titled “submitLiveProof()”submitLiveProof(domain, input): Promise<LiveProofResponse>;Defined in: packages/registry/src/index.ts:387
Parameters
Section titled “Parameters”domain
Section titled “domain”string
Returns
Section titled “Returns”Promise<LiveProofResponse>
submitPreparedEvent()
Section titled “submitPreparedEvent()”submitPreparedEvent( domain, entryBytes, idempotencyKey): Promise<SubmissionResult>;Defined in: packages/registry/src/index.ts:571
Parameters
Section titled “Parameters”domain
Section titled “domain”string
entryBytes
Section titled “entryBytes”Uint8Array
idempotencyKey
Section titled “idempotencyKey”string
Returns
Section titled “Returns”Promise<SubmissionResult>
triggerVerification()
Section titled “triggerVerification()”triggerVerification(domain): Promise<AgentRegistration>;Defined in: packages/registry/src/index.ts:372
Parameters
Section titled “Parameters”domain
Section titled “domain”string
Returns
Section titled “Returns”Promise<AgentRegistration>
unregisterAgent()
Section titled “unregisterAgent()”unregisterAgent(domain): Promise<void>;Defined in: packages/registry/src/index.ts:639
Best-effort unregister; unsupported and already-absent agents are successful no-ops.
Parameters
Section titled “Parameters”domain
Section titled “domain”string
Returns
Section titled “Returns”Promise<void>
verifyAgent()
Section titled “verifyAgent()”verifyAgent(domain): Promise<AgentRegistration>;Defined in: packages/registry/src/index.ts:368
Parameters
Section titled “Parameters”domain
Section titled “domain”string
Returns
Section titled “Returns”Promise<AgentRegistration>
waitForStatus()
Section titled “waitForStatus()”waitForStatus( domain, predicate, options?): Promise<AgentRegistration>;Defined in: packages/registry/src/index.ts:437
Parameters
Section titled “Parameters”domain
Section titled “domain”string
predicate
Section titled “predicate”(status) => boolean
options?
Section titled “options?”intervalMs?
Section titled “intervalMs?”number
timeoutMs?
Section titled “timeoutMs?”number
Returns
Section titled “Returns”Promise<AgentRegistration>
RegistryWorkflowError
Section titled “RegistryWorkflowError”Defined in: packages/registry/src/index.ts:748
Extends
Section titled “Extends”Error
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new RegistryWorkflowError(message, registration): RegistryWorkflowError;Defined in: packages/registry/src/index.ts:751
Parameters
Section titled “Parameters”message
Section titled “message”string
registration
Section titled “registration”Returns
Section titled “Returns”Overrides
Section titled “Overrides”Error.constructorProperties
Section titled “Properties”cause?
Section titled “cause?”optional cause?: unknown;Defined in: node_modules/typescript/lib/lib.es2022.error.d.ts:24
Inherited from
Section titled “Inherited from”Error.causemessage
Section titled “message”message: string;Defined in: node_modules/typescript/lib/lib.es5.d.ts:1075
Inherited from
Section titled “Inherited from”Error.messagename: string;Defined in: node_modules/typescript/lib/lib.es5.d.ts:1074
Inherited from
Section titled “Inherited from”Error.nameregistration
Section titled “registration”readonly registration: AgentRegistration;Defined in: packages/registry/src/index.ts:749
stack?
Section titled “stack?”optional stack?: string;Defined in: node_modules/typescript/lib/lib.es5.d.ts:1076
Inherited from
Section titled “Inherited from”Error.stackstackTraceLimit
Section titled “stackTraceLimit”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.
Inherited from
Section titled “Inherited from”Error.stackTraceLimitMethods
Section titled “Methods”captureStackTrace()
Section titled “captureStackTrace()”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();Parameters
Section titled “Parameters”targetObject
Section titled “targetObject”object
constructorOpt?
Section titled “constructorOpt?”Function
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Error.captureStackTraceprepareStackTrace()
Section titled “prepareStackTrace()”static prepareStackTrace(err, stackTraces): any;Defined in: node_modules/@types/node/globals.d.ts:55
Parameters
Section titled “Parameters”Error
stackTraces
Section titled “stackTraces”CallSite[]
Returns
Section titled “Returns”any
https://v8.dev/docs/stack-trace-api#customizing-stack-traces
Inherited from
Section titled “Inherited from”Error.prepareStackTraceInterfaces
Section titled “Interfaces”AgentRegistration
Section titled “AgentRegistration”Defined in: packages/registry/src/index.ts:189
Properties
Section titled “Properties”dnsPublished?
Section titled “dnsPublished?”optional dnsPublished?: boolean;Defined in: packages/registry/src/index.ts:194
domain
Section titled “domain”domain: string;Defined in: packages/registry/src/index.ts:191
id: string;Defined in: packages/registry/src/index.ts:190
oidcIssuerUrl?
Section titled “oidcIssuerUrl?”optional oidcIssuerUrl?: string;Defined in: packages/registry/src/index.ts:197
protocolStatus?
Section titled “protocolStatus?”optional protocolStatus?: AgentStatus;Defined in: packages/registry/src/index.ts:195
publicationAuthority
Section titled “publicationAuthority”publicationAuthority: PublicationAuthority;Defined in: packages/registry/src/index.ts:192
publicationConfig?
Section titled “publicationConfig?”optional publicationConfig?: PublicationConfig;Defined in: packages/registry/src/index.ts:198
optional raw?: unknown;Defined in: packages/registry/src/index.ts:199
registryStatus
Section titled “registryStatus”registryStatus: string;Defined in: packages/registry/src/index.ts:193
registryUrl
Section titled “registryUrl”registryUrl: string;Defined in: packages/registry/src/index.ts:196
AgentRegistrationInput
Section titled “AgentRegistrationInput”Defined in: packages/registry/src/index.ts:39
Properties
Section titled “Properties”capabilitiesUrl?
Section titled “capabilitiesUrl?”optional capabilitiesUrl?: string;Defined in: packages/registry/src/index.ts:51
domain?
Section titled “domain?”optional domain?: string;Defined in: packages/registry/src/index.ts:40
environment?
Section titled “environment?”optional environment?: "production" | "sandbox";Defined in: packages/registry/src/index.ts:47
Registry environment. Defaults to production.
idempotencyKey
Section titled “idempotencyKey”idempotencyKey: string;Defined in: packages/registry/src/index.ts:53
Persist before registration; reuse with the same input when reconciling a failed attempt.
managed?
Section titled “managed?”optional managed?: boolean;Defined in: packages/registry/src/index.ts:49
Registry-managed publication. Requires zoneId.
metadata?
Section titled “metadata?”optional metadata?: Record<string, unknown>;Defined in: packages/registry/src/index.ts:44
Deprecated
Section titled “Deprecated”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.
publicKeyJwk?
Section titled “publicKeyJwk?”optional publicKeyJwk?: DnsIdJWK;Defined in: packages/registry/src/index.ts:45
zoneId?
Section titled “zoneId?”optional zoneId?: string;Defined in: packages/registry/src/index.ts:50
AwaitRegistryManagedPublicationOptions
Section titled “AwaitRegistryManagedPublicationOptions”Defined in: packages/registry/src/index.ts:738
Properties
Section titled “Properties”domain
Section titled “domain”domain: string;Defined in: packages/registry/src/index.ts:739
identityManager
Section titled “identityManager”identityManager: IdentityManager;Defined in: packages/registry/src/index.ts:742
The local identity’s manager; its protocol evidence (not acceptance) confirms publication.
intervalMs?
Section titled “intervalMs?”optional intervalMs?: number;Defined in: packages/registry/src/index.ts:744
publishProfile?
Section titled “publishProfile?”optional publishProfile?: string;Defined in: packages/registry/src/index.ts:743
registryClient
Section titled “registryClient”registryClient: RegistryClient;Defined in: packages/registry/src/index.ts:740
timeoutMs?
Section titled “timeoutMs?”optional timeoutMs?: number;Defined in: packages/registry/src/index.ts:745
CanonicalRecordContentResponse
Section titled “CanonicalRecordContentResponse”Defined in: packages/registry/src/index.ts:138
Properties
Section titled “Properties”canonical
Section titled “canonical”canonical: string;Defined in: packages/registry/src/index.ts:139
signingKid
Section titled “signingKid”signingKid: string;Defined in: packages/registry/src/index.ts:140
ChallengeSignatureInput
Section titled “ChallengeSignatureInput”Defined in: packages/registry/src/index.ts:156
Properties
Section titled “Properties”nonce: string;Defined in: packages/registry/src/index.ts:157
signature
Section titled “signature”signature: string | Uint8Array<ArrayBufferLike>;Defined in: packages/registry/src/index.ts:158
IdentityRecordToSign
Section titled “IdentityRecordToSign”Defined in: packages/registry/src/index.ts:143
Properties
Section titled “Properties”canonicalContent
Section titled “canonicalContent”canonicalContent: string;Defined in: packages/registry/src/index.ts:145
domain
Section titled “domain”domain: string;Defined in: packages/registry/src/index.ts:144
expiresAt?
Section titled “expiresAt?”optional expiresAt?: Date;Defined in: packages/registry/src/index.ts:148
optional raw?: unknown;Defined in: packages/registry/src/index.ts:149
signingKid
Section titled “signingKid”signingKid: string;Defined in: packages/registry/src/index.ts:146
optional tags?: Record<string, string>;Defined in: packages/registry/src/index.ts:147
KeyRotationPreparationRequest
Section titled “KeyRotationPreparationRequest”Defined in: packages/registry/src/index.ts:229
Properties
Section titled “Properties”previousKeyId
Section titled “previousKeyId”previousKeyId: string;Defined in: packages/registry/src/index.ts:230
publicKey
Section titled “publicKey”publicKey: DnsIdJWK;Defined in: packages/registry/src/index.ts:231
LifecycleResult
Section titled “LifecycleResult”Defined in: packages/registry/src/index.ts:182
Properties
Section titled “Properties”id: string;Defined in: packages/registry/src/index.ts:183
optional raw?: unknown;Defined in: packages/registry/src/index.ts:186
registryStatus
Section titled “registryStatus”registryStatus: string;Defined in: packages/registry/src/index.ts:184
statusNote?
Section titled “statusNote?”optional statusNote?: string;Defined in: packages/registry/src/index.ts:185
LiveAgentRegistrationInput
Section titled “LiveAgentRegistrationInput”Defined in: packages/registry/src/index.ts:69
Properties
Section titled “Properties”capabilitiesUrl?
Section titled “capabilitiesUrl?”optional capabilitiesUrl?: string;Defined in: packages/registry/src/index.ts:73
environment?
Section titled “environment?”optional environment?: "production";Defined in: packages/registry/src/index.ts:71
optional name?: string;Defined in: packages/registry/src/index.ts:72
publicKeyJwk
Section titled “publicKeyJwk”publicKeyJwk: DnsIdJWK;Defined in: packages/registry/src/index.ts:70
LiveChallengeTranscript
Section titled “LiveChallengeTranscript”Defined in: packages/registry/src/index.ts:76
Properties
Section titled “Properties”agentId
Section titled “agentId”agentId: string;Defined in: packages/registry/src/index.ts:79
expiresAt
Section titled “expiresAt”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
Section titled “protocol”protocol: "dnsid-live-provisioning-pop/v1";Defined in: packages/registry/src/index.ts:77
LiveProofInput
Section titled “LiveProofInput”Defined in: packages/registry/src/index.ts:161
Properties
Section titled “Properties”challenge
Section titled “challenge”challenge: string;Defined in: packages/registry/src/index.ts:163
publicKeyJwk
Section titled “publicKeyJwk”publicKeyJwk: DnsIdJWK;Defined in: packages/registry/src/index.ts:164
requestId
Section titled “requestId”requestId: string;Defined in: packages/registry/src/index.ts:162
signature
Section titled “signature”signature: string | Uint8Array<ArrayBufferLike>;Defined in: packages/registry/src/index.ts:165
LiveProofReissueResponse
Section titled “LiveProofReissueResponse”Defined in: packages/registry/src/index.ts:175
Extends
Section titled “Extends”Properties
Section titled “Properties”agentId
Section titled “agentId”agentId: string;Defined in: packages/registry/src/index.ts:170
Inherited from
Section titled “Inherited from”challenge
Section titled “challenge”challenge: string;Defined in: packages/registry/src/index.ts:176
challengeMessage
Section titled “challengeMessage”challengeMessage: string;Defined in: packages/registry/src/index.ts:177
challengeTranscript
Section titled “challengeTranscript”challengeTranscript: LiveChallengeTranscript;Defined in: packages/registry/src/index.ts:179
domain
Section titled “domain”domain: string;Defined in: packages/registry/src/index.ts:178
optional raw?: unknown;Defined in: packages/registry/src/index.ts:172
Inherited from
Section titled “Inherited from”requestId
Section titled “requestId”requestId: string;Defined in: packages/registry/src/index.ts:169
Inherited from
Section titled “Inherited from”status
Section titled “status”status: string;Defined in: packages/registry/src/index.ts:171
Inherited from
Section titled “Inherited from”LiveProofResponse
Section titled “LiveProofResponse”Defined in: packages/registry/src/index.ts:168
Extended by
Section titled “Extended by”Properties
Section titled “Properties”agentId
Section titled “agentId”agentId: string;Defined in: packages/registry/src/index.ts:170
optional raw?: unknown;Defined in: packages/registry/src/index.ts:172
requestId
Section titled “requestId”requestId: string;Defined in: packages/registry/src/index.ts:169
status
Section titled “status”status: string;Defined in: packages/registry/src/index.ts:171
LiveProvisioningResponse
Section titled “LiveProvisioningResponse”Defined in: packages/registry/src/index.ts:86
Properties
Section titled “Properties”agentId
Section titled “agentId”agentId: string;Defined in: packages/registry/src/index.ts:88
challenge
Section titled “challenge”challenge: string;Defined in: packages/registry/src/index.ts:90
challengeMessage
Section titled “challengeMessage”challengeMessage: string;Defined in: packages/registry/src/index.ts:91
challengeTranscript?
Section titled “challengeTranscript?”optional challengeTranscript?: LiveChallengeTranscript;Defined in: packages/registry/src/index.ts:94
domain?
Section titled “domain?”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
Section titled “requestId”requestId: string;Defined in: packages/registry/src/index.ts:87
status
Section titled “status”status: string;Defined in: packages/registry/src/index.ts:89
PreparedRegistryEvent
Section titled “PreparedRegistryEvent”Defined in: packages/registry/src/index.ts:224
Properties
Section titled “Properties”entryBytes
Section titled “entryBytes”entryBytes: Uint8Array;Defined in: packages/registry/src/index.ts:225
logReference
Section titled “logReference”logReference: string;Defined in: packages/registry/src/index.ts:226
PublicationConfig
Section titled “PublicationConfig”Defined in: packages/registry/src/index.ts:203
Authoritative profile-known values used by the registry to prepare an identity record.
Properties
Section titled “Properties”capabilitiesUrl?
Section titled “capabilitiesUrl?”optional capabilitiesUrl?: string;Defined in: packages/registry/src/index.ts:210
ekUrl: string;Defined in: packages/registry/src/index.ts:207
governanceId
Section titled “governanceId”governanceId: string;Defined in: packages/registry/src/index.ts:205
kuUrl: string;Defined in: packages/registry/src/index.ts:206
logRef
Section titled “logRef”logRef: string;Defined in: packages/registry/src/index.ts:208
maxKeyAge?
Section titled “maxKeyAge?”optional maxKeyAge?: MaxKeyAge;Defined in: packages/registry/src/index.ts:211
publishProfile
Section titled “publishProfile”publishProfile: string;Defined in: packages/registry/src/index.ts:204
statusUrl
Section titled “statusUrl”statusUrl: string;Defined in: packages/registry/src/index.ts:209
PublishClientControlledRecordOptions
Section titled “PublishClientControlledRecordOptions”Defined in: packages/registry/src/index.ts:713
Properties
Section titled “Properties”config
Section titled “config”config: IdentityConfig;Defined in: packages/registry/src/index.ts:714
effectiveMaxKeyAge?
Section titled “effectiveMaxKeyAge?”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
Section titled “entityKeyProvider”entityKeyProvider: KeyProvider;Defined in: packages/registry/src/index.ts:715
registryClient
Section titled “registryClient”registryClient: RegistryClient;Defined in: packages/registry/src/index.ts:716
PublishedRecord
Section titled “PublishedRecord”Defined in: packages/registry/src/index.ts:214
Properties
Section titled “Properties”domain
Section titled “domain”domain: string;Defined in: packages/registry/src/index.ts:215
ownerName
Section titled “ownerName”ownerName: string;Defined in: packages/registry/src/index.ts:216
protocolStatus?
Section titled “protocolStatus?”optional protocolStatus?: AgentStatus;Defined in: packages/registry/src/index.ts:220
publicationStatus
Section titled “publicationStatus”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
Section titled “txtRecord”txtRecord: string;Defined in: packages/registry/src/index.ts:217
PublishTxtRecordValidationOptions
Section titled “PublishTxtRecordValidationOptions”Defined in: packages/registry/src/index.ts:280
Properties
Section titled “Properties”agentFQDN?
Section titled “agentFQDN?”optional agentFQDN?: string;Defined in: packages/registry/src/index.ts:282
expectedCanonicalContent
Section titled “expectedCanonicalContent”expectedCanonicalContent: string;Defined in: packages/registry/src/index.ts:281
signingKid
Section titled “signingKid”signingKid: string;Defined in: packages/registry/src/index.ts:283
RegistryClientOptions
Section titled “RegistryClientOptions”Defined in: packages/registry/src/index.ts:105
Properties
Section titled “Properties”baseUrl?
Section titled “baseUrl?”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.
credentials?
Section titled “credentials?”optional credentials?: RequestCredentials;Defined in: packages/registry/src/index.ts:111
fetch?
Section titled “fetch?”optional fetch?: { (input, init?): Promise<Response>; (input, init?): Promise<Response>;};Defined in: packages/registry/src/index.ts:112
Call Signature
Section titled “Call Signature”(input, init?): Promise<Response>;Parameters
Section titled “Parameters”URL | RequestInfo
RequestInit
Returns
Section titled “Returns”Promise<Response>
Call Signature
Section titled “Call Signature”(input, init?): Promise<Response>;Parameters
Section titled “Parameters”string | URL | Request
RequestInit
Returns
Section titled “Returns”Promise<Response>
headers?
Section titled “headers?”optional headers?: HeadersInit;Defined in: packages/registry/src/index.ts:110
token?
Section titled “token?”optional token?: string;Defined in: packages/registry/src/index.ts:109
Owner API key or session token, sent as Authorization: Bearer.
SubmissionResult
Section titled “SubmissionResult”Defined in: packages/registry/src/index.ts:237
Properties
Section titled “Properties”entryHash
Section titled “entryHash”entryHash: string;Defined in: packages/registry/src/index.ts:239
errorCode?
Section titled “errorCode?”optional errorCode?: string;Defined in: packages/registry/src/index.ts:242
index?
Section titled “index?”optional index?: number;Defined in: packages/registry/src/index.ts:240
keyId?
Section titled “keyId?”optional keyId?: string;Defined in: packages/registry/src/index.ts:243
logRef?
Section titled “logRef?”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
SubmitIdentityRecordSignatureInput
Section titled “SubmitIdentityRecordSignatureInput”Defined in: packages/registry/src/index.ts:152
Properties
Section titled “Properties”signature
Section titled “signature”signature: string | Uint8Array<ArrayBufferLike>;Defined in: packages/registry/src/index.ts:153
Type Aliases
Section titled “Type Aliases”IdentitySignatureAlgorithm
Section titled “IdentitySignatureAlgorithm”type IdentitySignatureAlgorithm = "EdDSA" | "ES256";Defined in: packages/registry/src/index.ts:136
PreparedEventSubmissionErrorState
Section titled “PreparedEventSubmissionErrorState”type PreparedEventSubmissionErrorState = "pending" | "rejected" | "indeterminate";Defined in: packages/registry/src/index.ts:247
PublicationAuthority
Section titled “PublicationAuthority”type PublicationAuthority = "client" | "registry";Defined in: packages/registry/src/index.ts:37
PublishToRegistryOptions
Section titled “PublishToRegistryOptions”type PublishToRegistryOptions = PublishClientControlledRecordOptions;Defined in: packages/registry/src/index.ts:722
Deprecated
Section titled “Deprecated”Use PublishClientControlledRecordOptions.
RegistryRevocationReason
Section titled “RegistryRevocationReason”type RegistryRevocationReason = "owner_request" | "key_compromise";Defined in: packages/registry/src/index.ts:235
Owner-authorized reason codes accepted by the registry revoke API.
Variables
Section titled “Variables”DEFAULT_REGISTRY_URL
Section titled “DEFAULT_REGISTRY_URL”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).
Functions
Section titled “Functions”awaitRegistryManagedPublication()
Section titled “awaitRegistryManagedPublication()”function awaitRegistryManagedPublication(options): Promise<PublishedRecord>;Defined in: packages/registry/src/index.ts:794
Parameters
Section titled “Parameters”options
Section titled “options”AwaitRegistryManagedPublicationOptions
Returns
Section titled “Returns”Promise<PublishedRecord>
publishClientControlledRecord()
Section titled “publishClientControlledRecord()”function publishClientControlledRecord(opts): Promise<PublishedRecord>;Defined in: packages/registry/src/index.ts:758
Parameters
Section titled “Parameters”PublishClientControlledRecordOptions
Returns
Section titled “Returns”Promise<PublishedRecord>
publishToRegistry()
Section titled “publishToRegistry()”function publishToRegistry(opts): Promise<PublishedRecord>;Defined in: packages/registry/src/index.ts:790
Parameters
Section titled “Parameters”PublishClientControlledRecordOptions
Returns
Section titled “Returns”Promise<PublishedRecord>
Deprecated
Section titled “Deprecated”Use publishClientControlledRecord().
required()
Section titled “required()”function required(name, values): string;Defined in: packages/registry/src/index.ts:987
Parameters
Section titled “Parameters”string
values
Section titled “values”Record<string, string | undefined>
Returns
Section titled “Returns”string
requiredInt()
Section titled “requiredInt()”function requiredInt(name, values): number;Defined in: packages/registry/src/index.ts:992
Parameters
Section titled “Parameters”string
values
Section titled “values”Record<string, string | undefined>
Returns
Section titled “Returns”number