#interpreter #streaming #hyperstack

hyperstack-interpreter

AST transformation runtime and VM for HyperStack streaming pipelines

34 releases

new 0.4.3 Feb 3, 2026
0.4.2 Feb 1, 2026
0.4.0 Jan 31, 2026
0.3.15 Jan 31, 2026
0.1.11 Jan 14, 2026

#367 in Magic Beans


Used in 3 crates

Custom license

490KB
11K SLoC

hyperstack-interpreter

crates.io docs.rs License

AST transformation runtime and VM for HyperStack streaming pipelines.

Overview

This crate provides the core components for processing Solana blockchain events into typed state projections:

  • AST - Type-safe definition of state schemas and event handlers
  • Compiler - Compiles AST specs into optimized bytecode
  • VM - Executes bytecode to process events and maintain state
  • TypeScript Generation - Generate client SDKs automatically

Installation

[dependencies]
hyperstack-interpreter = "0.2"

Usage

Define State Types

use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MyState {
    pub id: StateId,
    pub metrics: Metrics,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct StateId {
    pub key: u64,
}

Compile and Generate TypeScript

use hyperstack_interpreter::{TypeScriptCompiler, TypeScriptConfig};

let config = TypeScriptConfig::default();
let compiler = TypeScriptCompiler::new(config);
let typescript = compiler.compile(&spec)?;

Feature Flags

Feature Default Description
otel No OpenTelemetry integration for distributed tracing and metrics

Benefits

  • Type Safety - Compile-time checking of state structure
  • No String Typos - Field paths validated at compile time
  • IDE Support - Full autocomplete and navigation
  • Refactorable - Rename fields, accessors update automatically

License

Apache-2.0

Dependencies

~13–18MB
~250K SLoC