TypeScript SDK
Установка
npm install @promptlayer-hub/sdk
# или
pnpm add @promptlayer-hub/sdk
Работает в Node.js 18+ и современных браузерах (через бандлеры).
Быстрый старт
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);
Типы
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;
}
Обработка ошибок
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}`);
}
}
Стриминг
const stream = client.runStream({
promptName: 'support/greeting',
variables: { name: 'Alice' },
});
for await (const chunk of stream) {
process.stdout.write(chunk.delta);
}