Lightweight client for Vampire Slayer analyze API
npm install @dorsal.ai/vampireslayerbash
npm install @dorsal.ai/vampireslayer
`
Quick Start
`typescript
import { VampireSlayer } from '@dorsal.ai/vampireslayer';
const client = new VampireSlayer({
apiKey: 'your-api-key-here'
});
const result = await client.analyze({
transcripts: ['Hello, this is my first transcript'],
actionType: 'Sales Slay'
});
console.log(result);
`
Configuration
$3
`typescript
new VampireSlayer({
apiKey: string; // Required: Your API key
fetchImpl?: typeof fetch; // Optional: Custom fetch implementation
timeoutMs?: number; // Optional: Request timeout in ms (default: 60000)
})
`
Example with custom timeout:
`typescript
const client = new VampireSlayer({
apiKey: 'your-api-key',
timeoutMs: 30000 // 30 seconds
});
`
Usage
$3
The analyze method accepts transcripts in two formats:
#### 1. Array Format (Simple)
`typescript
await client.analyze({
transcripts: [
'First transcript content',
'Second transcript content'
],
actionType: 'Sales Slay' // Optional, by default it's Business Slay
});
`
#### 2. Array Format (Detailed)
`typescript
await client.analyze({
transcripts: [
{
content: 'Transcript content',
source: 'meeting-1', // Optional
index: 0 // Optional
},
{
content: 'Another transcript',
source: 'meeting-2'
}
],
actionType: 'Sales Slay'
});
`
#### 3. Object Format (Named Transcripts)
`typescript
await client.analyze({
transcripts: {
'meeting-monday': 'Monday meeting transcript',
'meeting-tuesday': 'Tuesday meeting transcript',
'interview-candidate-1': 'Interview transcript'
},
actionType: 'Sales Slay'
});
`
The object format automatically converts to the detailed array format with source names.
Error Handling
`typescript
try {
const result = await client.analyze({
transcripts: ['Hello world']
});
console.log(result);
} catch (error) {
console.error('Analysis failed:', error.message);
}
`
TypeScript Support
VampireSlayer is written in TypeScript and includes full type definitions.
`typescript
import { VampireSlayer, VampireSlayerInit, AnalyzeInput } from 'vampireslayer';
const config: VampireSlayerInit = {
apiKey: process.env.VAMPIRE_SLAYER_API_KEY!,
timeoutMs: 45000
};
const client = new VampireSlayer(config);
`
Requirements
- Node.js >= 18 (for native fetch support)
- For older Node versions, provide a custom fetchImpl (e.g., node-fetch)
Build from Source
`bash
Install dependencies
npm install
Build the package
npm run build
Clean build artifacts
npm run clean
``