EVE + Generic TypeScript (Supported)

Compatibility: SUPPORTED — the generic TypeScript client is the validated integration surface for Node and the browser verifier. It governs tool calls via hosted mode and ships a browser-safe offline evidence verifier. The TypeScript SDK never signs and holds no secrets.

Use the generic TypeScript client when you control the tool call site in a Node service and can route the call through governance before the side effect.

What you get

  • Deterministic policy decision (ALLOW / BLOCK / MODIFY) before the tool executes, computed by deterministic policy code with no LLM in the decision path.
  • Offline, independent evidence verification in Node or the browser — verify a signed record without trusting the EVE server (Ed25519 public key required for asymmetric verification).
  • Fail-closed behavior: a service error results in BLOCK, never a silent permissive fallback.

Install (pilot / private)

The package @eve/coreguard (version 0.1.0-rc1, ESM, Node >= 18) is unpublished on npm (validated 2026-07-20; npm install @eve/coreguard does not resolve). During a pilot it is distributed privately (a tarball or an internal registry). The primary entry point is:

import { EVE } from "@eve/coreguard";

The TypeScript client governs via hosted mode. Embedded in-process governance is Python/service-only; the TS client throws SDK_TS_EMBEDDED_UNSUPPORTED if embedded mode is requested.

Govern a tool call

import { EVE } from "@eve/coreguard";

const eve = new EVE({ /* hosted endpoint config */ });

const decision = await eve.governToolCall({
  tool: "issue_refund",
  arguments: { accountId: "acct_1042", amountCents: 5000 },
  context: {
    tenantId: "tenant_demo",
    principalId: "agent_support_7",
    sessionId: "sess_2f9a",
  },
});

if (decision.action === "BLOCK") {
  // the underlying tool is not called
  console.log(decision.reasonCodes);
} else {
  await issueRefund({ accountId: "acct_1042", amountCents: 5000 });
}

Verify the evidence

import { verifyEvidence } from "@eve/coreguard";

// The signed evidence record for the decision is carried in decision.certificate.
const report = verifyEvidence(decision.certificate, { publicKeyPem });
if (!report.valid) throw new Error("evidence rejected");
// report.signature === "ed25519-valid" on a genuine Ed25519 record

Verification confirms integrity, signature, and schema. It proves the record is authentic and unaltered — not that the decision was correct.

Readiness

  • Generic TypeScript client @eve/coreguard 0.1.0-rc1: SUPPORTED for its client surface (govern via hosted mode, offline verify); the SDK core is RELEASE CANDIDATE WITH EXCLUSIONS.
  • Offline / cross-language evidence verification: SUPPORTED per the claims registry.
  • CoreGuard deterministic evaluation: PILOT_READY.

Limitations

  • ESM only; Node >= 18.
  • Embedded mode is unsupported in TypeScript (SDK_TS_EMBEDDED_UNSUPPORTED); embedded governance is the Python service. The TS client never signs and holds no secrets.
  • Hosted mode requires a reachable endpoint.
  • The client governs the call site you route through it; a direct call to the underlying tool that bypasses the client is not intercepted. Server-side, use a gateway/sidecar or a restricted tool registry so tools are only reachable through the governed path.
  • Independent verification requires the Ed25519 public key; the HMAC fallback is symmetric and not independently verifiable. Verification attests authenticity, not decision correctness.
Part of the EVE AI Core control plane Deterministic AI Governance Control Plane → Policy decisions that return the same result for the same input every time, before execution.