GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||||||||||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||||||||||||||||||||||||||||||||||
GeezerVison is showing void.cloud — Resource Clients | Void Resource Clients KV Imported from
|
| Provider prefix | Env var |
|---|---|
openai | OPENAI_API_KEY |
anthropic | ANTHROPIC_API_KEY |
google-ai-studio | GOOGLE_API_KEY |
deepseek | DEEPSEEK_API_KEY |
groq | GROQ_API_KEY |
mistral | MISTRAL_API_KEY |
grok | GROK_API_KEY |
openrouter | OPENROUTER_API_KEY |
perplexity | PERPLEXITY_API_KEY |
cohere | COHERE_API_KEY |
cerebras | CEREBRAS_API_KEY |
huggingface | HUGGINGFACE_API_KEY |
replicate | REPLICATE_API_KEY |
baseten | BASETEN_API_KEY |
cartesia | CARTESIA_API_KEY |
deepgram | DEEPGRAM_API_KEY |
elevenlabs | ELEVENLABS_API_KEY |
fal | FAL_API_KEY |
ideogram | IDEOGRAM_API_KEY |
parallel | PARALLEL_API_KEY |
Imported from "void/isr".
revalidate(options) Revalidate ISR-cached pages on demand. In local development this is a no-op because there is no edge ISR cache.
import { revalidate } from 'void/isr';
await revalidate({ paths: ['/', '/blog/hello'] });
await revalidate({ all: true });With routing.typedRoutes, each path must match one of your routes. Build paths with routeUrl(), or use as RouteUrl for paths you validate at runtime. Without this setting, RouteUrl is string.
Signature:
function revalidate(options: { paths?: RouteUrl[]; all?: boolean }): Promise<void>;Imported from "void/log".
logger Structured logger that emits one JSON line per call so deployed logs can be filtered by message and fields.
import { logger } from 'void/log';
logger.info('checkout completed', { orderId, userId });
logger.error('webhook failed', { provider: 'stripe', attempt: 3 });
const log = logger.child({ component: 'queue', queue: 'tasks' });
log.info('task.started', { taskId });Methods: logger.error(message, fields?), logger.warn(message, fields?), logger.info(message, fields?), logger.child(fields).