TypeScript SDK
Installation
npm install @promptlayer-hub/sdk
# or
pnpm add @promptlayer-hub/sdk
Works in Node.js 18+ and modern browsers (via bundlers).
Quick start
import { Client } from '@promptlayer-hub/sdk';
const client = new Client({ apiKey: process.env.PH_API_KEY });
const result = await client.run({
promptName: 'support/greeting',
variables: { name: 'Alice' },
});
console.log(result.response);
console.log(result.costUsd);
Types
interface RunResult {
id: string;
response: string;
tokens: { input: number; output: number };
costUsd: number;
latencyMs: number;
model: string;
}
interface Prompt {
name: string;
template: string;
version: number;
model: string;
parameters: Record<string, unknown>;
createdAt: string;
updatedAt: string;
}
Error handling
import { Client, RateLimitError, APIError } from '@promptlayer-hub/sdk';
try {
const result = await client.run({ promptName: 'greeting' });
} catch (err) {
if (err instanceof RateLimitError) {
console.log(`Rate limited, retry after ${err.retryAfter}s`);
} else if (err instanceof APIError) {
console.log(`API error: ${err.code} — ${err.message}`);
}
}
Streaming
const stream = client.runStream({
promptName: 'support/greeting',
variables: { name: 'Alice' },
});
for await (const chunk of stream) {
process.stdout.write(chunk.delta);
}