Patterns
The SDK supports multiple integration styles, but they should not be read as equally important. This section helps readers choose the right path and keep the main story clear: start with the direct client flow, then move into specialized delivery paths only when they match the app architecture.
Quick answer
Start with Node direct. It is the clearest first path for most teams because it covers the core SDK surface around jobs, decisions, generation events, and beacons.
Use the other pages as specialized follow-ups: browser for the tested browser entry, callback for webhook-style delivery, and proxy compatibility for systems that stay at the HTTP boundary.
Choose your path
Recommended reading order
Node direct
COREDirect Node/server usage of @csl/wrapper-sdk and CslClient for job creation, decision reads, generation reporting, and beacon sending.
This is the best first path for apps that want the released wrapper client surface with the smallest integration footprint.
@csl/wrapper-sdkcreateJob()getDecision()
Browser entry
TESTEDDirect browser usage of @csl/wrapper-sdk/browser with the same CslClient surface.
It fits when the browser can talk to CSL directly and your token-delivery plus CORS setup supports that boundary.
@csl/wrapper-sdk/browserdecisionDelivery: "auto"- job creation and decision retrieval in browser code
Callback delivery
ADVANCEDA server-side path where CSL posts the decision to a callback_url.
It fits apps that want signed webhook-style decision delivery and control over callback handling on the server side.
decisionDelivery: "callback"callback_urlincreateJob()x-csl-signatureat the callback boundary
Proxy compatibility
COMPATIBLEAn HTTP/API path where the app sends OpenAI-compatible or Anthropic-compatible requests directly to CSL proxy routes.
It fits systems that already emit upstream-shaped HTTP requests and do not want to start with CslClient.
/v1/proxy/openai/v1/chat/completions/v1/proxy/anthropic/v1/messages- direct HTTP instead of
CslClient
Read this section in context
If you are new to the SDK, do not start here in isolation. Read the core flow first, then return to the pattern that matches your delivery architecture.
Ask about integration
Start with Node direct for the recommended production-ready integration path.