Skip to content
Docs SDKs & integrations

TypeScript SDK

Isomorphic client for Node, browsers and Svelte / React apps.

The TypeScript SDK is the one we use to build the gridtrue web UI. It runs in Node, in the browser, and on Cloudflare Workers, with first-class helpers for Svelte stores and React hooks.

Install

bash
pnpm add @gridtrue/sdk
# or npm install @gridtrue/sdk
# or yarn add @gridtrue/sdk

Basic usage

typescript
import { gridtrue } from "@gridtrue/sdk";

const gt = new gridtrue({ token: process.env.GRIDTRUE_TOKEN });

const commit = await gt.orgs("acme").repos("payments").commit("6f4a…d91");
console.log(commit.state);           // "ATTESTED"
console.log(commit.attestations);    // [{predicate, identity, result, …}]

Live updates in Svelte

typescript
import { events } from "@gridtrue/sdk/svelte";

// `events` is a readable store that emits every attestation +
// state transition for the org, reconnecting on disconnect.
const stream = events({ org: "acme", token });

$effect(() => {
  const evt = $stream;
  if (evt?.type === "state") {
    console.log(evt.commit, evt.to);
  }
});

React hook

typescript
import { useGridtrueEvents } from "@gridtrue/sdk/react";

function Dashboard() {
  const events = useGridtrueEvents({ org: "acme", token });
  return (
    <ul>
      {events.map((e) => (
        <li key={e.id}>{e.type}: {e.commit}</li>
      ))}
    </ul>
  );
}