AbsoluteJS

@absolutejs/agent-reputation

@absolutejs/agent-reputationv0.2.3betaAI

Evidence-based scoped AI agent reputation with W3C Verifiable Credentials 2.0 adapters.

#Installation

BASH
bun add @absolutejs/agent-reputation

#Capabilities

Overview

Portable, evidence-based reputation for AI agents without a gameable universal trust score.

Reputation is always assessed for an explicit scope. Evidence has a stable subject and issuer, bounded value and confidence, issuance and expiration, optional receipt digest, verification status, and revocation state. Assessment uses a neutral Bayesian prior, time decay, configurable issuer trust, and a cap per issuer so one party cannot inflate a score by repeating claims.

Include agentReputationDrizzleSchema in the host's normal Drizzle migrations. The package-owned RC4 store works with Postgres providers including Neon, generates insert/select TypeBoxes, and uses a Bun-portable JSONB codec. The structural SQL adapter remains available for compatibility.

Show 5 more

Unsigned or unverifiable evidence is denied by default. allowUnverified is an explicit local-development escape hatch. Revoked and expired evidence is never scored, evidence from each issuer is capped, old evidence decays, and evidence from one scope is never silently reused in another.

createAgentReputationCredential() maps an assessment to the W3C Verifiable Credentials Data Model 2.0. Signing and verification remain adapters so callers can use the W3C JOSE/COSE Recommendation, Data Integrity proofs, SD-JWT, a DID stack, or an enterprise trust service without provider lock-in. The package publishes a stable remote JSON-LD context at .

Standards:

Outcomes

What you can build

Build on the supported package contract

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

Hardening checklist

Production guidance

Make every external boundary explicitPin the deployed @absolutejs/agent-reputation 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-reputation 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-reputation quick start

Partial snippet

# @absolutejs/agent-reputation

TS
import { createAgentReputation } from "@absolutejs/agent-reputation";
import {
  agentReputationDrizzleSchema,
  createDrizzleAgentReputationStore,
} from "@absolutejs/agent-reputation/drizzle";

const reputation = createAgentReputation({
  store: createDrizzleAgentReputationStore({ db }),
  verifyEvidence: (evidence) => verifyIssuerReceipt(evidence),
  issuerWeights: { "did:web:certifier.example": 1 },
});

await reputation.record(signedConformanceEvidence);
const assessment = await reputation.assess(
  "https://agents.example/calendar",
  "calendar.scheduling",
);

#Public entry points

Supported entry points declared by this package manifest.

Package entry point declared in package.json.

@absolutejs/agent-reputation@absolutejs/agent-reputation/drizzle@absolutejs/agent-reputation/manifest@absolutejs/agent-reputation/manifest.json

#Package commands

Scripts declared by this package manifest.

bun run buildrm -rf dist && bun build src/index.ts src/drizzle.ts src/manifest.ts --outdir dist --target=bun --external @absolutejs/manifest --external @sinclair/typebox --external drizzle-orm --external 'drizzle-orm/*' --external drizzle-typebox && tsc -p tsconfig.build.json && absolute-manifest emit
bun run check:packagebun run format && bun 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.

16 symbols
AgentReputationEvidencetypePermalinkSource
TS
type AgentReputationEvidence = {
    confidence: number;
    evidenceId: string;
    expiresAt?: string;
    issuedAt: string;
    issuer: string;
    kind: "conformance" | "execution" | "policy-violation" | "security-incident" | "dispute-resolution" | (string & {});
    receiptDigest?: string;
    scope: string;
    subject: string;
    value: number;
};
Exported from @absolutejs/agent-reputation