@health-samurai/interbox
v1.21.0
Published
Typed SDK for authoring pipelines on Interbox — an extensible integration engine.
Readme
@health-samurai/interbox
The workspace authoring SDK for Interbox. A workspace repo declares pipelines
against this package; the engine loads the resulting PipelineRegistry at boot
and runs them on its typed source → mapper → sender runtime.
The SDK ships only the declaration layer — the pipeline() DSL, the
PipelineRegistry, the env() sentinel, and config-shape contracts for the
engine's built-in stage types. It contains no worker implementations; stages
are referenced by type string and the engine owns the behavior.
The library runs in any ESM environment (Node, Bun, bundlers). The bundled
interboxCLI requires Bun.
import { pipeline, env } from "@health-samurai/interbox";
pipeline("hl7-to-aidbox")
.source({
id: "mllp-default",
type: "mllp",
config: {
host: env("MLLP_HOST"),
port: env("MLLP_PORT"),
parser: { type: "hl7v2", config: { skipZSegments: false } },
},
})
.mapper({ type: "v2-to-fhir", config: {} })
.sender({
type: "aidbox",
config: {
url: env("AIDBOX_URL"),
auth: { kind: "basic", user: env("AIDBOX_CLIENT_ID", "root"), password: env("AIDBOX_CLIENT_SECRET") },
},
});A workspace's src/index.ts imports its pipeline modules (for their
registration side effects) and re-exports the registry:
import "./pipelines";
export { PipelineRegistry } from "@health-samurai/interbox";Develop
bun install
bun test
bun run buildDocs
The full guide + API reference is authored in docs/src (plain GitBook-style
Markdown). It ships inside the SDK so it can be read offline (see
interbox assistant docs), and is published online at
https://www.health-samurai.io/docs/interbox — a release job converts
docs/src to the GitBook layout and mirrors it to
HealthSamurai/interbox-docs,
which the website serves. Edit the docs here, not in that mirror.
bun scripts/build-gitbook.ts # preview the mirrored layout under docs/.gitbook-out/An AI assistant working in a dependent workspace gets a condensed version of
this automatically via the interbox-reference skill (see skills/).
