Important
Community Preview — This npm package is a community preview release for testing and
evaluation only. It is not an official Microsoft-signed release. Official signed
packages under the @microsoft scope will be available in a future release.
TypeScript SDK for AgentMesh — a governance-first framework for multi-agent systems.
Provides agent identity (Ed25519 DIDs), trust scoring, policy evaluation, hash-chain audit logging, and a unified AgentMeshClient.
npm install @agentmesh/sdkimport { AgentMeshClient } from '@agentmesh/sdk';
const client = AgentMeshClient.create('my-agent', {
capabilities: ['data.read', 'data.write'],
policyRules: [
{ action: 'data.read', effect: 'allow' },
{ action: 'data.write', effect: 'allow', conditions: { role: 'admin' } },
{ action: '*', effect: 'deny' },
],
});
// Execute an action through the governance pipeline
const result = await client.executeWithGovernance('data.read');
console.log(result.decision); // 'allow'
console.log(result.trustScore); // { overall: 0.5, tier: 'Provisional', ... }
// Verify the audit chain
console.log(client.audit.verify()); // trueManage agent identities built on Ed25519 key pairs.
import { AgentIdentity } from '@agentmesh/sdk';
const identity = AgentIdentity.generate('agent-1', ['read']);
const signature = identity.sign(new TextEncoder().encode('hello'));
identity.verify(new TextEncoder().encode('hello'), signature); // true
// Serialization
const json = identity.toJSON();
const restored = AgentIdentity.fromJSON(json);Track and score trust for peer agents.
import { TrustManager } from '@agentmesh/sdk';
const tm = new TrustManager({ initialScore: 0.5, decayFactor: 0.95 });
tm.recordSuccess('peer-1', 0.05);
tm.recordFailure('peer-1', 0.1);
const score = tm.getTrustScore('peer-1');
// { overall: 0.45, tier: 'Provisional', dimensions: { ... } }Rule-based policy evaluation with conditions and YAML support.
import { PolicyEngine } from '@agentmesh/sdk';
const engine = new PolicyEngine([
{ action: 'data.*', effect: 'allow' },
{ action: 'admin.*', effect: 'deny' },
]);
engine.evaluate('data.read'); // 'allow'
engine.evaluate('admin.nuke'); // 'deny'
engine.evaluate('unknown'); // 'deny' (default)
// Load additional rules from YAML
await engine.loadFromYAML('./policy.yaml');Append-only audit log with hash-chain integrity verification.
import { AuditLogger } from '@agentmesh/sdk';
const logger = new AuditLogger();
logger.log({ agentId: 'agent-1', action: 'data.read', decision: 'allow' });
logger.log({ agentId: 'agent-1', action: 'data.write', decision: 'deny' });
logger.verify(); // true — chain is intact
logger.getEntries({ agentId: 'agent-1' }); // filtered results
logger.exportJSON(); // full log as JSON stringUnified client tying identity, trust, policy, and audit together.
import { AgentMeshClient } from '@agentmesh/sdk';
const client = AgentMeshClient.create('my-agent', {
policyRules: [{ action: 'data.*', effect: 'allow' }],
});
const result = await client.executeWithGovernance('data.read', { user: 'alice' });
// result: { decision, trustScore, auditEntry, executionTime }npm install
npm run build # Compile TypeScript
npm test # Run Jest tests
npm run lint # Lint with ESLintApache-2.0 — see LICENSE.