@tmpdb/sdk
v0.2.3
Published
Spin up disposable databases instantly for testing, prototyping, and rapid iteration
Maintainers
Readme
@tmpdb/sdk
TypeScript SDK for tmpdb - zero-setup databases for testing, prototyping, and AI agents.
Installation
npm install @tmpdb/sdkQuick Start
import { TmpDBClient } from '@tmpdb/sdk';
const client = new TmpDBClient();
// Create database
const db = await client.create('postgres', { ttl: 6 });
console.log('Ready:', db.connection);
// Check status
const info = await client.info(db.id, db.secret_token!);
console.log('Status:', info.status);
// Clean up when done
await client.delete(db.id, db.secret_token!);API
client.create(type, options?)
Create and wait for database to be ready.
const db = await client.create('postgres', { ttl: 24 });
// Returns: Database with connection string + secret_tokenParameters:
type:'postgres' | 'mysql' | 'mongodb' | 'redis'options.ttl: Hours to live (1-48, default: 24)
client.info(id, secretToken)
Get database information.
const info = await client.info('db_abc123', 'your-secret-token');
// Returns: DatabaseInfo (status, connection, metadata)Parameters:
id: Database IDsecretToken: Secret token from database creation
client.delete(id, secretToken)
Delete database permanently.
await client.delete('db_abc123', 'secret_token_here');Parameters:
id: Database IDsecretToken: Secret token from database creation
client.extend(id, secretToken, hours?)
Extend database expiration.
await client.extend('db_abc123', 'secret_token_here', 48);Parameters:
id: Database IDsecretToken: Secret token from database creationhours: Hours to extend (default: 24, max: 48)
client.export(id, secretToken, format?)
Export database data.
const jsonData = await client.export('db_abc123', 'secret_token_here', 'json');
const sqlDump = await client.export('db_abc123', 'secret_token_here', 'sql');Parameters:
id: Database IDsecretToken: Secret token from database creationformat: Export format ('json'or'sql', default:'json')
Database Types
- postgres - PostgreSQL
- mysql - MySQL
- mongodb - MongoDB
- redis - Redis
Error Handling
import { TmpDBApiError } from '@tmpdb/sdk';
try {
const db = await client.create('postgres');
} catch (error) {
if (error instanceof TmpDBApiError) {
console.log('API Error:', error.message, error.status);
}
}Security
All database operations (except creation) require the secret token returned during database creation. Store tokens securely and never expose them in client-side code.
// Good - Store token securely
const db = await client.create('postgres');
process.env.SECRET_TOKEN = db.secret_token;
// Bad - Don't expose in client code
const hardcodedToken = 'abc123...';TypeScript Support
Full TypeScript support.
License
MIT
