AbsoluteJS

@absolutejs/agent-discovery

@absolutejs/agent-discoveryv0.2.4betaAI

Signed, searchable, provider-neutral AI agent discovery with live schemas and A2A, MCP, Arazzo, and WebMCP interfaces.

#Installation

BASH
bun add @absolutejs/agent-discovery

#Capabilities

Overview

Signed, searchable, provider-neutral discovery for AI agents.

The canonical descriptor schema is live at . Version 0.2 also understands Arazzo and WebMCP interfaces. The original absolutejs.com schema identifier remains verifiable during migration, but new documents emitted with ABSOLUTE_AGENT_SCHEMA use the live immutable URL.

One descriptor publishes an agent through several interoperable surfaces:

Show 7 more

/.well-known/absolute-agent.json — full signed capability descriptor

/.well-known/absolute-agents.json — multi-agent index

/.well-known/agent-card.json — A2A 1.0 projection

/.well-known/absolute-agent.jsonld — Schema.org JSON-LD projection

/agents.txt — concise model- and human-readable index

/agents-sitemap.xml — crawler index

Descriptors expose capabilities, effects, scopes, interfaces, authentication metadata, languages, payment protocols, examples, publisher identity, and key discovery. They are signed through a KMS/HSM-ready seam and can be indexed by the in-memory or PostgreSQL registry without choosing an auth or model provider.

Secure crawling

fetchAgentDocument requires an injected fetch implementation. In production, use @absolutejs/egress so DNS resolution, redirects, private networks, byte limits, and credential injection remain host-controlled. Discovery never treats publisher text as instructions or proof of authorization.

Registry

createAgentRegistry verifies signatures at publication time and provides deterministic filtered search. createPostgresAgentRegistry stores the complete signed document, verification result, freshness timestamps, and a full-text index. Apply agentDiscoveryPostgresSchemaSql() through your migration system first.

createAgentRegistryHandler serves registry metadata at /.well-known/absolute-agent-registry.json and search, lookup, and submission at /v1/agents. Publishing is deny-by-default until the host supplies an authorizePublish hook; accepted submissions still have to pass signature and descriptor verification. Registries can advertise federation feeds so independent indexes can exchange verified records without introducing a central provider.

Outcomes

What you can build

Build on the supported package contract

Use @absolutejs/agent-discovery through its supported public entry points.

Hardening checklist

Production guidance

Make every external boundary explicitPin the deployed @absolutejs/agent-discovery version, replace example or memory-backed dependencies with durable implementations, bound external calls, protect credentials, and emit enough evidence to retry or recover safely.

Follow in order

Troubleshooting path

1
Trace from the first failed boundary
Reproduce the smallest canonical @absolutejs/agent-discovery example, confirm the supported entry point and version in the API explorer, then inspect the first boundary that did not produce its documented result.

#@absolutejs/agent-discovery quick start

Partial snippet

# @absolutejs/agent-discovery

TS
import {
  createAgentDiscoveryHandler,
  signAgentDocument,
} from "@absolutejs/agent-discovery";

const signed = await signAgentDocument(document, kmsSigner);
const discover = createAgentDiscoveryHandler({ documents: [signed] });

export default { fetch: discover };

#Public entry points

Supported entry points declared by this package manifest.

Package entry point declared in package.json.

@absolutejs/agent-discovery@absolutejs/agent-discovery/manifest@absolutejs/agent-discovery/manifest.json

#Package commands

Scripts declared by this package manifest.

bun run buildrm -rf dist && bun build src/index.ts src/manifest.ts --outdir dist --target=bun --external @sinclair/typebox && tsc -p tsconfig.build.json && absolute-manifest emit
bun run check:packagebun run typecheck && bun run test && bun run build
bun run formatprettier --write "./**/*.{ts,json,md,yml}"
bun run testbun test
bun run typechecktsc --noEmit

#API reference

Search the declarations exported by the current package type files. Expand a symbol to inspect its source-backed signature.

53 symbols
ABSOLUTE_AGENT_SCHEMAvaluePermalinkSource
TS
const ABSOLUTE_AGENT_SCHEMA: "https://absolutejs.github.io/agents/schemas/agent-discovery/v1.json";
Exported from @absolutejs/agent-discovery