For agents: an index of these docs is at /docs/llms.txt, and this page as markdown is at /docs/api.md.
API reference
Every export path and symbol.
Generated by bun run scripts/gen-api.ts. Read this instead of crawling the repo.
Every import path below is exact and copy-pasteable.
@dapplelight/signet-ai
Provider-agnostic structured LLM calls with budget caps, caching and failover.
| Import | Exports | What |
|---|---|---|
@dapplelight/signet-ai |
costOf, createBudgetLedger, BudgetLedger, cacheKey, fingerprintSchema, memoryCache, … | re-exports budget, cache, errors, extract, fake, types |
@dapplelight/signet-ai/budget |
costOf, createBudgetLedger, BudgetLedger | |
@dapplelight/signet-ai/cache |
cacheKey, fingerprintSchema, memoryCache | |
@dapplelight/signet-ai/errors |
AiError, BUDGET_EXCEEDED, ALL_PROVIDERS_FAILED, SCHEMA_INVALID, NO_PROVIDERS, isTransient | |
@dapplelight/signet-ai/extract |
createExtractor, ExtractConfig, ExtractArgs, Extractor | |
@dapplelight/signet-ai/fake |
fakeProvider | |
@dapplelight/signet-ai/jev |
JEV_DEFAULT_MODEL, JEV_DEFAULT_MIN_CONFIDENCE, JEV_DEFAULT_TIMEOUT_MS, JEV_DEFAULT_BASE_URL, createJev, JevJson, … | Jev (TypeSafe System One): a classifier that returns a typed decision, never text |
@dapplelight/signet-ai/providers/ai-sdk |
aiSdkProvider, workersAiProvider, AiSdkProviderOptions | Vercel AI SDK adapter |
@dapplelight/signet-config
Signet's shared Biome preset and TypeScript bases.
| Import | Exports | What |
|---|---|---|
@dapplelight/signet-config/biome |
— | |
@dapplelight/signet-config/biome.json |
— | |
@dapplelight/signet-config/package.json |
— | |
@dapplelight/signet-config/tsconfig/*.json |
— |
@dapplelight/signet-lib
Signet client primitives. API client and the wire contract.
| Import | Exports | What |
|---|---|---|
@dapplelight/signet-lib/analytics |
beaconTransport, createAnalytics, noopAnalytics, EventProps, AnalyticsEvent, Transport, … | Client-side event tracking |
@dapplelight/signet-lib/api |
qs, createApiClient, retryAfterSeconds, toApiError, ApiClientOptions, QueryValue, … | re-exports client, codes, contract, copy, errors |
@dapplelight/signet-lib/api/query-client |
isRetryable, queryDefaults, onAuthErrorRedirect, QueryDefaultsOptions | TanStack Query defaults |
@dapplelight/signet-lib/crypto |
decryptFields, DecryptFieldsOptions, DecryptFieldsResult | Fail-closed field decryption for apps that encrypt user data on the client (app-a's private mode) |
@dapplelight/signet-lib/form |
errorMessages, firstError, applyServerErrors, clearServerErrors, submitWithServerErrors, FieldError, … | TanStack Form integration |
@dapplelight/signet-lib/format |
createCurrencyFormatter, createCompactCurrencyFormatter, formatPercent, createDateFormatter, createDateShortFormatter, createDateTimeFormatter, … | Currency, number and date formatting, plus date arithmetic (./date.ts) |
@dapplelight/signet-server
Signet backend primitives. Auth first.
| Import | Exports | What |
|---|---|---|
@dapplelight/signet-server/analytics |
LIMITS, truncateBytes, toDataPoint, createAnalyticsEngine, AnalyticsEngineDataset, TrackedEvent, … | re-exports engine, ingest |
@dapplelight/signet-server/analytics/engine |
LIMITS, truncateBytes, toDataPoint, createAnalyticsEngine, AnalyticsEngineDataset, TrackedEvent, … | Cloudflare Workers Analytics Engine writer |
@dapplelight/signet-server/analytics/ingest |
registerIngest, cloudflareEnrichment, IngestOptions | Hono ingest route for browser events |
@dapplelight/signet-server/auth |
readBearer, verifySharedToken, sha256Hex, createApiToken, hashIncomingToken, betterAuthDefaults, … | re-exports bearer, better-auth, guards, passcode, session |
@dapplelight/signet-server/auth/bearer |
readBearer, verifySharedToken, sha256Hex, createApiToken, hashIncomingToken | Bearer-token auth for machine callers — CLIs, MCP servers, webhooks, cron |
@dapplelight/signet-server/auth/better-auth |
betterAuthDefaults, socialProviders, BetterAuthEnv, BetterAuthDefaultsOptions | Opinionated defaults for Better Auth |
@dapplelight/signet-server/auth/guards |
isDevAuthEnabled, requireEnv, checkEnv | Configuration guards |
@dapplelight/signet-server/auth/hono |
requireSession, requireSharedToken, requireAuth, DualAuthOptions | Hono middleware |
@dapplelight/signet-server/auth/passcode |
hashPasscode, verifyPasscode | Shared-passcode auth |
@dapplelight/signet-server/auth/session |
timingSafeEqual, issueSession, verifySession, sessionCookie, clearCookie, readSessionCookie, … | Stateless HMAC-signed session cookie |
@dapplelight/signet-server/env |
initRuntimeEnv, getRuntimeEnv, resetRuntimeEnv, createEnv, CreateEnvOptions | re-exports runtime, schema |
@dapplelight/signet-server/env/runtime |
initRuntimeEnv, getRuntimeEnv, resetRuntimeEnv | Runtime environment access that works on both Workers and Node/Bun |
@dapplelight/signet-server/env/schema |
createEnv, CreateEnvOptions | Validate environment once, lazily, against a Zod schema |
@dapplelight/signet-server/http |
defaultRequestId, ApiException, STATUS_CODES, errorHandler, ErrorHandlerOptions, ApiErrorStatus, … | re-exports errors, validate |
@dapplelight/signet-server/http/errors |
defaultRequestId, ApiException, STATUS_CODES, errorHandler, ErrorHandlerOptions, ApiErrorStatus | Server half of the error envelope |
@dapplelight/signet-server/http/validate |
parseBody, parseQuery, parseParams | Zod request validation |
@dapplelight/signet-server/mcp |
toolResult, defineTool, createMcpServer, ToolAnnotations, ToolContext, CallToolResult, … | re-exports server |
@dapplelight/signet-server/mcp/hono |
mcpHandler, mountMcp, McpHandlerOptions | Serve MCP over streamable HTTP from a Hono route |
@dapplelight/signet-server/middleware |
corsMiddleware, CorsOptions, memoryStore, clientIp, rateLimit, RateLimitResult, … | re-exports cors, rate-limit, request-id, secure-headers |
@dapplelight/signet-server/middleware/cors |
corsMiddleware, CorsOptions | CORS |
@dapplelight/signet-server/middleware/rate-limit |
memoryStore, clientIp, rateLimit, RateLimitResult, RateLimitStore, RateLimitOptions | Rate limiting with a pluggable store |
@dapplelight/signet-server/middleware/rate-limit-do |
RateLimitCounter, durableObjectStore, RateLimitCounterState, RateLimitNamespace | Exact rate limiting on Cloudflare Workers, backed by a Durable Object |
@dapplelight/signet-server/middleware/request-id |
requestId, RequestIdOptions | |
@dapplelight/signet-server/middleware/secure-headers |
STRICT_CSP, DOCS_CSP, secureHeaders, SecureHeadersOptions | Security headers |
@dapplelight/signet-server/notify |
createEmailer, EmailConfig, EmailMessage, isGone, createPusher, PushSubscription, … | re-exports email, push, telegram |
@dapplelight/signet-server/notify/email |
createEmailer, EmailConfig, EmailMessage | Transactional email via Resend |
@dapplelight/signet-server/notify/push |
isGone, createPusher, PushSubscription, PushPayload, PushSender, PushConfig | Web push fan-out with dead-subscription pruning |
@dapplelight/signet-server/notify/telegram |
escapeMarkdown, createTelegram, TelegramConfig | Telegram messages |
@dapplelight/signet-server/oauth-rs |
SUPPORTED_ALGS, createJwksCache, Jwk, SupportedAlg, JwksOptions, JwksCache, … | re-exports jwks, metadata, verify |
@dapplelight/signet-server/oauth-rs/hono |
METADATA_PATH, registerProtectedResourceMetadata, requireToken, requireScopes, RequireTokenOptions | Hono bindings for the resource server |
@dapplelight/signet-server/oauth-rs/jwks |
SUPPORTED_ALGS, createJwksCache, Jwk, SupportedAlg, JwksOptions, JwksCache | JWKS fetching, caching and rotation |
@dapplelight/signet-server/oauth-rs/metadata |
protectedResourceMetadata, wwwAuthenticate, ProtectedResourceMetadata, MetadataOptions | Protected Resource Metadata — RFC 9728 |
@dapplelight/signet-server/oauth-rs/verify |
TokenError, scopesOf, createTokenVerifier, Claims, VerifiedToken, VerifierOptions, … | OAuth 2.1 access token verification for a RESOURCE SERVER |
@dapplelight/signet-server/observability/logger |
LEVELS, createLogger, redactFields, LevelName, LevelSetting, LogFields, … | Structured JSON logger with pino's call shape and redaction by default |
@dapplelight/signet-server/observability/sentry |
redactSecrets, createSentry, SentryConfig, SentryEvent, Sentry | Sentry reporting over the Store HTTP API |
@dapplelight/signet-tokens
Signet design tokens. One theme file per design system; all themes satisfy CONTRACT.md.
| Import | Exports | What |
|---|---|---|
@dapplelight/signet-tokens/base.css |
— | stylesheet |
@dapplelight/signet-tokens/cinematic.css |
— | stylesheet |
@dapplelight/signet-tokens/editorial.css |
— | stylesheet |
@dapplelight/signet-tokens/finance.css |
— | stylesheet |
@dapplelight/signet-ui
Signet component kit — token-driven React primitives.
import { X } from "@dapplelight/signet-ui/components/<name>" — 41 components:
alert · answer-headline · badge · button · calendar · card · chart · checkbox · combobox · data-table · dialog · drawer · dropdown-menu · emoji-picker · empty-state · error-state · input · input-group · input-otp · kbd · label · markdown · pagination · pill-group · popover · privacy-mask · progress · responsive-sheet · search-input · select · shortcuts · skeleton · slider · stat-strip · switch · table · tabs · textarea · theme-provider · theme-toggle · tooltip
Barrel import also works: import { Button, Card } from "@dapplelight/signet-ui".
| Import | Exports | What |
|---|---|---|
@dapplelight/signet-ui |
— | |
@dapplelight/signet-ui/domain/trend-chip |
— | |
@dapplelight/signet-ui/hooks/use-media-query |
DESKTOP_QUERY, useMediaQuery | |
@dapplelight/signet-ui/utils |
TYPE_RAMP, cn |
Not here
scheduled.ts (app-a cron map — product-specific) · @dapplelight/signet-blocks (invite
blocks, deliberately not built) · a UI form.tsx (use @dapplelight/signet-lib/form).