v0.3.0
Minor Changes
-
f3cf47bThanks @cevr! - ### Bug fixes- ExecId parsing: Use null byte separator instead of colon — fixes entity IDs/primary keys containing colons
- Peek decoding: Decode encoded values from storage using
Schema.decodeUnknownEffect(supports effectful schemas) - Workflow peek cause: Walk Exit/Cause tree properly — returns
Failure(error),Defect(defect), orInterruptedinstead of wrapping raw cause - Zero-payload operations: Install
PrimaryKey.symbolon empty payload class for storage indexing - Missing default:
mapExitToPeekResultswitch now has default clause - Unknown operation guard:
Effect.diewith descriptive error instead of silentundefined - Entity interrupt: Stubbed with descriptive error (Sharding.passivate not public API)
Features
- Scalar Schema payloads:
payload: Schema.Stringnow works. Opaque payloads stored under_payload, accessed viaoperation._payloadin handlers. - Entity
executionId: Pure functionActor.executionId(entityId, op)computesExecId<S,E>without executing - Workflow
executionId: Now returns brandedExecId<S,E>instead of plainstring fromRpcsonActornamespace: Escape hatch now accessible viaActor.fromRpcs
Breaking changes
- ExecId format changed: From
entityId:tag:primaryKeyto null byte separated. No migration needed (0 users, published last night). withCompensationremoved fromWorkflowActorObject: UseWorkflow.withCompensationfrom upstream directly — it's a workflow primitive, not an actor concern.- Dead compat shims deleted:
src/client.ts,src/handlers.ts,src/testing.tsremoved (no subpath exports referenced them).
v3 parity
WorkflowRunDefstype ported — workflow actors retain typedActorRef- Typed
toTestLayer/toLayeroverloads for both entity and workflow actors - All bug fixes mirrored