feat(mediator): publish the initial mediator package #2
merged
@chrismichaelps wrote on 2026-10-06
Closes #1
Behaviour
@chrismichaelps/pudu-lang-mediator 0.1.0 for Pudu 0.1.3: in-process messaging between the parts of a program.
- Kinds —
Request.kind(answers a value),Request.command(answers()),Notification.kind, andStream.kind; typed identities made once and shared. - Pipelines — per-kind and open behaviors, pre- and post-processors, exception handlers, and exception actions, composed once at build time in one documented order; stream behaviors that may wrap the sink.
- Publishing —
Sequential(default),Continuing,Parallel,Bounded, or a customPublishing.Strategy. - Mediator —
buildreports every registration problem at once;send,resolve,publish,stream,collect,reader, and untypeddispatch,broadcast, andstreamEnvelopethrough envelopes. - Seams —
SenderandPublishertraits implemented by the mediator; typed context items and cooperative cancellation. - Integrations — validation (
pudu-lang-validator), structured logging (pudu-lang-log), and resilience (pudu-lang-resilience) behaviors, the only modules importing other packages.
Values cross untyped boundaries through slots, never casts; a twin kind under a registered name answers Mismatched instead of reaching the wrong handler.
Verification
Against the published 0.1.3 compiler, from a clean pudu install --locked:
pudu check,pudu fmt --check, andpudu lintare clean oversrc test tools examples.pudu test test: 24 suites pass, 235 assertions, including concurrency (parallel peaks, bounded worker limits, crash containment, reader back-pressure and close), the vault parity suite, and an integration scenario.- Every program under
examples/answers 0. pudu run tools/Mutate.pudu --domain --threshold 100: killed 12, survived 0.
