Skip to content

Version Packages - #4

Merged
K-Mistele merged 1 commit into
mainfrom
changeset-release/main
Aug 31, 2026
Merged

Version Packages#4
K-Mistele merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

Copy link
Copy Markdown

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@humanlayer/effect-machine@0.19.0

Minor Changes

  • #3 bb1e377 Thanks @K-Mistele! - Remove the deprecated Slot API in favor of Effect services supplied through Layers to .task(), .spawn(), and .background().

    This release also strengthens the package's type and runtime boundaries:

    • Requirement-growing builder methods are copy-on-write, keeping earlier machine aliases unchanged and truthfully typed.
    • Heterogeneous actor registries expose an eventless ActorHandle; exact typed spawn results remain ActorRef<State, Event>.
    • Transition and state-effect registries retain their state/event correlations without chained assertions.
    • State-effect contexts expose explicit $init and $enter lifecycle events.
    • Entity machines own their RPC protocol; remote Ask replies are decoded with event-specific schemas and client errors remain typed.
    • Persistence writes encode state and events through machine codecs, while loaded records remain unknown until full schema decoding.
    • Local and entity Ask paths support transforming reply codecs without duplicate decoding or stranded deferred replies.
    • Repeated and concurrent actor.start callers observe the original startup failure cause.
    • Source enforces unsafe, chained, widening, and unnecessary type-assertion rules. Tests remain exempt from unsafe and unnecessary assertion checks.

    Intentional API changes:

    • Remove Slot, slot schemas/types/errors, Machine.make({ slots }), ctx.slots, and slot provision options.
    • toEntity(machine) returns a machine-owned MachineEntity; call EntityMachine.layer(entity, options?).
    • Call makeEntityActorRef(entity, client, entityId) so the wrapper can decode replies and preserve client errors.
    • system.get, system.actors, system events, and actor.children expose ActorHandle.
    • Transition and spawn-effect introspection expose guarded matches / run operations instead of erased handlers.
    • Legacy compatible constructors without a static tag can use Machine.tagged(tag, constructor).

@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@K-Mistele
K-Mistele merged commit 906a1d9 into main Aug 31, 2026
1 check was pending
@K-Mistele
K-Mistele deleted the changeset-release/main branch August 31, 2026 18:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants