Reference
Framework
Business extension APIs exposed by generated services in every supported language runtime.
Go
Extension modelGo services use `github.com/gorundebug/servicelib`. Generated graph assembly owns runtime wiring; application code supplies typed business implementations through preserved maker functions.
func Make<Name>(ctx context.Context, env environment.ServiceEnvironment, cfg *runtimecfg.<Config>) (*<Name>, error)Operator functionsOperator contracts invoked by generated Go streams. Implement only the contract selected by the stream type in the designer.Map | Filter | FlatMap | KeyBy | Process | Join | MultiJoin | Delay | CaseRuntime values and outputsCore Go values passed into makers, operators, and endpoint handlers. These are the stable application-facing handles to the generated runtime.Context + Stream + Collector + EnvironmentEndpoint handlersSource and sink endpoint contracts for Go. The exact generated signature follows connector type, endpoint direction, protocol mode, input type, result type, and error type.Begin -> consume -> correlate/respond -> endC++ userver
Extension modelC++ userver services use `cppservicelib`. Generated graph assembly owns runtime wiring; application code supplies typed business implementations through preserved maker functions.
std::unique_ptr<Name> MakeName(servicelib::Context, servicelib::IServiceEnvironment&, const servicelib::config::<Config>&)Operator functionsOperator contracts invoked by generated C++ userver streams. Implement only the contract selected by the stream type in the designer.Map | Filter | FlatMap | KeyBy | Process | Join | MultiJoin | Delay | CaseRuntime values and outputsCore C++ userver values passed into makers, operators, and endpoint handlers. These are the stable application-facing handles to the generated runtime.Context + Stream + Collector + EnvironmentEndpoint handlersSource and sink endpoint contracts for C++ userver. The exact generated signature follows connector type, endpoint direction, protocol mode, input type, result type, and error type.Begin -> consume -> correlate/respond -> endC++ Boost
Extension modelC++ Boost services use `cppboostservicelib`. Generated graph assembly owns runtime wiring; application code supplies typed business implementations through preserved maker functions.
std::unique_ptr<Name> MakeName(servicelib::Context, servicelib::IServiceEnvironment&, const servicelib::config::<Config>&)Operator functionsOperator contracts invoked by generated C++ Boost streams. Implement only the contract selected by the stream type in the designer.Map | Filter | FlatMap | KeyBy | Process | Join | MultiJoin | Delay | CaseRuntime values and outputsCore C++ Boost values passed into makers, operators, and endpoint handlers. These are the stable application-facing handles to the generated runtime.Context + Stream + Collector + EnvironmentEndpoint handlersSource and sink endpoint contracts for C++ Boost. The exact generated signature follows connector type, endpoint direction, protocol mode, input type, result type, and error type.Begin -> consume -> correlate/respond -> endPython
Extension modelPython services use `pyservicelib_gorundebug`. Generated graph assembly owns runtime wiring; application code supplies typed business implementations through preserved maker functions.
def make_<name>(ctx: Context, environment: ServiceEnvironment, config: <Config>) -> <Name>Operator functionsOperator contracts invoked by generated Python streams. Implement only the contract selected by the stream type in the designer.Map | Filter | FlatMap | KeyBy | Process | Join | MultiJoin | Delay | CaseRuntime values and outputsCore Python values passed into makers, operators, and endpoint handlers. These are the stable application-facing handles to the generated runtime.Context + Stream + Collector + EnvironmentEndpoint handlersSource and sink endpoint contracts for Python. The exact generated signature follows connector type, endpoint direction, protocol mode, input type, result type, and error type.Begin -> consume -> correlate/respond -> endRust
Extension modelRust services use `servicelib` crate from `rustservicelib`. Generated graph assembly owns runtime wiring; application code supplies typed business implementations through preserved maker functions.
fn make_<name>(context: MessageContext, environment: RuntimeEnvironment, config: &<Config>) -> RuntimeResult<<Name>>Operator functionsOperator contracts invoked by generated Rust streams. Implement only the contract selected by the stream type in the designer.Map | Filter | FlatMap | KeyBy | Process | Join | MultiJoin | Delay | CaseRuntime values and outputsCore Rust values passed into makers, operators, and endpoint handlers. These are the stable application-facing handles to the generated runtime.Context + Stream + Collector + EnvironmentEndpoint handlersSource and sink endpoint contracts for Rust. The exact generated signature follows connector type, endpoint direction, protocol mode, input type, result type, and error type.Begin -> consume -> correlate/respond -> endTypeScript
Extension modelTypeScript services use `@gorundebug/tsservicelib`. Generated graph assembly owns runtime wiring; application code supplies typed business implementations through preserved maker functions.
function make<Name>(context: MessageContext, environment: RuntimeEnvironment, config: <Config>): <Name> | Promise<<Name>>Operator functionsOperator contracts invoked by generated TypeScript streams. Implement only the contract selected by the stream type in the designer.Map | Filter | FlatMap | KeyBy | Process | Join | MultiJoin | Delay | CaseRuntime values and outputsCore TypeScript values passed into makers, operators, and endpoint handlers. These are the stable application-facing handles to the generated runtime.Context + Stream + Collector + EnvironmentEndpoint handlersSource and sink endpoint contracts for TypeScript. The exact generated signature follows connector type, endpoint direction, protocol mode, input type, result type, and error type.Begin -> consume -> correlate/respond -> end