Shared error types thrown across every @flowhub/* package, so callers handle one error shape instead of one per provider.
← Back to root README · Part of the FlowKit toolkit.
pnpm add @flowhub/errorsnew FlowKitError(message: string, options: { code: string; cause?: unknown })| Property | Type | Description |
|---|---|---|
code |
string |
Machine-readable error code, e.g. "PROVIDER_NOT_FOUND" |
cause |
unknown |
The underlying error, if any |
new ProviderNotFoundError(kind: string, provider: string)Thrown by every *Registry.get(name) across the toolkit (SmsRegistry, OAuthRegistry, StorageRegistry, EmailRegistry, QueueRegistry, CacheRegistry, WebhookRegistry) when name was never register()-ed. code is "PROVIDER_NOT_FOUND".
import { ProviderNotFoundError } from "@flowhub/errors";
try {
await sms.send("mailgun", to, body); // wrong module's provider name, common typo
} catch (err) {
if (err instanceof ProviderNotFoundError) {
return res.status(400).json({ error: `Unknown provider: ${err.message}` });
}
throw err;
}import { FlowKitError } from "@flowhub/errors";
class RateLimitError extends FlowKitError {
constructor(retryAfterMs: number) {
super(`Rate limit exceeded, retry after ${retryAfterMs}ms`, { code: "RATE_LIMITED" });
}
}Used by @flowhub/sms, @flowhub/oauth, @flowhub/email, @flowhub/storage, @flowhub/webhook, @flowhub/queue, and @flowhub/cache.