PromStack
🌐
start

docs:sdkRef.title

docs:sdkRef.desc

docs:sdkRef.install.title

npm / yarn / pnpm
npm install @promstack-1/sdk
# or
yarn add @promstack-1/sdk
# or
pnpm add @promstack-1/sdk

docs:sdkRef.init.title

TypeScript
import { PromStackClient } from '@promstack-1/sdk';

// Basic setup
const client = new PromStackClient('your-api-key');

// Full options
const client = new PromStackClient({
  apiKey: 'your-api-key',
  baseUrl: 'https://promstack.com',
  timeout: 30000,
  retries: 3,
  enableCache: true,
  cacheTTL: 60000,
});

docs:sdkRef.methods

docs:sdkRef.categories.prompts

getPrompts(options?)

docs:sdkRef.methodDescs.getPrompts

Returns: Promise<Prompt[]>

getPrompt(id)

docs:sdkRef.methodDescs.getPrompt

Returns: Promise<Prompt>

getPromptVersion(id, version)

docs:sdkRef.methodDescs.getPromptVersion

Returns: Promise<PromptVersion>

getPromptVersions(id)

NEW

docs:sdkRef.methodDescs.getPromptVersions

Returns: Promise<PromptVersion[]>

searchPrompts(query, options?)

NEW

docs:sdkRef.methodDescs.searchPrompts

Returns: Promise<SearchResult>

docs:sdkRef.categories.categoryTags

getCategories()

NEW

docs:sdkRef.methodDescs.getCategories

Returns: Promise<Category[]>

getTags()

NEW

docs:sdkRef.methodDescs.getTags

Returns: Promise<Tag[]>

docs:sdkRef.categories.runs

recordRun(input)

docs:sdkRef.methodDescs.recordRun

Returns: Promise<{ id: number }>

getRuns(options?)

NEW

docs:sdkRef.methodDescs.getRuns

Returns: Promise<Run[]>

batchRecordRuns(inputs)

NEW

docs:sdkRef.methodDescs.batchRecordRuns

Returns: Promise<BatchRunResult>

docs:sdkRef.categories.project

getProject()

docs:sdkRef.methodDescs.getProject

Returns: Promise<Project>

getStats()

docs:sdkRef.methodDescs.getStats

Returns: Promise<ProjectStats>

docs:sdkRef.categories.agents

getAgents()

NEW

docs:sdkRef.methodDescs.getAgents

Returns: Promise<Agent[]>

getAgent(id)

NEW

docs:sdkRef.methodDescs.getAgent

Returns: Promise<Agent>

chatWithAgent(id, input)

NEW

docs:sdkRef.methodDescs.chatWithAgent

Returns: Promise<AgentChatResponse>

sendMessage(id, message, sessionId?)

NEW

docs:sdkRef.methodDescs.sendMessage

Returns: Promise<AgentChatResponse>

docs:sdkRef.categories.workflows

getWorkflows()

NEW

docs:sdkRef.methodDescs.getWorkflows

Returns: Promise<Workflow[]>

getWorkflow(id)

NEW

docs:sdkRef.methodDescs.getWorkflow

Returns: Promise<Workflow>

runWorkflow(id, input)

NEW

docs:sdkRef.methodDescs.runWorkflow

Returns: Promise<WorkflowRunResponse>

docs:sdkRef.categories.utilities

renderPrompt(template, variables)

docs:sdkRef.methodDescs.renderPrompt

Returns: string

parseVariables(template)

docs:sdkRef.methodDescs.parseVariables

Returns: string[]

validateVariables(template, variables)

docs:sdkRef.methodDescs.validateVariables

Returns: boolean

createRunner(options)

docs:sdkRef.methodDescs.createRunner

Returns: PromptRunner

docs:sdkRef.examples.title

docs:sdkRef.examples.prompts
import { PromStackClient } from '@promstack-1/sdk';

const client = new PromStackClient({
  apiKey: process.env.PROMSTACK_API_KEY!,
  baseUrl: 'https://promstack.com',
});

// Get prompts
const prompts = await client.getPrompts({ category: 'writing' });
const prompt = prompts[0];

// Render template
const content = client.renderPrompt(prompt.content, {
  name: 'John',
  topic: 'AI'
});

// Record result
const { id } = await client.recordRun({
  promptId: prompt.id,
  response: 'AI response...',
  provider: 'openai',
  variables: { name: 'John', topic: 'AI' }
});
docs:sdkRef.examples.agents
// Get agents
const agents = await client.getAgents();

// Chat with agent
const chat = await client.sendMessage(agents[0].id, 'Hello!');
console.log('Response:', chat.message);

// Continue conversation
const followUp = await client.sendMessage(
  agents[0].id, 
  'Tell me more',
  chat.sessionId
);
docs:sdkRef.examples.workflows
// Get workflows
const workflows = await client.getWorkflows();

// Run workflow
const result = await client.runWorkflow(workflows[0].id, {
  topic: 'AI trends',
  format: 'blog'
});

console.log('Status:', result.status);
console.log('Output:', result.output);