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);
}