@typeonce/effect-machine 0.27.1 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -750,16 +750,53 @@ applications. Service-free machines can use `AtomMachine.make(Counter)`.
750
750
  The bridge exposes `ref`, `snapshot`, `state`, fail-aware `result`, writable
751
751
  `send` and `stop` atoms, and `child(descriptor)`. Use `AtomMachine.select`,
752
752
  `AtomMachine.selectSnapshot`, and `AtomMachine.matches` for typed,
753
- equality-aware derivations. React applications using `@effect/atom-react` need
754
- a `RegistryProvider`.
753
+ equality-aware derivations. Repeating one of these calls with the same bridge
754
+ and state path returns the same atom.
755
+
756
+ Use `useMachineAtom` from `@typeonce/effect-machine-react` when one React
757
+ subtree owns the machine. It mounts the machine without subscribing the owner
758
+ to state. Pass the returned machine atom through props or Context, then call
759
+ `useAtomSuspense(AtomMachine.selectSnapshot(machine, path))` in the descendant
760
+ that renders that state slot. Hooks from `@effect/atom-react` use a shared
761
+ default registry. Add `RegistryProvider` only when a subtree needs separate
762
+ registry identity or disposal.
763
+
764
+ When consumers need keyed lookup for a machine with startup input,
765
+ `AtomMachine.family` uses that input as the family key and exposes direct atom
766
+ families. Each returned atom retains its private machine bridge while
767
+ preserving lazy registry startup and disposal:
768
+
769
+ ```ts
770
+ const processAtoms = AtomMachine.bind(runtime).family(processMachine, {
771
+ atoms: {
772
+ details: AtomMachine.select("Processing"),
773
+ ready: AtomMachine.matches("Ready"),
774
+ send: (machine) => machine.send
775
+ }
776
+ })
777
+
778
+ const detailsAtom = processAtoms.details(input)
779
+ const sendAtom = processAtoms.send(input)
780
+ ```
781
+
782
+ The key follows Effect `Equal` and `Hash` semantics. Equal input values reuse
783
+ the same public atom while it remains reachable. The family does not keep an
784
+ unbounded strong cache on platforms with weak references. Keep keys immutable.
755
785
 
756
786
  Descriptors reconstructed from a `Machine.childFamily` resolve the same child
757
787
  bridge by machine identity and id:
758
788
 
759
789
  ```ts
760
790
  const Plant = Machine.childFamily(plantMachine)
761
- const plantAtom = centralAtom.child(Plant(selectedPlantId))
762
- const brokenAtom = AtomMachine.matchesChild(plantAtom, "Broken")
791
+ const plants = AtomMachine.familyChild(centralAtom, {
792
+ child: (plantId: string) => Plant(plantId),
793
+ atoms: {
794
+ broken: AtomMachine.matchesChild("Broken"),
795
+ send: (plant) => plant.send
796
+ }
797
+ })
798
+
799
+ const brokenAtom = plants.broken(selectedPlantId)
763
800
  ```
764
801
 
765
802
  Emissions stay streams rather than becoming retained atom state:
@@ -80,6 +80,15 @@ export declare const make: {
80
80
  export declare const resume: {
81
81
  <M extends Machine.Machine.Any>(machine: M & EnsureNoExternalRequirements<MachineResumeRequirementsOf<NoInfer<M>>> & EnsureMachineExecutable<NoInfer<M>> & Machine.Machine.RootCompatible<Machine.Machine.ParentEvents<NoInfer<M>>>, snapshot: Machine.Machine.Snapshot<Machine.Machine.States<M>>): ResumedMachineAtomOf<M, never>;
82
82
  };
83
+ type FamilyBridge = MachineAtom<any, never, any, any, any, any> | ChildMachineAtom<any, any>;
84
+ type FamilyOptions = {
85
+ readonly atoms: Readonly<Record<string, (bridge: FamilyBridge) => Atom.Atom<any>>>;
86
+ readonly label?: (key: any, atomName: string) => string | undefined;
87
+ };
88
+ export declare const family: (machine: Machine.Machine.Any, options: FamilyOptions) => Readonly<Record<string, (key: any) => Atom.Atom<any>>>;
89
+ export declare const familyChild: (parent: MachineAtom<any, never, any, any, any, any> | ChildMachineAtom<any, any>, options: FamilyOptions & {
90
+ readonly child: (key: any) => Machine.ChildMachine.Any;
91
+ }) => Readonly<Record<string, (key: any) => Atom.Atom<any>>>;
83
92
  export declare const bind: <Services, RuntimeError>(runtime: Atom.AtomRuntime<Services, RuntimeError>) => Bound<Services, RuntimeError>;
84
93
  export {};
85
94
  //# sourceMappingURL=atom.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"atom.d.ts","sourceRoot":"","sources":["../../../src/internal/machine/atom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"atom.d.ts","sourceRoot":"","sources":["../../../src/internal/machine/atom.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import * as Data from "effect/Data";
7
7
  import * as Effect from "effect/Effect";
8
8
  import * as Equal from "effect/Equal";
9
9
  import * as Fiber from "effect/Fiber";
10
+ import * as MutableHashMap from "effect/MutableHashMap";
10
11
  import * as Option from "effect/Option";
11
12
  import * as Stream from "effect/Stream";
12
13
  import { AsyncResult, Atom, AtomRegistry } from "effect/unstable/reactivity";
@@ -18,6 +19,34 @@ export class ChildNotActiveError extends Data.TaggedError("ChildNotActiveError")
18
19
  }
19
20
  const ExternalRequirementsTypeId = "~effect/reactivity/AtomMachine/ExternalRequirements";
20
21
  const preparedByMachineAtom = new WeakMap();
22
+ // This follows Atom.family, but cleanup is generation-aware. A finalizer for a
23
+ // collected value must not remove a newer value installed for the same key.
24
+ const retainedFamily = (makeValue) => {
25
+ if (typeof WeakRef === "undefined" || typeof FinalizationRegistry === "undefined") {
26
+ return Atom.family(makeValue);
27
+ }
28
+ const values = MutableHashMap.empty();
29
+ const registry = new FinalizationRegistry(({ entry, key }) => {
30
+ const current = MutableHashMap.get(values, key);
31
+ if (Option.isSome(current) && current.value === entry) {
32
+ MutableHashMap.remove(values, key);
33
+ }
34
+ });
35
+ return (key) => {
36
+ const current = MutableHashMap.get(values, key);
37
+ if (Option.isSome(current)) {
38
+ const value = current.value.ref.deref();
39
+ if (value !== undefined) {
40
+ return value;
41
+ }
42
+ }
43
+ const value = makeValue(key);
44
+ const entry = { ref: new WeakRef(value) };
45
+ MutableHashMap.set(values, key, entry);
46
+ registry.register(value, { key, entry });
47
+ return value;
48
+ };
49
+ };
21
50
  const runMachineAtomEffect = (get, start) => Effect.scoped(Effect.acquireRelease(start, (ref) => ref.stop).pipe(Effect.tap((ref) => Effect.sync(() => get.setSelf(AsyncResult.success(ref)))), Effect.flatMap(() => Effect.never)));
22
51
  const startPreparedMachineAtomEffect = (get, prepared) => runMachineAtomEffect(get, get.result(prepared).pipe(Effect.flatMap((prepared) => prepared.start)));
23
52
  const resumeMachineAtomEffect = (get, machine, snapshot) => runMachineAtomEffect(get, internalMachine.resume(machine, snapshot));
@@ -284,12 +313,32 @@ const makeFromRefAtom = (ref) => {
284
313
  };
285
314
  const selectValueByPath = (snapshot, path) => Topology.getSnapshotByPath(snapshot, path).pipe(Option.map((snapshot) => snapshot.value));
286
315
  const selectSnapshotByPath = (snapshot, path) => Topology.getSnapshotByPath(snapshot, path);
287
- export const select = (self, path) => Atom.mapResult(self.result, (snapshot) => selectValueByPath(snapshot, path)).pipe(Atom.withEquality(Equal.equals));
288
- export const selectSnapshot = (self, path) => Atom.mapResult(self.result, (snapshot) => selectSnapshotByPath(snapshot, path)).pipe(Atom.withEquality(Equal.equals));
289
- export const selectChild = (self, path) => Atom.mapResult(self.result, Option.flatMap((snapshot) => selectValueByPath(snapshot, path))).pipe(Atom.withEquality(Equal.equals));
290
- export const selectSnapshotChild = (self, path) => Atom.mapResult(self.result, Option.flatMap((snapshot) => selectSnapshotByPath(snapshot, path))).pipe(Atom.withEquality(Equal.equals));
291
- export const matches = (self, path) => Atom.mapResult(self.result, (snapshot) => Option.isSome(Topology.getSnapshotByPath(snapshot, path))).pipe(Atom.withEquality(Equal.equals));
292
- export const matchesChild = (self, path) => Atom.mapResult(self.result, Option.exists((snapshot) => Option.isSome(Topology.getSnapshotByPath(snapshot, path)))).pipe(Atom.withEquality(Equal.equals));
316
+ const selectorsByBridge = new WeakMap();
317
+ const cachedSelector = (bridge, kind, path, make) => {
318
+ let selectorsByKind = selectorsByBridge.get(bridge);
319
+ if (selectorsByKind === undefined) {
320
+ selectorsByKind = new Map();
321
+ selectorsByBridge.set(bridge, selectorsByKind);
322
+ }
323
+ let selectorsByPath = selectorsByKind.get(kind);
324
+ if (selectorsByPath === undefined) {
325
+ selectorsByPath = new Map();
326
+ selectorsByKind.set(kind, selectorsByPath);
327
+ }
328
+ const cached = selectorsByPath.get(path);
329
+ if (cached !== undefined) {
330
+ return cached;
331
+ }
332
+ const selector = make();
333
+ selectorsByPath.set(path, selector);
334
+ return selector;
335
+ };
336
+ export const select = (self, path) => cachedSelector(self, "select", path, () => Atom.mapResult(self.result, (snapshot) => selectValueByPath(snapshot, path)).pipe(Atom.withEquality(Equal.equals)));
337
+ export const selectSnapshot = (self, path) => cachedSelector(self, "selectSnapshot", path, () => Atom.mapResult(self.result, (snapshot) => selectSnapshotByPath(snapshot, path)).pipe(Atom.withEquality(Equal.equals)));
338
+ export const selectChild = (self, path) => cachedSelector(self, "selectChild", path, () => Atom.mapResult(self.result, Option.flatMap((snapshot) => selectValueByPath(snapshot, path))).pipe(Atom.withEquality(Equal.equals)));
339
+ export const selectSnapshotChild = (self, path) => cachedSelector(self, "selectSnapshotChild", path, () => Atom.mapResult(self.result, Option.flatMap((snapshot) => selectSnapshotByPath(snapshot, path))).pipe(Atom.withEquality(Equal.equals)));
340
+ export const matches = (self, path) => cachedSelector(self, "matches", path, () => Atom.mapResult(self.result, (snapshot) => Option.isSome(Topology.getSnapshotByPath(snapshot, path))).pipe(Atom.withEquality(Equal.equals)));
341
+ export const matchesChild = (self, path) => cachedSelector(self, "matchesChild", path, () => Atom.mapResult(self.result, Option.exists((snapshot) => Option.isSome(Topology.getSnapshotByPath(snapshot, path)))).pipe(Atom.withEquality(Equal.equals)));
293
342
  export const make = ((machine, ...args) => {
294
343
  const prepared = Atom.make(() => internalMachine.prepare(machine, ...args));
295
344
  const ref = Atom.make((get) => startPreparedMachineAtomEffect(get, prepared));
@@ -312,8 +361,32 @@ const resumeWithRuntime = (runtime, machine, snapshot) => {
312
361
  const ref = runtime.atom((get) => resumeMachineAtomEffect(get, machine, snapshot));
313
362
  return makeFromRefAtom(ref);
314
363
  };
364
+ const retainFamilyOwner = (owner, source, label) => {
365
+ const retained = { owner, source };
366
+ let atom = Atom.transform(source, (get) => get(retained.source), { initialValueTarget: source }).pipe(Atom.withEquality((value, next) => retained.source.equals(value, next)));
367
+ if (label !== undefined) {
368
+ atom = atom.pipe(Atom.withLabel(label));
369
+ }
370
+ return atom;
371
+ };
372
+ const makeFamily = (makeBridge, options) => {
373
+ const owners = retainedFamily((key) => ({ bridge: makeBridge(key) }));
374
+ const atoms = {};
375
+ for (const atomName of Object.keys(options.atoms)) {
376
+ const project = options.atoms[atomName];
377
+ atoms[atomName] = retainedFamily((key) => {
378
+ const owner = owners(key);
379
+ const source = project(owner.bridge);
380
+ return retainFamilyOwner(owner, source, options.label?.(key, atomName));
381
+ });
382
+ }
383
+ return atoms;
384
+ };
385
+ export const family = (machine, options) => makeFamily((input) => make(machine, input), options);
386
+ export const familyChild = (parent, options) => makeFamily((key) => parent.child(options.child(key)), options);
315
387
  export const bind = (runtime) => ({
316
388
  make: ((machine, ...args) => makeWithRuntime(runtime, machine, args)),
317
- resume: ((machine, snapshot) => resumeWithRuntime(runtime, machine, snapshot))
389
+ resume: ((machine, snapshot) => resumeWithRuntime(runtime, machine, snapshot)),
390
+ family: ((machine, options) => makeFamily((input) => makeWithRuntime(runtime, machine, [input]), options))
318
391
  });
319
392
  //# sourceMappingURL=atom.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"atom.js","sourceRoot":"","sources":["../../../src/internal/machine/atom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"atom.js","sourceRoot":"","sources":["../../../src/internal/machine/atom.ts"],"names":[],"mappings":"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"}
@@ -235,12 +235,28 @@ type SnapshotByIdentifier<State, Path extends SnapshotIdentifier<State>> = Snaps
235
235
  readonly path: Path;
236
236
  } ? Node : never : never;
237
237
  type ChildState<Child extends Machine.ChildMachine.Any> = RefState<Machine.ChildMachine.Ref<Child>>;
238
+ type ChildSnapshot<Child extends Machine.ChildMachine.Any> = Machine.Machine.Snapshot<Machine.Machine.States<Child["machine"]>>;
239
+ declare const InvalidSelectorPathTypeId = "~effect/reactivity/AtomMachine/InvalidSelectorPath";
240
+ declare const SelectorProjectionTypeId = "~effect/reactivity/AtomMachine/SelectorProjection";
241
+ type SelectorProjectionKind = "select" | "selectSnapshot" | "matches" | "selectChild" | "selectSnapshotChild" | "matchesChild";
242
+ interface SelectorProjection<Kind extends SelectorProjectionKind, Path extends string> {
243
+ readonly [SelectorProjectionTypeId]: {
244
+ readonly kind: Kind;
245
+ readonly path: Path;
246
+ };
247
+ }
248
+ type EnsureSelectorPath<State, Path extends string> = [Path] extends [SnapshotIdentifier<State>] ? unknown : {
249
+ readonly [InvalidSelectorPathTypeId]: Path;
250
+ };
251
+ type EnsureValuedSelectorPath<State, Path extends string> = [Path] extends [ValuedSnapshotIdentifier<State>] ? unknown : {
252
+ readonly [InvalidSelectorPathTypeId]: Path;
253
+ };
238
254
  /**
239
255
  * Selects the typed value for an active state path.
240
256
  *
241
257
  * Valid paths and their selected value types are inferred from the bridge.
242
- * The derived atom suppresses structurally equal updates. Keep the returned
243
- * atom stable when constructing it inside a component.
258
+ * The derived atom suppresses structurally equal updates. Repeated calls with
259
+ * the same bridge and path return the same atom.
244
260
  *
245
261
  * **Example**
246
262
  *
@@ -269,24 +285,32 @@ type ChildState<Child extends Machine.ChildMachine.Any> = RefState<Machine.Child
269
285
  * @category combinators
270
286
  * @since 0.4.0
271
287
  */
272
- export declare const select: <State extends Machine.Machine.AtomicSnapshot<string, unknown>, Event, Error, Output, StartError, Emitted, const Path extends ValuedSnapshotIdentifier<State>>(self: MachineAtom<State, Event, Error, Output, StartError, Emitted>, path: Path) => Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotValueByIdentifier<State, Path>>, StartError | Error>>;
288
+ export declare const select: {
289
+ <State extends Machine.Machine.AtomicSnapshot<string, unknown> = never, Event = never, Error = never, Output = never, StartError = never, Emitted = never, const Path extends ValuedSnapshotIdentifier<State> = ValuedSnapshotIdentifier<State>>(path: Path): SelectorProjection<"select", Path> & ((self: MachineAtom<State, Event, Error, Output, StartError, Emitted>) => Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotValueByIdentifier<State, Path>>, StartError | Error>>);
290
+ <const Path extends string>(path: Path): SelectorProjection<"select", Path> & (<State extends Machine.Machine.AtomicSnapshot<string, unknown>, Event, Error, Output, StartError, Emitted>(self: MachineAtom<State, Event, Error, Output, StartError, Emitted> & EnsureValuedSelectorPath<State, Path>) => Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotValueByIdentifier<State, Extract<Path, ValuedSnapshotIdentifier<State>>>>, StartError | Error>>);
291
+ <State extends Machine.Machine.AtomicSnapshot<string, unknown>, Event, Error, Output, StartError, Emitted, const Path extends ValuedSnapshotIdentifier<State>>(self: MachineAtom<State, Event, Error, Output, StartError, Emitted>, path: Path): Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotValueByIdentifier<State, Path>>, StartError | Error>>;
292
+ };
273
293
  /**
274
294
  * Selects the typed logical snapshot for an active state path.
275
295
  *
276
296
  * Unlike {@link select}, the selected value retains its child snapshot
277
- * topology. The derived atom suppresses structurally equal updates. Keep the
278
- * returned atom stable when constructing it inside a component.
297
+ * topology. The derived atom suppresses structurally equal updates. Repeated
298
+ * calls with the same bridge and path return the same atom.
279
299
  *
280
300
  * @category combinators
281
301
  * @since 0.7.0
282
302
  */
283
- export declare const selectSnapshot: <State extends Machine.Machine.AtomicSnapshot<string, unknown>, Event, Error, Output, StartError, Emitted, const Path extends SnapshotIdentifier<State>>(self: MachineAtom<State, Event, Error, Output, StartError, Emitted>, path: Path) => Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotByIdentifier<State, Path>>, StartError | Error>>;
303
+ export declare const selectSnapshot: {
304
+ <State extends Machine.Machine.AtomicSnapshot<string, unknown> = never, Event = never, Error = never, Output = never, StartError = never, Emitted = never, const Path extends SnapshotIdentifier<State> = SnapshotIdentifier<State>>(path: Path): SelectorProjection<"selectSnapshot", Path> & ((self: MachineAtom<State, Event, Error, Output, StartError, Emitted>) => Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotByIdentifier<State, Path>>, StartError | Error>>);
305
+ <const Path extends string>(path: Path): SelectorProjection<"selectSnapshot", Path> & (<State extends Machine.Machine.AtomicSnapshot<string, unknown>, Event, Error, Output, StartError, Emitted>(self: MachineAtom<State, Event, Error, Output, StartError, Emitted> & EnsureSelectorPath<State, Path>) => Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotByIdentifier<State, Extract<Path, SnapshotIdentifier<State>>>>, StartError | Error>>);
306
+ <State extends Machine.Machine.AtomicSnapshot<string, unknown>, Event, Error, Output, StartError, Emitted, const Path extends SnapshotIdentifier<State>>(self: MachineAtom<State, Event, Error, Output, StartError, Emitted>, path: Path): Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotByIdentifier<State, Path>>, StartError | Error>>;
307
+ };
284
308
  /**
285
309
  * Selects the typed value for an active state path in a directly owned child.
286
310
  *
287
311
  * Valid paths and their selected value types are inferred from the child
288
- * bridge. An inactive child produces `Option.none()`. Keep the returned atom
289
- * stable when constructing it inside a component.
312
+ * bridge. An inactive child produces `Option.none()`. Repeated calls with the
313
+ * same child bridge and path return the same atom.
290
314
  *
291
315
  * **Example**
292
316
  *
@@ -298,25 +322,35 @@ export declare const selectSnapshot: <State extends Machine.Machine.AtomicSnapsh
298
322
  * @category combinators
299
323
  * @since 0.4.0
300
324
  */
301
- export declare const selectChild: <Child extends Machine.ChildMachine.Any, StartError, const Path extends ValuedSnapshotIdentifier<ChildState<Child>>>(self: ChildMachineAtom<Child, StartError>, path: Path) => Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotValueByIdentifier<ChildState<Child>, Path>>, StartError | RefError<Machine.ChildMachine.Ref<Child>>>>;
325
+ export declare const selectChild: {
326
+ <Child extends Machine.ChildMachine.Any = never, StartError = never, const Path extends ValuedSnapshotIdentifier<ChildState<Child>> = ValuedSnapshotIdentifier<ChildState<Child>>>(path: Path): SelectorProjection<"selectChild", Path> & ((self: ChildMachineAtom<Child, StartError>) => Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotValueByIdentifier<ChildState<Child>, Path>>, StartError | RefError<Machine.ChildMachine.Ref<Child>>>>);
327
+ <const Path extends string>(path: Path): SelectorProjection<"selectChild", Path> & (<Child extends Machine.ChildMachine.Any, StartError>(self: ChildMachineAtom<Child, StartError> & EnsureValuedSelectorPath<ChildState<Child>, Path>) => Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotValueByIdentifier<ChildState<Child>, Extract<Path, ValuedSnapshotIdentifier<ChildState<Child>>>>>, StartError | RefError<Machine.ChildMachine.Ref<Child>>>>);
328
+ <Child extends Machine.ChildMachine.Any, StartError, const Path extends ValuedSnapshotIdentifier<ChildState<Child>>>(self: ChildMachineAtom<Child, StartError>, path: Path): Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotValueByIdentifier<ChildState<Child>, Path>>, StartError | RefError<Machine.ChildMachine.Ref<Child>>>>;
329
+ };
302
330
  /**
303
331
  * Selects the typed logical snapshot for an active state path in an invoked
304
332
  * child.
305
333
  *
306
334
  * An inactive child or state path produces `Option.none()`. Unlike
307
335
  * {@link selectChild}, the selected value retains its child snapshot topology.
308
- * The derived atom suppresses structurally equal updates.
336
+ * The derived atom suppresses structurally equal updates. Repeated calls with
337
+ * the same child bridge and path return the same atom.
309
338
  *
310
339
  * @category combinators
311
340
  * @since 0.7.0
312
341
  */
313
- export declare const selectSnapshotChild: <Child extends Machine.ChildMachine.Any, StartError, const Path extends SnapshotIdentifier<ChildState<Child>>>(self: ChildMachineAtom<Child, StartError>, path: Path) => Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotByIdentifier<ChildState<Child>, Path>>, StartError | RefError<Machine.ChildMachine.Ref<Child>>>>;
342
+ export declare const selectSnapshotChild: {
343
+ <Child extends Machine.ChildMachine.Any = never, StartError = never, const Path extends SnapshotIdentifier<ChildState<Child>> = SnapshotIdentifier<ChildState<Child>>>(path: Path): SelectorProjection<"selectSnapshotChild", Path> & ((self: ChildMachineAtom<Child, StartError>) => Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotByIdentifier<ChildState<Child>, Path>>, StartError | RefError<Machine.ChildMachine.Ref<Child>>>>);
344
+ <const Path extends string>(path: Path): SelectorProjection<"selectSnapshotChild", Path> & (<Child extends Machine.ChildMachine.Any, StartError>(self: ChildMachineAtom<Child, StartError> & EnsureSelectorPath<ChildState<Child>, Path>) => Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotByIdentifier<ChildState<Child>, Extract<Path, SnapshotIdentifier<ChildState<Child>>>>>, StartError | RefError<Machine.ChildMachine.Ref<Child>>>>);
345
+ <Child extends Machine.ChildMachine.Any, StartError, const Path extends SnapshotIdentifier<ChildState<Child>>>(self: ChildMachineAtom<Child, StartError>, path: Path): Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotByIdentifier<ChildState<Child>, Path>>, StartError | RefError<Machine.ChildMachine.Ref<Child>>>>;
346
+ };
314
347
  /**
315
348
  * Returns whether a state path is active.
316
349
  *
317
350
  * Valid paths are inferred from the bridge snapshot.
318
- * The derived atom suppresses equal updates. Runtime failures remain in the
319
- * typed failure channel.
351
+ * The derived atom suppresses equal updates. Repeated calls with the same
352
+ * bridge and path return the same atom. Runtime failures remain in the typed
353
+ * failure channel.
320
354
  *
321
355
  * **Example**
322
356
  *
@@ -343,18 +377,26 @@ export declare const selectSnapshotChild: <Child extends Machine.ChildMachine.An
343
377
  * @category combinators
344
378
  * @since 0.4.0
345
379
  */
346
- export declare const matches: <State extends Machine.Machine.AtomicSnapshot<string, unknown>, Event, Error, Output, StartError, Emitted, const Path extends SnapshotIdentifier<State>>(self: MachineAtom<State, Event, Error, Output, StartError, Emitted>, path: Path) => Atom.Atom<AsyncResult.AsyncResult<boolean, StartError | Error>>;
380
+ export declare const matches: {
381
+ <State extends Machine.Machine.AtomicSnapshot<string, unknown> = never, Event = never, Error = never, Output = never, StartError = never, Emitted = never, const Path extends SnapshotIdentifier<State> = SnapshotIdentifier<State>>(path: Path): SelectorProjection<"matches", Path> & ((self: MachineAtom<State, Event, Error, Output, StartError, Emitted>) => Atom.Atom<AsyncResult.AsyncResult<boolean, StartError | Error>>);
382
+ <const Path extends string>(path: Path): SelectorProjection<"matches", Path> & (<State extends Machine.Machine.AtomicSnapshot<string, unknown>, Event, Error, Output, StartError, Emitted>(self: MachineAtom<State, Event, Error, Output, StartError, Emitted> & EnsureSelectorPath<State, Path>) => Atom.Atom<AsyncResult.AsyncResult<boolean, StartError | Error>>);
383
+ <State extends Machine.Machine.AtomicSnapshot<string, unknown>, Event, Error, Output, StartError, Emitted, const Path extends SnapshotIdentifier<State>>(self: MachineAtom<State, Event, Error, Output, StartError, Emitted>, path: Path): Atom.Atom<AsyncResult.AsyncResult<boolean, StartError | Error>>;
384
+ };
347
385
  /**
348
386
  * Returns whether a state path is active in a directly owned child.
349
387
  *
350
388
  * Valid paths are inferred from the child bridge snapshot.
351
- * An inactive child produces `false`. Keep the returned atom stable when
352
- * constructing it inside a component.
389
+ * An inactive child produces `false`. Repeated calls with the same child
390
+ * bridge and path return the same atom.
353
391
  *
354
392
  * @category combinators
355
393
  * @since 0.4.0
356
394
  */
357
- export declare const matchesChild: <Child extends Machine.ChildMachine.Any, StartError, const Path extends SnapshotIdentifier<ChildState<Child>>>(self: ChildMachineAtom<Child, StartError>, path: Path) => Atom.Atom<AsyncResult.AsyncResult<boolean, StartError | RefError<Machine.ChildMachine.Ref<Child>>>>;
395
+ export declare const matchesChild: {
396
+ <Child extends Machine.ChildMachine.Any = never, StartError = never, const Path extends SnapshotIdentifier<ChildState<Child>> = SnapshotIdentifier<ChildState<Child>>>(path: Path): SelectorProjection<"matchesChild", Path> & ((self: ChildMachineAtom<Child, StartError>) => Atom.Atom<AsyncResult.AsyncResult<boolean, StartError | RefError<Machine.ChildMachine.Ref<Child>>>>);
397
+ <const Path extends string>(path: Path): SelectorProjection<"matchesChild", Path> & (<Child extends Machine.ChildMachine.Any, StartError>(self: ChildMachineAtom<Child, StartError> & EnsureSelectorPath<ChildState<Child>, Path>) => Atom.Atom<AsyncResult.AsyncResult<boolean, StartError | RefError<Machine.ChildMachine.Ref<Child>>>>);
398
+ <Child extends Machine.ChildMachine.Any, StartError, const Path extends SnapshotIdentifier<ChildState<Child>>>(self: ChildMachineAtom<Child, StartError>, path: Path): Atom.Atom<AsyncResult.AsyncResult<boolean, StartError | RefError<Machine.ChildMachine.Ref<Child>>>>;
399
+ };
358
400
  declare const BoundRequirementsTypeId = "~effect/reactivity/AtomMachine/BoundRequirements";
359
401
  type MachineRequirementsOf<M extends Machine.Machine.Any> = MachineRequirements<Machine.Machine.InitialServices<M>, Machine.Machine.Services<M>, Machine.Machine.Event<M>, Machine.Machine.Emit<M>>;
360
402
  type MissingBoundRequirements<Services, M extends Machine.Machine.Any> = Exclude<ExternalRequirements<MachineRequirementsOf<M>>, Services>;
@@ -377,6 +419,23 @@ type MachineInputArgsOf<M extends Machine.Machine.Any> = [
377
419
  ...Machine.Machine.InputArgs<Machine.Machine.InputSchema<M>>
378
420
  ];
379
421
  type MachineAtomOf<M extends Machine.Machine.Any, RuntimeError> = MachineAtom<Machine.Machine.Snapshot<Machine.Machine.States<M>>, Machine.Machine.EventInput<Machine.Machine.InputEvent<M>>, MachineRuntimeError<Machine.Machine.Error<M>, Machine.Machine.Services<M>>, Machine.Machine.Output<M>, MachineStartError<Machine.Machine.InitialError<M>, Machine.Machine.Error<M>, Machine.Machine.InitialServices<M>, Machine.Machine.Services<M>, RuntimeError>, Machine.Machine.EmittedEvent<M>>;
422
+ type FamilyBridge = MachineAtom<any, never, any, any, any, any> | ChildMachineAtom<any, any>;
423
+ type RootFamilySelectorProjection<State> = SelectorProjection<"select", ValuedSnapshotIdentifier<State>> | SelectorProjection<"selectSnapshot", SnapshotIdentifier<State>> | SelectorProjection<"matches", SnapshotIdentifier<State>>;
424
+ type ChildFamilySelectorProjection<Child extends Machine.ChildMachine.Any> = SelectorProjection<"selectChild", ValuedSnapshotIdentifier<ChildSnapshot<Child>>> | SelectorProjection<"selectSnapshotChild", SnapshotIdentifier<ChildSnapshot<Child>>> | SelectorProjection<"matchesChild", SnapshotIdentifier<ChildSnapshot<Child>>>;
425
+ type FamilyProjectionRecord<Bridge extends FamilyBridge, SelectorProjection = never> = Readonly<Record<string, ((bridge: Bridge) => Atom.Atom<any>) | SelectorProjection>>;
426
+ type FamilyProjectedSelectorAtom<Kind extends SelectorProjectionKind, Path extends string, Bridge extends FamilyBridge> = Bridge extends MachineAtom<infer State, infer _Event, infer Error, infer _Output, infer StartError, infer _Emitted> ? Kind extends "select" ? Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotValueByIdentifier<State, Extract<Path, ValuedSnapshotIdentifier<State>>>>, StartError | Error>> : Kind extends "selectSnapshot" ? Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotByIdentifier<State, Extract<Path, SnapshotIdentifier<State>>>>, StartError | Error>> : Kind extends "matches" ? Atom.Atom<AsyncResult.AsyncResult<boolean, StartError | Error>> : never : Bridge extends ChildMachineAtom<infer Child, infer StartError> ? Kind extends "selectChild" ? Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotValueByIdentifier<ChildSnapshot<Child>, Extract<Path, ValuedSnapshotIdentifier<ChildSnapshot<Child>>>>>, StartError | RefError<Machine.ChildMachine.Ref<Child>>>> : Kind extends "selectSnapshotChild" ? Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotByIdentifier<ChildSnapshot<Child>, Extract<Path, SnapshotIdentifier<ChildSnapshot<Child>>>>>, StartError | RefError<Machine.ChildMachine.Ref<Child>>>> : Kind extends "matchesChild" ? Atom.Atom<AsyncResult.AsyncResult<boolean, StartError | RefError<Machine.ChildMachine.Ref<Child>>>> : never : never;
427
+ type FamilyProjectedAtom<Projection, Bridge extends FamilyBridge> = Projection extends SelectorProjection<infer Kind, infer Path> ? FamilyProjectedSelectorAtom<Kind, Path, Bridge> : Projection extends (bridge: Bridge) => infer Source ? Source extends Atom.Atom<any> ? Source : never : never;
428
+ type FamilyAtoms<Key, Bridge extends FamilyBridge, Projections extends Readonly<Record<string, unknown>>> = {
429
+ readonly [Name in keyof Projections]: (key: Key) => Atom.WithoutSerializable<FamilyProjectedAtom<Projections[Name], Bridge>>;
430
+ };
431
+ declare const FamilyInputRequiredTypeId = "~effect/reactivity/AtomMachine/FamilyInputRequired";
432
+ type EnsureFamilyInput<M extends Machine.Machine.Any> = [Machine.Machine.Input<M>] extends [never] ? {
433
+ readonly [FamilyInputRequiredTypeId]: "AtomMachine.family requires a machine with startup input";
434
+ } : unknown;
435
+ type FamilyOptions<Key, Bridge extends FamilyBridge, Projections extends Readonly<Record<string, unknown>>> = {
436
+ readonly atoms: Projections;
437
+ readonly label?: (key: Key, atomName: keyof Projections & string) => string | undefined;
438
+ };
380
439
  type ResumedMachineAtomOf<M extends Machine.Machine.Any, RuntimeError> = MachineAtom<Machine.Machine.Snapshot<Machine.Machine.States<M>>, Machine.Machine.EventInput<Machine.Machine.InputEvent<M>>, MachineRuntimeError<Machine.Machine.Error<M>, Machine.Machine.Services<M>>, Machine.Machine.Output<M>, Machine.MachineSchemaDecodeError | RuntimeError, Machine.Machine.EmittedEvent<M>>;
381
440
  /**
382
441
  * An `AtomMachine` factory with one owned Effect runtime.
@@ -396,7 +455,75 @@ export interface Bound<Services, RuntimeError = never> {
396
455
  readonly make: <M extends Machine.Machine.Any>(machine: M & EnsureBoundRequirements<Services, NoInfer<M>> & EnsureMachineExecutable<NoInfer<M>> & Machine.Machine.RootCompatible<Machine.Machine.ParentEvents<NoInfer<M>>>, ...args: MachineInputArgsOf<M>) => MachineAtomOf<M, RuntimeError>;
397
456
  /** Creates a lazy bridge from a decoded logical snapshot. */
398
457
  readonly resume: <M extends Machine.Machine.Any>(machine: M & EnsureBoundResumeRequirements<Services, NoInfer<M>> & EnsureMachineExecutable<NoInfer<M>> & Machine.Machine.RootCompatible<Machine.Machine.ParentEvents<NoInfer<M>>>, snapshot: Machine.Machine.Snapshot<Machine.Machine.States<M>>) => ResumedMachineAtomOf<M, RuntimeError>;
458
+ /**
459
+ * Creates retained atom families for independent machine inputs using the
460
+ * bound runtime.
461
+ *
462
+ * Each machine input is also the family key. Every projected atom retains
463
+ * its private machine bridge while the projected atom remains reachable.
464
+ *
465
+ * @since 0.28.0
466
+ */
467
+ readonly family: <M extends Machine.Machine.Any, const Projections extends FamilyProjectionRecord<MachineAtomOf<NoInfer<M>, RuntimeError>, RootFamilySelectorProjection<Machine.Machine.Snapshot<Machine.Machine.States<NoInfer<M>>>>>>(machine: M & EnsureBoundRequirements<Services, NoInfer<M>> & EnsureMachineExecutable<NoInfer<M>> & Machine.Machine.RootCompatible<Machine.Machine.ParentEvents<NoInfer<M>>> & EnsureFamilyInput<NoInfer<M>>, options: FamilyOptions<Machine.Machine.Input<NoInfer<M>>, MachineAtomOf<NoInfer<M>, RuntimeError>, Projections>) => FamilyAtoms<Machine.Machine.Input<M>, MachineAtomOf<M, RuntimeError>, Projections>;
399
468
  }
469
+ /**
470
+ * Creates retained atom families for independent machine inputs.
471
+ *
472
+ * The machine input is both startup input and family identity. Each property
473
+ * in `atoms` projects one public atom family from a private machine bridge.
474
+ * Retaining any projected atom retains that bridge without keeping its
475
+ * registry runtime mounted. Keys follow Effect `Equal` and `Hash` semantics.
476
+ * The optional `label` function labels each public projected atom.
477
+ *
478
+ * **Example**
479
+ *
480
+ * ```ts
481
+ * const processAtoms = AtomMachine.family(processMachine, {
482
+ * atoms: {
483
+ * ready: AtomMachine.matches("Ready"),
484
+ * state: (machine) => machine.state,
485
+ * send: (machine) => machine.send
486
+ * }
487
+ * })
488
+ *
489
+ * const readyAtom = processAtoms.ready("effect")
490
+ * const sendAtom = processAtoms.send("effect")
491
+ * ```
492
+ *
493
+ * @category constructors
494
+ * @since 0.28.0
495
+ */
496
+ export declare const family: <M extends Machine.Machine.Any, const Projections extends FamilyProjectionRecord<MachineAtomOf<NoInfer<M>, never>, RootFamilySelectorProjection<Machine.Machine.Snapshot<Machine.Machine.States<NoInfer<M>>>>>>(machine: M & EnsureNoExternalRequirements<MachineRequirementsOf<NoInfer<M>>> & EnsureMachineExecutable<NoInfer<M>> & Machine.Machine.RootCompatible<Machine.Machine.ParentEvents<NoInfer<M>>> & EnsureFamilyInput<NoInfer<M>>, options: FamilyOptions<Machine.Machine.Input<NoInfer<M>>, MachineAtomOf<NoInfer<M>, never>, Projections>) => FamilyAtoms<Machine.Machine.Input<M>, MachineAtomOf<M, never>, Projections>;
497
+ /**
498
+ * Creates retained atom families for keyed direct-child lookup.
499
+ *
500
+ * The `child` function maps each family key to one direct child descriptor.
501
+ * Every projected atom retains the resulting child bridge while the projected
502
+ * atom remains reachable. Keys follow Effect `Equal` and `Hash` semantics.
503
+ *
504
+ * **Example**
505
+ *
506
+ * ```ts
507
+ * const Plant = Machine.childFamily(plantMachine)
508
+ *
509
+ * const plantAtoms = AtomMachine.familyChild(parentMachineAtom, {
510
+ * child: (plantId: string) => Plant(plantId),
511
+ * atoms: {
512
+ * broken: AtomMachine.matchesChild("Broken"),
513
+ * state: (child) => child.state,
514
+ * send: (child) => child.send
515
+ * }
516
+ * })
517
+ * ```
518
+ *
519
+ * @category constructors
520
+ * @since 0.28.0
521
+ */
522
+ export declare const familyChild: <Key, Parent extends MachineAtom<any, never, any, any, any, any> | ChildMachineAtom<any, any>, Child extends Machine.ChildMachine.Any, const Projections extends FamilyProjectionRecord<ChildOf<Parent, Child>, ChildFamilySelectorProjection<Child>>>(parent: Parent, options: {
523
+ readonly child: (key: Key) => Child;
524
+ readonly atoms: Projections;
525
+ readonly label?: (key: Key, atomName: keyof Projections & string) => string | undefined;
526
+ }) => FamilyAtoms<Key, ChildOf<Parent, Child>, Projections>;
400
527
  /**
401
528
  * Creates atoms backed by a running machine.
402
529
  *