atom.io 0.32.0 → 0.32.1

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.
Files changed (53) hide show
  1. package/data/dist/index.d.ts +8 -925
  2. package/data/dist/index.js +2 -2
  3. package/dist/{chunk-5F2V7S3B.js → chunk-3PQTWLQQ.js} +1 -1
  4. package/dist/{chunk-Z2UJW4NQ.js → chunk-3ZFTRSNG.js} +3 -3
  5. package/dist/{chunk-354XQWHH.js → chunk-KVI5OBF2.js} +5 -5
  6. package/dist/{chunk-GY2XQYZY.js → chunk-UQEYZ3OI.js} +45 -40
  7. package/dist/{chunk-R3ZUK5EH.js → chunk-UYYKOGZQ.js} +16 -6
  8. package/dist/{chunk-ECOMOMUN.js → chunk-VRJP2PCU.js} +10 -10
  9. package/dist/{chunk-NF7FJKJD.js → chunk-X7SD2NXU.js} +2 -1
  10. package/dist/index.d.ts +43 -514
  11. package/dist/index.js +1 -1
  12. package/eslint-plugin/dist/index.js +3 -3
  13. package/eslint-plugin/src/rules/explicit-state-types.ts +1 -0
  14. package/eslint-plugin/src/rules/synchronous-selector-dependencies.ts +1 -0
  15. package/eslint-plugin/src/walk.ts +1 -0
  16. package/internal/dist/index.d.ts +8 -656
  17. package/internal/dist/index.js +1 -1
  18. package/internal/src/join/join-internal.ts +1 -1
  19. package/internal/src/junction.ts +7 -4
  20. package/internal/src/set-state/emit-update.ts +3 -1
  21. package/internal/src/timeline/create-timeline.ts +2 -1
  22. package/internal/src/timeline/time-travel.ts +2 -1
  23. package/introspection/dist/index.d.ts +6 -922
  24. package/introspection/dist/index.js +2 -2
  25. package/json/dist/index.d.ts +5 -899
  26. package/json/dist/index.js +1 -1
  27. package/package.json +8 -8
  28. package/react/dist/index.d.ts +3 -921
  29. package/react/dist/index.js +2 -2
  30. package/react-devtools/dist/index.d.ts +1 -26
  31. package/react-devtools/dist/index.js +28 -15
  32. package/react-devtools/src/Updates.tsx +12 -0
  33. package/react-devtools/src/json-editor/editors-by-type/utilities/cast-to-json.ts +2 -1
  34. package/realtime/dist/index.d.ts +7 -202
  35. package/realtime/dist/index.js +2 -2
  36. package/realtime/src/realtime-continuity.ts +1 -0
  37. package/realtime-client/dist/index.d.ts +21 -959
  38. package/realtime-client/dist/index.js +2 -2
  39. package/realtime-react/dist/index.d.ts +12 -166
  40. package/realtime-react/dist/index.js +4 -4
  41. package/realtime-server/dist/index.d.ts +26 -971
  42. package/realtime-server/dist/index.js +3 -3
  43. package/realtime-server/src/ipc-sockets/child-socket.ts +2 -0
  44. package/realtime-server/src/realtime-server-stores/server-sync-store.ts +10 -2
  45. package/realtime-testing/dist/index.d.ts +3 -1091
  46. package/realtime-testing/dist/index.js +7 -7
  47. package/transceivers/set-rtx/dist/index.d.ts +6 -40
  48. package/transceivers/set-rtx/dist/index.js +1 -1
  49. package/transceivers/set-rtx/src/set-rtx.ts +4 -7
  50. package/web/dist/index.d.ts +1 -30
  51. package/react-devtools/src/json-editor/assets/Untitled-1.ai +2 -1436
  52. package/react-devtools/src/json-editor/assets/data-vis.ai +1 -1548
  53. package/react-devtools/src/json-editor/comp/json-editor-sketches.ai +5 -1449
@@ -1,4 +1,4 @@
1
- import { createStandaloneSelector, findInStore, IMPLICIT, capitalize, createRegularAtom, createRegularAtomFamily, createSelectorFamily } from '../../dist/chunk-GY2XQYZY.js';
1
+ import { IMPLICIT, createStandaloneSelector, findInStore, capitalize, createRegularAtom, createRegularAtomFamily, createSelectorFamily } from '../../dist/chunk-UQEYZ3OI.js';
2
2
  import '../../dist/chunk-XWL6SNVU.js';
3
3
 
4
4
  // data/src/dict.ts
@@ -25,7 +25,7 @@ function struct(options, store = IMPLICIT.STORE) {
25
25
  key: `${options.key}.${key}`,
26
26
  default: options.default[key]
27
27
  },
28
- undefined
28
+ void 0
29
29
  );
30
30
  return acc;
31
31
  }, {});
@@ -1,4 +1,4 @@
1
- import { IMPLICIT, setIntoStore, subscribeToState, getFromStore, findInStore, getJsonToken, withdraw, subscribeToTimeline, undo, redo } from './chunk-GY2XQYZY.js';
1
+ import { IMPLICIT, setIntoStore, subscribeToState, getFromStore, findInStore, getJsonToken, withdraw, subscribeToTimeline, redo, undo } from './chunk-UQEYZ3OI.js';
2
2
  import * as React5 from 'react';
3
3
  import { jsx } from 'react/jsx-runtime';
4
4
 
@@ -1,5 +1,5 @@
1
1
  import { persistSync } from './chunk-4LWKCEW3.js';
2
- import { atom, selector, setIntoStore, getEpochNumberOfContinuity, isRootStore, ingestTransactionUpdate, setEpochNumberOfContinuity, disposeAtom, parseJson, getJsonToken, getUpdateToken, subscribeToState, subscribeToTransaction, getFromStore, assignTransactionToContinuity, actUponStore } from './chunk-GY2XQYZY.js';
2
+ import { atom, selector, setIntoStore, getEpochNumberOfContinuity, isRootStore, ingestTransactionUpdate, setEpochNumberOfContinuity, disposeAtom, parseJson, getJsonToken, getUpdateToken, subscribeToState, subscribeToTransaction, getFromStore, assignTransactionToContinuity, actUponStore } from './chunk-UQEYZ3OI.js';
3
3
 
4
4
  // realtime-client/src/continuity/register-and-attempt-confirmed-update.ts
5
5
  var useRegisterAndAttemptConfirmedUpdate = (store, continuityKey, socket, optimisticUpdates, confirmedUpdates) => (confirmed) => {
@@ -162,7 +162,7 @@ var useRegisterAndAttemptConfirmedUpdate = (store, continuityKey, socket, optimi
162
162
  ingestTransactionUpdate(`newValue`, confirmed, store);
163
163
  socket.emit(`ack:${continuityKey}`, confirmed.epoch);
164
164
  setEpochNumberOfContinuity(store, continuityKey, confirmed.epoch);
165
- } else if (isRoot && continuityEpoch !== undefined) {
165
+ } else if (isRoot && continuityEpoch !== void 0) {
166
166
  store.logger.info(
167
167
  `\u{1F9D1}\u200D\u2696\uFE0F`,
168
168
  `continuity`,
@@ -385,7 +385,7 @@ function pushState(store, socket, token) {
385
385
  // realtime-client/src/realtime-client-stores/client-main-store.ts
386
386
  var myIdState__INTERNAL = atom({
387
387
  key: `mySocketId__INTERNAL`,
388
- default: undefined
388
+ default: void 0
389
389
  });
390
390
  var myIdState = selector({
391
391
  key: `mySocketId`,
@@ -1,6 +1,6 @@
1
- import { myIdState__INTERNAL, pullAtom, pullAtomFamilyMember, pullMutableAtom, pullMutableAtomFamilyMember, pullSelector, pullSelectorFamilyMember, pushState, serverAction, syncContinuity } from './chunk-Z2UJW4NQ.js';
2
- import { useI, StoreContext, useO } from './chunk-5F2V7S3B.js';
3
- import { findInStore, actUponStore, arbitrary } from './chunk-GY2XQYZY.js';
1
+ import { myIdState__INTERNAL, pullAtom, pullAtomFamilyMember, pullMutableAtom, pullMutableAtomFamilyMember, pullSelector, pullSelectorFamilyMember, pushState, serverAction, syncContinuity } from './chunk-3ZFTRSNG.js';
2
+ import { useI, StoreContext, useO } from './chunk-3PQTWLQQ.js';
3
+ import { findInStore, actUponStore, arbitrary } from './chunk-UQEYZ3OI.js';
4
4
  import * as React from 'react';
5
5
  import { jsx } from 'react/jsx-runtime';
6
6
 
@@ -17,7 +17,7 @@ var RealtimeProvider = ({ children, socket }) => {
17
17
  setMyId(socket.id);
18
18
  });
19
19
  socket?.on(`disconnect`, () => {
20
- setMyId(undefined);
20
+ setMyId(void 0);
21
21
  });
22
22
  }, [socket, setMyId]);
23
23
  return /* @__PURE__ */ jsx(RealtimeContext.Provider, { value: { socket, services }, children });
@@ -59,7 +59,7 @@ function useRealtimeService(key, create) {
59
59
  if (service) {
60
60
  service[0]++;
61
61
  } else {
62
- const dispose = socket ? create(socket) : undefined;
62
+ const dispose = socket ? create(socket) : void 0;
63
63
  service = [1, dispose];
64
64
  services?.set(key, service);
65
65
  }
@@ -54,7 +54,7 @@ var Future = class extends Promise {
54
54
  );
55
55
  } else {
56
56
  this.resolve(value);
57
- this.fate = undefined;
57
+ this.fate = void 0;
58
58
  }
59
59
  }
60
60
  };
@@ -451,7 +451,9 @@ var emitUpdate = (store, state, update) => {
451
451
  state.subject.subscribers
452
452
  );
453
453
  break;
454
- default:
454
+ case `atom`:
455
+ case `selector`:
456
+ case `readonly_selector`:
455
457
  store.logger.info(
456
458
  `\u{1F4E2}`,
457
459
  state.type,
@@ -911,11 +913,11 @@ var createWritableSelector = (store, options, family) => {
911
913
  function createStandaloneSelector(store, options) {
912
914
  const isWritable = `set` in options;
913
915
  if (isWritable) {
914
- const state2 = createWritableSelector(store, options, undefined);
916
+ const state2 = createWritableSelector(store, options, void 0);
915
917
  store.on.selectorCreation.next(state2);
916
918
  return state2;
917
919
  }
918
- const state = createReadonlySelector(store, options, undefined);
920
+ const state = createReadonlySelector(store, options, void 0);
919
921
  store.on.selectorCreation.next(state);
920
922
  return state;
921
923
  }
@@ -1101,7 +1103,7 @@ function createSelectorFamily(store, options) {
1101
1103
  // internal/src/families/init-family-member.ts
1102
1104
  function initFamilyMemberInStore(store, token, key) {
1103
1105
  const family = store.families.get(token.key);
1104
- if (family === undefined) {
1106
+ if (family === void 0) {
1105
1107
  throw new NotFoundError(token, store);
1106
1108
  }
1107
1109
  const state = family(key);
@@ -1669,7 +1671,7 @@ function setEpochNumberOfAction(store, transactionKey, newEpoch) {
1669
1671
  return;
1670
1672
  }
1671
1673
  const continuityKey = store.transactionMeta.actionContinuities.getRelatedKey(transactionKey);
1672
- if (continuityKey !== undefined) {
1674
+ if (continuityKey !== void 0) {
1673
1675
  store.transactionMeta.epoch.set(continuityKey, newEpoch);
1674
1676
  }
1675
1677
  }
@@ -1843,8 +1845,8 @@ var Junction = class {
1843
1845
  }
1844
1846
  replaceRelationsSafely(x, ys) {
1845
1847
  const xRelationsPrev = this.relations.get(x);
1846
- let a = this.isAType?.(x) ? x : undefined;
1847
- let b = a === undefined ? x : undefined;
1848
+ let a = this.isAType?.(x) ? x : void 0;
1849
+ let b = a === void 0 ? x : void 0;
1848
1850
  if (xRelationsPrev) {
1849
1851
  for (const y of xRelationsPrev) {
1850
1852
  a ??= y;
@@ -1926,8 +1928,8 @@ var Junction = class {
1926
1928
  };
1927
1929
  }
1928
1930
  for (const [x, ys] of data.relations ?? []) {
1929
- let a = this.isAType?.(x) ? x : undefined;
1930
- let b = a === undefined ? x : undefined;
1931
+ let a = this.isAType?.(x) ? x : void 0;
1932
+ let b = a === void 0 ? x : void 0;
1931
1933
  for (const y of ys) {
1932
1934
  a ??= y;
1933
1935
  b ??= y;
@@ -1961,7 +1963,7 @@ var Junction = class {
1961
1963
  const relation = params[0];
1962
1964
  a = relation[this.a];
1963
1965
  b = relation[this.b];
1964
- content = undefined;
1966
+ content = void 0;
1965
1967
  break;
1966
1968
  }
1967
1969
  case 2: {
@@ -1988,10 +1990,12 @@ var Junction = class {
1988
1990
  const bPrev = this.getRelatedKey(a);
1989
1991
  if (bPrev && bPrev !== b) this.delete(a, bPrev);
1990
1992
  }
1991
- case `1:n`: {
1992
- const aPrev = this.getRelatedKey(b);
1993
- if (aPrev && aPrev !== a) this.delete(aPrev, b);
1994
- }
1993
+ case `1:n`:
1994
+ {
1995
+ const aPrev = this.getRelatedKey(b);
1996
+ if (aPrev && aPrev !== a) this.delete(aPrev, b);
1997
+ }
1998
+ break;
1995
1999
  }
1996
2000
  if (content) {
1997
2001
  const contentKey = this.makeContentKey(a, b);
@@ -2006,7 +2010,7 @@ var Junction = class {
2006
2010
  // @ts-expect-error we deduce that this.a may index x
2007
2011
  typeof x === `string` ? x : x[this.a]
2008
2012
  );
2009
- if (a === undefined && typeof b === `string`) {
2013
+ if (a === void 0 && typeof b === `string`) {
2010
2014
  const bRelations = this.getRelatedKeys(b);
2011
2015
  if (bRelations) {
2012
2016
  for (const bRelation of bRelations) {
@@ -2014,7 +2018,7 @@ var Junction = class {
2014
2018
  }
2015
2019
  }
2016
2020
  }
2017
- if (typeof a === `string` && b === undefined) {
2021
+ if (typeof a === `string` && b === void 0) {
2018
2022
  const aRelations = this.getRelatedKeys(a);
2019
2023
  if (aRelations) {
2020
2024
  for (const aRelation of aRelations) {
@@ -2071,7 +2075,7 @@ var Junction = class {
2071
2075
  getRelationEntries(input) {
2072
2076
  const a = input[this.a];
2073
2077
  const b = input[this.b];
2074
- if (a !== undefined && b === undefined) {
2078
+ if (a !== void 0 && b === void 0) {
2075
2079
  const aRelations = this.getRelatedKeys(a);
2076
2080
  if (aRelations) {
2077
2081
  return [...aRelations].map((aRelation) => {
@@ -2079,7 +2083,7 @@ var Junction = class {
2079
2083
  });
2080
2084
  }
2081
2085
  }
2082
- if (a === undefined && b !== undefined) {
2086
+ if (a === void 0 && b !== void 0) {
2083
2087
  const bRelations = this.getRelatedKeys(b);
2084
2088
  if (bRelations) {
2085
2089
  return [...bRelations].map((bRelation) => {
@@ -2114,7 +2118,7 @@ var LazyMap = class extends Map {
2114
2118
  const value = this.source.get(key);
2115
2119
  return value;
2116
2120
  }
2117
- return undefined;
2121
+ return void 0;
2118
2122
  }
2119
2123
  set(key, value) {
2120
2124
  this.deleted.delete(key);
@@ -2179,10 +2183,10 @@ var buildTransaction = (store, key, params, id) => {
2179
2183
  type: `transaction_update`,
2180
2184
  key,
2181
2185
  id,
2182
- epoch: epoch === undefined ? Number.NaN : epoch + 1,
2186
+ epoch: epoch === void 0 ? Number.NaN : epoch + 1,
2183
2187
  updates: [],
2184
2188
  params,
2185
- output: undefined
2189
+ output: void 0
2186
2190
  },
2187
2191
  toolkit: {
2188
2192
  get: (...ps) => getFromStore(child, ...ps),
@@ -2244,18 +2248,18 @@ function createTransaction(store, options) {
2244
2248
  // internal/src/transaction/get-epoch-number.ts
2245
2249
  function getContinuityKey(store, transactionKey) {
2246
2250
  const isRoot = isRootStore(store);
2247
- const continuity = isRoot ? store.transactionMeta.actionContinuities.getRelatedKey(transactionKey) : undefined;
2251
+ const continuity = isRoot ? store.transactionMeta.actionContinuities.getRelatedKey(transactionKey) : void 0;
2248
2252
  return continuity;
2249
2253
  }
2250
2254
  function getEpochNumberOfContinuity(store, continuityKey) {
2251
2255
  const isRoot = isRootStore(store);
2252
- const epoch = isRoot && continuityKey ? store.transactionMeta.epoch.get(continuityKey) : undefined;
2256
+ const epoch = isRoot && continuityKey ? store.transactionMeta.epoch.get(continuityKey) : void 0;
2253
2257
  return epoch;
2254
2258
  }
2255
2259
  function getEpochNumberOfAction(store, transactionKey) {
2256
2260
  const isRoot = isRootStore(store);
2257
- const continuity = isRoot ? store.transactionMeta.actionContinuities.getRelatedKey(transactionKey) : undefined;
2258
- const epoch = isRoot && continuity !== undefined ? store.transactionMeta.epoch.get(continuity) : undefined;
2261
+ const continuity = isRoot ? store.transactionMeta.actionContinuities.getRelatedKey(transactionKey) : void 0;
2262
+ const epoch = isRoot && continuity !== void 0 ? store.transactionMeta.epoch.get(continuity) : void 0;
2259
2263
  return epoch;
2260
2264
  }
2261
2265
 
@@ -2616,7 +2620,7 @@ var subscribeToRootAtoms = (store, selector2) => {
2616
2620
  const dependencySubscriptions = traceAllSelectorAtoms(selector2, store).map(
2617
2621
  (atomKey) => {
2618
2622
  const atom2 = target.atoms.get(atomKey);
2619
- if (atom2 === undefined) {
2623
+ if (atom2 === void 0) {
2620
2624
  throw new Error(
2621
2625
  `Atom "${atomKey}", a dependency of selector "${selector2.key}", not found in store "${store.config.name}".`
2622
2626
  );
@@ -2749,7 +2753,7 @@ var Tracker = class {
2749
2753
  const familyMetaData = mutableState.family ? {
2750
2754
  key: `*${mutableState.family.key}`,
2751
2755
  subKey: mutableState.family.subKey
2752
- } : undefined;
2756
+ } : void 0;
2753
2757
  const latestUpdateState = createRegularAtom(
2754
2758
  store,
2755
2759
  {
@@ -3093,7 +3097,7 @@ function copyMutableIfNeeded(target, atom2, origin) {
3093
3097
  const originValue = origin.valueMap.get(atom2.key);
3094
3098
  const targetValue = target.valueMap.get(atom2.key);
3095
3099
  if (originValue === targetValue) {
3096
- if (originValue === undefined) {
3100
+ if (originValue === void 0) {
3097
3101
  return typeof atom2.default === `function` ? atom2.default() : atom2.default;
3098
3102
  }
3099
3103
  origin.logger.info(`\u{1F4C3}`, `atom`, atom2.key, `copying`);
@@ -3241,11 +3245,11 @@ function createRegularAtom(store, options, family) {
3241
3245
  function createStandaloneAtom(store, options) {
3242
3246
  const isMutable = `mutable` in options;
3243
3247
  if (isMutable) {
3244
- const state2 = createMutableAtom(store, options, undefined);
3248
+ const state2 = createMutableAtom(store, options, void 0);
3245
3249
  store.on.atomCreation.next(state2);
3246
3250
  return state2;
3247
3251
  }
3248
- const state = createRegularAtom(store, options, undefined);
3252
+ const state = createRegularAtom(store, options, void 0);
3249
3253
  store.on.atomCreation.next(state);
3250
3254
  return state;
3251
3255
  }
@@ -3766,8 +3770,8 @@ var Join = class {
3766
3770
  get: (x) => ({ get }) => {
3767
3771
  const relatedKeys = get(relatedKeysAtoms, x);
3768
3772
  for (const y of relatedKeys) {
3769
- let a = relations.isAType?.(x) ? x : undefined;
3770
- let b = a === undefined ? x : undefined;
3773
+ let a = relations.isAType?.(x) ? x : void 0;
3774
+ let b = a === void 0 ? x : void 0;
3771
3775
  a ??= y;
3772
3776
  b ??= y;
3773
3777
  const contentKey = relations.makeContentKey(a, b);
@@ -3787,8 +3791,8 @@ var Join = class {
3787
3791
  const jsonFamily = getJsonFamily(relatedKeysAtoms, store);
3788
3792
  const json = get(jsonFamily, x);
3789
3793
  return json.members.map((y) => {
3790
- let a = relations.isAType?.(x) ? x : undefined;
3791
- let b = a === undefined ? x : undefined;
3794
+ let a = relations.isAType?.(x) ? x : void 0;
3795
+ let b = a === void 0 ? x : void 0;
3792
3796
  a ??= y;
3793
3797
  b ??= y;
3794
3798
  const contentKey = relations.makeContentKey(a, b);
@@ -3854,7 +3858,7 @@ var Join = class {
3854
3858
  this.states = states;
3855
3859
  break;
3856
3860
  }
3857
- default: {
3861
+ case `n:n`: {
3858
3862
  const multipleRelatedKeysSelectors = getMultipleKeySelectorFamily();
3859
3863
  const stateKeyA = `${aSide}KeysOf${capitalize(bSide)}`;
3860
3864
  const stateKeyB = `${bSide}KeysOf${capitalize(aSide)}`;
@@ -3889,10 +3893,10 @@ var Join = class {
3889
3893
  // internal/src/join/get-join.ts
3890
3894
  function getJoin(token, store) {
3891
3895
  let myJoin = store.joins.get(token.key);
3892
- if (myJoin === undefined) {
3896
+ if (myJoin === void 0) {
3893
3897
  const rootJoinMap = IMPLICIT.STORE.joins;
3894
3898
  const rootJoin = rootJoinMap.get(token.key);
3895
- if (rootJoin === undefined) {
3899
+ if (rootJoin === void 0) {
3896
3900
  throw new Error(
3897
3901
  `Join "${token.key}" not found in store "${store.config.name}"`
3898
3902
  );
@@ -4312,7 +4316,8 @@ function filterTransactionUpdates(updates, timelineTopics) {
4312
4316
  case `molecule_transfer`:
4313
4317
  return true;
4314
4318
  // always include
4315
- default:
4319
+ case `atom_update`:
4320
+ case `selector_update`:
4316
4321
  key = updateFromTx.key;
4317
4322
  familyKey = updateFromTx.family?.key;
4318
4323
  break;
@@ -4474,7 +4479,7 @@ var JSON_PROTOTYPES = [
4474
4479
  ];
4475
4480
  var isJson = (input) => {
4476
4481
  if (input === null) return true;
4477
- if (input === undefined) return false;
4482
+ if (input === void 0) return false;
4478
4483
  const prototype = Object.getPrototypeOf(input);
4479
4484
  return JSON_PROTOTYPES.includes(prototype);
4480
4485
  };
@@ -1,5 +1,5 @@
1
- import { roomIndex, usersInRooms } from './chunk-NF7FJKJD.js';
2
- import { atomFamily, selectorFamily, transaction, editRelationsInStore, atom, SetRTX, join, parseJson, Subject, stringifyJson, findRelationsInStore, getFromStore, subscribeToState, findInStore, IMPLICIT, getJsonToken, getUpdateToken, isRootStore, actUponStore, setIntoStore, subscribeToTransaction } from './chunk-GY2XQYZY.js';
1
+ import { roomIndex, usersInRooms } from './chunk-X7SD2NXU.js';
2
+ import { atomFamily, selectorFamily, transaction, editRelationsInStore, atom, SetRTX, join, parseJson, Subject, stringifyJson, findRelationsInStore, IMPLICIT, getFromStore, subscribeToState, findInStore, getJsonToken, getUpdateToken, actUponStore, setIntoStore, subscribeToTransaction, isRootStore } from './chunk-UQEYZ3OI.js';
3
3
  import { spawn } from 'node:child_process';
4
4
 
5
5
  // realtime-server/src/ipc-sockets/custom-socket.ts
@@ -76,6 +76,8 @@ var ChildSocket = class extends CustomSocket {
76
76
  case `e`:
77
77
  this.logger.error(...rest);
78
78
  break;
79
+ default:
80
+ return;
79
81
  }
80
82
  }
81
83
  }
@@ -409,7 +411,13 @@ function redactTransactionUpdateContent(visibleStateKeys, updates) {
409
411
  );
410
412
  return { ...update, updates: redacted };
411
413
  }
412
- default:
414
+ case `atom_update`:
415
+ case `selector_update`:
416
+ case `molecule_creation`:
417
+ case `molecule_disposal`:
418
+ case `molecule_transfer`:
419
+ case `state_creation`:
420
+ case `state_disposal`:
413
421
  return update;
414
422
  }
415
423
  }).filter((update) => {
@@ -418,10 +426,12 @@ function redactTransactionUpdateContent(visibleStateKeys, updates) {
418
426
  case `selector_update`:
419
427
  return visibleStateKeys.includes(update.key);
420
428
  case `state_creation`:
429
+ case `state_disposal`:
421
430
  return visibleStateKeys.includes(update.token.key);
422
431
  case `molecule_creation`:
423
- return true;
424
432
  case `transaction_update`:
433
+ case `molecule_disposal`:
434
+ case `molecule_transfer`:
425
435
  return true;
426
436
  }
427
437
  });
@@ -980,7 +990,7 @@ function realtimeStateProvider({
980
990
  socket.off(`unsub:${token.key}`, fillUnsubRequest);
981
991
  if (unsubscribeFromStateUpdates) {
982
992
  unsubscribeFromStateUpdates();
983
- unsubscribeFromStateUpdates = undefined;
993
+ unsubscribeFromStateUpdates = void 0;
984
994
  }
985
995
  };
986
996
  socket.on(`unsub:${token.key}`, fillUnsubRequest);
@@ -990,7 +1000,7 @@ function realtimeStateProvider({
990
1000
  socket.off(`sub:${token.key}`, fillSubRequest);
991
1001
  if (unsubscribeFromStateUpdates) {
992
1002
  unsubscribeFromStateUpdates();
993
- unsubscribeFromStateUpdates = undefined;
1003
+ unsubscribeFromStateUpdates = void 0;
994
1004
  }
995
1005
  };
996
1006
  };
@@ -1,4 +1,4 @@
1
- import { IMPLICIT, getState, createRegularAtom, deposit, createStandaloneSelector, createRegularAtomFamily, Subject, createSelectorFamily, createReadonlySelectorFamily } from './chunk-GY2XQYZY.js';
1
+ import { IMPLICIT, getState, createReadonlySelectorFamily, createRegularAtomFamily, Subject, createSelectorFamily, createRegularAtom, createStandaloneSelector, deposit } from './chunk-UQEYZ3OI.js';
2
2
 
3
3
  // introspection/src/attach-atom-index.ts
4
4
  var attachAtomIndex = (store) => {
@@ -38,7 +38,7 @@ var attachAtomIndex = (store) => {
38
38
  if (atomToken.family) {
39
39
  const { key: familyKey, subKey } = atomToken.family;
40
40
  let familyNode = self.get(familyKey);
41
- if (familyNode === undefined || !(`familyMembers` in familyNode)) {
41
+ if (familyNode === void 0 || !(`familyMembers` in familyNode)) {
42
42
  familyNode = {
43
43
  key: familyKey,
44
44
  familyMembers: /* @__PURE__ */ new Map()
@@ -72,7 +72,7 @@ var attachAtomIndex = (store) => {
72
72
  }
73
73
  ]
74
74
  },
75
- undefined
75
+ void 0
76
76
  );
77
77
  return createStandaloneSelector(store, {
78
78
  key: `\u{1F50D} Atom Token Index`,
@@ -122,7 +122,7 @@ var attachSelectorIndex = (store) => {
122
122
  if (selectorToken.family) {
123
123
  const { key: familyKey, subKey } = selectorToken.family;
124
124
  let familyNode = self.get(familyKey);
125
- if (familyNode === undefined || !(`familyMembers` in familyNode)) {
125
+ if (familyNode === void 0 || !(`familyMembers` in familyNode)) {
126
126
  familyNode = {
127
127
  key: familyKey,
128
128
  familyMembers: /* @__PURE__ */ new Map()
@@ -160,7 +160,7 @@ var attachSelectorIndex = (store) => {
160
160
  }
161
161
  ]
162
162
  },
163
- undefined
163
+ void 0
164
164
  );
165
165
  return createStandaloneSelector(store, {
166
166
  key: `\u{1F50D} Selector Token Index`,
@@ -224,7 +224,7 @@ var attachTimelineIndex = (store) => {
224
224
  }
225
225
  ]
226
226
  },
227
- undefined
227
+ void 0
228
228
  );
229
229
  const timelineTokenIndex = createStandaloneSelector(store, {
230
230
  key: `\u{1F50D} Timeline Token Index`,
@@ -253,7 +253,7 @@ var attachTransactionIndex = (store) => {
253
253
  }
254
254
  ]
255
255
  },
256
- undefined
256
+ void 0
257
257
  );
258
258
  const transactionTokenIndex = createStandaloneSelector(store, {
259
259
  key: `\u{1F50D} Transaction Token Index`,
@@ -334,7 +334,7 @@ var jsonRefinery = new Refinery({
334
334
  ...jsonTreeRefinery.supported
335
335
  });
336
336
  var discoverType = (input) => {
337
- if (input === undefined) {
337
+ if (input === void 0) {
338
338
  return `undefined`;
339
339
  }
340
340
  const refined = jsonRefinery.refine(input);
@@ -533,7 +533,7 @@ function diffObject(a, b, recurse) {
533
533
  let key;
534
534
  for (key of path) {
535
535
  const nodeB = b[key];
536
- if (nodeB === undefined) {
536
+ if (nodeB === void 0) {
537
537
  removed.push([key, JSON.stringify(nodeA)]);
538
538
  } else {
539
539
  const delta = recurse(nodeA, nodeB);
@@ -547,7 +547,7 @@ function diffObject(a, b, recurse) {
547
547
  let key;
548
548
  for (key of path) {
549
549
  const nodeA = a[key];
550
- if (nodeA === undefined) {
550
+ if (nodeA === void 0) {
551
551
  added.push([key, JSON.stringify(nodeB)]);
552
552
  }
553
553
  }
@@ -1,4 +1,4 @@
1
- import { atom, SetRTX, join, selectorFamily, getInternalRelations, assignTransactionToContinuity, IMPLICIT, setEpochNumberOfContinuity } from './chunk-GY2XQYZY.js';
1
+ import { atom, SetRTX, join, selectorFamily, getInternalRelations, assignTransactionToContinuity, IMPLICIT, setEpochNumberOfContinuity } from './chunk-UQEYZ3OI.js';
2
2
 
3
3
  // realtime/src/realtime-continuity.ts
4
4
  var InvariantMap = class extends Map {
@@ -43,6 +43,7 @@ var SyncGroup = class _SyncGroup {
43
43
  this.actions.push(...args);
44
44
  break;
45
45
  case `atom_family`:
46
+ case `mutable_atom_family`:
46
47
  {
47
48
  const [family, index] = args;
48
49
  this.perspectives.push({