API reference
Generated from the source with TypeDoc at build time — every exported symbol, with its signature and TSDoc. One page per package, following the dependency direction: di → config → core, then the test harness, the observability starter and the three transport starters on top of core.
@btravstack/di—Port,Provider,Module(Module.scoped,Module.forkScope),Context, and the type names the surface carries:AnyPort,ServiceOf,Scope,PortClass,PortClassOf,PortInstance,AnyModule,AnyProvider,Exportable,ScopedOptions.@btravstack/config—Config(string,integer,port,pinned,object,provider), theEnvport, the errorsConfigInvalidandConfigFieldInvalid, and the typesConfigField,ConfigIssue,ConfigSchema,Environment.@btravstack/core— one entry point:start,runMain,RuntimePort,RuntimeStartFailed,currentUnit,systemClock,stderrSink, and the typesStartOptions,StartGate,RunningApp,ExitReport,TeardownError,DrainReport,Runtime,RuntimeHost,RunUnit,Serving,RuntimeInfoOf,UnitMeta,UnitRecord,UnitRegistry,UnitWork,Clock,Phase,KernelEvent,EventSink.@btravstack/testing—bootFixture,tapped,testRuntime,TestRuntimePort,createFakeClock, and the typesBoot,BootDefaults,ServicesOf,TestRuntime,TestRuntimeInfo,SubmittedUnit,FakeClock.@btravstack/observability— two entry points. The main one: theLoggerandLoggerConfigports,createLogger,jsonSink,observability,logLevel,kernelEvents,LEVELS, and the typesLoggerService,LoggerSettings,Level,Attributes,Line,Sink,ObservabilityOptions. The@btravstack/observability/pinosubpath carriespinoSinkalone, sopinostays an optional peer.@btravstack/http—HttpModule,HttpRouter,http, the portsHttpRuntimeandHttpConfig, and the typesHttpModuleOptions,HttpOptions,HttpInfo.@btravstack/temporal—TemporalModule,TemporalActivities,temporal, the portsTemporalRuntime,TemporalConfigandTemporalConnection, the errorTemporalUnreachable, and the typesTemporalModuleOptions,TemporalOptions,TemporalInfo,WorkflowSource.@btravstack/amqp—AmqpModule,AmqpHandlers,amqp, the portsAmqpRuntimeandAmqpConfig, and the typesAmqpModuleOptions,AmqpOptions,AmqpInfo.
Looking for prose?
The generated pages document signatures. For what each package is for, with its install line and worked examples, read Packages and install and the hand-written reference under it; for why the surface is shaped this way, read Why start?.
The shape of the surface
An application imports from few places, and each import list stays short because operations hang off the values by convention — Module.scoped, Config.provider:
import { Module, Port, Provider } from "@btravstack/di";
import { Config, Env } from "@btravstack/config";
import { runMain, start } from "@btravstack/core";
import { HttpModule, HttpRouter } from "@btravstack/http";Scope is a type-only export of di, and PortClass, PortClassOf and PortInstance exist for declaration emit — a consumer that exports a port or a minted provider needs the emitter to be able to name its type — not for hand-written code. RuntimeInstance, RuntimeOf and RuntimeNeedsOf are internal to core and deliberately absent from its page. Everything else — the build pipeline, the lifecycle state machine, the unit registry's internals — is implementation detail, not exported.