Public .pulse config
env.pulse
Free, Creator, Pro
Read non-secret user-configurable defaults without teaching flat public config like env.MODEL.
Usage: Put public values in .pulse and read them as env.pulse.NAME inside server-side Pulses.
const units = env.pulse.DEFAULT_UNITS || "metric";
const queue = env.pulse.SUPPORT_QUEUE_NAME || "support";
return { units, queue };
Dispatch proxy + encrypted secret storage
env.secrets
Creator, Pro
Call external APIs without turning your Pulse code into a plain secret viewer.
Usage: Use env.fetch with env.secrets.bearer/header/query so secret values stay policy-bound.
if (!env.secrets.has("PROVIDER_API_KEY")) {
return { error: "Configure PROVIDER_API_KEY first" };
}
const response = await env.fetch("https://api.example.com/v1/messages", {
method: "POST",
auth: env.secrets.bearer("PROVIDER_API_KEY"),
});
return await response.json();
Provider-scoped account capability via dispatch
env.connections
Free (1), Creator (3), Pro (unlimited)
Use connected provider accounts without manually storing provider access tokens inside user code.
Usage: Use setup-reviewed connected accounts for provider calls.
const github = env.connections.use("github");
const me = await github.fetch("/user", {
headers: { "User-Agent": "vibecodr-pulse" },
});
return await me.json();
Policy outbound fetch
env.fetch
Free, Creator, Pro
Perform outbound HTTP requests through the server-side trust boundary instead of from the client-side vibe.
Usage: Use env.fetch for public outbound calls that should follow platform egress policy.
const res = await env.fetch("https://api.weather.com/v1/forecast?city=SF");
if (!res.ok) {
return { error: "Upstream error: " + res.status };
}
return await res.json();
Pulse State operation coordination
env.state
Free, Creator, Pro
Coordinate backend work across Pulse calls with stable operation keys.
Usage: Declare named state resources in the descriptor, then use runOnce(), claim(), keyFromRequest(), and guarded effects for stable operation keys. retentionTtlSeconds controls duplicate-memory retention for the resource and is capped by plan. Vibecodr persists the coordination record in platform-owned durable storage, so cold starts do not erase it and idle retention mostly costs tiny stored metadata.
const key = await env.state.httpMutations.keyFromRequest(env.request);
return env.state.httpMutations.runOnce(key, async () => {
await chargeCustomer();
return { accepted: true };
});
Structured logs + sanitized request access
env.log + env.request
Free, Creator, Pro
Write request-scoped logs and inspect sanitized request metadata without platform credential headers.
Usage: Use env.log directly for structured runtime logging. env.waitUntil is only best-effort after-response work, not durable processing.
const requestUrl = new URL(env.request.url);
env.log.info("pulse.request", { path: requestUrl.pathname });
return { received: true, path: requestUrl.pathname };