agentlock-sdk-node
v0.4.0
Published
AgentLock Node.js SDK for AI agent integration
Readme
agentlock-sdk-node
Node.js SDK for integrating AI agents with AgentLock.
Installation
pnpm add agentlock-sdk-node
# or: npm i agentlock-sdk-node / yarn add agentlock-sdk-nodeQuick start
import { AgentLockClient, generateKeypair } from 'agentlock-sdk-node';
const client = new AgentLockClient({
baseUrl: 'https://app.agentlock.net',
agentId: process.env.AGENT_ID!,
privateKey: process.env.AGENT_PRIVATE_KEY!,
});
const result = await client.requestAction({
action_type: 'write',
tool: 'http',
payload: {
url: 'https://httpbin.org/post',
method: 'POST',
body: { message: 'Hello from Node!' },
},
});
if (result.status === 'PENDING') {
const final = await client.awaitResult(result.request_id);
console.log(final);
}generateKeypair() produces an Ed25519 keypair — register the public key in
the dashboard and keep the private key in your agent environment.
SSH sessions
For multi-command workflows, open a session once and reuse it:
const session = await client.ssh.open({ credentialId: 'cred-1' });
try {
await session.run('uname -a');
await session.run('uptime');
} finally {
await session.close();
}session.close() is idempotent — safe to call from finally.
To re-attach to a session opened in another process:
const sessions = await client.ssh.list();
const s = sessions.find(s => s.host === 'ops-prod-01');
if (s) await s.run('tail -n 50 /var/log/nginx/access.log');client.sshRun() (one-shot) is @deprecated but still supported for true single-command use — it sends ssh.run directly so policy commandRules can still auto-allow. For multi-command workflows, use client.ssh.open() to amortize the connection cost.
Browser snapshot
const snap = await client.browserSnapshot(sessionId);
// { html, url, title, screenshot? }HTTP requests
const res = await client.httpRequest({
method: 'POST',
url: 'https://api.example.com/items',
body: { name: 'x' },
credentialId: 'cred-api',
});
// { status, headers, body, durationMs }