@mmstack/primitives 20.16.0 → 20.17.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/index.d.ts CHANGED
@@ -3554,6 +3554,18 @@ type RegisterCheckpoint = {
3554
3554
  readonly siblings: readonly SyncSibling[];
3555
3555
  readonly water: Readonly<Record<string, Hlc>>;
3556
3556
  };
3557
+ /** One register's live siblings, as {@link ConvergingApply.liveUnder} reports them. */
3558
+ type LiveRegister = {
3559
+ readonly path: readonly Key[];
3560
+ readonly siblings: readonly SyncSibling[];
3561
+ };
3562
+ /**
3563
+ * The highest HLC this replica has applied from each origin: what it has observed, as a version
3564
+ * vector. A sibling whose `hlc` is at or below the vector's entry for its origin was observed by
3565
+ * this replica (one writer per origin, applied in that writer's order). Monotone: maintained on
3566
+ * every ingest and checkpoint load, never lowered by pruning or reset.
3567
+ */
3568
+ type AppliedFrontier = Readonly<Record<string, Hlc>>;
3557
3569
  type ConvergingApply = {
3558
3570
  /**
3559
3571
  * Fold an envelope into the per-path registers and return the materialization deltas the
@@ -3586,6 +3598,14 @@ type ConvergingApply = {
3586
3598
  captureFrontier(): DotFrontier;
3587
3599
  /** The live (causally-maximal) siblings at a path: the emission-frontier read. */
3588
3600
  liveAt(path: readonly Key[]): readonly SyncSibling[];
3601
+ /**
3602
+ * The live registers at and under a path, shallow-first: what a reader compares its own
3603
+ * observation frontier against to tell "someone wrote here since I looked" for a whole
3604
+ * subtree (a fork's conflict projection). Registers with no live sibling are omitted.
3605
+ */
3606
+ liveUnder(path: readonly Key[]): readonly LiveRegister[];
3607
+ /** The per-origin observation vector; see {@link AppliedFrontier}. */
3608
+ appliedFrontier(): AppliedFrontier;
3589
3609
  /**
3590
3610
  * Deepest-live-wins materialization of the whole tree from the current register state: the
3591
3611
  * root register's fold value with every live descendant fold grafted on. This is what a
@@ -3712,6 +3732,19 @@ type OpSync<T = unknown> = {
3712
3732
  * never saw. Scoped and synchronous, like {@link override}.
3713
3733
  */
3714
3734
  commitScope(frontier: DotFrontier, fn: () => void): void;
3735
+ /**
3736
+ * Read the live registers at and under a path (see {@link ConvergingApply.liveUnder}). A pure
3737
+ * read of what this peer has applied: pending local writes are not in it until they flush.
3738
+ */
3739
+ liveUnder(path: readonly Key[]): readonly LiveRegister[];
3740
+ /** The live siblings at one path (see {@link ConvergingApply.liveAt}); a pure read like `liveUnder`. */
3741
+ liveAt(path: readonly Key[]): readonly SyncSibling[];
3742
+ /**
3743
+ * What this replica has observed, per origin (see {@link AppliedFrontier}). A pure read: pending
3744
+ * local writes are not in it until they flush. The comparable form for "did the writer of this
3745
+ * sibling's register see that write" questions, which relay order can never answer.
3746
+ */
3747
+ appliedFrontier(): AppliedFrontier;
3715
3748
  /** Per-origin latest versions — the handshake watermark. */
3716
3749
  watermark(): Record<string, number>;
3717
3750
  /** The full checkpoint (root + register state + watermark), for answering a peer's hello. */
@@ -4677,4 +4710,4 @@ type CreateHistoryOptions<T> = Omit<CreateSignalOptions<T[]>, 'equal'> & {
4677
4710
  declare function withHistory<T>(sourceOrValue: WritableSignal<T> | T, opt?: CreateHistoryOptions<T>): SignalWithHistory<T>;
4678
4711
 
4679
4712
  export { CONCURRENCY_INSTRUMENTATION, MmActivity, MmTransition, MmViewTransitionName, OP_PROTO_VERSION, PAUSABLE_OPTIONS, PERSISTED_STORE_OPTIONS, POS_SEGMENT, SuspenseBoundary, SuspenseBoundaryBase, UnscopedSuspenseBoundary, activeTransaction, applyOps, batteryStatus, bridgeScopeToPendingTasks, chunked, clipboard, combineWith, compareHlc, compareSiblings, compareTotal, createAttributedPending, createConvergingApply, createForwardingScope, createHlcClock, createStoreContext, createTransaction, createTransitionScope, debounce, debounced, defaultFold, deferredValue, derived, diffOps, distinct, elementSize, elementVisibility, extendStore, filter, filterWith, focusWithin, forkStore, geolocation, getTransitionScope, holdUntilReady, idle, indexArray, injectPaused, injectRegisterResource, injectStartTransaction, injectStartTransition, injectTransitionScope, insertElement, invertBatch, isConflicted, isDerivation, isLeaf, isMutable, isOpaque, isStore, isStored, keepPrevious, keyArray, keyedArray, keyedContainer, latest, lww, map, mapArray, mapObject, mediaQuery, merge3, mergeThree, mousePosition, moveElement, mutable, mutableStore, nestedEffect, networkStatus, opLog, opSync, opaque, orderedEntries, orientation, pageVisibility, pairwise, pausableComputed, pausableEffect, pausableSignal, perfCustomTracks, persist, persistedStore, pipeable, piped, pointerDrag, policyStrategy, pooled, pooledArray, pooledKeys, pooledMap, pooledSet, posBetween, prefersDarkMode, prefersReducedMotion, preserve, projection, provideConcurrencyInstrumentation, provideForwardingTransitionScope, providePausableOptions, providePaused, providePersistedStoreOptions, provideTransitionScope, rebalanceContainer, rebaseOps, reconcile, registerResource, removeElement, resolvePause, scan, scrollPosition, select, sensor, sensors, signalFromEvent, startWith, store, storeHistory, stored, syncedFork, tabSync, tap, throttle, throttled, toFakeDerivation, toFakeSignalDerivation, toStore, toWritable, traced, until, use, validateEnvelope, windowSize, withHistory, wrappedContainer };
4680
- export type { AsyncStore, BatteryStatus, ClipboardSignal, Computation, ConcurrencyInstrumentation, Conflicted, ContainerEntry, ContainerNode, ConvergingApply, CreateChunkedOptions, CreateDebouncedOptions, CreateHistoryOptions, CreateLatestOptions, CreateOpLogOptions, CreatePooledOptions, CreateProvidedPooledOptions, CreateStoredOptions, CreateThrottledOptions, CreateTransitionScopeOptions, DebouncedSignal, DeferStrategy, DeferredSignal, DeferredValueOptions, DerivedSignal, Dot, DotFrontier, DuplicateKeyPolicy, ElementSize, ElementSizeOptions, ElementSizeSignal, ElementVisibilityOptions, ElementVisibilitySignal, ExtendStoreOptions, FoldFn, FoldPolicyEntry, FoldResult, Fork, ForkStoreOptions, ForkStrategy, ForwardingTransitionScope, Frame, GeolocationOptions, GeolocationSignal, Hlc, HlcClock, IdleOptions, IdleSignal, KeepPreviousOptions, KeyedContainer, KeyedContainerConfig, LatestSignal, MergeContext, MergeFn, MergePolicyEntry, MmTransitionContext, MousePositionOptions, MousePositionSignal, MutableSignal, MutableSignalStore, NetworkStatusSignal, OpBatch, OpEnvelope, OpLog, OpLogDriver, OpSync, OpSyncCheckpoint, OpSyncOptions, Opaque, OrderedEntry, PausableOptions, PauseOption, PersistHandle, PersistOptions, PersistedStore, PersistedStoreDefaults, PersistedStoreOptions, PipeableSignal, PointerDragOptions, PointerDragSignal, PointerDragState, PointerModifiers, PointerPoint, ProjectionOptions, RebaseResult, ReconcileFn, ReconcileKey, RegisterCheckpoint, RegisterOptions, ResourceLike, ScreenOrientation, ScreenOrientationState, ScrollPosition, ScrollPositionOptions, ScrollPositionSignal, SelfKeyedContainer, SensorRunOptions, SignalFromEventOptions, SignalStore, SignalWithHistory, StoreHistory, StoreHistoryOptions, StoreOp, StoreOptions, StoreTabSyncOptions, StoredSignal, SuspendType, SyncOp, SyncSibling, SyncSignalOptions, SyncedFork, TabSyncBus, ThrottledSignal, Traced, Transaction, TransactionRef, TransitionRef, TransitionScope, UntilOptions, UseSource, Vivify, WindowSize, WindowSizeOptions, WindowSizeSignal, WithVivify, WritableSignalStore, toStoreOptions };
4713
+ export type { AppliedFrontier, AsyncStore, BatteryStatus, ClipboardSignal, Computation, ConcurrencyInstrumentation, Conflicted, ContainerEntry, ContainerNode, ConvergingApply, CreateChunkedOptions, CreateDebouncedOptions, CreateHistoryOptions, CreateLatestOptions, CreateOpLogOptions, CreatePooledOptions, CreateProvidedPooledOptions, CreateStoredOptions, CreateThrottledOptions, CreateTransitionScopeOptions, DebouncedSignal, DeferStrategy, DeferredSignal, DeferredValueOptions, DerivedSignal, Dot, DotFrontier, DuplicateKeyPolicy, ElementSize, ElementSizeOptions, ElementSizeSignal, ElementVisibilityOptions, ElementVisibilitySignal, ExtendStoreOptions, FoldFn, FoldPolicyEntry, FoldResult, Fork, ForkStoreOptions, ForkStrategy, ForwardingTransitionScope, Frame, GeolocationOptions, GeolocationSignal, Hlc, HlcClock, IdleOptions, IdleSignal, KeepPreviousOptions, KeyedContainer, KeyedContainerConfig, LatestSignal, LiveRegister, MergeContext, MergeFn, MergePolicyEntry, MmTransitionContext, MousePositionOptions, MousePositionSignal, MutableSignal, MutableSignalStore, NetworkStatusSignal, OpBatch, OpEnvelope, OpLog, OpLogDriver, OpSync, OpSyncCheckpoint, OpSyncOptions, Opaque, OrderedEntry, PausableOptions, PauseOption, PersistHandle, PersistOptions, PersistedStore, PersistedStoreDefaults, PersistedStoreOptions, PipeableSignal, PointerDragOptions, PointerDragSignal, PointerDragState, PointerModifiers, PointerPoint, ProjectionOptions, RebaseResult, ReconcileFn, ReconcileKey, RegisterCheckpoint, RegisterOptions, ResourceLike, ScreenOrientation, ScreenOrientationState, ScrollPosition, ScrollPositionOptions, ScrollPositionSignal, SelfKeyedContainer, SensorRunOptions, SignalFromEventOptions, SignalStore, SignalWithHistory, StoreHistory, StoreHistoryOptions, StoreOp, StoreOptions, StoreTabSyncOptions, StoredSignal, SuspendType, SyncOp, SyncSibling, SyncSignalOptions, SyncedFork, TabSyncBus, ThrottledSignal, Traced, Transaction, TransactionRef, TransitionRef, TransitionScope, UntilOptions, UseSource, Vivify, WindowSize, WindowSizeOptions, WindowSizeSignal, WithVivify, WritableSignalStore, toStoreOptions };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mmstack/primitives",
3
- "version": "20.16.0",
3
+ "version": "20.17.0",
4
4
  "keywords": [
5
5
  "angular",
6
6
  "signals",