Relay SDK

Use Relay from your app or agent runtime

npm: @neurarelay/sdk@0.1.1

Send proposed actions to Relay and get back the decision your runtime can use before anything changes. Production use routes to hosted or enterprise Relay for protected action families, retention, audit exports, integrations, support, and Agent Traffic Intelligence.

First SDK path

Install, review, decide, route

Install

Install the current npm package

Send review

Send the proposed action

Read decision

Read decision and trace refs

Route execution

Route from the decision

Install

Install the current npm package

Run the current SDK example

Run
REPO=neurarelay/relay-action-card
git clone https://github.com/$REPO.git
cd relay-action-card
npm install
npm run example:sdk
npm run example:sdk:authority-routing
npm run example:sdk:a2a
npm run verify:sdk-stable-consumer

Send review

Return clear decision before execution

Keep direct Relay primary; adapters stay protected

Resolve call
const { createNeuraRelaySdk } =
  await import("@neurarelay/sdk");

const relay = createNeuraRelaySdk({
  baseUrl: "https://www.neurarelay.com"
});

const result = await relay.resolve.resolve({
  action_card: actionCard
});

const receipt = result.decision_receipt;

console.log(receipt?.decision);
console.log(receipt?.trace_ref);

Trust routing

Route decisions by Registry trust

Hold demo refs until Registry trust is ready

Trust routing
npm run example:sdk:authority-routing
npm run verify:sdk-authority-routing

const ready =
  receipt.decision === "proceed" &&
  receipt.authority_context?.source ===
    "registry_reference_packet";

const verified =
  receipt.authority_context
    ?.registry_validation_status === "ready";

const route = ready && verified
  ? "ready_for_developer_owned_execution"
  : "hold_for_registry_backed_authority";

Flow-aware decision fields

Decision-bound source-to-sink refs

Inspect flow refs before your runtime acts

Flow fields
const flow =
  receipt.authority_decision_engine
    ?.flow_authority;

const exactCallReady =
  flow?.exact_call_binding
    .valid_only_for_exact_call === true;

console.log(flow?.source_refs);
console.log(flow?.sink_ref);
console.log(flow?.purpose_ref);
console.log(exactCallReady);

A2A

Discover publicly, call only with controlled access

Protected access is required before messages can run

Protected A2A
npm run example:sdk:a2a

RELAY_A2A_ACCESS_TOKEN=... \
  npm run example:sdk:a2a

npm run verify:a2a-authenticated-client

SDK surfaces

Optional protected helpers

Core client

Proposed action to decision

A2A helper

Protected A2A access

MCP helper

Protected MCP access

Trust refs

Agent refs, no payloads

Boundaries

The SDK packages the mechanism, not public token or trust issuance

Current package

Use npm latest for SDK proof

No token issuance

No public API keys or tokens

Runtime keeps execution

Decision returned. Runtime executes.

Public proof stays in GitHub

GitHub includes runnable SDK proof

Open SDK example