open-index/open-npm huggingface dataset:
npm package: @pact-protocol/sdk
Description: PACT Protocol — TypeScript SDK for agent identity, delegation, trust, and commitments
Author: Brenden Kauhl
Latest version: 0.5.0

# @pact-protocol/sdk

TypeScript SDK for the **PACT Protocol** (Protocol for Agent Credentials and Trust).

## Installation

```bash
npm install @pact-protocol/sdk
```

## Quick Start

```typescript
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 handshakes
- `Mandate` — delegation credentials with chain validation
- `Attestation` / `AttestationStore` — behavioral attestations with storage
- `Pact` — dual-signed commitment agreements
- `TrustEvaluator` — trust computation from attestations

### Crypto Utilities

- `KeyPair` — Ed25519 key management
- `canonicalJson` — deterministic JSON serialization (cross-SDK compatible)
- `signJson` / `verifySignedJson` — sign and verify JSON payloads
- `multibaseEncode` / `multibaseDecode` — W3C multibase encoding

### DID Utilities

- `createDid` / `didToPublicKey` — DID creation and resolution
- `createDidDocument` / `resolveDidDocument` — W3C DID Documents
- `validateDid` — DID format validation

## Running Tests

```bash
npm install
npm test
```

## Dependencies

- **@noble/ed25519** — audited, zero-dependency Ed25519
- **@noble/hashes** — SHA-512 for Ed25519

## License

Apache 2.0