Skip to content

agentnet-ai/ant-resolver

ant-resolver

Resolution service for AgentNet that provides deterministic retrieval of registered node and capsule data.

Status: Alpha / Reference Implementation Docs: https://www.agent-net.ai Org: https://github.com/agentnet-ai

What it does

ant-resolver is the resolver component of the AgentNet reference architecture.

It is responsible for deterministic resolution and retrieval of registered node and capsule records from configured storage and cache layers.

In a local development environment, it typically runs alongside ant-registrar for identity coordination, with ant-capsulizer as an upstream data source, and ant-orchestrator as a downstream consumer.

Where it fits

Within the canonical AgentNet flow:

  1. Capsulizer
  2. Registrar
  3. Resolver
  4. Orchestrator

This repository provides the resolver role.

Quickstart

npm install

Run commands:

  • npm run dev
  • npm start
  • npm run reset:dev
  • npm run db:verify
  • npm run bootstrap:demo
  • npm run demo:refresh

Optional utilities:

  • npm run db:migrate
  • npm run db:schema-check
  • npm run init:schema
  • npm run seed:testdata
  • npm run search:backfill
  • npm run encapsulate:agentnet
  • npm run trust:issue:demo
  • npm run trust:revalidate

Configuration

Use .env.example:

cp .env.example .env

Owner Ref Fields

  • Resolve endpoints require owner_id (or ownerId) for request-time owner scoping
  • owner_slug / ownerSlug is optional alias metadata only and is not accepted as sole scope for resolve endpoints
  • Canonical internal key: owner_id
  • owner_slug is treated as alias-only

Owner Slug Fallback Status

Resolver owner normalization is complete for active request-time owner scoping paths (nodes and capsules). owner_slug now serves alias compatibility only for resolve endpoint metadata; scoping is owner-id-only.

Current slug-related indexes:

  • idx_nodes_owner_slug_id - legacy slug lookup/index support (non-primary path)
  • idx_nodes_owner_domain - legacy slug/domain support
  • idx_nodes_registrar_owner_slug - identity cache alias backfill/inspection support
  • uq_owners_owner_slug - active alias integrity constraint (unique human-readable alias; not identity key)

Safe to evaluate for later drop (not in this step):

  • idx_nodes_owner_slug_id
  • idx_nodes_owner_domain
  • idx_nodes_registrar_owner_slug

Key management

Public keys may be committed. Private keys must never be committed.

Generate local RSA keys:

openssl genpkey -algorithm RSA -out keys/resolver_private.pem -pkeyopt rsa_keygen_bits:2048
openssl pkey -in keys/resolver_private.pem -pubout -out keys/resolver_public.pem

Signing key load priority:

  1. RESOLVER_PRIVATE_KEY_PEM
  2. RESOLVER_PRIVATE_KEY_PATH
  3. local dev fallback keys/resolver_private.pem

Verification key load priority:

  1. RESOLVER_PUBLIC_KEY_PEM
  2. RESOLVER_PUBLIC_KEY_PATH
  3. local dev fallback keys/resolver_public.pem

Example env usage:

export RESOLVER_PRIVATE_KEY_PATH=keys/resolver_private.pem
export RESOLVER_PUBLIC_KEY_PATH=keys/resolver_public.pem

Or inline PEM content:

export RESOLVER_PRIVATE_KEY_PEM="$(cat keys/resolver_private.pem)"
export RESOLVER_PUBLIC_KEY_PEM="$(cat keys/resolver_public.pem)"

Status

Status: Alpha / Reference Implementation
These components are intended to demonstrate ANS-aligned architecture patterns.

Related Repositories

Other core AgentNet reference components:

Contributing

These repositories are reference implementations of the AgentNet architecture aligned to ANS Core v2.0. Issues for bug reports and spec questions are welcome. We do not accept unsolicited pull requests. If you would like to contribute code, please open an issue first to discuss scope, or coordinate via a partner fork.

License

Apache License 2.0. See LICENSE for details.

About

AgentNet Node & Capsule Resolution Service

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors