Skip to main content

@effectstream/node-sdk

Package: @effectstream/node-sdk · Source

An umbrella package that re-exports every EffectStream runtime piece (runtime, state machine, sync, database, events, config, utils, concise schemas) under stable subpaths. Depend on this if you want a single name; import the underlying packages directly if you prefer.

  • Umbrella package: every Effectstream node piece reachable from one dependency.
  • Stable subpaths re-exporting the underlying packages (/runtime, /sm, /db, /config, ...).
  • Depend on this if you want a single name; import the underlying packages directly if you prefer.
  • Subpaths are thin re-exports, identical semantics to the source packages.

Install

bun add @effectstream/node-sdk
# or
npm install @effectstream/node-sdk

Standalone usage

Every piece is reachable from one dependency:

import { init, start } from "@effectstream/node-sdk/runtime";
import { Stm } from "@effectstream/node-sdk/sm";
import { getConnection } from "@effectstream/node-sdk/db";
import { ConfigBuilder, ConfigNetworkType } from "@effectstream/node-sdk/config";

The subpaths are thin re-exports - semantics are identical to importing from the underlying packages.

Inside EffectStream

A namespace seam, not a runtime piece. Each subpath simply re-exports the corresponding package:

@effectstream/node-sdk/runtime → @effectstream/runtime
@effectstream/node-sdk/sm → @effectstream/sm
@effectstream/node-sdk/db → @effectstream/db

Subpath exports

  • @effectstream/node-sdk/runtime: init, start, StartConfig, DBMigrations.
  • @effectstream/node-sdk/sm: Stm plus state-machine types and helpers.
  • @effectstream/node-sdk/sm/builtin ships built-in primitive type tags (ERC20, ERC721, ERC1155, Cardano transfer/mint-burn/pool-delegation, Midnight generic, NEAR, Avail, Celestia, ...).
  • @effectstream/node-sdk/sm/grammar: concise/grammar parsing utilities.
  • @effectstream/node-sdk/sync - genSyncProtocols and per-chain fetcher classes.
  • @effectstream/node-sdk/db: getConnection, query helpers, snapshot utilities.
  • @effectstream/node-sdk/db/start-pglite, ./db/apply-migrations, ./db/db-wait, ./db/pgtyped-update, ./db/version: DB operations scripts.
  • @effectstream/node-sdk/db-emulator: in-memory test DB migration runner.
  • @effectstream/node-sdk/event-server: local MQTT broker.
  • @effectstream/node-sdk/config: ConfigBuilder and friends.
  • @effectstream/node-sdk/chain-types, ./precompile, ./concise, ./coroutine are pass-throughs to the same-named SDK packages.
  • @effectstream/node-sdk/utils, ./utils/node-env, ./utils/runtime: utility helpers.

Examples

Runnable: test/examples.test.ts - verifies each subpath resolves.

For full working nodes, see: