@health-samurai/interbox
v1.4.3
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 lives in docs/ (an mdBook):
bun run docs:build # -> docs/book/
bun run docs:serve # local preview with live reloadAn AI assistant working in a dependent workspace gets a condensed version of
this automatically via the interbox-reference skill (see skills/).
