flagKey; the product name is control point.
Quickstart
Install, initialize, evaluate a control point, record an outcome, and shut down — offline first, with real APIs.
SDKs
Five packages share one architecture: FireweaveProvider and FireweaveClient sit on FireweaveRuntime, which talks to a BackendAdapter.Node.js, Bun, and Deno
@fireweaveai/sdk — controlPoints, registerTarget. npm latest is 2.1.0; pin it. 2.0.0 still has PostHog / ./posthog.Python
fireweave — snake_case control_points and register_target. PyPI 0.1.0: pip install 'fireweave[openfeature]'.Go
github.com/FireWeave-HQ/fireweave-sdk/sdks/go — Flags().Evaluate only. No registerTarget on master.Java
ai.fireweave:* — evaluate / boolean and string helpers. No env auto-read; close() does not flush.Browser
@fireweaveai/web-sdk — synchronous reads, identify, STALE on prefetch timeout. npm 2.1.0; no env.Compatibility
Type split, adapter matrix, and language gaps (register, namespaces, flush).
What you can do
These capabilities are implemented in the five packages (language differences are called out on the SDK pages):- Evaluate boolean, string, numeric, and object decisions. Evaluation returns a default on failure and does not throw.
- OpenFeature providers in every language, so call sites can use
getBooleanValue/ language equivalents withflagKey. - Targets — Node
registerTarget, Pythonregister_target, Webidentify. Go and Java have no registration API; passtargetingKey(and attributes) on each evaluate. - Releases —
setContext/start/complete/fail. - Exposures —
record/flush. Evaluate-path emission is opt-in (sendExposuredefaults false). - Signals — health, error, metric, and outcome (
recordOutcome/ language equivalent). - Capabilities —
capabilities.get()reports what this build and adapter can do. Guardrails are a typed stub (guardrails: false).
This site does not document wrap workflows,
fw.isOn, working client-side guardrails, or OpenFeature Tracking (spec §6). Those are absent or unverified against the SDK.Architecture and concepts
How it works
Evaluate, register, capture — the runtime path without console ramp or wrap stories.
Architecture
Provider + Client → Runtime → Adapter, lifecycle states, and the three fw-server paths.
Core concepts
Control points, targeting, releases, exposures, signals, capabilities, adapters.
OpenFeature
Providers, resolvers, and the
flagKey boundary. Extensions stay on FireweaveClient.Production, troubleshooting, reference
Configuration and auth
FW_API_URL, FW_PROJECT_API_KEY, Bearer auth. Java and Web do not read the environment.Lifecycle
Initialize, READY / STALE, shutdown. Java
close() does not flush exposures.Errors
Fifteen error kinds and how they map onto OpenFeature codes.
Troubleshooting
Defaults that look like “off,” missing targeting keys, and Go/Java checkout installs.
Package index
Package names, peers, and what is actually published.
Node 2.0 → 2.1
Breaking changes from Node 2.0.0 (PostHog /
./posthog) to published 2.1.0.