@pact-protocol/sdk
v0.5.0
Published
PACT Protocol — TypeScript SDK for agent identity, delegation, trust, and commitments
Maintainers
Readme
@pact-protocol/sdk
TypeScript SDK for the PACT Protocol (Protocol for Agent Credentials and Trust).
Installation
npm install @pact-protocol/sdkQuick Start
import { Agent, Mandate } from '@pact-protocol/sdk';
// Create an agent identity
const agent = Agent.create({ name: 'Wren' });
console.log(agent.did); // did:pact:z6Mk...
// Issue a delegation mandate
const mandate = Mandate.issue({
issuer: human.did,
subject: agent.did,
scope: ['trade:read', 'trade:execute'],
expiresInDays: 90,
}).sign(human.keyPair);
// Create a trust attestation
const attestation = agent.attest(peer.did, {
interactionType: 'task_completion',
outcome: 'success',
metrics: { accuracy: 0.95 },
});Features
- Agent Identity — Ed25519 keypair →
did:pact:z6Mk... - Delegation Mandates — signed credentials with scope narrowing and chain validation
- Trust Attestations — first-hand behavioral statements with selective disclosure
- Agent Handshake — challenge-response mutual identity verification
- Agent Pacts — dual-signed commitment agreements with lifecycle management
- Trust Evaluation — configurable trust scoring with recency decay
API
Core Classes
Agent— create identities, issue attestations, participate in handshakesMandate— delegation credentials with chain validationAttestation/AttestationStore— behavioral attestations with storagePact— dual-signed commitment agreementsTrustEvaluator— trust computation from attestations
Crypto Utilities
KeyPair— Ed25519 key managementcanonicalJson— deterministic JSON serialization (cross-SDK compatible)signJson/verifySignedJson— sign and verify JSON payloadsmultibaseEncode/multibaseDecode— W3C multibase encoding
DID Utilities
createDid/didToPublicKey— DID creation and resolutioncreateDidDocument/resolveDidDocument— W3C DID DocumentsvalidateDid— DID format validation
Running Tests
npm install
npm testDependencies
- @noble/ed25519 — audited, zero-dependency Ed25519
- @noble/hashes — SHA-512 for Ed25519
License
Apache 2.0
