agentoath
v0.2.0
Published
The open protocol for AI agent identity, trust, and notarization.
Downloads
28
Maintainers
Readme
AgentOath JS SDK
The open protocol for AI agent identity, trust, and notarization.
Installation
npm install agentoathRequires Node.js >= 18.0.0.
Quick Start
const { TrustAgent, TrustReceipt } = require('agentoath');
// Create a new Agent identity
const agent = TrustAgent.create({
name: 'My AI Assistant',
capabilities: ['chat', 'search'],
platform: 'custom',
});
// Save identity (JSON-serializable)
const keyData = agent.toJSON();
// fs.writeFileSync('agent_key.json', JSON.stringify(keyData, null, 2));
// Load identity
const loaded = TrustAgent.fromJSON(keyData);
// Sign a trust receipt
const receipt = agent.signReceipt({
toAgent: 'did:trust:agent:bbb...',
action: 'collaboration',
rating: 9,
description: 'Built a great report',
});
// Verify a receipt
const isValid = receipt.verifyFromSignature(otherAgent.publicKey);
// Calculate trust score
const score = agent.calculateTrustScore(receipts);
console.log(`Trust Score: ${score.overall}`);ESM Support
import { TrustAgent, TrustReceipt } from 'agentoath';TypeScript
Full TypeScript type definitions are included.
import { TrustAgent, TrustReceipt, TrustScore } from 'agentoath';
const agent: TrustAgent = TrustAgent.create({ name: 'TypedAgent' });
const receipt: TrustReceipt = agent.signReceipt({ toAgent: 'did:trust:agent:bbb...' });API Reference
TrustAgent
| Method | Description |
|--------|-------------|
| TrustAgent.create({ name, capabilities, platform }) | Create a new Agent |
| TrustAgent.fromJSON(data) | Load from a parsed JSON object |
| agent.toJSON() | Export identity (includes private key) |
| agent.signReceipt({ toAgent, action, rating }) | Sign a Trust Receipt |
| agent.counterSignReceipt(receipt) | Add a counter-signature |
| agent.verifyReceipt(receipt, fromPublicKey) | Verify a receipt |
| agent.calculateTrustScore(receipts) | Compute trust score |
| agent.did | The Agent's DID |
| agent.publicKeyFormatted | Public key as ed25519:{base64} |
TrustReceipt
| Method | Description |
|--------|-------------|
| TrustReceipt.create({ fromAgentDid, fromSecretKey, toAgentDid }) | Create and sign |
| TrustReceipt.fromDict(data) | Create from a plain object |
| receipt.counterSign(toSecretKey) | Add counter-signature |
| receipt.verifyFromSignature(publicKey) | Verify initiator's signature |
| receipt.verifyCounterSignature(publicKey) | Verify counter-signature |
| TrustReceipt.verify(receiptDict, fromPublicKey) | Static verification |
Utilities
| Function | Description |
|----------|-------------|
| computeDid(publicKeyBytes) | Compute DID from public key |
| signDict(secretKey, data, exclude) | Sign a dict with canonical JSON |
| verifyDict(publicKey, data, sig, exclude) | Verify a dict signature |
| canonicalJson(data, exclude) | Deterministic JSON serialization |
| calculateTrustScore(receipts, opts) | Compute trust score |
Cross-Platform Compatibility
The JS SDK produces the same canonical JSON, DIDs, and signatures as the Python SDK. Receipts signed by one SDK can be verified by the other.
Development
# Install dependencies
npm install
# Run tests
npm testLinks
- Website: agentoath.ai
- GitHub: github.com/AgentOath/agentoath
License
Apache 2.0
