@dxos/echo 0.8.4-main.03d5cd7b56 → 0.8.4-main.05e74ebcff

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 (95) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/lib/neutral/Database.mjs +1 -1
  4. package/dist/lib/neutral/Entity.mjs +6 -6
  5. package/dist/lib/neutral/Feed.mjs +14 -12
  6. package/dist/lib/neutral/Filter.mjs +9 -7
  7. package/dist/lib/neutral/JsonSchema.mjs +4 -4
  8. package/dist/lib/neutral/Migration.mjs +6 -6
  9. package/dist/lib/neutral/Obj.mjs +8 -8
  10. package/dist/lib/neutral/Query.mjs +12 -12
  11. package/dist/lib/neutral/Ref.mjs +6 -4
  12. package/dist/lib/neutral/Relation.mjs +9 -9
  13. package/dist/lib/neutral/Tag.mjs +10 -10
  14. package/dist/lib/neutral/Type.mjs +6 -6
  15. package/dist/lib/neutral/{chunk-6VIJV543.mjs → chunk-APHSOTIX.mjs} +2 -2
  16. package/dist/lib/neutral/{chunk-RF7ZBZ4A.mjs → chunk-APJKDGFL.mjs} +16 -5
  17. package/dist/lib/neutral/chunk-APJKDGFL.mjs.map +7 -0
  18. package/dist/lib/neutral/{chunk-MPAI2MHO.mjs → chunk-BMB7IHGB.mjs} +2 -2
  19. package/dist/lib/neutral/{chunk-SUZMWP3Y.mjs → chunk-FIWO2FZK.mjs} +1 -1
  20. package/dist/lib/neutral/chunk-FIWO2FZK.mjs.map +7 -0
  21. package/dist/lib/neutral/{chunk-SJKBWMJY.mjs → chunk-G54OX4IX.mjs} +34 -18
  22. package/dist/lib/neutral/chunk-G54OX4IX.mjs.map +7 -0
  23. package/dist/lib/neutral/{chunk-FHYIM4RD.mjs → chunk-I2DARWPX.mjs} +1 -1
  24. package/dist/lib/neutral/chunk-I2DARWPX.mjs.map +7 -0
  25. package/dist/lib/neutral/{chunk-SW5CUSBY.mjs → chunk-J54QMAKF.mjs} +5 -4
  26. package/dist/lib/neutral/{chunk-SW5CUSBY.mjs.map → chunk-J54QMAKF.mjs.map} +3 -3
  27. package/dist/lib/neutral/{chunk-QXIANHKU.mjs → chunk-MGSQGHOD.mjs} +8 -8
  28. package/dist/lib/neutral/chunk-MGSQGHOD.mjs.map +7 -0
  29. package/dist/lib/neutral/{chunk-O5LRY6CO.mjs → chunk-MLS7U7AT.mjs} +2 -2
  30. package/dist/lib/neutral/{chunk-VYAGNFSJ.mjs → chunk-N7VOEPSV.mjs} +6 -3
  31. package/dist/lib/neutral/{chunk-VYAGNFSJ.mjs.map → chunk-N7VOEPSV.mjs.map} +3 -3
  32. package/dist/lib/neutral/{chunk-FZHVQEHN.mjs → chunk-PSZBLH53.mjs} +2 -2
  33. package/dist/lib/neutral/{chunk-WRVRDZDA.mjs → chunk-PT37DG2F.mjs} +4 -4
  34. package/dist/lib/neutral/{chunk-HPNQTEEQ.mjs → chunk-Q2KKKJSV.mjs} +3 -3
  35. package/dist/lib/neutral/{chunk-VGKLHHRT.mjs → chunk-Q7ZL2P5H.mjs} +18 -16
  36. package/dist/lib/neutral/{chunk-VGKLHHRT.mjs.map → chunk-Q7ZL2P5H.mjs.map} +3 -3
  37. package/dist/lib/neutral/{chunk-QGMIH2SN.mjs → chunk-QRZ2I3ZM.mjs} +2 -2
  38. package/dist/lib/neutral/{chunk-LVGOVFDV.mjs → chunk-SCPFDS2E.mjs} +2 -2
  39. package/dist/lib/neutral/{chunk-S7IMFVTB.mjs → chunk-ZFACXBY6.mjs} +19 -15
  40. package/dist/lib/neutral/chunk-ZFACXBY6.mjs.map +7 -0
  41. package/dist/lib/neutral/index.mjs +17 -17
  42. package/dist/lib/neutral/internal/index.mjs +5 -5
  43. package/dist/lib/neutral/meta.json +1 -1
  44. package/dist/lib/neutral/testing/index.mjs +17 -17
  45. package/dist/types/src/Database.d.ts +1 -1
  46. package/dist/types/src/Feed.d.ts +36 -12
  47. package/dist/types/src/Feed.d.ts.map +1 -1
  48. package/dist/types/src/Filter.d.ts +21 -0
  49. package/dist/types/src/Filter.d.ts.map +1 -1
  50. package/dist/types/src/Hypergraph.d.ts +3 -3
  51. package/dist/types/src/Hypergraph.d.ts.map +1 -1
  52. package/dist/types/src/Migration.d.ts +15 -3
  53. package/dist/types/src/Migration.d.ts.map +1 -1
  54. package/dist/types/src/Obj.d.ts +1 -1
  55. package/dist/types/src/Obj.d.ts.map +1 -1
  56. package/dist/types/src/Query.d.ts.map +1 -1
  57. package/dist/types/src/Ref.d.ts +1 -0
  58. package/dist/types/src/Ref.d.ts.map +1 -1
  59. package/dist/types/src/internal/Entity/model.d.ts +2 -0
  60. package/dist/types/src/internal/Entity/model.d.ts.map +1 -1
  61. package/dist/types/src/internal/Obj/ids.d.ts +1 -1
  62. package/dist/types/src/internal/Query.d.ts.map +1 -1
  63. package/dist/types/src/internal/common/types/meta.d.ts +10 -0
  64. package/dist/types/src/internal/common/types/meta.d.ts.map +1 -1
  65. package/dist/types/tsconfig.tsbuildinfo +1 -1
  66. package/package.json +14 -14
  67. package/src/Database.ts +1 -1
  68. package/src/Feed.ts +55 -24
  69. package/src/Filter.ts +31 -0
  70. package/src/Hypergraph.ts +3 -3
  71. package/src/Migration.ts +19 -7
  72. package/src/Obj.ts +1 -0
  73. package/src/Query.test.ts +16 -16
  74. package/src/Query.ts +12 -7
  75. package/src/Ref.ts +2 -0
  76. package/src/internal/Entity/model.ts +2 -0
  77. package/src/internal/Obj/ids.ts +1 -1
  78. package/src/internal/Obj/json-serializer.ts +9 -9
  79. package/src/internal/Query.ts +23 -4
  80. package/src/internal/common/proxy/reactive.test.ts +1 -1
  81. package/src/internal/common/types/meta.ts +12 -0
  82. package/dist/lib/neutral/chunk-FHYIM4RD.mjs.map +0 -7
  83. package/dist/lib/neutral/chunk-QXIANHKU.mjs.map +0 -7
  84. package/dist/lib/neutral/chunk-RF7ZBZ4A.mjs.map +0 -7
  85. package/dist/lib/neutral/chunk-S7IMFVTB.mjs.map +0 -7
  86. package/dist/lib/neutral/chunk-SJKBWMJY.mjs.map +0 -7
  87. package/dist/lib/neutral/chunk-SUZMWP3Y.mjs.map +0 -7
  88. /package/dist/lib/neutral/{chunk-6VIJV543.mjs.map → chunk-APHSOTIX.mjs.map} +0 -0
  89. /package/dist/lib/neutral/{chunk-MPAI2MHO.mjs.map → chunk-BMB7IHGB.mjs.map} +0 -0
  90. /package/dist/lib/neutral/{chunk-O5LRY6CO.mjs.map → chunk-MLS7U7AT.mjs.map} +0 -0
  91. /package/dist/lib/neutral/{chunk-FZHVQEHN.mjs.map → chunk-PSZBLH53.mjs.map} +0 -0
  92. /package/dist/lib/neutral/{chunk-WRVRDZDA.mjs.map → chunk-PT37DG2F.mjs.map} +0 -0
  93. /package/dist/lib/neutral/{chunk-HPNQTEEQ.mjs.map → chunk-Q2KKKJSV.mjs.map} +0 -0
  94. /package/dist/lib/neutral/{chunk-QGMIH2SN.mjs.map → chunk-QRZ2I3ZM.mjs.map} +0 -0
  95. /package/dist/lib/neutral/{chunk-LVGOVFDV.mjs.map → chunk-SCPFDS2E.mjs.map} +0 -0
@@ -3,12 +3,12 @@ import {
3
3
  JsonSchemaType,
4
4
  toEffectSchema,
5
5
  toJsonSchema
6
- } from "./chunk-O5LRY6CO.mjs";
6
+ } from "./chunk-MLS7U7AT.mjs";
7
7
  import {
8
8
  Ref,
9
9
  refFromEncodedReference,
10
10
  setRefResolver
11
- } from "./chunk-MPAI2MHO.mjs";
11
+ } from "./chunk-BMB7IHGB.mjs";
12
12
  import {
13
13
  ATTR_PARENT,
14
14
  ATTR_TYPE,
@@ -72,11 +72,21 @@ var ObjectMetaSchema = Schema2.Struct({
72
72
  // TODO(dmaretskyi): Has to be optional for compatibility with old data.
73
73
  // Defaulting to an empty array is possible but requires a bit more work.
74
74
  // TODO(dmaretskyi): In automerge this should be a map of { [tag]: boolean } for uniqueness and conflict resolution.
75
- tags: Schema2.optional(Schema2.Array(Schema2.String))
75
+ tags: Schema2.optional(Schema2.Array(Schema2.String)),
76
+ /**
77
+ * Fully-qualified registry key for the object (FQN format, e.g. `org.example.type.foo`).
78
+ * Identifies the canonical registry entry the object instance was created from.
79
+ */
80
+ key: Schema2.optional(Schema2.String),
81
+ /**
82
+ * Semantic version of the registry entry the object was created from.
83
+ * Must be a valid semver string (e.g. `1.2.3`).
84
+ */
85
+ version: Schema2.optional(Schema2.String)
76
86
  });
77
87
  var getMeta = (obj) => {
78
88
  const metadata = obj[MetaId];
79
- invariant(metadata, "ObjectMeta not found.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 37, S: void 0, A: ["metadata", "'ObjectMeta not found.'"] });
89
+ invariant(metadata, "ObjectMeta not found.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 45, S: void 0, A: ["metadata", "'ObjectMeta not found.'"] });
80
90
  return metadata;
81
91
  };
82
92
  var foreignKey = (source, id) => ({
@@ -1526,13 +1536,13 @@ var objectFromJSON = async (jsonData, { refResolver, dxn, database, parent } = {
1526
1536
  }
1527
1537
  const isRelation = typeof jsonData[ATTR_RELATION_SOURCE] === "string" || typeof jsonData[ATTR_RELATION_TARGET] === "string";
1528
1538
  if (isRelation) {
1529
- const sourceDxn = DXN5.parse(jsonData[ATTR_RELATION_SOURCE] ?? raise2(new TypeError("Missing relation source")));
1530
- const targetDxn = DXN5.parse(jsonData[ATTR_RELATION_TARGET] ?? raise2(new TypeError("Missing relation target")));
1531
- const source = await refResolver?.resolve(sourceDxn);
1532
- const target = await refResolver?.resolve(targetDxn);
1539
+ const sourceDXN = DXN5.parse(jsonData[ATTR_RELATION_SOURCE] ?? raise2(new TypeError("Missing relation source")));
1540
+ const targetDXN = DXN5.parse(jsonData[ATTR_RELATION_TARGET] ?? raise2(new TypeError("Missing relation target")));
1541
+ const source = await refResolver?.resolve(sourceDXN);
1542
+ const target = await refResolver?.resolve(targetDXN);
1533
1543
  defineHiddenProperty(obj, KindId, EntityKind.Relation);
1534
- defineHiddenProperty(obj, RelationSourceDXNId, sourceDxn);
1535
- defineHiddenProperty(obj, RelationTargetDXNId, targetDxn);
1544
+ defineHiddenProperty(obj, RelationSourceDXNId, sourceDXN);
1545
+ defineHiddenProperty(obj, RelationTargetDXNId, targetDXN);
1536
1546
  defineHiddenProperty(obj, RelationSourceId, source);
1537
1547
  defineHiddenProperty(obj, RelationTargetId, target);
1538
1548
  } else {
@@ -1548,8 +1558,8 @@ var objectFromJSON = async (jsonData, { refResolver, dxn, database, parent } = {
1548
1558
  });
1549
1559
  }
1550
1560
  if (jsonData[ATTR_PARENT]) {
1551
- const parentDxn = DXN5.parse(jsonData[ATTR_PARENT]);
1552
- const resolvedParent = await refResolver?.resolve(parentDxn);
1561
+ const parentDXN = DXN5.parse(jsonData[ATTR_PARENT]);
1562
+ const resolvedParent = await refResolver?.resolve(parentDXN);
1553
1563
  defineHiddenProperty(obj, ParentId, resolvedParent);
1554
1564
  } else if (parent) {
1555
1565
  defineHiddenProperty(obj, ParentId, parent);
@@ -1579,7 +1589,7 @@ var decodeGeneric = (jsonData, options) => {
1579
1589
  });
1580
1590
  };
1581
1591
  var stripInternalJsonKeys = (jsonData) => {
1582
- const { [ATTR_TYPE]: _type, [ATTR_META]: _meta, [ATTR_DELETED]: _deleted, [ATTR_SELF_DXN]: _selfDxn, [ATTR_RELATION_SOURCE]: _relationSource, [ATTR_RELATION_TARGET]: _relationTarget, ...props } = jsonData;
1592
+ const { [ATTR_TYPE]: _type, [ATTR_META]: _meta, [ATTR_DELETED]: _deleted, [ATTR_SELF_DXN]: _selfDXN, [ATTR_RELATION_SOURCE]: _relationSource, [ATTR_RELATION_TARGET]: _relationTarget, ...props } = jsonData;
1583
1593
  return props;
1584
1594
  };
1585
1595
  var setRefResolverOnData = (obj, refResolver) => {
@@ -1834,6 +1844,9 @@ var clone = (obj, opts) => {
1834
1844
  var prettyFilter = (filter) => {
1835
1845
  switch (filter.type) {
1836
1846
  case "object": {
1847
+ if (filter.typename === null && (filter.id === void 0 || filter.id.length === 0) && Object.keys(filter.props).length === 0 && (filter.foreignKeys === void 0 || filter.foreignKeys.length === 0) && filter.metaKey !== void 0) {
1848
+ return filter.metaVersion !== void 0 ? `Filter.key(${JSON.stringify(filter.metaKey)}, { version: ${JSON.stringify(filter.metaVersion)} })` : `Filter.key(${JSON.stringify(filter.metaKey)})`;
1849
+ }
1837
1850
  const parts = [];
1838
1851
  if (filter.typename !== null) {
1839
1852
  parts.push(String(filter.typename));
@@ -1849,6 +1862,9 @@ var prettyFilter = (filter) => {
1849
1862
  if (filter.foreignKeys !== void 0 && filter.foreignKeys.length > 0) {
1850
1863
  parts.push(`foreignKeys: [${filter.foreignKeys.map((fk) => JSON.stringify(fk)).join(", ")}]`);
1851
1864
  }
1865
+ if (filter.metaKey !== void 0) {
1866
+ parts.push(filter.metaVersion !== void 0 ? `metaKey: ${JSON.stringify(filter.metaKey)} (${filter.metaVersion})` : `metaKey: ${JSON.stringify(filter.metaKey)}`);
1867
+ }
1852
1868
  return parts.length > 0 ? `Filter.type(${parts.join(", ")})` : "Filter.everything()";
1853
1869
  }
1854
1870
  case "compare":
@@ -1936,11 +1952,11 @@ var prettyQuery = (query) => {
1936
1952
  if (scope.spaceIds !== void 0) {
1937
1953
  parts.push(`spaceIds: [${scope.spaceIds.map((s) => JSON.stringify(s)).join(", ")}]`);
1938
1954
  }
1939
- if (scope.queues !== void 0) {
1940
- parts.push(`queues: [${scope.queues.map(String).join(", ")}]`);
1955
+ if (scope.feeds !== void 0) {
1956
+ parts.push(`feeds: [${scope.feeds.map(String).join(", ")}]`);
1941
1957
  }
1942
- if (scope.allQueuesFromSpaces !== void 0) {
1943
- parts.push(`allQueuesFromSpaces: ${scope.allQueuesFromSpaces}`);
1958
+ if (scope.allFeedsFromSpaces !== void 0) {
1959
+ parts.push(`allFeedsFromSpaces: ${scope.allFeedsFromSpaces}`);
1944
1960
  }
1945
1961
  return `${prettyQuery(query.query)}.from({ ${parts.join(", ")} })`;
1946
1962
  }
@@ -2433,4 +2449,4 @@ export {
2433
2449
  getValue,
2434
2450
  splitJsonPath
2435
2451
  };
2436
- //# sourceMappingURL=chunk-SJKBWMJY.mjs.map
2452
+ //# sourceMappingURL=chunk-G54OX4IX.mjs.map