Skip to content

Repository files navigation

@vectojs/river-core

Pure-TS streaming model for River (LLM typewriter) — no Canvas, DOM, or storage imports beyond File for isAcceptedFile gate. Tested with bun test.

  • StreamState + createStreamState / tickStream / rewindStream / tokenize — playback state and tokenizer (mirrors gallery/src/creations/chat/state.ts)
  • fileIoACCEPTED_EXTENSIONS, isAcceptedFile, loadFile (extension gate, both picker and drop must use)
  • AsyncGeneration — generation guard for cancellable async work (mirrors chat/async-generation.ts)

Usage

import { createStreamState, tickStream, tokenize } from "@vectojs/river-core";
const state = createStreamState();
state.content = "# hello";
state.tokens = tokenize(state.content);
state.status = "streaming";
const chunk = tickStream(state, 16.67);

Development

bun install
bun run check
bun test
bun run build

About

River core — pure-TS streaming model (StreamState, tokenize, AsyncGeneration)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages