Demand-driven — parked until there is concrete community pull; scoped here so the design intent is on record.
Rationale
Effect-TS is the other major structured-concurrency ecosystem in TypeScript (with @effect/cluster emerging). Teams mixing both want clean seams instead of ad-hoc glue: run an Effect inside an actor with proper interruption, and expose ask/tell as Effects.
Scope (sketch)
askEffect(ref, message) / tellEffect(ref, message) — Effect wrappers with timeout/interruption mapped to ask cancellation.
runEffectInActor(effect) — execute an Effect from a handler with structured cancellation tied to the actor lifecycle (stop/restart interrupts the fiber).
effect as an optional peer dependency behind subpath "./interop/effect" (dependency policy — core untouched).
Documentation
Interop docs page (EN + DE); JSDoc; CHANGELOG.
Acceptance
- Round-trip tests ask/tell as Effects; interruption on actor stop verified; no hard dependency added.
Non-goals
Reimplementing @effect/cluster; Effect-based actor DSL.
Relates
Dependency policy #419. Improvement program M8 (demand-driven shelf).
Demand-driven — parked until there is concrete community pull; scoped here so the design intent is on record.
Rationale
Effect-TS is the other major structured-concurrency ecosystem in TypeScript (with @effect/cluster emerging). Teams mixing both want clean seams instead of ad-hoc glue: run an Effect inside an actor with proper interruption, and expose ask/tell as Effects.
Scope (sketch)
askEffect(ref, message)/tellEffect(ref, message)— Effect wrappers with timeout/interruption mapped to ask cancellation.runEffectInActor(effect)— execute an Effect from a handler with structured cancellation tied to the actor lifecycle (stop/restart interrupts the fiber).effectas an optional peer dependency behind subpath"./interop/effect"(dependency policy — core untouched).Documentation
Interop docs page (EN + DE); JSDoc; CHANGELOG.
Acceptance
Non-goals
Reimplementing @effect/cluster; Effect-based actor DSL.
Relates
Dependency policy #419. Improvement program M8 (demand-driven shelf).