Pre-instantiated chainable builder for trace-throws API.
Build state through .tracer(), .code(), .config(), then await .steps.
All validation is SYNCHRONOUS — errors throw immediately.
Only .steps (the final record() call) is async.
Typically used via tracing which returns a chain with the tracer pre-set
(no need to call .tracer() manually).
Throws
.tracer() — if TracerModule contract violated
Throws
.code() — if code is not a non-empty string
Throws
.config() — if config is not an object
Throws
.steps — if tracer or code not set
Throws
.steps — if meta or options fail JSON Schema validation
Throws
.steps — if verifyOptions constraint violated
Example
// Direct usage conststeps=await embody.tracer(myTracer).code('hello').steps;
Pre-instantiated chainable builder for trace-throws API.
Build state through
.tracer(),.code(),.config(), then await.steps. All validation is SYNCHRONOUS — errors throw immediately. Only.steps(the finalrecord()call) is async.Typically used via tracing which returns a chain with the tracer pre-set (no need to call
.tracer()manually).