Problem
src/util/Constants.ts:78-83 tells users "Opt out per-actor via Props.withMailbox(() => new Mailbox())" — but Mailbox lives in src/internal/Mailbox.ts and is not re-exported: src/mailbox/index.ts exports only BoundedMailbox/PriorityMailbox, and the root barrel mirrors that (src/index.ts:697-712). A custom mailbox author also needs Envelope (unexported) and MailboxFactory (declared at src/Props.ts:7; the barrel exports ActorFactory and PropsConfig but not it, src/index.ts:66-67). The documented escape hatch is unreachable.
Same file: Props.withMailboxCapacity is silently ignored whenever withMailbox is set — src/internal/ActorCell.ts:154-165 only reads mailboxCapacity in the else branch.
Proposed behaviour
Re-export Mailbox, Envelope, MailboxFactory. Make withMailbox + withMailboxCapacity either compose or throw at Props construction.
Acceptance criteria
- The snippet in
Constants.ts compiles against the published barrel.
- A test asserts the conflicting-Props error (or the composed behaviour).
Related: #414, #556
Problem
src/util/Constants.ts:78-83tells users "Opt out per-actor viaProps.withMailbox(() => new Mailbox())" — butMailboxlives insrc/internal/Mailbox.tsand is not re-exported:src/mailbox/index.tsexports onlyBoundedMailbox/PriorityMailbox, and the root barrel mirrors that (src/index.ts:697-712). A custom mailbox author also needsEnvelope(unexported) andMailboxFactory(declared atsrc/Props.ts:7; the barrel exportsActorFactoryandPropsConfigbut not it,src/index.ts:66-67). The documented escape hatch is unreachable.Same file:
Props.withMailboxCapacityis silently ignored wheneverwithMailboxis set —src/internal/ActorCell.ts:154-165only readsmailboxCapacityin theelsebranch.Proposed behaviour
Re-export
Mailbox,Envelope,MailboxFactory. MakewithMailbox+withMailboxCapacityeither compose or throw atPropsconstruction.Acceptance criteria
Constants.tscompiles against the published barrel.Related: #414, #556