← Reference

Underlying SDK

The adapter layer beneath s-m-r-t

The HAppy VErtical SDK provides stable getX() interfaces for infrastructure such as AI, databases, caches, secrets, and files.

Ask for a capability, then choose a provider

getAI(), getDatabase(), getCache(), getSecretStore(), and getFilesystem() return stable interfaces. Applications can pass explicit typed configuration or let the package read its documented HAVE_* environment values.

adapters.ts
typescript
import { getAI } from '@happyvertical/ai';
import { getDatabase } from '@happyvertical/sql';

const ai = await getAI({ type: 'anthropic' });
const db = await getDatabase({ type: 'postgres' });

const reply = await ai.message('Summarize this record');
await db.insert('summaries', { content: reply.content });

Install only the providers you use

Vendor SDKs remain optional peer dependencies where possible. The application depends on the adapter contract and adds the concrete database, model, cache, secret, or file provider it actually deploys.

The SDK also works without s-m-r-t

The adapter packages are independently useful. s-m-r-t composes them into its model, agent, persistence, and web runtimes, but ordinary TypeScript applications can call them directly.