@pulse-compute/grip
v1.0.0-beta.7
Published
Package-owned GRIP/Fanout lowering facade and compiler integration for Pulse.
Readme
@pulse-compute/grip
Support tier: Supported provider/extension surface Audience: Applications using stateless GRIP/Fanout HTTP framing and request-bound broadcast behavior. Install directly: Yes, only when the application uses GRIP/Fanout behavior. Supported entry points:
@pulse-compute/gripStability: The package root has bounded JavaScript and Native HTTP-framing realization plus configured Node/Fastly broadcast; /pulsewasm remains compatibility-only. npm:@pulse-compute/gripCanonical documentation: Package guideThis release-status block is generated from the synchronized
Pulse 1.0.0-beta.7package policy.
The normal package root provides stateless GRIP/Fanout HTTP framing:
import { grip } from '@pulse-compute/grip'
if (grip.isWebSocket(ctx.req)) {
return grip.handoff({ channel: 'events:demo' })
}
return grip.subscribe(new Response(null), {
channel: 'events:demo',
mode: 'stream',
})Outbound publication is the package's request-bound broadcast API and effect:
await grip.broadcast(ctx, {
channel: 'events:demo',
data: { type: 'message', value: 'hello' },
})Pulse owns no WebSocket object or connection lifecycle. An external gateway owns connections, fan-out, backpressure, and reconnection. Cross-target conformance covers the bounded JavaScript/Native framing surface and configured Node/Fastly broadcast providers. Native lowering requires supported static options and messages; unsupported expressions fail without target fallback.
@pulse-compute/grip/pulsewasm remains a compatibility Native facade for
existing fixtures and is not recommended for new applications. Migration
guidance is published at
https://pulsecompute.io/v1.0.0-beta.7/guides/compatibility-imports/.
Broadcast configuration is provider-owned. It requires an explicit publish/control endpoint and may name a bearer-token secret reference; it never discovers an ambient endpoint or credential. Public gateway URLs and ingress routes are separate concerns. This bounded realization is included in both generally available JavaScript targets.
